@charset "UTF-8";

body {
  margin: 0;
  padding: 0;
  color: #222222;
  background-color: #ffffff;
}


a,
input,
textarea,
button,
select {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}


article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  
  vertical-align: baseline;
  
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}


button,
input,
optgroup,
select,
textarea {
  color: inherit;
  
  font: inherit;
  
  font-family: inherit;
  margin: 0;
  
  max-width: 100%;
  
}

input {
  line-height: normal;
}

button,
select {
  text-transform: none;
}

button {
  overflow: visible;
}

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

button[disabled],
html input[disabled] {
  cursor: default;
}

input[type="search"] {
  -webkit-appearance: textfield;
  
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input[type="checkbox"],
input[type="radio"] {
  margin-right: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  
  padding: 0;
  
}

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

input {
  line-height: normal;
}

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


abbr[title] {
  border-bottom: 1px dotted;
}

b,
strong {
  font-weight: bold;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}


::-moz-selection {
  background: #e12f22;
  
  color: #fff;
}
::selection {
  background: #e12f22;
  
  color: #fff;
}

::-moz-selection {
  background: #e12f22;
  
  color: #fff;
}


img {
  
  border: 0;
  
  vertical-align: bottom;
  
  max-width: 100%;
  height: auto;
}

.ie8 img {
  max-width: none;
  
  width: auto;
}

svg:not(:root) {
  overflow: hidden;
}


figure {
  margin: 0;
}



a {
  color: #e12f22;
  text-decoration: underline;
  background-color: transparent;
  
  -webkit-transition: all 0.25s ease;
  transition: all 0.25s ease;
}

a:hover, a:focus {
  text-decoration: none;
}

a:hover {
  color: #222222;
}

a:focus {
  outline: 1px dotted #e12f22;
  outline-offset: 2px;
}

#skip-to-main:focus {
  background: #e12f22;
  color: #fff;
  display: block;
  padding: 12px 15px;
  text-align: center;
}

a.chat__label {
  cursor: pointer;
}

.chat .chat__status {
  color: #525252;
  font-weight: 300;
  margin-left: 10px;
}

.chat .chat__status:before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  border-radius: 3px;
  margin-right: 4px;
  position: relative;
  top: -2px;
}

.chat.chat--online .chat__status:before {
  background: #00a168;
  -webkit-animation: pulse 3s infinite;
  
  
  
  animation: pulse 3s infinite;
  
}

.chat.chat--offline .chat__status:before {
  background: #a7a7a7;
}

@-webkit-keyframes pulse {
  0% {
    background: #00d489;
  }
  50% {
    background: #00a168;
  }
  100% {
    background: #00d489;
  }
}

@keyframes pulse {
  0% {
    background: #00d489;
  }
  50% {
    background: #00a168;
  }
  100% {
    background: #00d489;
  }
}



dl,
menu,
ol,
ul {
  margin: 20px 0;
}

ul li,
ol li {
  margin-bottom: 10px;
}

ul ul, ul ol, ol ul, ol ol {
  margin: 0;
  
}


menu,
ol,
ul {
  padding: 0 0 0 16.6666666667px;
  
}


nav ul,
nav ol {
  list-style: none;
  list-style-image: none;
  margin: 0;
  padding: 0;
}

.toolbar-menu-administration ul li {
  margin-bottom: 0;
}

.toolbar-menu-administration ul li a {
  border-bottom: 0;
}

dl dt {
  padding: 20px 0 10px;
  border-top: 1px solid #d3d3d3;
}

dl dd {
  padding: 0 0 20px;
  margin: 0;
}

dl a {
  border: none;
  display: inline-block;
  font-weight: 700;
  text-decoration: none;
  vertical-align: middle;
  color: #e12f22;
  display: inline-block;
}

dl a:after {
  -webkit-transition: margin-left 0.25s ease;
  transition: margin-left 0.25s ease;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  display: inline-block;
  margin-left: 5px;
  width: 15px;
  height: 15px;
  position: relative;
  top: -1px;
  vertical-align: middle;
}

dl a:hover, dl a:focus {
  text-decoration: underline;
}

dl a:hover:after {
  margin-left: 10px;
}

dl a:hover, dl a:focus {
  color: #e12f22;
}

dl a:after {
  background-image: url("../images/arrow--red.png");
}

.svg dl a:after {
  background-image: url("../images/arrow--red.svg");
}


ul.two-columns {
  padding-left: 0;
}

@media (min-width: 37.5em) {
  ul.two-columns {
    -webkit-columns: 2;
            columns: 2;
    -webkit-column-gap: 25px;
            column-gap: 25px;
  }
}

ul.two-columns li {
  list-style-position: inside;
  padding-left: 22px;
  text-indent: -22px;
}

li.no-bullet {
  list-style-type: none;
}



.table-responsive {
  width: 100%;
  overflow-y: hidden;
  overflow-x: scroll;
  -ms-overflow-style: scrollbar;
  -webkit-overflow-scrolling: touch;
  margin: 0 0 40px 0;
}

.table-responsive table {
  max-width: 100%;
}


.video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}



.element-invisible,
.element-focusable {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}


.element-focusable:active, .element-focusable:focus {
  position: static !important;
  clip: auto;
  height: auto;
  width: auto;
  overflow: auto;
}

.clear {
  clear: both;
}


.fade-in, .fade-out {
  -webkit-animation-duration: .5s;
          animation-duration: .5s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

.fade-in {
  -webkit-animation-name: fadeProgramIn;
          animation-name: fadeProgramIn;
  overflow: hidden;
  white-space: nowrap;
}

.fade-out {
  -webkit-animation-name: fadeProgramOut;
          animation-name: fadeProgramOut;
  overflow: hidden;
  white-space: nowrap;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    padding-top: 2.5rem;
  }
  100% {
    opacity: 1;
    padding-top: 0;
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    padding-top: 2.5rem;
  }
  100% {
    opacity: 1;
    padding-top: 0;
  }
}


@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}

@-webkit-keyframes fadeBounceUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  50% {
    opacity: 0.25;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}

@keyframes fadeBounceUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  50% {
    opacity: 0.25;
    -webkit-transform: translateY(-10px);
            transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
  }
}

@-webkit-keyframes fadeProgramOut {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    padding: 0;
    width: 0;
  }
}

@keyframes fadeProgramOut {
  0% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    padding: 0;
    width: 0;
  }
}

@-webkit-keyframes fadeProgramIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    width: 0;
    padding: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}

@keyframes fadeProgramIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.5);
            transform: scale(0.5);
    width: 0;
    padding: 0;
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}



@font-face {
  font-family: 'coresans';
  src: url("../fonts/coresansc35-webfont.woff2") format("woff2"), url("../fonts/coresansc35-webfont.woff") format("woff");
  font-weight: 300;
  font-style: normal;
}


@font-face {
  font-family: 'coresans';
  src: url("../fonts/coresansc55-webfont.woff2") format("woff2"), url("../fonts/coresansc55-webfont.woff") format("woff");
  font-weight: 500;
  font-style: normal;
}


@font-face {
  font-family: 'coresansc65';
  src: url("../fonts/coresansc65-webfont.woff2") format("woff2"), url("../fonts/coresansc65-webfont.woff") format("woff");
  font-weight: 700;
  font-style: normal;
}


@font-face {
  font-family: 'coresans';
  src: url("../fonts/coresansc75-webfont.woff2") format("woff2"), url("../fonts/coresansc75-webfont.woff") format("woff");
  font-weight: 800;
  font-style: normal;
}


@font-face {
  font-family: 'coresans';
  src: url("../fonts/coresansc95-webfont.woff2") format("woff2"), url("../fonts/coresansc95-webfont.woff") format("woff");
  font-weight: 900;
  font-style: normal;
}


html {
  font-family: "coresans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  
  font-size: 100%;
  -ms-text-size-adjust: 100%;
  
  -webkit-text-size-adjust: 100%;
  
  line-height: 1.6;
  font-weight: 300;
}

body {
  position: relative;
  -webkit-transition: left 0.5s ease;
  transition: left 0.5s ease;
  left: 0;
}

@media (min-width: 48em) {
  body {
    font-size: 16px;
  }
}

@media (max-width: 47.9375em) {
  body {
    font-size: 14px;
  }
}


h1 {
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 0;
  margin-top: 0;
}

@media (min-width: 48em) {
  h1 {
    font-size: 65px;
  }
}

@media (max-width: 47.9375em) {
  h1 {
    font-size: 36px;
  }
}

h2 {
  color: #e12f22;
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 20px;
}

@media (min-width: 48em) {
  h2 {
    font-size: 36px;
  }
}

@media (max-width: 47.9375em) {
  h2 {
    font-size: 30px;
  }
}

@media (min-width: 48em) {
  h2 {
    margin-top: 36px;
  }
}

@media (max-width: 47.9375em) {
  h2 {
    margin-top: 20px;
  }
}

h3 {
  color: #222222;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
}

@media (min-width: 48em) {
  h3 {
    margin-top: 44px;
    margin-bottom: 15px;
  }
}

@media (max-width: 47.9375em) {
  h3 {
    margin-top: 25px;
    margin-bottom: 5px;
  }
}

h4 {
  color: #222222;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

@media (min-width: 48em) {
  h4 {
    margin-top: 36px;
    margin-bottom: 15px;
  }
}

@media (max-width: 47.9375em) {
  h4 {
    margin-top: 25px;
    margin-bottom: 5px;
  }
}

h5, h6 {
  color: #222222;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 16px;
  margin-bottom: 8px;
}

h1, h2, h3, h4, h5, h6 {
  font-family: "coresans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}



hr {
  height: 1px;
  border: none;
  background: #d3d3d3;
  padding: 0;
  margin: 40px 0;
}


abbr[title] {
  border-bottom: 1px dotted;
  cursor: help;
  white-space: nowrap;
}


b,
strong {
  font-weight: bold;
}

blockquote {
  
  margin: 20px 0;
  border-left: 8px solid #d3d3d3;
  padding: 0 0 0 20px;
  font-style: oblique;
}


dfn {
  font-style: italic;
}


mark {
  background: #ccc;
  color: #000;
}


pre {
  overflow: auto;
  
  
  margin: 20px 0;
  white-space: pre;
  
  white-space: pre-wrap;
  
  word-wrap: break-word;
  
}

p {
  margin: 0 0 20px 0;
}


small {
  font-size: 80%;
}


pre,
code,
kbd,
samp,
tt,
var {
  font-family: monospace, "Courier New", "DejaVu Sans Mono", sans-serif;
  
}


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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

.visually-hidden {
  margin: 0;
}

p.large {
  line-height: 1.5;
}

@media (min-width: 48em) {
  p.large {
    font-size: 22px;
  }
}

@media (max-width: 47.9375em) {
  p.large {
    font-size: 16px;
  }
}

p.text--small {
  font-size: 14px;
}


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

[class^="icon-"], [class*=" icon-"] {
  font-family: "icomoon";
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-asterisk {
  content: "\f069";
}

.icon-search {
  content: "\f002";
}

.icon-star {
  content: "\f005";
}

.icon-user {
  content: "\f007";
}

.icon-check {
  content: "\f00c";
}

.icon-close {
  content: "\f00d";
}

.icon-remove {
  content: "\f00d";
}

.icon-times {
  content: "\f00d";
}

.icon-play-circle-o {
  content: "\f01d";
}

.icon-book {
  content: "\f02d";
}

.icon-video-camera {
  content: "\f03d";
}

.icon-image {
  content: "\f03e";
}

.icon-photo {
  content: "\f03e";
}

.icon-picture-o {
  content: "\f03e";
}

.icon-map-marker {
  content: "\f041";
}

.icon-chevron-left {
  content: "\f053";
}

.icon-chevron-right {
  content: "\f054";
}

.icon-chevron-down {
  content: "\f078";
}

.icon-twitter {
  content: "\f099";
}

.icon-facebook {
  content: "\f09a";
}

.icon-facebook-f {
  content: "\f09a";
}

.icon-filter {
  content: "\f0b0";
}

.icon-envelope {
  content: "\f0e0";
}

.icon-circle-o {
  content: "\f10c";
}

.icon-file {
  content: "\f15b";
}

.icon-instagram {
  content: "\f16d";
}

.icon-paint-brush {
  content: "\f1fc";
}

.icon-enlarge:before {
  content: "\e989";
}

.icon-shrink:before {
  content: "\e98a";
}


button:not(.no-button),
input[type="submit"],
input[type="button"],
input[type="reset"] {
  border: none;
  -webkit-transition: background 0.25s ease;
  transition: background 0.25s ease;
  background: #e12f22;
  color: #fff;
  display: inline-block;
  font-weight: 500;
  padding: 15px 50px;
  text-align: center;
  text-decoration: none;
}

button:not(.no-button):hover, button:not(.no-button):focus,
input[type="submit"]:hover,
input[type="submit"]:focus,
input[type="button"]:hover,
input[type="button"]:focus,
input[type="reset"]:hover,
input[type="reset"]:focus {
  background: #bf281d;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 29.9375em) {
  button:not(.no-button),
  input[type="submit"],
  input[type="button"],
  input[type="reset"] {
    display: block;
    width: 100%;
  }
}

input[value="Delete"],
input[value="Remove"],
input[type="submit"].button--secondary {
  border: none;
  -webkit-transition: background 0.25s ease;
  transition: background 0.25s ease;
  background: #222222;
  color: #fff;
  display: inline-block;
  font-weight: 500;
  padding: 15px 50px;
  text-align: center;
  text-decoration: none;
}

input[value="Delete"]:hover, input[value="Delete"]:focus,
input[value="Remove"]:hover,
input[value="Remove"]:focus,
input[type="submit"].button--secondary:hover,
input[type="submit"].button--secondary:focus {
  background: #000;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 29.9375em) {
  input[value="Delete"],
  input[value="Remove"],
  input[type="submit"].button--secondary {
    display: block;
    width: 100%;
  }
}

.no-button {
  border: none;
  padding: 0;
  -webkit-appearance: none;
}

input[type="text"],
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="week"],
input[type="email"],
input[type="url"],
input[type="number"] {
  border: 0;
  outline: 0;
  padding: 12px 15px;
  font-size: 15px;
}

input[type="text"]:focus,
input[type="date"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="month"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="number"]:focus {
  border-color: #e12f22;
}

input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="month"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="week"],
input[type="text"] {
  width: 100%;
  max-width: 760px;
}

input[type="email"] {
  width: 300px;
}

input[type="number"] {
  width: 60px;
}


input[type="image"] {
  height: auto;
}


input.error,
textarea.error,
select.error {
  border: 4px solid #741710;
}


button,
input,
select,
textarea {
  font-family: inherit;
  
  max-width: 100%;
  
}

textarea,
input:not([type="submit"]) {
  background: #fff;
  border: 1px solid #d3d3d3;
  padding: 12px 15px;
  -webkit-transition-property: border, color, background-color;
  transition-property: border, color, background-color;
  -webkit-transition-duration: 0.1s;
          transition-duration: 0.1s;
  -webkit-transition-timing-function: ease-in;
          transition-timing-function: ease-in;
  color: #222222;
  font-size: 15px;
  width: 100%;
}

input:not([type="submit"]) {
  max-width: 760px;
  
}

html.js input.form-autocomplete {
  background-position: 99% 5px;
}

html.js input.throbbing {
  background-position: 99% -15px;
}

textarea[disabled],
select[disabled],
input[disabled] {
  background-color: #ebeced;
  color: #d3d3d3;
  pointer-events: none;
  cursor: default;
}


::-webkit-input-placeholder {
  color: #222222;
}

::-webkit-input-placeholder:focus {
  color: #222222;
}

:focus::-webkit-input-placeholder {
  color: #222222;
}

:-moz-placeholder {
  
  color: #222222;
}

:-moz-placeholder:focus {
  color: #222222;
}

::-moz-placeholder {
  
  color: #222222;
}

::-moz-placeholder:focus {
  color: #222222;
}

:-ms-input-placeholder {
  color: #222222;
}

:-ms-input-placeholder:focus {
  color: #222222;
}

.form-item {
  position: relative;
}


.program-search-block input[type="text"],
.dav-program-search-mini input[type="text"] {
  background-image: url("../images/search.png");
  background-position: left 15px center;
  background-repeat: no-repeat;
  background-size: auto 17px;
  padding-left: 40px;
}

.svg .program-search-block input[type="text"], .svg
.dav-program-search-mini input[type="text"] {
  background-image: url("../images/search.svg");
}


input.ui-timepicker-input,
input.hasDatepicker {
  background-position: right 20px center;
  background-repeat: no-repeat;
  background-size: 15px auto;
  padding-right: 50px;
}

input.ui-timepicker-input {
  background-image: url("../images/time.png");
}

.svg input.ui-timepicker-input {
  background-image: url("../images/time.svg");
}

input.hasDatepicker {
  background-image: url("../images/date.png");
}

.svg input.hasDatepicker {
  background-image: url("../images/date.svg");
}


input[type="radio"],
input[type="checkbox"] {
  background-repeat: no-repeat;
  background-position: center;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  padding: 0;
}

input[type="radio"] + label,
input[type="checkbox"] + label {
  display: inline-block;
  font-weight: 300;
  line-height: 20px;
  max-width: calc(100% - 32px);
  vertical-align: top;
}

input[type="radio"] {
  border-radius: 9px;
}

input[type="radio"]:checked {
  background-color: #e12f22;
  background-image: url("../images/radio.png");
  background-size: 8px auto;
}

.svg input[type="radio"]:checked {
  background-image: url("../images/radio.svg");
}

input[type="checkbox"] {
  background-size: 12px auto;
}

input[type="checkbox"]:checked {
  background-image: url("../images/checkmark.png");
}

.svg input[type="checkbox"]:checked {
  background-image: url("../images/checkmark.svg");
}


.selectboxit-container {
  display: block;
  font-size: 15px;
  position: relative;
  width: 100%;
  z-index: 5;
  
  
}

.selectboxit-container .selectboxit-btn {
  border: 1px solid #d3d3d3;
  border-radius: 0;
  background: #fff;
  cursor: pointer;
  display: block;
  position: relative;
  overflow: hidden;
  padding-left: 15px;
  padding-right: 45px;
  height: 45px;
  line-height: 44px;
  width: 100% !important;
  
}

.selectboxit-container .selectboxit-btn.selectboxit-focus {
  outline: none;
}

.selectboxit-container .selectboxit-btn .selectboxit-arrow-container {
  color: #e12f22;
  display: block;
  position: absolute;
  right: 0;
  top: -1px;
  width: 45px;
  height: 45px;
  text-align: center;
}

.selectboxit-container .selectboxit-btn .selectboxit-arrow-container:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  border-color: #e12f22 transparent transparent transparent;
  border-top-style: solid;
  position: absolute;
  top: 8px;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.selectboxit-container .selectboxit-list, .selectboxit-container .interested-list {
  display: none;
  position: absolute;
  top: 0 !important;
  left: 0 !important;
  background: #fff;
  border: 1px solid #d3d3d3;
  z-index: -1;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  list-style: none;
  padding: 0;
  margin: 0;
  min-height: 45px;
  max-height: 350px !important;
  overflow: scroll;
  padding: 45px 10px 0;
  width: 100% !important;
  min-width: 100% !important;
  
}

.selectboxit-container .selectboxit-list .selectboxit-option, .selectboxit-container .selectboxit-list .interested-item, .selectboxit-container .interested-list .selectboxit-option, .selectboxit-container .interested-list .interested-item {
  display: block;
  padding: 10px;
  margin: 0;
  cursor: pointer;
  border-top: 1px solid #d3d3d3;
  
}

.selectboxit-container .selectboxit-list .selectboxit-option a, .selectboxit-container .selectboxit-list .interested-item a, .selectboxit-container .interested-list .selectboxit-option a, .selectboxit-container .interested-list .interested-item a {
  color: #222222;
  text-decoration: none;
}

.selectboxit-container .selectboxit-list .selectboxit-option.selectboxit-option-first, .selectboxit-container .selectboxit-list .interested-item.selectboxit-option-first, .selectboxit-container .interested-list .selectboxit-option.selectboxit-option-first, .selectboxit-container .interested-list .interested-item.selectboxit-option-first {
  border-top: none;
}

.selectboxit-container .selectboxit-list .selectboxit-option.selectboxit-selected a, .selectboxit-container .selectboxit-list .selectboxit-option:hover a, .selectboxit-container .selectboxit-list .selectboxit-option.selectboxit-focus a, .selectboxit-container .selectboxit-list .interested-item.selectboxit-selected a, .selectboxit-container .selectboxit-list .interested-item:hover a, .selectboxit-container .selectboxit-list .interested-item.selectboxit-focus a, .selectboxit-container .interested-list .selectboxit-option.selectboxit-selected a, .selectboxit-container .interested-list .selectboxit-option:hover a, .selectboxit-container .interested-list .selectboxit-option.selectboxit-focus a, .selectboxit-container .interested-list .interested-item.selectboxit-selected a, .selectboxit-container .interested-list .interested-item:hover a, .selectboxit-container .interested-list .interested-item.selectboxit-focus a {
  color: #e12f22;
}

.selectboxit-container .selectboxit-list .selectboxit-option.selectboxit-focus, .selectboxit-container .selectboxit-list .selectboxit-option li.interested-item:focus, .selectboxit-container .selectboxit-list .interested-item.selectboxit-focus, .selectboxit-container .selectboxit-list .interested-item li.interested-item:focus, .selectboxit-container .interested-list .selectboxit-option.selectboxit-focus, .selectboxit-container .interested-list .selectboxit-option li.interested-item:focus, .selectboxit-container .interested-list .interested-item.selectboxit-focus, .selectboxit-container .interested-list .interested-item li.interested-item:focus {
  outline: 1px dotted #e12f22;
  outline-offset: 2px;
}

.selectboxit-container .selectboxit-list .selectboxit-option.selectboxit-focus:hover, .selectboxit-container .selectboxit-list .selectboxit-option li.interested-item:focus:hover, .selectboxit-container .selectboxit-list .interested-item.selectboxit-focus:hover, .selectboxit-container .selectboxit-list .interested-item li.interested-item:focus:hover, .selectboxit-container .interested-list .selectboxit-option.selectboxit-focus:hover, .selectboxit-container .interested-list .selectboxit-option li.interested-item:focus:hover, .selectboxit-container .interested-list .interested-item.selectboxit-focus:hover, .selectboxit-container .interested-list .interested-item li.interested-item:focus:hover {
  outline: none;
}


.ui-datepicker {
  border-radius: 0;
  border: none !important;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  font-family: "coresans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 300;
  padding: 0;
}

.ui-datepicker .ui-datepicker-header {
  background: #222222;
  border: none;
  border-radius: 0;
  padding: 0;
}

.ui-datepicker .ui-datepicker-header > * {
  height: 25px;
  line-height: 25px;
}

.ui-datepicker .ui-datepicker-header .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-header .ui-datepicker-next {
  background: none;
  border-radius: 0;
  text-align: center;
  text-decoration: none;
  top: 0;
}

.ui-datepicker .ui-datepicker-header .ui-datepicker-prev.ui-state-hover,
.ui-datepicker .ui-datepicker-header .ui-datepicker-next.ui-state-hover {
  background: #e12f22;
  border: none;
}

.ui-datepicker .ui-datepicker-header .ui-datepicker-prev .ui-icon,
.ui-datepicker .ui-datepicker-header .ui-datepicker-next .ui-icon {
  background: none;
  display: none;
}

.ui-datepicker .ui-datepicker-header .ui-datepicker-prev:after,
.ui-datepicker .ui-datepicker-header .ui-datepicker-next:after {
  content: "\25B8";
  color: #fff;
}

.ui-datepicker .ui-datepicker-header .ui-datepicker-prev {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
  line-height: 23px;
}

.ui-datepicker .ui-datepicker-header .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-header .ui-datepicker-prev-hover {
  left: 0;
}

.ui-datepicker .ui-datepicker-header .ui-datepicker-next,
.ui-datepicker .ui-datepicker-header .ui-datepicker-next-hover {
  right: 0;
}

.ui-datepicker .ui-datepicker-header select {
  background: #222222;
  border-color: #222222;
  color: #fff;
  font-size: 12px;
  font-weight: 300;
  width: 60px;
  margin: 0 5px;
  vertical-align: middle;
  text-transform: uppercase;
}

.ui-datepicker .ui-datepicker-calendar {
  border: 1px solid #d3d3d3;
  margin-bottom: 0;
}

.ui-datepicker .ui-datepicker-calendar thead tr {
  border: 1px solid #717375;
}

.ui-datepicker .ui-datepicker-calendar thead th {
  font-size: 12px;
  font-weight: 500;
  padding: 2px 2px 3px;
  text-transform: uppercase;
}

.ui-datepicker .ui-datepicker-calendar tbody {
  border: none;
}

.ui-datepicker .ui-datepicker-calendar tbody td {
  background: #fff;
  border: 1px solid #d3d3d3;
  padding: 0;
}

.ui-datepicker .ui-datepicker-calendar tbody td.ui-datepicker-unselectable {
  background: #f8f9f9;
  opacity: 1;
}

.ui-datepicker .ui-datepicker-calendar tbody td.ui-datepicker-unselectable .ui-state-default {
  opacity: 0.25;
}

.ui-datepicker .ui-datepicker-calendar tbody td.ui-datepicker-other-month {
  background: #ebeced;
}

.ui-datepicker .ui-datepicker-calendar tbody td .ui-state-default {
  background: transparent;
  border: none;
  font-weight: 300;
}

.ui-datepicker .ui-datepicker-calendar tbody td .ui-state-default.ui-state-hover, .ui-datepicker .ui-datepicker-calendar tbody td .ui-state-default.ui-state-active {
  background: #e12f22;
  color: #fff;
}

.ui-datepicker .ui-datepicker-calendar tbody td .ui-state-default.ui-state-active {
  font-weight: 500;
}


.ui-timepicker-wrapper {
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  border: 1px solid #d3d3d3;
  border-top: none;
  width: 150px;
}

.ui-timepicker-wrapper .ui-timepicker-list {
  padding: 0 10px;
}

.ui-timepicker-wrapper .ui-timepicker-list li {
  padding: 10px 0;
  margin: 0;
  cursor: pointer;
  border-top: 1px solid #d3d3d3;
}

.ui-timepicker-wrapper .ui-timepicker-list li:first-child {
  border-top: 0;
}

.ui-timepicker-wrapper .ui-timepicker-list li.selected, .ui-timepicker-wrapper .ui-timepicker-list li:hover {
  background: transparent;
  color: #e12f22;
}


.button--primary,
.button.primary {
  border: none;
  -webkit-transition: background 0.25s ease;
  transition: background 0.25s ease;
  background: #e12f22;
  color: #fff;
  display: inline-block;
  font-weight: 500;
  padding: 15px 50px;
  text-align: center;
  text-decoration: none;
}

.button--primary:hover, .button--primary:focus,
.button.primary:hover,
.button.primary:focus {
  background: #bf281d;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 29.9375em) {
  .button--primary,
  .button.primary {
    display: block;
    width: 100%;
  }
}

.button--secondary {
  border: none;
  -webkit-transition: background 0.25s ease;
  transition: background 0.25s ease;
  background: #222222;
  color: #fff;
  display: inline-block;
  font-weight: 500;
  padding: 15px 50px;
  text-align: center;
  text-decoration: none;
}

.button--secondary:hover, .button--secondary:focus {
  background: #000;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 29.9375em) {
  .button--secondary {
    display: block;
    width: 100%;
  }
}

.button--tertiary {
  border: none;
  display: inline-block;
  font-weight: 700;
  text-decoration: none;
  vertical-align: middle;
  color: #e12f22;
}

.button--tertiary:after {
  -webkit-transition: margin-left 0.25s ease;
  transition: margin-left 0.25s ease;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  display: inline-block;
  margin-left: 5px;
  width: 15px;
  height: 15px;
  position: relative;
  top: -1px;
  vertical-align: middle;
}

.button--tertiary:hover, .button--tertiary:focus {
  text-decoration: underline;
}

.button--tertiary:hover:after {
  margin-left: 10px;
}

.button--tertiary:hover, .button--tertiary:focus {
  color: #e12f22;
}

.button--tertiary:after {
  background-image: url("../images/arrow--red.png");
}

.svg .button--tertiary:after {
  background-image: url("../images/arrow--red.svg");
}



legend {
  border: 0;
  
  padding: 0;
  
  font-weight: bold;
}

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


table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  
  
  margin: 20px 0;
}

table.no-borders {
  border: 0;
}

@media (max-width: 93.6875em) {
  .table-wrapper {
    overflow-x: scroll;
    border-left: 1px solid #d3d3d3;
    border-right: 1px solid #d3d3d3;
    margin: 20px 0;
    position: relative;
  }
  .table-wrapper > table {
    margin: 0 -1px;
  }
}

.table-wrapper.no-borders {
  border-left: 0;
  border-right: 0;
}

tbody {
  border-style: solid;
  border-width: 0px;
  border-color: #d3d3d3 transparent transparent transparent;
}

th {
  text-align: left;
  
  background: #717375;
  color: #fff;
}

th h5 {
  margin: 0;
  color: #fff;
}

@media (min-width: 48em) {
  th {
    font-size: 15px;
  }
  th h5 {
    font-size: 15px;
  }
}

@media (max-width: 47.9375em) {
  th {
    font-size: 14px;
  }
  th h5 {
    font-size: 14px;
  }
}

td {
  border-left: 1px solid #d3d3d3;
}

@media (min-width: 48em) {
  td {
    font-size: 14px;
  }
}

@media (max-width: 47.9375em) {
  td {
    font-size: 12px;
  }
}

td:last-child {
  border-right: 1px solid #d3d3d3;
}

.no-borders td {
  border: 0;
}

.no-borders td:first-child {
  padding-left: 0;
}

.no-borders td:last-child {
  padding-right: 0;
}

@media (min-width: 48em) {
  table td, table th {
    padding: 15px 25px;
  }
}

@media (max-width: 47.9375em) {
  table td, table th {
    padding: 10px 15px;
  }
}

tr.even,
tr:nth-child(even) {
  background: #fff;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #d3d3d3 transparent #d3d3d3 transparent;
}

.no-borders tr.even, .no-borders
tr:nth-child(even) {
  border: 0;
}

tr.odd,
tr:nth-child(odd) {
  background: #fff;
  border-style: solid;
  border-width: 1px 1px 1px 1px;
  border-color: #d3d3d3 transparent #d3d3d3 transparent;
}

.no-borders tr.odd, .no-borders
tr:nth-child(odd) {
  border: 0;
}

tr.drag {
  background: #d3d3d3 transparent #d3d3d3 transparent;
}

.program-group {
  margin: 0;
}

@media (min-width: 48em) {
  .program-group td:last-child, .program-group th:last-child {
    width: 140px;
  }
}

@media (max-width: 47.9375em) {
  .program-group td:last-child, .program-group th:last-child {
    width: 80px;
  }
}

.program-group th:last-child {
  background-color: #e12f22;
}

@media (min-width: 48em) {
  .program-group td:first-child {
    width: 200px;
  }
}

@media (max-width: 47.9375em) {
  .program-group td:first-child {
    width: 110px;
  }
}

.program-group .course__description {
  display: none;
}


.date {
  text-align: center;
}

.date .date__month {
  color: #525252;
  font-weight: 500;
}

.date .date__day {
  color: #e12f22;
  font-size: 48px;
  font-weight: 900;
  line-height: 1;
}

#liveagent_invite_button_573G00000004vfI img:last-child {
  position: relative;
  top: -18px;
}


.contact:not(.contact--button), .paragraph--person .field--person-email,
.paragraph--person .field--person-phone, .paragraph--contact .field--contact-phone,
.paragraph--contact .field--contact-email,
.paragraph--contact .field--contact-address, .sidebar .field--contact-email,
.sidebar .field--contact-phone,
.sidebar .field--contact-address,
.sidebar .field--contact-fax,
.sidebar .field--contact-hours {
  color: #e12f22;
  font-weight: 500;
  padding-left: 28px;
  position: relative;
}

.contact:not(.contact--button) a, .paragraph--person .field--person-email a, .paragraph--person .field--person-phone a, .paragraph--contact .field--contact-phone a, .paragraph--contact .field--contact-email a, .paragraph--contact .field--contact-address a, .sidebar .field--contact-email a, .sidebar .field--contact-phone a, .sidebar .field--contact-address a, .sidebar .field--contact-fax a, .sidebar .field--contact-hours a {
  text-decoration: none;
}

.contact:not(.contact--button):before, .paragraph--person .field--person-email:before,
.paragraph--person .field--person-phone:before, .paragraph--contact .field--contact-phone:before,
.paragraph--contact .field--contact-email:before,
.paragraph--contact .field--contact-address:before, .sidebar .field--contact-email:before,
.sidebar .field--contact-phone:before,
.sidebar .field--contact-address:before,
.sidebar .field--contact-fax:before,
.sidebar .field--contact-hours:before {
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0;
  left: 0;
}

.contact.contact--phone:not(.contact--button):before,
.paragraph--person .field--person-phone:before,
.sidebar .field--contact-phone:before {
  background-image: url("../images/mobile--red.png");
  background-size: auto 100%;
}

.svg .contact.contact--phone:not(.contact--button):before,
.svg .paragraph--person .field--person-phone:before, .paragraph--person .svg .field--person-phone:before,
.svg .sidebar .field--contact-phone:before, .sidebar .svg .field--contact-phone:before {
  background-image: url("../images/mobile--red.svg");
}

.contact.contact--fax:not(.contact--button):before,
.sidebar .field--contact-fax:before {
  background-image: url("../images/fax--red.png");
  background-size: auto 85%;
}

.svg .contact.contact--fax:not(.contact--button):before,
.svg .sidebar .field--contact-fax:before, .sidebar .svg .field--contact-fax:before {
  background-image: url("../images/fax--red.svg");
}

.contact.contact--hours:not(.contact--button):before,
.sidebar .field--contact-hours:before {
  background-image: url("../images/hours--red.png");
  background-size: auto 85%;
}

.svg .contact.contact--hours:not(.contact--button):before,
.svg .sidebar .field--contact-hours:before, .sidebar .svg .field--contact-hours:before {
  background-image: url("../images/hours--red.svg");
}

.contact.contact--email:not(.contact--button):before, .paragraph--person .field--person-email:before, .sidebar .field--contact-email:before {
  background-image: url("../images/mail--red.png");
  background-size: 84% auto;
}

.svg .contact.contact--email:not(.contact--button):before, .svg .paragraph--person .field--person-email:before, .paragraph--person .svg .field--person-email:before, .svg .sidebar .field--contact-email:before, .sidebar .svg .field--contact-email:before {
  background-image: url("../images/mail--red.svg");
}

.contact.contact--chat:not(.contact--button):before {
  background-image: url("../images/chat--red.png");
  background-size: 100% auto;
}

.svg .contact.contact--chat:not(.contact--button):before {
  background-image: url("../images/chat--red.svg");
}

.contact.contact--address:not(.contact--button):before,
.sidebar .field--contact-address:before {
  background-image: url("../images/location--red.png");
  background-size: auto 85%;
}

.svg .contact.contact--address:not(.contact--button):before,
.svg .sidebar .field--contact-address:before, .sidebar .svg .field--contact-address:before {
  background-image: url("../images/location--red.svg");
}


.social {
  width: 44px;
  height: 44px;
  border-radius: 22px;
  background-color: #222222;
  background-repeat: no-repeat;
  background-position: center;
  display: inline-block;
  text-indent: -9999px;
  overflow: hidden;
}

.social:hover, .social:focus {
  background-color: #e12f22;
  -webkit-transform: scale(1.125);
          transform: scale(1.125);
}

.social.facebook {
  background-image: url("../images/facebook--white.png");
  background-size: auto 20px;
}

.svg .social.facebook {
  background-image: url("../images/facebook--white.svg");
}

.social.twitter {
  background-image: url("../images/twitter--white.png");
  background-size: 20px auto;
}

.svg .social.twitter {
  background-image: url("../images/twitter--white.svg");
}

.social.instagram {
  background-image: url("../images/instagram--white.png");
  background-size: 20px auto;
}

.svg .social.instagram {
  background-image: url("../images/instagram--white.svg");
}

.social.youtube {
  background-image: url("../images/youtube--white.png");
  background-size: 20px auto;
}

.svg .social.youtube {
  background-image: url("../images/youtube--white.svg");
}

.social.linkedin {
  background-image: url("../images/linkedin--white.png");
  background-size: 20px auto;
}

.svg .social.linkedin {
  background-image: url("../images/linkedin--white.svg");
}

.social.flickr {
  background-image: url("../images/flickr--white.png");
  background-size: 20px auto;
}

.svg .social.flickr {
  background-image: url("../images/flickr--white.svg");
}

.social.wordpress {
  background-image: url("../images/wordpress--white.png");
  background-size: 20px auto;
}

.svg .social.wordpress {
  background-image: url("../images/wordpress--white.svg");
}

.social + .social {
  margin-left: 6.25px;
}



.pager {
  clear: both;
  padding: 0;
  text-align: center;
  margin: 0 auto;
  padding-top: 25px;
}

.pager .pager__items {
  margin: 0 auto;
  text-align: center;
  display: inline-block;
}

.pager .pager__items:after {
  content: '';
  display: table;
  clear: both;
}

.pager__item a,
.pager__first a,
.pager__previous a,
.pager__next a,
.pager__last a,
.pager__ellipsis a, .pager li.pager__current {
  list-style-type: none;
  float: left;
  border: none;
  -webkit-transition: background 0.25s ease;
  transition: background 0.25s ease;
  background: #e12f22;
  color: #fff;
  display: inline-block;
  font-weight: 500;
  padding: 15px 50px;
  text-align: center;
  text-decoration: none;
  padding: 4px 12px;
}

.pager__item a:hover,
.pager__first a:hover,
.pager__previous a:hover,
.pager__next a:hover,
.pager__last a:hover,
.pager__ellipsis a:hover, .pager li.pager__current:hover, .pager__item a:focus,
.pager__first a:focus,
.pager__previous a:focus,
.pager__next a:focus,
.pager__last a:focus,
.pager__ellipsis a:focus, .pager li.pager__current:focus {
  background: #bf281d;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 29.9375em) {
  .pager__item a,
  .pager__first a,
  .pager__previous a,
  .pager__next a,
  .pager__last a,
  .pager__ellipsis a, .pager li.pager__current {
    display: block;
    width: 100%;
  }
}

.pager__item,
.pager__first,
.pager__previous,
.pager__next,
.pager__last,
.pager__ellipsis {
  
}

.pager__item:not(:last-child),
.pager__first:not(:last-child),
.pager__previous:not(:last-child),
.pager__next:not(:last-child),
.pager__last:not(:last-child),
.pager__ellipsis:not(:last-child) {
  margin-right: 6.6666666667px;
}

.pager__item.is-active a,
.pager__first.is-active a,
.pager__previous.is-active a,
.pager__next.is-active a,
.pager__last.is-active a,
.pager__ellipsis.is-active a {
  border: 0px;
  pointer-events: none;
}

.pager__item--ellipsis {
  padding: 4px 8px;
}

.pager {
  overflow: hidden;
}

.pager li {
  float: left;
  margin-right: 2px;
}

.pager li.pager__current {
  padding: 4px 8px;
}



.davenport-breadcrumbs {
  font-size: 14px;
  color: #525252;
  margin-bottom: 25px;
}

.davenport-breadcrumbs ol {
  margin: 0;
  padding: 0;
}

.davenport-breadcrumbs li {
  display: inline-block;
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.davenport-breadcrumbs li a {
  color: #525252;
}

.davenport-breadcrumbs li a:hover, .davenport-breadcrumbs li a:focus {
  color: #e12f22;
}

.davenport-breadcrumbs li:before {
  content: " › ";
}

.davenport-breadcrumbs li:first-child:before {
  display: none;
}


ul.tabs__primary,
ul.tabs__secondary {
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
  white-space: nowrap;
}

ul.tabs__primary:before, ul.tabs__primary:after,
ul.tabs__secondary:before,
ul.tabs__secondary:after {
  content: "";
  display: table;
}

ul.tabs__primary:after,
ul.tabs__secondary:after {
  clear: both;
}

ul.tabs__primary li,
ul.tabs__secondary li {
  float: left;
  
  margin: 0;
}

ul.tabs__primary a, ul.tabs__primary a:link,
ul.tabs__secondary a,
ul.tabs__secondary a:link {
  display: block;
  text-decoration: none;
}

ul.tabs__primary li.is-active a {
  background-color: #e12f22;
  color: #ffffff;
  border: 1px solid #e12f22;
}

ul.tabs__primary li a {
  font-size: 12px;
  background-color: #fff;
  border-left: 1px solid #d3d3d3;
  border-top-radius: 0px;
  color: #222222;
  padding: 5px 15px;
  font-weight: 500;
}

ul.tabs__primary li a:hover {
  color: #ffffff;
  text-decoration: none;
  background-color: #e12f22;
}

ul.tabs__primary li a.is-active {
  background-color: #e12f22;
  border-left: 1px solid #e12f22;
  color: #ffffff;
  pointer-events: none;
}


.accordion {
  position: relative;
}

.accordion .accordion__toggle {
  border: 1px solid #ebeced;
  background-color: #ebeced;
  color: #222222;
  cursor: pointer;
  display: block;
  font-size: 18px;
  font-weight: 500;
  margin: 0;
  padding: 25px;
  text-align: left;
  text-decoration: none;
  width: 100%;
}

.accordion .accordion__toggle:hover {
  background-color: #ebeced;
  color: #e12f22;
  text-decoration: underline;
}

.accordion .accordion__toggle:focus {
  border: 1px solid #e12f22;
  background: #ebeced;
  color: #222222;
  outline: none;
}

.accordion .accordion__toggle:focus span {
  color: #e12f22;
  text-decoration: underline;
}

.accordion .accordion__toggle:after {
  color: #e12f22;
  float: right;
  font-size: 30px;
  font-weight: 500;
  line-height: 25px;
}

.accordion .accordion__content {
  background: #fff;
  border: 1px solid #d3d3d3;
}

.accordion .accordion__content > * {
  padding: 25px;
}

.accordion .accordion__content > * + * {
  border-top: 1px solid #d3d3d3;
}

.accordion .accordion__content > .field--accordion-links,
.accordion .accordion__content > table {
  padding: 0;
}

.accordion.collapsed .hide,
.accordion.collapsed .accordion__content {
  display: none;
}

.accordion.collapsed .accordion__toggle:after {
  content: "+";
}

.accordion.expanded .show {
  display: none;
}

.accordion.expanded .accordion__toggle:after {
  content: "–";
}

.accordion table:first-child {
  margin-top: 0;
}

.accordion table:last-child {
  margin-bottom: 0;
}

.accordion ul {
  margin: 0;
}

.accordion .field--accordion-links a {
  border: none;
  display: inline-block;
  font-weight: 700;
  text-decoration: none;
  vertical-align: middle;
  color: #e12f22;
}

.accordion .field--accordion-links a:after {
  -webkit-transition: margin-left 0.25s ease;
  transition: margin-left 0.25s ease;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  display: inline-block;
  margin-left: 5px;
  width: 15px;
  height: 15px;
  position: relative;
  top: -1px;
  vertical-align: middle;
}

.accordion .field--accordion-links a:hover, .accordion .field--accordion-links a:focus {
  text-decoration: underline;
}

.accordion .field--accordion-links a:hover:after {
  margin-left: 10px;
}

.accordion .field--accordion-links a:hover, .accordion .field--accordion-links a:focus {
  color: #e12f22;
}

.accordion .field--accordion-links a:after {
  background-image: url("../images/arrow--red.png");
}

.svg .accordion .field--accordion-links a:after {
  background-image: url("../images/arrow--red.svg");
}

.accordion .field--accordion-links > div {
  border-bottom: 1px solid #d3d3d3;
  padding: 15px 25px;
}

.accordion .field--accordion-links > div:last-child {
  border-bottom: 0;
}

.field--program-curriculum .accordion .accordion__content {
  border: 0;
}

#course-dialog {
  background: rgba(0, 0, 0, 0.75);
  position: fixed;
  z-index: 9999;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  padding: 25px;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

#course-dialog.hidden {
  display: none;
}

#course-dialog .course-dialog__container {
  background: #fff;
  border: 1px solid #d3d3d3;
  padding: 25px;
  max-width: 960px;
  max-height: 500px;
  overflow: auto;
}

#course-dialog #course-dialog__close {
  background-image: url("../images/x.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 20px auto;
  float: right;
  width: 44px;
  height: 44px;
  text-indent: -9999px;
  overflow: hidden;
}

#course-dialog #course-dialog__close:focus {
  outline: 1px dotted #e12f22;
}

#course-dialog h2 {
  margin-top: 0;
}

#course-dialog h2 + h3 {
  margin-top: 0;
}

.svg #course-dialog #course-dialog__close {
  background-image: url("../images/x.svg");
}

.region--bottom .contextual {
  display: none;
}


.slick-slider {
  position: relative;
}

.slick-loading .slick-track,
.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-list {
  overflow: hidden;
}

.slick-slide {
  float: left;
}

.slick-arrow {
  -webkit-transition: background 0.25s ease;
  transition: background 0.25s ease;
  background: transparent;
  color: #fff;
  padding: 10px 15px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  z-index: 5;
}

.slick-arrow:hover, .slick-arrow:focus {
  background: rgba(255, 255, 255, 0.15);
  outline: none;
}

.slick-arrow:before {
  content: "\25BE";
  display: block;
}

.slick-arrow.slick-disabled {
  cursor: default;
  opacity: 0.5;
}

.slick-arrow.slick-disabled:hover, .slick-arrow.slick-disabled:focus {
  background: transparent;
}

.slick-arrow.slick-prev {
  left: 0;
}

.slick-arrow.slick-prev:before {
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
}

.slick-arrow.slick-next {
  right: 0;
}

.slick-arrow.slick-next:before {
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}


.toggle-submenu {
  display: none;
}

.toggle-submenu:after {
  content: "\25B8";
  color: #e12f22;
}

.toggle-submenu:hover {
  text-decoration: none !important;
}


.sidebar nav ul li {
  border-bottom: 1px solid #d3d3d3;
  padding: 10px 0;
  margin-bottom: 0;
}

.sidebar nav ul li:first-child {
  border-top: 1px solid #d3d3d3;
}

.sidebar nav ul li a {
  color: #222222;
  font-size: 14px;
  text-decoration: none;
}

.sidebar nav ul li a:hover {
  text-decoration: underline;
}

.sidebar nav ul li a.is-active {
  color: #e12f22;
}

.sidebar nav ul li ul {
  display: none;
  padding-left: 25px;
}

.sidebar nav ul li ul li {
  border-bottom: none;
  padding: 5px 0;
}

.sidebar nav ul li ul li:first-child {
  border-top: none;
  margin-top: 5px;
}

.sidebar nav ul li.menu-item--expanded {
  position: relative;
}

.sidebar nav ul li.menu-item--expanded .toggle-submenu {
  display: block;
  padding: 10px;
  position: absolute;
  top: 0;
  right: 0;
}

.sidebar nav ul li.menu-item--expanded.menu-item--active-trail > .toggle-submenu:after {
  content: "\25BE";
}

.sidebar nav ul li.menu-item--active-trail ul {
  display: block;
}



.message {
  display: block;
  width: 100%;
  padding: 10px 25px;
}

.message .message__text {
  margin-left: auto;
  margin-right: auto;
  max-width: 1240px;
  min-width: 320px;
  padding-left: 25px;
  padding-right: 25px;
  padding-left: 50px;
  position: relative;
}

@media (min-width: 93.75em) {
  .message .message__text {
    max-width: 1440px;
  }
}

.message .message__text:before {
  content: "";
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 0;
  left: 25px;
  bottom: 0;
  width: 18px;
  height: 25px;
}

.message--alert, .message--error {
  background: #f9d8d6;
}

.message--alert .message__text:before, .message--error .message__text:before {
  background-image: url("../images/x.png");
  background-size: 100% auto;
}

.message--status, .message--success {
  background: #d0f9e1;
}

.message--status .message__text:before, .message--success .message__text:before {
  background-image: url("../images/checkmark--green.png");
  background-size: 100% auto;
}

.message--warning {
  background: #fce6c4;
}

.message--warning .message__text:before {
  background-image: url("../images/warning.png");
  background-size: 100% auto;
}

.svg .message--alert .message__text:before, .svg .message--error .message__text:before {
  background-image: url("../images/x.svg");
}

.svg .message--status .message__text:before, .svg .message--success .message__text:before {
  background-image: url("../images/checkmark--green.svg");
}

.svg .message--warning .message__text:before {
  background-image: url("../images/warning.svg");
}



.js-form-type-vertical-tabs {
  width: 100%;
  max-width: 760px;
}

.js-form-type-vertical-tabs * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.js-form-type-vertical-tabs .js-form-type-checkbox label,
.js-form-type-vertical-tabs .js-form-type-radio label {
  font-weight: normal;
  text-transform: none;
}

.vertical-tabs {
  background: #ebeced;
  border: 0px;
}

.vertical-tabs li {
  margin: 0;
}

.vertical-tabs li a {
  border-bottom: 0;
}

.vertical-tabs .vertical-tabs__menu {
  border: 0px;
  margin-top: 0;
  margin-bottom: 0;
}

.vertical-tabs .vertical-tabs__menu .vertical-tabs__menu-item {
  border: 0px;
  background: #e12f22;
}

.vertical-tabs .vertical-tabs__menu .vertical-tabs__menu-item:last-child {
  border-bottom: none;
}

.vertical-tabs .vertical-tabs__menu .vertical-tabs__menu-item.is-selected {
  background: #222222;
  border-right: 0px;
}

.vertical-tabs .vertical-tabs__panes {
  padding: 20px;
}

#highlighted {
  background: #717375;
  position: relative;
}

@media (max-width: 47.9375em) {
  .has-banner #highlighted {
    background: transparent;
  }
  .has-banner #highlighted .davenport-primary-local-tasks {
    background: #717375;
    padding-top: 1px;
  }
}

@media (min-width: 48em) {
  #highlighted .page-title {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

@media (max-width: 47.9375em) {
  #highlighted .page-title {
    padding-top: 33.3333333333px;
    padding-bottom: 33.3333333333px;
  }
}

#highlighted .davenport-primary-local-tasks {
  margin-left: auto;
  margin-right: auto;
  max-width: 1240px;
  min-width: 320px;
  padding-left: 25px;
  padding-right: 25px;
}

@media (min-width: 93.75em) {
  #highlighted .davenport-primary-local-tasks {
    max-width: 1440px;
  }
}

h1.page-title {
  color: #fff;
}

.banner .field--banner {
  background-color: #717375;
  min-height: 200px;
  position: relative;
}

.banner .field--banner img {
  width: 100%;
  height: auto;
}

.banner .field--banner:before {
  content: "";
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  width: 100%;
  height: 50%;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 2;
}

@media (min-width: 78.75em) {
  .banner .page-title {
    padding-left: calc(50vw - 1192px / 2);
  }
  .no-stats .banner .page-title {
    padding-right: calc(50vw - 1192px / 2);
  }
}

@media (min-width: 93.75em) {
  .banner .page-title {
    padding-left: calc(50vw - 1390px / 2);
  }
  .no-stats .banner .page-title {
    padding-right: calc(50vw - 1390px / 2);
  }
}

@media (max-width: 78.6875em) {
  .banner .page-title {
    padding-left: 25px;
  }
}

@media (min-width: 67.5em) {
  .has-stats .banner .page-title {
    width: 75%;
  }
  .has-stats .banner .banner__stats {
    width: 25%;
  }
}

@media (max-width: 67.4375em) and (min-width: 48em) {
  .has-stats .banner .page-title {
    width: 66.67%;
  }
  .has-stats .banner .banner__stats {
    width: 33.33%;
  }
}

@media (min-width: 48em) {
  .banner .page-title {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding-right: 25px;
    z-index: 3;
  }
  .banner .banner__stats {
    position: absolute;
    bottom: -100px;
    right: 0;
    max-width: 300px;
    padding-left: 25px;
    z-index: 3;
  }
}

@media (max-width: 47.9375em) {
  .banner .banner__image {
    position: relative;
  }
  .banner .banner__image .page-title {
    position: absolute;
    bottom: 12.5px;
    left: 0;
    padding-left: 25px;
    padding-right: 25px;
    width: 100%;
    z-index: 3;
  }
  .banner .banner__stats {
    margin-left: 25px;
    margin-right: 25px;
    margin-top: -25px;
    position: relative;
    z-index: 5;
  }
}

.statistic {
  background-color: rgba(225, 47, 34, 0.95);
  color: #fff;
  padding: 25px;
  position: relative;
  text-align: center;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.statistic .stat__link {
  border-width: 1px;
  border-style: solid;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.statistic .stat__link + .field--statistic + .field--label {
  border: none;
  display: inline-block;
  font-weight: 700;
  text-decoration: none;
  vertical-align: middle;
  color: #fff;
  font-weight: 500;
}

.statistic .stat__link + .field--statistic + .field--label:after {
  -webkit-transition: margin-left 0.25s ease;
  transition: margin-left 0.25s ease;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  display: inline-block;
  margin-left: 5px;
  width: 15px;
  height: 15px;
  position: relative;
  top: -1px;
  vertical-align: middle;
}

.statistic .stat__link + .field--statistic + .field--label:hover, .statistic .stat__link + .field--statistic + .field--label:focus {
  text-decoration: underline;
}

.statistic .stat__link + .field--statistic + .field--label:hover:after {
  margin-left: 10px;
}

.statistic .stat__link + .field--statistic + .field--label:hover, .statistic .stat__link + .field--statistic + .field--label:focus {
  color: #fff;
}

.statistic .stat__link + .field--statistic + .field--label:after {
  background-image: url("../images/arrow--white.png");
}

.svg .statistic .stat__link + .field--statistic + .field--label:after {
  background-image: url("../images/arrow--white.svg");
}

.statistic .stat__link:hover, .statistic .stat__link:focus {
  border-color: #fff;
}

.statistic .stat__link:hover + .field--statistic + .field--label:after, .statistic .stat__link:focus + .field--statistic + .field--label:after {
  margin-left: 10px;
}

.statistic .field--statistic {
  font-size: 60px;
  font-weight: 900;
  line-height: 1;
}

.statistic .field--label {
  font-weight: 500;
}

.paragraph--statistics .statistic:nth-child(4n+2), .paragraph--statistics .statistic:nth-child(4n+4) {
  background-color: #717375;
}

@media (min-width: 64em) {
  .no-sidebar .statistic:nth-child(6n+2), .no-sidebar .statistic:nth-child(6n+4), .no-sidebar .statistic:nth-child(6n+6) {
    background-color: #717375;
  }
  .no-sidebar .statistic:nth-child(6n+3), .no-sidebar .statistic:nth-child(6n+5) {
    background-color: #e12f22;
  }
}

.banner__stats .statistic.slide--red {
  background-color: rgba(225, 47, 34, 0.95);
}

.banner__stats .statistic.slide--yellow {
  background-color: rgba(244, 163, 25, 0.95);
}

.banner__stats .statistic.slide--green {
  background-color: rgba(0, 59, 38, 0.95);
}

.banner__stats .statistic.slide--blue {
  background-color: rgba(34, 57, 131, 0.95);
}

.banner__stats .statistic.slide--purple {
  background-color: rgba(150, 80, 158, 0.95);
}

@media (min-width: 48em) {
  .banner__stats .statistic,
  .banner__stats .field--statistics:not(.slick-slider) {
    height: 300px;
  }
}

@media (max-width: 47.9375em) {
  .banner__stats .statistic,
  .banner__stats .field--statistics:not(.slick-slider) {
    height: 170px;
  }
}

.banner__stats .field--statistics:not(.slick-slider) {
  overflow: auto;
}


.field--body {
  width: 100%;
}

@media (min-width: 48em) {
  .no-sidebar .field--body > .paragraph > .paragraph__content {
    padding-top: 75px;
    padding-bottom: 75px;
  }
}

@media (max-width: 47.9375em) {
  .no-sidebar .field--body > .paragraph > .paragraph__content {
    padding-top: 33.3333333333px;
    padding-bottom: 33.3333333333px;
  }
}

.has-sidebar .field--body > .paragraph:first-child > .paragraph__content {
  padding-top: 0;
}

@media (min-width: 48em) {
  .has-sidebar .field--body > .paragraph > .paragraph__content,
  .landing-page .field--body > .paragraph > .paragraph__content {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

@media (max-width: 47.9375em) {
  .has-sidebar .field--body > .paragraph > .paragraph__content,
  .landing-page .field--body > .paragraph > .paragraph__content {
    padding-top: 33.3333333333px;
    padding-bottom: 33.3333333333px;
  }
}

.field--body > .paragraph + .paragraph > .paragraph__content {
  border-top: 1px solid #d3d3d3;
}

.field--body > .paragraph + .paragraph.paragraph--feature > .paragraph__content, .field--body > .paragraph + .paragraph.dav-program-search-mini > .paragraph__content {
  border-top: none;
}

.field--body > .paragraph.paragraph--feature > .paragraph__content, .field--body > .paragraph.dav-program-search-mini > .paragraph__content {
  padding-top: 0;
  padding-bottom: 0;
}

.field--body > .paragraph.paragraph--columns + .paragraph--columns > .paragraph__content,
.field--body > .paragraph.paragraph--collapsible_links + .paragraph--collapsible_links > .paragraph__content {
  border-top: none;
  padding-top: 0;
}

.field--body > .paragraph.paragraph--columns + .paragraph--columns > .paragraph__content .field--intro,
.field--body > .paragraph.paragraph--collapsible_links + .paragraph--collapsible_links > .paragraph__content .field--intro {
  border-top: 1px solid #d3d3d3;
}

@media (min-width: 48em) {
  .field--body > .paragraph.paragraph--columns + .paragraph--columns > .paragraph__content .field--intro,
  .field--body > .paragraph.paragraph--collapsible_links + .paragraph--collapsible_links > .paragraph__content .field--intro {
    padding-top: 75px;
  }
}

@media (max-width: 47.9375em) {
  .field--body > .paragraph.paragraph--columns + .paragraph--columns > .paragraph__content .field--intro,
  .field--body > .paragraph.paragraph--collapsible_links + .paragraph--collapsible_links > .paragraph__content .field--intro {
    padding-top: 33.3333333333px;
  }
}

.paragraph h2.field--headline,
.paragraph h2:first-child,
.paragraph h3:first-child,
.paragraph h4:first-child,
.paragraph .paragraph__content > .field--intro:first-child {
  margin-top: 0;
}


.paragraph--text .field--content *:last-child {
  margin-bottom: 5px;
}


@media (max-width: 47.9375em) {
  .paragraph--columns .paragraph__content > .row > .col-sm-6, .paragraph--columns #footer .footer__top .paragraph__content > .region--footer > .col-sm-6, #footer .footer__top .paragraph--columns .paragraph__content > .region--footer > .col-sm-6, .paragraph--columns .paragraph--cards .layout--2col .paragraph__content > .row > .paragraph, .paragraph--cards .layout--2col .paragraph--columns .paragraph__content > .row > .paragraph, .paragraph--columns #footer .footer__top .paragraph--cards .layout--2col .paragraph__content > .region--footer > .paragraph, .paragraph--cards .layout--2col .paragraph--columns #footer .footer__top .paragraph__content > .region--footer > .paragraph, #footer .footer__top .paragraph--columns .paragraph--cards .layout--2col .paragraph__content > .region--footer > .paragraph, .paragraph--cards .layout--2col #footer .footer__top .paragraph--columns .paragraph__content > .region--footer > .paragraph {
    margin-bottom: 25px;
  }
  .paragraph--columns .paragraph__content > .row > .col-sm-6:last-child, .paragraph--columns #footer .footer__top .paragraph__content > .region--footer > .col-sm-6:last-child, #footer .footer__top .paragraph--columns .paragraph__content > .region--footer > .col-sm-6:last-child, .paragraph--columns .paragraph--cards .layout--2col .paragraph__content > .row > .paragraph:last-child, .paragraph--cards .layout--2col .paragraph--columns .paragraph__content > .row > .paragraph:last-child, .paragraph--columns #footer .footer__top .paragraph--cards .layout--2col .paragraph__content > .region--footer > .paragraph:last-child, .paragraph--cards .layout--2col .paragraph--columns #footer .footer__top .paragraph__content > .region--footer > .paragraph:last-child, #footer .footer__top .paragraph--columns .paragraph--cards .layout--2col .paragraph__content > .region--footer > .paragraph:last-child, .paragraph--cards .layout--2col #footer .footer__top .paragraph--columns .paragraph__content > .region--footer > .paragraph:last-child {
    margin-bottom: 0;
  }
}

.field--intro + .row, #footer .footer__top .field--intro + .region--footer {
  padding-top: 20px;
}


.paragraph--quote {
  position: relative;
}

.paragraph--quote:after {
  content: "";
  background: url("../images/quote.png") no-repeat left center;
  background-size: auto 100%;
  margin: auto;
  position: absolute;
  right: 0;
  z-index: -1;
}

.paragraph--quote h2 {
  margin-top: 0;
}

.paragraph--quote .field--quote p {
  line-height: 1.5;
}

@media (min-width: 48em) {
  .paragraph--quote .field--quote p {
    font-size: 22px;
  }
}

@media (max-width: 47.9375em) {
  .paragraph--quote .field--quote p {
    font-size: 16px;
  }
}

.paragraph--quote .field--attribution {
  font-weight: 500;
}

@media (min-width: 78.75em) {
  .has-sidebar .paragraph--quote:after {
    right: calc(-50vw + 1190px / 2);
  }
}

@media (min-width: 93.75em) {
  .has-sidebar .paragraph--quote:after {
    right: calc(-50vw + 1390px / 2);
  }
}

@media (min-width: 48em) {
  .has-sidebar .paragraph--quote:after {
    width: 275px;
    height: 240px;
    top: 0;
    bottom: 0;
  }
}

@media (max-width: 47.9375em) {
  .has-sidebar .paragraph--quote:after {
    width: 185px;
    height: 160px;
    top: 33.3333333333px;
  }
}

.has-sidebar .paragraph--quote .field--attribution {
  margin-bottom: 10px;
}

@media (min-width: 78.75em) {
  .no-sidebar .paragraph--quote:after {
    right: calc(-50vw + 1240px / 2);
  }
}

@media (min-width: 93.75em) {
  .no-sidebar .paragraph--quote:after {
    right: calc(-50vw + 1390px / 2);
  }
}

@media (min-width: 48em) {
  .no-sidebar .paragraph--quote:after {
    width: 275px;
    height: 240px;
  }
}

@media (max-width: 47.9375em) {
  .no-sidebar .paragraph--quote:after {
    width: 200px;
    height: 160px;
  }
}

@media (min-width: 30em) {
  .no-sidebar .paragraph--quote:after {
    top: 0;
    bottom: 0;
  }
}

@media (max-width: 29.9375em) {
  .no-sidebar .paragraph--quote:after {
    top: 50px;
  }
}

@media (min-width: 48em) {
  .no-sidebar .paragraph--quote .paragraph__content {
    padding-top: 125px;
    padding-bottom: 125px;
  }
}

@media (max-width: 47.9375em) {
  .no-sidebar .paragraph--quote .paragraph__content {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}


.paragraph--feature,
.paragraph.dav-program-search-mini {
  background: #e12f22;
}

.paragraph--feature .feature__image,
.paragraph.dav-program-search-mini .feature__image {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.paragraph--feature .feature__image .field--image,
.paragraph.dav-program-search-mini .feature__image .field--image {
  height: 100%;
}

.paragraph--feature .feature__image .field--image .media,
.paragraph.dav-program-search-mini .feature__image .field--image .media {
  height: 100%;
}

.paragraph--feature .feature__image .field--image img,
.paragraph.dav-program-search-mini .feature__image .field--image img {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
}

.paragraph--feature .feature__image .field--overlay,
.paragraph.dav-program-search-mini .feature__image .field--overlay {
  background: rgba(0, 0, 0, 0.45);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
  font-weight: 500;
  padding: 25px;
  position: absolute;
  text-align: center;
  width: 50%;
  height: 50%;
  min-width: 250px;
  min-height: 250px;
  max-width: 350px;
}

.paragraph--feature .feature__image .field--overlay p,
.paragraph.dav-program-search-mini .feature__image .field--overlay p {
  margin-bottom: 0;
}

.paragraph--feature .feature__image .field--overlay strong,
.paragraph.dav-program-search-mini .feature__image .field--overlay strong {
  font-size: 50px;
  font-weight: 900;
  line-height: 1.2;
}

.paragraph--feature .feature__text,
.paragraph.dav-program-search-mini .feature__text {
  padding: 50px 25px;
}

.paragraph--feature .feature__text h3,
.paragraph.dav-program-search-mini .feature__text h3 {
  margin-top: 0;
}

@media (max-width: 47.9375em) {
  .paragraph--feature .feature__text h3,
  .paragraph.dav-program-search-mini .feature__text h3 {
    font-size: 22px;
  }
}

.paragraph--feature.feature--odd,
.paragraph.dav-program-search-mini.feature--odd {
  background: #e12f22;
  color: #fff;
}

.paragraph--feature.feature--odd .field--link a,
.paragraph.dav-program-search-mini.feature--odd .field--link a {
  border: none;
  -webkit-transition: background 0.25s ease;
  transition: background 0.25s ease;
  background: #222222;
  color: #fff;
  display: inline-block;
  font-weight: 500;
  padding: 15px 50px;
  text-align: center;
  text-decoration: none;
}

.paragraph--feature.feature--odd .field--link a:hover, .paragraph--feature.feature--odd .field--link a:focus,
.paragraph.dav-program-search-mini.feature--odd .field--link a:hover,
.paragraph.dav-program-search-mini.feature--odd .field--link a:focus {
  background: #000;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 29.9375em) {
  .paragraph--feature.feature--odd .field--link a,
  .paragraph.dav-program-search-mini.feature--odd .field--link a {
    display: block;
    width: 100%;
  }
}

.paragraph--feature.feature--odd .field--link a:focus,
.paragraph.dav-program-search-mini.feature--odd .field--link a:focus {
  outline: 1px dotted #fff;
}

.paragraph--feature.feature--odd .feature__text h2, .paragraph--feature.feature--odd .feature__text h3, .paragraph--feature.feature--odd .feature__text h4, .paragraph--feature.feature--odd .feature__text a,
.paragraph.dav-program-search-mini.feature--odd .feature__text h2,
.paragraph.dav-program-search-mini.feature--odd .feature__text h3,
.paragraph.dav-program-search-mini.feature--odd .feature__text h4,
.paragraph.dav-program-search-mini.feature--odd .feature__text a {
  color: #fff;
}

.paragraph--feature.feature--even,
.paragraph.dav-program-search-mini.feature--even {
  background: #fff;
}

.paragraph--feature.feature--even a,
.paragraph.dav-program-search-mini.feature--even a {
  color: #222222;
}

.paragraph--feature.feature--even .field--link a,
.paragraph.dav-program-search-mini.feature--even .field--link a {
  border: none;
  -webkit-transition: background 0.25s ease;
  transition: background 0.25s ease;
  background: #e12f22;
  color: #fff;
  display: inline-block;
  font-weight: 500;
  padding: 15px 50px;
  text-align: center;
  text-decoration: none;
}

.paragraph--feature.feature--even .field--link a:hover, .paragraph--feature.feature--even .field--link a:focus,
.paragraph.dav-program-search-mini.feature--even .field--link a:hover,
.paragraph.dav-program-search-mini.feature--even .field--link a:focus {
  background: #bf281d;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 29.9375em) {
  .paragraph--feature.feature--even .field--link a,
  .paragraph.dav-program-search-mini.feature--even .field--link a {
    display: block;
    width: 100%;
  }
}

@media (min-width: 48em) {
  .paragraph--feature .paragraph__content,
  .paragraph.dav-program-search-mini .paragraph__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    max-height: 750px;
  }
  .paragraph--feature .paragraph__content:after,
  .paragraph.dav-program-search-mini .paragraph__content:after {
    content: '';
    display: table;
    clear: both;
  }
  .paragraph--feature .paragraph__content > div,
  .paragraph.dav-program-search-mini .paragraph__content > div {
    width: 50%;
    float: left;
  }
  .paragraph--feature .feature__image .field--overlay,
  .paragraph.dav-program-search-mini .feature__image .field--overlay {
    padding: 37.5px 50px 50px;
  }
  .paragraph--feature .feature__image .field--overlay strong,
  .paragraph.dav-program-search-mini .feature__image .field--overlay strong {
    font-size: 72px;
  }
  .paragraph--feature .feature__text,
  .paragraph.dav-program-search-mini .feature__text {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 50px 25px;
  }
  .paragraph--feature.feature--even .paragraph__content .feature__image,
  .paragraph.dav-program-search-mini.feature--even .paragraph__content .feature__image {
    float: right;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
}

.paragraph--feature ul li,
.paragraph.dav-program-search-mini ul li {
  margin: 0;
}

.paragraph--feature h4,
.paragraph.dav-program-search-mini h4 {
  margin-bottom: 5px;
}

.paragraph--feature h4 + ul,
.paragraph.dav-program-search-mini h4 + ul {
  margin-top: 0;
}

.paragraph--feature #more-than-a-major-more-than-a-degree .feature__image .field--overlay,
.paragraph.dav-program-search-mini #more-than-a-major-more-than-a-degree .feature__image .field--overlay {
  padding: 25px;
  width: 75%;
  max-width: 550px;
}


@media (min-width: 48em) {
  .paragraph--cards .paragraph {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

@media (max-width: 47.9375em) {
  .paragraph--cards .paragraph {
    padding-top: 5px;
    padding-bottom: 5px;
  }
}


.paragraph--program-group .accordion {
  margin-top: 20px;
}

.paragraph--program-group .accordion.field--programs .accordion__content {
  border: 0;
}

.paragraph--program-group .accordion .programs td {
  padding: 0;
}

.paragraph--program-group .accordion .programs td .program:after {
  content: '';
  display: table;
  clear: both;
}

.paragraph--program-group .accordion .programs td .program > * {
  padding: 15px 25px;
}

.paragraph--program-group .accordion .programs td .program .field--program-curriculum {
  border-left: 1px solid #d3d3d3;
  float: right;
  width: 100px;
}

.paragraph--program-group .accordion .programs td .program .title {
  float: left;
}

.paragraph--program-group .accordion .programs td .program .title .suffix {
  margin-left: -4px;
}


.paragraph--person h3 {
  margin-bottom: 0;
}

.paragraph--person .field--person-email,
.paragraph--person .field--person-phone {
  padding-left: 25px;
  margin-top: 5px;
}

.paragraph--person .field--person-email:before,
.paragraph--person .field--person-phone:before {
  width: 17px;
  top: 2px;
}


.paragraph--collapsible_links .field--intro {
  padding-bottom: 20px;
}

.paragraph--collapsible_links .field--collapsible-links {
  margin-top: 20px;
}

.paragraph--collapsible_links .accordion .accordion__content {
  max-height: 300px;
  position: absolute;
  overflow: scroll;
  width: 100%;
  z-index: 2;
}


#ncaa-sports h2 {
  background: url("../images/ncaa-sports.png") no-repeat left center;
  background-size: auto 100%;
  overflow: hidden;
  text-indent: -9999em;
}


.paragraph.dav-program-search-mini {
  color: #fff;
}

.paragraph.dav-program-search-mini .feature__text h2, .paragraph.dav-program-search-mini .feature__text h3, .paragraph.dav-program-search-mini .feature__text h4, .paragraph.dav-program-search-mini .feature__text a {
  color: #fff;
}

.paragraph.dav-program-search-mini form {
  margin-top: 10px;
  margin-bottom: 40px;
}


@media (min-width: 48em) {
  #more-than-a-major-more-than-a-degree .feature__image {
    float: right;
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  #more-than-a-major-more-than-a-degree .feature__text {
    float: left;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}

@media (min-width: 78.75em) {
  #more-than-a-major-more-than-a-degree .feature__text {
    padding-left: calc(50vw - 1200px / 2);
    padding-right: 75px;
  }
}

@media (min-width: 93.75em) {
  #more-than-a-major-more-than-a-degree .feature__text {
    padding-left: calc(50vw - 1390px / 2);
    padding-right: 75px;
  }
}


@media (min-width: 48em) {
  #what-our-alumni-are-saying .feature__image:before {
    content: "";
    background-image: url("../images/quote.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto;
    opacity: 0.25;
    position: absolute;
    top: 0;
    right: 0;
    width: 280px;
    height: 222px;
    z-index: 2;
  }
}

@media (min-width: 78.75em) {
  #what-our-alumni-are-saying .feature__image:before {
    right: -25px;
    width: 320px;
    height: 252px;
  }
}


.field--application-audience {
  margin-top: 40px;
}

.field--apply-checklist-title,
.field--apply-audience-title,
.field--apply-links-title {
  color: #222222;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
}

@media (min-width: 48em) {
  .field--apply-checklist-title,
  .field--apply-audience-title,
  .field--apply-links-title {
    margin-top: 44px;
    margin-bottom: 15px;
  }
}

@media (max-width: 47.9375em) {
  .field--apply-checklist-title,
  .field--apply-audience-title,
  .field--apply-links-title {
    margin-top: 25px;
    margin-bottom: 5px;
  }
}

.field--apply-checklist {
  border-bottom: 1px solid #d3d3d3;
  margin-top: 20px;
}

@media (min-width: 48em) {
  .field--apply-checklist {
    -webkit-columns: 2;
            columns: 2;
    -webkit-column-gap: 25px;
            column-gap: 25px;
    padding-bottom: 75px;
    margin-bottom: 75px;
  }
}

@media (max-width: 47.9375em) {
  .field--apply-checklist {
    padding-bottom: 33.3333333333px;
    margin-bottom: 33.3333333333px;
  }
}

@media (min-width: 48em) {
  .has-sidebar .field--apply-checklist {
    padding-bottom: 50px;
    margin-bottom: 50px;
  }
}

.field--apply-checklist .field__item,
.field--apply-steps ul li {
  background-image: url("../images/checkmark.png");
  background-repeat: no-repeat;
  background-position: top 5px left;
  background-size: 16px auto;
  color: #525252;
  list-style-type: none;
  margin-bottom: 13.3333333333px;
  padding-left: 25px;
}

.field--apply-steps *:last-child {
  margin-bottom: 0;
}

.field--apply-steps ul {
  padding-left: 0;
}

.field--apply-audience .field--apply-audience {
  color: #e12f22;
  font-weight: 500;
  line-height: 1.3;
  margin-bottom: 20px;
}

@media (min-width: 48em) {
  .field--apply-audience .field--apply-audience {
    font-size: 36px;
  }
}

@media (max-width: 47.9375em) {
  .field--apply-audience .field--apply-audience {
    font-size: 30px;
  }
}

@media (min-width: 48em) {
  .field--apply-audience .field--apply-audience {
    margin-top: 36px;
  }
}

@media (max-width: 47.9375em) {
  .field--apply-audience .field--apply-audience {
    margin-top: 20px;
  }
}

.apply:after {
  content: '';
  display: table;
  clear: both;
}

.apply .apply__left {
  background: #ebeced;
}

.apply .apply__right {
  background: #e12f22;
  color: #fff;
}

.apply .apply__right h3, .apply .apply__right h4, .apply .apply__right a, .apply .apply__right .field--apply-links-title {
  color: #fff;
}

.apply .apply__right h3, .apply .apply__right h4, .apply .apply__right .field--apply-links-title {
  margin-top: 0;
}

.apply .apply__right h3 {
  margin-bottom: 5px;
}

.apply .apply__right h4 {
  margin-bottom: 20px;
}

.apply .apply__right .field--apply-resource-link a {
  border: none;
  -webkit-transition: background 0.25s ease;
  transition: background 0.25s ease;
  background: #222222;
  color: #fff;
  display: inline-block;
  font-weight: 500;
  padding: 15px 50px;
  text-align: center;
  text-decoration: none;
}

.apply .apply__right .field--apply-resource-link a:hover, .apply .apply__right .field--apply-resource-link a:focus {
  background: #000;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 29.9375em) {
  .apply .apply__right .field--apply-resource-link a {
    display: block;
    width: 100%;
  }
}

.apply .apply__right .field--apply-links .field__item {
  margin-bottom: 15px;
}

.apply .apply__right .field--apply-links a {
  border: none;
  display: inline-block;
  font-weight: 700;
  text-decoration: none;
  vertical-align: middle;
  color: #fff;
}

.apply .apply__right .field--apply-links a:after {
  -webkit-transition: margin-left 0.25s ease;
  transition: margin-left 0.25s ease;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  display: inline-block;
  margin-left: 5px;
  width: 15px;
  height: 15px;
  position: relative;
  top: -1px;
  vertical-align: middle;
}

.apply .apply__right .field--apply-links a:hover, .apply .apply__right .field--apply-links a:focus {
  text-decoration: underline;
}

.apply .apply__right .field--apply-links a:hover:after {
  margin-left: 10px;
}

.apply .apply__right .field--apply-links a:hover, .apply .apply__right .field--apply-links a:focus {
  color: #fff;
}

.apply .apply__right .field--apply-links a:after {
  background-image: url("../images/arrow--white.png");
}

.svg .apply .apply__right .field--apply-links a:after {
  background-image: url("../images/arrow--white.svg");
}

.apply .apply__right .field--apply-resource-image {
  width: 205px;
  float: right;
  padding-left: 25px;
}

@media (min-width: 48em) {
  .apply {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .apply .apply__left,
  .apply .apply__right {
    width: 50%;
    float: left;
  }
}

@media (min-width: 67.5em) {
  .apply .apply__left,
  .apply .apply__right {
    padding: 50px;
  }
}

@media (max-width: 67.4375em) {
  .apply .apply__left,
  .apply .apply__right {
    padding: 25px;
  }
  .apply .field--apply-resource-image {
    display: none;
  }
}


.paragraph--contact {
  background: #e12f22;
  color: #fff;
  max-width: 100% !important;
  padding: 0 !important;
}

.paragraph--contact .paragraph__content {
  margin-left: auto;
  margin-right: auto;
  max-width: 1240px;
  min-width: 320px;
  padding-left: 25px;
  padding-right: 25px;
  border-top: 0 !important;
  padding-top: 50px !important;
  padding-bottom: 50px !important;
}

@media (min-width: 93.75em) {
  .paragraph--contact .paragraph__content {
    max-width: 1440px;
  }
}

.paragraph--contact .field--contact-title {
  color: #222222;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
  color: #fff;
  margin-top: 0 !important;
  margin-bottom: 10px !important;
}

@media (min-width: 48em) {
  .paragraph--contact .field--contact-title {
    margin-top: 44px;
    margin-bottom: 15px;
  }
}

@media (max-width: 47.9375em) {
  .paragraph--contact .field--contact-title {
    margin-top: 25px;
    margin-bottom: 5px;
  }
}

.paragraph--contact .field--contact-phone,
.paragraph--contact .field--contact-email,
.paragraph--contact .field--contact-address {
  color: #fff;
  margin-top: 10px;
}

.paragraph--contact .field--contact-phone::before,
.paragraph--contact .field--contact-email::before,
.paragraph--contact .field--contact-address::before {
  margin-top: 2px;
}

.paragraph--contact .field--contact-phone a,
.paragraph--contact .field--contact-email a,
.paragraph--contact .field--contact-address a {
  color: #fff;
}

.paragraph--contact .field--contact-phone:last-child,
.paragraph--contact .field--contact-email:last-child,
.paragraph--contact .field--contact-address:last-child {
  margin-right: 0;
}

.paragraph--contact .field--contact-phone::before {
  background-image: url("../images/mobile--white.png");
  background-size: auto 90%;
}

.svg .paragraph--contact .field--contact-phone::before {
  background-image: url("../images/mobile--white.svg");
}

.paragraph--contact .field--contact-email::before {
  background-image: url("../images/mail--white.png");
  background-size: 100% auto;
}

.svg .paragraph--contact .field--contact-email::before {
  background-image: url("../images/mail--white.svg");
}

.paragraph--contact .field--contact-address p {
  margin: 0;
}

.paragraph--contact .field--contact-address::before {
  background-image: url("../images/location--white.png");
  background-size: auto 85%;
}

.svg .paragraph--contact .field--contact-address::before {
  background-image: url("../images/location--white.svg");
}

@media (min-width: 37.5em) {
  .paragraph--contact .paragraph__content {
    text-align: center;
  }
  .paragraph--contact .field--contact-phone,
  .paragraph--contact .field--contact-email,
  .paragraph--contact .field--contact-address {
    display: inline-block;
    margin: 0 25px;
    text-align: left;
    vertical-align: top;
    margin-top: 0;
  }
}

@media (min-width: 52.5em) {
  .paragraph--contact .paragraph__content {
    text-align: right;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .paragraph--contact .field--contact-title {
    float: left;
    margin-right: auto;
    margin-bottom: 0 !important;
  }
}


.paragraph--webform {
  background: #e12f22;
  color: #fff;
}

.paragraph--webform > .paragraph__content {
  padding: 0 !important;
}

.paragraph--webform > .paragraph__content:after {
  content: '';
  display: table;
  clear: both;
}

.paragraph--webform h2, .paragraph--webform .form-item > label {
  color: #fff;
}

.paragraph--webform .field--webform-image {
  display: none;
}

.paragraph--webform .field--webform {
  padding-left: 25px;
  padding-right: 25px;
}

@media (min-width: 48em) {
  .paragraph--webform .field--webform {
    padding-top: 75px;
    padding-bottom: 75px;
  }
}

@media (max-width: 47.9375em) {
  .paragraph--webform .field--webform {
    padding-top: 33.3333333333px;
    padding-bottom: 33.3333333333px;
  }
}

.paragraph--webform .button--primary {
  border: none;
  -webkit-transition: background 0.25s ease;
  transition: background 0.25s ease;
  background: #222222;
  color: #fff;
  display: inline-block;
  font-weight: 500;
  padding: 15px 50px;
  text-align: center;
  text-decoration: none;
}

.paragraph--webform .button--primary:hover, .paragraph--webform .button--primary:focus {
  background: #000;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 29.9375em) {
  .paragraph--webform .button--primary {
    display: block;
    width: 100%;
  }
}

@media (min-width: 67.5em) {
  .paragraph--webform > .paragraph__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .paragraph--webform .field--webform-image {
    display: block;
    width: 30%;
    float: left;
  }
  .objectfit .paragraph--webform .field--webform-image > div {
    height: 100%;
  }
  .objectfit .paragraph--webform .field--webform-image > div img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    height: 100%;
  }
  .paragraph--webform .field--webform {
    width: 70%;
    float: right;
    padding-left: 50px;
    padding-right: 50px;
  }
}

@media (min-width: 67.5em) and (min-width: 48em) {
  .paragraph--webform .field--webform {
    padding-top: 75px;
    padding-bottom: 75px;
  }
}

@media (min-width: 67.5em) and (max-width: 47.9375em) {
  .paragraph--webform .field--webform {
    padding-top: 33.3333333333px;
    padding-bottom: 33.3333333333px;
  }
}


.paragraph--statistics .field--statistics {
  margin: -12.5px;
}

.paragraph--statistics .field--statistics:after {
  content: '';
  display: table;
  clear: both;
}

.paragraph--statistics .statistic {
  margin: 12.5px;
  height: 200px;
}

.paragraph--statistics .field--headline + .field--statistic {
  margin-top: 0;
}

@media (min-width: 64em) {
  .paragraph--statistics .field--statistics {
    margin: -25px;
  }
  .paragraph--statistics .statistic {
    margin: 25px;
  }
  .paragraph--statistics .field--headline + .field--statistic {
    margin-top: 0;
  }
}

@media (min-width: 37.5em) and (max-width: 47.9375em) {
  .has-sidebar .paragraph--statistics .statistic {
    width: 50%;
    width: calc(50% - 25px);
    float: left;
  }
}

@media (min-width: 64em) {
  .has-sidebar .paragraph--statistics .statistic {
    width: 50%;
    width: calc(50% - 50px);
    float: left;
  }
}

@media (min-width: 37.5em) {
  .no-sidebar .paragraph--statistics .statistic {
    width: 50%;
    width: calc(50% - 25px);
    float: left;
  }
}

@media (min-width: 64em) {
  .no-sidebar .paragraph--statistics .statistic {
    width: 33.33%;
    width: calc(33.33% - 50px);
  }
}


.card p {
  margin: 0;
}

.card a {
  background: #e12f22;
  color: #fff;
  display: block;
  position: relative;
  text-align: center;
  text-decoration: none;
}

.card a .card__title,
.card a b,
.card a strong {
  font-weight: 500;
}

.card a .card__content {
  position: relative;
  z-index: 2;
}

@media (min-width: 48em) {
  .card a {
    font-size: 20px;
    padding: 25px 25px 31.25px;
    min-height: 200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media (max-width: 47.9375em) {
  .card a {
    padding: 16.6666666667px 16.6666666667px 25px;
  }
}

.no-touchevents .card a {
  -webkit-transition: color 0.25s ease;
  transition: color 0.25s ease;
  background: #fff;
  border: 1px solid #d3d3d3;
  color: #222222;
}

.no-touchevents .card a .text--small {
  color: #525252;
}

.no-touchevents .card a:after {
  -webkit-transition: height 0.25s ease;
  transition: height 0.25s ease;
  content: "";
  background: #e12f22;
  position: absolute;
  top: auto;
  bottom: -1px;
  left: -1px;
  right: -1px;
  height: 6px;
}

.no-touchevents .card a:hover, .no-touchevents .card a:focus {
  color: #fff;
}

.no-touchevents .card a:hover .text--small, .no-touchevents .card a:focus .text--small {
  color: #fff;
}

.no-touchevents .card a:hover:after, .no-touchevents .card a:focus:after {
  height: 100%;
  height: calc(100% + 2px);
}

.no-touchevents .card a:focus {
  outline: none;
}

.no-touchevents .card a:focus:after {
  margin-left: 0;
}


.teaser:after {
  content: '';
  display: table;
  clear: both;
}

.teaser h3 a {
  color: #222222;
  text-decoration: none;
  display: inline-block;
  padding-right: 20px;
}

.teaser h3 a:after {
  -webkit-transition: all 0.25s ease;
  transition: all 0.25s ease;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  background-image: url("../images/arrow--black.png");
  display: inline-block;
  margin-left: 5px;
  width: 20px;
  height: 20px;
  position: relative;
  top: -1px;
  vertical-align: middle;
}

.teaser h3 a:hover, .teaser h3 a:focus {
  text-decoration: underline;
}

.teaser h3 a:hover:after {
  margin-left: 10px;
}

.svg .teaser h3 a:after {
  background-image: url("../images/arrow--black.svg");
}

.teaser .links {
  padding-left: 0;
  margin-bottom: 0;
  list-style-type: none;
}

.teaser .node-readmore a,
.teaser .field--link a {
  border: none;
  display: inline-block;
  font-weight: 700;
  text-decoration: none;
  vertical-align: middle;
  color: #e12f22;
}

.teaser .node-readmore a:after,
.teaser .field--link a:after {
  -webkit-transition: margin-left 0.25s ease;
  transition: margin-left 0.25s ease;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  display: inline-block;
  margin-left: 5px;
  width: 15px;
  height: 15px;
  position: relative;
  top: -1px;
  vertical-align: middle;
}

.teaser .node-readmore a:hover, .teaser .node-readmore a:focus,
.teaser .field--link a:hover,
.teaser .field--link a:focus {
  text-decoration: underline;
}

.teaser .node-readmore a:hover:after,
.teaser .field--link a:hover:after {
  margin-left: 10px;
}

.teaser .node-readmore a:hover, .teaser .node-readmore a:focus,
.teaser .field--link a:hover,
.teaser .field--link a:focus {
  color: #e12f22;
}

.teaser .node-readmore a:after,
.teaser .field--link a:after {
  background-image: url("../images/arrow--red.png");
}

.svg .teaser .node-readmore a:after, .svg
.teaser .field--link a:after {
  background-image: url("../images/arrow--red.svg");
}

.teaser + .teaser {
  border-top: 1px solid #d3d3d3;
  margin-top: 50px;
  padding-top: 50px;
}

@media (max-width: 47.9375em) {
  .teaser p {
    margin-bottom: 5px;
  }
}

@media (min-width: 48em) {
  .no-sidebar .teaser h3 {
    margin-top: 0;
  }
  .no-sidebar .teaser .teaser__text,
  .no-sidebar .teaser .teaser__image {
    width: 50%;
    float: left;
  }
  .no-sidebar .teaser .teaser__text {
    padding-left: 25px;
  }
  .no-sidebar .teaser .teaser__image {
    padding-right: 25px;
  }
}

@media (max-width: 47.9375em) {
  .no-sidebar .teaser h3 {
    margin-top: 20px;
  }
  .no-sidebar .teaser .teaser__image {
    margin-bottom: 20px;
  }
}

@media (min-width: 64em) {
  .has-sidebar .teaser h3 {
    margin-top: 0;
  }
  .has-sidebar .teaser .teaser__text,
  .has-sidebar .teaser .teaser__image {
    width: 50%;
    float: left;
  }
  .has-sidebar .teaser .teaser__text {
    padding-left: 25px;
  }
  .has-sidebar .teaser .teaser__image {
    padding-right: 25px;
  }
}

@media (max-width: 63.9375em) {
  .has-sidebar .teaser h3 {
    margin-top: 20px;
  }
  .has-sidebar .teaser .teaser__image {
    margin-bottom: 20px;
  }
}

.paragraph--columns .teaser h3 {
  margin-top: 20px;
}

.paragraph--columns .teaser .teaser__image {
  margin-bottom: 20px;
}

.paragraph--columns .teaser .teaser__text,
.paragraph--columns .teaser .teaser__image {
  width: 100%;
  float: none;
  padding: 0;
}


.news:after {
  content: '';
  display: table;
  clear: both;
}

.news .news__title {
  margin-top: 0;
  margin-bottom: 10px;
}

.news .news__date {
  color: #717375;
  font-size: 14px;
  margin-bottom: 5px;
}

@media (min-width: 30em) {
  .news.has-image .news__image {
    float: left;
    padding-right: 12.5px;
    width: 25%;
  }
  .news.has-image .news__text {
    float: left;
    padding-left: 12.5px;
    width: 75%;
  }
}

@media (max-width: 29.9375em) {
  .news.has-image .news__image {
    margin-bottom: 10px;
  }
}


.event:after {
  content: '';
  display: table;
  clear: both;
}

.event .event__date {
  float: left;
  padding-right: 12.5px;
  width: 85px;
}

.event .event__text {
  float: left;
  padding-left: 12.5px;
  width: calc(100% - 85px);
}

.event .event__title {
  color: #222222;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 16px;
  margin-bottom: 8px;
  margin-top: 0;
  margin-bottom: 5px;
}

.event .event__location {
  background-image: url("../images/location--gray.png");
  background-repeat: no-repeat;
  background-position: top 5px left;
  background-size: 9px auto;
  color: #717375;
  font-size: 14px;
  margin-bottom: 10px;
  padding-left: 15px;
}

.svg .event .event__location {
  background-image: url("../images/location--gray.svg");
}


.announcement {
  background: #525252;
  color: #fff;
  display: none;
  padding-top: 20px;
  padding-bottom: 20px;
  position: relative;
  text-align: center;
}

.announcement * {
  margin: 0;
}

.announcement h2, .announcement h3, .announcement h4, .announcement h5, .announcement a {
  color: #fff;
}

.announcement .announcement__dismiss {
  background-image: url("../images/x--white.png");
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px auto;
  width: 40px;
  height: 40px;
  overflow: hidden;
  text-align: left;
  text-indent: -9999px;
  position: absolute;
  top: 0;
  right: 0;
}

.svg .announcement .announcement__dismiss {
  background-image: url("../images/x--white.svg");
}

.homepage .announcement .announcement__dismiss {
  display: none;
}


.programsearch {
  margin-left: auto;
  margin-right: auto;
  max-width: 1240px;
  min-width: 320px;
  padding-left: 25px;
  padding-right: 25px;
}

@media (min-width: 93.75em) {
  .programsearch {
    max-width: 1440px;
  }
}

.program-search-block {
  position: relative;
  z-index: 2;
}

.program-search-block .search__filters {
  background: #e12f22;
}

.program-search-block .search__filters:after {
  content: '';
  display: table;
  clear: both;
}

@media (min-width: 64em) {
  .program-search-block .search__filters {
    padding: 37.5px 25px 50px;
  }
}

@media (max-width: 63.9375em) {
  .program-search-block .search__filters {
    padding: 25px;
  }
}

@media (min-width: 48em) {
  .program-search-block .search__filters {
    margin-bottom: 50px;
  }
}

@media (max-width: 47.9375em) {
  .program-search-block .search__filters {
    margin-bottom: 33.3333333333px;
  }
}

.program-search-block .search__filters input[type="text"]:focus,
.program-search-block .search__filters .selectboxit-btn.selectboxit-focus {
  outline: 1px dotted #fff;
  outline-offset: 2px;
}

.program-search-block .search__filters .selectboxit-btn.selectboxit-focus.selectboxit-open {
  outline: none;
}

.program-search-block .search__filters .form-item {
  margin: 0;
  padding-left: 12.5px;
  padding-right: 12.5px;
  margin-bottom: 10px;
}

.program-search-block .search__filters .form-item > label,
.program-search-block .search__filters .form-item > .label {
  color: #fff;
  font-size: 18px;
  margin-bottom: 10px;
}

.program-search-block .search__filters .form-item input[type="text"] {
  max-width: 100%;
}

@media (min-width: 67.5em) {
  .program-search-block .search__filters .form-item {
    padding-left: 25px;
    padding-right: 25px;
  }
}

@media (min-width: 64em) {
  .program-search-block .search__filters .form-item {
    float: left;
    width: 25%;
    margin-bottom: 0;
  }
  .program-search-block .search__filters .form-item.filters {
    width: 75%;
  }
}

.program-search-block .search__filters .form-item.filters .form-item {
  padding: 0;
}

.program-search-block .search__filters .form-item.filters .form-item select {
  width: 100%;
}

@media (min-width: 48em) {
  .program-search-block .search__filters .form-item.filters {
    margin-right: -12.5px;
    margin-left: -12.5px;
  }
  .program-search-block .search__filters .form-item.filters > .label {
    padding-left: 12.5px;
  }
  .program-search-block .search__filters .form-item.filters .form-item {
    float: left;
    width: 33.33%;
    padding-left: 12.5px;
    padding-right: 12.5px;
  }
}

@media (min-width: 64em) {
  .program-search-block .search__filters .form-item.filters {
    margin-left: 0;
  }
}

.program-search-block .search__selections {
  color: #525252;
  font-size: 14px;
  margin-bottom: 33.3333333333px;
  margin-top: -25px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  position: relative;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease;
}

.program-search-block .search__selections.visible {
  max-height: 120px;
  opacity: 1;
  overflow: visible;
}

.program-search-block .search__selections button:focus {
  outline: 1px dotted #e12f22;
  outline-offset: 2px;
}

@media (min-width: 37.5em) {
  .program-search-block .search__selections div {
    display: inline-block;
  }
  .program-search-block .search__selections .label,
  .program-search-block .search__selections .selections {
    margin-right: 12.5px;
  }
  .program-search-block .search__selections .filter-selection + .filter-selection {
    margin-left: 12.5px;
  }
}

@media (max-width: 37.4375em) {
  .program-search-block .search__selections .filter-selection {
    display: block;
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .program-search-block .search__selections .clear-filters {
    position: absolute;
    top: 0;
    right: 0;
  }
}

@media (min-width: 67.5em) {
  .program-search-block .search__results .program-result:nth-child(4n+1) {
    clear: left;
  }
}

@media (max-width: 67.4375em) and (min-width: 48em) {
  .program-search-block .search__results .program-result:nth-child(3n+1) {
    clear: left;
  }
}

@media (max-width: 47.9375em) and (min-width: 37.5em) {
  .program-search-block .search__results {
    margin-left: -12.5px;
    margin-right: -12.5px;
  }
  .program-search-block .search__results .program-result {
    padding-left: 12.5px;
    padding-right: 12.5px;
  }
  .program-search-block .search__results .program-result:nth-child(2n+1) {
    clear: left;
  }
}

@media (min-width: 37.5em) {
  .flexbox .program-search-block .search__results {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .flexbox .program-search-block .search__results .card {
    height: 100%;
  }
  .flexbox .program-search-block .search__results .card .card__link {
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.filter-selection {
  background-image: url("../images/x.png");
  background-position: left center;
  background-repeat: no-repeat;
  background-size: 12px auto;
  cursor: pointer;
  padding-left: 17px;
}

.svg .filter-selection {
  background-image: url("../images/x.svg");
}

.filter-selection:hover, .filter-selection:focus {
  text-decoration: underline;
}

.clear-filters {
  color: #e12f22;
  cursor: pointer;
  font-weight: 500;
  text-decoration: underline;
}

.clear-filters:hover, .clear-filters:focus {
  color: #525252;
  text-decoration: none;
}


.search-api-autocomplete-search {
  background: #fff;
  border: 1px solid #d3d3d3;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.35);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.35);
}

.search-api-autocomplete-search .ui-menu-item {
  padding: 0 10px;
}

.search-api-autocomplete-search .ui-menu-item:hover {
  background: transparent;
}

.search-api-autocomplete-search .ui-menu-item a {
  border-top: 1px solid #d3d3d3;
  display: block;
  padding: 10px;
}

.search-api-autocomplete-search .ui-menu-item a:hover, .search-api-autocomplete-search .ui-menu-item a:focus, .search-api-autocomplete-search .ui-menu-item a.ui-state-active {
  background: transparent;
  color: #223983;
}

.search-api-autocomplete-search .ui-menu-item a:hover .search-api-autocomplete-suggestion, .search-api-autocomplete-search .ui-menu-item a:focus .search-api-autocomplete-suggestion, .search-api-autocomplete-search .ui-menu-item a.ui-state-active .search-api-autocomplete-suggestion {
  background: transparent;
  color: #4b69cb;
}

.search-api-autocomplete-search .ui-menu-item a .search-api-autocomplete-suggestion {
  padding: 0;
}

.search-api-autocomplete-search .ui-menu-item:first-child a {
  border-top: 0;
}



.form-item {
  margin: 20px 0;
  
  
  
}

.form-checkboxes .form-item,
.form-radios .form-item {
  
  margin: 0;
}

tr.odd .form-item,
tr.even .form-item {
  margin: 0;
}

.form-item label,
.form-item .label {
  
  display: block;
  font-size: 14px;
  font-weight: 500;
  margin: 0 0 0 0;
}

.form-item .description {
  font-size: 12px;
  margin-top: 4px;
}

label.form-required {
  
}

label.form-required:after {
  content: "*";
  color: #e12f22;
  position: relative;
  top: -2px;
}


.webform-submission-form > *:first-child {
  margin-top: 0;
}

.webform-submission-form .form-actions {
  margin-top: 30px;
}


div.form-wrapper:not(.form-actions):after,
.webform-section-wrapper:after {
  content: '';
  display: table;
  clear: both;
}

div.form-wrapper:not(.form-actions) .form-item:last-child,
.webform-section-wrapper .form-item:last-child {
  margin-bottom: 0;
}

@media (min-width: 67.5em) {
  div.form-wrapper:not(.form-actions) .form-item:not(.js-form-type-textarea):nth-child(odd),
  .webform-section-wrapper .form-item:not(.js-form-type-textarea):nth-child(odd) {
    padding-right: 25px;
  }
}

@media (max-width: 67.4375em) and (min-width: 48em) {
  div.form-wrapper:not(.form-actions) .form-item:not(.js-form-type-textarea):nth-child(odd),
  .webform-section-wrapper .form-item:not(.js-form-type-textarea):nth-child(odd) {
    padding-right: 12.5px;
  }
}

@media (min-width: 67.5em) {
  div.form-wrapper:not(.form-actions) .form-item:not(.js-form-type-textarea):nth-child(even),
  .webform-section-wrapper .form-item:not(.js-form-type-textarea):nth-child(even) {
    padding-left: 25px;
  }
}

@media (max-width: 67.4375em) and (min-width: 48em) {
  div.form-wrapper:not(.form-actions) .form-item:not(.js-form-type-textarea):nth-child(even),
  .webform-section-wrapper .form-item:not(.js-form-type-textarea):nth-child(even) {
    padding-left: 12.5px;
  }
}

@media (min-width: 48em) {
  div.form-wrapper:not(.form-actions) .form-item,
  .webform-section-wrapper .form-item {
    float: left;
    margin-top: 15px;
    margin-bottom: 15px;
  }
  div.form-wrapper:not(.form-actions) .form-item:not(.js-form-type-textarea),
  .webform-section-wrapper .form-item:not(.js-form-type-textarea) {
    width: 50%;
  }
  div.form-wrapper:not(.form-actions) .form-item:not(.js-form-type-textarea):nth-child(odd),
  .webform-section-wrapper .form-item:not(.js-form-type-textarea):nth-child(odd) {
    clear: left;
  }
  div.form-wrapper:not(.form-actions) .form-item.js-form-type-textarea,
  .webform-section-wrapper .form-item.js-form-type-textarea {
    clear: left;
    width: 100%;
  }
  div.form-wrapper:not(.form-actions) .form-item.webform-type-radios .form-item, div.form-wrapper:not(.form-actions) .form-item.webform-type-checkboxes .form-item,
  .webform-section-wrapper .form-item.webform-type-radios .form-item,
  .webform-section-wrapper .form-item.webform-type-checkboxes .form-item {
    width: 100%;
    float: none;
    padding: 0;
  }
}


.webform-section + .webform-section {
  border-top: 1px solid #d3d3d3;
  margin-top: 40px;
}

@media (min-width: 48em) {
  .webform-section + .webform-section {
    padding-top: 40px;
  }
}

@media (max-width: 47.9375em) {
  .webform-section + .webform-section {
    padding-top: 33.3333333333px;
  }
}

.webform-section .webform-section-title {
  color: #e12f22;
}


fieldset.webform-type-radios legend,
fieldset.webform-type-checkboxes legend {
  font-size: 14px;
  font-weight: 500;
  margin: 0 0 0 0;
}

fieldset.webform-type-radios .form-item,
fieldset.webform-type-checkboxes .form-item {
  margin-top: 10px;
  margin-bottom: 10px;
}

fieldset.webform-type-radios .form-item label,
fieldset.webform-type-checkboxes .form-item label {
  color: #525252;
  font-size: 15px;
}

fieldset.webform-type-radios .form-item:last-child,
fieldset.webform-type-checkboxes .form-item:last-child {
  margin-bottom: 0;
}


.form-item-text-optin input[type="checkbox"] + label {
  color: #e12f22;
  font-style: italic;
  font-weight: 500;
}


form.dav-program-search-mini {
  position: relative;
}

form.dav-program-search-mini label {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
}

form.dav-program-search-mini input[type="submit"] {
  position: absolute;
  top: 7px;
  right: 7px;
  padding: 8px 15px;
}

form.dav-program-search-mini .form-item {
  margin: 0;
}

form.dav-program-search-mini .form-text {
  padding-right: 100px;
  height: 50px;
  line-height: 50px;
}


header {
  background: #fff;
  position: relative;
}

header li {
  margin-bottom: 0;
}

header a {
  display: block;
  text-decoration: none;
}

header a:focus {
  outline: none;
}

@media (min-width: 67.5em) {
  header {
    padding-top: 50px;
  }
  header ul li {
    display: inline-block;
  }
  header nav > ul > li {
    margin-right: -4px;
  }
  header nav > ul > li:last-child {
    margin-right: 0;
  }
}


@media (min-width: 67.5em) {
  #top-nav {
    background: #e12f22;
    color: #fff;
    height: 50px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
  }
  #top-nav:after {
    content: '';
    display: table;
    clear: both;
  }
  #top-nav a {
    color: #fff;
    font-size: 13px;
  }
  #top-nav a:hover, #top-nav a:focus {
    text-decoration: underline;
  }
  #top-nav .region--secondary-menu {
    float: left;
    margin-left: -12.5px;
  }
  #top-nav .region--secondary-menu li {
    padding: 12.5px;
  }
  #top-nav .region--secondary-menu a {
    padding-top: 1px;
  }
  #top-nav .region--tertiary-menu {
    float: right;
    margin-right: -5px;
  }
  #top-nav .region--tertiary-menu li {
    padding: 6.25px 5px;
  }
  #top-nav .region--tertiary-menu a {
    background: #bf281d;
    padding: 8px 25px;
  }
  #top-nav .region--tertiary-menu a:hover, #top-nav .region--tertiary-menu a:focus {
    background: #222222;
    text-decoration: none;
  }
}

@media (min-width: 67.5em) and (min-width: 67.5em) {
  #top-nav .region--tertiary-menu {
    padding-right: 125px;
  }
}



#logo {
  background-image: url("../images/logo.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  border-bottom: 6px solid #fff;
  float: left;
  margin-top: 6px;
}

.svg #logo {
  background-image: url("../images/logo.svg");
}

#logo:focus {
  border-bottom: 6px solid #e12f22;
}

@media (max-width: 67.4375em) {
  #logo {
    width: 150px;
    height: 59px;
  }
}

@media (min-width: 67.5em) {
  #logo {
    width: 200px;
    height: 80px;
  }
}

.region--primary-menu {
  position: relative;
}

@media (min-width: 67.5em) {
  .region--primary-menu {
    float: right;
    margin-right: -25px;
  }
  .region--primary-menu .back-link {
    display: none;
  }
  .region--primary-menu ul li {
    padding: 0 25px;
    position: relative;
  }
  .region--primary-menu ul li a {
    border-bottom: 6px solid #fff;
    color: #222222;
    font-weight: 500;
    padding: 30px 0 25px;
  }
  .region--primary-menu ul li a:focus {
    border-bottom-color: #e12f22;
  }
  .region--primary-menu ul li ul {
    background: #fff;
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.35);
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.35);
    display: none;
    position: absolute;
    width: 250px;
    z-index: 20;
  }
  .region--primary-menu ul li ul.columns {
    -webkit-columns: 2;
            columns: 2;
    -webkit-column-gap: 0;
            column-gap: 0;
    width: 800px;
    margin-left: -360px;
  }
  .region--primary-menu ul li ul.columns > li {
    -webkit-column-break-inside: avoid;
            break-inside: avoid;
  }
  .region--primary-menu ul li ul li {
    display: block;
    padding: 0 10px;
    position: relative;
    margin-right: 0;
  }
  .region--primary-menu ul li ul li a {
    border-bottom: 1px solid #d3d3d3;
    font-size: 14px;
    padding: 10px;
  }
  .region--primary-menu ul li ul li a:hover, .region--primary-menu ul li ul li a:focus {
    color: #4b69cb;
  }
  .region--primary-menu ul li ul li a:focus {
    border-bottom-color: #d3d3d3;
    padding-left: 25px;
  }
  .region--primary-menu ul li ul li > .region--primary-menu ul li ul li:last-child > a {
    border-bottom: none;
  }
  .region--primary-menu ul li ul li.menu-item--expanded > a:not(.toggle-submenu):after {
    content: "";
    background-image: url("../images/triangle--right.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% auto;
    width: 4px;
    height: 24px;
    float: right;
  }
  .region--primary-menu ul li ul li a.toggle-submenu {
    padding: 10px 20px;
    pointer-events: none;
    position: absolute;
    top: 0;
    right: 0;
  }
  .region--primary-menu ul li ul li ul {
    display: none;
    top: 0;
    left: 250px;
  }
  .region--primary-menu ul li ul li ul a:hover, .region--primary-menu ul li ul li ul a:focus {
    color: #4b69cb;
  }
  .region--primary-menu ul li ul li:hover > ul, .region--primary-menu ul li ul li:focus > ul, .region--primary-menu ul li ul li.js-show-submenu > ul {
    display: block;
  }
  .region--primary-menu ul li:hover > ul, .region--primary-menu ul li:focus > ul, .region--primary-menu ul li.menu-open > ul, .region--primary-menu ul li.js-show-submenu > ul {
    display: block;
  }
  .region--primary-menu ul li.js-hide-submenu > ul {
    display: none;
  }
  .region--primary-menu > nav > ul > li:hover > a, .region--primary-menu > nav > ul > li:focus > a, .region--primary-menu > nav > ul > li.menu-item--active-trail > a, .region--primary-menu > nav > ul > li.js-show-submenu > a {
    border-bottom-color: #e12f22;
  }
  .region--primary-menu > nav > ul > li:nth-child(4) > ul, .region--primary-menu > nav > ul > li:nth-child(5) > ul, .region--primary-menu > nav > ul > li:nth-child(6) > ul, .region--primary-menu > nav > ul > li:last-child > ul {
    right: 25px;
  }
  .region--primary-menu > nav > ul > li:nth-child(4) > ul > li.menu-item--expanded > a:not(.toggle-submenu):after, .region--primary-menu > nav > ul > li:nth-child(5) > ul > li.menu-item--expanded > a:not(.toggle-submenu):after, .region--primary-menu > nav > ul > li:nth-child(6) > ul > li.menu-item--expanded > a:not(.toggle-submenu):after, .region--primary-menu > nav > ul > li:last-child > ul > li.menu-item--expanded > a:not(.toggle-submenu):after {
    background-image: url("../images/triangle--left.png");
    float: none;
    position: absolute;
    left: 8px;
  }
  .region--primary-menu > nav > ul > li:nth-child(4) > ul > li ul, .region--primary-menu > nav > ul > li:nth-child(5) > ul > li ul, .region--primary-menu > nav > ul > li:nth-child(6) > ul > li ul, .region--primary-menu > nav > ul > li:last-child > ul > li ul {
    left: auto;
    right: 250px;
  }
}


.nav-button {
  background: transparent;
  color: #222222;
  display: block;
  float: right;
  width: 65px;
  height: 65px;
  padding: 0;
}

.nav-button .nav-button-label {
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  font-size: 10px;
  opacity: 0;
  text-transform: uppercase;
}

.nav-button:hover, .nav-button:focus {
  background: transparent;
}

.nav-button:hover .nav-button-label, .nav-button:focus .nav-button-label {
  opacity: 1;
}

#toggle-menu {
  background: #e12f22;
  color: #fff;
}

#toggle-menu .menu-icon {
  -webkit-transition: padding 0.25s ease;
  transition: padding 0.25s ease;
  padding: 24px 20px 0;
}

#toggle-menu .bar {
  background: #fff;
  display: block;
  width: 100%;
  height: 3px;
}

#toggle-menu .bar + .bar {
  margin-top: 4px;
}

#toggle-menu:hover .menu-icon, #toggle-menu:focus .menu-icon {
  padding: 10px 20px 0;
}

@media (min-width: 67.5em) {
  #toggle-menu {
    display: none;
  }
}

#toggle-search {
  -webkit-transition: all 0.25s ease;
  transition: all 0.25s ease;
  border-left: 1px solid #d3d3d3;
  padding-top: 17px;
}

#toggle-search .nav-button-label {
  color: #222222;
}

#toggle-search .search-icon {
  position: relative;
  top: 2px;
}

#toggle-search .search-icon:before {
  content: "";
  display: block;
  background-image: url("../images/search.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 23px;
  height: 23px;
  margin: 0 auto;
}

@media (min-width: 67.5em) {
  #toggle-search .search-icon:before {
    background-image: url("../images/search--white.png");
  }
}

#toggle-search:hover, #toggle-search:focus {
  padding-top: 2px;
}

.svg #toggle-search .search-icon:before {
  background-image: url("../images/search.svg");
}

@media (min-width: 67.5em) {
  .svg #toggle-search .search-icon:before {
    background-image: url("../images/search--white.svg");
  }
}

@media (min-width: 67.5em) {
  #toggle-search {
    position: relative;
    top: -50px;
    z-index: 5;
    width: 115px;
    height: auto;
    margin-left: -120px;
    margin-top: 6px;
    margin-bottom: 5px;
    background: #bf281d;
    border: 0;
    padding: 8px 25px;
  }
  #toggle-search:hover, #toggle-search:focus {
    background: #222222;
    text-decoration: none;
    padding-top: 8px;
  }
  #toggle-search .search-icon {
    float: left;
  }
  #toggle-search .search-icon:before {
    width: 14px;
    height: 14px;
  }
  #toggle-search .nav-button-label {
    opacity: 1;
    font-size: 13px;
    text-transform: none;
    color: #fff;
    float: left;
    margin-left: 5px;
  }
}

@media (max-width: 67.4375em) {
  header > .container {
    padding-left: 0;
    padding-right: 0;
  }
  #navigation {
    border-left: 1px solid #d3d3d3;
    clear: both;
    display: none;
    position: absolute;
    top: 0;
    right: -300px;
    right: calc(-100% + 65px);
    width: 300px;
    width: calc(100% - 65px);
    height: 100vh;
  }
  #top-nav .container {
    padding-left: 0;
    padding-right: 0;
  }
  #logo {
    margin-left: 25px;
  }
  .region--primary-menu a,
  .region--secondary-menu a {
    border-top: 1px solid #d3d3d3;
    color: #222222;
    padding: 10px 25px;
  }
  .region--primary-menu a:not(.toggle-submenu):hover, .region--primary-menu a:not(.toggle-submenu):focus,
  .region--secondary-menu a:not(.toggle-submenu):hover,
  .region--secondary-menu a:not(.toggle-submenu):focus {
    color: #e12f22;
    padding-left: 50px;
  }
  .region--primary-menu a.back-link,
  .region--secondary-menu a.back-link {
    border-top: none;
    font-weight: 500;
  }
  .region--primary-menu a.back-link:before,
  .region--secondary-menu a.back-link:before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    content: "\25BE";
    color: #e12f22;
    display: inline-block;
    margin-right: 4px;
  }
  .region--primary-menu li.menu-item--expanded,
  .region--secondary-menu li.menu-item--expanded {
    position: static;
  }
  .region--primary-menu li.menu-item--expanded > a:not(.toggle-submenu),
  .region--secondary-menu li.menu-item--expanded > a:not(.toggle-submenu) {
    padding-right: 40px;
  }
  .region--primary-menu li.menu-item--expanded .toggle-submenu,
  .region--secondary-menu li.menu-item--expanded .toggle-submenu {
    display: block;
    position: absolute;
    right: 0;
  }
  .region--primary-menu li.menu-item--expanded .toggle-submenu:hover, .region--primary-menu li.menu-item--expanded .toggle-submenu:focus,
  .region--secondary-menu li.menu-item--expanded .toggle-submenu:hover,
  .region--secondary-menu li.menu-item--expanded .toggle-submenu:focus {
    background-color: #e12f22;
  }
  .region--primary-menu li.menu-item--expanded .toggle-submenu:hover:after, .region--primary-menu li.menu-item--expanded .toggle-submenu:focus:after,
  .region--secondary-menu li.menu-item--expanded .toggle-submenu:hover:after,
  .region--secondary-menu li.menu-item--expanded .toggle-submenu:focus:after {
    color: #fff;
  }
  .region--primary-menu li.menu-item--expanded > ul,
  .region--secondary-menu li.menu-item--expanded > ul {
    -webkit-transition: width 0.25s ease;
    transition: width 0.25s ease;
    background: #fff;
    position: absolute;
    top: 0;
    right: 0;
    width: 0;
    height: 100vh;
    z-index: 150;
    overflow: hidden;
    display: none;
  }
  .region--primary-menu li.menu-item--expanded > ul.js-hide,
  .region--secondary-menu li.menu-item--expanded > ul.js-hide {
    display: none !important;
    width: 0 !important;
  }
  .region--primary-menu li.menu-item--expanded.menu-open > ul,
  .region--secondary-menu li.menu-item--expanded.menu-open > ul {
    display: block;
    width: 100%;
  }
  .region--primary-menu a {
    font-weight: 500;
  }
  .region--primary-menu > nav > ul > li:first-child > a {
    border-top: none;
  }
  .region--tertiary-menu li {
    padding: 5px 25px;
  }
  .region--tertiary-menu a {
    border: none;
    -webkit-transition: background 0.25s ease;
    transition: background 0.25s ease;
    background: #e12f22;
    color: #fff;
    display: inline-block;
    font-weight: 500;
    padding: 15px 50px;
    text-align: center;
    text-decoration: none;
    display: block;
  }
  .region--tertiary-menu a:hover, .region--tertiary-menu a:focus {
    background: #bf281d;
    color: #fff;
    text-decoration: none;
  }
}

@media (max-width: 67.4375em) and (max-width: 29.9375em) {
  .region--tertiary-menu a {
    display: block;
    width: 100%;
  }
}

@media (max-width: 67.4375em) {
  .show-nav {
    left: -300px;
    left: calc(-100% + 65px);
  }
  .show-nav #navigation {
    display: block;
  }
}

#search-dropdown {
  -webkit-transition: max-height 0.25s ease;
  transition: max-height 0.25s ease;
  background: #717375;
  position: absolute;
  width: 100%;
  max-height: 0;
  z-index: 99;
  overflow: hidden;
}

#search-dropdown .search__dismiss {
  background-image: url("../images/x--white.png");
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 18px auto;
  width: 40px;
  height: 40px;
  overflow: hidden;
  text-align: left;
  text-indent: -9999px;
  position: absolute;
  top: 0;
  right: 0;
}

.svg #search-dropdown .search__dismiss {
  background-image: url("../images/x--white.svg");
}

#search-dropdown .region {
  margin-left: auto;
  margin-right: auto;
  max-width: 1240px;
  min-width: 320px;
  padding-left: 25px;
  padding-right: 25px;
  padding-top: 75px;
  padding-bottom: 75px;
}

@media (min-width: 93.75em) {
  #search-dropdown .region {
    max-width: 1440px;
  }
}

#search-dropdown form {
  position: relative;
}

#search-dropdown .form-item {
  margin: 0;
  position: relative;
}

#search-dropdown .form-item label {
  -webkit-transition: opacity 0.25s ease;
  transition: opacity 0.25s ease;
  font-size: 1rem;
  font-weight: 300;
  pointer-events: none;
  color: #fff;
  position: absolute;
  left: 25px;
  bottom: 10px;
}

#search-dropdown .form-item:focus-within label, #search-dropdown .form-item.filled label {
  opacity: 0;
}

#search-dropdown .form-text {
  background-image: url("../images/search--white.png");
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: left center;
  background-size: 18px auto;
  color: #fff;
  border: 0;
  border-bottom: 1px solid #fff;
  max-width: 100%;
  font-size: 1rem;
  font-weight: 300;
  padding-left: 25px;
  padding-right: 170px;
}

.svg #search-dropdown .form-text {
  background-image: url("../images/search--white.svg");
}

#search-dropdown .form-submit {
  background: #222222;
  width: 100%;
  margin-top: 10px;
}

#search-dropdown .form-submit:hover, #search-dropdown .form-submit:focus {
  background: #e12f22;
}

.show-search #search-dropdown {
  max-height: 250px;
}

@media (min-width: 48em) {
  #search-dropdown .form-text,
  #search-dropdown .form-item label {
    font-size: 40px;
  }
  #search-dropdown .form-text {
    background-size: 36px auto;
    padding-left: 50px;
  }
  #search-dropdown .form-item label {
    left: 50px;
    bottom: 6px;
  }
  #search-dropdown .form-submit {
    position: absolute;
    bottom: 12px;
    right: 0;
    width: auto;
    margin-top: 0;
  }
}

#footer {
  background: #222222;
  color: #a7a7a7;
  font-size: 14px;
  
  
}

#footer a:not(.button--primary) {
  color: #a7a7a7;
}

#footer a:not(.button--primary):hover, #footer a:not(.button--primary):focus {
  color: #fff;
  text-decoration: underline;
}

#footer .button--primary {
  margin-top: 20px;
}

#footer ul {
  list-style-type: none;
  margin: 0;
  padding-left: 0;
}

#footer ul a {
  text-decoration: none;
}

#footer h2 {
  color: #222222;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
  color: #fff;
}

@media (min-width: 48em) {
  #footer h2 {
    margin-top: 36px;
    margin-bottom: 15px;
  }
}

@media (max-width: 47.9375em) {
  #footer h2 {
    margin-top: 25px;
    margin-bottom: 5px;
  }
}

#footer .footer__top {
  padding-top: 50px;
  padding-bottom: 50px;
}

#footer .footer__top .region--footer > *:first-child h2 {
  margin-top: 0;
}

@media (min-width: 52.5em) {
  #footer .footer__top .region--footer > *.departments {
    width: 50%;
  }
  #footer .footer__top .region--footer > *.departments ul {
    -webkit-columns: 2;
            columns: 2;
    -webkit-column-gap: 25px;
            column-gap: 25px;
  }
  #footer .footer__top .region--footer > *.departments ul li {
    -webkit-column-break-inside: avoid;
            break-inside: avoid;
  }
}

@media (max-width: 47.9375em) and (min-width: 30em) {
  #footer .footer__top .region--footer > *.departments ul, #footer .footer__top .region--footer > *.resources ul {
    -webkit-columns: 2;
            columns: 2;
    -webkit-column-gap: 25px;
            column-gap: 25px;
  }
  #footer .footer__top .region--footer > *.departments ul li, #footer .footer__top .region--footer > *.resources ul li {
    -webkit-column-break-inside: avoid;
            break-inside: avoid;
  }
}

#footer .footer__bottom {
  border-top: 1px solid #404040;
  padding-top: 25px;
  padding-bottom: 25px;
}

@media (min-width: 48em) {
  #footer .footer__bottom {
    padding-bottom: 0;
  }
}

#footer .footer__bottom .region--footer-bottom a {
  text-decoration: underline;
}

#footer .footer__bottom .region--footer-bottom p {
  margin-bottom: 0;
}

#footer .footer__bottom .region--footer-bottom p + p {
  margin-top: 10px;
}

#footer .footer__bottom .region--footer-bottom ul li {
  display: inline-block;
}

#footer .footer__bottom .region--footer-bottom ul li + li:before {
  content: "|";
  display: inline-block;
  margin-left: 3px;
  margin-right: 3px;
}

#footer .contact:not(.contact--button) {
  color: #a7a7a7;
  font-weight: 300;
}

#footer .contact:not(.contact--button).contact--phone:before {
  background-image: url("../images/mobile--white.png");
}

#footer .contact:not(.contact--button).contact--email:before {
  background-image: url("../images/mail--white.png");
  background-size: 100% auto;
}

#footer .contact:not(.contact--button).contact--address:before {
  background-image: url("../images/location--white.png");
}

#footer .contact:not(.contact--button).contact--chat:before {
  background-image: url("../images/chat--white.png");
}

#footer .contact:not(.contact--button).contact--chat .chat__status {
  color: #a7a7a7;
  margin-left: 5px;
}

.svg #footer .contact:not(.contact--button).contact--phone:before {
  background-image: url("../images/mobile--white.svg");
}

.svg #footer .contact:not(.contact--button).contact--email:before {
  background-image: url("../images/mail--white.svg");
}

.svg #footer .contact:not(.contact--button).contact--location:before {
  background-image: url("../images/location--white.svg");
}

.svg #footer .contact:not(.contact--button).contact--chat:before {
  background-image: url("../images/chat--white.svg");
}

#footer .socialmedia li {
  display: inline-block;
  margin-right: 10px;
}

#footer .socialmedia li:last-child {
  margin-right: 0;
}

#footer .socialmedia li a {
  border: none;
  display: inline-block;
  font-weight: 700;
  text-decoration: none;
  vertical-align: middle;
  color: #e12f22;
  color: #a7a7a7;
  width: auto;
  height: auto;
  padding: 10px 5px;
  text-indent: 0;
}

#footer .socialmedia li a:after {
  -webkit-transition: margin-left 0.25s ease;
  transition: margin-left 0.25s ease;
  content: "";
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% auto;
  display: inline-block;
  margin-left: 5px;
  width: 15px;
  height: 15px;
  position: relative;
  top: -1px;
  vertical-align: middle;
}

#footer .socialmedia li a:hover, #footer .socialmedia li a:focus {
  text-decoration: underline;
}

#footer .socialmedia li a:hover:after {
  margin-left: 10px;
}

#footer .socialmedia li a:hover, #footer .socialmedia li a:focus {
  color: #e12f22;
}

#footer .socialmedia li a:after {
  background-image: url("../images/arrow--red.png");
}

.svg #footer .socialmedia li a:after {
  background-image: url("../images/arrow--red.svg");
}

#footer .socialmedia li a:hover, #footer .socialmedia li a:focus {
  background-color: transparent;
  color: #a7a7a7;
}

#footer .socialmedia li a:after {
  background-image: url("../images/arrow--gray.png");
}

#footer .socialmedia li a[href*="facebook.com"], #footer .socialmedia li a[href*="twitter.com"], #footer .socialmedia li a[href*="youtube.com"], #footer .socialmedia li a[href*="instagram.com"], #footer .socialmedia li a[href*="flickr.com"] {
  background-position: center;
  background-repeat: no-repeat;
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 15px;
  padding: 10px;
  overflow: hidden;
  text-indent: -9999em;
}

#footer .socialmedia li a[href*="facebook.com"]:after, #footer .socialmedia li a[href*="twitter.com"]:after, #footer .socialmedia li a[href*="youtube.com"]:after, #footer .socialmedia li a[href*="instagram.com"]:after, #footer .socialmedia li a[href*="flickr.com"]:after {
  display: none;
}

#footer .socialmedia li a[href*="facebook.com"]:hover, #footer .socialmedia li a[href*="facebook.com"]:focus, #footer .socialmedia li a[href*="twitter.com"]:hover, #footer .socialmedia li a[href*="twitter.com"]:focus, #footer .socialmedia li a[href*="youtube.com"]:hover, #footer .socialmedia li a[href*="youtube.com"]:focus, #footer .socialmedia li a[href*="instagram.com"]:hover, #footer .socialmedia li a[href*="instagram.com"]:focus, #footer .socialmedia li a[href*="flickr.com"]:hover, #footer .socialmedia li a[href*="flickr.com"]:focus {
  background-color: #e12f22;
}

#footer .socialmedia li a[href*="facebook.com"] {
  background-image: url("../images/facebook.png");
  background-size: auto 60%;
}

#footer .socialmedia li a[href*="facebook.com"]:hover, #footer .socialmedia li a[href*="facebook.com"]:focus {
  background-image: url("../images/facebook--white.png");
}

#footer .socialmedia li a[href*="twitter.com"] {
  background-image: url("../images/twitter.png");
  background-size: 60% auto;
}

#footer .socialmedia li a[href*="twitter.com"]:hover, #footer .socialmedia li a[href*="twitter.com"]:focus {
  background-image: url("../images/twitter--white.png");
}

#footer .socialmedia li a[href*="youtube.com"] {
  background-image: url("../images/youtube.png");
  background-size: 60% auto;
}

#footer .socialmedia li a[href*="youtube.com"]:hover, #footer .socialmedia li a[href*="youtube.com"]:focus {
  background-image: url("../images/youtube--white.png");
}

#footer .socialmedia li a[href*="instagram.com"] {
  background-image: url("../images/instagram.png");
  background-size: auto 60%;
}

#footer .socialmedia li a[href*="instagram.com"]:hover, #footer .socialmedia li a[href*="instagram.com"]:focus {
  background-image: url("../images/instagram--white.png");
}

#footer .socialmedia li a[href*="flickr.com"] {
  background-image: url("../images/flickr.png");
  background-size: 60% auto;
}

#footer .socialmedia li a[href*="flickr.com"]:hover, #footer .socialmedia li a[href*="flickr.com"]:focus {
  background-image: url("../images/flickr--white.png");
}

.svg #footer .socialmedia li a:after {
  background-image: url("../images/arrow--gray.svg");
}

.svg #footer[href*="facebook.com"] {
  background-image: url("../images/facebook.svg");
}

.svg #footer[href*="facebook.com"]:hover, .svg #footer[href*="facebook.com"]:focus {
  background-image: url("../images/facebook--white.svg");
}

.svg #footer[href*="twitter.com"] {
  background-image: url("../images/twitter.svg");
}

.svg #footer[href*="twitter.com"]:hover, .svg #footer[href*="twitter.com"]:focus {
  background-image: url("../images/twitter--white.svg");
}

.svg #footer[href*="youtube.com"] {
  background-image: url("../images/youtube.svg");
}

.svg #footer[href*="youtube.com"]:hover, .svg #footer[href*="youtube.com"]:focus {
  background-image: url("../images/youtube--white.svg");
}

.svg #footer[href*="instagram.com"] {
  background-image: url("../images/instagram.svg");
}

.svg #footer[href*="instagram.com"]:hover, .svg #footer[href*="instagram.com"]:focus {
  background-image: url("../images/instagram--white.svg");
}

.svg #footer[href*="flickr.com"] {
  background-image: url("../images/flickr.svg");
}

.svg #footer[href*="flickr.com"]:hover, .svg #footer[href*="flickr.com"]:focus {
  background-image: url("../images/flickr--white.svg");
}

@media (min-width: 48em) {
  #footer h2 {
    margin-top: 0;
  }
}


img[src*="sp.analytics.yahoo.com"] {
  position: absolute;
  left: 0;
  bottom: 0;
}

.location-info h2 {
  background-image: url("../images/location--red.png");
  background-repeat: no-repeat;
  background-position: top 4px left;
  background-size: 12px auto;
  padding-left: 22px;
  position: relative;
  left: -4px;
}

.svg .location-info h2 {
  background-image: url("../images/location--red.svg");
}

.location-info ul {
  margin: 0;
}

.location-info a {
  color: #222222;
  text-decoration: none;
}

.location-info a:hover {
  text-decoration: underline;
}

.sidebar h2 {
  color: #222222;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

@media (min-width: 48em) {
  .sidebar h2 {
    margin-top: 36px;
    margin-bottom: 15px;
  }
}

@media (max-width: 47.9375em) {
  .sidebar h2 {
    margin-top: 25px;
    margin-bottom: 5px;
  }
}

.sidebar .region > * {
  margin-bottom: 40px;
}

.sidebar .region > *:first-child h2 {
  margin-top: 0;
}

.sidebar .region > *:last-child {
  margin-bottom: 0;
}

.sidebar nav,
.sidebar .field--cta-buttons {
  margin-bottom: 40px;
}

.sidebar .field--cta-buttons .field__item + .field__item {
  margin-top: 10px;
}

.sidebar .field--cta-buttons a {
  display: block;
}

@media (max-width: 47.9375em) and (min-width: 37.5em) {
  .sidebar .field--cta-buttons {
    margin-left: -5px;
    margin-right: -5px;
  }
  .sidebar .field--cta-buttons:after {
    content: '';
    display: table;
    clear: both;
  }
  .sidebar .field--cta-buttons .field__item {
    width: 33.33%;
    float: left;
    padding-left: 5px;
    padding-right: 5px;
  }
  .sidebar .field--cta-buttons .field__item + .field__item {
    margin-top: 0;
  }
}

.sidebar .field--contact-title {
  color: #222222;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.4;
}

@media (min-width: 48em) {
  .sidebar .field--contact-title {
    margin-top: 36px;
    margin-bottom: 15px;
  }
}

@media (max-width: 47.9375em) {
  .sidebar .field--contact-title {
    margin-top: 25px;
    margin-bottom: 5px;
  }
}

.sidebar .field--contact-email,
.sidebar .field--contact-phone,
.sidebar .field--contact-address,
.sidebar .field--contact-fax,
.sidebar .field--contact-hours {
  line-height: 20px;
  margin-bottom: 13.3333333333px;
}

.sidebar .field--contact-email a,
.sidebar .field--contact-phone a,
.sidebar .field--contact-address a,
.sidebar .field--contact-fax a,
.sidebar .field--contact-hours a {
  font-weight: 500;
  text-decoration: none;
}

.sidebar .field--contact-email a:hover, .sidebar .field--contact-email a:focus,
.sidebar .field--contact-phone a:hover,
.sidebar .field--contact-phone a:focus,
.sidebar .field--contact-address a:hover,
.sidebar .field--contact-address a:focus,
.sidebar .field--contact-fax a:hover,
.sidebar .field--contact-fax a:focus,
.sidebar .field--contact-hours a:hover,
.sidebar .field--contact-hours a:focus {
  text-decoration: underline;
}

.sidebar .field--contact-address {
  color: #222222;
  font-weight: 300;
}

.field--cta-buttons a {
  border: none;
  -webkit-transition: background 0.25s ease;
  transition: background 0.25s ease;
  background: #e12f22;
  color: #fff;
  display: inline-block;
  font-weight: 500;
  padding: 15px 50px;
  text-align: center;
  text-decoration: none;
  padding-left: 25px;
  padding-right: 25px;
}

.field--cta-buttons a:hover, .field--cta-buttons a:focus {
  background: #bf281d;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 29.9375em) {
  .field--cta-buttons a {
    display: block;
    width: 100%;
  }
}

.layout-content-bottom {
  background-color: #f0f1f2;
  border-top: 1px solid #d3d3d3;
}

@media (min-width: 48em) {
  .layout-content-bottom {
    padding-top: 75px;
    padding-bottom: 75px;
  }
}

@media (max-width: 47.9375em) {
  .layout-content-bottom {
    padding-top: 33.3333333333px;
    padding-bottom: 33.3333333333px;
  }
}

.layout-content-bottom .region--content-bottom {
  margin-left: auto;
  margin-right: auto;
  max-width: 1240px;
  min-width: 320px;
  padding-left: 25px;
  padding-right: 25px;
}

@media (min-width: 93.75em) {
  .layout-content-bottom .region--content-bottom {
    max-width: 1440px;
  }
}

.layout-content-bottom h2:first-child {
  margin-top: 0;
}

.news-listing,
.events-listing {
  margin-bottom: 40px;
}

.news-listing article,
.events-listing article {
  border-bottom: 1px solid #d3d3d3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-bottom: 20px;
  padding-top: 20px;
}

.news-listing article *:last-child,
.events-listing article *:last-child {
  margin-bottom: 0;
}

.events-listing .event__date {
  height: 70px;
}

.news-listing .news {
  min-height: 111px;
}



.container {
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.container:before,
.container:after {
  display: table;
  content: " ";
}

.container:after {
  clear: both;
}

.container:before,
.container:after {
  display: table;
  content: " ";
}

.container:after {
  clear: both;
}

.row, #footer .footer__top .region--footer {
  margin-top: -12.5px;
  margin-bottom: -12.5px;
  margin-left: -25px;
  margin-right: -25px;
}

@media (min-width: 48em) {
  .row, #footer .footer__top .region--footer {
    margin-top: -25px;
    margin-bottom: -25px;
  }
}

.row:before, #footer .footer__top .region--footer:before,
.row:after,
#footer .footer__top .region--footer:after {
  display: table;
  content: " ";
}


.row:after,
#footer .footer__top .region--footer:after {
  clear: both;
}

.row:before, #footer .footer__top .region--footer:before,
.row:after,
#footer .footer__top .region--footer:after {
  display: table;
  content: " ";
}


.row:after,
#footer .footer__top .region--footer:after {
  clear: both;
}

.col-xs-1,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-10,
.col-xs-11,
.col-xs-12,
.col-msm-1,
.col-msm-2,
.col-msm-3,
.col-msm-4,
.col-msm-5,
.col-msm-6,
.col-msm-7,
.col-msm-8,
.col-msm-9,
.col-msm-10,
.col-msm-11,
.col-sm-12,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.sidebar-second .layout-sidebar-second,
.col-sm-4,
.paragraph--cards .layout--3col .paragraph,
#footer .footer__top .region--footer > *,
#footer .footer__bottom .region--footer-bottom-right,
.has-sidebar .layout-sidebar-first,
.col-sm-5,
.col-sm-6,
.paragraph--cards .layout--2col .paragraph,
.col-sm-7,
.col-sm-8,
#footer .footer__bottom .region--footer-bottom,
.has-sidebar .layout-content,
.col-sm-9,
.sidebar-second .layout-content,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-md-1,
.col-md-2,
.col-md-3,
#footer .footer__top .region--footer > *,
#footer .footer__bottom .region--footer-bottom-right,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
#footer .footer__bottom .region--footer-bottom,
.col-md-10,
.col-md-11,
.col-md-12,
.col-lg-1,
.col-lg-2,
.col-lg-3,
.has-sidebar .layout-sidebar-first,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.has-sidebar .layout-content,
.col-lg-10,
.col-lg-11,
.col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 25px;
  padding-right: 25px;
  padding-top: 12.5px;
  padding-bottom: 12.5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media (min-width: 48em) {
  .col-xs-1,
  .col-xs-2,
  .col-xs-3,
  .col-xs-4,
  .col-xs-5,
  .col-xs-6,
  .col-xs-7,
  .col-xs-8,
  .col-xs-9,
  .col-xs-10,
  .col-xs-11,
  .col-xs-12,
  .col-msm-1,
  .col-msm-2,
  .col-msm-3,
  .col-msm-4,
  .col-msm-5,
  .col-msm-6,
  .col-msm-7,
  .col-msm-8,
  .col-msm-9,
  .col-msm-10,
  .col-msm-11,
  .col-sm-12,
  .col-sm-1,
  .col-sm-2,
  .col-sm-3,
  .sidebar-second .layout-sidebar-second,
  .col-sm-4,
  .paragraph--cards .layout--3col .paragraph,
  #footer .footer__top .region--footer > *,
  #footer .footer__bottom .region--footer-bottom-right,
  .has-sidebar .layout-sidebar-first,
  .col-sm-5,
  .col-sm-6,
  .paragraph--cards .layout--2col .paragraph,
  .col-sm-7,
  .col-sm-8,
  #footer .footer__bottom .region--footer-bottom,
  .has-sidebar .layout-content,
  .col-sm-9,
  .sidebar-second .layout-content,
  .col-sm-10,
  .col-sm-11,
  .col-sm-12,
  .col-md-1,
  .col-md-2,
  .col-md-3,
  #footer .footer__top .region--footer > *,
  #footer .footer__bottom .region--footer-bottom-right,
  .col-md-4,
  .col-md-5,
  .col-md-6,
  .col-md-7,
  .col-md-8,
  .col-md-9,
  #footer .footer__bottom .region--footer-bottom,
  .col-md-10,
  .col-md-11,
  .col-md-12,
  .col-lg-1,
  .col-lg-2,
  .col-lg-3,
  .has-sidebar .layout-sidebar-first,
  .col-lg-4,
  .col-lg-5,
  .col-lg-6,
  .col-lg-7,
  .col-lg-8,
  .col-lg-9,
  .has-sidebar .layout-content,
  .col-lg-10,
  .col-lg-11,
  .col-lg-12 {
    padding-top: 25px;
    padding-bottom: 25px;
  }
}

.col-xs-1,
.col-xs-2,
.col-xs-3,
.col-xs-4,
.col-xs-5,
.col-xs-6,
.col-xs-7,
.col-xs-8,
.col-xs-9,
.col-xs-10,
.col-xs-11 {
  float: left;
}

.col-xs-1 {
  width: 8.333333333333332%;
}

.col-xs-2 {
  width: 16.666666666666664%;
}

.col-xs-3 {
  width: 25%;
}

.col-xs-4 {
  width: 33.33333333333333%;
}

.col-xs-5 {
  width: 41.66666666666667%;
}

.col-xs-6 {
  width: 50%;
}

.col-xs-7 {
  width: 58.333333333333336%;
}

.col-xs-8 {
  width: 66.66666666666666%;
}

.col-xs-9 {
  width: 75%;
}

.col-xs-10 {
  width: 83.33333333333334%;
}

.col-xs-11 {
  width: 91.66666666666666%;
}

.col-xs-12 {
  width: 100%;
}

@media (min-width: 37.5em) {
  .col-msm-1,
  .col-msm-2,
  .col-msm-3,
  .col-msm-4,
  .col-msm-5,
  .col-msm-6,
  .col-msm-7,
  .col-msm-8,
  .col-msm-9,
  .col-msm-10,
  .col-msm-11 {
    float: left;
  }
  .col-msm-1 {
    width: 8.333333333333332%;
  }
  .col-msm-2 {
    width: 16.666666666666664%;
  }
  .col-msm-3 {
    width: 25%;
  }
  .col-msm-4 {
    width: 33.33333333333333%;
  }
  .col-msm-5 {
    width: 41.66666666666667%;
  }
  .col-msm-6 {
    width: 50%;
  }
  .col-msm-7 {
    width: 58.333333333333336%;
  }
  .col-msm-8 {
    width: 66.66666666666666%;
  }
  .col-msm-9 {
    width: 75%;
  }
  .col-msm-10 {
    width: 83.33333333333334%;
  }
  .col-msm-11 {
    width: 91.66666666666666%;
  }
  .col-msm-12 {
    width: 100%;
  }
  .col-msm-push-1 {
    left: 8.333333333333332%;
  }
  .col-msm-push-2 {
    left: 16.666666666666664%;
  }
  .col-msm-push-3 {
    left: 25%;
  }
  .col-msm-push-4 {
    left: 33.33333333333333%;
  }
  .col-msm-push-5 {
    left: 41.66666666666667%;
  }
  .col-msm-push-6 {
    left: 50%;
  }
  .col-msm-push-7 {
    left: 58.333333333333336%;
  }
  .col-msm-push-8 {
    left: 66.66666666666666%;
  }
  .col-msm-push-9 {
    left: 75%;
  }
  .col-msm-push-10 {
    left: 83.33333333333334%;
  }
  .col-msm-push-11 {
    left: 91.66666666666666%;
  }
  .col-msm-pull-1 {
    right: 8.333333333333332%;
  }
  .col-msm-pull-2 {
    right: 16.666666666666664%;
  }
  .col-msm-pull-3 {
    right: 25%;
  }
  .col-msm-pull-4 {
    right: 33.33333333333333%;
  }
  .col-msm-pull-5 {
    right: 41.66666666666667%;
  }
  .col-msm-pull-6 {
    right: 50%;
  }
  .col-msm-pull-7 {
    right: 58.333333333333336%;
  }
  .col-msm-pull-8 {
    right: 66.66666666666666%;
  }
  .col-msm-pull-9 {
    right: 75%;
  }
  .col-msm-pull-10 {
    right: 83.33333333333334%;
  }
  .col-msm-pull-11 {
    right: 91.66666666666666%;
  }
  .col-msm-offset-1 {
    margin-left: 8.333333333333332%;
  }
  .col-msm-offset-2 {
    margin-left: 16.666666666666664%;
  }
  .col-msm-offset-3 {
    margin-left: 25%;
  }
  .col-msm-offset-4 {
    margin-left: 33.33333333333333%;
  }
  .col-msm-offset-5 {
    margin-left: 41.66666666666667%;
  }
  .col-msm-offset-6 {
    margin-left: 50%;
  }
  .col-msm-offset-7 {
    margin-left: 58.333333333333336%;
  }
  .col-msm-offset-8 {
    margin-left: 66.66666666666666%;
  }
  .col-msm-offset-9 {
    margin-left: 75%;
  }
  .col-msm-offset-10 {
    margin-left: 83.33333333333334%;
  }
  .col-msm-offset-11 {
    margin-left: 91.66666666666666%;
  }
}

@media (min-width: 48em) {
  .col-sm-1,
  .col-sm-2,
  .col-sm-3,
  .sidebar-second .layout-sidebar-second,
  .col-sm-4,
  .paragraph--cards .layout--3col .paragraph,
  #footer .footer__top .region--footer > *,
  #footer .footer__bottom .region--footer-bottom-right,
  .has-sidebar .layout-sidebar-first,
  .col-sm-5,
  .col-sm-6,
  .paragraph--cards .layout--2col .paragraph,
  .col-sm-7,
  .col-sm-8,
  #footer .footer__bottom .region--footer-bottom,
  .has-sidebar .layout-content,
  .col-sm-9,
  .sidebar-second .layout-content,
  .col-sm-10,
  .col-sm-11 {
    float: left;
  }
  .col-sm-1 {
    width: 8.333333333333332%;
  }
  .col-sm-2 {
    width: 16.666666666666664%;
  }
  
  .col-sm-3,
  .sidebar-second .layout-sidebar-second {
    width: 25%;
  }
  
  .col-sm-4,
  .paragraph--cards .layout--3col .paragraph,
  #footer .footer__top .region--footer > *,
  #footer .footer__bottom .region--footer-bottom-right,
  .has-sidebar .layout-sidebar-first {
    width: 33.33333333333333%;
  }
  .col-sm-5 {
    width: 41.66666666666667%;
  }
  
  .col-sm-6,
  .paragraph--cards .layout--2col .paragraph {
    width: 50%;
  }
  .col-sm-7 {
    width: 58.333333333333336%;
  }
  
  .col-sm-8,
  #footer .footer__bottom .region--footer-bottom,
  .has-sidebar .layout-content {
    width: 66.66666666666666%;
  }
  
  .col-sm-9,
  .sidebar-second .layout-content {
    width: 75%;
  }
  .col-sm-10 {
    width: 83.33333333333334%;
  }
  .col-sm-11 {
    width: 91.66666666666666%;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-push-1 {
    left: 8.333333333333332%;
  }
  .col-sm-push-2 {
    left: 16.666666666666664%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-4, .has-sidebar .layout-content {
    left: 33.33333333333333%;
  }
  .col-sm-push-5 {
    left: 41.66666666666667%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-7 {
    left: 58.333333333333336%;
  }
  .col-sm-push-8, #footer .footer__bottom .region--footer-bottom-right {
    left: 66.66666666666666%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-10 {
    left: 83.33333333333334%;
  }
  .col-sm-push-11 {
    left: 91.66666666666666%;
  }
  .col-sm-pull-1 {
    right: 8.333333333333332%;
  }
  .col-sm-pull-2 {
    right: 16.666666666666664%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-4, #footer .footer__bottom .region--footer-bottom {
    right: 33.33333333333333%;
  }
  .col-sm-pull-5 {
    right: 41.66666666666667%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-7 {
    right: 58.333333333333336%;
  }
  .col-sm-pull-8, .has-sidebar .layout-sidebar-first {
    right: 66.66666666666666%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-10 {
    right: 83.33333333333334%;
  }
  .col-sm-pull-11 {
    right: 91.66666666666666%;
  }
  .col-sm-offset-1 {
    margin-left: 8.333333333333332%;
  }
  .col-sm-offset-2 {
    margin-left: 16.666666666666664%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333333333%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666666666667%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-7 {
    margin-left: 58.333333333333336%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666666666666%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333333334%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666666666666%;
  }
}

@media (min-width: 52.5em) {
  .col-md-1,
  .col-md-2,
  .col-md-3,
  #footer .footer__top .region--footer > *,
  #footer .footer__bottom .region--footer-bottom-right,
  .col-md-4,
  .col-md-5,
  .col-md-6,
  .col-md-7,
  .col-md-8,
  .col-md-9,
  #footer .footer__bottom .region--footer-bottom,
  .col-md-10,
  .col-md-11 {
    float: left;
  }
  .col-md-1 {
    width: 8.333333333333332%;
  }
  .col-md-2 {
    width: 16.666666666666664%;
  }
  
  .col-md-3,
  #footer .footer__top .region--footer > *,
  #footer .footer__bottom .region--footer-bottom-right {
    width: 25%;
  }
  .col-md-4 {
    width: 33.33333333333333%;
  }
  .col-md-5 {
    width: 41.66666666666667%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-7 {
    width: 58.333333333333336%;
  }
  .col-md-8 {
    width: 66.66666666666666%;
  }
  
  .col-md-9,
  #footer .footer__bottom .region--footer-bottom {
    width: 75%;
  }
  .col-md-10 {
    width: 83.33333333333334%;
  }
  .col-md-11 {
    width: 91.66666666666666%;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-push-1 {
    left: 8.333333333333332%;
  }
  .col-md-push-2 {
    left: 16.666666666666664%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-4 {
    left: 33.33333333333333%;
  }
  .col-md-push-5 {
    left: 41.66666666666667%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-7 {
    left: 58.333333333333336%;
  }
  .col-md-push-8 {
    left: 66.66666666666666%;
  }
  .col-md-push-9, #footer .footer__bottom .region--footer-bottom-right {
    left: 75%;
  }
  .col-md-push-10 {
    left: 83.33333333333334%;
  }
  .col-md-push-11 {
    left: 91.66666666666666%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-pull-1 {
    right: 8.333333333333332%;
  }
  .col-md-pull-2 {
    right: 16.666666666666664%;
  }
  .col-md-pull-3, #footer .footer__bottom .region--footer-bottom {
    right: 25%;
  }
  .col-md-pull-4 {
    right: 33.33333333333333%;
  }
  .col-md-pull-5 {
    right: 41.66666666666667%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-7 {
    right: 58.333333333333336%;
  }
  .col-md-pull-8 {
    right: 66.66666666666666%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-10 {
    right: 83.33333333333334%;
  }
  .col-md-pull-11 {
    right: 91.66666666666666%;
  }
  .col-md-offset-0 {
    margin-left: 0;
  }
  .col-md-offset-1 {
    margin-left: 8.333333333333332%;
  }
  .col-md-offset-2 {
    margin-left: 16.666666666666664%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333333333%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666666666667%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-7 {
    margin-left: 58.333333333333336%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666666666666%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333333334%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666666666666%;
  }
}

@media (min-width: 67.5em) {
  .col-lg-1,
  .col-lg-2,
  .col-lg-3,
  .has-sidebar .layout-sidebar-first,
  .col-lg-4,
  .col-lg-5,
  .col-lg-6,
  .col-lg-7,
  .col-lg-8,
  .col-lg-9,
  .has-sidebar .layout-content,
  .col-lg-10,
  .col-lg-11 {
    float: left;
  }
  .col-lg-1 {
    width: 8.333333333333332%;
  }
  .col-lg-2 {
    width: 16.666666666666664%;
  }
  
  .col-lg-3,
  .has-sidebar .layout-sidebar-first {
    width: 25%;
  }
  .col-lg-4 {
    width: 33.33333333333333%;
  }
  .col-lg-5 {
    width: 41.66666666666667%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-7 {
    width: 58.333333333333336%;
  }
  .col-lg-8 {
    width: 66.66666666666666%;
  }
  
  .col-lg-9,
  .has-sidebar .layout-content {
    width: 75%;
  }
  .col-lg-10 {
    width: 83.33333333333334%;
  }
  .col-lg-11 {
    width: 91.66666666666666%;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-push-1 {
    left: 8.333333333333332%;
  }
  .col-lg-push-2 {
    left: 16.666666666666664%;
  }
  .col-lg-push-3, .has-sidebar .layout-content {
    left: 25%;
  }
  .col-lg-push-4 {
    left: 33.33333333333333%;
  }
  .col-lg-push-5 {
    left: 41.66666666666667%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-7 {
    left: 58.333333333333336%;
  }
  .col-lg-push-8 {
    left: 66.66666666666666%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-10 {
    left: 83.33333333333334%;
  }
  .col-lg-push-11 {
    left: 91.66666666666666%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-pull-1 {
    right: 8.333333333333332%;
  }
  .col-lg-pull-2 {
    right: 16.666666666666664%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-4 {
    right: 33.33333333333333%;
  }
  .col-lg-pull-5 {
    right: 41.66666666666667%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-7 {
    right: 58.333333333333336%;
  }
  .col-lg-pull-8 {
    right: 66.66666666666666%;
  }
  .col-lg-pull-9, .has-sidebar .layout-sidebar-first {
    right: 75%;
  }
  .col-lg-pull-10 {
    right: 83.33333333333334%;
  }
  .col-lg-pull-11 {
    right: 91.66666666666666%;
  }
  .col-lg-offset-0 {
    margin-left: 0;
  }
  .col-lg-offset-1 {
    margin-left: 8.333333333333332%;
  }
  .col-lg-offset-2 {
    margin-left: 16.666666666666664%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333333333%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666666666667%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-7 {
    margin-left: 58.333333333333336%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666666666666%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333333334%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666666666666%;
  }
}

body,
html {
  margin: 0;
  padding: 0;
  height: 100%;
}

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

main,
.container {
  margin-left: auto;
  margin-right: auto;
  max-width: 1240px;
  min-width: 320px;
  padding-left: 25px;
  padding-right: 25px;
}

@media (min-width: 93.75em) {
  main,
  .container {
    max-width: 1440px;
  }
}

main:before, main:after,
.container:before,
.container:after {
  content: "";
  display: table;
}

main:after,
.container:after {
  clear: both;
}

#highlighted:before, #highlighted:after {
  content: "";
  display: table;
}

#highlighted:after {
  clear: both;
}


@media (min-width: 48em) {
  .layout-content,
  .layout-sidebar-first,
  .layout-sidebar-second {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

@media (max-width: 47.9375em) {
  .layout-content,
  .layout-sidebar-first,
  .layout-sidebar-second {
    padding-top: 33.3333333333px;
    padding-bottom: 33.3333333333px;
  }
}

.has-sidebar main {
  padding-left: 0;
  padding-right: 0;
}

@media (min-width: 67.5em) {
  .has-sidebar .layout-sidebar-first {
    padding-right: 50px;
  }
  .has-sidebar .layout-content {
    padding-left: 50px;
  }
}

@media (max-width: 67.4375em) and (min-width: 48em) {
  .has-sidebar .layout-sidebar-first {
    padding-right: 25px;
    font-size: 0.8em;
  }
  .has-sidebar .layout-content {
    padding-left: 25px;
  }
}

@media (min-width: 48em) {
  .has-sidebar main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .has-sidebar .layout-sidebar-first {
    border-right: 1px solid #d3d3d3;
  }
}

@media (max-width: 47.9375em) {
  .has-sidebar .layout-sidebar-first {
    border-top: 1px solid #d3d3d3;
  }
}

.sidebar-second main {
  padding-left: 0;
  padding-right: 0;
}

@media (min-width: 48em) {
  .sidebar-second main {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .sidebar-second .layout-sidebar-second {
    border-left: 1px solid #d3d3d3;
    padding-left: 50px;
  }
  .sidebar-second .layout-content {
    padding-right: 50px;
  }
}


.homepage .layout-content-bottom {
  background: #fff;
  border-top: 0;
}


.page--node .no-sidebar main {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.page--node .no-sidebar main .layout-content {
  padding-top: 0;
  padding-bottom: 0;
}

.page--node .no-sidebar .field--body > .paragraph {
  margin-left: auto;
  margin-right: auto;
  max-width: 1240px;
  min-width: 320px;
  padding-left: 25px;
  padding-right: 25px;
}

@media (min-width: 93.75em) {
  .page--node .no-sidebar .field--body > .paragraph {
    max-width: 1440px;
  }
}

.page--node .no-sidebar .field--body > .paragraph.paragraph--feature, .page--node .no-sidebar .field--body > .paragraph.dav-program-search-mini, .page--node .no-sidebar .field--body > .paragraph.paragraph--webform {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

@media (max-width: 47.9375em) {
  .objectfit .page--node .no-sidebar .banner .media--image img {
    -o-object-fit: cover;
       object-fit: cover;
    width: 100%;
    min-height: 300px;
  }
}

@media (max-width: 119.9375em) and (min-width: 106.25em) {
  .page--node .no-sidebar.has-stats .field--body > .paragraph--text:first-child .field--content {
    width: 90%;
    padding-right: 25px;
  }
}

@media (max-width: 106.1875em) and (min-width: 67.5em) {
  .page--node .no-sidebar.has-stats .field--body > .paragraph--text:first-child .field--content {
    width: 75%;
    padding-right: 25px;
  }
}

@media (max-width: 67.4375em) and (min-width: 48em) {
  .page--node .no-sidebar.has-stats .field--body > .paragraph--text:first-child .field--content {
    width: 66.67%;
    padding-right: 25px;
  }
}

@media (min-width: 78.75em) {
  .page--node .no-sidebar .paragraph--feature.feature--odd .feature__text {
    padding-right: calc(50vw - 1200px / 2);
    padding-left: 62.5px;
  }
}

@media (min-width: 93.75em) {
  .page--node .no-sidebar .paragraph--feature.feature--odd .feature__text {
    padding-right: calc(50vw - 1390px / 2);
    padding-left: 62.5px;
  }
}

@media (min-width: 78.75em) {
  .page--node .no-sidebar .paragraph--feature.feature--even .feature__text,
  .page--node .no-sidebar .paragraph.dav-program-search-mini .feature__text {
    padding-left: calc(50vw - 1200px / 2);
    padding-right: 62.5px;
  }
}

@media (min-width: 93.75em) {
  .page--node .no-sidebar .paragraph--feature.feature--even .feature__text,
  .page--node .no-sidebar .paragraph.dav-program-search-mini .feature__text {
    padding-left: calc(50vw - 1390px / 2);
    padding-right: 62.5px;
  }
}

@media (min-width: 78.75em) {
  .page--node .no-sidebar .paragraph--webform .field--webform {
    padding-right: calc(50vw - 1200px / 2);
    padding-left: calc(50vw - 1200px / 2);
  }
}

@media (min-width: 93.75em) {
  .page--node .no-sidebar .paragraph--webform .field--webform {
    padding-right: calc(50vw - 1390px / 2);
    padding-left: calc(50vw - 1390px / 2);
  }
}


.interested-in-section .interested-toggle {
  background: transparent;
  border-bottom: 3px solid #fff;
  font-weight: 500;
  padding: 0 0 3px 0;
  position: relative;
}

.interested-in-section .interested-toggle:focus {
  outline: 1px dotted #fff;
  outline-offset: 7px;
}

.interested-in-section .interested-toggle:after {
  content: "";
  width: 0;
  height: 0;
  display: inline-block;
  margin-left: 5px;
  position: relative;
  top: 5px;
}

.interested-in-section .interested-toggle:hover, .interested-in-section .interested-toggle:focus {
  background: transparent;
}

@media (min-width: 64em) {
  .interested-in-section .interested-toggle {
    font-size: 36px;
    line-height: 1;
  }
  .interested-in-section .interested-toggle:after {
    border: inset 10px;
    border-color: #e12f22 transparent transparent transparent;
    border-top-style: solid;
  }
}

@media (max-width: 63.9375em) and (min-width: 52.5em) {
  .interested-in-section .interested-toggle {
    font-size: 30px;
    line-height: 1;
  }
  .interested-in-section .interested-toggle:after {
    border: inset 8px;
    border-color: #e12f22 transparent transparent transparent;
    border-top-style: solid;
  }
}

@media (max-width: 52.4375em) and (min-width: 48em) {
  .interested-in-section .interested-toggle {
    font-size: 26px;
    line-height: 1;
  }
  .interested-in-section .interested-toggle:after {
    border: inset 7px;
    border-color: #e12f22 transparent transparent transparent;
    border-top-style: solid;
    top: 3px;
  }
}

@media (max-width: 47.9375em) and (min-width: 37.5em) {
  .interested-in-section .interested-toggle {
    font-size: 36px;
    line-height: 1;
  }
  .interested-in-section .interested-toggle:after {
    border: inset 10px;
    border-color: #e12f22 transparent transparent transparent;
    border-top-style: solid;
  }
}

@media (max-width: 37.4375em) and (min-width: 30em) {
  .interested-in-section .interested-toggle {
    font-size: 30px;
    line-height: 1;
  }
  .interested-in-section .interested-toggle:after {
    border: inset 8px;
    border-color: #e12f22 transparent transparent transparent;
    border-top-style: solid;
  }
}

@media (max-width: 29.9375em) {
  .interested-in-section .interested-toggle {
    font-size: 26px;
    line-height: 1;
    margin: 0 auto;
    width: auto;
  }
  .interested-in-section .interested-toggle:after {
    border: inset 7px;
    border-color: #e12f22 transparent transparent transparent;
    border-top-style: solid;
    top: 3px;
  }
}

.interested-nav {
  position: relative;
  top: -3px;
  padding-bottom: 10px;
}

.interested-nav .interested-list {
  background: #fff;
  border: 1px solid #d3d3d3;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
          box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  display: none;
  list-style: none;
  padding: 0;
  margin: auto;
  min-height: 45px;
  padding: 0 10px;
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 330px;
  
}

.interested-nav .interested-list .interested-item {
  border-top: 1px solid #d3d3d3;
  font-weight: 300;
  margin: 0;
  padding: 10px;
  text-align: left;
}

.interested-nav .interested-list .interested-item:first-child {
  border-top: none;
}

.interested-nav .interested-list .interested-item a {
  color: #222222;
  text-decoration: none;
}

.interested-nav .interested-list .interested-item a:hover, .interested-nav .interested-list .interested-item a:focus {
  color: #4b69cb;
}

.interested-nav.visible .interested-list {
  display: block;
}


.program.display-full .field--program-curriculum {
  border-bottom: 1px solid #d3d3d3;
}

@media (min-width: 48em) {
  .program.display-full .field--program-curriculum {
    padding-bottom: 75px;
    margin-bottom: 75px;
  }
  .has-sidebar .program.display-full .field--program-curriculum {
    padding-bottom: 50px;
    margin-bottom: 50px;
  }
}

@media (max-width: 47.9375em) {
  .program.display-full .field--program-curriculum {
    padding-bottom: 33.3333333333px;
    margin-bottom: 33.3333333333px;
  }
}

.program.display-full p + .accordion,
.program.display-full ul + .accordion {
  margin-top: 33.3333333333px;
}


.area-of-study.display-full .field--intro {
  margin-bottom: 50px;
}

.area-of-study.display-full .field--intro p:last-child {
  margin-bottom: 0;
}

.area-of-study.display-full .field--program-groups > .paragraph {
  padding-top: 50px;
  padding-bottom: 50px;
  border-top: 1px solid #d3d3d3;
}


#ncaa-sports ul.two-columns li.no-bullet:not(:first-child):before,
#non-varsity-sports ul.two-columns li.no-bullet:not(:first-child):before {
  content: "";
  display: block;
  margin-top: 35px;
}


.views-block-location-programs-block-1 > h2 {
  margin-bottom: 40px;
}


@media (min-width: 48em) {
  .no-sidebar .locations {
    margin: -25px;
  }
  .no-sidebar .locations:after {
    content: '';
    display: table;
    clear: both;
  }
  .no-sidebar .locations .teaser {
    width: 50%;
    float: left;
    padding: 25px;
    margin-top: 25px;
  }
  .no-sidebar .locations .teaser .teaser__image,
  .no-sidebar .locations .teaser .teaser__text {
    float: none;
    padding: 0;
    width: 100%;
  }
  .no-sidebar .locations .teaser .teaser__image {
    margin-bottom: 20px;
  }
  .no-sidebar .locations .teaser + .teaser {
    border-top: 0;
  }
  .no-sidebar .locations .teaser:nth-of-type(1), .no-sidebar .locations .teaser:nth-of-type(2) {
    margin-top: 0;
  }
  .no-sidebar .locations .teaser:nth-of-type(2n+1) {
    clear: left;
  }
}


.program-search .no-sidebar main .layout-content {
  padding-bottom: 50px;
}

@media (min-width: 48em) {
  .program-search .no-sidebar .field--body > .paragraph--custom_block > .paragraph__content {
    padding-top: 50px;
  }
}

@media (min-width: 64em) {
  .program-search #highlighted {
    margin-bottom: -120px;
  }
  .program-search .banner .page-title {
    bottom: 100px;
  }
}

@media (max-width: 63.9375em) and (min-width: 48em) {
  .program-search #highlighted {
    margin-bottom: -65px;
  }
  .program-search .banner .page-title {
    bottom: 40px;
  }
}

@media (max-width: 47.9375em) {
  .program-search #highlighted {
    margin-bottom: -65px;
  }
  .program-search .banner .page-title {
    bottom: 50px;
  }
}

.site-search {
  margin-top: 40px;
}

.site-search .views-row {
  border-top: 1px solid #d3d3d3;
  padding-top: 40px;
  padding-bottom: 40px;
}

.site-search .views-row .views-field-title {
  color: #222222;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.4;
  margin-top: 0 !important;
}

@media (min-width: 48em) {
  .site-search .views-row .views-field-title {
    margin-top: 44px;
    margin-bottom: 15px;
  }
}

@media (max-width: 47.9375em) {
  .site-search .views-row .views-field-title {
    margin-top: 25px;
    margin-bottom: 5px;
  }
}

.site-search .views-row .views-field-title a {
  text-decoration: none;
}

.site-search .views-row .views-field-title a:hover, .site-search .views-row .views-field-title a:focus {
  text-decoration: underline;
}

#page.landing-page {
  
  
  
  
  
}

#page.landing-page header > .container {
  padding-left: 25px;
  padding-right: 25px;
}

#page.landing-page.has-form .container {
  max-width: 100%;
}

@media (min-width: 93.75em) {
  #page.landing-page.has-form #highlighted .page-title,
  #page.landing-page.has-form .landing__sidebar,
  #page.landing-page.has-form .container,
  #page.landing-page.has-form .field--body {
    padding-left: 75px;
    padding-right: 75px;
  }
}

@media (max-width: 93.6875em) and (min-width: 78.75em) {
  #page.landing-page.has-form #highlighted .page-title,
  #page.landing-page.has-form .landing__sidebar,
  #page.landing-page.has-form .container,
  #page.landing-page.has-form .field--body {
    padding-left: 50px;
    padding-right: 50px;
  }
}

@media (max-width: 78.6875em) {
  #page.landing-page.has-form #highlighted .page-title,
  #page.landing-page.has-form .landing__sidebar,
  #page.landing-page.has-form .container,
  #page.landing-page.has-form .field--body {
    padding-left: 25px;
    padding-right: 25px;
  }
}

#page.landing-page.has-form .field--body > .paragraph {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

@media (min-width: 93.75em) {
  #page.landing-page.has-form .field--body > .paragraph.paragraph--quote:after {
    right: -87.5px;
  }
}

@media (max-width: 93.6875em) and (min-width: 78.75em) {
  #page.landing-page.has-form .field--body > .paragraph.paragraph--quote:after {
    right: -62.5px;
  }
}

@media (max-width: 78.6875em) {
  #page.landing-page.has-form .field--body > .paragraph.paragraph--quote:after {
    right: -37.5px;
  }
}

#page.landing-page header {
  border-top: 8px solid #e12f22;
  padding-top: 0;
}

#page.landing-page header #logo {
  margin-left: 0;
}

#page.landing-page header #landing-contact {
  float: right;
}

#page.landing-page header #landing-contact > span {
  display: inline-block;
  margin-left: 16.6666666667px;
}

#page.landing-page header #landing-contact h4 {
  margin: 0;
}

#page.landing-page header #landing-contact .landing__contact {
  line-height: 20px;
}

@media (min-width: 67.5em) {
  #page.landing-page header #landing-contact {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

@media (max-width: 67.4375em) and (min-width: 48em) {
  #page.landing-page header #landing-contact {
    padding-top: 19px;
    padding-bottom: 20px;
  }
}

@media (max-width: 47.9375em) {
  #page.landing-page header #landing-contact {
    padding-top: 21px;
    padding-bottom: 21px;
  }
  #page.landing-page header #landing-contact .landing__questions {
    display: none;
  }
}

@media (max-width: 37.4375em) {
  #page.landing-page header #landing-contact {
    padding-top: 15px;
    padding-bottom: 15px;
  }
  #page.landing-page header #landing-contact > span {
    display: block;
  }
  #page.landing-page header #landing-contact .landing__contact {
    font-size: 12px;
  }
  #page.landing-page header #landing-contact .landing__contact + .landing__contact {
    border-left: none;
    padding-left: 0;
    margin-top: 5px;
  }
  #page.landing-page header #landing-contact .contact {
    line-height: 14px;
    padding-left: 20px;
  }
  #page.landing-page header #landing-contact .contact:before {
    width: 13px;
    height: 14px;
  }
}

#page.landing-page .landing__contact {
  display: inline-block;
  margin-right: -6px;
}

#page.landing-page .landing__contact + .landing__contact {
  border-left: 1px solid #d3d3d3;
  padding-left: 16.6666666667px;
}

@media (min-width: 93.75em) {
  #page.landing-page.has-form .landing__main {
    width: 66.67%;
  }
  #page.landing-page.has-form .landing__sidebar {
    width: 33.33%;
  }
}

@media (max-width: 93.6875em) and (min-width: 67.5em) {
  #page.landing-page.has-form .landing__main {
    width: 75%;
  }
  #page.landing-page.has-form .landing__sidebar {
    width: 25%;
  }
}

@media (max-width: 67.4375em) and (min-width: 48em) {
  #page.landing-page.has-form .landing__main {
    width: 66.67%;
  }
  #page.landing-page.has-form .landing__sidebar {
    width: 33.33%;
  }
}

@media (min-width: 48em) {
  #page.landing-page.has-form .landing__main,
  #page.landing-page.has-form .landing__sidebar {
    float: left;
  }
  #page.landing-page.has-form .landing-page.display-full > div {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

#page.landing-page .landing__sidebar {
  background: #e12f22;
  color: #fff;
}

@media (min-width: 48em) {
  #page.landing-page .landing__sidebar {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}

@media (max-width: 47.9375em) {
  #page.landing-page .landing__sidebar {
    padding-top: 33.3333333333px;
    padding-bottom: 33.3333333333px;
  }
}

#page.landing-page .landing__sidebar h2, #page.landing-page .landing__sidebar h3, #page.landing-page .landing__sidebar h4, #page.landing-page .landing__sidebar h5,
#page.landing-page .landing__sidebar .form-item-text-optin input[type="checkbox"] + label {
  color: #fff;
}

#page.landing-page .landing__sidebar h2:first-child {
  margin-top: 0;
}

#page.landing-page .landing__sidebar h3:first-child {
  margin-top: 13px;
}

#page.landing-page .landing__sidebar div.form-wrapper .form-item,
#page.landing-page .landing__sidebar .webform-section-wrapper .form-item {
  float: none;
  padding: 0;
  width: 100%;
}

#page.landing-page .landing__sidebar input[type="submit"] {
  border: none;
  -webkit-transition: background 0.25s ease;
  transition: background 0.25s ease;
  background: #222222;
  color: #fff;
  display: inline-block;
  font-weight: 500;
  padding: 15px 50px;
  text-align: center;
  text-decoration: none;
  width: 100%;
}

#page.landing-page .landing__sidebar input[type="submit"]:hover, #page.landing-page .landing__sidebar input[type="submit"]:focus {
  background: #000;
  color: #fff;
  text-decoration: none;
}

@media (max-width: 29.9375em) {
  #page.landing-page .landing__sidebar input[type="submit"] {
    display: block;
    width: 100%;
  }
}

#page.landing-page .landing__sidebar .selectboxit-container {
  color: #222222;
}

#page.landing-page footer .landing__copyright {
  margin-top: 10px;
}

#page.landing-page footer .landing__contact {
  line-height: 18px;
}

@media (min-width: 48em) {
  #page.landing-page footer .landing__contact {
    margin-right: 12.5px;
  }
  #page.landing-page footer .landing__contact + .landing__contact {
    border-left-color: #404040;
    padding-left: 12.5px;
  }
  #page.landing-page footer .contact--phone,
  #page.landing-page footer .contact--address {
    padding-left: 18px;
  }
  #page.landing-page footer .contact--phone:before,
  #page.landing-page footer .contact--address:before {
    width: 13px;
    height: 18px;
  }
}

@media (max-width: 47.9375em) {
  #page.landing-page footer .landing__contact {
    display: block;
  }
  #page.landing-page footer .landing__contact + .landing__contact {
    border-left: none;
    padding-left: 0;
    margin-top: 10px;
  }
}


@media print {
  a:link,
  a:visited {
    
    text-decoration: underline !important;
  }
  #site-name a:link, #site-name
  a:visited {
    
    text-decoration: none !important;
  }
  #content a[href]:after {
    
    content: " (" attr(href) ")";
    font-weight: normal;
    font-size: 16px;
  }
  #content a[href^="javascript:"]:after,
  #content a[href^="#"]:after {
    
    content: "";
  }
  #content abbr[title]:after {
    
    content: " (" attr(title) ")";
  }
  #content {
    
    float: none !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body,
  #page,
  #main,
  #content {
    
    color: #000;
    background-color: transparent !important;
    background-image: none !important;
  }
  #skip-link,
  #toolbar,
  #navigation,
  .region-sidebar-first,
  .region-sidebar-second,
  #footer,
  .breadcrumb,
  .tabs,
  .action-links,
  .links,
  .book-navigation,
  .forum-topic-navigation,
  .pager,
  .feed-icons {
    
    visibility: hidden;
    display: none;
  }
}



/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlcy5jc3MiLCIwMi1lbGVtZW50cy9fbm9ybWFsaXplLnNjc3MiLCIwMS1pZGVudGl0eS9fdmFyaWFibGVzLnNjc3MiLCIwMi1lbGVtZW50cy9fbGlua3Muc2NzcyIsIjAxLWlkZW50aXR5L19taXhpbnMuc2NzcyIsIjAyLWVsZW1lbnRzL19saXN0cy5zY3NzIiwiMDEtaWRlbnRpdHkvX3ZhcmlhYmxlc19fbGF5b3V0LnNjc3MiLCIuLi8uLi9zYXNzLWRlcGVuZGVuY2llcy9icmVha3BvaW50LXNhc3Mvc3R5bGVzaGVldHMvX2JyZWFrcG9pbnQuc2NzcyIsIjAyLWVsZW1lbnRzL19oZWxwZXJzLnNjc3MiLCIwMi1lbGVtZW50cy9fYW5pbWF0aW9uLnNjc3MiLCIwMi1lbGVtZW50cy9fdHlwb2dyYXBoeS5zY3NzIiwiMDItZWxlbWVudHMvX2ljb24tZm9udC5zY3NzIiwiMDItZWxlbWVudHMvX2Zvcm0tZWxlbWVudHMuc2NzcyIsIjAyLWVsZW1lbnRzL19idXR0b25zLnNjc3MiLCIwMi1lbGVtZW50cy9fZmllbGRzZXRzLnNjc3MiLCIwMi1lbGVtZW50cy9fdGFibGVzLnNjc3MiLCIwMi1lbGVtZW50cy9fZmllbGQuc2NzcyIsIjAyLWVsZW1lbnRzL19pbWFnZXMuc2NzcyIsIjAyLWVsZW1lbnRzL19pY29ucy5zY3NzIiwiMDMtY29tcG9uZW50cy9fcGFnZXIuc2NzcyIsIjAzLWNvbXBvbmVudHMvX2JyZWFkY3J1bWIuc2NzcyIsIjAzLWNvbXBvbmVudHMvX3RhYnMuc2NzcyIsIjAzLWNvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiMDMtY29tcG9uZW50cy9fZGlhbG9nLnNjc3MiLCIwMy1jb21wb25lbnRzL19zbGlkZXJzLnNjc3MiLCIwMy1jb21wb25lbnRzL19tZW51cy5zY3NzIiwiMDMtY29tcG9uZW50cy9fbWVzc2FnZXMuc2NzcyIsIjAzLWNvbXBvbmVudHMvX2hvcml6b250YWwtdGFicy5hZG1pbi5zY3NzIiwiMDMtY29tcG9uZW50cy9fdmVydGljYWwtdGFicy5hZG1pbi5zY3NzIiwiMDMtY29tcG9uZW50cy9fYmFubmVyLnNjc3MiLCIwMy1jb21wb25lbnRzL19wYXJhZ3JhcGhzLnNjc3MiLCIwMy1jb21wb25lbnRzL190ZWFzZXJzLnNjc3MiLCIwMy1jb21wb25lbnRzL19ibG9ja3Muc2NzcyIsIjAzLWNvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCIwNC10ZW1wbGF0ZXMvX2hlYWRlci5zY3NzIiwiMDQtdGVtcGxhdGVzL19mb290ZXIuc2NzcyIsIjA0LXRlbXBsYXRlcy9fc2lkZWJhci5zY3NzIiwiMDQtdGVtcGxhdGVzL19jb250ZW50LWJvdHRvbS5zY3NzIiwiMDUtbGF5b3V0cy9fYm9vdHN0cmFwLWJhc2VkLWdyaWQuc2NzcyIsIi4uLy4uL3Nhc3MtZGVwZW5kZW5jaWVzL2NvbXBhc3MtbWl4aW5zL2xpYi9jb21wYXNzL2NzczMvX3NoYXJlZC5zY3NzIiwiMDUtbGF5b3V0cy9fbGF5b3V0X19kZWZhdWx0LS1mbHVpZC5zY3NzIiwiMDYtcGFnZXMvX25vZGUtcGFnZXMuc2NzcyIsIjA2LXBhZ2VzL19zZWFyY2gtcGFnZXMuc2NzcyIsIjA2LXBhZ2VzL19sYW5kaW5nLXBhZ2VzLnNjc3MiLCIwNi1wYWdlcy9fcHJpbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakIsd0JBQXdCO0FBU3hCO0VBQ0UsVUFBUztFQUNULFdBQVU7RUFDVixlQzJGYTtFRDFGYiwwQkM4SXVCO0NEN0l4Qjs7QUFFRCxzR0FBc0c7QUFFdEc7Ozs7O0VBS0UsK0JBQTBCO01BQTFCLDJCQUEwQjtDQUMzQjs7QUFFRDtnRkFDZ0Y7QUFRaEY7Ozs7Ozs7Ozs7Ozs7RUFhRSxlQUFjO0NBQ2Y7O0FBS0Q7Ozs7RUFJRSxzQkFBcUI7RUFBRSxPQUFPO0VBQzlCLHlCQUF3QjtFQUFFLE9BQU87Q0FDbEM7O0FBS0Q7RUFDRSxjQUFhO0VBQ2IsVUFBUztDQUNWOztBRGpCRDs7RUN3QkUsY0FBYTtDQUNkOztBQUdEO2dGQUNnRjtBQVlo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RjVhZTtHUThFbEI7Q1Yra0JBOztBTzltQkc7RUc2Qko7SU5tV0ksZ0JBQWU7R01qV2xCO0NWcWxCQTs7QVVubEJEO0VObVdFLGVGMVdXO0VFMldYLGlCQUFnQjtFQUNoQixpQkYzYWtCO0VFNGFsQixvQkYxYXFCO0NRc0V0Qjs7QUhuQ0c7RUdpQ0o7SU53V0ksZ0JGamJlO0dRMkVsQjtDVjhsQkE7O0FPam9CRztFR2lDSjtJTjJXSSxnQkFBZTtHTXpXbEI7Q1ZvbUJBOztBT3ZvQkc7RUdpQ0o7SU5nWE0saUJGcmIyQjtHUXVFaEM7Q1YwbUJBOztBTzdvQkc7RUdpQ0o7SU5tWE0saUJFalpZO0dJZ0NqQjtDVmduQkE7O0FVOW1CRDtFTndYRSxlRnRYYTtFRXVYYixnQkYvYmlCO0VFZ2NqQixpQkFBZ0I7RUFDaEIsaUJGOWJrQjtDUXFFbkI7O0FIdkNHO0VHcUNKO0lONlhJLGlCRi9iNkI7SUVnYzdCLG9CRi9ibUI7R1FtRXRCO0NWMG5CQTs7QU9qcUJHO0VHcUNKO0lOaVlJLGlCQUE2QjtJQUM3QixtQkFBNkI7R01oWWhDO0NWaW9CQTs7QVUvbkJEO0VObVlFLGVGcllhO0VFc1liLGdCRnZjaUI7RUV3Y2pCLGlCQUFnQjtFQUNoQixpQkZ0Y2tCO0NRa0VuQjs7QUgzQ0c7RUd5Q0o7SU53WUksaUJGdmM2QjtJRXdjN0Isb0JGdmNtQjtHUWdFdEI7Q1Yyb0JBOztBT3RyQkc7RUd5Q0o7SU40WUksaUJBQTZCO0lBQzdCLG1CQUE2QjtHTTNZaEM7Q1ZrcEJBOztBVWhwQkQ7RU44WUUsZUZwWmE7RUVxWmIsZ0JGL2NpQjtFRWdkakIsaUJBQWdCO0VBQ2hCLGlCRjlja0I7RUUrY2xCLGlCRmxkaUI7RUVtZGpCLG1CRjlja0M7Q1E2RG5DOztBQUdEO0VBQ0Usd0VSeEN5RTtDUXlDMUU7O0FBR0Q7Z0ZBQ2dGO0FBRWhGLHFCQUFxQjtBQUNyQjtFQUNFLFlBQVc7RUFDWCxhQUFZO0VBQ1osb0JSNUJrQjtFUTZCbEIsV0FBVTtFQUNWLGVBQTBCO0NBQzNCOztBQUVEOztHQUVHO0FUeUZIO0VTdEZFLDBCQUF5QjtF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Ozs7RTFCaEhFLGVGdFhhO0VFdVhiLGdCRi9iaUI7RUVnY2pCLGlCQUFnQjtFQUNoQixpQkY5YmtCO0M0QitpQm5COztBdkJqaEJHO0V1QjZnQko7OztJMUIzR0ksaUJGL2I2QjtJRWdjN0Isb0JGL2JtQjtHNEI2aUJ0QjtDOUJ1bkdBOztBT3hvSEc7RXVCNmdCSjs7O0kxQnZHSSxpQkFBNkI7SUFDN0IsbUJBQTZCO0cwQjBHaEM7QzlCZ29HQTs7QThCOW5HRDtFQUNFLGlDNUJsZmtCO0U0Qm1mbEIsaUJ4QmxoQmdCO0N3QnFpQmpCOztBdkJ4aUJHO0V1Qm1oQko7SUFLSSxtQkFBVTtZQUFWLFdBQVU7SUFDVix5QnhCcmhCZTtZd0JxaEJmLGlCeEJyaEJlO0l3QnNoQmYscUJBQWtDO0lBQ2xDLG9CQUFpQztHQWFwQztDOUJ1bkdBOztBTy9wSEc7RXVCbWhCSjtJQVdJLGdDQUFrQztJQUNsQywrQkFBaUM7R0FTcEM7QzlCOG5HQTs7QU90cUhHO0V1QmtpQkY7SUFFSSxxQnhCOWhCYztJd0IraEJkLG9CeEIvaEJjO0d3QmlpQmpCO0M5QnNvR0Y7O0E4Qm5vR0Q7O0VBRUUsaURBQWdEO0VBQ2hELDZCQUE0QjtFQUM1QixrQ0FBaUM7RUFDakMsMkJBQTBCO0VBQzFCLGU1QjNnQm1CO0U0QjRnQm5CLHNCQUFxQjtFQUNyQiwrQkFBK0I7RUFDL0IsbUJ4Qi9pQmlCO0N3QmdqQmxCOztBQUVEO0VBRUksaUJBQWdCO0NBQ2pCOztBQUhIO0VBS0ksZ0JBQWU7Q0FDaEI7O0FBR0g7RTFCM0xFLGVGMVdXO0VFMldYLGlCQUFnQjtFQUNoQixpQkYzYWtCO0VFNGFsQixvQkYxYXFCO0M0Qm9tQnRCOztBdkJqa0JHO0V1QitqQko7STFCdExJLGdCRmpiZTtHNEJ5bUJsQjtDOUI2b0dBOztBTzlzSEc7RXVCK2pCSjtJMUJuTEksZ0JBQWU7RzBCcUxsQjtDOUJtcEdBOztBT3B0SEc7RXVCK2pCSjtJMUI5S00saUJGcmIyQjtHNEJxbUJoQztDOUJ5cEdBOztBTzF0SEc7RXVCK2pCSjtJMUIzS00saUJFalpZO0d3QjhqQmpC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QkFBcUI7Q0FDdEI7O0FHNUJEO0VvQ2hFSjtJdkM4Rk0sZUFBYztJQUNkLFlBQVc7R3VDa0haO0MzQ2sxUEo7O0EyQ25pUUQ7RUFvTk0sZXpDN0dTO0N5QzhHVjs7QUFyTkw7RUE0Tk0saUJBQTBCO0NBQzNCOztBQTdOTDtFQWdPTSxrQkFBaUI7Q0FDbEI7O0FwQ2pLRDtFb0NoRUo7SUFzT1EscUJBQTZCO0dBTTlCO0VBNU9QO0lBeU9VLDJCekNuSVk7SXlDb0laLHFCQUE2QjtHQUM5QjtFQTNPVDs7SUFnUFEsbUJBQWtCO0dBTW5CO0VBdFBQOztJQW1QVSxZQUFXO0lBQ1gsYUFBWTtHQUNiO0MzQzYwUFI7O0FPbGdRRztFb0NoRUo7SUEyUFEsZUFBYztHQU9mO0VBbFFQO0lBOFBVLGtCQUFpQjtJQUNqQixnQkFBZTtJQUNmLGlCQUEwQjtHQUMzQjtDM0M0MFBSOztBNEM3a1FELDBCQUEwQjtBQUUxQjtFQUVFOztJQUNZLHlCQUF5QjtJQUNuQyxzQ0FBcUM7R0FLdEM7RUFIQzs7SUFBZSw0QkFBNEI7SUFDekMsaUNBQWdDO0dBQ2pDO0VBR0g7SUFDa0Isa0NBQWtDO0lBQ2hELDZCQUE0QjtJQUM1QixvQkFBbUI7SUFDbkIsZ0IxQ1BlO0cwQ1FoQjtFQUxIOztJQVF1QixnQ0FBZ0M7SUFDbkQsWUFBVztHQUNaO0VBVkg7SUFZc0IsNENBQTRDO0lBQzlELDhCQUE2QjtHQUM5QjtFQUdIO0lBQVcsMEJBQTBCO0lBQ25DLHVCQUFzQjtJQUN0Qix1QkFBc0I7SUFDdEIscUJBQW9CO0lBQ3BCLHNCQUFxQjtHQUN0QjtFQUVEOzs7O0lBR1csOENBQThDO0lBQ3ZELFlBQVc7SUFDWCx5Q0FBd0M7SUFDeEMsa0NBQWlDO0dBQ2xDO0VBRUQ7Ozs7Ozs7Ozs7Ozs7O0lBYWMsb0NBQW9DO0lBQ2hELG1CQUFrQjtJQUNsQixjQUFhO0dBQ2Q7QzVDOGtRRjs7QTRDNWtRQyxzQkFBc0IiLCJmaWxlIjoic3R5bGVzLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qIEBwYXJ0aWFsIG5vcm1hbGl6ZSAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG59XG5cbi8qIFJlbW92ZSB0b3VjaCBkZWxheSBJT1M5LjMrLCBPbGRlciBicm93c2VyIHdvdWxkIG5lZWQgRmFzdENsaWNrIGpzIGxpYnJhcnkgdG8gZGlzYWJsZSAzNTBtcyBkZWxheSAqL1xuYSxcbmlucHV0LFxudGV4dGFyZWEsXG5idXR0b24sXG5zZWxlY3Qge1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovXG59XG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgbWFyZ2luOiAwO1xuICAvKiAzICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogNCAqL1xufVxuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqL1xufVxuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqL1xufVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIG1hcmdpbi1yaWdodDogNXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuYnV0dG9uLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qIFRleHQgaGlnaGxpZ2h0IGNvbG9yXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNlMTJmMjI7XG4gIC8qIFNhZmFyaSAqL1xuICBjb2xvcjogI2ZmZjtcbn1cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNlMTJmMjI7XG4gIC8qIEZpcmVmb3ggKi9cbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5pbWcge1xuICAvKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS4gKi9cbiAgYm9yZGVyOiAwO1xuICAvKiBTdXBwcmVzcyB0aGUgc3BhY2UgYmVuZWF0aCB0aGUgYmFzZWxpbmUgKi9cbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgLyogUmVzcG9uc2l2ZSBpbWFnZXMgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5pZTggaW1nIHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICAvKiBpZTggbmVlZHMgXCJ3aWR0aDogYXV0bztcIiBhbmQgXCJtYXgtd2lkdGg6IG5vbmU7XCIgZm9yIGllOCBvbmx5ICovXG4gIHdpZHRoOiBhdXRvO1xufVxuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZpZ3VyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEBwYXJ0aWFsIF9saW5rcy5zY3NzICovXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgY29sb3I6ICNlMTJmMjI7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbn1cblxuYTpob3ZlciwgYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpob3ZlciB7XG4gIGNvbG9yOiAjMjIyMjIyO1xufVxuXG5hOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCAjZTEyZjIyO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4jc2tpcC10by1tYWluOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2UxMmYyMjtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMnB4IDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuYS5jaGF0X19sYWJlbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNoYXQgLmNoYXRfX3N0YXR1cyB7XG4gIGNvbG9yOiAjNTI1MjUyO1xuICBmb250LXdlaWdodDogMzAwO1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLmNoYXQgLmNoYXRfX3N0YXR1czpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTJweDtcbn1cblxuLmNoYXQuY2hhdC0tb25saW5lIC5jaGF0X19zdGF0dXM6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzAwYTE2ODtcbiAgLXdlYmtpdC1hbmltYXRpb246IHB1bHNlIDNzIGluZmluaXRlO1xuICAvKiBTYWZhcmkgNCsgKi9cbiAgLW1vei1hbmltYXRpb246IHB1bHNlIDNzIGluZmluaXRlO1xuICAvKiBGeCA1KyAqL1xuICAtby1hbmltYXRpb246IHB1bHNlIDNzIGluZmluaXRlO1xuICAvKiBPcGVyYSAxMisgKi9cbiAgYW5pbWF0aW9uOiBwdWxzZSAzcyBpbmZpbml0ZTtcbiAgLyogSUUgMTArLCBGeCAyOSsgKi9cbn1cblxuLmNoYXQuY2hhdC0tb2ZmbGluZSAuY2hhdF9fc3RhdHVzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNhN2E3YTc7XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDBkNDg5O1xuICB9XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZDogIzAwYTE2ODtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDBkNDg5O1xuICB9XG59XG5cbkAtbW96LWtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDBkNDg5O1xuICB9XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZDogIzAwYTE2ODtcbiAgfVxuICAxMDAlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDBkNDg5O1xuICB9XG59XG5cbkAtby1rZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgYmFja2dyb3VuZDogIzAwZDQ4OTtcbiAgfVxuICA1MCUge1xuICAgIGJhY2tncm91bmQ6ICMwMGExNjg7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZDogIzAwZDQ4OTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIGJhY2tncm91bmQ6ICMwMGQ0ODk7XG4gIH1cbiAgNTAlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDBhMTY4O1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQ6ICMwMGQ0ODk7XG4gIH1cbn1cblxuLyogQHBhcnRpYWwgX2xpc3RzLnNjc3MgKi9cbi8qXG4gKiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUU2LzdcbiAqL1xuZGwsXG5tZW51LFxub2wsXG51bCB7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuXG51bCBsaSxcbm9sIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxudWwgdWwsIHVsIG9sLCBvbCB1bCwgb2wgb2wge1xuICBtYXJnaW46IDA7XG4gIC8qIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLiAqL1xufVxuXG4vKlxuICogQWRkcmVzc2VzIHBhZGRpbmdzIHNldCBkaWZmZXJlbnRseSBpbiBJRTYvN1xuICovXG5tZW51LFxub2wsXG51bCB7XG4gIHBhZGRpbmc6IDAgMCAwIDE2LjY2NjY2NjY2NjdweDtcbiAgLyogTFRSICovXG59XG5cbi8qXG4gKiBDb3JyZWN0cyBsaXN0IGltYWdlcyBoYW5kbGVkIGluY29ycmVjdGx5IGluIElFN1xuICovXG5uYXYgdWwsXG5uYXYgb2wge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBsaXN0LXN0eWxlLWltYWdlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi50b29sYmFyLW1lbnUtYWRtaW5pc3RyYXRpb24gdWwgbGkge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udG9vbGJhci1tZW51LWFkbWluaXN0cmF0aW9uIHVsIGxpIGEge1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG5kbCBkdCB7XG4gIHBhZGRpbmc6IDIwcHggMCAxMHB4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QzZDNkMztcbn1cblxuZGwgZGQge1xuICBwYWRkaW5nOiAwIDAgMjBweDtcbiAgbWFyZ2luOiAwO1xufVxuXG5kbCBhIHtcbiAgYm9yZGVyOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29sb3I6ICNlMTJmMjI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuZGwgYTphZnRlciB7XG4gIHRyYW5zaXRpb246IG1hcmdpbi1sZWZ0IDAuMjVzIGVhc2U7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbmRsIGE6aG92ZXIsIGRsIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuZGwgYTpob3ZlcjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG5kbCBhOmhvdmVyLCBkbCBhOmZvY3VzIHtcbiAgY29sb3I6ICNlMTJmMjI7XG59XG5cbmRsIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctLXJlZC5wbmdcIik7XG59XG5cbi5zdmcgZGwgYTphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9hcnJvdy0tcmVkLnN2Z1wiKTtcbn1cblxuLyogVHdvIENvbHVtbiBMaXN0cyAqL1xudWwudHdvLWNvbHVtbnMge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgdWwudHdvLWNvbHVtbnMge1xuICAgIGNvbHVtbnM6IDI7XG4gICAgY29sdW1uLWdhcDogMjVweDtcbiAgfVxufVxuXG51bC50d28tY29sdW1ucyBsaSB7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuICB0ZXh0LWluZGVudDogLTIycHg7XG59XG5cbmxpLm5vLWJ1bGxldCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLyogQHBhcnRpYWwgX2hlbHBlcnMuc2NzcyAqL1xuLyogUmVzcG9uc2l2ZSB0YWJsZXMuLi4gV3JhcCA8dGFibGU+IGluIGRpdiBhbmQgaXQgd2lsbCBzY3JvbGwgd2hlbiBvdmVyZmxvd2luZy5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGFibGUtcmVzcG9uc2l2ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG4gIG92ZXJmbG93LXg6IHNjcm9sbDtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBzY3JvbGxiYXI7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgbWFyZ2luOiAwIDAgNDBweCAwO1xufVxuXG4udGFibGUtcmVzcG9uc2l2ZSB0YWJsZSB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogUmVzcG9uc2l2ZSB2aWRlbyBlbWJlZC4gWW91dHViZSAvIFZpbWVvXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnZpZGVvLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgcGFkZGluZy10b3A6IDMwcHg7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnZpZGVvLWNvbnRhaW5lciBpZnJhbWUsXG4udmlkZW8tY29udGFpbmVyIG9iamVjdCxcbi52aWRlby1jb250YWluZXIgZW1iZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLyogQWNjZXNzaWJpbGl0eSBmZWF0dXJlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKiBlbGVtZW50LWludmlzaWJsZSBhcyBkZWZpbmVkIGJ5IGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgKi9cbi5lbGVtZW50LWludmlzaWJsZSxcbi5lbGVtZW50LWZvY3VzYWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xufVxuXG4vKiBUdXJucyBvZmYgdGhlIGVsZW1lbnQtaW52aXNpYmxlIGVmZmVjdC4gKi9cbi5lbGVtZW50LWZvY3VzYWJsZTphY3RpdmUsIC5lbGVtZW50LWZvY3VzYWJsZTpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgY2xpcDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5jbGVhciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKiBAcGFydGlhbCBfYW5pbWF0aW9uLnNjc3MgKi9cbi5mYWRlLWluLCAuZmFkZS1vdXQge1xuICBhbmltYXRpb24tZHVyYXRpb246IC41cztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLmZhZGUtaW4ge1xuICBhbmltYXRpb24tbmFtZTogZmFkZVByb2dyYW1JbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZhZGUtb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVQcm9ncmFtT3V0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcGFkZGluZy10b3A6IDIuNXJlbTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cbi8qIE1vYmlsZSBNYWluIE1lbnUgKi9cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlQm91bmNlVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVQcm9ncmFtT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZVByb2dyYW1JbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICB3aWR0aDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG4vKiBAcGFydGlhbCB0eXBvZ3JhcGh5ICovXG4vKiBMaWdodCAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnY29yZXNhbnMnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2NvcmVzYW5zYzM1LXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2NvcmVzYW5zYzM1LXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qIE1lZGl1bSAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnY29yZXNhbnMnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2NvcmVzYW5zYzU1LXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2NvcmVzYW5zYzU1LXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qIEJvbGQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2NvcmVzYW5zYzY1JztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9jb3Jlc2Fuc2M2NS13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9jb3Jlc2Fuc2M2NS13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKiBFeHRyYWJvbGQgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2NvcmVzYW5zJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9jb3Jlc2Fuc2M3NS13ZWJmb250LndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9jb3Jlc2Fuc2M3NS13ZWJmb250LndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4vKiBCbGFjayAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnY29yZXNhbnMnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2NvcmVzYW5zYzk1LXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2NvcmVzYW5zYzk1LXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogOTAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qKlxuICogMS4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBcImNvcmVzYW5zXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS42O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG5ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBsZWZ0IDAuNXMgZWFzZTtcbiAgbGVmdDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgYm9keSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgYm9keSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG59XG5cbi8qICBIZWFkZXIgU3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaDEge1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiA2NXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgfVxufVxuXG5oMiB7XG4gIGNvbG9yOiAjZTEyZjIyO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICBoMiB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICBoMiB7XG4gICAgbWFyZ2luLXRvcDogMzZweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIGgyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG59XG5cbmgzIHtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgaDMge1xuICAgIG1hcmdpbi10b3A6IDQ0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxufVxuXG5oNCB7XG4gIGNvbG9yOiAjMjIyMjIyO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAzNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICBoNCB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbn1cblxuaDUsIGg2IHtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC1mYW1pbHk6IFwiY29yZXNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xufVxuXG4vKiAgTWlzY1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIFRoZW1hdGljIGJyZWFrLiAqL1xuaHIge1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZDNkM2QzO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDQwcHggMDtcbn1cblxuLypcbiAqIEFkZHJlc3NlcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFNy84LzksIFM1LCBDaHJvbWVcbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICBjdXJzb3I6IGhlbHA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgc3R5bGUgc2V0IHRvICdib2xkZXInIGluIEZGMyssIFM0LzUsIENocm9tZVxuKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuYmxvY2txdW90ZSB7XG4gIC8qIFNldHMgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLiAqL1xuICBtYXJnaW46IDIwcHggMDtcbiAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCAjZDNkM2QzO1xuICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICBmb250LXN0eWxlOiBvYmxpcXVlO1xufVxuXG4vKlxuICogQWRkcmVzc2VzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gUzUsIENocm9tZVxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRTYvNy84LzlcbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKlxuICogMS4gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBJbXByb3ZlcyByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzXG4gKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiAxICovXG4gIC8qIFNldHMgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLiAqL1xuICBtYXJnaW46IDIwcHggMDtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIC8qIDIgKi9cbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAvKiAyICovXG59XG5cbnAge1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qXG4gKiBDb3JyZWN0cyBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gSUU2LCBTNC81LCBDaHJvbWVcbiAqIGVuLndpa2lwZWRpYS5vcmcvd2lraS9Vc2VyOkRhdmlkZ290aGJlcmcvVGVzdDU5XG4gKi9cbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wLFxudHQsXG52YXIge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBcIkNvdXJpZXIgTmV3XCIsIFwiRGVqYVZ1IFNhbnMgTW9ub1wiLCBzYW5zLXNlcmlmO1xuICAvKiBUaGUgJGZvbnQtbW9ub3NwYWNlIHZhbHVlIGVuZHMgd2l0aCBcIiwgc2VyaWZcIi4gKi9cbn1cblxuLypcbiAqIFByZXZlbnRzIHN1YiBhbmQgc3VwIGFmZmVjdGluZyBsaW5lLWhlaWdodCBpbiBhbGwgYnJvd3NlcnNcbiAqIGdpc3QuZ2l0aHViLmNvbS80MTM5MzBcbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gIG1hcmdpbjogMDtcbn1cblxucC5sYXJnZSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIHAubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIHAubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuXG5wLnRleHQtLXNtYWxsIHtcbiAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4vKiBAcGFydGlhbCBfaWNvbi1mb250LnNjc3MgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICBzcmM6IHVybChcIi4uLy4uL3ZlbmRvci9mb250cy9pY29tb29uLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuLi8uLi92ZW5kb3IvZm9udHMvaWNvbW9vbi5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuLi8uLi92ZW5kb3IvZm9udHMvaWNvbW9vbi53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uLy4uL3ZlbmRvci9mb250cy9pY29tb29uLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vLi4vdmVuZG9yL2ZvbnRzL2ljb21vb24uc3ZnI2ljb21vb25cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbltjbGFzc149XCJpY29uLVwiXSwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIGZvbnQtZmFtaWx5OiBcImljb21vb25cIjtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbi5pY29uLWFzdGVyaXNrIHtcbiAgY29udGVudDogXCJcXGYwNjlcIjtcbn1cblxuLmljb24tc2VhcmNoIHtcbiAgY29udGVudDogXCJcXGYwMDJcIjtcbn1cblxuLmljb24tc3RhciB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA1XCI7XG59XG5cbi5pY29uLXVzZXIge1xuICBjb250ZW50OiBcIlxcZjAwN1wiO1xufVxuXG4uaWNvbi1jaGVjayB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG59XG5cbi5pY29uLWNsb3NlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cblxuLmljb24tcmVtb3ZlIHtcbiAgY29udGVudDogXCJcXGYwMGRcIjtcbn1cblxuLmljb24tdGltZXMge1xuICBjb250ZW50OiBcIlxcZjAwZFwiO1xufVxuXG4uaWNvbi1wbGF5LWNpcmNsZS1vIHtcbiAgY29udGVudDogXCJcXGYwMWRcIjtcbn1cblxuLmljb24tYm9vayB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJkXCI7XG59XG5cbi5pY29uLXZpZGVvLWNhbWVyYSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNkXCI7XG59XG5cbi5pY29uLWltYWdlIHtcbiAgY29udGVudDogXCJcXGYwM2VcIjtcbn1cblxuLmljb24tcGhvdG8ge1xuICBjb250ZW50OiBcIlxcZjAzZVwiO1xufVxuXG4uaWNvbi1waWN0dXJlLW8ge1xuICBjb250ZW50OiBcIlxcZjAzZVwiO1xufVxuXG4uaWNvbi1tYXAtbWFya2VyIHtcbiAgY29udGVudDogXCJcXGYwNDFcIjtcbn1cblxuLmljb24tY2hldnJvbi1sZWZ0IHtcbiAgY29udGVudDogXCJcXGYwNTNcIjtcbn1cblxuLmljb24tY2hldnJvbi1yaWdodCB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG59XG5cbi5pY29uLWNoZXZyb24tZG93biB7XG4gIGNvbnRlbnQ6IFwiXFxmMDc4XCI7XG59XG5cbi5pY29uLXR3aXR0ZXIge1xuICBjb250ZW50OiBcIlxcZjA5OVwiO1xufVxuXG4uaWNvbi1mYWNlYm9vayB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlhXCI7XG59XG5cbi5pY29uLWZhY2Vib29rLWYge1xuICBjb250ZW50OiBcIlxcZjA5YVwiO1xufVxuXG4uaWNvbi1maWx0ZXIge1xuICBjb250ZW50OiBcIlxcZjBiMFwiO1xufVxuXG4uaWNvbi1lbnZlbG9wZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUwXCI7XG59XG5cbi5pY29uLWNpcmNsZS1vIHtcbiAgY29udGVudDogXCJcXGYxMGNcIjtcbn1cblxuLmljb24tZmlsZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTViXCI7XG59XG5cbi5pY29uLWluc3RhZ3JhbSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZkXCI7XG59XG5cbi5pY29uLXBhaW50LWJydXNoIHtcbiAgY29udGVudDogXCJcXGYxZmNcIjtcbn1cblxuLmljb24tZW5sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4OVwiO1xufVxuXG4uaWNvbi1zaHJpbms6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5OGFcIjtcbn1cblxuLyogQHBhcnRpYWwgX2Zvcm0tZWxlbWVudHMuc2NzcyAqL1xuYnV0dG9uOm5vdCgubm8tYnV0dG9uKSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdIHtcbiAgYm9yZGVyOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6ICNlMTJmMjI7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDE1cHggNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmJ1dHRvbjpub3QoLm5vLWJ1dHRvbik6aG92ZXIsIGJ1dHRvbjpub3QoLm5vLWJ1dHRvbik6Zm9jdXMsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJidXR0b25cIl06aG92ZXIsXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2JmMjgxZDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICBidXR0b246bm90KC5uby1idXR0b24pLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuICBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuICBpbnB1dFt0eXBlPVwicmVzZXRcIl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbmlucHV0W3ZhbHVlPVwiRGVsZXRlXCJdLFxuaW5wdXRbdmFsdWU9XCJSZW1vdmVcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgYm9yZGVyOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6ICMyMjIyMjI7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDE1cHggNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbmlucHV0W3ZhbHVlPVwiRGVsZXRlXCJdOmhvdmVyLCBpbnB1dFt2YWx1ZT1cIkRlbGV0ZVwiXTpmb2N1cyxcbmlucHV0W3ZhbHVlPVwiUmVtb3ZlXCJdOmhvdmVyLFxuaW5wdXRbdmFsdWU9XCJSZW1vdmVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ1dHRvbi0tc2Vjb25kYXJ5OmhvdmVyLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24tLXNlY29uZGFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgaW5wdXRbdmFsdWU9XCJEZWxldGVcIl0sXG4gIGlucHV0W3ZhbHVlPVwiUmVtb3ZlXCJdLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ubm8tYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiAxMnB4IDE1cHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwidGltZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJ3ZWVrXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICNlMTJmMjI7XG59XG5cbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdLFxuaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cIndlZWtcIl0sXG5pbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDc2MHB4O1xufVxuXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0ge1xuICB3aWR0aDogMzAwcHg7XG59XG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICB3aWR0aDogNjBweDtcbn1cblxuLyogQ29ycmVjdCBoZWlnaHQgb2YgaW1hZ2UgaW5wdXRzIGxpa2UgaW5wdXRzIGZvdW5kIGluIFBheXBhbCBmb3JtcyAqL1xuaW5wdXRbdHlwZT1cImltYWdlXCJdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKiBIaWdobGlnaHQgdGhlIGZvcm0gZWxlbWVudHMgdGhhdCBjYXVzZWQgYSBmb3JtIHN1Ym1pc3Npb24gZXJyb3IuICovXG5pbnB1dC5lcnJvcixcbnRleHRhcmVhLmVycm9yLFxuc2VsZWN0LmVycm9yIHtcbiAgYm9yZGVyOiA0cHggc29saWQgIzc0MTcxMDtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGZvbnQgZmFtaWx5IG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gS2VlcCBmb3JtIGVsZW1lbnRzIGNvbnN0cmFpbmVkIGluIHRoZWlyIGNvbnRhaW5lcnMuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDIgKi9cbn1cblxudGV4dGFyZWEsXG5pbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QzZDNkMztcbiAgcGFkZGluZzogMTJweCAxNXB4O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXIsIGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjFzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbmlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSkge1xuICBtYXgtd2lkdGg6IDc2MHB4O1xuICAvKiBmaXhlZCBvdmVyZmxvdyBvZiBpbnB1dCBmaWVsZHMgaW4gZHJ1cGFsIDYgbGF5b3V0cyAqL1xufVxuXG5odG1sLmpzIGlucHV0LmZvcm0tYXV0b2NvbXBsZXRlIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTklIDVweDtcbn1cblxuaHRtbC5qcyBpbnB1dC50aHJvYmJpbmcge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5OSUgLTE1cHg7XG59XG5cbnRleHRhcmVhW2Rpc2FibGVkXSxcbnNlbGVjdFtkaXNhYmxlZF0sXG5pbnB1dFtkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlY2VkO1xuICBjb2xvcjogI2QzZDNkMztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyogSW5wdXQgcGxhY2Vob2xkZXIgY29sb3JcbiAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMjIyMjIyO1xufVxuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXI6Zm9jdXMge1xuICBjb2xvcjogIzIyMjIyMjtcbn1cblxuOmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICMyMjIyMjI7XG59XG5cbjotbW96LXBsYWNlaG9sZGVyIHtcbiAgLyogRmlyZWZveCAxOC0gKi9cbiAgY29sb3I6ICMyMjIyMjI7XG59XG5cbjotbW96LXBsYWNlaG9sZGVyOmZvY3VzIHtcbiAgY29sb3I6ICMyMjIyMjI7XG59XG5cbjo6LW1vei1wbGFjZWhvbGRlciB7XG4gIC8qIEZpcmVmb3ggMTkrICovXG4gIGNvbG9yOiAjMjIyMjIyO1xufVxuXG46Oi1tb3otcGxhY2Vob2xkZXI6Zm9jdXMge1xuICBjb2xvcjogIzIyMjIyMjtcbn1cblxuOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjMjIyMjIyO1xufVxuXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyOmZvY3VzIHtcbiAgY29sb3I6ICMyMjIyMjI7XG59XG5cbi5mb3JtLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFNlYXJjaCAqL1xuLnByb2dyYW0tc2VhcmNoLWJsb2NrIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlYXJjaC5wbmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMTVweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byAxN3B4O1xuICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG59XG5cbi5zdmcgLnByb2dyYW0tc2VhcmNoLWJsb2NrIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLCAuc3ZnXG4uZGF2LXByb2dyYW0tc2VhcmNoLW1pbmkgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2VhcmNoLnN2Z1wiKTtcbn1cblxuLyogRGF0ZS9UaW1lIElucHV0cyAqL1xuaW5wdXQudWktdGltZXBpY2tlci1pbnB1dCxcbmlucHV0Lmhhc0RhdGVwaWNrZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAyMHB4IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNXB4IGF1dG87XG4gIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG59XG5cbmlucHV0LnVpLXRpbWVwaWNrZXItaW5wdXQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdGltZS5wbmdcIik7XG59XG5cbi5zdmcgaW5wdXQudWktdGltZXBpY2tlci1pbnB1dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy90aW1lLnN2Z1wiKTtcbn1cblxuaW5wdXQuaGFzRGF0ZXBpY2tlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9kYXRlLnBuZ1wiKTtcbn1cblxuLnN2ZyBpbnB1dC5oYXNEYXRlcGlja2VyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2RhdGUuc3ZnXCIpO1xufVxuXG4vKiBDaGVja2JveGVzL1JhZGlvcyAqL1xuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1zLWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xufVxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3JkZXItcmFkaXVzOiA5cHg7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxMmYyMjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3JhZGlvLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA4cHggYXV0bztcbn1cblxuLnN2ZyBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9yYWRpby5zdmdcIik7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGJhY2tncm91bmQtc2l6ZTogMTJweCBhdXRvO1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jaGVja21hcmsucG5nXCIpO1xufVxuXG4uc3ZnIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NoZWNrbWFyay5zdmdcIik7XG59XG5cbi8qIFNlbGVjdCBCb3hlcyAqL1xuLnNlbGVjdGJveGl0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDU7XG4gIC8qIFNlbGVjdCBCb3ggKi9cbiAgLyogT3B0aW9ucyBMaXN0ICovXG59XG5cbi5zZWxlY3Rib3hpdC1jb250YWluZXIgLnNlbGVjdGJveGl0LWJ0biB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0NXB4O1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAvKiBBcnJvdyAqL1xufVxuXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1idG4uc2VsZWN0Ym94aXQtZm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1idG4gLnNlbGVjdGJveGl0LWFycm93LWNvbnRhaW5lciB7XG4gIGNvbG9yOiAjZTEyZjIyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAtMXB4O1xuICB3aWR0aDogNDVweDtcbiAgaGVpZ2h0OiA0NXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5zZWxlY3Rib3hpdC1jb250YWluZXIgLnNlbGVjdGJveGl0LWJ0biAuc2VsZWN0Ym94aXQtYXJyb3ctY29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgYm9yZGVyLWNvbG9yOiAjZTEyZjIyIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDhweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1saXN0LCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5pbnRlcmVzdGVkLWxpc3Qge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMCAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7XG4gIHotaW5kZXg6IC0xO1xuICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBtaW4taGVpZ2h0OiA0NXB4O1xuICBtYXgtaGVpZ2h0OiAzNTBweCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xuICBwYWRkaW5nOiA0NXB4IDEwcHggMDtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIC8qIE9wdGlvbiAqL1xufVxuXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1saXN0IC5zZWxlY3Rib3hpdC1vcHRpb24sIC5zZWxlY3Rib3hpdC1jb250YWluZXIgLnNlbGVjdGJveGl0LWxpc3QgLmludGVyZXN0ZWQtaXRlbSwgLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuaW50ZXJlc3RlZC1saXN0IC5zZWxlY3Rib3hpdC1vcHRpb24sIC5zZWxlY3Rib3hpdC1jb250YWluZXIgLmludGVyZXN0ZWQtbGlzdCAuaW50ZXJlc3RlZC1pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbjogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QzZDNkMztcbiAgLyogRm9jdXNlZCBPcHRpb24gKi9cbn1cblxuLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQtbGlzdCAuc2VsZWN0Ym94aXQtb3B0aW9uIGEsIC5zZWxlY3Rib3hpdC1jb250YWluZXIgLnNlbGVjdGJveGl0LWxpc3QgLmludGVyZXN0ZWQtaXRlbSBhLCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5pbnRlcmVzdGVkLWxpc3QgLnNlbGVjdGJveGl0LW9wdGlvbiBhLCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5pbnRlcmVzdGVkLWxpc3QgLmludGVyZXN0ZWQtaXRlbSBhIHtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQtbGlzdCAuc2VsZWN0Ym94aXQtb3B0aW9uLnNlbGVjdGJveGl0LW9wdGlvbi1maXJzdCwgLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQtbGlzdCAuaW50ZXJlc3RlZC1pdGVtLnNlbGVjdGJveGl0LW9wdGlvbi1maXJzdCwgLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuaW50ZXJlc3RlZC1saXN0IC5zZWxlY3Rib3hpdC1vcHRpb24uc2VsZWN0Ym94aXQtb3B0aW9uLWZpcnN0LCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5pbnRlcmVzdGVkLWxpc3QgLmludGVyZXN0ZWQtaXRlbS5zZWxlY3Rib3hpdC1vcHRpb24tZmlyc3Qge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1saXN0IC5zZWxlY3Rib3hpdC1vcHRpb24uc2VsZWN0Ym94aXQtc2VsZWN0ZWQgYSwgLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQtbGlzdCAuc2VsZWN0Ym94aXQtb3B0aW9uOmhvdmVyIGEsIC5zZWxlY3Rib3hpdC1jb250YWluZXIgLnNlbGVjdGJveGl0LWxpc3QgLnNlbGVjdGJveGl0LW9wdGlvbi5zZWxlY3Rib3hpdC1mb2N1cyBhLCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1saXN0IC5pbnRlcmVzdGVkLWl0ZW0uc2VsZWN0Ym94aXQtc2VsZWN0ZWQgYSwgLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQtbGlzdCAuaW50ZXJlc3RlZC1pdGVtOmhvdmVyIGEsIC5zZWxlY3Rib3hpdC1jb250YWluZXIgLnNlbGVjdGJveGl0LWxpc3QgLmludGVyZXN0ZWQtaXRlbS5zZWxlY3Rib3hpdC1mb2N1cyBhLCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5pbnRlcmVzdGVkLWxpc3QgLnNlbGVjdGJveGl0LW9wdGlvbi5zZWxlY3Rib3hpdC1zZWxlY3RlZCBhLCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5pbnRlcmVzdGVkLWxpc3QgLnNlbGVjdGJveGl0LW9wdGlvbjpob3ZlciBhLCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5pbnRlcmVzdGVkLWxpc3QgLnNlbGVjdGJveGl0LW9wdGlvbi5zZWxlY3Rib3hpdC1mb2N1cyBhLCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5pbnRlcmVzdGVkLWxpc3QgLmludGVyZXN0ZWQtaXRlbS5zZWxlY3Rib3hpdC1zZWxlY3RlZCBhLCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5pbnRlcmVzdGVkLWxpc3QgLmludGVyZXN0ZWQtaXRlbTpob3ZlciBhLCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5pbnRlcmVzdGVkLWxpc3QgLmludGVyZXN0ZWQtaXRlbS5zZWxlY3Rib3hpdC1mb2N1cyBhIHtcbiAgY29sb3I6ICNlMTJmMjI7XG59XG5cbi5zZWxlY3Rib3hpdC1jb250YWluZXIgLnNlbGVjdGJveGl0LWxpc3QgLnNlbGVjdGJveGl0LW9wdGlvbi5zZWxlY3Rib3hpdC1mb2N1cywgLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQtbGlzdCAuc2VsZWN0Ym94aXQtb3B0aW9uIGxpLmludGVyZXN0ZWQtaXRlbTpmb2N1cywgLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQtbGlzdCAuaW50ZXJlc3RlZC1pdGVtLnNlbGVjdGJveGl0LWZvY3VzLCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1saXN0IC5pbnRlcmVzdGVkLWl0ZW0gbGkuaW50ZXJlc3RlZC1pdGVtOmZvY3VzLCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5pbnRlcmVzdGVkLWxpc3QgLnNlbGVjdGJveGl0LW9wdGlvbi5zZWxlY3Rib3hpdC1mb2N1cywgLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuaW50ZXJlc3RlZC1saXN0IC5zZWxlY3Rib3hpdC1vcHRpb24gbGkuaW50ZXJlc3RlZC1pdGVtOmZvY3VzLCAuc2VsZWN0Ym94aXQtY29udGFpbmVyIC5pbnRlcmVzdGVkLWxpc3QgLmludGVyZXN0ZWQtaXRlbS5zZWxlY3Rib3hpdC1mb2N1cywgLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuaW50ZXJlc3RlZC1saXN0IC5pbnRlcmVzdGVkLWl0ZW0gbGkuaW50ZXJlc3RlZC1pdGVtOmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCAjZTEyZjIyO1xuICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyIC5zZWxlY3Rib3hpdC1saXN0IC5zZWxlY3Rib3hpdC1vcHRpb24uc2VsZWN0Ym94aXQtZm9jdXM6aG92ZXIsIC5zZWxlY3Rib3hpdC1jb250YWluZXIgLnNlbGVjdGJveGl0LWxpc3QgLnNlbGVjdGJveGl0LW9wdGlvbiBsaS5pbnRlcmVzdGVkLWl0ZW06Zm9jdXM6aG92ZXIsIC5zZWxlY3Rib3hpdC1jb250YWluZXIgLnNlbGVjdGJveGl0LWxpc3QgLmludGVyZXN0ZWQtaXRlbS5zZWxlY3Rib3hpdC1mb2N1czpob3ZlciwgLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuc2VsZWN0Ym94aXQtbGlzdCAuaW50ZXJlc3RlZC1pdGVtIGxpLmludGVyZXN0ZWQtaXRlbTpmb2N1czpob3ZlciwgLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuaW50ZXJlc3RlZC1saXN0IC5zZWxlY3Rib3hpdC1vcHRpb24uc2VsZWN0Ym94aXQtZm9jdXM6aG92ZXIsIC5zZWxlY3Rib3hpdC1jb250YWluZXIgLmludGVyZXN0ZWQtbGlzdCAuc2VsZWN0Ym94aXQtb3B0aW9uIGxpLmludGVyZXN0ZWQtaXRlbTpmb2N1czpob3ZlciwgLnNlbGVjdGJveGl0LWNvbnRhaW5lciAuaW50ZXJlc3RlZC1saXN0IC5pbnRlcmVzdGVkLWl0ZW0uc2VsZWN0Ym94aXQtZm9jdXM6aG92ZXIsIC5zZWxlY3Rib3hpdC1jb250YWluZXIgLmludGVyZXN0ZWQtbGlzdCAuaW50ZXJlc3RlZC1pdGVtIGxpLmludGVyZXN0ZWQtaXRlbTpmb2N1czpob3ZlciB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIERhdGVwaWNrZXIgKi9cbi51aS1kYXRlcGlja2VyIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBmb250LWZhbWlseTogXCJjb3Jlc2Fuc1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICMyMjIyMjI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItaGVhZGVyID4gKiB7XG4gIGhlaWdodDogMjVweDtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7XG59XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciAudWktZGF0ZXBpY2tlci1wcmV2LFxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItaGVhZGVyIC51aS1kYXRlcGlja2VyLW5leHQge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdG9wOiAwO1xufVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgLnVpLWRhdGVwaWNrZXItcHJldi51aS1zdGF0ZS1ob3Zlcixcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciAudWktZGF0ZXBpY2tlci1uZXh0LnVpLXN0YXRlLWhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2UxMmYyMjtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgLnVpLWRhdGVwaWNrZXItcHJldiAudWktaWNvbixcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciAudWktZGF0ZXBpY2tlci1uZXh0IC51aS1pY29uIHtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItaGVhZGVyIC51aS1kYXRlcGlja2VyLXByZXY6YWZ0ZXIsXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgLnVpLWRhdGVwaWNrZXItbmV4dDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFwyNUI4XCI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgLnVpLWRhdGVwaWNrZXItcHJldiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gIGxpbmUtaGVpZ2h0OiAyM3B4O1xufVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgLnVpLWRhdGVwaWNrZXItcHJldixcbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWhlYWRlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyIHtcbiAgbGVmdDogMDtcbn1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItaGVhZGVyIC51aS1kYXRlcGlja2VyLW5leHQsXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7XG4gIHJpZ2h0OiAwO1xufVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1oZWFkZXIgc2VsZWN0IHtcbiAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgYm9yZGVyLWNvbG9yOiAjMjIyMjIyO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICB3aWR0aDogNjBweDtcbiAgbWFyZ2luOiAwIDVweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0aGVhZCB0ciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM3MTczNzU7XG59XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRoZWFkIHRoIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBwYWRkaW5nOiAycHggMnB4IDNweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGJvZHkge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRib2R5IHRkIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QzZDNkMztcbiAgcGFkZGluZzogMDtcbn1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGJvZHkgdGQudWktZGF0ZXBpY2tlci11bnNlbGVjdGFibGUge1xuICBiYWNrZ3JvdW5kOiAjZjhmOWY5O1xuICBvcGFjaXR5OiAxO1xufVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0Ym9keSB0ZC51aS1kYXRlcGlja2VyLXVuc2VsZWN0YWJsZSAudWktc3RhdGUtZGVmYXVsdCB7XG4gIG9wYWNpdHk6IDAuMjU7XG59XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRib2R5IHRkLnVpLWRhdGVwaWNrZXItb3RoZXItbW9udGgge1xuICBiYWNrZ3JvdW5kOiAjZWJlY2VkO1xufVxuXG4udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0Ym9keSB0ZCAudWktc3RhdGUtZGVmYXVsdCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHRib2R5IHRkIC51aS1zdGF0ZS1kZWZhdWx0LnVpLXN0YXRlLWhvdmVyLCAudWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0Ym9keSB0ZCAudWktc3RhdGUtZGVmYXVsdC51aS1zdGF0ZS1hY3RpdmUge1xuICBiYWNrZ3JvdW5kOiAjZTEyZjIyO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIgdGJvZHkgdGQgLnVpLXN0YXRlLWRlZmF1bHQudWktc3RhdGUtYWN0aXZlIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogVGltZXBpY2tlciAqL1xuLnVpLXRpbWVwaWNrZXItd3JhcHBlciB7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzO1xuICBib3JkZXItdG9wOiBub25lO1xuICB3aWR0aDogMTUwcHg7XG59XG5cbi51aS10aW1lcGlja2VyLXdyYXBwZXIgLnVpLXRpbWVwaWNrZXItbGlzdCB7XG4gIHBhZGRpbmc6IDAgMTBweDtcbn1cblxuLnVpLXRpbWVwaWNrZXItd3JhcHBlciAudWktdGltZXBpY2tlci1saXN0IGxpIHtcbiAgcGFkZGluZzogMTBweCAwO1xuICBtYXJnaW46IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkM2QzZDM7XG59XG5cbi51aS10aW1lcGlja2VyLXdyYXBwZXIgLnVpLXRpbWVwaWNrZXItbGlzdCBsaTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi51aS10aW1lcGlja2VyLXdyYXBwZXIgLnVpLXRpbWVwaWNrZXItbGlzdCBsaS5zZWxlY3RlZCwgLnVpLXRpbWVwaWNrZXItd3JhcHBlciAudWktdGltZXBpY2tlci1saXN0IGxpOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZTEyZjIyO1xufVxuXG4vKiBAcGFydGlhbCBfYnV0dG9ucy5zY3NzICovXG4uYnV0dG9uLS1wcmltYXJ5LFxuLmJ1dHRvbi5wcmltYXJ5IHtcbiAgYm9yZGVyOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6ICNlMTJmMjI7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDE1cHggNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5idXR0b24tLXByaW1hcnk6aG92ZXIsIC5idXR0b24tLXByaW1hcnk6Zm9jdXMsXG4uYnV0dG9uLnByaW1hcnk6aG92ZXIsXG4uYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjYmYyODFkO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gIC5idXR0b24tLXByaW1hcnksXG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLmJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgYm9yZGVyOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6ICMyMjIyMjI7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDE1cHggNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5idXR0b24tLXNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi0tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAuYnV0dG9uLS1zZWNvbmRhcnkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5idXR0b24tLXRlcnRpYXJ5IHtcbiAgYm9yZGVyOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29sb3I6ICNlMTJmMjI7XG59XG5cbi5idXR0b24tLXRlcnRpYXJ5OmFmdGVyIHtcbiAgdHJhbnNpdGlvbjogbWFyZ2luLWxlZnQgMC4yNXMgZWFzZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLmJ1dHRvbi0tdGVydGlhcnk6aG92ZXIsIC5idXR0b24tLXRlcnRpYXJ5OmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5idXR0b24tLXRlcnRpYXJ5OmhvdmVyOmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi5idXR0b24tLXRlcnRpYXJ5OmhvdmVyLCAuYnV0dG9uLS10ZXJ0aWFyeTpmb2N1cyB7XG4gIGNvbG9yOiAjZTEyZjIyO1xufVxuXG4uYnV0dG9uLS10ZXJ0aWFyeTphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9hcnJvdy0tcmVkLnBuZ1wiKTtcbn1cblxuLnN2ZyAuYnV0dG9uLS10ZXJ0aWFyeTphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9hcnJvdy0tcmVkLnN2Z1wiKTtcbn1cblxuLyogQHBhcnRpYWwgX2ZpZWxkc2V0cy5zY3NzICovXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqIDMuIENvcnJlY3QgYWxpZ25tZW50IGRpc3BsYXllZCBvZGRseSBpbiBJRSA2LzcuXG4gKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKiBAcGFydGlhbCBfdGFibGVzLnNjc3MgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBQcmV2ZW50IGNyYW1wZWQtbG9va2luZyB0YWJsZXMgKi9cbiAgLyogQWRkIHZlcnRpY2FsIHJoeXRobSBtYXJnaW5zLiAqL1xuICBtYXJnaW46IDIwcHggMDtcbn1cblxudGFibGUubm8tYm9yZGVycyB7XG4gIGJvcmRlcjogMDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkzLjY4NzVlbSkge1xuICAudGFibGUtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2QzZDNkMztcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDNkM2QzO1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAudGFibGUtd3JhcHBlciA+IHRhYmxlIHtcbiAgICBtYXJnaW46IDAgLTFweDtcbiAgfVxufVxuXG4udGFibGUtd3JhcHBlci5uby1ib3JkZXJzIHtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbn1cblxudGJvZHkge1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDBweDtcbiAgYm9yZGVyLWNvbG9yOiAjZDNkM2QzIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xufVxuXG50aCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIC8qIExUUiAqL1xuICBiYWNrZ3JvdW5kOiAjNzE3Mzc1O1xuICBjb2xvcjogI2ZmZjtcbn1cblxudGggaDUge1xuICBtYXJnaW46IDA7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICB0aCB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICB9XG4gIHRoIGg1IHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICB0aCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICB9XG4gIHRoIGg1IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cblxudGQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkM2QzZDM7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIHRkIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICB0ZCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG5cbnRkOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDNkM2QzO1xufVxuXG4ubm8tYm9yZGVycyB0ZCB7XG4gIGJvcmRlcjogMDtcbn1cblxuLm5vLWJvcmRlcnMgdGQ6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5uby1ib3JkZXJzIHRkOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICB0YWJsZSB0ZCwgdGFibGUgdGgge1xuICAgIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIHRhYmxlIHRkLCB0YWJsZSB0aCB7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICB9XG59XG5cbnRyLmV2ZW4sXG50cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDFweDtcbiAgYm9yZGVyLWNvbG9yOiAjZDNkM2QzIHRyYW5zcGFyZW50ICNkM2QzZDMgdHJhbnNwYXJlbnQ7XG59XG5cbi5uby1ib3JkZXJzIHRyLmV2ZW4sIC5uby1ib3JkZXJzXG50cjpudGgtY2hpbGQoZXZlbikge1xuICBib3JkZXI6IDA7XG59XG5cbnRyLm9kZCxcbnRyOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAxcHg7XG4gIGJvcmRlci1jb2xvcjogI2QzZDNkMyB0cmFuc3BhcmVudCAjZDNkM2QzIHRyYW5zcGFyZW50O1xufVxuXG4ubm8tYm9yZGVycyB0ci5vZGQsIC5uby1ib3JkZXJzXG50cjpudGgtY2hpbGQob2RkKSB7XG4gIGJvcmRlcjogMDtcbn1cblxudHIuZHJhZyB7XG4gIGJhY2tncm91bmQ6ICNkM2QzZDMgdHJhbnNwYXJlbnQgI2QzZDNkMyB0cmFuc3BhcmVudDtcbn1cblxuLnByb2dyYW0tZ3JvdXAge1xuICBtYXJnaW46IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wcm9ncmFtLWdyb3VwIHRkOmxhc3QtY2hpbGQsIC5wcm9ncmFtLWdyb3VwIHRoOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxNDBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wcm9ncmFtLWdyb3VwIHRkOmxhc3QtY2hpbGQsIC5wcm9ncmFtLWdyb3VwIHRoOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiA4MHB4O1xuICB9XG59XG5cbi5wcm9ncmFtLWdyb3VwIHRoOmxhc3QtY2hpbGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTEyZjIyO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucHJvZ3JhbS1ncm91cCB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDIwMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnByb2dyYW0tZ3JvdXAgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMTBweDtcbiAgfVxufVxuXG4ucHJvZ3JhbS1ncm91cCAuY291cnNlX19kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEBwYXJ0aWFsIF9maWVsZC5zY3NzICovXG4uZGF0ZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmRhdGUgLmRhdGVfX21vbnRoIHtcbiAgY29sb3I6ICM1MjUyNTI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5kYXRlIC5kYXRlX19kYXkge1xuICBjb2xvcjogI2UxMmYyMjtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuI2xpdmVhZ2VudF9pbnZpdGVfYnV0dG9uXzU3M0cwMDAwMDAwNHZmSSBpbWc6bGFzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMThweDtcbn1cblxuLyogQ29udGFjdCBJY29ucyAqL1xuLmNvbnRhY3Q6bm90KC5jb250YWN0LS1idXR0b24pLCAucGFyYWdyYXBoLS1wZXJzb24gLmZpZWxkLS1wZXJzb24tZW1haWwsXG4ucGFyYWdyYXBoLS1wZXJzb24gLmZpZWxkLS1wZXJzb24tcGhvbmUsIC5wYXJhZ3JhcGgtLWNvbnRhY3QgLmZpZWxkLS1jb250YWN0LXBob25lLFxuLnBhcmFncmFwaC0tY29udGFjdCAuZmllbGQtLWNvbnRhY3QtZW1haWwsXG4ucGFyYWdyYXBoLS1jb250YWN0IC5maWVsZC0tY29udGFjdC1hZGRyZXNzLCAuc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtZW1haWwsXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtcGhvbmUsXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtYWRkcmVzcyxcbi5zaWRlYmFyIC5maWVsZC0tY29udGFjdC1mYXgsXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtaG91cnMge1xuICBjb2xvcjogI2UxMmYyMjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZy1sZWZ0OiAyOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jb250YWN0Om5vdCguY29udGFjdC0tYnV0dG9uKSBhLCAucGFyYWdyYXBoLS1wZXJzb24gLmZpZWxkLS1wZXJzb24tZW1haWwgYSwgLnBhcmFncmFwaC0tcGVyc29uIC5maWVsZC0tcGVyc29uLXBob25lIGEsIC5wYXJhZ3JhcGgtLWNvbnRhY3QgLmZpZWxkLS1jb250YWN0LXBob25lIGEsIC5wYXJhZ3JhcGgtLWNvbnRhY3QgLmZpZWxkLS1jb250YWN0LWVtYWlsIGEsIC5wYXJhZ3JhcGgtLWNvbnRhY3QgLmZpZWxkLS1jb250YWN0LWFkZHJlc3MgYSwgLnNpZGViYXIgLmZpZWxkLS1jb250YWN0LWVtYWlsIGEsIC5zaWRlYmFyIC5maWVsZC0tY29udGFjdC1waG9uZSBhLCAuc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtYWRkcmVzcyBhLCAuc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtZmF4IGEsIC5zaWRlYmFyIC5maWVsZC0tY29udGFjdC1ob3VycyBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY29udGFjdDpub3QoLmNvbnRhY3QtLWJ1dHRvbik6YmVmb3JlLCAucGFyYWdyYXBoLS1wZXJzb24gLmZpZWxkLS1wZXJzb24tZW1haWw6YmVmb3JlLFxuLnBhcmFncmFwaC0tcGVyc29uIC5maWVsZC0tcGVyc29uLXBob25lOmJlZm9yZSwgLnBhcmFncmFwaC0tY29udGFjdCAuZmllbGQtLWNvbnRhY3QtcGhvbmU6YmVmb3JlLFxuLnBhcmFncmFwaC0tY29udGFjdCAuZmllbGQtLWNvbnRhY3QtZW1haWw6YmVmb3JlLFxuLnBhcmFncmFwaC0tY29udGFjdCAuZmllbGQtLWNvbnRhY3QtYWRkcmVzczpiZWZvcmUsIC5zaWRlYmFyIC5maWVsZC0tY29udGFjdC1lbWFpbDpiZWZvcmUsXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtcGhvbmU6YmVmb3JlLFxuLnNpZGViYXIgLmZpZWxkLS1jb250YWN0LWFkZHJlc3M6YmVmb3JlLFxuLnNpZGViYXIgLmZpZWxkLS1jb250YWN0LWZheDpiZWZvcmUsXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtaG91cnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cblxuLmNvbnRhY3QuY29udGFjdC0tcGhvbmU6bm90KC5jb250YWN0LS1idXR0b24pOmJlZm9yZSxcbi5wYXJhZ3JhcGgtLXBlcnNvbiAuZmllbGQtLXBlcnNvbi1waG9uZTpiZWZvcmUsXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtcGhvbmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21vYmlsZS0tcmVkLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDEwMCU7XG59XG5cbi5zdmcgLmNvbnRhY3QuY29udGFjdC0tcGhvbmU6bm90KC5jb250YWN0LS1idXR0b24pOmJlZm9yZSxcbi5zdmcgLnBhcmFncmFwaC0tcGVyc29uIC5maWVsZC0tcGVyc29uLXBob25lOmJlZm9yZSwgLnBhcmFncmFwaC0tcGVyc29uIC5zdmcgLmZpZWxkLS1wZXJzb24tcGhvbmU6YmVmb3JlLFxuLnN2ZyAuc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtcGhvbmU6YmVmb3JlLCAuc2lkZWJhciAuc3ZnIC5maWVsZC0tY29udGFjdC1waG9uZTpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbW9iaWxlLS1yZWQuc3ZnXCIpO1xufVxuXG4uY29udGFjdC5jb250YWN0LS1mYXg6bm90KC5jb250YWN0LS1idXR0b24pOmJlZm9yZSxcbi5zaWRlYmFyIC5maWVsZC0tY29udGFjdC1mYXg6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ZheC0tcmVkLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDg1JTtcbn1cblxuLnN2ZyAuY29udGFjdC5jb250YWN0LS1mYXg6bm90KC5jb250YWN0LS1idXR0b24pOmJlZm9yZSxcbi5zdmcgLnNpZGViYXIgLmZpZWxkLS1jb250YWN0LWZheDpiZWZvcmUsIC5zaWRlYmFyIC5zdmcgLmZpZWxkLS1jb250YWN0LWZheDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZmF4LS1yZWQuc3ZnXCIpO1xufVxuXG4uY29udGFjdC5jb250YWN0LS1ob3Vyczpub3QoLmNvbnRhY3QtLWJ1dHRvbik6YmVmb3JlLFxuLnNpZGViYXIgLmZpZWxkLS1jb250YWN0LWhvdXJzOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9ob3Vycy0tcmVkLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDg1JTtcbn1cblxuLnN2ZyAuY29udGFjdC5jb250YWN0LS1ob3Vyczpub3QoLmNvbnRhY3QtLWJ1dHRvbik6YmVmb3JlLFxuLnN2ZyAuc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtaG91cnM6YmVmb3JlLCAuc2lkZWJhciAuc3ZnIC5maWVsZC0tY29udGFjdC1ob3VyczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaG91cnMtLXJlZC5zdmdcIik7XG59XG5cbi5jb250YWN0LmNvbnRhY3QtLWVtYWlsOm5vdCguY29udGFjdC0tYnV0dG9uKTpiZWZvcmUsIC5wYXJhZ3JhcGgtLXBlcnNvbiAuZmllbGQtLXBlcnNvbi1lbWFpbDpiZWZvcmUsIC5zaWRlYmFyIC5maWVsZC0tY29udGFjdC1lbWFpbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbWFpbC0tcmVkLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA4NCUgYXV0bztcbn1cblxuLnN2ZyAuY29udGFjdC5jb250YWN0LS1lbWFpbDpub3QoLmNvbnRhY3QtLWJ1dHRvbik6YmVmb3JlLCAuc3ZnIC5wYXJhZ3JhcGgtLXBlcnNvbiAuZmllbGQtLXBlcnNvbi1lbWFpbDpiZWZvcmUsIC5wYXJhZ3JhcGgtLXBlcnNvbiAuc3ZnIC5maWVsZC0tcGVyc29uLWVtYWlsOmJlZm9yZSwgLnN2ZyAuc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtZW1haWw6YmVmb3JlLCAuc2lkZWJhciAuc3ZnIC5maWVsZC0tY29udGFjdC1lbWFpbDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbWFpbC0tcmVkLnN2Z1wiKTtcbn1cblxuLmNvbnRhY3QuY29udGFjdC0tY2hhdDpub3QoLmNvbnRhY3QtLWJ1dHRvbik6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NoYXQtLXJlZC5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xufVxuXG4uc3ZnIC5jb250YWN0LmNvbnRhY3QtLWNoYXQ6bm90KC5jb250YWN0LS1idXR0b24pOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jaGF0LS1yZWQuc3ZnXCIpO1xufVxuXG4uY29udGFjdC5jb250YWN0LS1hZGRyZXNzOm5vdCguY29udGFjdC0tYnV0dG9uKTpiZWZvcmUsXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtYWRkcmVzczpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jYXRpb24tLXJlZC5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byA4NSU7XG59XG5cbi5zdmcgLmNvbnRhY3QuY29udGFjdC0tYWRkcmVzczpub3QoLmNvbnRhY3QtLWJ1dHRvbik6YmVmb3JlLFxuLnN2ZyAuc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtYWRkcmVzczpiZWZvcmUsIC5zaWRlYmFyIC5zdmcgLmZpZWxkLS1jb250YWN0LWFkZHJlc3M6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvY2F0aW9uLS1yZWQuc3ZnXCIpO1xufVxuXG4vKiBTb2NpYWwgSWNvbnMgKi9cbi5zb2NpYWwge1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBib3JkZXItcmFkaXVzOiAyMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zb2NpYWw6aG92ZXIsIC5zb2NpYWw6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTEyZjIyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMTI1KTtcbn1cblxuLnNvY2lhbC5mYWNlYm9vayB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9mYWNlYm9vay0td2hpdGUucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjBweDtcbn1cblxuLnN2ZyAuc29jaWFsLmZhY2Vib29rIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ZhY2Vib29rLS13aGl0ZS5zdmdcIik7XG59XG5cbi5zb2NpYWwudHdpdHRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy90d2l0dGVyLS13aGl0ZS5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogMjBweCBhdXRvO1xufVxuXG4uc3ZnIC5zb2NpYWwudHdpdHRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy90d2l0dGVyLS13aGl0ZS5zdmdcIik7XG59XG5cbi5zb2NpYWwuaW5zdGFncmFtIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2luc3RhZ3JhbS0td2hpdGUucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggYXV0bztcbn1cblxuLnN2ZyAuc29jaWFsLmluc3RhZ3JhbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pbnN0YWdyYW0tLXdoaXRlLnN2Z1wiKTtcbn1cblxuLnNvY2lhbC55b3V0dWJlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3lvdXR1YmUtLXdoaXRlLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyMHB4IGF1dG87XG59XG5cbi5zdmcgLnNvY2lhbC55b3V0dWJlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3lvdXR1YmUtLXdoaXRlLnN2Z1wiKTtcbn1cblxuLnNvY2lhbC5saW5rZWRpbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9saW5rZWRpbi0td2hpdGUucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggYXV0bztcbn1cblxuLnN2ZyAuc29jaWFsLmxpbmtlZGluIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xpbmtlZGluLS13aGl0ZS5zdmdcIik7XG59XG5cbi5zb2NpYWwuZmxpY2tyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ZsaWNrci0td2hpdGUucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggYXV0bztcbn1cblxuLnN2ZyAuc29jaWFsLmZsaWNrciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9mbGlja3ItLXdoaXRlLnN2Z1wiKTtcbn1cblxuLnNvY2lhbC53b3JkcHJlc3Mge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvd29yZHByZXNzLS13aGl0ZS5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogMjBweCBhdXRvO1xufVxuXG4uc3ZnIC5zb2NpYWwud29yZHByZXNzIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3dvcmRwcmVzcy0td2hpdGUuc3ZnXCIpO1xufVxuXG4uc29jaWFsICsgLnNvY2lhbCB7XG4gIG1hcmdpbi1sZWZ0OiA2LjI1cHg7XG59XG5cbi8qIEBwYXJ0aWFsIF9wYWdlci5zY3NzICovXG4vKiBBIGxpc3Qgb2YgcGFnZSBudW1iZXJzIHdoZW4gbW9yZSB0aGFuIDEgcGFnZSBvZiBjb250ZW50IGlzIGF2YWlsYWJsZS4gKi9cbi5wYWdlciB7XG4gIGNsZWFyOiBib3RoO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nLXRvcDogMjVweDtcbn1cblxuLnBhZ2VyIC5wYWdlcl9faXRlbXMge1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi5wYWdlciAucGFnZXJfX2l0ZW1zOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnBhZ2VyX19pdGVtIGEsXG4ucGFnZXJfX2ZpcnN0IGEsXG4ucGFnZXJfX3ByZXZpb3VzIGEsXG4ucGFnZXJfX25leHQgYSxcbi5wYWdlcl9fbGFzdCBhLFxuLnBhZ2VyX19lbGxpcHNpcyBhLCAucGFnZXIgbGkucGFnZXJfX2N1cnJlbnQge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBib3JkZXI6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogI2UxMmYyMjtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMTVweCA1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZzogNHB4IDEycHg7XG59XG5cbi5wYWdlcl9faXRlbSBhOmhvdmVyLFxuLnBhZ2VyX19maXJzdCBhOmhvdmVyLFxuLnBhZ2VyX19wcmV2aW91cyBhOmhvdmVyLFxuLnBhZ2VyX19uZXh0IGE6aG92ZXIsXG4ucGFnZXJfX2xhc3QgYTpob3Zlcixcbi5wYWdlcl9fZWxsaXBzaXMgYTpob3ZlciwgLnBhZ2VyIGxpLnBhZ2VyX19jdXJyZW50OmhvdmVyLCAucGFnZXJfX2l0ZW0gYTpmb2N1cyxcbi5wYWdlcl9fZmlyc3QgYTpmb2N1cyxcbi5wYWdlcl9fcHJldmlvdXMgYTpmb2N1cyxcbi5wYWdlcl9fbmV4dCBhOmZvY3VzLFxuLnBhZ2VyX19sYXN0IGE6Zm9jdXMsXG4ucGFnZXJfX2VsbGlwc2lzIGE6Zm9jdXMsIC5wYWdlciBsaS5wYWdlcl9fY3VycmVudDpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNiZjI4MWQ7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgLnBhZ2VyX19pdGVtIGEsXG4gIC5wYWdlcl9fZmlyc3QgYSxcbiAgLnBhZ2VyX19wcmV2aW91cyBhLFxuICAucGFnZXJfX25leHQgYSxcbiAgLnBhZ2VyX19sYXN0IGEsXG4gIC5wYWdlcl9fZWxsaXBzaXMgYSwgLnBhZ2VyIGxpLnBhZ2VyX19jdXJyZW50IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ucGFnZXJfX2l0ZW0sXG4ucGFnZXJfX2ZpcnN0LFxuLnBhZ2VyX19wcmV2aW91cyxcbi5wYWdlcl9fbmV4dCxcbi5wYWdlcl9fbGFzdCxcbi5wYWdlcl9fZWxsaXBzaXMge1xuICAvKiBBIGNvbmNhdGVuYXRpb24gb2Ygc2V2ZXJhbCBsaXN0IGl0ZW1zIHVzaW5nIGFuIGVsbGlwc2lzLiAqL1xufVxuXG4ucGFnZXJfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSxcbi5wYWdlcl9fZmlyc3Q6bm90KDpsYXN0LWNoaWxkKSxcbi5wYWdlcl9fcHJldmlvdXM6bm90KDpsYXN0LWNoaWxkKSxcbi5wYWdlcl9fbmV4dDpub3QoOmxhc3QtY2hpbGQpLFxuLnBhZ2VyX19sYXN0Om5vdCg6bGFzdC1jaGlsZCksXG4ucGFnZXJfX2VsbGlwc2lzOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDYuNjY2NjY2NjY2N3B4O1xufVxuXG4ucGFnZXJfX2l0ZW0uaXMtYWN0aXZlIGEsXG4ucGFnZXJfX2ZpcnN0LmlzLWFjdGl2ZSBhLFxuLnBhZ2VyX19wcmV2aW91cy5pcy1hY3RpdmUgYSxcbi5wYWdlcl9fbmV4dC5pcy1hY3RpdmUgYSxcbi5wYWdlcl9fbGFzdC5pcy1hY3RpdmUgYSxcbi5wYWdlcl9fZWxsaXBzaXMuaXMtYWN0aXZlIGEge1xuICBib3JkZXI6IDBweDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5wYWdlcl9faXRlbS0tZWxsaXBzaXMge1xuICBwYWRkaW5nOiA0cHggOHB4O1xufVxuXG4ucGFnZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ucGFnZXIgbGkge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG59XG5cbi5wYWdlciBsaS5wYWdlcl9fY3VycmVudCB7XG4gIHBhZGRpbmc6IDRweCA4cHg7XG59XG5cbi8qIEBwYXJ0aWFsIF9icmVhZGNydW1iLnNjc3MgKi9cbi8qIEJyZWFkY3J1bWJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZGF2ZW5wb3J0LWJyZWFkY3J1bWJzIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogIzUyNTI1MjtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLmRhdmVucG9ydC1icmVhZGNydW1icyBvbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmRhdmVucG9ydC1icmVhZGNydW1icyBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5kYXZlbnBvcnQtYnJlYWRjcnVtYnMgbGkgYSB7XG4gIGNvbG9yOiAjNTI1MjUyO1xufVxuXG4uZGF2ZW5wb3J0LWJyZWFkY3J1bWJzIGxpIGE6aG92ZXIsIC5kYXZlbnBvcnQtYnJlYWRjcnVtYnMgbGkgYTpmb2N1cyB7XG4gIGNvbG9yOiAjZTEyZjIyO1xufVxuXG4uZGF2ZW5wb3J0LWJyZWFkY3J1bWJzIGxpOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiIOKAuiBcIjtcbn1cblxuLmRhdmVucG9ydC1icmVhZGNydW1icyBsaTpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBAcGFydGlhbCBfdGFicy5zY3NzICovXG51bC50YWJzX19wcmltYXJ5LFxudWwudGFic19fc2Vjb25kYXJ5IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxudWwudGFic19fcHJpbWFyeTpiZWZvcmUsIHVsLnRhYnNfX3ByaW1hcnk6YWZ0ZXIsXG51bC50YWJzX19zZWNvbmRhcnk6YmVmb3JlLFxudWwudGFic19fc2Vjb25kYXJ5OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbnVsLnRhYnNfX3ByaW1hcnk6YWZ0ZXIsXG51bC50YWJzX19zZWNvbmRhcnk6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxudWwudGFic19fcHJpbWFyeSBsaSxcbnVsLnRhYnNfX3NlY29uZGFyeSBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICAvKiBMVFIgKi9cbiAgbWFyZ2luOiAwO1xufVxuXG51bC50YWJzX19wcmltYXJ5IGEsIHVsLnRhYnNfX3ByaW1hcnkgYTpsaW5rLFxudWwudGFic19fc2Vjb25kYXJ5IGEsXG51bC50YWJzX19zZWNvbmRhcnkgYTpsaW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxudWwudGFic19fcHJpbWFyeSBsaS5pcy1hY3RpdmUgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMTJmMjI7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTEyZjIyO1xufVxuXG51bC50YWJzX19wcmltYXJ5IGxpIGEge1xuICBmb250LXNpemU6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2QzZDNkMztcbiAgYm9yZGVyLXRvcC1yYWRpdXM6IDBweDtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIHBhZGRpbmc6IDVweCAxNXB4O1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG51bC50YWJzX19wcmltYXJ5IGxpIGE6aG92ZXIge1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTEyZjIyO1xufVxuXG51bC50YWJzX19wcmltYXJ5IGxpIGEuaXMtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxMmYyMjtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTEyZjIyO1xuICBjb2xvcjogI2ZmZmZmZjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi8qIEFjY29yZGlvbnMgKi9cbi5hY2NvcmRpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5hY2NvcmRpb24gLmFjY29yZGlvbl9fdG9nZ2xlIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ViZWNlZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWNlZDtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyNXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uYWNjb3JkaW9uIC5hY2NvcmRpb25fX3RvZ2dsZTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlYmVjZWQ7XG4gIGNvbG9yOiAjZTEyZjIyO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmFjY29yZGlvbiAuYWNjb3JkaW9uX190b2dnbGU6Zm9jdXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTEyZjIyO1xuICBiYWNrZ3JvdW5kOiAjZWJlY2VkO1xuICBjb2xvcjogIzIyMjIyMjtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLmFjY29yZGlvbiAuYWNjb3JkaW9uX190b2dnbGU6Zm9jdXMgc3BhbiB7XG4gIGNvbG9yOiAjZTEyZjIyO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmFjY29yZGlvbiAuYWNjb3JkaW9uX190b2dnbGU6YWZ0ZXIge1xuICBjb2xvcjogI2UxMmYyMjtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IDMwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xufVxuXG4uYWNjb3JkaW9uIC5hY2NvcmRpb25fX2NvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzO1xufVxuXG4uYWNjb3JkaW9uIC5hY2NvcmRpb25fX2NvbnRlbnQgPiAqIHtcbiAgcGFkZGluZzogMjVweDtcbn1cblxuLmFjY29yZGlvbiAuYWNjb3JkaW9uX19jb250ZW50ID4gKiArICoge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QzZDNkMztcbn1cblxuLmFjY29yZGlvbiAuYWNjb3JkaW9uX19jb250ZW50ID4gLmZpZWxkLS1hY2NvcmRpb24tbGlua3MsXG4uYWNjb3JkaW9uIC5hY2NvcmRpb25fX2NvbnRlbnQgPiB0YWJsZSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5hY2NvcmRpb24uY29sbGFwc2VkIC5oaWRlLFxuLmFjY29yZGlvbi5jb2xsYXBzZWQgLmFjY29yZGlvbl9fY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hY2NvcmRpb24uY29sbGFwc2VkIC5hY2NvcmRpb25fX3RvZ2dsZTphZnRlciB7XG4gIGNvbnRlbnQ6IFwiK1wiO1xufVxuXG4uYWNjb3JkaW9uLmV4cGFuZGVkIC5zaG93IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmFjY29yZGlvbi5leHBhbmRlZCAuYWNjb3JkaW9uX190b2dnbGU6YWZ0ZXIge1xuICBjb250ZW50OiBcIuKAk1wiO1xufVxuXG4uYWNjb3JkaW9uIHRhYmxlOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmFjY29yZGlvbiB0YWJsZTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmFjY29yZGlvbiB1bCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmFjY29yZGlvbiAuZmllbGQtLWFjY29yZGlvbi1saW5rcyBhIHtcbiAgYm9yZGVyOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29sb3I6ICNlMTJmMjI7XG59XG5cbi5hY2NvcmRpb24gLmZpZWxkLS1hY2NvcmRpb24tbGlua3MgYTphZnRlciB7XG4gIHRyYW5zaXRpb246IG1hcmdpbi1sZWZ0IDAuMjVzIGVhc2U7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5hY2NvcmRpb24gLmZpZWxkLS1hY2NvcmRpb24tbGlua3MgYTpob3ZlciwgLmFjY29yZGlvbiAuZmllbGQtLWFjY29yZGlvbi1saW5rcyBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5hY2NvcmRpb24gLmZpZWxkLS1hY2NvcmRpb24tbGlua3MgYTpob3ZlcjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4uYWNjb3JkaW9uIC5maWVsZC0tYWNjb3JkaW9uLWxpbmtzIGE6aG92ZXIsIC5hY2NvcmRpb24gLmZpZWxkLS1hY2NvcmRpb24tbGlua3MgYTpmb2N1cyB7XG4gIGNvbG9yOiAjZTEyZjIyO1xufVxuXG4uYWNjb3JkaW9uIC5maWVsZC0tYWNjb3JkaW9uLWxpbmtzIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctLXJlZC5wbmdcIik7XG59XG5cbi5zdmcgLmFjY29yZGlvbiAuZmllbGQtLWFjY29yZGlvbi1saW5rcyBhOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LS1yZWQuc3ZnXCIpO1xufVxuXG4uYWNjb3JkaW9uIC5maWVsZC0tYWNjb3JkaW9uLWxpbmtzID4gZGl2IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkM2QzZDM7XG4gIHBhZGRpbmc6IDE1cHggMjVweDtcbn1cblxuLmFjY29yZGlvbiAuZmllbGQtLWFjY29yZGlvbi1saW5rcyA+IGRpdjpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLmZpZWxkLS1wcm9ncmFtLWN1cnJpY3VsdW0gLmFjY29yZGlvbiAuYWNjb3JkaW9uX19jb250ZW50IHtcbiAgYm9yZGVyOiAwO1xufVxuXG4jY291cnNlLWRpYWxvZyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5OTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHBhZGRpbmc6IDI1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4jY291cnNlLWRpYWxvZy5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jY291cnNlLWRpYWxvZyAuY291cnNlLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QzZDNkMztcbiAgcGFkZGluZzogMjVweDtcbiAgbWF4LXdpZHRoOiA5NjBweDtcbiAgbWF4LWhlaWdodDogNTAwcHg7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4jY291cnNlLWRpYWxvZyAjY291cnNlLWRpYWxvZ19fY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMveC5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyMHB4IGF1dG87XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiNjb3Vyc2UtZGlhbG9nICNjb3Vyc2UtZGlhbG9nX19jbG9zZTpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgI2UxMmYyMjtcbn1cblxuI2NvdXJzZS1kaWFsb2cgaDIge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4jY291cnNlLWRpYWxvZyBoMiArIGgzIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLnN2ZyAjY291cnNlLWRpYWxvZyAjY291cnNlLWRpYWxvZ19fY2xvc2Uge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMveC5zdmdcIik7XG59XG5cbi5yZWdpb24tLWJvdHRvbSAuY29udGV4dHVhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpY2stbGlzdCB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4uc2xpY2stYXJyb3cge1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHotaW5kZXg6IDU7XG59XG5cbi5zbGljay1hcnJvdzpob3ZlciwgLnNsaWNrLWFycm93OmZvY3VzIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNsaWNrLWFycm93OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFwyNUJFXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2xpY2stYXJyb3cuc2xpY2stZGlzYWJsZWQge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIG9wYWNpdHk6IDAuNTtcbn1cblxuLnNsaWNrLWFycm93LnNsaWNrLWRpc2FibGVkOmhvdmVyLCAuc2xpY2stYXJyb3cuc2xpY2stZGlzYWJsZWQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnNsaWNrLWFycm93LnNsaWNrLXByZXYge1xuICBsZWZ0OiAwO1xufVxuXG4uc2xpY2stYXJyb3cuc2xpY2stcHJldjpiZWZvcmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xufVxuXG4uc2xpY2stYXJyb3cuc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAwO1xufVxuXG4uc2xpY2stYXJyb3cuc2xpY2stbmV4dDpiZWZvcmUge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xufVxuXG4vKiBTdWJtZW51IENhcmF0IEluZGljYXRvciAqL1xuLnRvZ2dsZS1zdWJtZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvZ2dsZS1zdWJtZW51OmFmdGVyIHtcbiAgY29udGVudDogXCJcXDI1QjhcIjtcbiAgY29sb3I6ICNlMTJmMjI7XG59XG5cbi50b2dnbGUtc3VibWVudTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBTaWRlYmFyIG1lbnUgKi9cbi5zaWRlYmFyIG5hdiB1bCBsaSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDNkM2QzO1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5zaWRlYmFyIG5hdiB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDNkM2QzO1xufVxuXG4uc2lkZWJhciBuYXYgdWwgbGkgYSB7XG4gIGNvbG9yOiAjMjIyMjIyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNpZGViYXIgbmF2IHVsIGxpIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnNpZGViYXIgbmF2IHVsIGxpIGEuaXMtYWN0aXZlIHtcbiAgY29sb3I6ICNlMTJmMjI7XG59XG5cbi5zaWRlYmFyIG5hdiB1bCBsaSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbn1cblxuLnNpZGViYXIgbmF2IHVsIGxpIHVsIGxpIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgcGFkZGluZzogNXB4IDA7XG59XG5cbi5zaWRlYmFyIG5hdiB1bCBsaSB1bCBsaTpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLnNpZGViYXIgbmF2IHVsIGxpLm1lbnUtaXRlbS0tZXhwYW5kZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zaWRlYmFyIG5hdiB1bCBsaS5tZW51LWl0ZW0tLWV4cGFuZGVkIC50b2dnbGUtc3VibWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG59XG5cbi5zaWRlYmFyIG5hdiB1bCBsaS5tZW51LWl0ZW0tLWV4cGFuZGVkLm1lbnUtaXRlbS0tYWN0aXZlLXRyYWlsID4gLnRvZ2dsZS1zdWJtZW51OmFmdGVyIHtcbiAgY29udGVudDogXCJcXDI1QkVcIjtcbn1cblxuLnNpZGViYXIgbmF2IHVsIGxpLm1lbnUtaXRlbS0tYWN0aXZlLXRyYWlsIHVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIEFyZWEgb2YgU3R1ZHkgXCJJJ20gSW50ZXJlc3RlZCBJblwiIG5hdiAqL1xuLyogQHBhcnRpYWwgX21lc3NhZ2VzLnNjc3MgKi9cbi5tZXNzYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4IDI1cHg7XG59XG5cbi5tZXNzYWdlIC5tZXNzYWdlX190ZXh0IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMjQwcHg7XG4gIG1pbi13aWR0aDogMzIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5My43NWVtKSB7XG4gIC5tZXNzYWdlIC5tZXNzYWdlX190ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgfVxufVxuXG4ubWVzc2FnZSAubWVzc2FnZV9fdGV4dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAyNXB4O1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxOHB4O1xuICBoZWlnaHQ6IDI1cHg7XG59XG5cbi5tZXNzYWdlLS1hbGVydCwgLm1lc3NhZ2UtLWVycm9yIHtcbiAgYmFja2dyb3VuZDogI2Y5ZDhkNjtcbn1cblxuLm1lc3NhZ2UtLWFsZXJ0IC5tZXNzYWdlX190ZXh0OmJlZm9yZSwgLm1lc3NhZ2UtLWVycm9yIC5tZXNzYWdlX190ZXh0OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy94LnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG59XG5cbi5tZXNzYWdlLS1zdGF0dXMsIC5tZXNzYWdlLS1zdWNjZXNzIHtcbiAgYmFja2dyb3VuZDogI2QwZjllMTtcbn1cblxuLm1lc3NhZ2UtLXN0YXR1cyAubWVzc2FnZV9fdGV4dDpiZWZvcmUsIC5tZXNzYWdlLS1zdWNjZXNzIC5tZXNzYWdlX190ZXh0OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9jaGVja21hcmstLWdyZWVuLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG59XG5cbi5tZXNzYWdlLS13YXJuaW5nIHtcbiAgYmFja2dyb3VuZDogI2ZjZTZjNDtcbn1cblxuLm1lc3NhZ2UtLXdhcm5pbmcgLm1lc3NhZ2VfX3RleHQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3dhcm5pbmcucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbn1cblxuLnN2ZyAubWVzc2FnZS0tYWxlcnQgLm1lc3NhZ2VfX3RleHQ6YmVmb3JlLCAuc3ZnIC5tZXNzYWdlLS1lcnJvciAubWVzc2FnZV9fdGV4dDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMveC5zdmdcIik7XG59XG5cbi5zdmcgLm1lc3NhZ2UtLXN0YXR1cyAubWVzc2FnZV9fdGV4dDpiZWZvcmUsIC5zdmcgLm1lc3NhZ2UtLXN1Y2Nlc3MgLm1lc3NhZ2VfX3RleHQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NoZWNrbWFyay0tZ3JlZW4uc3ZnXCIpO1xufVxuXG4uc3ZnIC5tZXNzYWdlLS13YXJuaW5nIC5tZXNzYWdlX190ZXh0OmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy93YXJuaW5nLnN2Z1wiKTtcbn1cblxuLyogQHBhcnRpYWwgaG9yaXpvbnRhbC10YWJzICovXG4vKiBAcGFydGlhbCB2ZXJ0aWNhbC10YWJzICovXG4uanMtZm9ybS10eXBlLXZlcnRpY2FsLXRhYnMge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA3NjBweDtcbn1cblxuLmpzLWZvcm0tdHlwZS12ZXJ0aWNhbC10YWJzICoge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4uanMtZm9ybS10eXBlLXZlcnRpY2FsLXRhYnMgLmpzLWZvcm0tdHlwZS1jaGVja2JveCBsYWJlbCxcbi5qcy1mb3JtLXR5cGUtdmVydGljYWwtdGFicyAuanMtZm9ybS10eXBlLXJhZGlvIGxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi52ZXJ0aWNhbC10YWJzIHtcbiAgYmFja2dyb3VuZDogI2ViZWNlZDtcbiAgYm9yZGVyOiAwcHg7XG59XG5cbi52ZXJ0aWNhbC10YWJzIGxpIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4udmVydGljYWwtdGFicyBsaSBhIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLnZlcnRpY2FsLXRhYnMgLnZlcnRpY2FsLXRhYnNfX21lbnUge1xuICBib3JkZXI6IDBweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnZlcnRpY2FsLXRhYnMgLnZlcnRpY2FsLXRhYnNfX21lbnUgLnZlcnRpY2FsLXRhYnNfX21lbnUtaXRlbSB7XG4gIGJvcmRlcjogMHB4O1xuICBiYWNrZ3JvdW5kOiAjZTEyZjIyO1xufVxuXG4udmVydGljYWwtdGFicyAudmVydGljYWwtdGFic19fbWVudSAudmVydGljYWwtdGFic19fbWVudS1pdGVtOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4udmVydGljYWwtdGFicyAudmVydGljYWwtdGFic19fbWVudSAudmVydGljYWwtdGFic19fbWVudS1pdGVtLmlzLXNlbGVjdGVkIHtcbiAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgYm9yZGVyLXJpZ2h0OiAwcHg7XG59XG5cbi52ZXJ0aWNhbC10YWJzIC52ZXJ0aWNhbC10YWJzX19wYW5lcyB7XG4gIHBhZGRpbmc6IDIwcHg7XG59XG5cbiNoaWdobGlnaHRlZCB7XG4gIGJhY2tncm91bmQ6ICM3MTczNzU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaGFzLWJhbm5lciAjaGlnaGxpZ2h0ZWQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG4gIC5oYXMtYmFubmVyICNoaWdobGlnaHRlZCAuZGF2ZW5wb3J0LXByaW1hcnktbG9jYWwtdGFza3Mge1xuICAgIGJhY2tncm91bmQ6ICM3MTczNzU7XG4gICAgcGFkZGluZy10b3A6IDFweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAjaGlnaGxpZ2h0ZWQgLnBhZ2UtdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgI2hpZ2hsaWdodGVkIC5wYWdlLXRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogMzMuMzMzMzMzMzMzM3B4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMy4zMzMzMzMzMzMzcHg7XG4gIH1cbn1cblxuI2hpZ2hsaWdodGVkIC5kYXZlbnBvcnQtcHJpbWFyeS1sb2NhbC10YXNrcyB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTI0MHB4O1xuICBtaW4td2lkdGg6IDMyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5My43NWVtKSB7XG4gICNoaWdobGlnaHRlZCAuZGF2ZW5wb3J0LXByaW1hcnktbG9jYWwtdGFza3Mge1xuICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICB9XG59XG5cbmgxLnBhZ2UtdGl0bGUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmJhbm5lciAuZmllbGQtLWJhbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3MTczNzU7XG4gIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5iYW5uZXIgLmZpZWxkLS1iYW5uZXIgaW1nIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmJhbm5lciAuZmllbGQtLWJhbm5lcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAyO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzguNzVlbSkge1xuICAuYmFubmVyIC5wYWdlLXRpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNTB2dyAtIDExOTJweCAvIDIpO1xuICB9XG4gIC5uby1zdGF0cyAuYmFubmVyIC5wYWdlLXRpdGxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDUwdncgLSAxMTkycHggLyAyKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTMuNzVlbSkge1xuICAuYmFubmVyIC5wYWdlLXRpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNTB2dyAtIDEzOTBweCAvIDIpO1xuICB9XG4gIC5uby1zdGF0cyAuYmFubmVyIC5wYWdlLXRpdGxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDUwdncgLSAxMzkwcHggLyAyKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzguNjg3NWVtKSB7XG4gIC5iYW5uZXIgLnBhZ2UtdGl0bGUge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjcuNWVtKSB7XG4gIC5oYXMtc3RhdHMgLmJhbm5lciAucGFnZS10aXRsZSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxuICAuaGFzLXN0YXRzIC5iYW5uZXIgLmJhbm5lcl9fc3RhdHMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY3LjQzNzVlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmhhcy1zdGF0cyAuYmFubmVyIC5wYWdlLXRpdGxlIHtcbiAgICB3aWR0aDogNjYuNjclO1xuICB9XG4gIC5oYXMtc3RhdHMgLmJhbm5lciAuYmFubmVyX19zdGF0cyB7XG4gICAgd2lkdGg6IDMzLjMzJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYmFubmVyIC5wYWdlLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgICB6LWluZGV4OiAzO1xuICB9XG4gIC5iYW5uZXIgLmJhbm5lcl9fc3RhdHMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IC0xMDBweDtcbiAgICByaWdodDogMDtcbiAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICB6LWluZGV4OiAzO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmJhbm5lciAuYmFubmVyX19pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5iYW5uZXIgLmJhbm5lcl9faW1hZ2UgLnBhZ2UtdGl0bGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEyLjVweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDM7XG4gIH1cbiAgLmJhbm5lciAuYmFubmVyX19zdGF0cyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbi10b3A6IC0yNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1O1xuICB9XG59XG5cbi5zdGF0aXN0aWMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyNSwgNDcsIDM0LCAwLjk1KTtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDI1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc3RhdGlzdGljIC5zdGF0X19saW5rIHtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xufVxuXG4uc3RhdGlzdGljIC5zdGF0X19saW5rICsgLmZpZWxkLS1zdGF0aXN0aWMgKyAuZmllbGQtLWxhYmVsIHtcbiAgYm9yZGVyOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5zdGF0aXN0aWMgLnN0YXRfX2xpbmsgKyAuZmllbGQtLXN0YXRpc3RpYyArIC5maWVsZC0tbGFiZWw6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBtYXJnaW4tbGVmdCAwLjI1cyBlYXNlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uc3RhdGlzdGljIC5zdGF0X19saW5rICsgLmZpZWxkLS1zdGF0aXN0aWMgKyAuZmllbGQtLWxhYmVsOmhvdmVyLCAuc3RhdGlzdGljIC5zdGF0X19saW5rICsgLmZpZWxkLS1zdGF0aXN0aWMgKyAuZmllbGQtLWxhYmVsOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5zdGF0aXN0aWMgLnN0YXRfX2xpbmsgKyAuZmllbGQtLXN0YXRpc3RpYyArIC5maWVsZC0tbGFiZWw6aG92ZXI6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLnN0YXRpc3RpYyAuc3RhdF9fbGluayArIC5maWVsZC0tc3RhdGlzdGljICsgLmZpZWxkLS1sYWJlbDpob3ZlciwgLnN0YXRpc3RpYyAuc3RhdF9fbGluayArIC5maWVsZC0tc3RhdGlzdGljICsgLmZpZWxkLS1sYWJlbDpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uc3RhdGlzdGljIC5zdGF0X19saW5rICsgLmZpZWxkLS1zdGF0aXN0aWMgKyAuZmllbGQtLWxhYmVsOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LS13aGl0ZS5wbmdcIik7XG59XG5cbi5zdmcgLnN0YXRpc3RpYyAuc3RhdF9fbGluayArIC5maWVsZC0tc3RhdGlzdGljICsgLmZpZWxkLS1sYWJlbDphZnRlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9hcnJvdy0td2hpdGUuc3ZnXCIpO1xufVxuXG4uc3RhdGlzdGljIC5zdGF0X19saW5rOmhvdmVyLCAuc3RhdGlzdGljIC5zdGF0X19saW5rOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xufVxuXG4uc3RhdGlzdGljIC5zdGF0X19saW5rOmhvdmVyICsgLmZpZWxkLS1zdGF0aXN0aWMgKyAuZmllbGQtLWxhYmVsOmFmdGVyLCAuc3RhdGlzdGljIC5zdGF0X19saW5rOmZvY3VzICsgLmZpZWxkLS1zdGF0aXN0aWMgKyAuZmllbGQtLWxhYmVsOmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi5zdGF0aXN0aWMgLmZpZWxkLS1zdGF0aXN0aWMge1xuICBmb250LXNpemU6IDYwcHg7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uc3RhdGlzdGljIC5maWVsZC0tbGFiZWwge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ucGFyYWdyYXBoLS1zdGF0aXN0aWNzIC5zdGF0aXN0aWM6bnRoLWNoaWxkKDRuKzIpLCAucGFyYWdyYXBoLS1zdGF0aXN0aWNzIC5zdGF0aXN0aWM6bnRoLWNoaWxkKDRuKzQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzcxNzM3NTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm5vLXNpZGViYXIgLnN0YXRpc3RpYzpudGgtY2hpbGQoNm4rMiksIC5uby1zaWRlYmFyIC5zdGF0aXN0aWM6bnRoLWNoaWxkKDZuKzQpLCAubm8tc2lkZWJhciAuc3RhdGlzdGljOm50aC1jaGlsZCg2bis2KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzcxNzM3NTtcbiAgfVxuICAubm8tc2lkZWJhciAuc3RhdGlzdGljOm50aC1jaGlsZCg2biszKSwgLm5vLXNpZGViYXIgLnN0YXRpc3RpYzpudGgtY2hpbGQoNm4rNSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMTJmMjI7XG4gIH1cbn1cblxuLmJhbm5lcl9fc3RhdHMgLnN0YXRpc3RpYy5zbGlkZS0tcmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMjUsIDQ3LCAzNCwgMC45NSk7XG59XG5cbi5iYW5uZXJfX3N0YXRzIC5zdGF0aXN0aWMuc2xpZGUtLXllbGxvdyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ0LCAxNjMsIDI1LCAwLjk1KTtcbn1cblxuLmJhbm5lcl9fc3RhdHMgLnN0YXRpc3RpYy5zbGlkZS0tZ3JlZW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDU5LCAzOCwgMC45NSk7XG59XG5cbi5iYW5uZXJfX3N0YXRzIC5zdGF0aXN0aWMuc2xpZGUtLWJsdWUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDM0LCA1NywgMTMxLCAwLjk1KTtcbn1cblxuLmJhbm5lcl9fc3RhdHMgLnN0YXRpc3RpYy5zbGlkZS0tcHVycGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNTAsIDgwLCAxNTgsIDAuOTUpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYmFubmVyX19zdGF0cyAuc3RhdGlzdGljLFxuICAuYmFubmVyX19zdGF0cyAuZmllbGQtLXN0YXRpc3RpY3M6bm90KC5zbGljay1zbGlkZXIpIHtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmJhbm5lcl9fc3RhdHMgLnN0YXRpc3RpYyxcbiAgLmJhbm5lcl9fc3RhdHMgLmZpZWxkLS1zdGF0aXN0aWNzOm5vdCguc2xpY2stc2xpZGVyKSB7XG4gICAgaGVpZ2h0OiAxNzBweDtcbiAgfVxufVxuXG4uYmFubmVyX19zdGF0cyAuZmllbGQtLXN0YXRpc3RpY3M6bm90KC5zbGljay1zbGlkZXIpIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qIEFsbCBQYXJhZ3JhcGhzICovXG4uZmllbGQtLWJvZHkge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm5vLXNpZGViYXIgLmZpZWxkLS1ib2R5ID4gLnBhcmFncmFwaCA+IC5wYXJhZ3JhcGhfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3NXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLm5vLXNpZGViYXIgLmZpZWxkLS1ib2R5ID4gLnBhcmFncmFwaCA+IC5wYXJhZ3JhcGhfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAzMy4zMzMzMzMzMzMzcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMzLjMzMzMzMzMzMzNweDtcbiAgfVxufVxuXG4uaGFzLXNpZGViYXIgLmZpZWxkLS1ib2R5ID4gLnBhcmFncmFwaDpmaXJzdC1jaGlsZCA+IC5wYXJhZ3JhcGhfX2NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmhhcy1zaWRlYmFyIC5maWVsZC0tYm9keSA+IC5wYXJhZ3JhcGggPiAucGFyYWdyYXBoX19jb250ZW50LFxuICAubGFuZGluZy1wYWdlIC5maWVsZC0tYm9keSA+IC5wYXJhZ3JhcGggPiAucGFyYWdyYXBoX19jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oYXMtc2lkZWJhciAuZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoID4gLnBhcmFncmFwaF9fY29udGVudCxcbiAgLmxhbmRpbmctcGFnZSAuZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoID4gLnBhcmFncmFwaF9fY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDMzLjMzMzMzMzMzMzNweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzMuMzMzMzMzMzMzM3B4O1xuICB9XG59XG5cbi5maWVsZC0tYm9keSA+IC5wYXJhZ3JhcGggKyAucGFyYWdyYXBoID4gLnBhcmFncmFwaF9fY29udGVudCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDNkM2QzO1xufVxuXG4uZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoICsgLnBhcmFncmFwaC5wYXJhZ3JhcGgtLWZlYXR1cmUgPiAucGFyYWdyYXBoX19jb250ZW50LCAuZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoICsgLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSA+IC5wYXJhZ3JhcGhfX2NvbnRlbnQge1xuICBib3JkZXItdG9wOiBub25lO1xufVxuXG4uZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoLnBhcmFncmFwaC0tZmVhdHVyZSA+IC5wYXJhZ3JhcGhfX2NvbnRlbnQsIC5maWVsZC0tYm9keSA+IC5wYXJhZ3JhcGguZGF2LXByb2dyYW0tc2VhcmNoLW1pbmkgPiAucGFyYWdyYXBoX19jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4uZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoLnBhcmFncmFwaC0tY29sdW1ucyArIC5wYXJhZ3JhcGgtLWNvbHVtbnMgPiAucGFyYWdyYXBoX19jb250ZW50LFxuLmZpZWxkLS1ib2R5ID4gLnBhcmFncmFwaC5wYXJhZ3JhcGgtLWNvbGxhcHNpYmxlX2xpbmtzICsgLnBhcmFncmFwaC0tY29sbGFwc2libGVfbGlua3MgPiAucGFyYWdyYXBoX19jb250ZW50IHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5maWVsZC0tYm9keSA+IC5wYXJhZ3JhcGgucGFyYWdyYXBoLS1jb2x1bW5zICsgLnBhcmFncmFwaC0tY29sdW1ucyA+IC5wYXJhZ3JhcGhfX2NvbnRlbnQgLmZpZWxkLS1pbnRybyxcbi5maWVsZC0tYm9keSA+IC5wYXJhZ3JhcGgucGFyYWdyYXBoLS1jb2xsYXBzaWJsZV9saW5rcyArIC5wYXJhZ3JhcGgtLWNvbGxhcHNpYmxlX2xpbmtzID4gLnBhcmFncmFwaF9fY29udGVudCAuZmllbGQtLWludHJvIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkM2QzZDM7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5maWVsZC0tYm9keSA+IC5wYXJhZ3JhcGgucGFyYWdyYXBoLS1jb2x1bW5zICsgLnBhcmFncmFwaC0tY29sdW1ucyA+IC5wYXJhZ3JhcGhfX2NvbnRlbnQgLmZpZWxkLS1pbnRybyxcbiAgLmZpZWxkLS1ib2R5ID4gLnBhcmFncmFwaC5wYXJhZ3JhcGgtLWNvbGxhcHNpYmxlX2xpbmtzICsgLnBhcmFncmFwaC0tY29sbGFwc2libGVfbGlua3MgPiAucGFyYWdyYXBoX19jb250ZW50IC5maWVsZC0taW50cm8ge1xuICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZpZWxkLS1ib2R5ID4gLnBhcmFncmFwaC5wYXJhZ3JhcGgtLWNvbHVtbnMgKyAucGFyYWdyYXBoLS1jb2x1bW5zID4gLnBhcmFncmFwaF9fY29udGVudCAuZmllbGQtLWludHJvLFxuICAuZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoLnBhcmFncmFwaC0tY29sbGFwc2libGVfbGlua3MgKyAucGFyYWdyYXBoLS1jb2xsYXBzaWJsZV9saW5rcyA+IC5wYXJhZ3JhcGhfX2NvbnRlbnQgLmZpZWxkLS1pbnRybyB7XG4gICAgcGFkZGluZy10b3A6IDMzLjMzMzMzMzMzMzNweDtcbiAgfVxufVxuXG4ucGFyYWdyYXBoIGgyLmZpZWxkLS1oZWFkbGluZSxcbi5wYXJhZ3JhcGggaDI6Zmlyc3QtY2hpbGQsXG4ucGFyYWdyYXBoIGgzOmZpcnN0LWNoaWxkLFxuLnBhcmFncmFwaCBoNDpmaXJzdC1jaGlsZCxcbi5wYXJhZ3JhcGggLnBhcmFncmFwaF9fY29udGVudCA+IC5maWVsZC0taW50cm86Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiBUZXh0ICovXG4ucGFyYWdyYXBoLS10ZXh0IC5maWVsZC0tY29udGVudCAqOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi8qIENvbHVtbnMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnBhcmFncmFwaC0tY29sdW1ucyAucGFyYWdyYXBoX19jb250ZW50ID4gLnJvdyA+IC5jb2wtc20tNiwgLnBhcmFncmFwaC0tY29sdW1ucyAjZm9vdGVyIC5mb290ZXJfX3RvcCAucGFyYWdyYXBoX19jb250ZW50ID4gLnJlZ2lvbi0tZm9vdGVyID4gLmNvbC1zbS02LCAjZm9vdGVyIC5mb290ZXJfX3RvcCAucGFyYWdyYXBoLS1jb2x1bW5zIC5wYXJhZ3JhcGhfX2NvbnRlbnQgPiAucmVnaW9uLS1mb290ZXIgPiAuY29sLXNtLTYsIC5wYXJhZ3JhcGgtLWNvbHVtbnMgLnBhcmFncmFwaC0tY2FyZHMgLmxheW91dC0tMmNvbCAucGFyYWdyYXBoX19jb250ZW50ID4gLnJvdyA+IC5wYXJhZ3JhcGgsIC5wYXJhZ3JhcGgtLWNhcmRzIC5sYXlvdXQtLTJjb2wgLnBhcmFncmFwaC0tY29sdW1ucyAucGFyYWdyYXBoX19jb250ZW50ID4gLnJvdyA+IC5wYXJhZ3JhcGgsIC5wYXJhZ3JhcGgtLWNvbHVtbnMgI2Zvb3RlciAuZm9vdGVyX190b3AgLnBhcmFncmFwaC0tY2FyZHMgLmxheW91dC0tMmNvbCAucGFyYWdyYXBoX19jb250ZW50ID4gLnJlZ2lvbi0tZm9vdGVyID4gLnBhcmFncmFwaCwgLnBhcmFncmFwaC0tY2FyZHMgLmxheW91dC0tMmNvbCAucGFyYWdyYXBoLS1jb2x1bW5zICNmb290ZXIgLmZvb3Rlcl9fdG9wIC5wYXJhZ3JhcGhfX2NvbnRlbnQgPiAucmVnaW9uLS1mb290ZXIgPiAucGFyYWdyYXBoLCAjZm9vdGVyIC5mb290ZXJfX3RvcCAucGFyYWdyYXBoLS1jb2x1bW5zIC5wYXJhZ3JhcGgtLWNhcmRzIC5sYXlvdXQtLTJjb2wgLnBhcmFncmFwaF9fY29udGVudCA+IC5yZWdpb24tLWZvb3RlciA+IC5wYXJhZ3JhcGgsIC5wYXJhZ3JhcGgtLWNhcmRzIC5sYXlvdXQtLTJjb2wgI2Zvb3RlciAuZm9vdGVyX190b3AgLnBhcmFncmFwaC0tY29sdW1ucyAucGFyYWdyYXBoX19jb250ZW50ID4gLnJlZ2lvbi0tZm9vdGVyID4gLnBhcmFncmFwaCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxuICAucGFyYWdyYXBoLS1jb2x1bW5zIC5wYXJhZ3JhcGhfX2NvbnRlbnQgPiAucm93ID4gLmNvbC1zbS02Omxhc3QtY2hpbGQsIC5wYXJhZ3JhcGgtLWNvbHVtbnMgI2Zvb3RlciAuZm9vdGVyX190b3AgLnBhcmFncmFwaF9fY29udGVudCA+IC5yZWdpb24tLWZvb3RlciA+IC5jb2wtc20tNjpsYXN0LWNoaWxkLCAjZm9vdGVyIC5mb290ZXJfX3RvcCAucGFyYWdyYXBoLS1jb2x1bW5zIC5wYXJhZ3JhcGhfX2NvbnRlbnQgPiAucmVnaW9uLS1mb290ZXIgPiAuY29sLXNtLTY6bGFzdC1jaGlsZCwgLnBhcmFncmFwaC0tY29sdW1ucyAucGFyYWdyYXBoLS1jYXJkcyAubGF5b3V0LS0yY29sIC5wYXJhZ3JhcGhfX2NvbnRlbnQgPiAucm93ID4gLnBhcmFncmFwaDpsYXN0LWNoaWxkLCAucGFyYWdyYXBoLS1jYXJkcyAubGF5b3V0LS0yY29sIC5wYXJhZ3JhcGgtLWNvbHVtbnMgLnBhcmFncmFwaF9fY29udGVudCA+IC5yb3cgPiAucGFyYWdyYXBoOmxhc3QtY2hpbGQsIC5wYXJhZ3JhcGgtLWNvbHVtbnMgI2Zvb3RlciAuZm9vdGVyX190b3AgLnBhcmFncmFwaC0tY2FyZHMgLmxheW91dC0tMmNvbCAucGFyYWdyYXBoX19jb250ZW50ID4gLnJlZ2lvbi0tZm9vdGVyID4gLnBhcmFncmFwaDpsYXN0LWNoaWxkLCAucGFyYWdyYXBoLS1jYXJkcyAubGF5b3V0LS0yY29sIC5wYXJhZ3JhcGgtLWNvbHVtbnMgI2Zvb3RlciAuZm9vdGVyX190b3AgLnBhcmFncmFwaF9fY29udGVudCA+IC5yZWdpb24tLWZvb3RlciA+IC5wYXJhZ3JhcGg6bGFzdC1jaGlsZCwgI2Zvb3RlciAuZm9vdGVyX190b3AgLnBhcmFncmFwaC0tY29sdW1ucyAucGFyYWdyYXBoLS1jYXJkcyAubGF5b3V0LS0yY29sIC5wYXJhZ3JhcGhfX2NvbnRlbnQgPiAucmVnaW9uLS1mb290ZXIgPiAucGFyYWdyYXBoOmxhc3QtY2hpbGQsIC5wYXJhZ3JhcGgtLWNhcmRzIC5sYXlvdXQtLTJjb2wgI2Zvb3RlciAuZm9vdGVyX190b3AgLnBhcmFncmFwaC0tY29sdW1ucyAucGFyYWdyYXBoX19jb250ZW50ID4gLnJlZ2lvbi0tZm9vdGVyID4gLnBhcmFncmFwaDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5maWVsZC0taW50cm8gKyAucm93LCAjZm9vdGVyIC5mb290ZXJfX3RvcCAuZmllbGQtLWludHJvICsgLnJlZ2lvbi0tZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG59XG5cbi8qIFF1b3RlcyAqL1xuLnBhcmFncmFwaC0tcXVvdGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5wYXJhZ3JhcGgtLXF1b3RlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3F1b3RlLnBuZ1wiKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4ucGFyYWdyYXBoLS1xdW90ZSBoMiB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5wYXJhZ3JhcGgtLXF1b3RlIC5maWVsZC0tcXVvdGUgcCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYXJhZ3JhcGgtLXF1b3RlIC5maWVsZC0tcXVvdGUgcCB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnBhcmFncmFwaC0tcXVvdGUgLmZpZWxkLS1xdW90ZSBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tcXVvdGUgLmZpZWxkLS1hdHRyaWJ1dGlvbiB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3OC43NWVtKSB7XG4gIC5oYXMtc2lkZWJhciAucGFyYWdyYXBoLS1xdW90ZTphZnRlciB7XG4gICAgcmlnaHQ6IGNhbGMoLTUwdncgKyAxMTkwcHggLyAyKTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTMuNzVlbSkge1xuICAuaGFzLXNpZGViYXIgLnBhcmFncmFwaC0tcXVvdGU6YWZ0ZXIge1xuICAgIHJpZ2h0OiBjYWxjKC01MHZ3ICsgMTM5MHB4IC8gMik7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmhhcy1zaWRlYmFyIC5wYXJhZ3JhcGgtLXF1b3RlOmFmdGVyIHtcbiAgICB3aWR0aDogMjc1cHg7XG4gICAgaGVpZ2h0OiAyNDBweDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmhhcy1zaWRlYmFyIC5wYXJhZ3JhcGgtLXF1b3RlOmFmdGVyIHtcbiAgICB3aWR0aDogMTg1cHg7XG4gICAgaGVpZ2h0OiAxNjBweDtcbiAgICB0b3A6IDMzLjMzMzMzMzMzMzNweDtcbiAgfVxufVxuXG4uaGFzLXNpZGViYXIgLnBhcmFncmFwaC0tcXVvdGUgLmZpZWxkLS1hdHRyaWJ1dGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3OC43NWVtKSB7XG4gIC5uby1zaWRlYmFyIC5wYXJhZ3JhcGgtLXF1b3RlOmFmdGVyIHtcbiAgICByaWdodDogY2FsYygtNTB2dyArIDEyNDBweCAvIDIpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5My43NWVtKSB7XG4gIC5uby1zaWRlYmFyIC5wYXJhZ3JhcGgtLXF1b3RlOmFmdGVyIHtcbiAgICByaWdodDogY2FsYygtNTB2dyArIDEzOTBweCAvIDIpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5uby1zaWRlYmFyIC5wYXJhZ3JhcGgtLXF1b3RlOmFmdGVyIHtcbiAgICB3aWR0aDogMjc1cHg7XG4gICAgaGVpZ2h0OiAyNDBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5uby1zaWRlYmFyIC5wYXJhZ3JhcGgtLXF1b3RlOmFmdGVyIHtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgaGVpZ2h0OiAxNjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAubm8tc2lkZWJhciAucGFyYWdyYXBoLS1xdW90ZTphZnRlciB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gIC5uby1zaWRlYmFyIC5wYXJhZ3JhcGgtLXF1b3RlOmFmdGVyIHtcbiAgICB0b3A6IDUwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm5vLXNpZGViYXIgLnBhcmFncmFwaC0tcXVvdGUgLnBhcmFncmFwaF9fY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDEyNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5uby1zaWRlYmFyIC5wYXJhZ3JhcGgtLXF1b3RlIC5wYXJhZ3JhcGhfX2NvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbi8qIEZlYXR1cmVzICovXG4ucGFyYWdyYXBoLS1mZWF0dXJlLFxuLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSB7XG4gIGJhY2tncm91bmQ6ICNlMTJmMjI7XG59XG5cbi5wYXJhZ3JhcGgtLWZlYXR1cmUgLmZlYXR1cmVfX2ltYWdlLFxuLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSAuZmVhdHVyZV9faW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ucGFyYWdyYXBoLS1mZWF0dXJlIC5mZWF0dXJlX19pbWFnZSAuZmllbGQtLWltYWdlLFxuLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSAuZmVhdHVyZV9faW1hZ2UgLmZpZWxkLS1pbWFnZSB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnBhcmFncmFwaC0tZmVhdHVyZSAuZmVhdHVyZV9faW1hZ2UgLmZpZWxkLS1pbWFnZSAubWVkaWEsXG4ucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIC5mZWF0dXJlX19pbWFnZSAuZmllbGQtLWltYWdlIC5tZWRpYSB7XG4gIGhlaWdodDogMTAwJTtcbn1cblxuLnBhcmFncmFwaC0tZmVhdHVyZSAuZmVhdHVyZV9faW1hZ2UgLmZpZWxkLS1pbWFnZSBpbWcsXG4ucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIC5mZWF0dXJlX19pbWFnZSAuZmllbGQtLWltYWdlIGltZyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4ucGFyYWdyYXBoLS1mZWF0dXJlIC5mZWF0dXJlX19pbWFnZSAuZmllbGQtLW92ZXJsYXksXG4ucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIC5mZWF0dXJlX19pbWFnZSAuZmllbGQtLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDI1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogNTAlO1xuICBoZWlnaHQ6IDUwJTtcbiAgbWluLXdpZHRoOiAyNTBweDtcbiAgbWluLWhlaWdodDogMjUwcHg7XG4gIG1heC13aWR0aDogMzUwcHg7XG59XG5cbi5wYXJhZ3JhcGgtLWZlYXR1cmUgLmZlYXR1cmVfX2ltYWdlIC5maWVsZC0tb3ZlcmxheSBwLFxuLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSAuZmVhdHVyZV9faW1hZ2UgLmZpZWxkLS1vdmVybGF5IHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucGFyYWdyYXBoLS1mZWF0dXJlIC5mZWF0dXJlX19pbWFnZSAuZmllbGQtLW92ZXJsYXkgc3Ryb25nLFxuLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSAuZmVhdHVyZV9faW1hZ2UgLmZpZWxkLS1vdmVybGF5IHN0cm9uZyB7XG4gIGZvbnQtc2l6ZTogNTBweDtcbiAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbn1cblxuLnBhcmFncmFwaC0tZmVhdHVyZSAuZmVhdHVyZV9fdGV4dCxcbi5wYXJhZ3JhcGguZGF2LXByb2dyYW0tc2VhcmNoLW1pbmkgLmZlYXR1cmVfX3RleHQge1xuICBwYWRkaW5nOiA1MHB4IDI1cHg7XG59XG5cbi5wYXJhZ3JhcGgtLWZlYXR1cmUgLmZlYXR1cmVfX3RleHQgaDMsXG4ucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIC5mZWF0dXJlX190ZXh0IGgzIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucGFyYWdyYXBoLS1mZWF0dXJlIC5mZWF0dXJlX190ZXh0IGgzLFxuICAucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIC5mZWF0dXJlX190ZXh0IGgzIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tZmVhdHVyZS5mZWF0dXJlLS1vZGQsXG4ucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pLmZlYXR1cmUtLW9kZCB7XG4gIGJhY2tncm91bmQ6ICNlMTJmMjI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ucGFyYWdyYXBoLS1mZWF0dXJlLmZlYXR1cmUtLW9kZCAuZmllbGQtLWxpbmsgYSxcbi5wYXJhZ3JhcGguZGF2LXByb2dyYW0tc2VhcmNoLW1pbmkuZmVhdHVyZS0tb2RkIC5maWVsZC0tbGluayBhIHtcbiAgYm9yZGVyOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6ICMyMjIyMjI7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDE1cHggNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5wYXJhZ3JhcGgtLWZlYXR1cmUuZmVhdHVyZS0tb2RkIC5maWVsZC0tbGluayBhOmhvdmVyLCAucGFyYWdyYXBoLS1mZWF0dXJlLmZlYXR1cmUtLW9kZCAuZmllbGQtLWxpbmsgYTpmb2N1cyxcbi5wYXJhZ3JhcGguZGF2LXByb2dyYW0tc2VhcmNoLW1pbmkuZmVhdHVyZS0tb2RkIC5maWVsZC0tbGluayBhOmhvdmVyLFxuLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaS5mZWF0dXJlLS1vZGQgLmZpZWxkLS1saW5rIGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gIC5wYXJhZ3JhcGgtLWZlYXR1cmUuZmVhdHVyZS0tb2RkIC5maWVsZC0tbGluayBhLFxuICAucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pLmZlYXR1cmUtLW9kZCAuZmllbGQtLWxpbmsgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tZmVhdHVyZS5mZWF0dXJlLS1vZGQgLmZpZWxkLS1saW5rIGE6Zm9jdXMsXG4ucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pLmZlYXR1cmUtLW9kZCAuZmllbGQtLWxpbmsgYTpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgI2ZmZjtcbn1cblxuLnBhcmFncmFwaC0tZmVhdHVyZS5mZWF0dXJlLS1vZGQgLmZlYXR1cmVfX3RleHQgaDIsIC5wYXJhZ3JhcGgtLWZlYXR1cmUuZmVhdHVyZS0tb2RkIC5mZWF0dXJlX190ZXh0IGgzLCAucGFyYWdyYXBoLS1mZWF0dXJlLmZlYXR1cmUtLW9kZCAuZmVhdHVyZV9fdGV4dCBoNCwgLnBhcmFncmFwaC0tZmVhdHVyZS5mZWF0dXJlLS1vZGQgLmZlYXR1cmVfX3RleHQgYSxcbi5wYXJhZ3JhcGguZGF2LXByb2dyYW0tc2VhcmNoLW1pbmkuZmVhdHVyZS0tb2RkIC5mZWF0dXJlX190ZXh0IGgyLFxuLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaS5mZWF0dXJlLS1vZGQgLmZlYXR1cmVfX3RleHQgaDMsXG4ucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pLmZlYXR1cmUtLW9kZCAuZmVhdHVyZV9fdGV4dCBoNCxcbi5wYXJhZ3JhcGguZGF2LXByb2dyYW0tc2VhcmNoLW1pbmkuZmVhdHVyZS0tb2RkIC5mZWF0dXJlX190ZXh0IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnBhcmFncmFwaC0tZmVhdHVyZS5mZWF0dXJlLS1ldmVuLFxuLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaS5mZWF0dXJlLS1ldmVuIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLnBhcmFncmFwaC0tZmVhdHVyZS5mZWF0dXJlLS1ldmVuIGEsXG4ucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pLmZlYXR1cmUtLWV2ZW4gYSB7XG4gIGNvbG9yOiAjMjIyMjIyO1xufVxuXG4ucGFyYWdyYXBoLS1mZWF0dXJlLmZlYXR1cmUtLWV2ZW4gLmZpZWxkLS1saW5rIGEsXG4ucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pLmZlYXR1cmUtLWV2ZW4gLmZpZWxkLS1saW5rIGEge1xuICBib3JkZXI6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogI2UxMmYyMjtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMTVweCA1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnBhcmFncmFwaC0tZmVhdHVyZS5mZWF0dXJlLS1ldmVuIC5maWVsZC0tbGluayBhOmhvdmVyLCAucGFyYWdyYXBoLS1mZWF0dXJlLmZlYXR1cmUtLWV2ZW4gLmZpZWxkLS1saW5rIGE6Zm9jdXMsXG4ucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pLmZlYXR1cmUtLWV2ZW4gLmZpZWxkLS1saW5rIGE6aG92ZXIsXG4ucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pLmZlYXR1cmUtLWV2ZW4gLmZpZWxkLS1saW5rIGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjYmYyODFkO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gIC5wYXJhZ3JhcGgtLWZlYXR1cmUuZmVhdHVyZS0tZXZlbiAuZmllbGQtLWxpbmsgYSxcbiAgLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaS5mZWF0dXJlLS1ldmVuIC5maWVsZC0tbGluayBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGFyYWdyYXBoLS1mZWF0dXJlIC5wYXJhZ3JhcGhfX2NvbnRlbnQsXG4gIC5wYXJhZ3JhcGguZGF2LXByb2dyYW0tc2VhcmNoLW1pbmkgLnBhcmFncmFwaF9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXgtaGVpZ2h0OiA3NTBweDtcbiAgfVxuICAucGFyYWdyYXBoLS1mZWF0dXJlIC5wYXJhZ3JhcGhfX2NvbnRlbnQ6YWZ0ZXIsXG4gIC5wYXJhZ3JhcGguZGF2LXByb2dyYW0tc2VhcmNoLW1pbmkgLnBhcmFncmFwaF9fY29udGVudDphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbiAgLnBhcmFncmFwaC0tZmVhdHVyZSAucGFyYWdyYXBoX19jb250ZW50ID4gZGl2LFxuICAucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIC5wYXJhZ3JhcGhfX2NvbnRlbnQgPiBkaXYge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLnBhcmFncmFwaC0tZmVhdHVyZSAuZmVhdHVyZV9faW1hZ2UgLmZpZWxkLS1vdmVybGF5LFxuICAucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIC5mZWF0dXJlX19pbWFnZSAuZmllbGQtLW92ZXJsYXkge1xuICAgIHBhZGRpbmc6IDM3LjVweCA1MHB4IDUwcHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tZmVhdHVyZSAuZmVhdHVyZV9faW1hZ2UgLmZpZWxkLS1vdmVybGF5IHN0cm9uZyxcbiAgLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSAuZmVhdHVyZV9faW1hZ2UgLmZpZWxkLS1vdmVybGF5IHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiA3MnB4O1xuICB9XG4gIC5wYXJhZ3JhcGgtLWZlYXR1cmUgLmZlYXR1cmVfX3RleHQsXG4gIC5wYXJhZ3JhcGguZGF2LXByb2dyYW0tc2VhcmNoLW1pbmkgLmZlYXR1cmVfX3RleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA1MHB4IDI1cHg7XG4gIH1cbiAgLnBhcmFncmFwaC0tZmVhdHVyZS5mZWF0dXJlLS1ldmVuIC5wYXJhZ3JhcGhfX2NvbnRlbnQgLmZlYXR1cmVfX2ltYWdlLFxuICAucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pLmZlYXR1cmUtLWV2ZW4gLnBhcmFncmFwaF9fY29udGVudCAuZmVhdHVyZV9faW1hZ2Uge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBvcmRlcjogMztcbiAgfVxufVxuXG4ucGFyYWdyYXBoLS1mZWF0dXJlIHVsIGxpLFxuLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSB1bCBsaSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLnBhcmFncmFwaC0tZmVhdHVyZSBoNCxcbi5wYXJhZ3JhcGguZGF2LXByb2dyYW0tc2VhcmNoLW1pbmkgaDQge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5wYXJhZ3JhcGgtLWZlYXR1cmUgaDQgKyB1bCxcbi5wYXJhZ3JhcGguZGF2LXByb2dyYW0tc2VhcmNoLW1pbmkgaDQgKyB1bCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5wYXJhZ3JhcGgtLWZlYXR1cmUgI21vcmUtdGhhbi1hLW1ham9yLW1vcmUtdGhhbi1hLWRlZ3JlZSAuZmVhdHVyZV9faW1hZ2UgLmZpZWxkLS1vdmVybGF5LFxuLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSAjbW9yZS10aGFuLWEtbWFqb3ItbW9yZS10aGFuLWEtZGVncmVlIC5mZWF0dXJlX19pbWFnZSAuZmllbGQtLW92ZXJsYXkge1xuICBwYWRkaW5nOiAyNXB4O1xuICB3aWR0aDogNzUlO1xuICBtYXgtd2lkdGg6IDU1MHB4O1xufVxuXG4vKiBDYXJkcyBMYXlvdXQgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYXJhZ3JhcGgtLWNhcmRzIC5wYXJhZ3JhcGgge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnBhcmFncmFwaC0tY2FyZHMgLnBhcmFncmFwaCB7XG4gICAgcGFkZGluZy10b3A6IDVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICB9XG59XG5cbi8qIFByb2dyYW0gR3JvdXAgKi9cbi5wYXJhZ3JhcGgtLXByb2dyYW0tZ3JvdXAgLmFjY29yZGlvbiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5wYXJhZ3JhcGgtLXByb2dyYW0tZ3JvdXAgLmFjY29yZGlvbi5maWVsZC0tcHJvZ3JhbXMgLmFjY29yZGlvbl9fY29udGVudCB7XG4gIGJvcmRlcjogMDtcbn1cblxuLnBhcmFncmFwaC0tcHJvZ3JhbS1ncm91cCAuYWNjb3JkaW9uIC5wcm9ncmFtcyB0ZCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5wYXJhZ3JhcGgtLXByb2dyYW0tZ3JvdXAgLmFjY29yZGlvbiAucHJvZ3JhbXMgdGQgLnByb2dyYW06YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucGFyYWdyYXBoLS1wcm9ncmFtLWdyb3VwIC5hY2NvcmRpb24gLnByb2dyYW1zIHRkIC5wcm9ncmFtID4gKiB7XG4gIHBhZGRpbmc6IDE1cHggMjVweDtcbn1cblxuLnBhcmFncmFwaC0tcHJvZ3JhbS1ncm91cCAuYWNjb3JkaW9uIC5wcm9ncmFtcyB0ZCAucHJvZ3JhbSAuZmllbGQtLXByb2dyYW0tY3VycmljdWx1bSB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2QzZDNkMztcbiAgZmxvYXQ6IHJpZ2h0O1xuICB3aWR0aDogMTAwcHg7XG59XG5cbi5wYXJhZ3JhcGgtLXByb2dyYW0tZ3JvdXAgLmFjY29yZGlvbiAucHJvZ3JhbXMgdGQgLnByb2dyYW0gLnRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5wYXJhZ3JhcGgtLXByb2dyYW0tZ3JvdXAgLmFjY29yZGlvbiAucHJvZ3JhbXMgdGQgLnByb2dyYW0gLnRpdGxlIC5zdWZmaXgge1xuICBtYXJnaW4tbGVmdDogLTRweDtcbn1cblxuLyogUGVyc29uICovXG4ucGFyYWdyYXBoLS1wZXJzb24gaDMge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4ucGFyYWdyYXBoLS1wZXJzb24gLmZpZWxkLS1wZXJzb24tZW1haWwsXG4ucGFyYWdyYXBoLS1wZXJzb24gLmZpZWxkLS1wZXJzb24tcGhvbmUge1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLnBhcmFncmFwaC0tcGVyc29uIC5maWVsZC0tcGVyc29uLWVtYWlsOmJlZm9yZSxcbi5wYXJhZ3JhcGgtLXBlcnNvbiAuZmllbGQtLXBlcnNvbi1waG9uZTpiZWZvcmUge1xuICB3aWR0aDogMTdweDtcbiAgdG9wOiAycHg7XG59XG5cbi8qIENvbGxhcHNpYmxlIExpbmtzICovXG4ucGFyYWdyYXBoLS1jb2xsYXBzaWJsZV9saW5rcyAuZmllbGQtLWludHJvIHtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG59XG5cbi5wYXJhZ3JhcGgtLWNvbGxhcHNpYmxlX2xpbmtzIC5maWVsZC0tY29sbGFwc2libGUtbGlua3Mge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4ucGFyYWdyYXBoLS1jb2xsYXBzaWJsZV9saW5rcyAuYWNjb3JkaW9uIC5hY2NvcmRpb25fX2NvbnRlbnQge1xuICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBvdmVyZmxvdzogc2Nyb2xsO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjtcbn1cblxuLyogU3BlY2lmaWMgUGFyYWdyYXBoIFN0eWxlcyAqL1xuI25jYWEtc3BvcnRzIGgyIHtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL25jYWEtc3BvcnRzLnBuZ1wiKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWluZGVudDogLTk5OTllbTtcbn1cblxuLyogTWluaSBQcm9ncmFtIFNlYXJjaCBvbiBBY2FkZW1pY3MgUGFnZSAqL1xuLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIC5mZWF0dXJlX190ZXh0IGgyLCAucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIC5mZWF0dXJlX190ZXh0IGgzLCAucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIC5mZWF0dXJlX190ZXh0IGg0LCAucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIC5mZWF0dXJlX190ZXh0IGEge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSBmb3JtIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLyogUHJvZ3JhbSBTZWFyY2ggQmxvY2sgb24gSG9tZXBhZ2UgKi9cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNtb3JlLXRoYW4tYS1tYWpvci1tb3JlLXRoYW4tYS1kZWdyZWUgLmZlYXR1cmVfX2ltYWdlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgb3JkZXI6IDU7XG4gIH1cbiAgI21vcmUtdGhhbi1hLW1ham9yLW1vcmUtdGhhbi1hLWRlZ3JlZSAuZmVhdHVyZV9fdGV4dCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgb3JkZXI6IDI7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc4Ljc1ZW0pIHtcbiAgI21vcmUtdGhhbi1hLW1ham9yLW1vcmUtdGhhbi1hLWRlZ3JlZSAuZmVhdHVyZV9fdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiBjYWxjKDUwdncgLSAxMjAwcHggLyAyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3NXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5My43NWVtKSB7XG4gICNtb3JlLXRoYW4tYS1tYWpvci1tb3JlLXRoYW4tYS1kZWdyZWUgLmZlYXR1cmVfX3RleHQge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyg1MHZ3IC0gMTM5MHB4IC8gMik7XG4gICAgcGFkZGluZy1yaWdodDogNzVweDtcbiAgfVxufVxuXG4vKiBXaGF0IE91ciBBbHVtbmkgQXJlIFNheWluZyBIb21lcGFnZSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3doYXQtb3VyLWFsdW1uaS1hcmUtc2F5aW5nIC5mZWF0dXJlX19pbWFnZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3F1b3RlLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDI4MHB4O1xuICAgIGhlaWdodDogMjIycHg7XG4gICAgei1pbmRleDogMjtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzguNzVlbSkge1xuICAjd2hhdC1vdXItYWx1bW5pLWFyZS1zYXlpbmcgLmZlYXR1cmVfX2ltYWdlOmJlZm9yZSB7XG4gICAgcmlnaHQ6IC0yNXB4O1xuICAgIHdpZHRoOiAzMjBweDtcbiAgICBoZWlnaHQ6IDI1MnB4O1xuICB9XG59XG5cbi8qIEFwcGx5IEJsb2NrICovXG4uZmllbGQtLWFwcGxpY2F0aW9uLWF1ZGllbmNlIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLmZpZWxkLS1hcHBseS1jaGVja2xpc3QtdGl0bGUsXG4uZmllbGQtLWFwcGx5LWF1ZGllbmNlLXRpdGxlLFxuLmZpZWxkLS1hcHBseS1saW5rcy10aXRsZSB7XG4gIGNvbG9yOiAjMjIyMjIyO1xuICBmb250LXNpemU6IDIycHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5maWVsZC0tYXBwbHktY2hlY2tsaXN0LXRpdGxlLFxuICAuZmllbGQtLWFwcGx5LWF1ZGllbmNlLXRpdGxlLFxuICAuZmllbGQtLWFwcGx5LWxpbmtzLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiA0NHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmllbGQtLWFwcGx5LWNoZWNrbGlzdC10aXRsZSxcbiAgLmZpZWxkLS1hcHBseS1hdWRpZW5jZS10aXRsZSxcbiAgLmZpZWxkLS1hcHBseS1saW5rcy10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbn1cblxuLmZpZWxkLS1hcHBseS1jaGVja2xpc3Qge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QzZDNkMztcbiAgbWFyZ2luLXRvcDogMjBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZpZWxkLS1hcHBseS1jaGVja2xpc3Qge1xuICAgIGNvbHVtbnM6IDI7XG4gICAgY29sdW1uLWdhcDogMjVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZpZWxkLS1hcHBseS1jaGVja2xpc3Qge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMy4zMzMzMzMzMzMzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzMuMzMzMzMzMzMzM3B4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oYXMtc2lkZWJhciAuZmllbGQtLWFwcGx5LWNoZWNrbGlzdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgfVxufVxuXG4uZmllbGQtLWFwcGx5LWNoZWNrbGlzdCAuZmllbGRfX2l0ZW0sXG4uZmllbGQtLWFwcGx5LXN0ZXBzIHVsIGxpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NoZWNrbWFyay5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCA1cHggbGVmdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IGF1dG87XG4gIGNvbG9yOiAjNTI1MjUyO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbi1ib3R0b206IDEzLjMzMzMzMzMzMzNweDtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xufVxuXG4uZmllbGQtLWFwcGx5LXN0ZXBzICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5maWVsZC0tYXBwbHktc3RlcHMgdWwge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5maWVsZC0tYXBwbHktYXVkaWVuY2UgLmZpZWxkLS1hcHBseS1hdWRpZW5jZSB7XG4gIGNvbG9yOiAjZTEyZjIyO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmllbGQtLWFwcGx5LWF1ZGllbmNlIC5maWVsZC0tYXBwbHktYXVkaWVuY2Uge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5maWVsZC0tYXBwbHktYXVkaWVuY2UgLmZpZWxkLS1hcHBseS1hdWRpZW5jZSB7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5maWVsZC0tYXBwbHktYXVkaWVuY2UgLmZpZWxkLS1hcHBseS1hdWRpZW5jZSB7XG4gICAgbWFyZ2luLXRvcDogMzZweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5maWVsZC0tYXBwbHktYXVkaWVuY2UgLmZpZWxkLS1hcHBseS1hdWRpZW5jZSB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxufVxuXG4uYXBwbHk6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uYXBwbHkgLmFwcGx5X19sZWZ0IHtcbiAgYmFja2dyb3VuZDogI2ViZWNlZDtcbn1cblxuLmFwcGx5IC5hcHBseV9fcmlnaHQge1xuICBiYWNrZ3JvdW5kOiAjZTEyZjIyO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmFwcGx5IC5hcHBseV9fcmlnaHQgaDMsIC5hcHBseSAuYXBwbHlfX3JpZ2h0IGg0LCAuYXBwbHkgLmFwcGx5X19yaWdodCBhLCAuYXBwbHkgLmFwcGx5X19yaWdodCAuZmllbGQtLWFwcGx5LWxpbmtzLXRpdGxlIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5hcHBseSAuYXBwbHlfX3JpZ2h0IGgzLCAuYXBwbHkgLmFwcGx5X19yaWdodCBoNCwgLmFwcGx5IC5hcHBseV9fcmlnaHQgLmZpZWxkLS1hcHBseS1saW5rcy10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5hcHBseSAuYXBwbHlfX3JpZ2h0IGgzIHtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4uYXBwbHkgLmFwcGx5X19yaWdodCBoNCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5hcHBseSAuYXBwbHlfX3JpZ2h0IC5maWVsZC0tYXBwbHktcmVzb3VyY2UtbGluayBhIHtcbiAgYm9yZGVyOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6ICMyMjIyMjI7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDE1cHggNTBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5hcHBseSAuYXBwbHlfX3JpZ2h0IC5maWVsZC0tYXBwbHktcmVzb3VyY2UtbGluayBhOmhvdmVyLCAuYXBwbHkgLmFwcGx5X19yaWdodCAuZmllbGQtLWFwcGx5LXJlc291cmNlLWxpbmsgYTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgLmFwcGx5IC5hcHBseV9fcmlnaHQgLmZpZWxkLS1hcHBseS1yZXNvdXJjZS1saW5rIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5hcHBseSAuYXBwbHlfX3JpZ2h0IC5maWVsZC0tYXBwbHktbGlua3MgLmZpZWxkX19pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuLmFwcGx5IC5hcHBseV9fcmlnaHQgLmZpZWxkLS1hcHBseS1saW5rcyBhIHtcbiAgYm9yZGVyOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5hcHBseSAuYXBwbHlfX3JpZ2h0IC5maWVsZC0tYXBwbHktbGlua3MgYTphZnRlciB7XG4gIHRyYW5zaXRpb246IG1hcmdpbi1sZWZ0IDAuMjVzIGVhc2U7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5hcHBseSAuYXBwbHlfX3JpZ2h0IC5maWVsZC0tYXBwbHktbGlua3MgYTpob3ZlciwgLmFwcGx5IC5hcHBseV9fcmlnaHQgLmZpZWxkLS1hcHBseS1saW5rcyBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5hcHBseSAuYXBwbHlfX3JpZ2h0IC5maWVsZC0tYXBwbHktbGlua3MgYTpob3ZlcjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4uYXBwbHkgLmFwcGx5X19yaWdodCAuZmllbGQtLWFwcGx5LWxpbmtzIGE6aG92ZXIsIC5hcHBseSAuYXBwbHlfX3JpZ2h0IC5maWVsZC0tYXBwbHktbGlua3MgYTpmb2N1cyB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYXBwbHkgLmFwcGx5X19yaWdodCAuZmllbGQtLWFwcGx5LWxpbmtzIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctLXdoaXRlLnBuZ1wiKTtcbn1cblxuLnN2ZyAuYXBwbHkgLmFwcGx5X19yaWdodCAuZmllbGQtLWFwcGx5LWxpbmtzIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctLXdoaXRlLnN2Z1wiKTtcbn1cblxuLmFwcGx5IC5hcHBseV9fcmlnaHQgLmZpZWxkLS1hcHBseS1yZXNvdXJjZS1pbWFnZSB7XG4gIHdpZHRoOiAyMDVweDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5hcHBseSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAuYXBwbHkgLmFwcGx5X19sZWZ0LFxuICAuYXBwbHkgLmFwcGx5X19yaWdodCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjcuNWVtKSB7XG4gIC5hcHBseSAuYXBwbHlfX2xlZnQsXG4gIC5hcHBseSAuYXBwbHlfX3JpZ2h0IHtcbiAgICBwYWRkaW5nOiA1MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2Ny40Mzc1ZW0pIHtcbiAgLmFwcGx5IC5hcHBseV9fbGVmdCxcbiAgLmFwcGx5IC5hcHBseV9fcmlnaHQge1xuICAgIHBhZGRpbmc6IDI1cHg7XG4gIH1cbiAgLmFwcGx5IC5maWVsZC0tYXBwbHktcmVzb3VyY2UtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLyogQ29udGFjdCAqL1xuLnBhcmFncmFwaC0tY29udGFjdCB7XG4gIGJhY2tncm91bmQ6ICNlMTJmMjI7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG4ucGFyYWdyYXBoLS1jb250YWN0IC5wYXJhZ3JhcGhfX2NvbnRlbnQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEyNDBweDtcbiAgbWluLXdpZHRoOiAzMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctdG9wOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5My43NWVtKSB7XG4gIC5wYXJhZ3JhcGgtLWNvbnRhY3QgLnBhcmFncmFwaF9fY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tY29udGFjdCAuZmllbGQtLWNvbnRhY3QtdGl0bGUge1xuICBjb2xvcjogIzIyMjIyMjtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYXJhZ3JhcGgtLWNvbnRhY3QgLmZpZWxkLS1jb250YWN0LXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiA0NHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucGFyYWdyYXBoLS1jb250YWN0IC5maWVsZC0tY29udGFjdC10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbn1cblxuLnBhcmFncmFwaC0tY29udGFjdCAuZmllbGQtLWNvbnRhY3QtcGhvbmUsXG4ucGFyYWdyYXBoLS1jb250YWN0IC5maWVsZC0tY29udGFjdC1lbWFpbCxcbi5wYXJhZ3JhcGgtLWNvbnRhY3QgLmZpZWxkLS1jb250YWN0LWFkZHJlc3Mge1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnBhcmFncmFwaC0tY29udGFjdCAuZmllbGQtLWNvbnRhY3QtcGhvbmU6OmJlZm9yZSxcbi5wYXJhZ3JhcGgtLWNvbnRhY3QgLmZpZWxkLS1jb250YWN0LWVtYWlsOjpiZWZvcmUsXG4ucGFyYWdyYXBoLS1jb250YWN0IC5maWVsZC0tY29udGFjdC1hZGRyZXNzOjpiZWZvcmUge1xuICBtYXJnaW4tdG9wOiAycHg7XG59XG5cbi5wYXJhZ3JhcGgtLWNvbnRhY3QgLmZpZWxkLS1jb250YWN0LXBob25lIGEsXG4ucGFyYWdyYXBoLS1jb250YWN0IC5maWVsZC0tY29udGFjdC1lbWFpbCBhLFxuLnBhcmFncmFwaC0tY29udGFjdCAuZmllbGQtLWNvbnRhY3QtYWRkcmVzcyBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5wYXJhZ3JhcGgtLWNvbnRhY3QgLmZpZWxkLS1jb250YWN0LXBob25lOmxhc3QtY2hpbGQsXG4ucGFyYWdyYXBoLS1jb250YWN0IC5maWVsZC0tY29udGFjdC1lbWFpbDpsYXN0LWNoaWxkLFxuLnBhcmFncmFwaC0tY29udGFjdCAuZmllbGQtLWNvbnRhY3QtYWRkcmVzczpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ucGFyYWdyYXBoLS1jb250YWN0IC5maWVsZC0tY29udGFjdC1waG9uZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21vYmlsZS0td2hpdGUucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gOTAlO1xufVxuXG4uc3ZnIC5wYXJhZ3JhcGgtLWNvbnRhY3QgLmZpZWxkLS1jb250YWN0LXBob25lOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbW9iaWxlLS13aGl0ZS5zdmdcIik7XG59XG5cbi5wYXJhZ3JhcGgtLWNvbnRhY3QgLmZpZWxkLS1jb250YWN0LWVtYWlsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbWFpbC0td2hpdGUucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbn1cblxuLnN2ZyAucGFyYWdyYXBoLS1jb250YWN0IC5maWVsZC0tY29udGFjdC1lbWFpbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21haWwtLXdoaXRlLnN2Z1wiKTtcbn1cblxuLnBhcmFncmFwaC0tY29udGFjdCAuZmllbGQtLWNvbnRhY3QtYWRkcmVzcyBwIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4ucGFyYWdyYXBoLS1jb250YWN0IC5maWVsZC0tY29udGFjdC1hZGRyZXNzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jYXRpb24tLXdoaXRlLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDg1JTtcbn1cblxuLnN2ZyAucGFyYWdyYXBoLS1jb250YWN0IC5maWVsZC0tY29udGFjdC1hZGRyZXNzOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jYXRpb24tLXdoaXRlLnN2Z1wiKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAucGFyYWdyYXBoLS1jb250YWN0IC5wYXJhZ3JhcGhfX2NvbnRlbnQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAucGFyYWdyYXBoLS1jb250YWN0IC5maWVsZC0tY29udGFjdC1waG9uZSxcbiAgLnBhcmFncmFwaC0tY29udGFjdCAuZmllbGQtLWNvbnRhY3QtZW1haWwsXG4gIC5wYXJhZ3JhcGgtLWNvbnRhY3QgLmZpZWxkLS1jb250YWN0LWFkZHJlc3Mge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMjVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTIuNWVtKSB7XG4gIC5wYXJhZ3JhcGgtLWNvbnRhY3QgLnBhcmFncmFwaF9fY29udGVudCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gIC5wYXJhZ3JhcGgtLWNvbnRhY3QgLmZpZWxkLS1jb250YWN0LXRpdGxlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8qIFdlYmZvcm0gKi9cbi5wYXJhZ3JhcGgtLXdlYmZvcm0ge1xuICBiYWNrZ3JvdW5kOiAjZTEyZjIyO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnBhcmFncmFwaC0td2ViZm9ybSA+IC5wYXJhZ3JhcGhfX2NvbnRlbnQge1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wYXJhZ3JhcGgtLXdlYmZvcm0gPiAucGFyYWdyYXBoX19jb250ZW50OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLnBhcmFncmFwaC0td2ViZm9ybSBoMiwgLnBhcmFncmFwaC0td2ViZm9ybSAuZm9ybS1pdGVtID4gbGFiZWwge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLnBhcmFncmFwaC0td2ViZm9ybSAuZmllbGQtLXdlYmZvcm0taW1hZ2Uge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucGFyYWdyYXBoLS13ZWJmb3JtIC5maWVsZC0td2ViZm9ybSB7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgcGFkZGluZy1yaWdodDogMjVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBhcmFncmFwaC0td2ViZm9ybSAuZmllbGQtLXdlYmZvcm0ge1xuICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3NXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnBhcmFncmFwaC0td2ViZm9ybSAuZmllbGQtLXdlYmZvcm0ge1xuICAgIHBhZGRpbmctdG9wOiAzMy4zMzMzMzMzMzMzcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMzLjMzMzMzMzMzMzNweDtcbiAgfVxufVxuXG4ucGFyYWdyYXBoLS13ZWJmb3JtIC5idXR0b24tLXByaW1hcnkge1xuICBib3JkZXI6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMTVweCA1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnBhcmFncmFwaC0td2ViZm9ybSAuYnV0dG9uLS1wcmltYXJ5OmhvdmVyLCAucGFyYWdyYXBoLS13ZWJmb3JtIC5idXR0b24tLXByaW1hcnk6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gIC5wYXJhZ3JhcGgtLXdlYmZvcm0gLmJ1dHRvbi0tcHJpbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICAucGFyYWdyYXBoLS13ZWJmb3JtID4gLnBhcmFncmFwaF9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAucGFyYWdyYXBoLS13ZWJmb3JtIC5maWVsZC0td2ViZm9ybS1pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDMwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAub2JqZWN0Zml0IC5wYXJhZ3JhcGgtLXdlYmZvcm0gLmZpZWxkLS13ZWJmb3JtLWltYWdlID4gZGl2IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLm9iamVjdGZpdCAucGFyYWdyYXBoLS13ZWJmb3JtIC5maWVsZC0td2ViZm9ybS1pbWFnZSA+IGRpdiBpbWcge1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAucGFyYWdyYXBoLS13ZWJmb3JtIC5maWVsZC0td2ViZm9ybSB7XG4gICAgd2lkdGg6IDcwJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY3LjVlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBhcmFncmFwaC0td2ViZm9ybSAuZmllbGQtLXdlYmZvcm0ge1xuICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3NXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2Ny41ZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnBhcmFncmFwaC0td2ViZm9ybSAuZmllbGQtLXdlYmZvcm0ge1xuICAgIHBhZGRpbmctdG9wOiAzMy4zMzMzMzMzMzMzcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMzLjMzMzMzMzMzMzNweDtcbiAgfVxufVxuXG4vKiBTdGF0aXN0aWNzICovXG4ucGFyYWdyYXBoLS1zdGF0aXN0aWNzIC5maWVsZC0tc3RhdGlzdGljcyB7XG4gIG1hcmdpbjogLTEyLjVweDtcbn1cblxuLnBhcmFncmFwaC0tc3RhdGlzdGljcyAuZmllbGQtLXN0YXRpc3RpY3M6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucGFyYWdyYXBoLS1zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICBtYXJnaW46IDEyLjVweDtcbiAgaGVpZ2h0OiAyMDBweDtcbn1cblxuLnBhcmFncmFwaC0tc3RhdGlzdGljcyAuZmllbGQtLWhlYWRsaW5lICsgLmZpZWxkLS1zdGF0aXN0aWMge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFyYWdyYXBoLS1zdGF0aXN0aWNzIC5maWVsZC0tc3RhdGlzdGljcyB7XG4gICAgbWFyZ2luOiAtMjVweDtcbiAgfVxuICAucGFyYWdyYXBoLS1zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICAgIG1hcmdpbjogMjVweDtcbiAgfVxuICAucGFyYWdyYXBoLS1zdGF0aXN0aWNzIC5maWVsZC0taGVhZGxpbmUgKyAuZmllbGQtLXN0YXRpc3RpYyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzcuNWVtKSBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oYXMtc2lkZWJhciAucGFyYWdyYXBoLS1zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gMjVweCk7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhhcy1zaWRlYmFyIC5wYXJhZ3JhcGgtLXN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSA1MHB4KTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gIC5uby1zaWRlYmFyIC5wYXJhZ3JhcGgtLXN0YXRpc3RpY3MgLnN0YXRpc3RpYyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAubm8tc2lkZWJhciAucGFyYWdyYXBoLS1zdGF0aXN0aWNzIC5zdGF0aXN0aWMge1xuICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgd2lkdGg6IGNhbGMoMzMuMzMlIC0gNTBweCk7XG4gIH1cbn1cblxuLyogRGlzcGxheSBNb2RlOiBDYXJkICovXG4uY2FyZCBwIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4uY2FyZCBhIHtcbiAgYmFja2dyb3VuZDogI2UxMmYyMjtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4uY2FyZCBhIC5jYXJkX190aXRsZSxcbi5jYXJkIGEgYixcbi5jYXJkIGEgc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmNhcmQgYSAuY2FyZF9fY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNhcmQgYSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHBhZGRpbmc6IDI1cHggMjVweCAzMS4yNXB4O1xuICAgIG1pbi1oZWlnaHQ6IDIwMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5jYXJkIGEge1xuICAgIHBhZGRpbmc6IDE2LjY2NjY2NjY2NjdweCAxNi42NjY2NjY2NjY3cHggMjVweDtcbiAgfVxufVxuXG4ubm8tdG91Y2hldmVudHMgLmNhcmQgYSB7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzIGVhc2U7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7XG4gIGNvbG9yOiAjMjIyMjIyO1xufVxuXG4ubm8tdG91Y2hldmVudHMgLmNhcmQgYSAudGV4dC0tc21hbGwge1xuICBjb2xvcjogIzUyNTI1Mjtcbn1cblxuLm5vLXRvdWNoZXZlbnRzIC5jYXJkIGE6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4yNXMgZWFzZTtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogI2UxMmYyMjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogLTFweDtcbiAgbGVmdDogLTFweDtcbiAgcmlnaHQ6IC0xcHg7XG4gIGhlaWdodDogNnB4O1xufVxuXG4ubm8tdG91Y2hldmVudHMgLmNhcmQgYTpob3ZlciwgLm5vLXRvdWNoZXZlbnRzIC5jYXJkIGE6Zm9jdXMge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLm5vLXRvdWNoZXZlbnRzIC5jYXJkIGE6aG92ZXIgLnRleHQtLXNtYWxsLCAubm8tdG91Y2hldmVudHMgLmNhcmQgYTpmb2N1cyAudGV4dC0tc21hbGwge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLm5vLXRvdWNoZXZlbnRzIC5jYXJkIGE6aG92ZXI6YWZ0ZXIsIC5uby10b3VjaGV2ZW50cyAuY2FyZCBhOmZvY3VzOmFmdGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7XG59XG5cbi5uby10b3VjaGV2ZW50cyAuY2FyZCBhOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLm5vLXRvdWNoZXZlbnRzIC5jYXJkIGE6Zm9jdXM6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyogRGlzcGxheSBNb2RlOiBUZWFzZXIgKi9cbi50ZWFzZXI6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4udGVhc2VyIGgzIGEge1xuICBjb2xvcjogIzIyMjIyMjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cbi50ZWFzZXIgaDMgYTphZnRlciB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctLWJsYWNrLnBuZ1wiKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLnRlYXNlciBoMyBhOmhvdmVyLCAudGVhc2VyIGgzIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRlYXNlciBoMyBhOmhvdmVyOmFmdGVyIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG59XG5cbi5zdmcgLnRlYXNlciBoMyBhOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LS1ibGFjay5zdmdcIik7XG59XG5cbi50ZWFzZXIgLmxpbmtzIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi50ZWFzZXIgLm5vZGUtcmVhZG1vcmUgYSxcbi50ZWFzZXIgLmZpZWxkLS1saW5rIGEge1xuICBib3JkZXI6IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb2xvcjogI2UxMmYyMjtcbn1cblxuLnRlYXNlciAubm9kZS1yZWFkbW9yZSBhOmFmdGVyLFxuLnRlYXNlciAuZmllbGQtLWxpbmsgYTphZnRlciB7XG4gIHRyYW5zaXRpb246IG1hcmdpbi1sZWZ0IDAuMjVzIGVhc2U7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xcHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi50ZWFzZXIgLm5vZGUtcmVhZG1vcmUgYTpob3ZlciwgLnRlYXNlciAubm9kZS1yZWFkbW9yZSBhOmZvY3VzLFxuLnRlYXNlciAuZmllbGQtLWxpbmsgYTpob3Zlcixcbi50ZWFzZXIgLmZpZWxkLS1saW5rIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnRlYXNlciAubm9kZS1yZWFkbW9yZSBhOmhvdmVyOmFmdGVyLFxuLnRlYXNlciAuZmllbGQtLWxpbmsgYTpob3ZlcjphZnRlciB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xufVxuXG4udGVhc2VyIC5ub2RlLXJlYWRtb3JlIGE6aG92ZXIsIC50ZWFzZXIgLm5vZGUtcmVhZG1vcmUgYTpmb2N1cyxcbi50ZWFzZXIgLmZpZWxkLS1saW5rIGE6aG92ZXIsXG4udGVhc2VyIC5maWVsZC0tbGluayBhOmZvY3VzIHtcbiAgY29sb3I6ICNlMTJmMjI7XG59XG5cbi50ZWFzZXIgLm5vZGUtcmVhZG1vcmUgYTphZnRlcixcbi50ZWFzZXIgLmZpZWxkLS1saW5rIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctLXJlZC5wbmdcIik7XG59XG5cbi5zdmcgLnRlYXNlciAubm9kZS1yZWFkbW9yZSBhOmFmdGVyLCAuc3ZnXG4udGVhc2VyIC5maWVsZC0tbGluayBhOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LS1yZWQuc3ZnXCIpO1xufVxuXG4udGVhc2VyICsgLnRlYXNlciB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDNkM2QzO1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBwYWRkaW5nLXRvcDogNTBweDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAudGVhc2VyIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAubm8tc2lkZWJhciAudGVhc2VyIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5uby1zaWRlYmFyIC50ZWFzZXIgLnRlYXNlcl9fdGV4dCxcbiAgLm5vLXNpZGViYXIgLnRlYXNlciAudGVhc2VyX19pbWFnZSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAubm8tc2lkZWJhciAudGVhc2VyIC50ZWFzZXJfX3RleHQge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxuICAubm8tc2lkZWJhciAudGVhc2VyIC50ZWFzZXJfX2ltYWdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLm5vLXNpZGViYXIgLnRlYXNlciBoMyB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuICAubm8tc2lkZWJhciAudGVhc2VyIC50ZWFzZXJfX2ltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oYXMtc2lkZWJhciAudGVhc2VyIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5oYXMtc2lkZWJhciAudGVhc2VyIC50ZWFzZXJfX3RleHQsXG4gIC5oYXMtc2lkZWJhciAudGVhc2VyIC50ZWFzZXJfX2ltYWdlIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5oYXMtc2lkZWJhciAudGVhc2VyIC50ZWFzZXJfX3RleHQge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxuICAuaGFzLXNpZGViYXIgLnRlYXNlciAudGVhc2VyX19pbWFnZSB7XG4gICAgcGFkZGluZy1yaWdodDogMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oYXMtc2lkZWJhciAudGVhc2VyIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG4gIC5oYXMtc2lkZWJhciAudGVhc2VyIC50ZWFzZXJfX2ltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbi5wYXJhZ3JhcGgtLWNvbHVtbnMgLnRlYXNlciBoMyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG59XG5cbi5wYXJhZ3JhcGgtLWNvbHVtbnMgLnRlYXNlciAudGVhc2VyX19pbWFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5wYXJhZ3JhcGgtLWNvbHVtbnMgLnRlYXNlciAudGVhc2VyX190ZXh0LFxuLnBhcmFncmFwaC0tY29sdW1ucyAudGVhc2VyIC50ZWFzZXJfX2ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKiBOZXdzICovXG4ubmV3czphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5uZXdzIC5uZXdzX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5uZXdzIC5uZXdzX19kYXRlIHtcbiAgY29sb3I6ICM3MTczNzU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAubmV3cy5oYXMtaW1hZ2UgLm5ld3NfX2ltYWdlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMi41cHg7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAubmV3cy5oYXMtaW1hZ2UgLm5ld3NfX3RleHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMTIuNXB4O1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAubmV3cy5oYXMtaW1hZ2UgLm5ld3NfX2ltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG59XG5cbi8qIEV2ZW50cyAqL1xuLmV2ZW50OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjbGVhcjogYm90aDtcbn1cblxuLmV2ZW50IC5ldmVudF9fZGF0ZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxMi41cHg7XG4gIHdpZHRoOiA4NXB4O1xufVxuXG4uZXZlbnQgLmV2ZW50X190ZXh0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctbGVmdDogMTIuNXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gODVweCk7XG59XG5cbi5ldmVudCAuZXZlbnRfX3RpdGxlIHtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi5ldmVudCAuZXZlbnRfX2xvY2F0aW9uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvY2F0aW9uLS1ncmF5LnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIDVweCBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCBhdXRvO1xuICBjb2xvcjogIzcxNzM3NTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG59XG5cbi5zdmcgLmV2ZW50IC5ldmVudF9fbG9jYXRpb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jYXRpb24tLWdyYXkuc3ZnXCIpO1xufVxuXG4vKiBBbm5vdW5jZW1lbnRzICovXG4uYW5ub3VuY2VtZW50IHtcbiAgYmFja2dyb3VuZDogIzUyNTI1MjtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5hbm5vdW5jZW1lbnQgKiB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmFubm91bmNlbWVudCBoMiwgLmFubm91bmNlbWVudCBoMywgLmFubm91bmNlbWVudCBoNCwgLmFubm91bmNlbWVudCBoNSwgLmFubm91bmNlbWVudCBhIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5hbm5vdW5jZW1lbnQgLmFubm91bmNlbWVudF9fZGlzbWlzcyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy94LS13aGl0ZS5wbmdcIik7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMThweCBhdXRvO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4uc3ZnIC5hbm5vdW5jZW1lbnQgLmFubm91bmNlbWVudF9fZGlzbWlzcyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy94LS13aGl0ZS5zdmdcIik7XG59XG5cbi5ob21lcGFnZSAuYW5ub3VuY2VtZW50IC5hbm5vdW5jZW1lbnRfX2Rpc21pc3Mge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBBbGwgRGVncmVlcyBTZWFyY2ggKi9cbi5wcm9ncmFtc2VhcmNoIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMjQwcHg7XG4gIG1pbi13aWR0aDogMzIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgcGFkZGluZy1yaWdodDogMjVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkzLjc1ZW0pIHtcbiAgLnByb2dyYW1zZWFyY2gge1xuICAgIG1heC13aWR0aDogMTQ0MHB4O1xuICB9XG59XG5cbi5wcm9ncmFtLXNlYXJjaC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX2ZpbHRlcnMge1xuICBiYWNrZ3JvdW5kOiAjZTEyZjIyO1xufVxuXG4ucHJvZ3JhbS1zZWFyY2gtYmxvY2sgLnNlYXJjaF9fZmlsdGVyczphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wcm9ncmFtLXNlYXJjaC1ibG9jayAuc2VhcmNoX19maWx0ZXJzIHtcbiAgICBwYWRkaW5nOiAzNy41cHggMjVweCA1MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX2ZpbHRlcnMge1xuICAgIHBhZGRpbmc6IDI1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX2ZpbHRlcnMge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucHJvZ3JhbS1zZWFyY2gtYmxvY2sgLnNlYXJjaF9fZmlsdGVycyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzMuMzMzMzMzMzMzM3B4O1xuICB9XG59XG5cbi5wcm9ncmFtLXNlYXJjaC1ibG9jayAuc2VhcmNoX19maWx0ZXJzIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX2ZpbHRlcnMgLnNlbGVjdGJveGl0LWJ0bi5zZWxlY3Rib3hpdC1mb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgI2ZmZjtcbiAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX2ZpbHRlcnMgLnNlbGVjdGJveGl0LWJ0bi5zZWxlY3Rib3hpdC1mb2N1cy5zZWxlY3Rib3hpdC1vcGVuIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cblxuLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX2ZpbHRlcnMgLmZvcm0taXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiAxMi41cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEyLjVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbn1cblxuLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX2ZpbHRlcnMgLmZvcm0taXRlbSA+IGxhYmVsLFxuLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX2ZpbHRlcnMgLmZvcm0taXRlbSA+IC5sYWJlbCB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG5cbi5wcm9ncmFtLXNlYXJjaC1ibG9jayAuc2VhcmNoX19maWx0ZXJzIC5mb3JtLWl0ZW0gaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2Ny41ZW0pIHtcbiAgLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX2ZpbHRlcnMgLmZvcm0taXRlbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX2ZpbHRlcnMgLmZvcm0taXRlbSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5wcm9ncmFtLXNlYXJjaC1ibG9jayAuc2VhcmNoX19maWx0ZXJzIC5mb3JtLWl0ZW0uZmlsdGVycyB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuXG4ucHJvZ3JhbS1zZWFyY2gtYmxvY2sgLnNlYXJjaF9fZmlsdGVycyAuZm9ybS1pdGVtLmZpbHRlcnMgLmZvcm0taXRlbSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5wcm9ncmFtLXNlYXJjaC1ibG9jayAuc2VhcmNoX19maWx0ZXJzIC5mb3JtLWl0ZW0uZmlsdGVycyAuZm9ybS1pdGVtIHNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucHJvZ3JhbS1zZWFyY2gtYmxvY2sgLnNlYXJjaF9fZmlsdGVycyAuZm9ybS1pdGVtLmZpbHRlcnMge1xuICAgIG1hcmdpbi1yaWdodDogLTEyLjVweDtcbiAgICBtYXJnaW4tbGVmdDogLTEyLjVweDtcbiAgfVxuICAucHJvZ3JhbS1zZWFyY2gtYmxvY2sgLnNlYXJjaF9fZmlsdGVycyAuZm9ybS1pdGVtLmZpbHRlcnMgPiAubGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogMTIuNXB4O1xuICB9XG4gIC5wcm9ncmFtLXNlYXJjaC1ibG9jayAuc2VhcmNoX19maWx0ZXJzIC5mb3JtLWl0ZW0uZmlsdGVycyAuZm9ybS1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMlO1xuICAgIHBhZGRpbmctbGVmdDogMTIuNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEyLjVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjRlbSkge1xuICAucHJvZ3JhbS1zZWFyY2gtYmxvY2sgLnNlYXJjaF9fZmlsdGVycyAuZm9ybS1pdGVtLmZpbHRlcnMge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5wcm9ncmFtLXNlYXJjaC1ibG9jayAuc2VhcmNoX19zZWxlY3Rpb25zIHtcbiAgY29sb3I6ICM1MjUyNTI7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogMzMuMzMzMzMzMzMzM3B4O1xuICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgbWF4LWhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4ucHJvZ3JhbS1zZWFyY2gtYmxvY2sgLnNlYXJjaF9fc2VsZWN0aW9ucy52aXNpYmxlIHtcbiAgbWF4LWhlaWdodDogMTIwcHg7XG4gIG9wYWNpdHk6IDE7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4ucHJvZ3JhbS1zZWFyY2gtYmxvY2sgLnNlYXJjaF9fc2VsZWN0aW9ucyBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkICNlMTJmMjI7XG4gIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX3NlbGVjdGlvbnMgZGl2IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX3NlbGVjdGlvbnMgLmxhYmVsLFxuICAucHJvZ3JhbS1zZWFyY2gtYmxvY2sgLnNlYXJjaF9fc2VsZWN0aW9ucyAuc2VsZWN0aW9ucyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMi41cHg7XG4gIH1cbiAgLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX3NlbGVjdGlvbnMgLmZpbHRlci1zZWxlY3Rpb24gKyAuZmlsdGVyLXNlbGVjdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDEyLjVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzcuNDM3NWVtKSB7XG4gIC5wcm9ncmFtLXNlYXJjaC1ibG9jayAuc2VhcmNoX19zZWxlY3Rpb25zIC5maWx0ZXItc2VsZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbiAgLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX3NlbGVjdGlvbnMgLmNsZWFyLWZpbHRlcnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICAucHJvZ3JhbS1zZWFyY2gtYmxvY2sgLnNlYXJjaF9fcmVzdWx0cyAucHJvZ3JhbS1yZXN1bHQ6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjcuNDM3NWVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucHJvZ3JhbS1zZWFyY2gtYmxvY2sgLnNlYXJjaF9fcmVzdWx0cyAucHJvZ3JhbS1yZXN1bHQ6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICBjbGVhcjogbGVmdDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSBhbmQgKG1pbi13aWR0aDogMzcuNWVtKSB7XG4gIC5wcm9ncmFtLXNlYXJjaC1ibG9jayAuc2VhcmNoX19yZXN1bHRzIHtcbiAgICBtYXJnaW4tbGVmdDogLTEyLjVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMi41cHg7XG4gIH1cbiAgLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX3Jlc3VsdHMgLnByb2dyYW0tcmVzdWx0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEyLjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMi41cHg7XG4gIH1cbiAgLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX3Jlc3VsdHMgLnByb2dyYW0tcmVzdWx0Om50aC1jaGlsZCgybisxKSB7XG4gICAgY2xlYXI6IGxlZnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAuZmxleGJveCAucHJvZ3JhbS1zZWFyY2gtYmxvY2sgLnNlYXJjaF9fcmVzdWx0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbiAgLmZsZXhib3ggLnByb2dyYW0tc2VhcmNoLWJsb2NrIC5zZWFyY2hfX3Jlc3VsdHMgLmNhcmQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuZmxleGJveCAucHJvZ3JhbS1zZWFyY2gtYmxvY2sgLnNlYXJjaF9fcmVzdWx0cyAuY2FyZCAuY2FyZF9fbGluayB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuXG4uZmlsdGVyLXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy94LnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTJweCBhdXRvO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmctbGVmdDogMTdweDtcbn1cblxuLnN2ZyAuZmlsdGVyLXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy94LnN2Z1wiKTtcbn1cblxuLmZpbHRlci1zZWxlY3Rpb246aG92ZXIsIC5maWx0ZXItc2VsZWN0aW9uOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5jbGVhci1maWx0ZXJzIHtcbiAgY29sb3I6ICNlMTJmMjI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5jbGVhci1maWx0ZXJzOmhvdmVyLCAuY2xlYXItZmlsdGVyczpmb2N1cyB7XG4gIGNvbG9yOiAjNTI1MjUyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qIFNlYXJjaCBBdXRvY29tcGxldGUgKi9cbi5zZWFyY2gtYXBpLWF1dG9jb21wbGV0ZS1zZWFyY2gge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDNkM2QzO1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcbn1cblxuLnNlYXJjaC1hcGktYXV0b2NvbXBsZXRlLXNlYXJjaCAudWktbWVudS1pdGVtIHtcbiAgcGFkZGluZzogMCAxMHB4O1xufVxuXG4uc2VhcmNoLWFwaS1hdXRvY29tcGxldGUtc2VhcmNoIC51aS1tZW51LWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLnNlYXJjaC1hcGktYXV0b2NvbXBsZXRlLXNlYXJjaCAudWktbWVudS1pdGVtIGEge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QzZDNkMztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHg7XG59XG5cbi5zZWFyY2gtYXBpLWF1dG9jb21wbGV0ZS1zZWFyY2ggLnVpLW1lbnUtaXRlbSBhOmhvdmVyLCAuc2VhcmNoLWFwaS1hdXRvY29tcGxldGUtc2VhcmNoIC51aS1tZW51LWl0ZW0gYTpmb2N1cywgLnNlYXJjaC1hcGktYXV0b2NvbXBsZXRlLXNlYXJjaCAudWktbWVudS1pdGVtIGEudWktc3RhdGUtYWN0aXZlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMjIzOTgzO1xufVxuXG4uc2VhcmNoLWFwaS1hdXRvY29tcGxldGUtc2VhcmNoIC51aS1tZW51LWl0ZW0gYTpob3ZlciAuc2VhcmNoLWFwaS1hdXRvY29tcGxldGUtc3VnZ2VzdGlvbiwgLnNlYXJjaC1hcGktYXV0b2NvbXBsZXRlLXNlYXJjaCAudWktbWVudS1pdGVtIGE6Zm9jdXMgLnNlYXJjaC1hcGktYXV0b2NvbXBsZXRlLXN1Z2dlc3Rpb24sIC5zZWFyY2gtYXBpLWF1dG9jb21wbGV0ZS1zZWFyY2ggLnVpLW1lbnUtaXRlbSBhLnVpLXN0YXRlLWFjdGl2ZSAuc2VhcmNoLWFwaS1hdXRvY29tcGxldGUtc3VnZ2VzdGlvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzRiNjljYjtcbn1cblxuLnNlYXJjaC1hcGktYXV0b2NvbXBsZXRlLXNlYXJjaCAudWktbWVudS1pdGVtIGEgLnNlYXJjaC1hcGktYXV0b2NvbXBsZXRlLXN1Z2dlc3Rpb24ge1xuICBwYWRkaW5nOiAwO1xufVxuXG4uc2VhcmNoLWFwaS1hdXRvY29tcGxldGUtc2VhcmNoIC51aS1tZW51LWl0ZW06Zmlyc3QtY2hpbGQgYSB7XG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi8qIEBwYXJ0aWFsIGZvcm1zICovXG4vKiBXcmFwcGVyIGZvciBhIGZvcm0gZWxlbWVudCAob3IgZ3JvdXAgb2YgZm9ybSBlbGVtZW50cykgYW5kIGl0cyBsYWJlbC4gKi9cbi5mb3JtLWl0ZW0ge1xuICBtYXJnaW46IDIwcHggMDtcbiAgLyogUGFjayBncm91cHMgb2YgY2hlY2tib3hlcyBhbmQgcmFkaW8gYnV0dG9ucyBjbG9zZXIgdG9nZXRoZXIuICovXG4gIC8qIEZvcm0gaXRlbXMgaW4gYSB0YWJsZS4gKi9cbiAgLyogVGhlIGRlc2NyaXB0aXZlIGhlbHAgdGV4dCAoc2VwYXJhdGUgZnJvbSB0aGUgbGFiZWwpLiAqL1xufVxuXG4uZm9ybS1jaGVja2JveGVzIC5mb3JtLWl0ZW0sXG4uZm9ybS1yYWRpb3MgLmZvcm0taXRlbSB7XG4gIC8qIERydXBhbCBjb3JlIHVzZXMgXCIwLjRlbSAwXCIuICovXG4gIG1hcmdpbjogMDtcbn1cblxudHIub2RkIC5mb3JtLWl0ZW0sXG50ci5ldmVuIC5mb3JtLWl0ZW0ge1xuICBtYXJnaW46IDA7XG59XG5cbi5mb3JtLWl0ZW0gbGFiZWwsXG4uZm9ybS1pdGVtIC5sYWJlbCB7XG4gIC8qIFRoZSBsYWJlbCBmb3IgYSBmb3JtIGVsZW1lbnQgKi9cbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbWFyZ2luOiAwIDAgMCAwO1xufVxuXG4uZm9ybS1pdGVtIC5kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG5sYWJlbC5mb3JtLXJlcXVpcmVkIHtcbiAgLyogVGhlIHBhcnQgb2YgdGhlIGxhYmVsIHRoYXQgaW5kaWNhdGVzIGEgcmVxdWlyZWQgZmllbGQgKi9cbn1cblxubGFiZWwuZm9ybS1yZXF1aXJlZDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiKlwiO1xuICBjb2xvcjogI2UxMmYyMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0ycHg7XG59XG5cbi8qIFdlYmZvcm1zICovXG4ud2ViZm9ybS1zdWJtaXNzaW9uLWZvcm0gPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLndlYmZvcm0tc3VibWlzc2lvbi1mb3JtIC5mb3JtLWFjdGlvbnMge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xufVxuXG4vKiBXZWJmb3JtIExheW91dCAqL1xuZGl2LmZvcm0td3JhcHBlcjpub3QoLmZvcm0tYWN0aW9ucyk6YWZ0ZXIsXG4ud2ViZm9ybS1zZWN0aW9uLXdyYXBwZXI6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogdGFibGU7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5kaXYuZm9ybS13cmFwcGVyOm5vdCguZm9ybS1hY3Rpb25zKSAuZm9ybS1pdGVtOmxhc3QtY2hpbGQsXG4ud2ViZm9ybS1zZWN0aW9uLXdyYXBwZXIgLmZvcm0taXRlbTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICBkaXYuZm9ybS13cmFwcGVyOm5vdCguZm9ybS1hY3Rpb25zKSAuZm9ybS1pdGVtOm5vdCguanMtZm9ybS10eXBlLXRleHRhcmVhKTpudGgtY2hpbGQob2RkKSxcbiAgLndlYmZvcm0tc2VjdGlvbi13cmFwcGVyIC5mb3JtLWl0ZW06bm90KC5qcy1mb3JtLXR5cGUtdGV4dGFyZWEpOm50aC1jaGlsZChvZGQpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2Ny40Mzc1ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGRpdi5mb3JtLXdyYXBwZXI6bm90KC5mb3JtLWFjdGlvbnMpIC5mb3JtLWl0ZW06bm90KC5qcy1mb3JtLXR5cGUtdGV4dGFyZWEpOm50aC1jaGlsZChvZGQpLFxuICAud2ViZm9ybS1zZWN0aW9uLXdyYXBwZXIgLmZvcm0taXRlbTpub3QoLmpzLWZvcm0tdHlwZS10ZXh0YXJlYSk6bnRoLWNoaWxkKG9kZCkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEyLjVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjcuNWVtKSB7XG4gIGRpdi5mb3JtLXdyYXBwZXI6bm90KC5mb3JtLWFjdGlvbnMpIC5mb3JtLWl0ZW06bm90KC5qcy1mb3JtLXR5cGUtdGV4dGFyZWEpOm50aC1jaGlsZChldmVuKSxcbiAgLndlYmZvcm0tc2VjdGlvbi13cmFwcGVyIC5mb3JtLWl0ZW06bm90KC5qcy1mb3JtLXR5cGUtdGV4dGFyZWEpOm50aC1jaGlsZChldmVuKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2Ny40Mzc1ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGRpdi5mb3JtLXdyYXBwZXI6bm90KC5mb3JtLWFjdGlvbnMpIC5mb3JtLWl0ZW06bm90KC5qcy1mb3JtLXR5cGUtdGV4dGFyZWEpOm50aC1jaGlsZChldmVuKSxcbiAgLndlYmZvcm0tc2VjdGlvbi13cmFwcGVyIC5mb3JtLWl0ZW06bm90KC5qcy1mb3JtLXR5cGUtdGV4dGFyZWEpOm50aC1jaGlsZChldmVuKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMi41cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgZGl2LmZvcm0td3JhcHBlcjpub3QoLmZvcm0tYWN0aW9ucykgLmZvcm0taXRlbSxcbiAgLndlYmZvcm0tc2VjdGlvbi13cmFwcGVyIC5mb3JtLWl0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuICBkaXYuZm9ybS13cmFwcGVyOm5vdCguZm9ybS1hY3Rpb25zKSAuZm9ybS1pdGVtOm5vdCguanMtZm9ybS10eXBlLXRleHRhcmVhKSxcbiAgLndlYmZvcm0tc2VjdGlvbi13cmFwcGVyIC5mb3JtLWl0ZW06bm90KC5qcy1mb3JtLXR5cGUtdGV4dGFyZWEpIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIGRpdi5mb3JtLXdyYXBwZXI6bm90KC5mb3JtLWFjdGlvbnMpIC5mb3JtLWl0ZW06bm90KC5qcy1mb3JtLXR5cGUtdGV4dGFyZWEpOm50aC1jaGlsZChvZGQpLFxuICAud2ViZm9ybS1zZWN0aW9uLXdyYXBwZXIgLmZvcm0taXRlbTpub3QoLmpzLWZvcm0tdHlwZS10ZXh0YXJlYSk6bnRoLWNoaWxkKG9kZCkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG4gIGRpdi5mb3JtLXdyYXBwZXI6bm90KC5mb3JtLWFjdGlvbnMpIC5mb3JtLWl0ZW0uanMtZm9ybS10eXBlLXRleHRhcmVhLFxuICAud2ViZm9ybS1zZWN0aW9uLXdyYXBwZXIgLmZvcm0taXRlbS5qcy1mb3JtLXR5cGUtdGV4dGFyZWEge1xuICAgIGNsZWFyOiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIGRpdi5mb3JtLXdyYXBwZXI6bm90KC5mb3JtLWFjdGlvbnMpIC5mb3JtLWl0ZW0ud2ViZm9ybS10eXBlLXJhZGlvcyAuZm9ybS1pdGVtLCBkaXYuZm9ybS13cmFwcGVyOm5vdCguZm9ybS1hY3Rpb25zKSAuZm9ybS1pdGVtLndlYmZvcm0tdHlwZS1jaGVja2JveGVzIC5mb3JtLWl0ZW0sXG4gIC53ZWJmb3JtLXNlY3Rpb24td3JhcHBlciAuZm9ybS1pdGVtLndlYmZvcm0tdHlwZS1yYWRpb3MgLmZvcm0taXRlbSxcbiAgLndlYmZvcm0tc2VjdGlvbi13cmFwcGVyIC5mb3JtLWl0ZW0ud2ViZm9ybS10eXBlLWNoZWNrYm94ZXMgLmZvcm0taXRlbSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vKiBXZWJmb3JtIFNlY3Rpb25zICovXG4ud2ViZm9ybS1zZWN0aW9uICsgLndlYmZvcm0tc2VjdGlvbiB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDNkM2QzO1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAud2ViZm9ybS1zZWN0aW9uICsgLndlYmZvcm0tc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDQwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAud2ViZm9ybS1zZWN0aW9uICsgLndlYmZvcm0tc2VjdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDMzLjMzMzMzMzMzMzNweDtcbiAgfVxufVxuXG4ud2ViZm9ybS1zZWN0aW9uIC53ZWJmb3JtLXNlY3Rpb24tdGl0bGUge1xuICBjb2xvcjogI2UxMmYyMjtcbn1cblxuLyogQ2hlY2tib3hlcy9SYWRpb3MgRmllbGRzZXQgKi9cbmZpZWxkc2V0LndlYmZvcm0tdHlwZS1yYWRpb3MgbGVnZW5kLFxuZmllbGRzZXQud2ViZm9ybS10eXBlLWNoZWNrYm94ZXMgbGVnZW5kIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW46IDAgMCAwIDA7XG59XG5cbmZpZWxkc2V0LndlYmZvcm0tdHlwZS1yYWRpb3MgLmZvcm0taXRlbSxcbmZpZWxkc2V0LndlYmZvcm0tdHlwZS1jaGVja2JveGVzIC5mb3JtLWl0ZW0ge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG5maWVsZHNldC53ZWJmb3JtLXR5cGUtcmFkaW9zIC5mb3JtLWl0ZW0gbGFiZWwsXG5maWVsZHNldC53ZWJmb3JtLXR5cGUtY2hlY2tib3hlcyAuZm9ybS1pdGVtIGxhYmVsIHtcbiAgY29sb3I6ICM1MjUyNTI7XG4gIGZvbnQtc2l6ZTogMTVweDtcbn1cblxuZmllbGRzZXQud2ViZm9ybS10eXBlLXJhZGlvcyAuZm9ybS1pdGVtOmxhc3QtY2hpbGQsXG5maWVsZHNldC53ZWJmb3JtLXR5cGUtY2hlY2tib3hlcyAuZm9ybS1pdGVtOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vKiBUZXh0IE9wdC1pbiAqL1xuLmZvcm0taXRlbS10ZXh0LW9wdGluIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgY29sb3I6ICNlMTJmMjI7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLyogTWluaSBQcm9ncmFtIFNlYXJjaCAqL1xuZm9ybS5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuZm9ybS5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSBsYWJlbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xufVxuXG5mb3JtLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogN3B4O1xuICByaWdodDogN3B4O1xuICBwYWRkaW5nOiA4cHggMTVweDtcbn1cblxuZm9ybS5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSAuZm9ybS1pdGVtIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5mb3JtLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIC5mb3JtLXRleHQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMDBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBsaW5lLWhlaWdodDogNTBweDtcbn1cblxuLyogSGVhZGVyICovXG5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmhlYWRlciBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmhlYWRlciBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuaGVhZGVyIGE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjcuNWVtKSB7XG4gIGhlYWRlciB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gIH1cbiAgaGVhZGVyIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgaGVhZGVyIG5hdiA+IHVsID4gbGkge1xuICAgIG1hcmdpbi1yaWdodDogLTRweDtcbiAgfVxuICBoZWFkZXIgbmF2ID4gdWwgPiBsaTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLyogVG9wIE5hdiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICAjdG9wLW5hdiB7XG4gICAgYmFja2dyb3VuZDogI2UxMmYyMjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG4gICN0b3AtbmF2OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxuICAjdG9wLW5hdiBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gIH1cbiAgI3RvcC1uYXYgYTpob3ZlciwgI3RvcC1uYXYgYTpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgI3RvcC1uYXYgLnJlZ2lvbi0tc2Vjb25kYXJ5LW1lbnUge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTIuNXB4O1xuICB9XG4gICN0b3AtbmF2IC5yZWdpb24tLXNlY29uZGFyeS1tZW51IGxpIHtcbiAgICBwYWRkaW5nOiAxMi41cHg7XG4gIH1cbiAgI3RvcC1uYXYgLnJlZ2lvbi0tc2Vjb25kYXJ5LW1lbnUgYSB7XG4gICAgcGFkZGluZy10b3A6IDFweDtcbiAgfVxuICAjdG9wLW5hdiAucmVnaW9uLS10ZXJ0aWFyeS1tZW51IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICB9XG4gICN0b3AtbmF2IC5yZWdpb24tLXRlcnRpYXJ5LW1lbnUgbGkge1xuICAgIHBhZGRpbmc6IDYuMjVweCA1cHg7XG4gIH1cbiAgI3RvcC1uYXYgLnJlZ2lvbi0tdGVydGlhcnktbWVudSBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjYmYyODFkO1xuICAgIHBhZGRpbmc6IDhweCAyNXB4O1xuICB9XG4gICN0b3AtbmF2IC5yZWdpb24tLXRlcnRpYXJ5LW1lbnUgYTpob3ZlciwgI3RvcC1uYXYgLnJlZ2lvbi0tdGVydGlhcnktbWVudSBhOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjIyMjIyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjcuNWVtKSBhbmQgKG1pbi13aWR0aDogNjcuNWVtKSB7XG4gICN0b3AtbmF2IC5yZWdpb24tLXRlcnRpYXJ5LW1lbnUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEyNXB4O1xuICB9XG59XG5cbi8qIEJvdHRvbSBOYXYgKi9cbi8qIExvZ28gKi9cbiNsb2dvIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvZ28ucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2ZmZjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi10b3A6IDZweDtcbn1cblxuLnN2ZyAjbG9nbyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9sb2dvLnN2Z1wiKTtcbn1cblxuI2xvZ286Zm9jdXMge1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2UxMmYyMjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY3LjQzNzVlbSkge1xuICAjbG9nbyB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIGhlaWdodDogNTlweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjcuNWVtKSB7XG4gICNsb2dvIHtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICB9XG59XG5cbi5yZWdpb24tLXByaW1hcnktbWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0yNXB4O1xuICB9XG4gIC5yZWdpb24tLXByaW1hcnktbWVudSAuYmFjay1saW5rIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5yZWdpb24tLXByaW1hcnktbWVudSB1bCBsaSB7XG4gICAgcGFkZGluZzogMCAyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgdWwgbGkgYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZmY7XG4gICAgY29sb3I6ICMyMjIyMjI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nOiAzMHB4IDAgMjVweDtcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgdWwgbGkgYTpmb2N1cyB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2UxMmYyMjtcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgdWwgbGkgdWwge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIHotaW5kZXg6IDIwO1xuICB9XG4gIC5yZWdpb24tLXByaW1hcnktbWVudSB1bCBsaSB1bC5jb2x1bW5zIHtcbiAgICBjb2x1bW5zOiAyO1xuICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgd2lkdGg6IDgwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMzYwcHg7XG4gIH1cbiAgLnJlZ2lvbi0tcHJpbWFyeS1tZW51IHVsIGxpIHVsLmNvbHVtbnMgPiBsaSB7XG4gICAgYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgdWwgbGkgdWwgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIC5yZWdpb24tLXByaW1hcnktbWVudSB1bCBsaSB1bCBsaSBhIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QzZDNkMztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgdWwgbGkgdWwgbGkgYTpob3ZlciwgLnJlZ2lvbi0tcHJpbWFyeS1tZW51IHVsIGxpIHVsIGxpIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjNGI2OWNiO1xuICB9XG4gIC5yZWdpb24tLXByaW1hcnktbWVudSB1bCBsaSB1bCBsaSBhOmZvY3VzIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZDNkM2QzO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgdWwgbGkgdWwgbGkgPiAucmVnaW9uLS1wcmltYXJ5LW1lbnUgdWwgbGkgdWwgbGk6bGFzdC1jaGlsZCA+IGEge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIH1cbiAgLnJlZ2lvbi0tcHJpbWFyeS1tZW51IHVsIGxpIHVsIGxpLm1lbnUtaXRlbS0tZXhwYW5kZWQgPiBhOm5vdCgudG9nZ2xlLXN1Ym1lbnUpOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy90cmlhbmdsZS0tcmlnaHQucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgIHdpZHRoOiA0cHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgdWwgbGkgdWwgbGkgYS50b2dnbGUtc3VibWVudSB7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLnJlZ2lvbi0tcHJpbWFyeS1tZW51IHVsIGxpIHVsIGxpIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAyNTBweDtcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgdWwgbGkgdWwgbGkgdWwgYTpob3ZlciwgLnJlZ2lvbi0tcHJpbWFyeS1tZW51IHVsIGxpIHVsIGxpIHVsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjNGI2OWNiO1xuICB9XG4gIC5yZWdpb24tLXByaW1hcnktbWVudSB1bCBsaSB1bCBsaTpob3ZlciA+IHVsLCAucmVnaW9uLS1wcmltYXJ5LW1lbnUgdWwgbGkgdWwgbGk6Zm9jdXMgPiB1bCwgLnJlZ2lvbi0tcHJpbWFyeS1tZW51IHVsIGxpIHVsIGxpLmpzLXNob3ctc3VibWVudSA+IHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgdWwgbGk6aG92ZXIgPiB1bCwgLnJlZ2lvbi0tcHJpbWFyeS1tZW51IHVsIGxpOmZvY3VzID4gdWwsIC5yZWdpb24tLXByaW1hcnktbWVudSB1bCBsaS5tZW51LW9wZW4gPiB1bCwgLnJlZ2lvbi0tcHJpbWFyeS1tZW51IHVsIGxpLmpzLXNob3ctc3VibWVudSA+IHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgdWwgbGkuanMtaGlkZS1zdWJtZW51ID4gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLnJlZ2lvbi0tcHJpbWFyeS1tZW51ID4gbmF2ID4gdWwgPiBsaTpob3ZlciA+IGEsIC5yZWdpb24tLXByaW1hcnktbWVudSA+IG5hdiA+IHVsID4gbGk6Zm9jdXMgPiBhLCAucmVnaW9uLS1wcmltYXJ5LW1lbnUgPiBuYXYgPiB1bCA+IGxpLm1lbnUtaXRlbS0tYWN0aXZlLXRyYWlsID4gYSwgLnJlZ2lvbi0tcHJpbWFyeS1tZW51ID4gbmF2ID4gdWwgPiBsaS5qcy1zaG93LXN1Ym1lbnUgPiBhIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZTEyZjIyO1xuICB9XG4gIC5yZWdpb24tLXByaW1hcnktbWVudSA+IG5hdiA+IHVsID4gbGk6bnRoLWNoaWxkKDQpID4gdWwsIC5yZWdpb24tLXByaW1hcnktbWVudSA+IG5hdiA+IHVsID4gbGk6bnRoLWNoaWxkKDUpID4gdWwsIC5yZWdpb24tLXByaW1hcnktbWVudSA+IG5hdiA+IHVsID4gbGk6bnRoLWNoaWxkKDYpID4gdWwsIC5yZWdpb24tLXByaW1hcnktbWVudSA+IG5hdiA+IHVsID4gbGk6bGFzdC1jaGlsZCA+IHVsIHtcbiAgICByaWdodDogMjVweDtcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgPiBuYXYgPiB1bCA+IGxpOm50aC1jaGlsZCg0KSA+IHVsID4gbGkubWVudS1pdGVtLS1leHBhbmRlZCA+IGE6bm90KC50b2dnbGUtc3VibWVudSk6YWZ0ZXIsIC5yZWdpb24tLXByaW1hcnktbWVudSA+IG5hdiA+IHVsID4gbGk6bnRoLWNoaWxkKDUpID4gdWwgPiBsaS5tZW51LWl0ZW0tLWV4cGFuZGVkID4gYTpub3QoLnRvZ2dsZS1zdWJtZW51KTphZnRlciwgLnJlZ2lvbi0tcHJpbWFyeS1tZW51ID4gbmF2ID4gdWwgPiBsaTpudGgtY2hpbGQoNikgPiB1bCA+IGxpLm1lbnUtaXRlbS0tZXhwYW5kZWQgPiBhOm5vdCgudG9nZ2xlLXN1Ym1lbnUpOmFmdGVyLCAucmVnaW9uLS1wcmltYXJ5LW1lbnUgPiBuYXYgPiB1bCA+IGxpOmxhc3QtY2hpbGQgPiB1bCA+IGxpLm1lbnUtaXRlbS0tZXhwYW5kZWQgPiBhOm5vdCgudG9nZ2xlLXN1Ym1lbnUpOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdHJpYW5nbGUtLWxlZnQucG5nXCIpO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA4cHg7XG4gIH1cbiAgLnJlZ2lvbi0tcHJpbWFyeS1tZW51ID4gbmF2ID4gdWwgPiBsaTpudGgtY2hpbGQoNCkgPiB1bCA+IGxpIHVsLCAucmVnaW9uLS1wcmltYXJ5LW1lbnUgPiBuYXYgPiB1bCA+IGxpOm50aC1jaGlsZCg1KSA+IHVsID4gbGkgdWwsIC5yZWdpb24tLXByaW1hcnktbWVudSA+IG5hdiA+IHVsID4gbGk6bnRoLWNoaWxkKDYpID4gdWwgPiBsaSB1bCwgLnJlZ2lvbi0tcHJpbWFyeS1tZW51ID4gbmF2ID4gdWwgPiBsaTpsYXN0LWNoaWxkID4gdWwgPiBsaSB1bCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMjUwcHg7XG4gIH1cbn1cblxuLyogTW9iaWxlICovXG4ubmF2LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzIyMjIyMjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDY1cHg7XG4gIGhlaWdodDogNjVweDtcbiAgcGFkZGluZzogMDtcbn1cblxuLm5hdi1idXR0b24gLm5hdi1idXR0b24tbGFiZWwge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2U7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgb3BhY2l0eTogMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLm5hdi1idXR0b246aG92ZXIsIC5uYXYtYnV0dG9uOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5uYXYtYnV0dG9uOmhvdmVyIC5uYXYtYnV0dG9uLWxhYmVsLCAubmF2LWJ1dHRvbjpmb2N1cyAubmF2LWJ1dHRvbi1sYWJlbCB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbiN0b2dnbGUtbWVudSB7XG4gIGJhY2tncm91bmQ6ICNlMTJmMjI7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4jdG9nZ2xlLW1lbnUgLm1lbnUtaWNvbiB7XG4gIHRyYW5zaXRpb246IHBhZGRpbmcgMC4yNXMgZWFzZTtcbiAgcGFkZGluZzogMjRweCAyMHB4IDA7XG59XG5cbiN0b2dnbGUtbWVudSAuYmFyIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDNweDtcbn1cblxuI3RvZ2dsZS1tZW51IC5iYXIgKyAuYmFyIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4jdG9nZ2xlLW1lbnU6aG92ZXIgLm1lbnUtaWNvbiwgI3RvZ2dsZS1tZW51OmZvY3VzIC5tZW51LWljb24ge1xuICBwYWRkaW5nOiAxMHB4IDIwcHggMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICAjdG9nZ2xlLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuI3RvZ2dsZS1zZWFyY2gge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZDNkM2QzO1xuICBwYWRkaW5nLXRvcDogMTdweDtcbn1cblxuI3RvZ2dsZS1zZWFyY2ggLm5hdi1idXR0b24tbGFiZWwge1xuICBjb2xvcjogIzIyMjIyMjtcbn1cblxuI3RvZ2dsZS1zZWFyY2ggLnNlYXJjaC1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDJweDtcbn1cblxuI3RvZ2dsZS1zZWFyY2ggLnNlYXJjaC1pY29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvc2VhcmNoLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgd2lkdGg6IDIzcHg7XG4gIGhlaWdodDogMjNweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2Ny41ZW0pIHtcbiAgI3RvZ2dsZS1zZWFyY2ggLnNlYXJjaC1pY29uOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlYXJjaC0td2hpdGUucG5nXCIpO1xuICB9XG59XG5cbiN0b2dnbGUtc2VhcmNoOmhvdmVyLCAjdG9nZ2xlLXNlYXJjaDpmb2N1cyB7XG4gIHBhZGRpbmctdG9wOiAycHg7XG59XG5cbi5zdmcgI3RvZ2dsZS1zZWFyY2ggLnNlYXJjaC1pY29uOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zZWFyY2guc3ZnXCIpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjcuNWVtKSB7XG4gIC5zdmcgI3RvZ2dsZS1zZWFyY2ggLnNlYXJjaC1pY29uOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3NlYXJjaC0td2hpdGUuc3ZnXCIpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2Ny41ZW0pIHtcbiAgI3RvZ2dsZS1zZWFyY2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC01MHB4O1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDExNXB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogLTEyMHB4O1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgYmFja2dyb3VuZDogI2JmMjgxZDtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogOHB4IDI1cHg7XG4gIH1cbiAgI3RvZ2dsZS1zZWFyY2g6aG92ZXIsICN0b2dnbGUtc2VhcmNoOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjIyMjIyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICB9XG4gICN0b2dnbGUtc2VhcmNoIC5zZWFyY2gtaWNvbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgI3RvZ2dsZS1zZWFyY2ggLnNlYXJjaC1pY29uOmJlZm9yZSB7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICB9XG4gICN0b2dnbGUtc2VhcmNoIC5uYXYtYnV0dG9uLWxhYmVsIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2Ny40Mzc1ZW0pIHtcbiAgaGVhZGVyID4gLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgI25hdmlnYXRpb24ge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2QzZDNkMztcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC0zMDBweDtcbiAgICByaWdodDogY2FsYygtMTAwJSArIDY1cHgpO1xuICAgIHdpZHRoOiAzMDBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNjVweCk7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgfVxuICAjdG9wLW5hdiAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAjbG9nbyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gIH1cbiAgLnJlZ2lvbi0tcHJpbWFyeS1tZW51IGEsXG4gIC5yZWdpb24tLXNlY29uZGFyeS1tZW51IGEge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDNkM2QzO1xuICAgIGNvbG9yOiAjMjIyMjIyO1xuICAgIHBhZGRpbmc6IDEwcHggMjVweDtcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgYTpub3QoLnRvZ2dsZS1zdWJtZW51KTpob3ZlciwgLnJlZ2lvbi0tcHJpbWFyeS1tZW51IGE6bm90KC50b2dnbGUtc3VibWVudSk6Zm9jdXMsXG4gIC5yZWdpb24tLXNlY29uZGFyeS1tZW51IGE6bm90KC50b2dnbGUtc3VibWVudSk6aG92ZXIsXG4gIC5yZWdpb24tLXNlY29uZGFyeS1tZW51IGE6bm90KC50b2dnbGUtc3VibWVudSk6Zm9jdXMge1xuICAgIGNvbG9yOiAjZTEyZjIyO1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgYS5iYWNrLWxpbmssXG4gIC5yZWdpb24tLXNlY29uZGFyeS1tZW51IGEuYmFjay1saW5rIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbiAgLnJlZ2lvbi0tcHJpbWFyeS1tZW51IGEuYmFjay1saW5rOmJlZm9yZSxcbiAgLnJlZ2lvbi0tc2Vjb25kYXJ5LW1lbnUgYS5iYWNrLWxpbms6YmVmb3JlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBjb250ZW50OiBcIlxcMjVCRVwiO1xuICAgIGNvbG9yOiAjZTEyZjIyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgbGkubWVudS1pdGVtLS1leHBhbmRlZCxcbiAgLnJlZ2lvbi0tc2Vjb25kYXJ5LW1lbnUgbGkubWVudS1pdGVtLS1leHBhbmRlZCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgbGkubWVudS1pdGVtLS1leHBhbmRlZCA+IGE6bm90KC50b2dnbGUtc3VibWVudSksXG4gIC5yZWdpb24tLXNlY29uZGFyeS1tZW51IGxpLm1lbnUtaXRlbS0tZXhwYW5kZWQgPiBhOm5vdCgudG9nZ2xlLXN1Ym1lbnUpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICB9XG4gIC5yZWdpb24tLXByaW1hcnktbWVudSBsaS5tZW51LWl0ZW0tLWV4cGFuZGVkIC50b2dnbGUtc3VibWVudSxcbiAgLnJlZ2lvbi0tc2Vjb25kYXJ5LW1lbnUgbGkubWVudS1pdGVtLS1leHBhbmRlZCAudG9nZ2xlLXN1Ym1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgbGkubWVudS1pdGVtLS1leHBhbmRlZCAudG9nZ2xlLXN1Ym1lbnU6aG92ZXIsIC5yZWdpb24tLXByaW1hcnktbWVudSBsaS5tZW51LWl0ZW0tLWV4cGFuZGVkIC50b2dnbGUtc3VibWVudTpmb2N1cyxcbiAgLnJlZ2lvbi0tc2Vjb25kYXJ5LW1lbnUgbGkubWVudS1pdGVtLS1leHBhbmRlZCAudG9nZ2xlLXN1Ym1lbnU6aG92ZXIsXG4gIC5yZWdpb24tLXNlY29uZGFyeS1tZW51IGxpLm1lbnUtaXRlbS0tZXhwYW5kZWQgLnRvZ2dsZS1zdWJtZW51OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTEyZjIyO1xuICB9XG4gIC5yZWdpb24tLXByaW1hcnktbWVudSBsaS5tZW51LWl0ZW0tLWV4cGFuZGVkIC50b2dnbGUtc3VibWVudTpob3ZlcjphZnRlciwgLnJlZ2lvbi0tcHJpbWFyeS1tZW51IGxpLm1lbnUtaXRlbS0tZXhwYW5kZWQgLnRvZ2dsZS1zdWJtZW51OmZvY3VzOmFmdGVyLFxuICAucmVnaW9uLS1zZWNvbmRhcnktbWVudSBsaS5tZW51LWl0ZW0tLWV4cGFuZGVkIC50b2dnbGUtc3VibWVudTpob3ZlcjphZnRlcixcbiAgLnJlZ2lvbi0tc2Vjb25kYXJ5LW1lbnUgbGkubWVudS1pdGVtLS1leHBhbmRlZCAudG9nZ2xlLXN1Ym1lbnU6Zm9jdXM6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIC5yZWdpb24tLXByaW1hcnktbWVudSBsaS5tZW51LWl0ZW0tLWV4cGFuZGVkID4gdWwsXG4gIC5yZWdpb24tLXNlY29uZGFyeS1tZW51IGxpLm1lbnUtaXRlbS0tZXhwYW5kZWQgPiB1bCB7XG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4yNXMgZWFzZTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB6LWluZGV4OiAxNTA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5yZWdpb24tLXByaW1hcnktbWVudSBsaS5tZW51LWl0ZW0tLWV4cGFuZGVkID4gdWwuanMtaGlkZSxcbiAgLnJlZ2lvbi0tc2Vjb25kYXJ5LW1lbnUgbGkubWVudS1pdGVtLS1leHBhbmRlZCA+IHVsLmpzLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5yZWdpb24tLXByaW1hcnktbWVudSBsaS5tZW51LWl0ZW0tLWV4cGFuZGVkLm1lbnUtb3BlbiA+IHVsLFxuICAucmVnaW9uLS1zZWNvbmRhcnktbWVudSBsaS5tZW51LWl0ZW0tLWV4cGFuZGVkLm1lbnUtb3BlbiA+IHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgYSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUgPiBuYXYgPiB1bCA+IGxpOmZpcnN0LWNoaWxkID4gYSB7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgfVxuICAucmVnaW9uLS10ZXJ0aWFyeS1tZW51IGxpIHtcbiAgICBwYWRkaW5nOiA1cHggMjVweDtcbiAgfVxuICAucmVnaW9uLS10ZXJ0aWFyeS1tZW51IGEge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMjVzIGVhc2U7XG4gICAgYmFja2dyb3VuZDogI2UxMmYyMjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwYWRkaW5nOiAxNXB4IDUwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAucmVnaW9uLS10ZXJ0aWFyeS1tZW51IGE6aG92ZXIsIC5yZWdpb24tLXRlcnRpYXJ5LW1lbnUgYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2JmMjgxZDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDY3LjQzNzVlbSkgYW5kIChtYXgtd2lkdGg6IDI5LjkzNzVlbSkge1xuICAucmVnaW9uLS10ZXJ0aWFyeS1tZW51IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2Ny40Mzc1ZW0pIHtcbiAgLnNob3ctbmF2IHtcbiAgICBsZWZ0OiAtMzAwcHg7XG4gICAgbGVmdDogY2FsYygtMTAwJSArIDY1cHgpO1xuICB9XG4gIC5zaG93LW5hdiAjbmF2aWdhdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuI3NlYXJjaC1kcm9wZG93biB7XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4yNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogIzcxNzM3NTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMDtcbiAgei1pbmRleDogOTk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbiNzZWFyY2gtZHJvcGRvd24gLnNlYXJjaF9fZGlzbWlzcyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy94LS13aGl0ZS5wbmdcIik7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMThweCBhdXRvO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xufVxuXG4uc3ZnICNzZWFyY2gtZHJvcGRvd24gLnNlYXJjaF9fZGlzbWlzcyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy94LS13aGl0ZS5zdmdcIik7XG59XG5cbiNzZWFyY2gtZHJvcGRvd24gLnJlZ2lvbiB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogMTI0MHB4O1xuICBtaW4td2lkdGg6IDMyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gIHBhZGRpbmctdG9wOiA3NXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNzVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkzLjc1ZW0pIHtcbiAgI3NlYXJjaC1kcm9wZG93biAucmVnaW9uIHtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgfVxufVxuXG4jc2VhcmNoLWRyb3Bkb3duIGZvcm0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNzZWFyY2gtZHJvcGRvd24gLmZvcm0taXRlbSB7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jc2VhcmNoLWRyb3Bkb3duIC5mb3JtLWl0ZW0gbGFiZWwge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2U7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDI1cHg7XG4gIGJvdHRvbTogMTBweDtcbn1cblxuI3NlYXJjaC1kcm9wZG93biAuZm9ybS1pdGVtOmZvY3VzLXdpdGhpbiBsYWJlbCwgI3NlYXJjaC1kcm9wZG93biAuZm9ybS1pdGVtLmZpbGxlZCBsYWJlbCB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbiNzZWFyY2gtZHJvcGRvd24gLmZvcm0tdGV4dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zZWFyY2gtLXdoaXRlLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDE4cHggYXV0bztcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE3MHB4O1xufVxuXG4uc3ZnICNzZWFyY2gtZHJvcGRvd24gLmZvcm0tdGV4dCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9zZWFyY2gtLXdoaXRlLnN2Z1wiKTtcbn1cblxuI3NlYXJjaC1kcm9wZG93biAuZm9ybS1zdWJtaXQge1xuICBiYWNrZ3JvdW5kOiAjMjIyMjIyO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuI3NlYXJjaC1kcm9wZG93biAuZm9ybS1zdWJtaXQ6aG92ZXIsICNzZWFyY2gtZHJvcGRvd24gLmZvcm0tc3VibWl0OmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2UxMmYyMjtcbn1cblxuLnNob3ctc2VhcmNoICNzZWFyY2gtZHJvcGRvd24ge1xuICBtYXgtaGVpZ2h0OiAyNTBweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3NlYXJjaC1kcm9wZG93biAuZm9ybS10ZXh0LFxuICAjc2VhcmNoLWRyb3Bkb3duIC5mb3JtLWl0ZW0gbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgfVxuICAjc2VhcmNoLWRyb3Bkb3duIC5mb3JtLXRleHQge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzZweCBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgfVxuICAjc2VhcmNoLWRyb3Bkb3duIC5mb3JtLWl0ZW0gbGFiZWwge1xuICAgIGxlZnQ6IDUwcHg7XG4gICAgYm90dG9tOiA2cHg7XG4gIH1cbiAgI3NlYXJjaC1kcm9wZG93biAuZm9ybS1zdWJtaXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEycHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4jZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgY29sb3I6ICNhN2E3YTc7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgLyogQ29udGFjdCAqL1xuICAvKiBTb2NpYWwgTWVkaWEgKi9cbn1cblxuI2Zvb3RlciBhOm5vdCguYnV0dG9uLS1wcmltYXJ5KSB7XG4gIGNvbG9yOiAjYTdhN2E3O1xufVxuXG4jZm9vdGVyIGE6bm90KC5idXR0b24tLXByaW1hcnkpOmhvdmVyLCAjZm9vdGVyIGE6bm90KC5idXR0b24tLXByaW1hcnkpOmZvY3VzIHtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4jZm9vdGVyIC5idXR0b24tLXByaW1hcnkge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4jZm9vdGVyIHVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuI2Zvb3RlciB1bCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4jZm9vdGVyIGgyIHtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICNmZmY7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNmb290ZXIgaDIge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICNmb290ZXIgaDIge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG59XG5cbiNmb290ZXIgLmZvb3Rlcl9fdG9wIHtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xufVxuXG4jZm9vdGVyIC5mb290ZXJfX3RvcCAucmVnaW9uLS1mb290ZXIgPiAqOmZpcnN0LWNoaWxkIGgyIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUyLjVlbSkge1xuICAjZm9vdGVyIC5mb290ZXJfX3RvcCAucmVnaW9uLS1mb290ZXIgPiAqLmRlcGFydG1lbnRzIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gICNmb290ZXIgLmZvb3Rlcl9fdG9wIC5yZWdpb24tLWZvb3RlciA+ICouZGVwYXJ0bWVudHMgdWwge1xuICAgIGNvbHVtbnM6IDI7XG4gICAgY29sdW1uLWdhcDogMjVweDtcbiAgfVxuICAjZm9vdGVyIC5mb290ZXJfX3RvcCAucmVnaW9uLS1mb290ZXIgPiAqLmRlcGFydG1lbnRzIHVsIGxpIHtcbiAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICNmb290ZXIgLmZvb3Rlcl9fdG9wIC5yZWdpb24tLWZvb3RlciA+ICouZGVwYXJ0bWVudHMgdWwsICNmb290ZXIgLmZvb3Rlcl9fdG9wIC5yZWdpb24tLWZvb3RlciA+ICoucmVzb3VyY2VzIHVsIHtcbiAgICBjb2x1bW5zOiAyO1xuICAgIGNvbHVtbi1nYXA6IDI1cHg7XG4gIH1cbiAgI2Zvb3RlciAuZm9vdGVyX190b3AgLnJlZ2lvbi0tZm9vdGVyID4gKi5kZXBhcnRtZW50cyB1bCBsaSwgI2Zvb3RlciAuZm9vdGVyX190b3AgLnJlZ2lvbi0tZm9vdGVyID4gKi5yZXNvdXJjZXMgdWwgbGkge1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbn1cblxuI2Zvb3RlciAuZm9vdGVyX19ib3R0b20ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzQwNDA0MDtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAyNXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAjZm9vdGVyIC5mb290ZXJfX2JvdHRvbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuI2Zvb3RlciAuZm9vdGVyX19ib3R0b20gLnJlZ2lvbi0tZm9vdGVyLWJvdHRvbSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbiNmb290ZXIgLmZvb3Rlcl9fYm90dG9tIC5yZWdpb24tLWZvb3Rlci1ib3R0b20gcCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiNmb290ZXIgLmZvb3Rlcl9fYm90dG9tIC5yZWdpb24tLWZvb3Rlci1ib3R0b20gcCArIHAge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4jZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAucmVnaW9uLS1mb290ZXItYm90dG9tIHVsIGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4jZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAucmVnaW9uLS1mb290ZXItYm90dG9tIHVsIGxpICsgbGk6YmVmb3JlIHtcbiAgY29udGVudDogXCJ8XCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgbWFyZ2luLXJpZ2h0OiAzcHg7XG59XG5cbiNmb290ZXIgLmNvbnRhY3Q6bm90KC5jb250YWN0LS1idXR0b24pIHtcbiAgY29sb3I6ICNhN2E3YTc7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbiNmb290ZXIgLmNvbnRhY3Q6bm90KC5jb250YWN0LS1idXR0b24pLmNvbnRhY3QtLXBob25lOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9tb2JpbGUtLXdoaXRlLnBuZ1wiKTtcbn1cblxuI2Zvb3RlciAuY29udGFjdDpub3QoLmNvbnRhY3QtLWJ1dHRvbikuY29udGFjdC0tZW1haWw6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21haWwtLXdoaXRlLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG59XG5cbiNmb290ZXIgLmNvbnRhY3Q6bm90KC5jb250YWN0LS1idXR0b24pLmNvbnRhY3QtLWFkZHJlc3M6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvY2F0aW9uLS13aGl0ZS5wbmdcIik7XG59XG5cbiNmb290ZXIgLmNvbnRhY3Q6bm90KC5jb250YWN0LS1idXR0b24pLmNvbnRhY3QtLWNoYXQ6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2NoYXQtLXdoaXRlLnBuZ1wiKTtcbn1cblxuI2Zvb3RlciAuY29udGFjdDpub3QoLmNvbnRhY3QtLWJ1dHRvbikuY29udGFjdC0tY2hhdCAuY2hhdF9fc3RhdHVzIHtcbiAgY29sb3I6ICNhN2E3YTc7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi5zdmcgI2Zvb3RlciAuY29udGFjdDpub3QoLmNvbnRhY3QtLWJ1dHRvbikuY29udGFjdC0tcGhvbmU6YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL21vYmlsZS0td2hpdGUuc3ZnXCIpO1xufVxuXG4uc3ZnICNmb290ZXIgLmNvbnRhY3Q6bm90KC5jb250YWN0LS1idXR0b24pLmNvbnRhY3QtLWVtYWlsOmJlZm9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9tYWlsLS13aGl0ZS5zdmdcIik7XG59XG5cbi5zdmcgI2Zvb3RlciAuY29udGFjdDpub3QoLmNvbnRhY3QtLWJ1dHRvbikuY29udGFjdC0tbG9jYXRpb246YmVmb3JlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvY2F0aW9uLS13aGl0ZS5zdmdcIik7XG59XG5cbi5zdmcgI2Zvb3RlciAuY29udGFjdDpub3QoLmNvbnRhY3QtLWJ1dHRvbikuY29udGFjdC0tY2hhdDpiZWZvcmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvY2hhdC0td2hpdGUuc3ZnXCIpO1xufVxuXG4jZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xufVxuXG4jZm9vdGVyIC5zb2NpYWxtZWRpYSBsaTpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4jZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhIHtcbiAgYm9yZGVyOiBub25lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY29sb3I6ICNlMTJmMjI7XG4gIGNvbG9yOiAjYTdhN2E3O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAxMHB4IDVweDtcbiAgdGV4dC1pbmRlbnQ6IDA7XG59XG5cbiNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGE6YWZ0ZXIge1xuICB0cmFuc2l0aW9uOiBtYXJnaW4tbGVmdCAwLjI1cyBlYXNlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4jZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhOmhvdmVyLCAjZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbiNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGE6aG92ZXI6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuI2Zvb3RlciAuc29jaWFsbWVkaWEgbGkgYTpob3ZlciwgI2Zvb3RlciAuc29jaWFsbWVkaWEgbGkgYTpmb2N1cyB7XG4gIGNvbG9yOiAjZTEyZjIyO1xufVxuXG4jZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LS1yZWQucG5nXCIpO1xufVxuXG4uc3ZnICNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctLXJlZC5zdmdcIik7XG59XG5cbiNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGE6aG92ZXIsICNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGE6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICNhN2E3YTc7XG59XG5cbiNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGE6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvYXJyb3ctLWdyYXkucG5nXCIpO1xufVxuXG4jZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhW2hyZWYqPVwiZmFjZWJvb2suY29tXCJdLCAjZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhW2hyZWYqPVwidHdpdHRlci5jb21cIl0sICNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGFbaHJlZio9XCJ5b3V0dWJlLmNvbVwiXSwgI2Zvb3RlciAuc29jaWFsbWVkaWEgbGkgYVtocmVmKj1cImluc3RhZ3JhbS5jb21cIl0sICNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGFbaHJlZio9XCJmbGlja3IuY29tXCJdIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgcGFkZGluZzogMTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07XG59XG5cbiNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGFbaHJlZio9XCJmYWNlYm9vay5jb21cIl06YWZ0ZXIsICNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGFbaHJlZio9XCJ0d2l0dGVyLmNvbVwiXTphZnRlciwgI2Zvb3RlciAuc29jaWFsbWVkaWEgbGkgYVtocmVmKj1cInlvdXR1YmUuY29tXCJdOmFmdGVyLCAjZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhW2hyZWYqPVwiaW5zdGFncmFtLmNvbVwiXTphZnRlciwgI2Zvb3RlciAuc29jaWFsbWVkaWEgbGkgYVtocmVmKj1cImZsaWNrci5jb21cIl06YWZ0ZXIge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhW2hyZWYqPVwiZmFjZWJvb2suY29tXCJdOmhvdmVyLCAjZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhW2hyZWYqPVwiZmFjZWJvb2suY29tXCJdOmZvY3VzLCAjZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhW2hyZWYqPVwidHdpdHRlci5jb21cIl06aG92ZXIsICNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGFbaHJlZio9XCJ0d2l0dGVyLmNvbVwiXTpmb2N1cywgI2Zvb3RlciAuc29jaWFsbWVkaWEgbGkgYVtocmVmKj1cInlvdXR1YmUuY29tXCJdOmhvdmVyLCAjZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhW2hyZWYqPVwieW91dHViZS5jb21cIl06Zm9jdXMsICNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGFbaHJlZio9XCJpbnN0YWdyYW0uY29tXCJdOmhvdmVyLCAjZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhW2hyZWYqPVwiaW5zdGFncmFtLmNvbVwiXTpmb2N1cywgI2Zvb3RlciAuc29jaWFsbWVkaWEgbGkgYVtocmVmKj1cImZsaWNrci5jb21cIl06aG92ZXIsICNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGFbaHJlZio9XCJmbGlja3IuY29tXCJdOmZvY3VzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UxMmYyMjtcbn1cblxuI2Zvb3RlciAuc29jaWFsbWVkaWEgbGkgYVtocmVmKj1cImZhY2Vib29rLmNvbVwiXSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9mYWNlYm9vay5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0byA2MCU7XG59XG5cbiNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGFbaHJlZio9XCJmYWNlYm9vay5jb21cIl06aG92ZXIsICNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGFbaHJlZio9XCJmYWNlYm9vay5jb21cIl06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZmFjZWJvb2stLXdoaXRlLnBuZ1wiKTtcbn1cblxuI2Zvb3RlciAuc29jaWFsbWVkaWEgbGkgYVtocmVmKj1cInR3aXR0ZXIuY29tXCJdIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3R3aXR0ZXIucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDYwJSBhdXRvO1xufVxuXG4jZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhW2hyZWYqPVwidHdpdHRlci5jb21cIl06aG92ZXIsICNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGFbaHJlZio9XCJ0d2l0dGVyLmNvbVwiXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy90d2l0dGVyLS13aGl0ZS5wbmdcIik7XG59XG5cbiNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGFbaHJlZio9XCJ5b3V0dWJlLmNvbVwiXSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy95b3V0dWJlLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA2MCUgYXV0bztcbn1cblxuI2Zvb3RlciAuc29jaWFsbWVkaWEgbGkgYVtocmVmKj1cInlvdXR1YmUuY29tXCJdOmhvdmVyLCAjZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhW2hyZWYqPVwieW91dHViZS5jb21cIl06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMveW91dHViZS0td2hpdGUucG5nXCIpO1xufVxuXG4jZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhW2hyZWYqPVwiaW5zdGFncmFtLmNvbVwiXSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pbnN0YWdyYW0ucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNjAlO1xufVxuXG4jZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhW2hyZWYqPVwiaW5zdGFncmFtLmNvbVwiXTpob3ZlciwgI2Zvb3RlciAuc29jaWFsbWVkaWEgbGkgYVtocmVmKj1cImluc3RhZ3JhbS5jb21cIl06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaW5zdGFncmFtLS13aGl0ZS5wbmdcIik7XG59XG5cbiNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGFbaHJlZio9XCJmbGlja3IuY29tXCJdIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ZsaWNrci5wbmdcIik7XG4gIGJhY2tncm91bmQtc2l6ZTogNjAlIGF1dG87XG59XG5cbiNmb290ZXIgLnNvY2lhbG1lZGlhIGxpIGFbaHJlZio9XCJmbGlja3IuY29tXCJdOmhvdmVyLCAjZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhW2hyZWYqPVwiZmxpY2tyLmNvbVwiXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9mbGlja3ItLXdoaXRlLnBuZ1wiKTtcbn1cblxuLnN2ZyAjZm9vdGVyIC5zb2NpYWxtZWRpYSBsaSBhOmFmdGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2Fycm93LS1ncmF5LnN2Z1wiKTtcbn1cblxuLnN2ZyAjZm9vdGVyW2hyZWYqPVwiZmFjZWJvb2suY29tXCJdIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ZhY2Vib29rLnN2Z1wiKTtcbn1cblxuLnN2ZyAjZm9vdGVyW2hyZWYqPVwiZmFjZWJvb2suY29tXCJdOmhvdmVyLCAuc3ZnICNmb290ZXJbaHJlZio9XCJmYWNlYm9vay5jb21cIl06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZmFjZWJvb2stLXdoaXRlLnN2Z1wiKTtcbn1cblxuLnN2ZyAjZm9vdGVyW2hyZWYqPVwidHdpdHRlci5jb21cIl0ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdHdpdHRlci5zdmdcIik7XG59XG5cbi5zdmcgI2Zvb3RlcltocmVmKj1cInR3aXR0ZXIuY29tXCJdOmhvdmVyLCAuc3ZnICNmb290ZXJbaHJlZio9XCJ0d2l0dGVyLmNvbVwiXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy90d2l0dGVyLS13aGl0ZS5zdmdcIik7XG59XG5cbi5zdmcgI2Zvb3RlcltocmVmKj1cInlvdXR1YmUuY29tXCJdIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3lvdXR1YmUuc3ZnXCIpO1xufVxuXG4uc3ZnICNmb290ZXJbaHJlZio9XCJ5b3V0dWJlLmNvbVwiXTpob3ZlciwgLnN2ZyAjZm9vdGVyW2hyZWYqPVwieW91dHViZS5jb21cIl06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMveW91dHViZS0td2hpdGUuc3ZnXCIpO1xufVxuXG4uc3ZnICNmb290ZXJbaHJlZio9XCJpbnN0YWdyYW0uY29tXCJdIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2luc3RhZ3JhbS5zdmdcIik7XG59XG5cbi5zdmcgI2Zvb3RlcltocmVmKj1cImluc3RhZ3JhbS5jb21cIl06aG92ZXIsIC5zdmcgI2Zvb3RlcltocmVmKj1cImluc3RhZ3JhbS5jb21cIl06Zm9jdXMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaW5zdGFncmFtLS13aGl0ZS5zdmdcIik7XG59XG5cbi5zdmcgI2Zvb3RlcltocmVmKj1cImZsaWNrci5jb21cIl0ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZmxpY2tyLnN2Z1wiKTtcbn1cblxuLnN2ZyAjZm9vdGVyW2hyZWYqPVwiZmxpY2tyLmNvbVwiXTpob3ZlciwgLnN2ZyAjZm9vdGVyW2hyZWYqPVwiZmxpY2tyLmNvbVwiXTpmb2N1cyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9mbGlja3ItLXdoaXRlLnN2Z1wiKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI2Zvb3RlciBoMiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4vKiBQcmV2ZW50IHBpeGVsIGZyb20gYWRkaW5nIHNwYWNlIGJlbmVhdGggZm9vdGVyICovXG5pbWdbc3JjKj1cInNwLmFuYWx5dGljcy55YWhvby5jb21cIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbn1cblxuLmxvY2F0aW9uLWluZm8gaDIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvbG9jYXRpb24tLXJlZC5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCA0cHggbGVmdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMnB4IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMjJweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNHB4O1xufVxuXG4uc3ZnIC5sb2NhdGlvbi1pbmZvIGgyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2xvY2F0aW9uLS1yZWQuc3ZnXCIpO1xufVxuXG4ubG9jYXRpb24taW5mbyB1bCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLmxvY2F0aW9uLWluZm8gYSB7XG4gIGNvbG9yOiAjMjIyMjIyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5sb2NhdGlvbi1pbmZvIGE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnNpZGViYXIgaDIge1xuICBjb2xvcjogIzIyMjIyMjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2lkZWJhciBoMiB7XG4gICAgbWFyZ2luLXRvcDogMzZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnNpZGViYXIgaDIge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG59XG5cbi5zaWRlYmFyIC5yZWdpb24gPiAqIHtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLnNpZGViYXIgLnJlZ2lvbiA+ICo6Zmlyc3QtY2hpbGQgaDIge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4uc2lkZWJhciAucmVnaW9uID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLnNpZGViYXIgbmF2LFxuLnNpZGViYXIgLmZpZWxkLS1jdGEtYnV0dG9ucyB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5zaWRlYmFyIC5maWVsZC0tY3RhLWJ1dHRvbnMgLmZpZWxkX19pdGVtICsgLmZpZWxkX19pdGVtIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLnNpZGViYXIgLmZpZWxkLS1jdGEtYnV0dG9ucyBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIGFuZCAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgLnNpZGViYXIgLmZpZWxkLS1jdGEtYnV0dG9ucyB7XG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICB9XG4gIC5zaWRlYmFyIC5maWVsZC0tY3RhLWJ1dHRvbnM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5zaWRlYmFyIC5maWVsZC0tY3RhLWJ1dHRvbnMgLmZpZWxkX19pdGVtIHtcbiAgICB3aWR0aDogMzMuMzMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgfVxuICAuc2lkZWJhciAuZmllbGQtLWN0YS1idXR0b25zIC5maWVsZF9faXRlbSArIC5maWVsZF9faXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtdGl0bGUge1xuICBjb2xvcjogIzIyMjIyMjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMS40O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zaWRlYmFyIC5maWVsZC0tY29udGFjdC10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbn1cblxuLnNpZGViYXIgLmZpZWxkLS1jb250YWN0LWVtYWlsLFxuLnNpZGViYXIgLmZpZWxkLS1jb250YWN0LXBob25lLFxuLnNpZGViYXIgLmZpZWxkLS1jb250YWN0LWFkZHJlc3MsXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtZmF4LFxuLnNpZGViYXIgLmZpZWxkLS1jb250YWN0LWhvdXJzIHtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEzLjMzMzMzMzMzMzNweDtcbn1cblxuLnNpZGViYXIgLmZpZWxkLS1jb250YWN0LWVtYWlsIGEsXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtcGhvbmUgYSxcbi5zaWRlYmFyIC5maWVsZC0tY29udGFjdC1hZGRyZXNzIGEsXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtZmF4IGEsXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtaG91cnMgYSB7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNpZGViYXIgLmZpZWxkLS1jb250YWN0LWVtYWlsIGE6aG92ZXIsIC5zaWRlYmFyIC5maWVsZC0tY29udGFjdC1lbWFpbCBhOmZvY3VzLFxuLnNpZGViYXIgLmZpZWxkLS1jb250YWN0LXBob25lIGE6aG92ZXIsXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtcGhvbmUgYTpmb2N1cyxcbi5zaWRlYmFyIC5maWVsZC0tY29udGFjdC1hZGRyZXNzIGE6aG92ZXIsXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtYWRkcmVzcyBhOmZvY3VzLFxuLnNpZGViYXIgLmZpZWxkLS1jb250YWN0LWZheCBhOmhvdmVyLFxuLnNpZGViYXIgLmZpZWxkLS1jb250YWN0LWZheCBhOmZvY3VzLFxuLnNpZGViYXIgLmZpZWxkLS1jb250YWN0LWhvdXJzIGE6aG92ZXIsXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtaG91cnMgYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uc2lkZWJhciAuZmllbGQtLWNvbnRhY3QtYWRkcmVzcyB7XG4gIGNvbG9yOiAjMjIyMjIyO1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4uZmllbGQtLWN0YS1idXR0b25zIGEge1xuICBib3JkZXI6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogI2UxMmYyMjtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMTVweCA1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xufVxuXG4uZmllbGQtLWN0YS1idXR0b25zIGE6aG92ZXIsIC5maWVsZC0tY3RhLWJ1dHRvbnMgYTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNiZjI4MWQ7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgLmZpZWxkLS1jdGEtYnV0dG9ucyBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4ubGF5b3V0LWNvbnRlbnQtYm90dG9tIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjFmMjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkM2QzZDM7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5sYXlvdXQtY29udGVudC1ib3R0b20ge1xuICAgIHBhZGRpbmctdG9wOiA3NXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3NXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmxheW91dC1jb250ZW50LWJvdHRvbSB7XG4gICAgcGFkZGluZy10b3A6IDMzLjMzMzMzMzMzMzNweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzMuMzMzMzMzMzMzM3B4O1xuICB9XG59XG5cbi5sYXlvdXQtY29udGVudC1ib3R0b20gLnJlZ2lvbi0tY29udGVudC1ib3R0b20ge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEyNDBweDtcbiAgbWluLXdpZHRoOiAzMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTMuNzVlbSkge1xuICAubGF5b3V0LWNvbnRlbnQtYm90dG9tIC5yZWdpb24tLWNvbnRlbnQtYm90dG9tIHtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgfVxufVxuXG4ubGF5b3V0LWNvbnRlbnQtYm90dG9tIGgyOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLm5ld3MtbGlzdGluZyxcbi5ldmVudHMtbGlzdGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5uZXdzLWxpc3RpbmcgYXJ0aWNsZSxcbi5ldmVudHMtbGlzdGluZyBhcnRpY2xlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkM2QzZDM7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMjBweDtcbn1cblxuLm5ld3MtbGlzdGluZyBhcnRpY2xlICo6bGFzdC1jaGlsZCxcbi5ldmVudHMtbGlzdGluZyBhcnRpY2xlICo6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5ldmVudHMtbGlzdGluZyAuZXZlbnRfX2RhdGUge1xuICBoZWlnaHQ6IDcwcHg7XG59XG5cbi5uZXdzLWxpc3RpbmcgLm5ld3Mge1xuICBtaW4taGVpZ2h0OiAxMTFweDtcbn1cblxuLyogQHBhcnRpYWwgX2Jvb3RzdHJhcC1iYXNlZC1ncmlkLnNjc3MgKi9cbi8qIEJvb3RzdHJhcCBiYXNlZCBncmlkIGNsYXNzZXMgZm9yIGVhc2llciB3eXNpd3lnIHJlc3BvbnNpdmUgbGF5b3V0cyAuLi5pZiB5b3VyIHNvIGluY2xpbmVkLlxuICAgTWFrZXMgZm9yIG11Y2ggZWFzaWVyIGFkZGluZyBwYWdlcyB0aHJvdWdoIHRoZSBDTVMgVUkuXG4gICBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9jc3MvI2dyaWRcbiovXG4uY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uY29udGFpbmVyOmJlZm9yZSxcbi5jb250YWluZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5jb250YWluZXI6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLmNvbnRhaW5lcjpiZWZvcmUsXG4uY29udGFpbmVyOmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uY29udGFpbmVyOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5yb3csICNmb290ZXIgLmZvb3Rlcl9fdG9wIC5yZWdpb24tLWZvb3RlciB7XG4gIG1hcmdpbi10b3A6IC0xMi41cHg7XG4gIG1hcmdpbi1ib3R0b206IC0xMi41cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMjVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnJvdywgI2Zvb3RlciAuZm9vdGVyX190b3AgLnJlZ2lvbi0tZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMjVweDtcbiAgfVxufVxuXG4ucm93OmJlZm9yZSwgI2Zvb3RlciAuZm9vdGVyX190b3AgLnJlZ2lvbi0tZm9vdGVyOmJlZm9yZSxcbi5yb3c6YWZ0ZXIsXG4jZm9vdGVyIC5mb290ZXJfX3RvcCAucmVnaW9uLS1mb290ZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cblxuLnJvdzphZnRlcixcbiNmb290ZXIgLmZvb3Rlcl9fdG9wIC5yZWdpb24tLWZvb3RlcjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4ucm93OmJlZm9yZSwgI2Zvb3RlciAuZm9vdGVyX190b3AgLnJlZ2lvbi0tZm9vdGVyOmJlZm9yZSxcbi5yb3c6YWZ0ZXIsXG4jZm9vdGVyIC5mb290ZXJfX3RvcCAucmVnaW9uLS1mb290ZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cblxuLnJvdzphZnRlcixcbiNmb290ZXIgLmZvb3Rlcl9fdG9wIC5yZWdpb24tLWZvb3RlcjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY29sLXhzLTEsXG4uY29sLXhzLTIsXG4uY29sLXhzLTMsXG4uY29sLXhzLTQsXG4uY29sLXhzLTUsXG4uY29sLXhzLTYsXG4uY29sLXhzLTcsXG4uY29sLXhzLTgsXG4uY29sLXhzLTksXG4uY29sLXhzLTEwLFxuLmNvbC14cy0xMSxcbi5jb2wteHMtMTIsXG4uY29sLW1zbS0xLFxuLmNvbC1tc20tMixcbi5jb2wtbXNtLTMsXG4uY29sLW1zbS00LFxuLmNvbC1tc20tNSxcbi5jb2wtbXNtLTYsXG4uY29sLW1zbS03LFxuLmNvbC1tc20tOCxcbi5jb2wtbXNtLTksXG4uY29sLW1zbS0xMCxcbi5jb2wtbXNtLTExLFxuLmNvbC1zbS0xMixcbi5jb2wtc20tMSxcbi5jb2wtc20tMixcbi5jb2wtc20tMyxcbi5zaWRlYmFyLXNlY29uZCAubGF5b3V0LXNpZGViYXItc2Vjb25kLFxuLmNvbC1zbS00LFxuLnBhcmFncmFwaC0tY2FyZHMgLmxheW91dC0tM2NvbCAucGFyYWdyYXBoLFxuI2Zvb3RlciAuZm9vdGVyX190b3AgLnJlZ2lvbi0tZm9vdGVyID4gKixcbiNmb290ZXIgLmZvb3Rlcl9fYm90dG9tIC5yZWdpb24tLWZvb3Rlci1ib3R0b20tcmlnaHQsXG4uaGFzLXNpZGViYXIgLmxheW91dC1zaWRlYmFyLWZpcnN0LFxuLmNvbC1zbS01LFxuLmNvbC1zbS02LFxuLnBhcmFncmFwaC0tY2FyZHMgLmxheW91dC0tMmNvbCAucGFyYWdyYXBoLFxuLmNvbC1zbS03LFxuLmNvbC1zbS04LFxuI2Zvb3RlciAuZm9vdGVyX19ib3R0b20gLnJlZ2lvbi0tZm9vdGVyLWJvdHRvbSxcbi5oYXMtc2lkZWJhciAubGF5b3V0LWNvbnRlbnQsXG4uY29sLXNtLTksXG4uc2lkZWJhci1zZWNvbmQgLmxheW91dC1jb250ZW50LFxuLmNvbC1zbS0xMCxcbi5jb2wtc20tMTEsXG4uY29sLXNtLTEyLFxuLmNvbC1tZC0xLFxuLmNvbC1tZC0yLFxuLmNvbC1tZC0zLFxuI2Zvb3RlciAuZm9vdGVyX190b3AgLnJlZ2lvbi0tZm9vdGVyID4gKixcbiNmb290ZXIgLmZvb3Rlcl9fYm90dG9tIC5yZWdpb24tLWZvb3Rlci1ib3R0b20tcmlnaHQsXG4uY29sLW1kLTQsXG4uY29sLW1kLTUsXG4uY29sLW1kLTYsXG4uY29sLW1kLTcsXG4uY29sLW1kLTgsXG4uY29sLW1kLTksXG4jZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAucmVnaW9uLS1mb290ZXItYm90dG9tLFxuLmNvbC1tZC0xMCxcbi5jb2wtbWQtMTEsXG4uY29sLW1kLTEyLFxuLmNvbC1sZy0xLFxuLmNvbC1sZy0yLFxuLmNvbC1sZy0zLFxuLmhhcy1zaWRlYmFyIC5sYXlvdXQtc2lkZWJhci1maXJzdCxcbi5jb2wtbGctNCxcbi5jb2wtbGctNSxcbi5jb2wtbGctNixcbi5jb2wtbGctNyxcbi5jb2wtbGctOCxcbi5jb2wtbGctOSxcbi5oYXMtc2lkZWJhciAubGF5b3V0LWNvbnRlbnQsXG4uY29sLWxnLTEwLFxuLmNvbC1sZy0xMSxcbi5jb2wtbGctMTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICBwYWRkaW5nLXRvcDogMTIuNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTIuNXB4O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNvbC14cy0xLFxuICAuY29sLXhzLTIsXG4gIC5jb2wteHMtMyxcbiAgLmNvbC14cy00LFxuICAuY29sLXhzLTUsXG4gIC5jb2wteHMtNixcbiAgLmNvbC14cy03LFxuICAuY29sLXhzLTgsXG4gIC5jb2wteHMtOSxcbiAgLmNvbC14cy0xMCxcbiAgLmNvbC14cy0xMSxcbiAgLmNvbC14cy0xMixcbiAgLmNvbC1tc20tMSxcbiAgLmNvbC1tc20tMixcbiAgLmNvbC1tc20tMyxcbiAgLmNvbC1tc20tNCxcbiAgLmNvbC1tc20tNSxcbiAgLmNvbC1tc20tNixcbiAgLmNvbC1tc20tNyxcbiAgLmNvbC1tc20tOCxcbiAgLmNvbC1tc20tOSxcbiAgLmNvbC1tc20tMTAsXG4gIC5jb2wtbXNtLTExLFxuICAuY29sLXNtLTEyLFxuICAuY29sLXNtLTEsXG4gIC5jb2wtc20tMixcbiAgLmNvbC1zbS0zLFxuICAuc2lkZWJhci1zZWNvbmQgLmxheW91dC1zaWRlYmFyLXNlY29uZCxcbiAgLmNvbC1zbS00LFxuICAucGFyYWdyYXBoLS1jYXJkcyAubGF5b3V0LS0zY29sIC5wYXJhZ3JhcGgsXG4gICNmb290ZXIgLmZvb3Rlcl9fdG9wIC5yZWdpb24tLWZvb3RlciA+ICosXG4gICNmb290ZXIgLmZvb3Rlcl9fYm90dG9tIC5yZWdpb24tLWZvb3Rlci1ib3R0b20tcmlnaHQsXG4gIC5oYXMtc2lkZWJhciAubGF5b3V0LXNpZGViYXItZmlyc3QsXG4gIC5jb2wtc20tNSxcbiAgLmNvbC1zbS02LFxuICAucGFyYWdyYXBoLS1jYXJkcyAubGF5b3V0LS0yY29sIC5wYXJhZ3JhcGgsXG4gIC5jb2wtc20tNyxcbiAgLmNvbC1zbS04LFxuICAjZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAucmVnaW9uLS1mb290ZXItYm90dG9tLFxuICAuaGFzLXNpZGViYXIgLmxheW91dC1jb250ZW50LFxuICAuY29sLXNtLTksXG4gIC5zaWRlYmFyLXNlY29uZCAubGF5b3V0LWNvbnRlbnQsXG4gIC5jb2wtc20tMTAsXG4gIC5jb2wtc20tMTEsXG4gIC5jb2wtc20tMTIsXG4gIC5jb2wtbWQtMSxcbiAgLmNvbC1tZC0yLFxuICAuY29sLW1kLTMsXG4gICNmb290ZXIgLmZvb3Rlcl9fdG9wIC5yZWdpb24tLWZvb3RlciA+ICosXG4gICNmb290ZXIgLmZvb3Rlcl9fYm90dG9tIC5yZWdpb24tLWZvb3Rlci1ib3R0b20tcmlnaHQsXG4gIC5jb2wtbWQtNCxcbiAgLmNvbC1tZC01LFxuICAuY29sLW1kLTYsXG4gIC5jb2wtbWQtNyxcbiAgLmNvbC1tZC04LFxuICAuY29sLW1kLTksXG4gICNmb290ZXIgLmZvb3Rlcl9fYm90dG9tIC5yZWdpb24tLWZvb3Rlci1ib3R0b20sXG4gIC5jb2wtbWQtMTAsXG4gIC5jb2wtbWQtMTEsXG4gIC5jb2wtbWQtMTIsXG4gIC5jb2wtbGctMSxcbiAgLmNvbC1sZy0yLFxuICAuY29sLWxnLTMsXG4gIC5oYXMtc2lkZWJhciAubGF5b3V0LXNpZGViYXItZmlyc3QsXG4gIC5jb2wtbGctNCxcbiAgLmNvbC1sZy01LFxuICAuY29sLWxnLTYsXG4gIC5jb2wtbGctNyxcbiAgLmNvbC1sZy04LFxuICAuY29sLWxnLTksXG4gIC5oYXMtc2lkZWJhciAubGF5b3V0LWNvbnRlbnQsXG4gIC5jb2wtbGctMTAsXG4gIC5jb2wtbGctMTEsXG4gIC5jb2wtbGctMTIge1xuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICB9XG59XG5cbi5jb2wteHMtMSxcbi5jb2wteHMtMixcbi5jb2wteHMtMyxcbi5jb2wteHMtNCxcbi5jb2wteHMtNSxcbi5jb2wteHMtNixcbi5jb2wteHMtNyxcbi5jb2wteHMtOCxcbi5jb2wteHMtOSxcbi5jb2wteHMtMTAsXG4uY29sLXhzLTExIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5jb2wteHMtMSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzMzMzMzMzMiU7XG59XG5cbi5jb2wteHMtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NjY2NjY2NjQlO1xufVxuXG4uY29sLXhzLTMge1xuICB3aWR0aDogMjUlO1xufVxuXG4uY29sLXhzLTQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMzMzMzMlO1xufVxuXG4uY29sLXhzLTUge1xuICB3aWR0aDogNDEuNjY2NjY2NjY2NjY2NjclO1xufVxuXG4uY29sLXhzLTYge1xuICB3aWR0aDogNTAlO1xufVxuXG4uY29sLXhzLTcge1xuICB3aWR0aDogNTguMzMzMzMzMzMzMzMzMzM2JTtcbn1cblxuLmNvbC14cy04IHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY2NjY2NjY2JTtcbn1cblxuLmNvbC14cy05IHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLmNvbC14cy0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMzMzMzMzMzMzNCU7XG59XG5cbi5jb2wteHMtMTEge1xuICB3aWR0aDogOTEuNjY2NjY2NjY2NjY2NjYlO1xufVxuXG4uY29sLXhzLTEyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAzNy41ZW0pIHtcbiAgLmNvbC1tc20tMSxcbiAgLmNvbC1tc20tMixcbiAgLmNvbC1tc20tMyxcbiAgLmNvbC1tc20tNCxcbiAgLmNvbC1tc20tNSxcbiAgLmNvbC1tc20tNixcbiAgLmNvbC1tc20tNyxcbiAgLmNvbC1tc20tOCxcbiAgLmNvbC1tc20tOSxcbiAgLmNvbC1tc20tMTAsXG4gIC5jb2wtbXNtLTExIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuY29sLW1zbS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzMzMzMzIlO1xuICB9XG4gIC5jb2wtbXNtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY2NjY2NjQlO1xuICB9XG4gIC5jb2wtbXNtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmNvbC1tc20tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1zbS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbXNtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1tc20tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMzMzMzNiU7XG4gIH1cbiAgLmNvbC1tc20tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLW1zbS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5jb2wtbXNtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMzMzMzMzMzMzQlO1xuICB9XG4gIC5jb2wtbXNtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtbXNtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29sLW1zbS1wdXNoLTEge1xuICAgIGxlZnQ6IDguMzMzMzMzMzMzMzMzMzMyJTtcbiAgfVxuICAuY29sLW1zbS1wdXNoLTIge1xuICAgIGxlZnQ6IDE2LjY2NjY2NjY2NjY2NjY2NCU7XG4gIH1cbiAgLmNvbC1tc20tcHVzaC0zIHtcbiAgICBsZWZ0OiAyNSU7XG4gIH1cbiAgLmNvbC1tc20tcHVzaC00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tc20tcHVzaC01IHtcbiAgICBsZWZ0OiA0MS42NjY2NjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tc20tcHVzaC02IHtcbiAgICBsZWZ0OiA1MCU7XG4gIH1cbiAgLmNvbC1tc20tcHVzaC03IHtcbiAgICBsZWZ0OiA1OC4zMzMzMzMzMzMzMzMzMzYlO1xuICB9XG4gIC5jb2wtbXNtLXB1c2gtOCB7XG4gICAgbGVmdDogNjYuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtbXNtLXB1c2gtOSB7XG4gICAgbGVmdDogNzUlO1xuICB9XG4gIC5jb2wtbXNtLXB1c2gtMTAge1xuICAgIGxlZnQ6IDgzLjMzMzMzMzMzMzMzMzM0JTtcbiAgfVxuICAuY29sLW1zbS1wdXNoLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1tc20tcHVsbC0xIHtcbiAgICByaWdodDogOC4zMzMzMzMzMzMzMzMzMzIlO1xuICB9XG4gIC5jb2wtbXNtLXB1bGwtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY2NjY2NjY2NjY2NCU7XG4gIH1cbiAgLmNvbC1tc20tcHVsbC0zIHtcbiAgICByaWdodDogMjUlO1xuICB9XG4gIC5jb2wtbXNtLXB1bGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1zbS1wdWxsLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tc20tcHVsbC02IHtcbiAgICByaWdodDogNTAlO1xuICB9XG4gIC5jb2wtbXNtLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzMzMzMzMzNiU7XG4gIH1cbiAgLmNvbC1tc20tcHVsbC04IHtcbiAgICByaWdodDogNjYuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtbXNtLXB1bGwtOSB7XG4gICAgcmlnaHQ6IDc1JTtcbiAgfVxuICAuY29sLW1zbS1wdWxsLTEwIHtcbiAgICByaWdodDogODMuMzMzMzMzMzMzMzMzMzQlO1xuICB9XG4gIC5jb2wtbXNtLXB1bGwtMTEge1xuICAgIHJpZ2h0OiA5MS42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1tc20tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMzMzMzMiU7XG4gIH1cbiAgLmNvbC1tc20tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY2NjY2NjQlO1xuICB9XG4gIC5jb2wtbXNtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5jb2wtbXNtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbXNtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbXNtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5jb2wtbXNtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMzMzMzM2JTtcbiAgfVxuICAuY29sLW1zbS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLW1zbS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuY29sLW1zbS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzMzMzNCU7XG4gIH1cbiAgLmNvbC1tc20tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jb2wtc20tMSxcbiAgLmNvbC1zbS0yLFxuICAuY29sLXNtLTMsXG4gIC5zaWRlYmFyLXNlY29uZCAubGF5b3V0LXNpZGViYXItc2Vjb25kLFxuICAuY29sLXNtLTQsXG4gIC5wYXJhZ3JhcGgtLWNhcmRzIC5sYXlvdXQtLTNjb2wgLnBhcmFncmFwaCxcbiAgI2Zvb3RlciAuZm9vdGVyX190b3AgLnJlZ2lvbi0tZm9vdGVyID4gKixcbiAgI2Zvb3RlciAuZm9vdGVyX19ib3R0b20gLnJlZ2lvbi0tZm9vdGVyLWJvdHRvbS1yaWdodCxcbiAgLmhhcy1zaWRlYmFyIC5sYXlvdXQtc2lkZWJhci1maXJzdCxcbiAgLmNvbC1zbS01LFxuICAuY29sLXNtLTYsXG4gIC5wYXJhZ3JhcGgtLWNhcmRzIC5sYXlvdXQtLTJjb2wgLnBhcmFncmFwaCxcbiAgLmNvbC1zbS03LFxuICAuY29sLXNtLTgsXG4gICNmb290ZXIgLmZvb3Rlcl9fYm90dG9tIC5yZWdpb24tLWZvb3Rlci1ib3R0b20sXG4gIC5oYXMtc2lkZWJhciAubGF5b3V0LWNvbnRlbnQsXG4gIC5jb2wtc20tOSxcbiAgLnNpZGViYXItc2Vjb25kIC5sYXlvdXQtY29udGVudCxcbiAgLmNvbC1zbS0xMCxcbiAgLmNvbC1zbS0xMSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmNvbC1zbS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzMzMzMzIlO1xuICB9XG4gIC5jb2wtc20tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjY2NjY2NCU7XG4gIH1cbiAgXG4gIC5jb2wtc20tMyxcbiAgLnNpZGViYXItc2Vjb25kIC5sYXlvdXQtc2lkZWJhci1zZWNvbmQge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgXG4gIC5jb2wtc20tNCxcbiAgLnBhcmFncmFwaC0tY2FyZHMgLmxheW91dC0tM2NvbCAucGFyYWdyYXBoLFxuICAjZm9vdGVyIC5mb290ZXJfX3RvcCAucmVnaW9uLS1mb290ZXIgPiAqLFxuICAjZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAucmVnaW9uLS1mb290ZXItYm90dG9tLXJpZ2h0LFxuICAuaGFzLXNpZGViYXIgLmxheW91dC1zaWRlYmFyLWZpcnN0IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjY2NjY3JTtcbiAgfVxuICBcbiAgLmNvbC1zbS02LFxuICAucGFyYWdyYXBoLS1jYXJkcyAubGF5b3V0LS0yY29sIC5wYXJhZ3JhcGgge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1zbS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMzMzMzM2JTtcbiAgfVxuICBcbiAgLmNvbC1zbS04LFxuICAjZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAucmVnaW9uLS1mb290ZXItYm90dG9tLFxuICAuaGFzLXNpZGViYXIgLmxheW91dC1jb250ZW50IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIFxuICAuY29sLXNtLTksXG4gIC5zaWRlYmFyLXNlY29uZCAubGF5b3V0LWNvbnRlbnQge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC1zbS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMzMzM0JTtcbiAgfVxuICAuY29sLXNtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtc20tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wtc20tcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzMzMzMzMzMiU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTIge1xuICAgIGxlZnQ6IDE2LjY2NjY2NjY2NjY2NjY2NCU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTtcbiAgfVxuICAuY29sLXNtLXB1c2gtNCwgLmhhcy1zaWRlYmFyIC5sYXlvdXQtY29udGVudCB7XG4gICAgbGVmdDogMzMuMzMzMzMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tcHVzaC01IHtcbiAgICBsZWZ0OiA0MS42NjY2NjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLXNtLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMzMzMzMzMzMzM2JTtcbiAgfVxuICAuY29sLXNtLXB1c2gtOCwgI2Zvb3RlciAuZm9vdGVyX19ib3R0b20gLnJlZ2lvbi0tZm9vdGVyLWJvdHRvbS1yaWdodCB7XG4gICAgbGVmdDogNjYuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtc20tcHVzaC05IHtcbiAgICBsZWZ0OiA3NSU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMzMzMzMzNCU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1zbS1wdWxsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzMzMzMzMzMzMzMiU7XG4gIH1cbiAgLmNvbC1zbS1wdWxsLTIge1xuICAgIHJpZ2h0OiAxNi42NjY2NjY2NjY2NjY2NjQlO1xuICB9XG4gIC5jb2wtc20tcHVsbC0zIHtcbiAgICByaWdodDogMjUlO1xuICB9XG4gIC5jb2wtc20tcHVsbC00LCAjZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAucmVnaW9uLS1mb290ZXItYm90dG9tIHtcbiAgICByaWdodDogMzMuMzMzMzMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tcHVsbC01IHtcbiAgICByaWdodDogNDEuNjY2NjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tcHVsbC02IHtcbiAgICByaWdodDogNTAlO1xuICB9XG4gIC5jb2wtc20tcHVsbC03IHtcbiAgICByaWdodDogNTguMzMzMzMzMzMzMzMzMzM2JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtOCwgLmhhcy1zaWRlYmFyIC5sYXlvdXQtc2lkZWJhci1maXJzdCB7XG4gICAgcmlnaHQ6IDY2LjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtOSB7XG4gICAgcmlnaHQ6IDc1JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMzMzMzMzMzMzNCU7XG4gIH1cbiAgLmNvbC1zbS1wdWxsLTExIHtcbiAgICByaWdodDogOTEuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMzMzMzMiU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjY2NjY2NCU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMzMzMzM2JTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzMzMzNCU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUyLjVlbSkge1xuICAuY29sLW1kLTEsXG4gIC5jb2wtbWQtMixcbiAgLmNvbC1tZC0zLFxuICAjZm9vdGVyIC5mb290ZXJfX3RvcCAucmVnaW9uLS1mb290ZXIgPiAqLFxuICAjZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAucmVnaW9uLS1mb290ZXItYm90dG9tLXJpZ2h0LFxuICAuY29sLW1kLTQsXG4gIC5jb2wtbWQtNSxcbiAgLmNvbC1tZC02LFxuICAuY29sLW1kLTcsXG4gIC5jb2wtbWQtOCxcbiAgLmNvbC1tZC05LFxuICAjZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAucmVnaW9uLS1mb290ZXItYm90dG9tLFxuICAuY29sLW1kLTEwLFxuICAuY29sLW1kLTExIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuY29sLW1kLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMzMzMzMiU7XG4gIH1cbiAgLmNvbC1tZC0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NjY2NjY0JTtcbiAgfVxuICBcbiAgLmNvbC1tZC0zLFxuICAjZm9vdGVyIC5mb290ZXJfX3RvcCAucmVnaW9uLS1mb290ZXIgPiAqLFxuICAjZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAucmVnaW9uLS1mb290ZXItYm90dG9tLXJpZ2h0IHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5jb2wtbWQtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC02IHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5jb2wtbWQtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzMzMzMzMzMzMzNiU7XG4gIH1cbiAgLmNvbC1tZC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIFxuICAuY29sLW1kLTksXG4gICNmb290ZXIgLmZvb3Rlcl9fYm90dG9tIC5yZWdpb24tLWZvb3Rlci1ib3R0b20ge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC1tZC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMzMzM0JTtcbiAgfVxuICAuY29sLW1kLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtbWQtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC0wIHtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5jb2wtbWQtcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzMzMzMzMzMiU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTIge1xuICAgIGxlZnQ6IDE2LjY2NjY2NjY2NjY2NjY2NCU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTtcbiAgfVxuICAuY29sLW1kLXB1c2gtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC01IHtcbiAgICBsZWZ0OiA0MS42NjY2NjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLW1kLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMzMzMzMzMzMzM2JTtcbiAgfVxuICAuY29sLW1kLXB1c2gtOCB7XG4gICAgbGVmdDogNjYuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC05LCAjZm9vdGVyIC5mb290ZXJfX2JvdHRvbSAucmVnaW9uLS1mb290ZXItYm90dG9tLXJpZ2h0IHtcbiAgICBsZWZ0OiA3NSU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMzMzMzMzNCU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTAge1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5jb2wtbWQtcHVsbC0xIHtcbiAgICByaWdodDogOC4zMzMzMzMzMzMzMzMzMzIlO1xuICB9XG4gIC5jb2wtbWQtcHVsbC0yIHtcbiAgICByaWdodDogMTYuNjY2NjY2NjY2NjY2NjY0JTtcbiAgfVxuICAuY29sLW1kLXB1bGwtMywgI2Zvb3RlciAuZm9vdGVyX19ib3R0b20gLnJlZ2lvbi0tZm9vdGVyLWJvdHRvbSB7XG4gICAgcmlnaHQ6IDI1JTtcbiAgfVxuICAuY29sLW1kLXB1bGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxuICAuY29sLW1kLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzMzMzMzMzNiU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTkge1xuICAgIHJpZ2h0OiA3NSU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTEwIHtcbiAgICByaWdodDogODMuMzMzMzMzMzMzMzMzMzQlO1xuICB9XG4gIC5jb2wtbWQtcHVsbC0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuY29sLW1kLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzMzMzMzIlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY2NjY2NjQlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMzMzMzNiU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMzMzMzQlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2Ny41ZW0pIHtcbiAgLmNvbC1sZy0xLFxuICAuY29sLWxnLTIsXG4gIC5jb2wtbGctMyxcbiAgLmhhcy1zaWRlYmFyIC5sYXlvdXQtc2lkZWJhci1maXJzdCxcbiAgLmNvbC1sZy00LFxuICAuY29sLWxnLTUsXG4gIC5jb2wtbGctNixcbiAgLmNvbC1sZy03LFxuICAuY29sLWxnLTgsXG4gIC5jb2wtbGctOSxcbiAgLmhhcy1zaWRlYmFyIC5sYXlvdXQtY29udGVudCxcbiAgLmNvbC1sZy0xMCxcbiAgLmNvbC1sZy0xMSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgLmNvbC1sZy0xIHtcbiAgICB3aWR0aDogOC4zMzMzMzMzMzMzMzMzMzIlO1xuICB9XG4gIC5jb2wtbGctMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjY2NjY2NCU7XG4gIH1cbiAgXG4gIC5jb2wtbGctMyxcbiAgLmhhcy1zaWRlYmFyIC5sYXlvdXQtc2lkZWJhci1maXJzdCB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuY29sLWxnLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuY29sLWxnLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzMzMzMzYlO1xuICB9XG4gIC5jb2wtbGctOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICBcbiAgLmNvbC1sZy05LFxuICAuaGFzLXNpZGViYXIgLmxheW91dC1jb250ZW50IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5jb2wtbGctMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzMzMzNCU7XG4gIH1cbiAgLmNvbC1sZy0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLWxnLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29sLWxnLXB1c2gtMCB7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuY29sLWxnLXB1c2gtMSB7XG4gICAgbGVmdDogOC4zMzMzMzMzMzMzMzMzMzIlO1xuICB9XG4gIC5jb2wtbGctcHVzaC0yIHtcbiAgICBsZWZ0OiAxNi42NjY2NjY2NjY2NjY2NjQlO1xuICB9XG4gIC5jb2wtbGctcHVzaC0zLCAuaGFzLXNpZGViYXIgLmxheW91dC1jb250ZW50IHtcbiAgICBsZWZ0OiAyNSU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTQge1xuICAgIGxlZnQ6IDMzLjMzMzMzMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLXB1c2gtNSB7XG4gICAgbGVmdDogNDEuNjY2NjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctcHVzaC02IHtcbiAgICBsZWZ0OiA1MCU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTcge1xuICAgIGxlZnQ6IDU4LjMzMzMzMzMzMzMzMzMzNiU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTgge1xuICAgIGxlZnQ6IDY2LjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLWxnLXB1c2gtOSB7XG4gICAgbGVmdDogNzUlO1xuICB9XG4gIC5jb2wtbGctcHVzaC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMzMzMzMzMzMzQlO1xuICB9XG4gIC5jb2wtbGctcHVzaC0xMSB7XG4gICAgbGVmdDogOTEuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtbGctcHVsbC0wIHtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAuY29sLWxnLXB1bGwtMSB7XG4gICAgcmlnaHQ6IDguMzMzMzMzMzMzMzMzMzMyJTtcbiAgfVxuICAuY29sLWxnLXB1bGwtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY2NjY2NjY2NjY2NCU7XG4gIH1cbiAgLmNvbC1sZy1wdWxsLTMge1xuICAgIHJpZ2h0OiAyNSU7XG4gIH1cbiAgLmNvbC1sZy1wdWxsLTQge1xuICAgIHJpZ2h0OiAzMy4zMzMzMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1wdWxsLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy1wdWxsLTYge1xuICAgIHJpZ2h0OiA1MCU7XG4gIH1cbiAgLmNvbC1sZy1wdWxsLTcge1xuICAgIHJpZ2h0OiA1OC4zMzMzMzMzMzMzMzMzMzYlO1xuICB9XG4gIC5jb2wtbGctcHVsbC04IHtcbiAgICByaWdodDogNjYuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtbGctcHVsbC05LCAuaGFzLXNpZGViYXIgLmxheW91dC1zaWRlYmFyLWZpcnN0IHtcbiAgICByaWdodDogNzUlO1xuICB9XG4gIC5jb2wtbGctcHVsbC0xMCB7XG4gICAgcmlnaHQ6IDgzLjMzMzMzMzMzMzMzMzM0JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtMTEge1xuICAgIHJpZ2h0OiA5MS42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMzMzMzMyJTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NjY2NjY0JTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzMzMzMzYlO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMzMzM0JTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxufVxuXG5ib2R5LFxuaHRtbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbm1haW4sXG4uY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMjQwcHg7XG4gIG1pbi13aWR0aDogMzIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgcGFkZGluZy1yaWdodDogMjVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkzLjc1ZW0pIHtcbiAgbWFpbixcbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIH1cbn1cblxubWFpbjpiZWZvcmUsIG1haW46YWZ0ZXIsXG4uY29udGFpbmVyOmJlZm9yZSxcbi5jb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxubWFpbjphZnRlcixcbi5jb250YWluZXI6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuI2hpZ2hsaWdodGVkOmJlZm9yZSwgI2hpZ2hsaWdodGVkOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbiNoaWdobGlnaHRlZDphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4vKiBJZiB0aGUgbGVmdCBzaWRlYmFyIGV4aXN0cy4uLiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmxheW91dC1jb250ZW50LFxuICAubGF5b3V0LXNpZGViYXItZmlyc3QsXG4gIC5sYXlvdXQtc2lkZWJhci1zZWNvbmQge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmxheW91dC1jb250ZW50LFxuICAubGF5b3V0LXNpZGViYXItZmlyc3QsXG4gIC5sYXlvdXQtc2lkZWJhci1zZWNvbmQge1xuICAgIHBhZGRpbmctdG9wOiAzMy4zMzMzMzMzMzMzcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMzLjMzMzMzMzMzMzNweDtcbiAgfVxufVxuXG4uaGFzLXNpZGViYXIgbWFpbiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICAuaGFzLXNpZGViYXIgLmxheW91dC1zaWRlYmFyLWZpcnN0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICB9XG4gIC5oYXMtc2lkZWJhciAubGF5b3V0LWNvbnRlbnQge1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjcuNDM3NWVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaGFzLXNpZGViYXIgLmxheW91dC1zaWRlYmFyLWZpcnN0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICAgIGZvbnQtc2l6ZTogMC44ZW07XG4gIH1cbiAgLmhhcy1zaWRlYmFyIC5sYXlvdXQtY29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oYXMtc2lkZWJhciBtYWluIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gIC5oYXMtc2lkZWJhciAubGF5b3V0LXNpZGViYXItZmlyc3Qge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkM2QzZDM7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaGFzLXNpZGViYXIgLmxheW91dC1zaWRlYmFyLWZpcnN0IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2QzZDNkMztcbiAgfVxufVxuXG4uc2lkZWJhci1zZWNvbmQgbWFpbiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNpZGViYXItc2Vjb25kIG1haW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgLnNpZGViYXItc2Vjb25kIC5sYXlvdXQtc2lkZWJhci1zZWNvbmQge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2QzZDNkMztcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gIH1cbiAgLnNpZGViYXItc2Vjb25kIC5sYXlvdXQtY29udGVudCB7XG4gICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgfVxufVxuXG4vKiBIb21lICovXG4uaG9tZXBhZ2UgLmxheW91dC1jb250ZW50LWJvdHRvbSB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi8qIFBhZ2Ugd2l0aG91dCBTaWRlYmFyICovXG4ucGFnZS0tbm9kZSAubm8tc2lkZWJhciBtYWluIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi5wYWdlLS1ub2RlIC5uby1zaWRlYmFyIG1haW4gLmxheW91dC1jb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xufVxuXG4ucGFnZS0tbm9kZSAubm8tc2lkZWJhciAuZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMjQwcHg7XG4gIG1pbi13aWR0aDogMzIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbiAgcGFkZGluZy1yaWdodDogMjVweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDkzLjc1ZW0pIHtcbiAgLnBhZ2UtLW5vZGUgLm5vLXNpZGViYXIgLmZpZWxkLS1ib2R5ID4gLnBhcmFncmFwaCB7XG4gICAgbWF4LXdpZHRoOiAxNDQwcHg7XG4gIH1cbn1cblxuLnBhZ2UtLW5vZGUgLm5vLXNpZGViYXIgLmZpZWxkLS1ib2R5ID4gLnBhcmFncmFwaC5wYXJhZ3JhcGgtLWZlYXR1cmUsIC5wYWdlLS1ub2RlIC5uby1zaWRlYmFyIC5maWVsZC0tYm9keSA+IC5wYXJhZ3JhcGguZGF2LXByb2dyYW0tc2VhcmNoLW1pbmksIC5wYWdlLS1ub2RlIC5uby1zaWRlYmFyIC5maWVsZC0tYm9keSA+IC5wYXJhZ3JhcGgucGFyYWdyYXBoLS13ZWJmb3JtIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLm9iamVjdGZpdCAucGFnZS0tbm9kZSAubm8tc2lkZWJhciAuYmFubmVyIC5tZWRpYS0taW1hZ2UgaW1nIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAzMDBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5LjkzNzVlbSkgYW5kIChtaW4td2lkdGg6IDEwNi4yNWVtKSB7XG4gIC5wYWdlLS1ub2RlIC5uby1zaWRlYmFyLmhhcy1zdGF0cyAuZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoLS10ZXh0OmZpcnN0LWNoaWxkIC5maWVsZC0tY29udGVudCB7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDYuMTg3NWVtKSBhbmQgKG1pbi13aWR0aDogNjcuNWVtKSB7XG4gIC5wYWdlLS1ub2RlIC5uby1zaWRlYmFyLmhhcy1zdGF0cyAuZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoLS10ZXh0OmZpcnN0LWNoaWxkIC5maWVsZC0tY29udGVudCB7XG4gICAgd2lkdGg6IDc1JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2Ny40Mzc1ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYWdlLS1ub2RlIC5uby1zaWRlYmFyLmhhcy1zdGF0cyAuZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoLS10ZXh0OmZpcnN0LWNoaWxkIC5maWVsZC0tY29udGVudCB7XG4gICAgd2lkdGg6IDY2LjY3JTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3OC43NWVtKSB7XG4gIC5wYWdlLS1ub2RlIC5uby1zaWRlYmFyIC5wYXJhZ3JhcGgtLWZlYXR1cmUuZmVhdHVyZS0tb2RkIC5mZWF0dXJlX190ZXh0IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDUwdncgLSAxMjAwcHggLyAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDYyLjVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTMuNzVlbSkge1xuICAucGFnZS0tbm9kZSAubm8tc2lkZWJhciAucGFyYWdyYXBoLS1mZWF0dXJlLmZlYXR1cmUtLW9kZCAuZmVhdHVyZV9fdGV4dCB7XG4gICAgcGFkZGluZy1yaWdodDogY2FsYyg1MHZ3IC0gMTM5MHB4IC8gMik7XG4gICAgcGFkZGluZy1sZWZ0OiA2Mi41cHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc4Ljc1ZW0pIHtcbiAgLnBhZ2UtLW5vZGUgLm5vLXNpZGViYXIgLnBhcmFncmFwaC0tZmVhdHVyZS5mZWF0dXJlLS1ldmVuIC5mZWF0dXJlX190ZXh0LFxuICAucGFnZS0tbm9kZSAubm8tc2lkZWJhciAucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIC5mZWF0dXJlX190ZXh0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNTB2dyAtIDEyMDBweCAvIDIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDYyLjVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTMuNzVlbSkge1xuICAucGFnZS0tbm9kZSAubm8tc2lkZWJhciAucGFyYWdyYXBoLS1mZWF0dXJlLmZlYXR1cmUtLWV2ZW4gLmZlYXR1cmVfX3RleHQsXG4gIC5wYWdlLS1ub2RlIC5uby1zaWRlYmFyIC5wYXJhZ3JhcGguZGF2LXByb2dyYW0tc2VhcmNoLW1pbmkgLmZlYXR1cmVfX3RleHQge1xuICAgIHBhZGRpbmctbGVmdDogY2FsYyg1MHZ3IC0gMTM5MHB4IC8gMik7XG4gICAgcGFkZGluZy1yaWdodDogNjIuNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3OC43NWVtKSB7XG4gIC5wYWdlLS1ub2RlIC5uby1zaWRlYmFyIC5wYXJhZ3JhcGgtLXdlYmZvcm0gLmZpZWxkLS13ZWJmb3JtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDUwdncgLSAxMjAwcHggLyAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNTB2dyAtIDEyMDBweCAvIDIpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5My43NWVtKSB7XG4gIC5wYWdlLS1ub2RlIC5uby1zaWRlYmFyIC5wYXJhZ3JhcGgtLXdlYmZvcm0gLmZpZWxkLS13ZWJmb3JtIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDUwdncgLSAxMzkwcHggLyAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNTB2dyAtIDEzOTBweCAvIDIpO1xuICB9XG59XG5cbi8qIEludGVyZXN0ZWQgSW4gRHJvcGRvd24gKi9cbi5pbnRlcmVzdGVkLWluLXNlY3Rpb24gLmludGVyZXN0ZWQtdG9nZ2xlIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZmZmO1xuICBmb250LXdlaWdodDogNTAwO1xuICBwYWRkaW5nOiAwIDAgM3B4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmludGVyZXN0ZWQtaW4tc2VjdGlvbiAuaW50ZXJlc3RlZC10b2dnbGU6Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkICNmZmY7XG4gIG91dGxpbmUtb2Zmc2V0OiA3cHg7XG59XG5cbi5pbnRlcmVzdGVkLWluLXNlY3Rpb24gLmludGVyZXN0ZWQtdG9nZ2xlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogNXB4O1xufVxuXG4uaW50ZXJlc3RlZC1pbi1zZWN0aW9uIC5pbnRlcmVzdGVkLXRvZ2dsZTpob3ZlciwgLmludGVyZXN0ZWQtaW4tc2VjdGlvbiAuaW50ZXJlc3RlZC10b2dnbGU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmludGVyZXN0ZWQtaW4tc2VjdGlvbiAuaW50ZXJlc3RlZC10b2dnbGUge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuICAuaW50ZXJlc3RlZC1pbi1zZWN0aW9uIC5pbnRlcmVzdGVkLXRvZ2dsZTphZnRlciB7XG4gICAgYm9yZGVyOiBpbnNldCAxMHB4O1xuICAgIGJvcmRlci1jb2xvcjogI2UxMmYyMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjMuOTM3NWVtKSBhbmQgKG1pbi13aWR0aDogNTIuNWVtKSB7XG4gIC5pbnRlcmVzdGVkLWluLXNlY3Rpb24gLmludGVyZXN0ZWQtdG9nZ2xlIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgLmludGVyZXN0ZWQtaW4tc2VjdGlvbiAuaW50ZXJlc3RlZC10b2dnbGU6YWZ0ZXIge1xuICAgIGJvcmRlcjogaW5zZXQgOHB4O1xuICAgIGJvcmRlci1jb2xvcjogI2UxMmYyMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTIuNDM3NWVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaW50ZXJlc3RlZC1pbi1zZWN0aW9uIC5pbnRlcmVzdGVkLXRvZ2dsZSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gIC5pbnRlcmVzdGVkLWluLXNlY3Rpb24gLmludGVyZXN0ZWQtdG9nZ2xlOmFmdGVyIHtcbiAgICBib3JkZXI6IGluc2V0IDdweDtcbiAgICBib3JkZXItY29sb3I6ICNlMTJmMjIgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgdG9wOiAzcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkgYW5kIChtaW4td2lkdGg6IDM3LjVlbSkge1xuICAuaW50ZXJlc3RlZC1pbi1zZWN0aW9uIC5pbnRlcmVzdGVkLXRvZ2dsZSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gIC5pbnRlcmVzdGVkLWluLXNlY3Rpb24gLmludGVyZXN0ZWQtdG9nZ2xlOmFmdGVyIHtcbiAgICBib3JkZXI6IGluc2V0IDEwcHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZTEyZjIyIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAzNy40Mzc1ZW0pIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5pbnRlcmVzdGVkLWluLXNlY3Rpb24gLmludGVyZXN0ZWQtdG9nZ2xlIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cbiAgLmludGVyZXN0ZWQtaW4tc2VjdGlvbiAuaW50ZXJlc3RlZC10b2dnbGU6YWZ0ZXIge1xuICAgIGJvcmRlcjogaW5zZXQgOHB4O1xuICAgIGJvcmRlci1jb2xvcjogI2UxMmYyMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gIC5pbnRlcmVzdGVkLWluLXNlY3Rpb24gLmludGVyZXN0ZWQtdG9nZ2xlIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbiAgLmludGVyZXN0ZWQtaW4tc2VjdGlvbiAuaW50ZXJlc3RlZC10b2dnbGU6YWZ0ZXIge1xuICAgIGJvcmRlcjogaW5zZXQgN3B4O1xuICAgIGJvcmRlci1jb2xvcjogI2UxMmYyMiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICB0b3A6IDNweDtcbiAgfVxufVxuXG4uaW50ZXJlc3RlZC1uYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTNweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG59XG5cbi5pbnRlcmVzdGVkLW5hdiAuaW50ZXJlc3RlZC1saXN0IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QzZDNkMztcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgbWluLWhlaWdodDogNDVweDtcbiAgcGFkZGluZzogMCAxMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzMzBweDtcbiAgLyogT3B0aW9uICovXG59XG5cbi5pbnRlcmVzdGVkLW5hdiAuaW50ZXJlc3RlZC1saXN0IC5pbnRlcmVzdGVkLWl0ZW0ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QzZDNkMztcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uaW50ZXJlc3RlZC1uYXYgLmludGVyZXN0ZWQtbGlzdCAuaW50ZXJlc3RlZC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbn1cblxuLmludGVyZXN0ZWQtbmF2IC5pbnRlcmVzdGVkLWxpc3QgLmludGVyZXN0ZWQtaXRlbSBhIHtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLmludGVyZXN0ZWQtbmF2IC5pbnRlcmVzdGVkLWxpc3QgLmludGVyZXN0ZWQtaXRlbSBhOmhvdmVyLCAuaW50ZXJlc3RlZC1uYXYgLmludGVyZXN0ZWQtbGlzdCAuaW50ZXJlc3RlZC1pdGVtIGE6Zm9jdXMge1xuICBjb2xvcjogIzRiNjljYjtcbn1cblxuLmludGVyZXN0ZWQtbmF2LnZpc2libGUgLmludGVyZXN0ZWQtbGlzdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKiBQcm9ncmFtcyAqL1xuLnByb2dyYW0uZGlzcGxheS1mdWxsIC5maWVsZC0tcHJvZ3JhbS1jdXJyaWN1bHVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkM2QzZDM7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wcm9ncmFtLmRpc3BsYXktZnVsbCAuZmllbGQtLXByb2dyYW0tY3VycmljdWx1bSB7XG4gICAgcGFkZGluZy1ib3R0b206IDc1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgfVxuICAuaGFzLXNpZGViYXIgLnByb2dyYW0uZGlzcGxheS1mdWxsIC5maWVsZC0tcHJvZ3JhbS1jdXJyaWN1bHVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnByb2dyYW0uZGlzcGxheS1mdWxsIC5maWVsZC0tcHJvZ3JhbS1jdXJyaWN1bHVtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzMuMzMzMzMzMzMzM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDMzLjMzMzMzMzMzMzNweDtcbiAgfVxufVxuXG4ucHJvZ3JhbS5kaXNwbGF5LWZ1bGwgcCArIC5hY2NvcmRpb24sXG4ucHJvZ3JhbS5kaXNwbGF5LWZ1bGwgdWwgKyAuYWNjb3JkaW9uIHtcbiAgbWFyZ2luLXRvcDogMzMuMzMzMzMzMzMzM3B4O1xufVxuXG4vKiBBcmVhcyBvZiBTdHVkeSAqL1xuLmFyZWEtb2Ytc3R1ZHkuZGlzcGxheS1mdWxsIC5maWVsZC0taW50cm8ge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xufVxuXG4uYXJlYS1vZi1zdHVkeS5kaXNwbGF5LWZ1bGwgLmZpZWxkLS1pbnRybyBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYXJlYS1vZi1zdHVkeS5kaXNwbGF5LWZ1bGwgLmZpZWxkLS1wcm9ncmFtLWdyb3VwcyA+IC5wYXJhZ3JhcGgge1xuICBwYWRkaW5nLXRvcDogNTBweDtcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDNkM2QzO1xufVxuXG4vKiBBdGhsZXRpY3MgKi9cbiNuY2FhLXNwb3J0cyB1bC50d28tY29sdW1ucyBsaS5uby1idWxsZXQ6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlLFxuI25vbi12YXJzaXR5LXNwb3J0cyB1bC50d28tY29sdW1ucyBsaS5uby1idWxsZXQ6bm90KDpmaXJzdC1jaGlsZCk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG59XG5cbi8qIExvY2F0aW9uL0NhbXB1cyBQYWdlcyAqL1xuLnZpZXdzLWJsb2NrLWxvY2F0aW9uLXByb2dyYW1zLWJsb2NrLTEgPiBoMiB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi8qIExvY2F0aW9uL0NhbXB1cyBMaXN0aW5nICovXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAubm8tc2lkZWJhciAubG9jYXRpb25zIHtcbiAgICBtYXJnaW46IC0yNXB4O1xuICB9XG4gIC5uby1zaWRlYmFyIC5sb2NhdGlvbnM6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG4gIC5uby1zaWRlYmFyIC5sb2NhdGlvbnMgLnRlYXNlciB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAyNXB4O1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gIH1cbiAgLm5vLXNpZGViYXIgLmxvY2F0aW9ucyAudGVhc2VyIC50ZWFzZXJfX2ltYWdlLFxuICAubm8tc2lkZWJhciAubG9jYXRpb25zIC50ZWFzZXIgLnRlYXNlcl9fdGV4dCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAubm8tc2lkZWJhciAubG9jYXRpb25zIC50ZWFzZXIgLnRlYXNlcl9faW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbiAgLm5vLXNpZGViYXIgLmxvY2F0aW9ucyAudGVhc2VyICsgLnRlYXNlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuICAubm8tc2lkZWJhciAubG9jYXRpb25zIC50ZWFzZXI6bnRoLW9mLXR5cGUoMSksIC5uby1zaWRlYmFyIC5sb2NhdGlvbnMgLnRlYXNlcjpudGgtb2YtdHlwZSgyKSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAubm8tc2lkZWJhciAubG9jYXRpb25zIC50ZWFzZXI6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgIGNsZWFyOiBsZWZ0O1xuICB9XG59XG5cbi8qIFByb2dyYW0gU2VhcmNoIFBhZ2UgKi9cbi5wcm9ncmFtLXNlYXJjaCAubm8tc2lkZWJhciBtYWluIC5sYXlvdXQtY29udGVudCB7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAucHJvZ3JhbS1zZWFyY2ggLm5vLXNpZGViYXIgLmZpZWxkLS1ib2R5ID4gLnBhcmFncmFwaC0tY3VzdG9tX2Jsb2NrID4gLnBhcmFncmFwaF9fY29udGVudCB7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnByb2dyYW0tc2VhcmNoICNoaWdobGlnaHRlZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogLTEyMHB4O1xuICB9XG4gIC5wcm9ncmFtLXNlYXJjaCAuYmFubmVyIC5wYWdlLXRpdGxlIHtcbiAgICBib3R0b206IDEwMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wcm9ncmFtLXNlYXJjaCAjaGlnaGxpZ2h0ZWQge1xuICAgIG1hcmdpbi1ib3R0b206IC02NXB4O1xuICB9XG4gIC5wcm9ncmFtLXNlYXJjaCAuYmFubmVyIC5wYWdlLXRpdGxlIHtcbiAgICBib3R0b206IDQwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucHJvZ3JhbS1zZWFyY2ggI2hpZ2hsaWdodGVkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtNjVweDtcbiAgfVxuICAucHJvZ3JhbS1zZWFyY2ggLmJhbm5lciAucGFnZS10aXRsZSB7XG4gICAgYm90dG9tOiA1MHB4O1xuICB9XG59XG5cbi5zaXRlLXNlYXJjaCB7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5zaXRlLXNlYXJjaCAudmlld3Mtcm93IHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkM2QzZDM7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbn1cblxuLnNpdGUtc2VhcmNoIC52aWV3cy1yb3cgLnZpZXdzLWZpZWxkLXRpdGxlIHtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIGZvbnQtc2l6ZTogMjJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2l0ZS1zZWFyY2ggLnZpZXdzLXJvdyAudmlld3MtZmllbGQtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDQ0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zaXRlLXNlYXJjaCAudmlld3Mtcm93IC52aWV3cy1maWVsZC10aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbn1cblxuLnNpdGUtc2VhcmNoIC52aWV3cy1yb3cgLnZpZXdzLWZpZWxkLXRpdGxlIGEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zaXRlLXNlYXJjaCAudmlld3Mtcm93IC52aWV3cy1maWVsZC10aXRsZSBhOmhvdmVyLCAuc2l0ZS1zZWFyY2ggLnZpZXdzLXJvdyAudmlld3MtZmllbGQtdGl0bGUgYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4jcGFnZS5sYW5kaW5nLXBhZ2Uge1xuICAvKiBHbG9iYWwgKi9cbiAgLyogSGVhZGVyICovXG4gIC8qIEdyaWQgKi9cbiAgLyogU2lkZWJhciAqL1xuICAvKiBGb290ZXIgKi9cbn1cblxuI3BhZ2UubGFuZGluZy1wYWdlIGhlYWRlciA+IC5jb250YWluZXIge1xuICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG59XG5cbiNwYWdlLmxhbmRpbmctcGFnZS5oYXMtZm9ybSAuY29udGFpbmVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTMuNzVlbSkge1xuICAjcGFnZS5sYW5kaW5nLXBhZ2UuaGFzLWZvcm0gI2hpZ2hsaWdodGVkIC5wYWdlLXRpdGxlLFxuICAjcGFnZS5sYW5kaW5nLXBhZ2UuaGFzLWZvcm0gLmxhbmRpbmdfX3NpZGViYXIsXG4gICNwYWdlLmxhbmRpbmctcGFnZS5oYXMtZm9ybSAuY29udGFpbmVyLFxuICAjcGFnZS5sYW5kaW5nLXBhZ2UuaGFzLWZvcm0gLmZpZWxkLS1ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDc1cHg7XG4gICAgcGFkZGluZy1yaWdodDogNzVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTMuNjg3NWVtKSBhbmQgKG1pbi13aWR0aDogNzguNzVlbSkge1xuICAjcGFnZS5sYW5kaW5nLXBhZ2UuaGFzLWZvcm0gI2hpZ2hsaWdodGVkIC5wYWdlLXRpdGxlLFxuICAjcGFnZS5sYW5kaW5nLXBhZ2UuaGFzLWZvcm0gLmxhbmRpbmdfX3NpZGViYXIsXG4gICNwYWdlLmxhbmRpbmctcGFnZS5oYXMtZm9ybSAuY29udGFpbmVyLFxuICAjcGFnZS5sYW5kaW5nLXBhZ2UuaGFzLWZvcm0gLmZpZWxkLS1ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzguNjg3NWVtKSB7XG4gICNwYWdlLmxhbmRpbmctcGFnZS5oYXMtZm9ybSAjaGlnaGxpZ2h0ZWQgLnBhZ2UtdGl0bGUsXG4gICNwYWdlLmxhbmRpbmctcGFnZS5oYXMtZm9ybSAubGFuZGluZ19fc2lkZWJhcixcbiAgI3BhZ2UubGFuZGluZy1wYWdlLmhhcy1mb3JtIC5jb250YWluZXIsXG4gICNwYWdlLmxhbmRpbmctcGFnZS5oYXMtZm9ybSAuZmllbGQtLWJvZHkge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICB9XG59XG5cbiNwYWdlLmxhbmRpbmctcGFnZS5oYXMtZm9ybSAuZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5My43NWVtKSB7XG4gICNwYWdlLmxhbmRpbmctcGFnZS5oYXMtZm9ybSAuZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoLnBhcmFncmFwaC0tcXVvdGU6YWZ0ZXIge1xuICAgIHJpZ2h0OiAtODcuNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5My42ODc1ZW0pIGFuZCAobWluLXdpZHRoOiA3OC43NWVtKSB7XG4gICNwYWdlLmxhbmRpbmctcGFnZS5oYXMtZm9ybSAuZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoLnBhcmFncmFwaC0tcXVvdGU6YWZ0ZXIge1xuICAgIHJpZ2h0OiAtNjIuNXB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3OC42ODc1ZW0pIHtcbiAgI3BhZ2UubGFuZGluZy1wYWdlLmhhcy1mb3JtIC5maWVsZC0tYm9keSA+IC5wYXJhZ3JhcGgucGFyYWdyYXBoLS1xdW90ZTphZnRlciB7XG4gICAgcmlnaHQ6IC0zNy41cHg7XG4gIH1cbn1cblxuI3BhZ2UubGFuZGluZy1wYWdlIGhlYWRlciB7XG4gIGJvcmRlci10b3A6IDhweCBzb2xpZCAjZTEyZjIyO1xuICBwYWRkaW5nLXRvcDogMDtcbn1cblxuI3BhZ2UubGFuZGluZy1wYWdlIGhlYWRlciAjbG9nbyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4jcGFnZS5sYW5kaW5nLXBhZ2UgaGVhZGVyICNsYW5kaW5nLWNvbnRhY3Qge1xuICBmbG9hdDogcmlnaHQ7XG59XG5cbiNwYWdlLmxhbmRpbmctcGFnZSBoZWFkZXIgI2xhbmRpbmctY29udGFjdCA+IHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3cHg7XG59XG5cbiNwYWdlLmxhbmRpbmctcGFnZSBoZWFkZXIgI2xhbmRpbmctY29udGFjdCBoNCB7XG4gIG1hcmdpbjogMDtcbn1cblxuI3BhZ2UubGFuZGluZy1wYWdlIGhlYWRlciAjbGFuZGluZy1jb250YWN0IC5sYW5kaW5nX19jb250YWN0IHtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2Ny41ZW0pIHtcbiAgI3BhZ2UubGFuZGluZy1wYWdlIGhlYWRlciAjbGFuZGluZy1jb250YWN0IHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNjcuNDM3NWVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjcGFnZS5sYW5kaW5nLXBhZ2UgaGVhZGVyICNsYW5kaW5nLWNvbnRhY3Qge1xuICAgIHBhZGRpbmctdG9wOiAxOXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgI3BhZ2UubGFuZGluZy1wYWdlIGhlYWRlciAjbGFuZGluZy1jb250YWN0IHtcbiAgICBwYWRkaW5nLXRvcDogMjFweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjFweDtcbiAgfVxuICAjcGFnZS5sYW5kaW5nLXBhZ2UgaGVhZGVyICNsYW5kaW5nLWNvbnRhY3QgLmxhbmRpbmdfX3F1ZXN0aW9ucyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzcuNDM3NWVtKSB7XG4gICNwYWdlLmxhbmRpbmctcGFnZSBoZWFkZXIgI2xhbmRpbmctY29udGFjdCB7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIH1cbiAgI3BhZ2UubGFuZGluZy1wYWdlIGhlYWRlciAjbGFuZGluZy1jb250YWN0ID4gc3BhbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbiAgI3BhZ2UubGFuZGluZy1wYWdlIGhlYWRlciAjbGFuZGluZy1jb250YWN0IC5sYW5kaW5nX19jb250YWN0IHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gIH1cbiAgI3BhZ2UubGFuZGluZy1wYWdlIGhlYWRlciAjbGFuZGluZy1jb250YWN0IC5sYW5kaW5nX19jb250YWN0ICsgLmxhbmRpbmdfX2NvbnRhY3Qge1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cbiAgI3BhZ2UubGFuZGluZy1wYWdlIGhlYWRlciAjbGFuZGluZy1jb250YWN0IC5jb250YWN0IHtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cbiAgI3BhZ2UubGFuZGluZy1wYWdlIGhlYWRlciAjbGFuZGluZy1jb250YWN0IC5jb250YWN0OmJlZm9yZSB7XG4gICAgd2lkdGg6IDEzcHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICB9XG59XG5cbiNwYWdlLmxhbmRpbmctcGFnZSAubGFuZGluZ19fY29udGFjdCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAtNnB4O1xufVxuXG4jcGFnZS5sYW5kaW5nLXBhZ2UgLmxhbmRpbmdfX2NvbnRhY3QgKyAubGFuZGluZ19fY29udGFjdCB7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2QzZDNkMztcbiAgcGFkZGluZy1sZWZ0OiAxNi42NjY2NjY2NjY3cHg7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5My43NWVtKSB7XG4gICNwYWdlLmxhbmRpbmctcGFnZS5oYXMtZm9ybSAubGFuZGluZ19fbWFpbiB7XG4gICAgd2lkdGg6IDY2LjY3JTtcbiAgfVxuICAjcGFnZS5sYW5kaW5nLXBhZ2UuaGFzLWZvcm0gLmxhbmRpbmdfX3NpZGViYXIge1xuICAgIHdpZHRoOiAzMy4zMyU7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkzLjY4NzVlbSkgYW5kIChtaW4td2lkdGg6IDY3LjVlbSkge1xuICAjcGFnZS5sYW5kaW5nLXBhZ2UuaGFzLWZvcm0gLmxhbmRpbmdfX21haW4ge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgI3BhZ2UubGFuZGluZy1wYWdlLmhhcy1mb3JtIC5sYW5kaW5nX19zaWRlYmFyIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA2Ny40Mzc1ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNwYWdlLmxhbmRpbmctcGFnZS5oYXMtZm9ybSAubGFuZGluZ19fbWFpbiB7XG4gICAgd2lkdGg6IDY2LjY3JTtcbiAgfVxuICAjcGFnZS5sYW5kaW5nLXBhZ2UuaGFzLWZvcm0gLmxhbmRpbmdfX3NpZGViYXIge1xuICAgIHdpZHRoOiAzMy4zMyU7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3BhZ2UubGFuZGluZy1wYWdlLmhhcy1mb3JtIC5sYW5kaW5nX19tYWluLFxuICAjcGFnZS5sYW5kaW5nLXBhZ2UuaGFzLWZvcm0gLmxhbmRpbmdfX3NpZGViYXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gICNwYWdlLmxhbmRpbmctcGFnZS5oYXMtZm9ybSAubGFuZGluZy1wYWdlLmRpc3BsYXktZnVsbCA+IGRpdiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxufVxuXG4jcGFnZS5sYW5kaW5nLXBhZ2UgLmxhbmRpbmdfX3NpZGViYXIge1xuICBiYWNrZ3JvdW5kOiAjZTEyZjIyO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3BhZ2UubGFuZGluZy1wYWdlIC5sYW5kaW5nX19zaWRlYmFyIHtcbiAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICNwYWdlLmxhbmRpbmctcGFnZSAubGFuZGluZ19fc2lkZWJhciB7XG4gICAgcGFkZGluZy10b3A6IDMzLjMzMzMzMzMzMzNweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzMuMzMzMzMzMzMzM3B4O1xuICB9XG59XG5cbiNwYWdlLmxhbmRpbmctcGFnZSAubGFuZGluZ19fc2lkZWJhciBoMiwgI3BhZ2UubGFuZGluZy1wYWdlIC5sYW5kaW5nX19zaWRlYmFyIGgzLCAjcGFnZS5sYW5kaW5nLXBhZ2UgLmxhbmRpbmdfX3NpZGViYXIgaDQsICNwYWdlLmxhbmRpbmctcGFnZSAubGFuZGluZ19fc2lkZWJhciBoNSxcbiNwYWdlLmxhbmRpbmctcGFnZSAubGFuZGluZ19fc2lkZWJhciAuZm9ybS1pdGVtLXRleHQtb3B0aW4gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuI3BhZ2UubGFuZGluZy1wYWdlIC5sYW5kaW5nX19zaWRlYmFyIGgyOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuI3BhZ2UubGFuZGluZy1wYWdlIC5sYW5kaW5nX19zaWRlYmFyIGgzOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMTNweDtcbn1cblxuI3BhZ2UubGFuZGluZy1wYWdlIC5sYW5kaW5nX19zaWRlYmFyIGRpdi5mb3JtLXdyYXBwZXIgLmZvcm0taXRlbSxcbiNwYWdlLmxhbmRpbmctcGFnZSAubGFuZGluZ19fc2lkZWJhciAud2ViZm9ybS1zZWN0aW9uLXdyYXBwZXIgLmZvcm0taXRlbSB7XG4gIGZsb2F0OiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuI3BhZ2UubGFuZGluZy1wYWdlIC5sYW5kaW5nX19zaWRlYmFyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBib3JkZXI6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4yNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMTVweCA1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbiNwYWdlLmxhbmRpbmctcGFnZSAubGFuZGluZ19fc2lkZWJhciBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCAjcGFnZS5sYW5kaW5nLXBhZ2UgLmxhbmRpbmdfX3NpZGViYXIgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgI3BhZ2UubGFuZGluZy1wYWdlIC5sYW5kaW5nX19zaWRlYmFyIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbiNwYWdlLmxhbmRpbmctcGFnZSAubGFuZGluZ19fc2lkZWJhciAuc2VsZWN0Ym94aXQtY29udGFpbmVyIHtcbiAgY29sb3I6ICMyMjIyMjI7XG59XG5cbiNwYWdlLmxhbmRpbmctcGFnZSBmb290ZXIgLmxhbmRpbmdfX2NvcHlyaWdodCB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbiNwYWdlLmxhbmRpbmctcGFnZSBmb290ZXIgLmxhbmRpbmdfX2NvbnRhY3Qge1xuICBsaW5lLWhlaWdodDogMThweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3BhZ2UubGFuZGluZy1wYWdlIGZvb3RlciAubGFuZGluZ19fY29udGFjdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMi41cHg7XG4gIH1cbiAgI3BhZ2UubGFuZGluZy1wYWdlIGZvb3RlciAubGFuZGluZ19fY29udGFjdCArIC5sYW5kaW5nX19jb250YWN0IHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzQwNDA0MDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEyLjVweDtcbiAgfVxuICAjcGFnZS5sYW5kaW5nLXBhZ2UgZm9vdGVyIC5jb250YWN0LS1waG9uZSxcbiAgI3BhZ2UubGFuZGluZy1wYWdlIGZvb3RlciAuY29udGFjdC0tYWRkcmVzcyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICB9XG4gICNwYWdlLmxhbmRpbmctcGFnZSBmb290ZXIgLmNvbnRhY3QtLXBob25lOmJlZm9yZSxcbiAgI3BhZ2UubGFuZGluZy1wYWdlIGZvb3RlciAuY29udGFjdC0tYWRkcmVzczpiZWZvcmUge1xuICAgIHdpZHRoOiAxM3B4O1xuICAgIGhlaWdodDogMThweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICNwYWdlLmxhbmRpbmctcGFnZSBmb290ZXIgLmxhbmRpbmdfX2NvbnRhY3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gICNwYWdlLmxhbmRpbmctcGFnZSBmb290ZXIgLmxhbmRpbmdfX2NvbnRhY3QgKyAubGFuZGluZ19fY29udGFjdCB7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbn1cblxuLyogQHBhcnRpYWwgX3ByaW50LnNjc3MgKi9cbkBtZWRpYSBwcmludCB7XG4gIGE6bGluayxcbiAgYTp2aXNpdGVkIHtcbiAgICAvKiB1bmRlcmxpbmUgYWxsIGxpbmtzICovXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDtcbiAgfVxuICAjc2l0ZS1uYW1lIGE6bGluaywgI3NpdGUtbmFtZVxuICBhOnZpc2l0ZWQge1xuICAgIC8qIERvbid0IHVuZGVybGluZSBoZWFkZXIgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAjY29udGVudCBhW2hyZWZdOmFmdGVyIHtcbiAgICAvKiBBZGQgdmlzaWJsZSBVUkwgYWZ0ZXIgbGlua3MuICovXG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbiAgI2NvbnRlbnQgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICAjY29udGVudCBhW2hyZWZePVwiI1wiXTphZnRlciB7XG4gICAgLyogT25seSBkaXNwbGF5IHVzZWZ1bCBsaW5rcy4gKi9cbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gICNjb250ZW50IGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICAvKiBBZGQgdmlzaWJsZSB0aXRsZSBhZnRlciBhYmJyZXZpYXRpb25zLiAqL1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgfVxuICAjY29udGVudCB7XG4gICAgLyogVW4tZmxvYXQgdGhlIGNvbnRlbnQgKi9cbiAgICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG4gIGJvZHksXG4gICNwYWdlLFxuICAjbWFpbixcbiAgI2NvbnRlbnQge1xuICAgIC8qIFR1cm4gb2ZmIGFueSBiYWNrZ3JvdW5kIGNvbG9ycyBvciBpbWFnZXMgKi9cbiAgICBjb2xvcjogIzAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuICAjc2tpcC1saW5rLFxuICAjdG9vbGJhcixcbiAgI25hdmlnYXRpb24sXG4gIC5yZWdpb24tc2lkZWJhci1maXJzdCxcbiAgLnJlZ2lvbi1zaWRlYmFyLXNlY29uZCxcbiAgI2Zvb3RlcixcbiAgLmJyZWFkY3J1bWIsXG4gIC50YWJzLFxuICAuYWN0aW9uLWxpbmtzLFxuICAubGlua3MsXG4gIC5ib29rLW5hdmlnYXRpb24sXG4gIC5mb3J1bS10b3BpYy1uYXZpZ2F0aW9uLFxuICAucGFnZXIsXG4gIC5mZWVkLWljb25zIHtcbiAgICAvKiBIaWRlIHNpZGViYXJzIGFuZCBuYXYgZWxlbWVudHMgKi9cbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKiBFbmQgQG1lZGlhIHByaW50ICovXG4iLCIvKiBAcGFydGlhbCBub3JtYWxpemUgKi9cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gTk9URTogTm9ybWFsaXplLmNzcyBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIGFzIGFuIGFsdGVybmF0aXZlIHRvIENTUyByZXNldHMuXG4vLyBUaGlzIGlzIGEgY3VzdG9taXplZCBub3JtYWxpemUgZmlsZS4gU29tZSBjc3MgaGFzIG1vdmVkIHRvIGZvcm1zIGFuZCB0eXBvZ3JhcGh5LlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmdyZC1jb2xvcjtcbn1cblxuLyogUmVtb3ZlIHRvdWNoIGRlbGF5IElPUzkuMyssIE9sZGVyIGJyb3dzZXIgd291bGQgbmVlZCBGYXN0Q2xpY2sganMgbGlicmFyeSB0byBkaXNhYmxlIDM1MG1zIGRlbGF5ICovXG4vLyBNYXkgbmVlZCB0byBhZGp1c3Qgc2VsY3RvcnMgaGVyZS4gTmVlZHMgdGVzdGluZy5cbmEsXG5pbnB1dCxcbnRleHRhcmVhLFxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLy8gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuLy8gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuLy8gKiBhbmQgRmlyZWZveC5cbi8vICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbi8vICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8vICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbi8vICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vLyAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbi8vICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vLyAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4vLyAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbi8vICpcbi8vICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuLy8gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbi8vICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vLyAqIDQuIEtlZXAgZm9ybSBlbGVtZW50cyBjb25zdHJhaW5lZCBpbiB0aGVpciBjb250YWluZXJzLlxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIG1hcmdpbjogMDsgLyogMyAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDQgKi9cblxufVxuXG4vLyAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbi8vICogdGhlIFVBIHN0eWxlc2hlZXQuXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLy8gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4vLyAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4vLyAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gQ2hyb21lLCBTYWZhcmkgNSssIGFuZCBJRSA4Ky5cbi8vICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94IDQrIGFuZCBPcGVyYS5cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTFcblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2Bcbi8vICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4vLyAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbi8vICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbi8vICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuXG4vLyAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbi8vICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cblxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbn1cblxuLy8gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbi8vICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuLy8gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vLyAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbi8vICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbi8vICpcbi8vICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbi8vICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgbWFyZ2luLXJpZ2h0OiAkaG9yaXotZ3V0dGVyLzU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vLyAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4vLyAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4vLyAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8vICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuLy8gKiB0aGUgVUEgc3R5bGVzaGVldC5cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vLyAqIDEuIEltcHJvdmVzIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZSAnaW5wdXQnIGFuZCBvdGhlcnNcbi8vICogMi4gQ29ycmVjdHMgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSAnaW5wdXQnIHR5cGVzIGluIGlPU1xuXG5idXR0b24sXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMSAqL1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vLyAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG5cbi8vICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG5cbi8qIFRleHQgaGlnaGxpZ2h0IGNvbG9yXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjsgLyogU2FmYXJpICovXG4gIGNvbG9yOiAjZmZmO1xufVxuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7IC8qIEZpcmVmb3ggKi9cbiAgY29sb3I6ICNmZmY7XG59XG5cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuaW1nIHtcbiAgLyogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkuICovXG4gIGJvcmRlcjogMDtcblxuICAvKiBTdXBwcmVzcyB0aGUgc3BhY2UgYmVuZWF0aCB0aGUgYmFzZWxpbmUgKi9cbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcblxuICAvKiBSZXNwb25zaXZlIGltYWdlcyAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmllOCBpbWcge1xuICBtYXgtd2lkdGg6IG5vbmU7ICAvKiBpZTggbmVlZHMgXCJ3aWR0aDogYXV0bztcIiBhbmQgXCJtYXgtd2lkdGg6IG5vbmU7XCIgZm9yIGllOCBvbmx5ICovXG4gIHdpZHRoOiBhdXRvO1xufVxuXG4vLyAqIENvcnJlY3RzIG92ZXJmbG93IGRpc3BsYXllZCBvZGRseSBpbiBJRTlcblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qIEZpZ3VyZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLy8gKiBBZGRyZXNzZXMgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFNi83LzgvOSwgUzUsIE8xMVxuXG5maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG4iLCJcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVFlQT0dSQVBIWVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEFkanVzdCB3aXRoIGNvcHkgcGFzdGUgb2YgcGl4ZWwgY3NzIGNvZGUgZnJvbSBodHRwOi8vd3d3LmdyaWRsb3Zlci5uZXQvYXBwL1xuJGJhc2UtZm9udC1zaXplOiAxNnB4OyAvLyBUaGUgZm9udCBzaXplIHNldCBvbiB0aGUgcm9vdCBodG1sIGVsZW1lbnQgJiB1c2VkIGluIHJlbSgpIG1peGluIGNhbGN1bGF0aW9uc1xuJG1lYXN1cmU6IDc2MHB4O1xuXG4kYm9keS1mb250LXNpemU6IDE2cHg7IC8vMTZweFxuJGJvZHktbGFyZ2UtZm9udC1zaXplOiAyMnB4OyAvLzIycHhcbiRib2R5LXNtYWxsLWZvbnQtc2l6ZTogMTRweDsgLy8xNHB4XG5cbiRoMS1mb250LXNpemU6IDY1cHg7IC8vNjVweFxuLy8gJGgxLWxpbmU6IDI0cHg7XG4vLyAkaDEtbGluZXM6IDIuMjU7XG4kaDEtbGluZS1oZWlnaHQ6IDEuMjtcbiRoMS1tYXJnaW4tdG9wOiAwO1xuJGgxLW1hcmdpbi1ib3R0b206IDA7XG5cbiRoMi1mb250LXNpemU6IDM2cHg7IC8vMzZweFxuLy8gJGgyLWxpbmU6IDI0cHg7XG4vLyAkaDItbGluZXM6IDI7XG4kaDItbGluZS1oZWlnaHQ6IDEuMztcbiRoMi1tYXJnaW4tdG9wOiAxICogJGgyLWZvbnQtc2l6ZTtcbiRoMi1tYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4kaDMtZm9udC1zaXplOiAyMnB4OyAvLzIycHhcbi8vICRoMy1saW5lOiAyNHB4O1xuLy8gJGgzLWxpbmVzOiAyO1xuJGgzLWxpbmUtaGVpZ2h0OiAxLjQ7XG4kaDMtbWFyZ2luLXRvcDogMiAqICRoMy1mb250LXNpemU7XG4kaDMtbWFyZ2luLWJvdHRvbTogMTVweDtcblxuJGg0LWZvbnQtc2l6ZTogMThweDsgLy8xOHB4XG4vLyAkaDQtbGluZTogMjRweDtcbi8vICRoNC1saW5lczogMTtcbiRoNC1saW5lLWhlaWdodDogMS40O1xuJGg0LW1hcmdpbi10b3A6IDIgKiAkaDQtZm9udC1zaXplO1xuJGg0LW1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiRoNS1mb250LXNpemU6IDE2cHg7IC8vMTZweFxuLy8gJGg0LWxpbmU6IDI0cHg7XG4vLyAkaDQtbGluZXM6IDE7XG4kaDUtbGluZS1oZWlnaHQ6IDEuNDtcbiRoNS1tYXJnaW4tdG9wOiAkaDUtZm9udC1zaXplO1xuJGg1LW1hcmdpbi1ib3R0b206ICRoNS1mb250LXNpemUgLyAyO1xuXG4vLyBWYXJpYWJsZXMgYXJlIHJvdW5kZWQgdG8gcGl4ZWxzXG4vLyBJdCdzIHNhZmUgdG8gbXVsdGlwbHkgd2l0aCBpbnRlZ2Vyc1xuLy8gZWcuIGgxIHttYXJnaW46IDIqJGgxLWxpbmUgMDt9XG4vLyBUaGUgZ3JpZCB3aWxsIHN0YXkgYWxpZ25lZFxuXG4vLyAqKioqIEVORCBHUklEIExPVkVSIFZBUklBQkxFUyAqKioqKipcblxuXG4vLyBSZWNhbGN1bGF0aW5nIGxpbmUtaGVpZ2h0cyB0byByZW1vdmUgdW5pdHNcbi8vICRoMS1saW5lLWhlaWdodDogKCRoMS1saW5lICogJGgxLWxpbmVzKSAvICRoMS1mb250LXNpemU7XG4vLyAkaDItbGluZS1oZWlnaHQ6ICgkaDItbGluZSAqICRoMi1saW5lcykgLyAkaDItZm9udC1zaXplO1xuLy8gJGgzLWxpbmUtaGVpZ2h0OiAxLjQ7IC8vIE1hZ2ljIG51bWJlcnNcbi8vICRoNC1saW5lLWhlaWdodDogMS41OyAvLyBNYWdpYyBudW1iZXJzXG5cblxuLy8gTk9URTogJGJhc2UtZm9udC1zaXplICYgJGJhc2UtbGluZS1oZWlnaHQgYXJlIGFsc28gQ29tcGFzcyB2YXJpYWJsZXMgdGhhdCBoYXZlIGRlZmF1bHQgdmFsdWVzLlxuLy8gaHR0cDovL2NvbXBhc3Mtc3R5bGUub3JnL3JlZmVyZW5jZS9jb21wYXNzL3R5cG9ncmFwaHkvdmVydGljYWxfcmh5dGhtL1xuJGJhc2UtbGluZS1oZWlnaHQ6ICRiYXNlLWZvbnQtc2l6ZSAqIDEuNjc1OyAvLyBUeXBpY2FsbHkgMS4yLTEuNSBkZXBlbmRhbnQgdXBvbiBzaXplIG9mIGZvbnQgY2hhcmFjdGVycy5cbiRib2R5LWxpbmUtaGVpZ2h0OiAxLjY7XG5cblxuLy8gQ29tbW9uIGZvbnQgc3RhY2tzXG4kc2VyaWY6ICAgICAgICAgICBUaW1lcywgXCJUaW1lcyBOZXcgUm9tYW5cIiwgR2VvcmdpYSwgXCJEZWphVnUgU2VyaWZcIiwgc2VyaWY7XG4kc2Fucy1zZXJpZjogICAgIFwiY29yZXNhbnNcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGNvdXJpZXI6ICAgICAgICAgbW9ub3NwYWNlLCBcIkNvdXJpZXIgTmV3XCIsIFwiRGVqYVZ1IFNhbnMgTW9ub1wiLCBzYW5zLXNlcmlmO1xuJHdlYmZvbnQtbm9ybWFsOiAgJ0ZPTlRGQUNFTkFNRUhFUkUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuJHdlYmZvbnQtYm9sZDogICAgJ0ZPTlRGQUNFTkFNRUhFUkUnLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuJGljb24tZm9udDogICAgICAgJ2ljb21vb24nO1xuXG4kbGV0dGVyLXNwYWNpbmc6IDJweDtcblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBDT0xPUiBQQUxMRVRFXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbiRyZWQ6ICNlMTJmMjI7XG4kcmVkLWRhcms6ICNiZjI4MWQ7XG4kYmx1ZTogIzIyMzk4MztcbiRibHVlLWxpZ2h0OiAjNGI2OWNiO1xuJGdyZWVuOiAjMDAzYjI2O1xuJHB1cnBsZTogIzk2NTA5ZTtcbiR5ZWxsb3c6ICNmMzllMWE7XG4kZ3JheS1saWdodGVyOiAjZWJlY2VkO1xuJGdyYXktbGlnaHQ6ICNkM2QzZDM7XG4kZ3JheS1tZWRpdW06ICNhN2E3YTc7XG4kZ3JheS1kYXJrOiAjNzE3Mzc1O1xuJGdyYXktZGFya2VyOiAjNTI1MjUyO1xuJGdyYXktZGFya2VzdDogIzQwNDA0MDtcbiRibGFjazogIzIyMjIyMjtcblxuLy9UcmFuc3BhcmVuY2llc1xuJHJlZC10cmFuc3BhcmVudDogcmdiYSgyMjUsIDQ3LCAzNCwgMC45NSk7XG4keWVsbG93LXRyYW5zcGFyZW50OiByZ2JhKDI0NCwgMTYzLCAyNSwgMC45NSk7XG4kYmx1ZS10cmFuc3BhcmVudDogcmdiYSgzNCwgNTcsIDEzMSwgMC45NSk7XG4kZ3JlZW4tdHJhbnNwYXJlbnQ6IHJnYmEoMCwgNTksIDM4LCAwLjk1KTtcbiRwdXJwbGUtdHJhbnNwYXJlbnQ6IHJnYmEoMTUwLCA4MCwgMTU4LCAwLjk1KTtcblxuJHByaW1hcnktY29sb3I6ICRyZWQ7XG4kc2Vjb25kYXJ5LWNvbG9yOiAkYmxhY2s7XG4kZXJyb3ItY29sb3I6ICRyZWQ7XG4kd2FybmluZy1jb2xvcjogJHllbGxvdztcbiRzdWNjZXNzLWNvbG9yOiAkZ3JlZW47XG5cblxuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEdMT0JBTCBWQVJJQUJMRVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBTSEFSRUQgRk9STSBWQVJJQUJMRVNcbiR1aS1ib3JkZXItY29sb3I6ICRncmF5LWxpZ2h0O1xuJHVpLWJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4kdWktcGFkZGluZzogKCR2ZXJ0LWd1dHRlci8yKSAoJGhvcml6LWd1dHRlci8yKTtcbiR1aS1ib3JkZXItcmFkaXVzOiAwcHg7XG5cbi8vIFNIQVJFRCBTVEFURVNcbiRkZWxldGUtY29sb3I6ICRyZWQ7IC8vIGRlbGV0ZSAmIHJlbW92ZSBidXR0b25zIC8gaW5wdXRzXG4kZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHRlcjtcbiRkaXNhYmxlZC1mb250LWNvbG9yOiAkZ3JheS1saWdodDtcblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBBVE9NIChlbGVtZW50KSBWQVJJQUJMRVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIFRFWFRcbiRoZWFkZXItZm9udDogJHNhbnMtc2VyaWY7XG4kcGFnZS10aXRsZS1jb2xvcjogJGdyYXktZGFyaztcbiRibG9jay10aXRsZS1jb2xvcjogJHBhZ2UtdGl0bGUtY29sb3I7XG4kYm9keS1mb250OiAkc2Fucy1zZXJpZjtcbiRmb250LW1vbm9zcGFjZTogJGNvdXJpZXI7IC8vIDxwcmU+LCA8Y29kZT4gdGFnc1xuXG5cbi8vIEJPRFlcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWJncmQtY29sb3I6ICNmZmZmZmY7XG5cblxuLy8gTElOS1NcbiRsaW5rLWNvbG9yOiAkcmVkO1xuJGxpbmstY29sb3ItdmlzaXRlZDogJHJlZC1kYXJrO1xuJGxpbmstY29sb3ItaG92ZXI6ICRibGFjaztcbiRsaW5rLWNvbG9yLWZvY3VzOiAkYmxhY2s7XG4kbGluay1jb2xvci1hY3RpdmU6ICRibGFjaztcbiRsaW5rLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG5cbi8vIEZPUk0gSU5QVVRTLCBCVVRUT05TICYgU1VCTUlUU1xuJGlucHV0LXBhZGRpbmc6IDEycHggMTVweDtcbiRpbnB1dC1wYWRkaW5nLXRyaW1tZWQ6IDhweCAwO1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kaW5wdXQtZm9udC1zaXplOiAxNXB4O1xuXG4kaW5wdXQtYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiRpbnB1dC1iYWNrZ3JvdWQtY29sb3ItZm9jdXM6ICNmZmY7XG5cbiRpbnB1dC1ib3JkZXItY29sb3I6ICR1aS1ib3JkZXItY29sb3I7XG4kaW5wdXQtYm9yZGVyLWNvbG9yLWZvY3VzOiAkbGluay1jb2xvcjtcbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAkdWktYm9yZGVyLXJhZGl1cztcblxuJGlucHV0LWJveC1zaGFkb3c6IG5vbmU7XG4vLyAkaW5wdXQtYm94LXNoYWRvdy1mb2N1czogMCAxcHggNHB4IHJnYmEoMCwwLDAsMC4zNSk7XG4kaW5wdXQtYm94LXNoYWRvdy1mb2N1czogMCA1cHggMTBweCByZ2JhKDAsMCwwLDAuMik7XG4kaW5wdXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogLjFzO1xuXG4kaW5wdXQtZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcjogJGRpc2FibGVkLWJhY2tncm91bmQtY29sb3I7XG4kaW5wdXQtZGlzYWJsZWQtZm9udC1jb2xvcjogJGRpc2FibGVkLWZvbnQtY29sb3I7XG5cbiR3aWR0aC14c21hbGw6IDYwcHg7XG4kd2lkdGgtc21hbGw6IDEyMHB4O1xuJHdpZHRoLW1lZGl1bTogMTgwcHg7XG4kd2lkdGgtbGFyZ2U6IDI0MHB4O1xuJHdpZHRoLXhsYXJnZTogMzAwcHg7XG4kd2lkdGgteHhsYXJnZTogMTAwJTtcbiRpbmxpbmUtZmllbGQtZ3V0dGVyOiAuNXJlbTtcbiRpbmxpbmUtZmllbGQtZ3V0dGVyOiAuNXJlbTtcblxuJHBsYWNlaG9sZGVyLWNvbG9yOiAkYmxhY2s7XG4kcGxhY2Vob2xkZXItZm9jdXMtY29sb3I6ICRibGFjaztcblxuXG4vLyBCVVRUT05TXG4kYnV0dG9uLWNvbG9yOiAkbGluay1jb2xvcjtcbiRidXR0b24tYm9yZGVyLXJhZGl1czogJHVpLWJvcmRlci1yYWRpdXM7XG5cblxuLy8gQkxPQ0tRVU9URVNcbiRibG9ja3F1b3RlLWJvcmRlci1jb2xvcjogJHVpLWJvcmRlci1jb2xvcjtcblxuLy8gSE9SSVpPTlRBTCBSVUxFXG4kaG9yaXpvbnRhbC1ydWxlLWJvcmRlcjogJHVpLWJvcmRlci1jb2xvcjtcblxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBNT0xFQ1VMRSAvIE9SR0FOSVNNIChtb2R1bGUgLyBjb21wb25lbnRzKSBWQVJJQUJMRVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBNRVNTQUdFU1xuJHN1Y2Nlc3MtYmFja2dyb3VuZDogJGdyZWVuO1xuJHN1Y2Nlc3MtYm9yZGVyOiBkYXJrZW4oJHN1Y2Nlc3MtYmFja2dyb3VuZCwgMjUlKTtcbiRzdWNjZXNzLXRleHQ6ICRzdWNjZXNzLWJvcmRlcjtcbiR3YXJuaW5nLWJhY2tncm91bmQ6ICR5ZWxsb3c7XG4kd2FybmluZy1ib3JkZXI6IGRhcmtlbigkd2FybmluZy1iYWNrZ3JvdW5kLCAyNSUpO1xuJHdhcm5pbmctdGV4dDogJHdhcm5pbmctYm9yZGVyO1xuJGVycm9yLWJhY2tncm91bmQ6ICRyZWQ7XG4kZXJyb3ItYm9yZGVyOiBkYXJrZW4oJGVycm9yLWJhY2tncm91bmQsIDI1JSk7XG4kZXJyb3ItdGV4dDogJGVycm9yLWJvcmRlcjtcblxuXG4vLyBGSUVMRFNFVFxuJGxlZ2VuZC1mb250LXdlaWdodDogYm9sZDtcblxuXG4vLyBGT1JNIElURU1TXG4kZm9ybS1pdGVtLW1hcmdpbjogMCAwICRob3Jpei1ndXR0ZXIgMDtcbiRmb3JtLWl0ZW0tbGFiZWwtZm9udC13ZWlnaHQ6IDUwMDtcbiRmb3JtLWl0ZW0tbGFiZWwtZm9udC1zaXplOiAxNHB4O1xuJGZvcm0taXRlbS1sYWJlbC1tYXJnaW46IDAgMCAwIDA7XG4kZm9ybS1pdGVtLWRlc2NyaXB0aW9uLWZvbnQtc2l6ZTogMTJweDtcblxuXG4vLyBUQUJMRVNcbiR0YWJsZS10Ym9keS1ib3JkZXItc3R5bGU6IHNvbGlkO1xuJHRhYmxlLXRib2R5LWJvcmRlci13aWR0aDogMHB4O1xuJHRhYmxlLXRib2R5LWJvcmRlci1jb2xvcjogJHVpLWJvcmRlci1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcblxuJHRhYmxlLXRoLWJvcmRlci1zdHlsZTogc29saWQ7XG4kdGFibGUtdGgtYm9yZGVyLXdpZHRoOiAwcHggMHB4IDFweDtcbiR0YWJsZS10aC1ib3JkZXItY29sb3I6ICR1aS1ib3JkZXItY29sb3I7XG5cbiR0YWJsZS10ci1ldmVuLWJhY2tncm91bmQ6ICNmZmY7XG4kdGFibGUtdHItZXZlbi1ib3JkZXItc3R5bGU6IHNvbGlkO1xuJHRhYmxlLXRyLWV2ZW4tYm9yZGVyLXdpZHRoOiAxcHggMXB4IDFweCAxcHg7XG4kdGFibGUtdHItZXZlbi1ib3JkZXItY29sb3I6ICR1aS1ib3JkZXItY29sb3IgdHJhbnNwYXJlbnQgJHVpLWJvcmRlci1jb2xvciB0cmFuc3BhcmVudDtcblxuJHRhYmxlLXRyLW9kZC1iYWNrZ3JvdW5kOiAjZmZmO1xuJHRhYmxlLXRyLW9kZC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuJHRhYmxlLXRyLW9kZC1ib3JkZXItd2lkdGg6IDFweCAxcHggMXB4IDFweDtcbiR0YWJsZS10ci1vZGQtYm9yZGVyLWNvbG9yOiAkdWktYm9yZGVyLWNvbG9yIHRyYW5zcGFyZW50ICR1aS1ib3JkZXItY29sb3IgdHJhbnNwYXJlbnQ7XG5cbiR0YWJsZS10ci1kcmFnLWJhY2tncm91bmQ6ICR0YWJsZS10ci1vZGQtYm9yZGVyLWNvbG9yO1xuJHRhYmxlLXRkLXBhZGRpbmc6IDE1cHggMjVweDtcbiR0YWJsZS10ZC1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAjY2NjO1xuXG5cbi8vIERSVVBBTCBFRElULCBWRVJUSUNBTCAmIEhPUklaT05UQUwgVEFCU1xuJHRhYnMtYmFja2dyb3VuZC1jb2xvcjogJHVpLWJhY2tncm91bmQtY29sb3I7XG4kdGFicy1iYWNrZ3JvdW5kLWNvbG9yLS1hY3RpdmU6ICRsaW5rLWNvbG9yO1xuJHRhYnMtYm9yZGVyLWNvbG9yOiAkdWktYm9yZGVyLWNvbG9yO1xuJHRhYnMtYm9yZGVyLWNvbG9yLS1hY3RpdmU6ICRsaW5rLWNvbG9yO1xuJHRhYnMtY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiR0YWJzLWNvbnRlbnQtY29sb3ItLWFjdGl2ZTogI2ZmZmZmZjtcbiR0YWJzLWJvcmRlci1yYWRpdXM6ICR1aS1ib3JkZXItcmFkaXVzO1xuJHRhYnMtZm9udC1zaXplOiAxMnB4O1xuXG4iLCIvKiBAcGFydGlhbCBfbGlua3Muc2NzcyAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246ICRsaW5rLXRleHQtZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLy8gb3V0bGluZTogbm9uZTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpbmstY29sb3ItaG92ZXI7XG4gIH1cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCAkcHJpbWFyeS1jb2xvcjtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICB9XG59XG5cbi8vc2tpcCB0byBtYWluIGxpbmtcbiNza2lwLXRvLW1haW4ge1xuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLy8gTGl2ZSBjaGF0IGxpbmtcbmEuY2hhdF9fbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uY2hhdCB7XG5cbiAgLmNoYXRfX3N0YXR1cyB7XG4gICAgY29sb3I6ICRncmF5LWRhcmtlcjtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiA2cHg7XG4gICAgICBoZWlnaHQ6IDZweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAtMnB4O1xuICAgIH1cbiAgfVxuXG4gICYuY2hhdC0tb25saW5lIC5jaGF0X19zdGF0dXMge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHN1Y2Nlc3MtY29sb3IsIDIwJSk7XG4gICAgICAtd2Via2l0LWFuaW1hdGlvbjogcHVsc2UgM3MgaW5maW5pdGU7IC8qIFNhZmFyaSA0KyAqL1xuICAgICAgLW1vei1hbmltYXRpb246ICAgIHB1bHNlIDNzIGluZmluaXRlOyAvKiBGeCA1KyAqL1xuICAgICAgLW8tYW5pbWF0aW9uOiAgICAgIHB1bHNlIDNzIGluZmluaXRlOyAvKiBPcGVyYSAxMisgKi9cbiAgICAgIGFuaW1hdGlvbjogICAgICAgICBwdWxzZSAzcyBpbmZpbml0ZTsgLyogSUUgMTArLCBGeCAyOSsgKi9cbiAgICB9XG4gIH1cblxuICAmLmNoYXQtLW9mZmxpbmUgLmNoYXRfX3N0YXR1cyB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJGdyYXktbWVkaXVtO1xuICAgIH1cbiAgfVxufVxuXG5cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIDAlICAgeyBiYWNrZ3JvdW5kOiBsaWdodGVuKCRzdWNjZXNzLWNvbG9yLCAzMCUpOyB9XG4gIDUwJSB7IGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHN1Y2Nlc3MtY29sb3IsIDIwJSk7IH1cbiAgMTAwJSAgIHsgYmFja2dyb3VuZDogbGlnaHRlbigkc3VjY2Vzcy1jb2xvciwgMzAlKTsgfVxufVxuQC1tb3ota2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUgICB7IGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHN1Y2Nlc3MtY29sb3IsIDMwJSk7IH1cbiAgNTAlIHsgYmFja2dyb3VuZDogbGlnaHRlbigkc3VjY2Vzcy1jb2xvciwgMjAlKTsgfVxuICAxMDAlICAgeyBiYWNrZ3JvdW5kOiBsaWdodGVuKCRzdWNjZXNzLWNvbG9yLCAzMCUpOyB9XG59XG5ALW8ta2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUgICB7IGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHN1Y2Nlc3MtY29sb3IsIDMwJSk7IH1cbiAgNTAlIHsgYmFja2dyb3VuZDogbGlnaHRlbigkc3VjY2Vzcy1jb2xvciwgMjAlKTsgfVxuICAxMDAlICAgeyBiYWNrZ3JvdW5kOiBsaWdodGVuKCRzdWNjZXNzLWNvbG9yLCAzMCUpOyB9XG59XG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUgICB7IGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHN1Y2Nlc3MtY29sb3IsIDMwJSk7IH1cbiAgNTAlIHsgYmFja2dyb3VuZDogbGlnaHRlbigkc3VjY2Vzcy1jb2xvciwgMjAlKTsgfVxuICAxMDAlICAgeyBiYWNrZ3JvdW5kOiBsaWdodGVuKCRzdWNjZXNzLWNvbG9yLCAzMCUpOyB9XG59XG4iLCIvLyBDdXN0b20gc2FzcyBtaXhpbnNcbi8vIERlZmluZSB0aGUgY3VzdG9tIG1peGlucyBmb3IgeW91ciBwcm9qZWN0IGhlcmUuXG4vLyBodHRwOi8vc2Fzcy1sYW5nLmNvbS9kb2NzL3lhcmRvYy9maWxlLlNBU1NfUkVGRVJFTkNFLmh0bWwjZGVmaW5pbmdfYV9taXhpblxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gTElOSyBTVFlMRVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblxuQG1peGluIHRoZW1lLWxpbmsgKCRpbmFjdGl2ZS1jb2xvcjogJGJvZHktZm9udC1jb2xvciwgJGFjdGl2ZS1jb2xvcjogJGxpbmstY29sb3IsICRob3Zlci1kZWNvcmF0aW9uOiBub25lKSB7XG4gIGNvbG9yOiAkaW5hY3RpdmUtY29sb3I7XG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRpbmFjdGl2ZS1jb2xvcjtcbiAgfVxuICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRhY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVFJBTlNJVElPTlNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5AbWl4aW4gdHJhbnNpdGlvbigkcHJvcGVydHk6IGFsbCwgJGR1cmF0aW9uOiAwLjI1cywgJHR5cGU6IGVhc2UpIHtcbiAgdHJhbnNpdGlvbjogJHByb3BlcnR5ICRkdXJhdGlvbiAkdHlwZTtcbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRSQU5TSVRJT05TXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuQG1peGluIHJvdGF0ZSgkZGVnKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgkZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTpyb3RhdGUoJGRlZyk7XG4gIHRyYW5zZm9ybTpyb3RhdGUoJGRlZyk7XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBCVVRUT05TXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuQG1peGluIGJ1dHRvbigkdHlwZTogcHJpbWFyeSwgJGNvbG9yOiBkZWZhdWx0KSB7XG4gIGJvcmRlcjogbm9uZTtcblxuICBAaWYgKCR0eXBlID09IHByaW1hcnkpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHBhZGRpbmc6IDE1cHggJGhvcml6LWd1dHRlcioyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICRyZWQtZGFyaztcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRwaG9uZS1tYXgpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkdHlwZSA9PSBzZWNvbmRhcnkpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcGFkZGluZzogMTVweCAkaG9yaXotZ3V0dGVyKjI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRwaG9uZS1tYXgpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgQGlmICgkdHlwZSA9PSB0ZXJ0aWFyeSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1hcmdpbi1sZWZ0KTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKCRjb2xvciA9PSBkZWZhdWx0KSB7XG4gICAgICBjb2xvcjogJGxpbmstY29sb3I7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYXJyb3ctLXJlZC5wbmcnKTtcbiAgICAgIH1cblxuICAgICAgLnN2ZyAmIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYXJyb3ctLXJlZC5zdmcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAoJGNvbG9yID09IHdoaXRlKSB7XG4gICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2Fycm93LS13aGl0ZS5wbmcnKTtcbiAgICAgIH1cblxuICAgICAgLnN2ZyAmIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYXJyb3ctLXdoaXRlLnN2ZycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy94LS13aGl0ZS5wbmcnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxOHB4IGF1dG87XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG5cbiAgLnN2ZyAmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy94LS13aGl0ZS5zdmcnKTtcbiAgfVxufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIE1JU0MgTUlYSU5TXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblxuLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4sIGJ1dCBhY2Nlc3NpYmxlLlxuLy8gQHNlZSBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbn1cblxuLy8gVHVybnMgb2ZmIHRoZSBlbGVtZW50LWludmlzaWJsZSBlZmZlY3QuXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBjbGlwOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy8gTWFrZXMgYW4gZWxlbWVudCB2aXN1YWxseSBoaWRkZW4gYnkgZGVmYXVsdCwgYnV0IHZpc2libGUgd2hlbiBmb2N1c2VkLlxuQG1peGluIGVsZW1lbnQtZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgfVxufVxuXG4vLyBUaGUgd29yZCBcIlVucHVibGlzaGVkXCIgZGlzcGxheWVkIHVuZGVybmVhdGggdW5wdWJsaXNoZWQgbm9kZXMgYW5kIGNvbW1lbnRzLlxuQG1peGluIHVucHVibGlzaGVkLWRpdiB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNvbG9yOiAjZDhkOGQ4O1xuICBmb250LXNpemU6IDc1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LWZhbWlseTogSW1wYWN0LCBcIkFyaWFsIE5hcnJvd1wiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDsgLy8gQSB2ZXJ5IG5pY2UgQ1NTMyBwcm9wZXJ0eVxuXG4gIEBpZiAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNiBvciAkbGVnYWN5LXN1cHBvcnQtZm9yLWllNyB7XG4gICAgLmx0LWllOCAmPioge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyAvLyBPdGhlcndpc2UgdGhlc2UgZWxlbWVudHMgd2lsbCBhcHBlYXIgYmVsb3cgdGhlIFwiVW5wdWJsaXNoZWRcIiB0ZXh0LlxuICAgIH1cbiAgfVxufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gREVCVUcgTEFZT1VUXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuXG4vLyBBZGRzIG91dGxpbmVzIGFyb3VuZCBlbGVtZW50cyB0byBmaXggc2hvdHR5IGxheW91dC5cbkBtaXhpbiBkZWJ1Zy1sYXlvdXQge1xuICAqIHsgb3V0bGluZTogMnB4IGRvdHRlZCByZWQgfVxuICAqICogeyBvdXRsaW5lOiAycHggZG90dGVkIGdyZWVuIH1cbiAgKiAqICogeyBvdXRsaW5lOiAycHggZG90dGVkIG9yYW5nZSB9XG4gICogKiAqICogeyBvdXRsaW5lOiAycHggZG90dGVkIGJsdWUgfVxuICAqICogKiAqICogeyBvdXRsaW5lOiAxcHggc29saWQgcmVkIH1cbiAgKiAqICogKiAqICogeyBvdXRsaW5lOiAxcHggc29saWQgZ3JlZW4gfVxuICAqICogKiAqICogKiAqIHsgb3V0bGluZTogMXB4IHNvbGlkIG9yYW5nZSB9XG4gICogKiAqICogKiAqICogKiB7IG91dGxpbmU6IDFweCBzb2xpZCBibHVlIH1cbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRFWFQgT1ZFUkZMT1dcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5cbkBtaXhpbiB0ZXh0LW92ZXJmbG93KCRtZXRob2Q6IGVsbGlwc2lzKSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIC1vLXRleHQtb3ZlcmZsb3c6ICRtZXRob2Q7XG4gIHRleHQtb3ZlcmZsb3c6ICRtZXRob2Q7XG4gIC5pZSAmIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVU5PUkRFUkVEIExJU1RTXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuXG5AbWl4aW4gbm8tYnVsbGV0cyB7XG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gY2xlYW4tbGlzdCB7XG4gIEBpbmNsdWRlIG5vLWJ1bGxldHM7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbkBtaXhpbiBob3Jpem9udGFsLWxpc3QoJGxpc3QtbWFyZ2luOiAxZW0sICRsaXN0LWl0ZW0tbWFyZ2luOiAuMjVlbSkge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTpub25lO1xuICAgIHBhZGRpbmc6MDtcbiAgICBtYXJnaW46ICRsaXN0LW1hcmdpbjtcbiAgICBvdmVyZmxvdzpoaWRkZW47XG4gICAgPiBsaXtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pdGVtLW1hcmdpbjtcbiAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIE1JQ1JPLUNMRUFSRklYXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuXG4vLyBTaW1pbGFyIHRvIENvbXBhc3MgcGllLWNsZWFyZml4XG5AbWl4aW4gbWljcm8tY2xlYXJmaXgge1xuICAmOmJlZm9yZSwgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVEFCU1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblxuLy8gY3JlYXRlIHNpbXBsZSB0YWJzIGZyb20gPGE+IHVuc2lkZSA8dWw+XG4vLyAkZGlyIGlzICdib3R0b20nIGZvciBzdGFuZGFyZCB0YWJzXG4vLyAndG9wJyBmb3IgaGFuZ2luZyB0YWJzXG4vLyBhc3N1bWVzIHBsYWNlbWVudCBvbiBVTFxuXG4vLyBAbWl4aW4gdGFicyhcbi8vICAgJGRpcjogdG9wLFxuLy8gICAkYm9yZGVyLWNvbG9yOiAkbGluay1jb2xvcixcbi8vICAgJGJvcmRlci1jb2xvci1hY3RpdmU6IGRhcmtlbigkbGluay1jb2xvciwgMzAlKSxcbi8vICAgJGJhY2tncm91bmQtY29sb3I6ICRsaW5rLWNvbG9yLFxuLy8gICAkYmFja2dyb3VuZC1jb2xvci1hY3RpdmU6IGRhcmtlbigkbGluay1jb2xvciwgMjAlKSxcbi8vICAgJGxpc3QtbWFyZ2luOiAxZW0sXG4vLyAgICRsaXN0LWl0ZW0tbWFyZ2luOiAuMjVlbSxcbi8vICAgJGxpbmstcGFkZGluZzogMCAxZW0sXG4vLyAgICRyYWRpdXM6IDNweCkge1xuLy8gICAkZnJvbS10aGU6IGJvdHRvbTtcbi8vICAgQGlmICRkaXIgPT0gYm90dG9tIHtcbi8vICAgICAkZnJvbS10aGU6IHRvcDtcbi8vICAgfVxuLy8gICBAaW5jbHVkZSBob3Jpem9udGFsLWxpc3QoJGxpc3QtbWFyZ2luLCAkbGlzdC1pdGVtLW1hcmdpbik7XG4vLyAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICAgbGkge1xuLy8gICAgIGJvcmRlci0jeyRmcm9tLXRoZX06IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuLy8gICAgIG1hcmdpbi10b3A6IDFweDtcbi8vICAgICAmLmFjdGl2ZSB7XG4vLyAgICAgICBhIHtcbi8vICAgICAgICAgYm9yZGVyLSN7JGZyb20tdGhlfTogMXB4IHNvbGlkICRib3JkZXItY29sb3ItYWN0aXZlO1xuLy8gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1jb2xvci1hY3RpdmU7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuLy8gICAgIGEge1xuLy8gICAgICAgcGFkZGluZzogJGxpbmstcGFkZGluZztcbi8vICAgICAgIGJvcmRlcjoge1xuLy8gICAgICAgICB3aWR0aDogMXB4O1xuLy8gICAgICAgICBzdHlsZTogc29saWQ7XG4vLyAgICAgICAgIGNvbG9yOiAkYm9yZGVyLWNvbG9yO1xuLy8gICAgICAgfTtcbi8vICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yO1xuLy8gICAgICAgYm9yZGVyLSN7JGZyb20tdGhlfS13aWR0aDogMDtcbi8vICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICAgICAgIGJvdHRvbTogLTAuMjVlbTtcbi8vICAgICAgIEBpZiAkZnJvbS10aGUgPT0gYm90dG9tIHtcbi8vICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cyk7XG4vLyAgICAgICB9XG4vLyAgICAgICBAZWxzZSB7XG4vLyAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpO1xuLy8gICAgICAgfVxuLy8gICAgICAgJjpob3ZlciB7XG4vLyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yLWFjdGl2ZTtcbi8vICAgICAgICAgYm9yZGVyLSN7JGZyb20tdGhlfTogMXB4IHNvbGlkICRib3JkZXItY29sb3ItYWN0aXZlO1xuLy8gICAgICAgfVxuLy8gICAgIH1cbi8vICAgfVxuLy8gfVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gSU1BR0UgUkVQTEFDRU1FTlRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5cbi8vIEhpZGUgdGV4dCBvZiBhbiBlbGVtZW50IHRvIHJlcGxhY2UgYnkgYmFja2dvcnVuZCBpbWFnZVxuLy8gTm90ZTogZmZlY3QgcHNldWRvLWVsZW1lbnRzXG5AbWl4aW4gaGlkZS10ZXh0KCkge1xuICBib3JkZXI6MDtcbiAgZm9udDogMC8wIGE7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVFlQT0dSQVBIWVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbi8vIEV4YW1wbGUgdXNlXG4vLyBVc2UgKEBpbmNsdWRlIGgxOykgdG8gbWF0Y2ggZm9udCBzaXplLCBtYXJnaW4gYW5kIGxpbmUgaGVpZ2h0LlxuQG1peGluIGgxIHtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6ICRoMS1saW5lLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJGgxLW1hcmdpbi1ib3R0b207XG4gIG1hcmdpbi10b3A6ICRoMS1tYXJnaW4tdG9wO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgZm9udC1zaXplOiAkaDEtZm9udC1zaXplO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1tYXgpIHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gIH1cbn1cbkBtaXhpbiBoMigkbWFyZ2luLXRvcDogeWVzKSB7XG4gIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6ICRoMi1saW5lLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJGgyLW1hcmdpbi1ib3R0b207XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1taW4pIHtcbiAgICBmb250LXNpemU6ICRoMi1mb250LXNpemU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1heCkge1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgfVxuXG4gIEBpZiAoJG1hcmdpbi10b3AgPT0geWVzKSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgICAgbWFyZ2luLXRvcDogJGgyLW1hcmdpbi10b3A7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1tYXgpIHtcbiAgICAgIG1hcmdpbi10b3A6ICR2ZXJ0LWd1dHRlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRtYXJnaW4tdG9wID09IG5vbmUpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5AbWl4aW4gaDMge1xuICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgZm9udC1zaXplOiAkaDMtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogJGgzLWxpbmUtaGVpZ2h0O1xuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgbWFyZ2luLXRvcDogJGgzLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJGgzLW1hcmdpbi1ib3R0b207XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1heCkge1xuICAgIG1hcmdpbi10b3A6ICR2ZXJ0LWd1dHRlcioxLjI1O1xuICAgIG1hcmdpbi1ib3R0b206ICR2ZXJ0LWd1dHRlci80O1xuICB9XG59XG5cbkBtaXhpbiBoNCB7XG4gIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICBmb250LXNpemU6ICRoNC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAkaDQtbGluZS1oZWlnaHQ7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1taW4pIHtcbiAgICBtYXJnaW4tdG9wOiAkaDQtbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkaDQtbWFyZ2luLWJvdHRvbTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgbWFyZ2luLXRvcDogJHZlcnQtZ3V0dGVyKjEuMjU7XG4gICAgbWFyZ2luLWJvdHRvbTogJHZlcnQtZ3V0dGVyLzQ7XG4gIH1cbn1cblxuQG1peGluIGg1IHtcbiAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6ICRoNS1saW5lLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogJGg1LW1hcmdpbi10b3A7XG4gIG1hcmdpbi1ib3R0b206ICRoNS1tYXJnaW4tYm90dG9tO1xufVxuXG5AbWl4aW4gbGFyZ2UtdGV4dCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1taW4pIHtcbiAgICBmb250LXNpemU6ICRib2R5LWxhcmdlLWZvbnQtc2l6ZTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5cbkBtaXhpbiBpY29tb29uLXN0eWxpbmcge1xuICBmb250LWZhbWlseTogJGljb24tZm9udDtcbiAgc3BlYWs6IG5vbmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAvLyBsaW5lLWhlaWdodDogMTtcblxuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG59XG5cbkBtaXhpbiBpY29tb29uKCRpY29uLCAkcG9zaXRpb246ICdiZWZvcmUnKSB7XG4gICY6I3skcG9zaXRpb259IHtcbiAgICBAaW5jbHVkZSBpY29tb29uLXN0eWxpbmc7XG4gICAgQGV4dGVuZCAuaWNvbi0jeyRpY29ufTtcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFBJWEVMUyBUTyBSRU0gVU5JVFNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5cbi8vIEJhc2VsaW5lICgkYmFzZWxpbmUtcHgpIG1lYXN1cmVkIGluIHBpeGVscy4gVGhlIHZhbHVlIHNob3VsZFxuLy8gYmUgdGhlIHNhbWUgYXMgdGhlIGZvbnQtc2l6ZSB2YWx1ZSBmb3IgdGhlIGh0bWwgZWxlbWVudC5cbi8vIElmIHRoZSBodG1sIGVsZW1lbnQncyBmb250LXNpemUgaXMgc2V0IHRvIDYyLjUlXG4vLyAob2YgdGhlIGJyb3dzZXIncyBkZWZhdWx0IGZvbnQtc2l6ZSBvZiAxNnB4KSxcbi8vIHRoZW4gdGhlIHZhcmlhYmxlIGJlbG93IHdvdWxkIGJlIDEwcHguXG4vLyBFeGFtcGxlOlxuLy8gLmVsZW1lbnQge1xuLy8gICBAaW5jbHVkZSByZW0oJ3BhZGRpbmcnLDEwcHggMCAycHggNXB4KTtcbi8vIH1cblxuQG1peGluIHJlbSgkcHJvcGVydHksICRweC12YWx1ZXMsICRiYXNlbGluZS1weDogJGJhc2UtZm9udC1zaXplKSB7XG4gIC8vIENvbnZlcnQgdGhlIGJhc2VsaW5lIGludG8gcmVtc1xuICAkYmFzZWxpbmUtcmVtOiAkYmFzZWxpbmUtcHggLyAxcmVtICogMTtcbiAgLy8gUHJpbnQgdGhlIGZpcnN0IGxpbmUgaW4gcGl4ZWwgdmFsdWVzXG4gICN7JHByb3BlcnR5fTogJHB4LXZhbHVlcztcbiAgLy8gSWYgdGhlcmUgaXMgb25seSBvbmUgKG51bWVyaWMpIHZhbHVlLCByZXR1cm4gdGhlIHByb3BlcnR5L3ZhbHVlIGxpbmUgZm9yIGl0LlxuICBAaWYgdHlwZS1vZigkcHgtdmFsdWVzKSA9PSBcIm51bWJlclwiIHtcbiAgICAjeyRwcm9wZXJ0eX06ICRweC12YWx1ZXMgLyAkYmFzZWxpbmUtcmVtOyB9XG4gIEBlbHNlIHtcbiAgICAvLyBDcmVhdGUgYW4gZW1wdHkgbGlzdCB0aGF0IHdlIGNhbiBkdW1wIHZhbHVlcyBpbnRvXG4gICAgJHJlbS12YWx1ZXM6ICgpO1xuICAgIEBlYWNoICR2YWx1ZSBpbiAkcHgtdmFsdWVzIHtcbiAgICAgIC8vIElmIHRoZSB2YWx1ZSBpcyB6ZXJvIG9yIG5vdCBhIG51bWJlciwgcmV0dXJuIGl0XG4gICAgICBAaWYgJHZhbHVlID09IDAgb3IgdHlwZS1vZiggJHZhbHVlICkgIT0gXCJudW1iZXJcIiB7XG4gICAgICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsICR2YWx1ZSk7IH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgJHZhbHVlIC8gJGJhc2VsaW5lLXJlbSk7IH0gfVxuICAgIC8vIFJldHVybiB0aGUgcHJvcGVydHkgYW5kIGl0cyBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXNcbiAgICAjeyRwcm9wZXJ0eX06ICRyZW0tdmFsdWVzOyB9IH1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRSSUFOR0xFU1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblxuLy8gVXNlZCB0byBjcmVhdGUgZXF1aWxhdGVyYWwgdHJpYW5nbGVzXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKCR0cmlhbmdsZS1zaXplLCAkdHJpYW5nbGUtY29sb3IsICR0cmlhbmdsZS1kaXJlY3Rpb24pIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB0b3ApIHtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gYm90dG9tKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGxlZnQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuXG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIElOUFVUIFBMQUNFSE9MREVSXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cblxuQG1peGluIHRoZW1lLXBsYWNlaG9sZGVyKCRjb2xvcjogIzAwMDAwMCwgJGNvbG9yLWZvY3VzOiAjZmZmZmZmKSB7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYWxsO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgJjpmb2N1cyB7XG4gICAgIGNvbG9yOiAkY29sb3ItZm9jdXM7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBkaXNhcHBlYXIgb24gZm9jdXMgaW4gaU9TLi4uIFRoaXMgd29ya3MgaW4gQ2hyb21lIGFzIG9wcG9zZWQgdG8gdGhlIGFib3ZlIGZvY3VzIHN0eWxlXG4gICY6Zm9jdXM6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXJ7XG4gICAgY29sb3I6ICRjb2xvci1mb2N1cztcbiAgfVxuXG4gICY6LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICAmOmZvY3VzIHtcbiAgICAgY29sb3I6ICRjb2xvci1mb2N1cztcbiAgICB9XG4gIH1cblxuICAmOjotbW96LXBsYWNlaG9sZGVyIHsgIC8qIEZpcmVmb3ggMTkrICovXG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICAmOmZvY3VzIHtcbiAgICAgY29sb3I6ICRjb2xvci1mb2N1cztcbiAgICB9XG4gIH1cblxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICAmOmZvY3VzIHtcbiAgICAgY29sb3I6ICRjb2xvci1mb2N1cztcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIE1FRElBIFFVRVJZXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuXG4vLyBXYXJuaW5nOiBpZTggc2VlcyB0aGlzIGNvZGUgd2l0aCByZXNwb25kLmpzLlxuLy8gQWRkIGllOCBzcGVjaWZpYyAxeCBpbWFnZXMgYmFjayBpbi5cbi8vIEV4YW1wbGUgd2l0aCBjb25kaXRpb25hbCBjbGFzcyBmb3VuZCBvbiBodG1sIGVsZW1lbnQgKGh0bWwudHBsKVxuLy8gQGluY2x1ZGUgcXVlcnktMngge1xuLy8gICAubG9nbyB7XG4vLyAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCAuLi4uQDJ4LnBuZyk7XG4vLyAgICAgYmFja2dyb3VuZC1zaXplOiBYWHB4IFhYcHg7XG4vLyAgIH1cbi8vICAgLmllLTggLmxvZ28ge1xuLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCggLi4uLkAxeC5wbmcpO1xuLy8gICB9XG4vLyB9XG5cblxuQG1peGluIHF1ZXJ5LTJ4IHtcbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIHF1ZXJ5LTN4IHtcbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzKSxcbiAgb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMy8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMjg4ZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDNkcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFJFU1BPTlNJVkVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5cbi8vIEludHJpbnNpYyBSYXRpbyBIZWxwZXIgRnVuY3Rpb25cbi8vIFVzZWQgZm9yIHJlc3BvbnNpdmUgZW1iZWQgdmlkZW9zLCBldGMuLi5cbkBtaXhpbiBpbnRyaW5zaWNSYXRpb0NvbnRhaW5lcigkd2lkdGgsICRoZWlnaHQpIHtcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiBwZXJjZW50YWdlKCAkaGVpZ2h0IC8gJHdpZHRoKTtcbn1cblxuQG1peGluIGludHJpbnNpY1JhdGlvRWxlbWVudCgpIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cblxuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBMQVlPVVRcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIHNlY3Rpb24tc3BhY2Uge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXNwYWNlO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1zcGFjZTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXNwYWNlLzEuNTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tc3BhY2UvMS41O1xuICB9XG59XG5cbkBtaXhpbiBwYXJhZ3JhcGgtc3BhY2Uge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXNwYWNlKjEuNTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tc3BhY2UqMS41O1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1tYXgpIHtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tc3BhY2UvMS41O1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1zcGFjZS8xLjU7XG4gIH1cbn1cblxuQG1peGluIGxheW91dC1ndXR0ZXIge1xuICBwYWRkaW5nLWxlZnQ6ICRob3Jpei1ndXR0ZXI7XG4gIHBhZGRpbmctcmlnaHQ6ICRob3Jpei1ndXR0ZXI7XG59XG5cbkBtaXhpbiBsYXlvdXQtY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiAkdmlld3BvcnQtbWF4O1xuICBtaW4td2lkdGg6ICR2aWV3cG9ydC1taW47XG4gIEBpbmNsdWRlIGxheW91dC1ndXR0ZXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1sYXJnZS1taW4pIHtcbiAgICBtYXgtd2lkdGg6ICR3aWRlc2NyZWVuLW1pbjtcbiAgfVxufVxuXG5AbWl4aW4gZ3JpZC1ndXR0ZXIge1xuICBwYWRkaW5nLWxlZnQ6ICgkaG9yaXotZ3V0dGVyLzIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGhvcml6LWd1dHRlci8yKTtcbn1cblxuQG1peGluIHdpZHRoKCR3aWR0aDogZnVsbCkge1xuICBAaWYoJHdpZHRoID09IGZ1bGwpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBAaWYoJHdpZHRoID09IGhhbGYpIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIEBpZigkd2lkdGggPT0gdGhpcmQpIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gIH1cbiAgQGlmKCR3aWR0aCA9PSB0d28tdGhpcmQpIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAqIDIgKyAxMHB4KTtcbiAgfVxuICBAaWYoJHdpZHRoID09IGZvdXJ0aCkge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgQGlmKCR3aWR0aCA9PSBzaXh0aCkge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyA2KTtcbiAgfVxufVxuXG5AbWl4aW4gYnJlYWstY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMHZ3O1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJhbm5lci1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogY2FsYygtNTB2dyArIDEyMDBweCAvIDIpO1xuICAgIG1hcmdpbi1yaWdodDogY2FsYygtNTB2dyArIDEyMDBweCAvIDIpO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJhbm5lci1tYXgpIHtcbiAgICBtYXJnaW4tbGVmdDogLSRob3Jpei1ndXR0ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGhvcml6LWd1dHRlcjtcbiAgfVxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIEZMRVhCT1hcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAxKSB7XG4gIC13ZWJraXQtYm94LW9yZGluYWwtZ3JvdXA6JG9yZGVyICsgMTtcbiAgLW1zLWZsZXgtb3JkZXI6JG9yZGVyO1xuICBvcmRlcjokb3JkZXI7XG59IiwiLyogQHBhcnRpYWwgX2xpc3RzLnNjc3MgKi9cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBPcmRlciwgdW5vcmRlcmVkIGFuZCBkZWZpbml0aW9uIGxpc3RzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLypcbiAqIEFkZHJlc3NlcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRTYvN1xuICovXG5cbmRsLFxubWVudSxcbm9sLFxudWwge1xuICBtYXJnaW46ICR2ZXJ0LWd1dHRlciAwO1xufVxuXG51bCBsaSxcbm9sIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogKCR2ZXJ0LWd1dHRlci8yKTtcbn1cblxudWwsIG9sIHtcbiAgdWwsIG9sIHtcbiAgICBtYXJnaW46IDA7IC8qIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLiAqL1xuICB9XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgcGFkZGluZ3Mgc2V0IGRpZmZlcmVudGx5IGluIElFNi83XG4gKi9cblxubWVudSxcbm9sLFxudWwge1xuICBwYWRkaW5nOiAwIDAgMCAkaG9yaXotZ3V0dGVyLzEuNTsgLyogTFRSICovXG59XG5cbi8qXG4gKiBDb3JyZWN0cyBsaXN0IGltYWdlcyBoYW5kbGVkIGluY29ycmVjdGx5IGluIElFN1xuICovXG5cbm5hdiB1bCxcbm5hdiBvbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLnRvb2xiYXItbWVudS1hZG1pbmlzdHJhdGlvbiB7XG4gIHVsIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBEYXRhIExpc3RzXG5cbmRsIHtcbiAgZHQge1xuICAgIHBhZGRpbmc6ICR2ZXJ0LWd1dHRlciAwICR2ZXJ0LWd1dHRlci8yO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdWktYm9yZGVyLWNvbG9yO1xuICB9XG4gIGRkIHtcbiAgICBwYWRkaW5nOiAwIDAgJHZlcnQtZ3V0dGVyO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBhIHtcbiAgICBAaW5jbHVkZSBidXR0b24odGVydGlhcnkpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG5cbi8qIFR3byBDb2x1bW4gTGlzdHMgKi8gXG51bC50d28tY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbC1taW4pIHtcbiAgICBjb2x1bW5zOiAyO1xuICAgIGNvbHVtbi1nYXA6ICRob3Jpei1ndXR0ZXI7XG4gIH1cblxuICBsaSB7XG4gICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICAgIHBhZGRpbmctbGVmdDogMjJweDtcbiAgICB0ZXh0LWluZGVudDogLTIycHg7XG4gIH1cbn1cblxuXG5saS5uby1idWxsZXQge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59IiwiXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1FRElBIFFVRVJZIFZBUklBQkxFU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIENvbnZlcnRzIGJyZWFrcG9pbnRzIHRvIGVtcyBmb3IgYmV0dGVyIGZvbnQgc2NhbGluZyAmIGFjY2Vzc2liaWxpdHkuXG4vLyBWYXJpYWJsZSBzb3VyY2U6IGJyZWFrcG9pbnRcbkBpbmNsdWRlIGJyZWFrcG9pbnQtc2V0KCd0byBlbXMnLCB0cnVlKTtcblxuXG4vLyBTZXQgbWluIGFuZCBtYXggd2lkdGggb2YgdGhlIG92ZXJhbGwgbGF5b3V0XG4kdmlld3BvcnQtbWluOiAzMjBweDtcbiR2aWV3cG9ydC1tYXg6IDEyNDBweDtcblxuLy8gU3RhbmRhcmQgZHBpIGJyZWFrcG9pbnRzXG4kcGhvbmUtbWF4OiBtYXgtd2lkdGggNDc5cHg7XG4kcGhvbmUtbWluOiA0ODBweDtcblxuJHRhYmxldC1zbWFsbC1tYXg6IG1heC13aWR0aCA1OTlweDtcbiR0YWJsZXQtc21hbGwtbWluOiA2MDBweDtcblxuJHRhYmxldC1wb3J0cmFpdC1tYXg6IG1heC13aWR0aCA3NjdweDtcbiR0YWJsZXQtcG9ydHJhaXQtbWluOiA3NjhweDtcblxuJGRlc2t0b3Atc21hbGwtbWF4OiBtYXgtd2lkdGggODM5cHg7XG4kZGVza3RvcC1zbWFsbC1taW46IDg0MHB4O1xuXG4kZGVza3RvcC1tYXg6IG1heC13aWR0aCAxMDc5cHg7XG4kZGVza3RvcC1taW46IDEwODBweDtcblxuJGRlc2t0b3AtbGFyZ2UtbWF4OiBtYXgtd2lkdGggMTQ5OXB4O1xuJGRlc2t0b3AtbGFyZ2UtbWluOiAxNTAwcHg7XG5cblxuLy8gTWlzY2VsbGFub3VzIGJyZWFrcG9pbnRzXG4kdGFibGV0LWxhbmRzY2FwZS1taW46IDEwMjRweDtcbiR0YWJsZXQtbGFuZHNjYXBlLW1heDogbWF4LXdpZHRoIDEwMjNweDtcbi8vICRkZXNrdG9wLW1lZGl1bS1taW46IDEyODBweDtcbi8vICRkZXNrdG9wLW1lZGl1bS1tYXg6IDEyNzlweDtcbiR3aWRlc2NyZWVuLW1heDogbWF4LXdpZHRoIDE0MzlweDtcbiR3aWRlc2NyZWVuLW1pbjogMTQ0MHB4O1xuJG9yaWVudGF0aW9uLWxhbmRzY2FwZTogXCJvbmx5IHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpXCI7XG4kb3JpZW50YXRpb24tcG9ydHJhaXQ6IFwib25seSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpXCI7XG5cbiRiYW5uZXItbWluOiAxMjYwcHg7XG4kYmFubmVyLW1heDogbWF4LXdpZHRoIDEyNTlweDtcblxuJHN0YXRzLW1pbjogMTcwMHB4O1xuJHN0YXRzLW1heDogbWF4LXdpZHRoIDE2OTlweDtcblxuJHN0YXRzLWxhcmdlLW1pbjogMTkyMHB4O1xuJHN0YXRzLWxhcmdlLW1heDogbWF4LXdpZHRoIDE5MTlweDtcblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVkVSVElDQUwgUkhUSFlNICYgR1JJRCBWQVJJQUJMRVNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuXG4vLyBVbml2ZXJzYWwgdmVydGljYWwgcmh0aHltIGd1dHRlci4gRGV0ZXJtaW5lcyBiYXNlbGluZSBndXR0ZXJzXG4vLyBhcyB3ZWxsIGFzIGJsb2NrIGFuZCBmb3JtIGVsZW1lbnQgbWFyZ2lucyxcbi8vIHAgKyBwIHRhZ3MsIGhyIHRhZ3MsIGJsb2NrcXVvdGUgYW5kIHByZSB0YWcgcGFkZGluZ1xuJHZlcnQtZ3V0dGVyOiAyMHB4OyAvLzIwcHhcbiRob3Jpei1ndXR0ZXI6IDI1cHg7IC8vMjVweFxuXG4kc2VjdGlvbi1zcGFjZTogNTBweDsgLy81MHB4XG5cblxuLy8gVmFyaWFibGUgc291cmNlOiBTaW5ndWxhcml0eVxuLy8gMS4wIHN5bnRheFxuLy8gJGdyaWRzOiAyNDtcbi8vICRndXR0ZXJzOiAkaG9yaXotZ3V0dGVyO1xuLy8gJGd1dHRlci1zdHlsZXM6ICdzcGxpdCc7XG5cbi8vIDEuMiBzeW50YXhcbi8vIEhvdyB0byB1c2UgZ3JpZC1zcGFuOiBodHRwczovL2dpdGh1Yi5jb20vVGVhbS1TYXNzL1Npbmd1bGFyaXR5L3dpa2kvU3Bhbm5pbmctVGhlLUdyaWRcbkBpbmNsdWRlIGFkZC1ncmlkKDI0KTtcbkBpbmNsdWRlIGFkZC1ndXR0ZXIoJGhvcml6LWd1dHRlcik7XG4vLyBGb3IgZml4ZWQgZ3V0dGVyczogQGluY2x1ZGUgc2dzLWNoYW5nZSgnZ3V0dGVyIHN0eWxlcycsICdmaXhlZCcpO1xuQGluY2x1ZGUgYWRkLWd1dHRlci1zdHlsZSgnc3BsaXQnKTtcbkBpbmNsdWRlIHNncy1jaGFuZ2UoJ291dHB1dCcsICdpc29sYXRpb24nKTtcblxuXG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFNJTkdVTEFSSVRZIEdSSUQgUkVGRVJFTkNFIC0tLSBodHRwczovL2dpdGh1Yi5jb20vVGVhbS1TYXNzL1Npbmd1bGFyaXR5L3dpa2kvU3Bhbm5pbmctVGhlLUdyaWRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8vLy8vLy9cbi8vIE9VVFBVVCBTVFlMRVM6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vVGVhbS1TYXNzL1Npbmd1bGFyaXR5L3dpa2kvT3V0cHV0LVN0eWxlc1xuLy8gSXNvbGF0aW9uOiBmbG9hdHMgd2l0aCBtYXJnaW4gbGVmdCBhbmQgcmlnaHQgZm9yY2luZyBlbGVtZW50cyBpbnRvIGNvbHVtbnMuXG4vLyBGbG9hdDogdHlwaWNhbCBmbG9hdCB3aXRob3V0IG1hcmdpbnMgZm9yY2luZyBlbGVtZW50cyBpbnRvIGNvbHVtbnNcbi8vLy8vLy8vXG5cblxuLy8vLy8vLy8vXG4vLyBPdmVycmlkZXMgdGhlIGdsb2JhbCBHcmlkIGNvbnRleHQgcHJvdmlkZWQgYnkgJGdyaWRzIHdpdGggYSAxMiBjb2x1bW4gc3ltbWV0cmljIGdyaWRcbi8vIC5vdmVycmlkZS1ncmlkLXN5bW1ldHJpYyB7XG4vLyAgIEBpbmNsdWRlIGdyaWQtc3BhbigxLCAyLCAxMik7XG4vLyB9XG5cbi8vIE92ZXJyaWRlcyB0aGUgZ2xvYmFsIEdyaWQgY29udGV4dCBwcm92aWRlZCBieSAkZ3JpZHMgd2l0aCBhIDIgNCA1IGFzeW1tZXRyaWMgZ3JpZFxuLy8gLm92ZXJyaWRlLWdyaWQtYXN5bW1ldHJpYyB7XG4vLyAgIEBpbmNsdWRlIGdyaWQtc3BhbigxLCAyLCAoMiA0IDUpKTtcbi8vIH1cblxuLy8gT3ZlcnJpZGVzIHRoZSBnbG9iYWwgR3V0dGVyIGNvbnRleHQgcHJvdmlkZWQgYnkgJGd1dHRlcnMgd2l0aCBhIC4yNSBndXR0ZXJcbi8vIC5vdmVycmlkZS1ndXR0ZXIge1xuLy8gICBAaW5jbHVkZSBncmlkLXNwYW4oMSwgMiwgJGd1dHRlcjogLjI1KTtcbi8vIH1cblxuLy8gT3ZlcnJpZGVzIHRoZSBnbG9iYWwgT3V0cHV0IFN0eWxlIGNvbnRleHQgcHJvdmlkZWQgYnkgJG91dHB1dCB0aGUgSXNvbGF0aW9uIG91dHB1dCBzdHlsZVxuLy8gLm92ZXJyaWRlLW91dHB1dC1zdHlsZSB7XG4vLyAgIEBpbmNsdWRlIGdyaWQtc3BhbigxLCAyLCAkb3V0cHV0LXN0eWxlOiAnZmxvYXQnKTtcbi8vIH1cblxuLy8gT3ZlcnJpZGVzIHRoZSBnbG9iYWwgR3JpZCBjb250ZXh0IHByb3ZpZGVkIGJ5ICRncmlkcyB3aXRoIGEgMTIgY29sdW1uIHN5bW1ldHJpYyBncmlkLCB0aGUgZ2xvYmFsIEd1dHRlciBjb250ZXh0IGJ5ICRndXR0ZXJzIHdpdGggYSAuMjUgZ3V0dGVyLCBhbmQgdGhlIGdsb2JhbCBPdXRwdXQgU3R5bGUgY29udGV4dCBwcm92aWRlZCBieSAkb3V0cHV0IHdpdGggdGhlIElzb2xhdGlvbiBvdXRwdXQgc3R5bGVcbi8vIC5vdmVycmlkZS1hbGwtdGhlLXRoaW5ncyB7XG4vLyAgIEBpbmNsdWRlIGdyaWQtc3BhbigxLCAyLCAxMiwgLjI1LCAnZmxvYXQnKTtcbi8vIH1cblxuLy8gLy8gU2ltcGxpZmllcyB1c2Ugb2YgJG9wdGlvbnMgZm9yIElzb2xhdGlvbiBPdXRwdXQgU3R5bGVcbi8vIEBpbmNsdWRlIGdyaWQtc3BhbigyLCAzLCAkb3V0cHV0LXN0eWxlOiAnaXNvbGF0aW9uJywgJG9wdGlvbnM6ICdib3RoJyk7XG4vLy8vLy8vLy9cblxuXG4vLy8vLy8vLy9cbi8vIFlvdSBjYW4gYWxzbyBpbmNsdWRlIGVhY2ggb3V0cHV0IHN0eWxlIGV4cGxpY2l0aWx5IGluIGl0J3Mgb3duIG1peGluIHdpdGggZGlmZmVyZW50IGFyZ3VtZW50c1xuXG4vLyBAaW5jbHVkZSBpc29sYXRpb24tc3BhbigyLCAzLCAncmlnaHQnLCAoMiA4IDIgMSksIC4yNSk7XG4vLyAoc3BhbiA/IGNvbHVtbnMsIHN0YXJ0aW5nIGNvbHVtbiwgY2xlYXIsIGdyaWQsIGd1dHRlcilcbi8vIEBpbmNsdWRlIGZsb2F0LXNwYW4oMywgJGdyaWQ6IDUsICRndXR0ZXI6IC4yNSk7XG4vLyAoc3BhbiA/IGNvbHVtbnMsIGdyaWQsIGd1dHRlcilcbi8vLy8vLy8vL1xuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4kQnJlYWtwb2ludC1TZXR0aW5nczogKFxuICAnZGVmYXVsdCBtZWRpYSc6IGFsbCxcbiAgJ2RlZmF1bHQgZmVhdHVyZSc6IG1pbi13aWR0aCxcbiAgJ2RlZmF1bHQgcGFpcic6IHdpZHRoLFxuXG4gICdmb3JjZSBhbGwgbWVkaWEgdHlwZSc6IGZhbHNlLFxuICAndG8gZW1zJzogZmFsc2UsXG4gICd0cmFuc2Zvcm0gcmVzb2x1dGlvbnMnOiB0cnVlLFxuXG4gICdubyBxdWVyaWVzJzogZmFsc2UsXG4gICdubyBxdWVyeSBmYWxsYmFja3MnOiBmYWxzZSxcblxuICAnYmFzZSBmb250IHNpemUnOiAxNnB4LFxuXG4gICdsZWdhY3kgc3ludGF4JzogZmFsc2Vcbik7XG5cbiRicmVha3BvaW50OiAoKSAhZGVmYXVsdDtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBJbXBvcnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCJicmVha3BvaW50L3NldHRpbmdzXCI7XG5AaW1wb3J0ICdicmVha3BvaW50L2NvbnRleHQnO1xuQGltcG9ydCAnYnJlYWtwb2ludC9oZWxwZXJzJztcbkBpbXBvcnQgJ2JyZWFrcG9pbnQvcGFyc2Vycyc7XG5AaW1wb3J0ICdicmVha3BvaW50L25vLXF1ZXJ5JztcblxuQGltcG9ydCAnYnJlYWtwb2ludC9yZXNwb25kLXRvJztcblxuQGltcG9ydCBcImJyZWFrcG9pbnQvbGVnYWN5LXNldHRpbmdzXCI7XG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gQnJlYWtwb2ludCBNaXhpblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBsZWdhY3ktc2V0dGluZ3Mtd2FybmluZztcblxuICAvLyBSZXNldCBjb250ZXh0c1xuICBAaW5jbHVkZSBwcml2YXRlLWJyZWFrcG9pbnQtcmVzZXQtY29udGV4dHMoKTtcblxuICAkYnJlYWtwb2ludDogYnJlYWtwb2ludCgkcXVlcnksIGZhbHNlKTtcblxuICAkcXVlcnktc3RyaW5nOiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnknKTtcbiAgJHF1ZXJ5LWZhbGxiYWNrOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnZmFsbGJhY2snKTtcblxuICAkcHJpdmF0ZS1icmVha3BvaW50LWNvbnRleHQtaG9sZGVyOiBtYXAtZ2V0KCRicmVha3BvaW50LCAnY29udGV4dCBob2xkZXInKSAhZ2xvYmFsO1xuICAkcHJpdmF0ZS1icmVha3BvaW50LXF1ZXJ5LWNvdW50OiBtYXAtZ2V0KCRicmVha3BvaW50LCAncXVlcnkgY291bnQnKSAhZ2xvYmFsO1xuXG4gIC8vIEFsbG93IGZvciBhbiBhcy1uZWVkZWQgb3ZlcnJpZGUgb3IgdXNhZ2Ugb2Ygbm8gcXVlcnkgZmFsbGJhY2suXG4gIEBpZiAkbm8tcXVlcnkgIT0gZmFsc2Uge1xuICAgICRxdWVyeS1mYWxsYmFjazogJG5vLXF1ZXJ5O1xuICB9XG5cbiAgQGlmICRxdWVyeS1mYWxsYmFjayAhPSBmYWxzZSB7XG4gICAgJGNvbnRleHQtc2V0dGVyOiBwcml2YXRlLWJyZWFrcG9pbnQtc2V0LWNvbnRleHQoJ25vLXF1ZXJ5JywgJHF1ZXJ5LWZhbGxiYWNrKTtcbiAgfVxuXG4gIC8vIFByaW50IE91dCBRdWVyeSBTdHJpbmdcbiAgQGlmIG5vdCBicmVha3BvaW50LWdldCgnbm8gcXVlcmllcycpIHtcbiAgICBAbWVkaWEgI3skcXVlcnktc3RyaW5nfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAaWYgYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpICE9IGZhbHNlIG9yIGJyZWFrcG9pbnQtZ2V0KCdubyBxdWVyaWVzJykgPT0gdHJ1ZSB7XG5cbiAgICAkdHlwZTogdHlwZS1vZihicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykpO1xuICAgICRwcmludDogZmFsc2U7XG5cbiAgICBAaWYgKCR0eXBlID09ICdib29sJykge1xuICAgICAgJHByaW50OiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ3N0cmluZycpIHtcbiAgICAgIEBpZiAkcXVlcnktZmFsbGJhY2sgPT0gYnJlYWtwb2ludC1nZXQoJ25vIHF1ZXJ5IGZhbGxiYWNrcycpIHtcbiAgICAgICAgJHByaW50OiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAoJHR5cGUgPT0gJ2xpc3QnKSB7XG4gICAgICBAZWFjaCAkd3JhcHBlciBpbiBicmVha3BvaW50LWdldCgnbm8gcXVlcnkgZmFsbGJhY2tzJykge1xuICAgICAgICBAaWYgJHF1ZXJ5LWZhbGxiYWNrID09ICR3cmFwcGVyIHtcbiAgICAgICAgICAkcHJpbnQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBXcml0ZSBGYWxsYmFja1xuICAgIEBpZiAoJHF1ZXJ5LWZhbGxiYWNrICE9IGZhbHNlKSBhbmQgKCRwcmludCA9PSB0cnVlKSB7XG4gICAgICAkdHlwZS1mYWxsYmFjazogdHlwZS1vZigkcXVlcnktZmFsbGJhY2spO1xuXG4gICAgICBAaWYgKCR0eXBlLWZhbGxiYWNrICE9ICdib29sJykge1xuICAgICAgICAjeyRxdWVyeS1mYWxsYmFja30gJiB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgcHJpdmF0ZS1icmVha3BvaW50LXJlc2V0LWNvbnRleHRzKCk7XG59XG5cblxuQG1peGluIG1xKCRxdWVyeSwgJG5vLXF1ZXJ5OiBmYWxzZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRxdWVyeSwgJG5vLXF1ZXJ5KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8qIEBwYXJ0aWFsIF9oZWxwZXJzLnNjc3MgKi9cblxuXG4vKiBSZXNwb25zaXZlIHRhYmxlcy4uLiBXcmFwIDx0YWJsZT4gaW4gZGl2IGFuZCBpdCB3aWxsIHNjcm9sbCB3aGVuIG92ZXJmbG93aW5nLlxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyOyAvLyAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXIgLi4uIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS93aW5kb3dzL2FwcHMvaGg0NDEyOTguYXNweFxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIG1hcmdpbjogMCAwICgkdmVydC1ndXR0ZXIqMikgMDtcblxuICB0YWJsZSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuXG4vKiBSZXNwb25zaXZlIHZpZGVvIGVtYmVkLiBZb3V0dWJlIC8gVmltZW9cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi52aWRlby1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAgIHBhZGRpbmctdG9wOiAzMHB4OyBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnZpZGVvLWNvbnRhaW5lciBpZnJhbWUsXG4udmlkZW8tY29udGFpbmVyIG9iamVjdCxcbi52aWRlby1jb250YWluZXIgZW1iZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG59XG5cbi8qIEFjY2Vzc2liaWxpdHkgZmVhdHVyZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIGVsZW1lbnQtaW52aXNpYmxlIGFzIGRlZmluZWQgYnkgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eSAqL1xuLmVsZW1lbnQtaW52aXNpYmxlLFxuJWVsZW1lbnQtaW52aXNpYmxlIHtcbiAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG59XG5cbi8qIFR1cm5zIG9mZiB0aGUgZWxlbWVudC1pbnZpc2libGUgZWZmZWN0LiAqL1xuJWVsZW1lbnQtaW52aXNpYmxlLW9mZiB7XG4gIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbn1cblxuLmVsZW1lbnQtZm9jdXNhYmxlLFxuJWVsZW1lbnQtZm9jdXNhYmxlIHtcbiAgQGV4dGVuZCAlZWxlbWVudC1pbnZpc2libGU7XG5cbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIEBleHRlbmQgJWVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgfVxufVxuXG4uY2xlYXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLy8gRk9VTkRBVElPTlxuLy8gQFRPRE8gVGFrZSB3aGF0IHdlIG5lZWRcblxuLy8gLmhpZGUge1xuLy8gICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLy8gLmludmlzaWJsZSB7XG4vLyAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwZW0pIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbi8vICAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuLy8gICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8vIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuLy8gICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4vLyAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuLy8gICAuaGlkZS1mb3ItbWVkaXVtIHtcbi8vICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbi8vICAgLnNob3ctZm9yLW1lZGl1bSB7XG4vLyAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuLy8gICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuLy8gICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8vIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuLy8gICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuLy8gICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8vIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbi8vICAgLmhpZGUtZm9yLWxhcmdlIHtcbi8vICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbi8vICAgLnNob3ctZm9yLWxhcmdlIHtcbi8vICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzQuOTM3NWVtKSB7XG4vLyAgIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbi8vICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbi8vICAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuLy8gICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbiIsIi8qIEBwYXJ0aWFsIF9hbmltYXRpb24uc2NzcyAqL1xuXG4vLyBTSUxFTlQgQ0xBU1NFU1xuLy8gRXhhbXBsZXMgdXNlOiBAZXh0ZW5kICVhbmltYXRlZDtcbiVhbmltYXRlZCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjVzO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG4lZmFkZS1pbi1kb3duIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG59XG5cbiVmYWRlLWluLXVwIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xufVxuXG4uZmFkZS1pbiB7XG4gIEBleHRlbmQgJWFuaW1hdGVkO1xuICBhbmltYXRpb24tbmFtZTogZmFkZVByb2dyYW1JbjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmZhZGUtb3V0IHtcbiAgQGV4dGVuZCAlYW5pbWF0ZWQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlUHJvZ3JhbU91dDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmctdG9wOiAyLjVyZW07XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG59XG5cblxuLyogTW9iaWxlIE1haW4gTWVudSAqL1xuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi8vIGxhenkgbG9hZCBpbWFnZXNcbkBrZXlmcmFtZXMgZmFkZUJvdW5jZVVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDBweCk7XG4gIH1cbn1cblxuLy8gUHJvZ3JhbSBTZWFyY2ggQW5pbWF0aW9uXG5Aa2V5ZnJhbWVzIGZhZGVQcm9ncmFtT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAwO1xuICB9XG4gIC8vIDEwMCUge1xuICAvLyAgIGRpc3BsYXk6IG5vbmU7XG4gIC8vIH1cbn1cblxuLy8gUHJvZ3JhbSBTZWFyY2ggQW5pbWF0aW9uXG5Aa2V5ZnJhbWVzIGZhZGVQcm9ncmFtSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgd2lkdGg6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuXG5cblxuLy8gRk9VTkRBVElPTiBBTklNQVRJT05TXG4vLyBAVE9ETyBUYWtlIHdoYXQgd2UgbmVlZFxuXG4vLyAuc2xpZGUtaW4tZG93bi5tdWktZW50ZXIsIC5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciwgLnNsaWRlLWluLXVwLm11aS1lbnRlciwgLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciwgLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSwgLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUsIC5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLCAuc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLCAuZmFkZS1pbi5tdWktZW50ZXIsIC5mYWRlLW91dC5tdWktbGVhdmUsIC5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIsIC5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciwgLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciwgLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIsIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciwgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLCAuaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSwgLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSwgLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUsIC5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSwgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSwgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSwgLnNjYWxlLWluLXVwLm11aS1lbnRlciwgLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLCAuc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSwgLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSwgLnNwaW4taW4ubXVpLWVudGVyLCAuc3Bpbi1vdXQubXVpLWxlYXZlLCAuc3Bpbi1pbi1jY3cubXVpLWVudGVyLCAuc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4vLyAgIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuLy8gICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOyB9XG5cbi8vIC5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbi8vICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuLy8gICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vLyAuc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLy8gLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4vLyAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8vIC5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4vLyAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4vLyAuc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4vLyAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4vLyAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8vIC5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLy8gLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuLy8gICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vLyAuc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbi8vICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi8vIC5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbi8vICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbi8vICAgICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLy8gLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4vLyAuc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuLy8gICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vLyAuc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4vLyAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4vLyAuc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuLy8gICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vLyAuc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4vLyAuc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4vLyAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4vLyAgICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8vIC5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbi8vICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLy8gLmZhZGUtaW4ubXVpLWVudGVyIHtcbi8vICAgb3BhY2l0eTogMDtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4vLyAuZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4vLyAgIG9wYWNpdHk6IDE7IH1cblxuLy8gLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4vLyAgIG9wYWNpdHk6IDE7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLy8gLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbi8vICAgb3BhY2l0eTogMDsgfVxuXG4vLyAuaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbi8vICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIG9wYWNpdHk6IDA7IH1cblxuLy8gLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4vLyAgIG9wYWNpdHk6IDE7IH1cblxuLy8gLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4vLyAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIG9wYWNpdHk6IDA7IH1cblxuLy8gLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbi8vICAgb3BhY2l0eTogMTsgfVxuXG4vLyAuaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbi8vICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4vLyAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICBvcGFjaXR5OiAwOyB9XG5cbi8vIC5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuLy8gICBvcGFjaXR5OiAxOyB9XG5cbi8vIC5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4vLyAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbi8vICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICBvcGFjaXR5OiAwOyB9XG5cbi8vIC5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbi8vICAgb3BhY2l0eTogMTsgfVxuXG4vLyAuaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4vLyAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgb3BhY2l0eTogMDsgfVxuXG4vLyAuaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuLy8gICBvcGFjaXR5OiAxOyB9XG5cbi8vIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbi8vICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICBvcGFjaXR5OiAwOyB9XG5cbi8vIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4vLyAgIG9wYWNpdHk6IDE7IH1cblxuLy8gLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4vLyAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgb3BhY2l0eTogMTsgfVxuXG4vLyAuaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4vLyAgIG9wYWNpdHk6IDA7IH1cblxuLy8gLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuLy8gICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICBvcGFjaXR5OiAxOyB9XG5cbi8vIC5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuLy8gICBvcGFjaXR5OiAwOyB9XG5cbi8vIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIG9wYWNpdHk6IDE7IH1cblxuLy8gLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbi8vICAgb3BhY2l0eTogMDsgfVxuXG4vLyAuaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgb3BhY2l0eTogMTsgfVxuXG4vLyAuaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbi8vICAgb3BhY2l0eTogMDsgfVxuXG4vLyAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbi8vICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIG9wYWNpdHk6IDE7IH1cblxuLy8gLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4vLyAgIG9wYWNpdHk6IDA7IH1cblxuLy8gLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbi8vICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICBvcGFjaXR5OiAxOyB9XG5cbi8vIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuLy8gICBvcGFjaXR5OiAwOyB9XG5cbi8vIC5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbi8vICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICBvcGFjaXR5OiAwOyB9XG5cbi8vIC5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbi8vICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4vLyAgIG9wYWNpdHk6IDE7IH1cblxuLy8gLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4vLyAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgb3BhY2l0eTogMDsgfVxuXG4vLyAuc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbi8vICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4vLyAgIG9wYWNpdHk6IDE7IH1cblxuLy8gLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4vLyAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICBvcGFjaXR5OiAxOyB9XG5cbi8vIC5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS41KTtcbi8vICAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuLy8gICBvcGFjaXR5OiAwOyB9XG5cbi8vIC5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4vLyAgICAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiAtd2Via2l0LXRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICBvcGFjaXR5OiAxOyB9XG5cbi8vIC5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4vLyAgIG9wYWNpdHk6IDA7IH1cblxuLy8gLnNwaW4taW4ubXVpLWVudGVyIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgb3BhY2l0eTogMDsgfVxuXG4vLyAuc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4vLyAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4vLyAgIG9wYWNpdHk6IDE7IH1cblxuLy8gLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4vLyAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4vLyAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IC13ZWJraXQtdHJhbnNmb3JtLCBvcGFjaXR5O1xuLy8gICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIG9wYWNpdHk6IDE7IH1cblxuLy8gLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4vLyAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbi8vICAgb3BhY2l0eTogMDsgfVxuXG4vLyAuc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4vLyAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgb3BhY2l0eTogMDsgfVxuXG4vLyAuc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuLy8gICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuLy8gICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuLy8gICBvcGFjaXR5OiAxOyB9XG5cbi8vIC5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbi8vICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbi8vICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbi8vICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm0sIG9wYWNpdHk7XG4vLyAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbi8vICAgb3BhY2l0eTogMTsgfVxuXG4vLyAuc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbi8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuLy8gICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4vLyAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbi8vICAgb3BhY2l0eTogMDsgfVxuXG4vLyAuc2xvdyB7XG4vLyAgIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLy8gLmZhc3Qge1xuLy8gICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi8vIC5saW5lYXIge1xuLy8gICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLy8gLmVhc2Uge1xuLy8gICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi8vIC5lYXNlLWluIHtcbi8vICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4vLyAuZWFzZS1vdXQge1xuLy8gICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4vLyAuZWFzZS1pbi1vdXQge1xuLy8gICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4vLyAuYm91bmNlLWluIHtcbi8vICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi8vIC5ib3VuY2Utb3V0IHtcbi8vICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4vLyAuYm91bmNlLWluLW91dCB7XG4vLyAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4vLyAuc2hvcnQtZGVsYXkge1xuLy8gICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi8vIC5sb25nLWRlbGF5IHtcbi8vICAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4vLyAuc2hha2Uge1xuLy8gICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZS03O1xuLy8gICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03OyB9XG5cbi8vIEAtd2Via2l0LWtleWZyYW1lcyBzaGFrZS03IHtcbi8vICAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuLy8gICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTtcbi8vICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbi8vICAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuLy8gICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7XG4vLyAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTsgfSB9XG5cbi8vIEBrZXlmcmFtZXMgc2hha2UtNyB7XG4vLyAgIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbi8vICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7XG4vLyAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpOyB9XG4vLyAgIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbi8vICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpO1xuLy8gICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4vLyAuc3Bpbi1jdyB7XG4vLyAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47XG4vLyAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuLy8gQC13ZWJraXQta2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuLy8gICAwJSB7XG4vLyAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pO1xuLy8gICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuLy8gICAxMDAlIHtcbi8vICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuLy8gICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4vLyBAa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuLy8gICAwJSB7XG4vLyAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pO1xuLy8gICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuLy8gICAxMDAlIHtcbi8vICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuLy8gICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4vLyAuc3Bpbi1jY3cge1xuLy8gICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuO1xuLy8gICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbi8vIEBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4vLyAgIDAlIHtcbi8vICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuLy8gICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbi8vICAgMTAwJSB7XG4vLyAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7XG4vLyAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4vLyAud2lnZ2xlIHtcbi8vICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7XG4vLyAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbi8vIEAtd2Via2l0LWtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4vLyAgIDQwJSwgNTAlLCA2MCUge1xuLy8gICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7XG4vLyAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuLy8gICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuLy8gICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpO1xuLy8gICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4vLyAgIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4vLyAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbi8vICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLy8gQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4vLyAgIDQwJSwgNTAlLCA2MCUge1xuLy8gICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7XG4vLyAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuLy8gICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuLy8gICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpO1xuLy8gICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4vLyAgIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4vLyAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbi8vICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLy8gLmluZmluaXRlIHtcbi8vICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbi8vICAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4vLyAuc2xvdyB7XG4vLyAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50O1xuLy8gICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4vLyAuZmFzdCB7XG4vLyAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50O1xuLy8gICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4vLyAubGluZWFyIHtcbi8vICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDtcbi8vICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4vLyAuZWFzZSB7XG4vLyAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50O1xuLy8gICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4vLyAuZWFzZS1pbiB7XG4vLyAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50O1xuLy8gICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4vLyAuZWFzZS1vdXQge1xuLy8gICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4vLyAuZWFzZS1pbi1vdXQge1xuLy8gICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4vLyAuYm91bmNlLWluIHtcbi8vICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDtcbi8vICAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4vLyAuYm91bmNlLW91dCB7XG4vLyAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50O1xuLy8gICAgICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4vLyAuYm91bmNlLWluLW91dCB7XG4vLyAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLy8gLnNob3J0LWRlbGF5IHtcbi8vICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi8vIC5sb25nLWRlbGF5IHtcbi8vICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7XG4vLyAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG4iLCIvKiBAcGFydGlhbCB0eXBvZ3JhcGh5ICovXG5cblxuLy8gRXhhbXBsZSBmb250LWZhY2UgZGVjbGFyYXRpb25cbi8vIEBmb250LWZhY2Uge1xuLy8gICBmb250LWZhbWlseTogJ0V4YW1wbGUnO1xuLy8gICBzcmM6IHVybCgnLi4vZm9udHMvZXhhbXBsZS5lb3QnKTtcbi8vICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2V4YW1wbGUuZW90P2llZml4JykgZm9ybWF0KCdlb3QnKSxcbi8vICAgICB1cmwoJy4uL2ZvbnRzL2V4YW1wbGUud29mZicpIGZvcm1hdCgnd29mZicpLFxuLy8gICAgIHVybCgnLi4vZm9udHMvZXhhbXBsZS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4vLyAgICAgdXJsKCcuLi9mb250cy9leGFtcGxlLnN2ZyN3ZWJmb250T2tPbmRjaWonKSBmb3JtYXQoJ3N2ZycpO1xuLy8gICBmb250LXdlaWdodDogbm9ybWFsO1xuLy8gICBmb250LXN0eWxlOiBub3JtYWw7XG4vLyB9XG5cbi8qIExpZ2h0ICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdjb3Jlc2Fucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9jb3Jlc2Fuc2MzNS13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvY29yZXNhbnNjMzUtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogTWVkaXVtICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdjb3Jlc2Fucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9jb3Jlc2Fuc2M1NS13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvY29yZXNhbnNjNTUtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLyogQm9sZCAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnY29yZXNhbnNjNjUnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvY29yZXNhbnNjNjUtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2NvcmVzYW5zYzY1LXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qIEV4dHJhYm9sZCAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnY29yZXNhbnMnO1xuICBzcmM6IHVybCgnLi4vZm9udHMvY29yZXNhbnNjNzUtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoJy4uL2ZvbnRzL2NvcmVzYW5zYzc1LXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogODAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbi8qIEJsYWNrICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdjb3Jlc2Fucyc7XG4gIHNyYzogdXJsKCcuLi9mb250cy9jb3Jlc2Fuc2M5NS13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udHMvY29yZXNhbnNjOTUtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiA5MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuXG4vKipcbiAqIDEuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogcGVyY2VudGFnZSgkYmFzZS1mb250LXNpemUgLyAxNnB4KTtcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IHBlcmNlbnRhZ2UoJGJhc2UtZm9udC1zaXplIC8gMTZweCk7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBwZXJjZW50YWdlKCRiYXNlLWZvbnQtc2l6ZSAvIDE2cHgpOyAvKiAxICovXG4gIC8vIEVzdGFibGlzaCBhIHZlcnRpY2FsIHJoeXRobSB1bml0IHVzaW5nICRiYXNlLWxpbmUtaGVpZ2h0LlxuICBsaW5lLWhlaWdodDogJGJvZHktbGluZS1oZWlnaHQ7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbmJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24obGVmdCwgMC41cywgZWFzZSk7XG4gIGxlZnQ6IDA7XG4gIC8vIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgIGZvbnQtc2l6ZTogJGJvZHktZm9udC1zaXplOyAvLzE2cHhcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgZm9udC1zaXplOiAkYm9keS1zbWFsbC1mb250LXNpemU7IC8vMTRweFxuICB9XG59XG5cbi8qICBIZWFkZXIgU3R5bGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbmgxIHtcbiAgQGluY2x1ZGUgaDE7IC8vIE1peGluIGZvdW5kIGluIF9taXhpbnMuc2Nzc1xufVxuXG5oMiB7XG4gIEBpbmNsdWRlIGgyOyAvLyBNaXhpbiBmb3VuZCBpbiBfbWl4aW5zLnNjc3Ncbn1cblxuaDMge1xuICBAaW5jbHVkZSBoMzsgLy8gTWl4aW4gZm91bmQgaW4gX21peGlucy5zY3NzXG59XG5cbmg0IHtcbiAgQGluY2x1ZGUgaDQ7IC8vIE1peGluIGZvdW5kIGluIF9taXhpbnMuc2Nzc1xufVxuXG5oNSwgaDYge1xuICBAaW5jbHVkZSBoNTsgLy8gTWl4aW4gZm91bmQgaW4gX21peGlucy5zY3NzXG59XG5cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQ7XG59XG5cblxuLyogIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIFRoZW1hdGljIGJyZWFrLiAqL1xuaHIge1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkaG9yaXpvbnRhbC1ydWxlLWJvcmRlcjtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAoJHZlcnQtZ3V0dGVyKjIpIDA7XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRTcvOC85LCBTNSwgQ2hyb21lXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICBjdXJzb3I6IGhlbHA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgc3R5bGUgc2V0IHRvICdib2xkZXInIGluIEZGMyssIFM0LzUsIENocm9tZVxuKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5ibG9ja3F1b3RlIHtcbiAgLyogU2V0cyAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uICovXG4gIG1hcmdpbjogJHZlcnQtZ3V0dGVyIDA7XG4gIGJvcmRlci1sZWZ0OiA4cHggc29saWQgJGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yO1xuICBwYWRkaW5nOiAwIDAgMCAkdmVydC1ndXR0ZXI7XG4gIGZvbnQtc3R5bGU6IG9ibGlxdWU7XG59XG5cbi8qXG4gKiBBZGRyZXNzZXMgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTNSwgQ2hyb21lXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKlxuICogQWRkcmVzc2VzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUU2LzcvOC85XG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKlxuICogMS4gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBJbXByb3ZlcyByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8qIDEgKi9cbiAgLyogU2V0cyAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uICovXG4gIG1hcmdpbjogJHZlcnQtZ3V0dGVyIDA7XG4gIHdoaXRlLXNwYWNlOiBwcmU7IC8qIDIgKi9cbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwOyAvKiAyICovXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDsgLyogMiAqL1xufVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgJHZlcnQtZ3V0dGVyIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLypcbiAqIENvcnJlY3RzIGZvbnQgZmFtaWx5IHNldCBvZGRseSBpbiBJRTYsIFM0LzUsIENocm9tZVxuICogZW4ud2lraXBlZGlhLm9yZy93aWtpL1VzZXI6RGF2aWRnb3RoYmVyZy9UZXN0NTlcbiAqL1xuXG5wcmUsXG5jb2RlLFxua2JkLFxuc2FtcCxcbnR0LFxudmFyIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LW1vbm9zcGFjZTsgLyogVGhlICRmb250LW1vbm9zcGFjZSB2YWx1ZSBlbmRzIHdpdGggXCIsIHNlcmlmXCIuICovXG59XG5cbi8qXG4gKiBQcmV2ZW50cyBzdWIgYW5kIHN1cCBhZmZlY3RpbmcgbGluZS1oZWlnaHQgaW4gYWxsIGJyb3dzZXJzXG4gKiBnaXN0LmdpdGh1Yi5jb20vNDEzOTMwXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gIG1hcmdpbjogMDtcbn1cblxucC5sYXJnZSB7XG4gIEBpbmNsdWRlIGxhcmdlLXRleHQ7XG59XG5cbnAudGV4dC0tc21hbGwge1xuICBmb250LXNpemU6ICRib2R5LXNtYWxsLWZvbnQtc2l6ZTtcbn0iLCIvKiBAcGFydGlhbCBfaWNvbi1mb250LnNjc3MgKi9cblxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOnVybCgnLi4vLi4vdmVuZG9yL2ZvbnRzL2ljb21vb24uZW90Jyk7XG4gIHNyYzp1cmwoJy4uLy4uL3ZlbmRvci9mb250cy9pY29tb29uLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgdXJsKCcuLi8uLi92ZW5kb3IvZm9udHMvaWNvbW9vbi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKCcuLi8uLi92ZW5kb3IvZm9udHMvaWNvbW9vbi50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKCcuLi8uLi92ZW5kb3IvZm9udHMvaWNvbW9vbi5zdmcjaWNvbW9vbicpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgQGluY2x1ZGUgaWNvbW9vbi1zdHlsaW5nO1xufVxuXG4vLyBGb250QXdlc29tZSBpY29uc1xuLmljb24tYXN0ZXJpc2sge1xuICBjb250ZW50OiBcIlxcZjA2OVwiO1xufVxuLmljb24tc2VhcmNoIHtcbiAgY29udGVudDogXCJcXGYwMDJcIjtcbn1cbi5pY29uLXN0YXIge1xuICBjb250ZW50OiBcIlxcZjAwNVwiO1xufVxuLmljb24tdXNlciB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA3XCI7XG59XG4uaWNvbi1jaGVjayB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG59XG4uaWNvbi1jbG9zZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG59XG4uaWNvbi1yZW1vdmUge1xuICBjb250ZW50OiBcIlxcZjAwZFwiO1xufVxuLmljb24tdGltZXMge1xuICBjb250ZW50OiBcIlxcZjAwZFwiO1xufVxuLmljb24tcGxheS1jaXJjbGUtbyB7XG4gIGNvbnRlbnQ6IFwiXFxmMDFkXCI7XG59XG4uaWNvbi1ib29rIHtcbiAgY29udGVudDogXCJcXGYwMmRcIjtcbn1cbi5pY29uLXZpZGVvLWNhbWVyYSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNkXCI7XG59XG4uaWNvbi1pbWFnZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNlXCI7XG59XG4uaWNvbi1waG90byB7XG4gIGNvbnRlbnQ6IFwiXFxmMDNlXCI7XG59XG4uaWNvbi1waWN0dXJlLW8ge1xuICBjb250ZW50OiBcIlxcZjAzZVwiO1xufVxuLmljb24tbWFwLW1hcmtlciB7XG4gIGNvbnRlbnQ6IFwiXFxmMDQxXCI7XG59XG4uaWNvbi1jaGV2cm9uLWxlZnQge1xuICBjb250ZW50OiBcIlxcZjA1M1wiO1xufVxuLmljb24tY2hldnJvbi1yaWdodCB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU0XCI7XG59XG4uaWNvbi1jaGV2cm9uLWRvd24ge1xuICBjb250ZW50OiBcIlxcZjA3OFwiO1xufVxuLmljb24tdHdpdHRlciB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk5XCI7XG59XG4uaWNvbi1mYWNlYm9vayB7XG4gIGNvbnRlbnQ6IFwiXFxmMDlhXCI7XG59XG4uaWNvbi1mYWNlYm9vay1mIHtcbiAgY29udGVudDogXCJcXGYwOWFcIjtcbn1cbi5pY29uLWZpbHRlciB7XG4gIGNvbnRlbnQ6IFwiXFxmMGIwXCI7XG59XG4uaWNvbi1lbnZlbG9wZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGUwXCI7XG59XG4uaWNvbi1jaXJjbGUtbyB7XG4gIGNvbnRlbnQ6IFwiXFxmMTBjXCI7XG59XG4uaWNvbi1maWxlIHtcbiAgY29udGVudDogXCJcXGYxNWJcIjtcbn1cbi5pY29uLWluc3RhZ3JhbSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZkXCI7XG59XG4uaWNvbi1wYWludC1icnVzaCB7XG4gIGNvbnRlbnQ6IFwiXFxmMWZjXCI7XG59XG4vL0ljb21vb24sIG5vdCBmb250QXdlc29tZVxuLmljb24tZW5sYXJnZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk4OVwiO1xufVxuLmljb24tc2hyaW5rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOThhXCI7XG59XG5cbi8vIFtkYXRhLWljb25dOmJlZm9yZSB7XG4vLyAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4vLyAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1pY29uKTtcbi8vICAgc3BlYWs6IG5vbmU7XG4vLyAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuLy8gICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbi8vICAgLy8gbGluZS1oZWlnaHQ6IDE7XG4vLyAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuLy8gfVxuXG5cbiIsIi8qIEBwYXJ0aWFsIF9mb3JtLWVsZW1lbnRzLnNjc3MgKi9cblxuXG5idXR0b246bm90KC5uby1idXR0b24pLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0ge1xuICBAaW5jbHVkZSBidXR0b24ocHJpbWFyeSk7XG59XG5cbmlucHV0W3ZhbHVlPVwiRGVsZXRlXCJdLFxuaW5wdXRbdmFsdWU9XCJSZW1vdmVcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ1dHRvbi0tc2Vjb25kYXJ5IHtcbiAgQGluY2x1ZGUgYnV0dG9uKHNlY29uZGFyeSk7XG59XG5cbi5uby1idXR0b24ge1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gdGV4dGFyZWEsIC8qIEV2ZXJ5IGlucHV0IGZpZWxkIGtub3duIHRvIGNzcy4gd29yayBpbiBwcm9ncmVzcyAqL1xuLy8gaW5wdXRbdHlwZT1cImRhdGVcIl0sXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG4vLyBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4vLyBpbnB1dFt0eXBlPVwibW9udGhcIl0sXG4vLyBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuLy8gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbi8vIGlucHV0W3R5cGU9XCJ0ZWxcIl0sXG4vLyBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi8vIGlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuLy8gaW5wdXRbdHlwZT1cInVybFwiXSxcbi8vIGlucHV0W3R5cGU9XCJ3ZWVrXCJdXG4vLyBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi8vIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbi8vIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVxuXG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInRlbFwiXSxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJ1cmxcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLCB7XG4gIGJvcmRlcjogMDtcbiAgb3V0bGluZTogMDtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJ3ZWVrXCJdLFxuaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAkbWVhc3VyZTtcbn1cblxuaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgd2lkdGg6ICR3aWR0aC14bGFyZ2U7XG59XG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICB3aWR0aDogICR3aWR0aC14c21hbGw7XG59XG5cbi8qIENvcnJlY3QgaGVpZ2h0IG9mIGltYWdlIGlucHV0cyBsaWtlIGlucHV0cyBmb3VuZCBpbiBQYXlwYWwgZm9ybXMgKi9cbmlucHV0W3R5cGU9XCJpbWFnZVwiXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyogSGlnaGxpZ2h0IHRoZSBmb3JtIGVsZW1lbnRzIHRoYXQgY2F1c2VkIGEgZm9ybSBzdWJtaXNzaW9uIGVycm9yLiAqL1xuaW5wdXQuZXJyb3IsXG50ZXh0YXJlYS5lcnJvcixcbnNlbGVjdC5lcnJvciB7XG4gYm9yZGVyOiA0cHggc29saWQgJGVycm9yLWJvcmRlcjtcbn1cblxuXG4vKipcbiAqIDEuIENvcnJlY3QgZm9udCBmYW1pbHkgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBLZWVwIGZvcm0gZWxlbWVudHMgY29uc3RyYWluZWQgaW4gdGhlaXIgY29udGFpbmVycy5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAyICovXG59XG5cblxudGV4dGFyZWEsXG5pbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pIHtcbiAgYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtY29sb3I7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRpbnB1dC1ib3JkZXItY29sb3I7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nO1xuICAvLyBBdm9pZGluZyBcImFsbFwiIGJlY2F1c2UgRHJ1cGFsIEFqYXggdGhyb2JiZXIgaXMgZWZmZWN0ZWQgYnkgYmFja2dyb3VuZC1wb3NpdGlvbiB0cmFuc2l0aW9uaW5nXG4gIC8vICYgaU9TNyBoYXMgdHJvdWJsZSBwYWludGluZyBlbGVtZW50cyBhZGRlZCB2aWEgYWpheFxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3JkZXIsIGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGNvbG9yOiAkaW5wdXQtZm9udC1jb2xvcjtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICB3aWR0aDogMTAwJTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKSB7XG4gIG1heC13aWR0aDogJG1lYXN1cmU7IC8qIGZpeGVkIG92ZXJmbG93IG9mIGlucHV0IGZpZWxkcyBpbiBkcnVwYWwgNiBsYXlvdXRzICovXG59XG5cbi8vIEZpeCBwb3NpdGlvbmluZyBvZiB0aHJvYmJlciBhZnRlciBhZGRpbmcgaGVpZ2h0IHRvIGlucHV0cy4gT3JpZ2luYWwgY3NzIGZvdW5kIGluIHN5c3RlbXMuY3NzXG5odG1sLmpzIGlucHV0LmZvcm0tYXV0b2NvbXBsZXRlIHtcbiAgIGJhY2tncm91bmQtcG9zaXRpb246IDk5JSA1cHg7XG59XG5odG1sLmpzIGlucHV0LnRocm9iYmluZyB7XG4gICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5OSUgLTE1cHg7XG59XG5cbnRleHRhcmVhW2Rpc2FibGVkXSxcbnNlbGVjdFtkaXNhYmxlZF0sXG5pbnB1dFtkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmFja2dyb3VuZC1jb2xvcjtcbiAgY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1mb250LWNvbG9yO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5cbi8qIElucHV0IHBsYWNlaG9sZGVyIGNvbG9yXG4gID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICRwbGFjZWhvbGRlci1jb2xvcjtcbiAgJjpmb2N1cyB7XG4gICBjb2xvcjogJHBsYWNlaG9sZGVyLWZvY3VzLWNvbG9yO1xuICB9XG59XG5cbi8vIE1ha2UgZGlzYXBwZWFyIG9uIGZvY3VzIGluIGlPUy4uLiBUaGlzIHdvcmtzIGluIENocm9tZSBhcyBvcHBvc2VkIHRvIHRoZSBhYm92ZSBmb2N1cyBzdHlsZVxuOmZvY3VzOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye1xuICBjb2xvcjogJHBsYWNlaG9sZGVyLWZvY3VzLWNvbG9yO1xufVxuXG46LW1vei1wbGFjZWhvbGRlciB7IC8qIEZpcmVmb3ggMTgtICovXG4gIGNvbG9yOiAkcGxhY2Vob2xkZXItY29sb3I7XG4gICY6Zm9jdXMge1xuICAgY29sb3I6ICRwbGFjZWhvbGRlci1mb2N1cy1jb2xvcjtcbiAgfVxufVxuXG46Oi1tb3otcGxhY2Vob2xkZXIgeyAgLyogRmlyZWZveCAxOSsgKi9cbiAgY29sb3I6ICRwbGFjZWhvbGRlci1jb2xvcjtcbiAgJjpmb2N1cyB7XG4gICBjb2xvcjogJHBsYWNlaG9sZGVyLWZvY3VzLWNvbG9yO1xuICB9XG59XG5cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogJHBsYWNlaG9sZGVyLWNvbG9yO1xuICAmOmZvY3VzIHtcbiAgIGNvbG9yOiAkcGxhY2Vob2xkZXItZm9jdXMtY29sb3I7XG4gIH1cbn1cblxuXG4uZm9ybS1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKiBTZWFyY2ggKi9cbi5wcm9ncmFtLXNlYXJjaC1ibG9jayBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbi5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3NlYXJjaC5wbmcnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAxNXB4IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDE3cHg7XG4gIHBhZGRpbmctbGVmdDogNDBweDtcbiAgLnN2ZyAmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9zZWFyY2guc3ZnJyk7XG4gIH1cbn1cblxuXG4vKiBEYXRlL1RpbWUgSW5wdXRzICovXG5pbnB1dC51aS10aW1lcGlja2VyLWlucHV0LFxuaW5wdXQuaGFzRGF0ZXBpY2tlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDIwcHggY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE1cHggYXV0bztcbiAgcGFkZGluZy1yaWdodDogJGhvcml6LWd1dHRlcioyO1xufVxuXG5pbnB1dC51aS10aW1lcGlja2VyLWlucHV0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvdGltZS5wbmcnKTtcblxuICAuc3ZnICYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3RpbWUuc3ZnJyk7XG4gIH1cbn1cblxuaW5wdXQuaGFzRGF0ZXBpY2tlciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2RhdGUucG5nJyk7XG5cbiAgLnN2ZyAmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9kYXRlLnN2ZycpO1xuICB9XG59XG5cblxuLyogQ2hlY2tib3hlcy9SYWRpb3MgKi9cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tcy1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nOiAwO1xuXG4gICYgKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAzMnB4KTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJvcmRlci1yYWRpdXM6IDlweDtcblxuICAmOmNoZWNrZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3JhZGlvLnBuZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOHB4IGF1dG87XG4gIH1cblxuICAuc3ZnICYge1xuICAgICY6Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9yYWRpby5zdmcnKTtcbiAgICB9XG4gIH1cbn1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYmFja2dyb3VuZC1zaXplOiAxMnB4IGF1dG87XG5cbiAgJjpjaGVja2VkIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jaGVja21hcmsucG5nJyk7XG4gIH1cblxuICAuc3ZnICYge1xuICAgICY6Y2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jaGVja21hcmsuc3ZnJyk7XG4gICAgfVxuICB9XG59XG5cblxuLyogU2VsZWN0IEJveGVzICovXG4uc2VsZWN0Ym94aXQtY29udGFpbmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogNTtcblxuICAvKiBTZWxlY3QgQm94ICovXG4gIC5zZWxlY3Rib3hpdC1idG4ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR1aS1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDQ1cHg7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICAmLnNlbGVjdGJveGl0LWZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyogQXJyb3cgKi9cbiAgICAuc2VsZWN0Ym94aXQtYXJyb3ctY29udGFpbmVyIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IC0xcHg7XG4gICAgICB3aWR0aDogNDVweDtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJHByaW1hcnktY29sb3IsIHRvcCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBPcHRpb25zIExpc3QgKi9cbiAgLnNlbGVjdGJveGl0LWxpc3QsIC5pbnRlcmVzdGVkLWxpc3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMCAhaW1wb3J0YW50O1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkdWktYm9yZGVyLWNvbG9yO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LWZvY3VzO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWluLWhlaWdodDogNDVweDtcbiAgICBtYXgtaGVpZ2h0OiAzNTBweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgcGFkZGluZzogNDVweCAkdmVydC1ndXR0ZXIvMiAwO1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICAvKiBPcHRpb24gKi9cbiAgICAuc2VsZWN0Ym94aXQtb3B0aW9uLCAuaW50ZXJlc3RlZC1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogJHZlcnQtZ3V0dGVyLzI7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHVpLWJvcmRlci1jb2xvcjtcblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuc2VsZWN0Ym94aXQtb3B0aW9uLWZpcnN0IHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi5zZWxlY3Rib3hpdC1zZWxlY3RlZCxcbiAgICAgICY6aG92ZXIsXG4gICAgICAmLnNlbGVjdGJveGl0LWZvY3VzIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qIEZvY3VzZWQgT3B0aW9uICovXG4gICAgICAmLnNlbGVjdGJveGl0LWZvY3VzLCBsaS5pbnRlcmVzdGVkLWl0ZW06Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLyogRGF0ZXBpY2tlciAqL1xuLnVpLWRhdGVwaWNrZXIge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3ctZm9jdXM7XG4gIGZvbnQtZmFtaWx5OiAkYm9keS1mb250O1xuICBmb250LXdlaWdodDogMzAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIC8vIEhlYWRlclxuICAudWktZGF0ZXBpY2tlci1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJiA+ICoge1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgfVxuXG4gICAgLnVpLWRhdGVwaWNrZXItcHJldixcbiAgICAudWktZGF0ZXBpY2tlci1uZXh0IHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdG9wOiAwO1xuXG4gICAgICAmLnVpLXN0YXRlLWhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnVpLWljb24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDpcIlxcMjVCOFwiO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgJi51aS1zdGF0ZS1kaXNhYmxlZCB7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudWktZGF0ZXBpY2tlci1wcmV2IHtcbiAgICAgIEBpbmNsdWRlIHJvdGF0ZSgxODBkZWcpO1xuICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgfVxuICAgIC51aS1kYXRlcGlja2VyLXByZXYsXG4gICAgLnVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciB7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cblxuICAgIC51aS1kYXRlcGlja2VyLW5leHQsXG4gICAgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAudWktZGF0ZXBpY2tlci10aXRsZSB7XG4gICAgICAvLyBoZWlnaHQ6IDIwcHg7XG4gICAgICAvLyBsaW5lLWhlaWdodDogMjBweDtcbiAgICB9XG5cbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYmxhY2s7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICB3aWR0aDogNjBweDtcbiAgICAgIG1hcmdpbjogMCAkaG9yaXotZ3V0dGVyLzU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICAvLyBDYWxlbmRhclxuICAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHVpLWJvcmRlci1jb2xvcjtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLy8gRGF5cyBvZiB0aGUgd2Vla1xuICAgIHRoZWFkIHtcbiAgICAgIHRyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXktZGFyaztcbiAgICAgIH1cbiAgICAgIHRoIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBwYWRkaW5nOiAycHggMnB4IDNweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXlzIChudW1iZXJzKVxuICAgIHRib2R5IHtcbiAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgdGQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHVpLWJvcmRlci1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmLnVpLWRhdGVwaWNrZXItdW5zZWxlY3RhYmxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRncmF5LWxpZ2h0ZXIsNSUpO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAudWktc3RhdGUtZGVmYXVsdCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYudWktZGF0ZXBpY2tlci1vdGhlci1tb250aCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAvLyAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAvLyB9XG5cbiAgICAgICAgLy8gJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgLy8gICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgICAgIC8vIH1cblxuICAgICAgICAudWktc3RhdGUtZGVmYXVsdCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICAgICAgICAmLnVpLXN0YXRlLWhvdmVyLFxuICAgICAgICAgICYudWktc3RhdGUtYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi51aS1zdGF0ZS1hY3RpdmUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnVpLXN0YXRlLWRpc2FibGVkIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLyogVGltZXBpY2tlciAqL1xuLnVpLXRpbWVwaWNrZXItd3JhcHBlciB7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LWZvY3VzO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdWktYm9yZGVyLWNvbG9yO1xuICBib3JkZXItdG9wOiBub25lO1xuICB3aWR0aDogMTUwcHg7XG5cbiAgLnVpLXRpbWVwaWNrZXItbGlzdCB7XG4gICAgcGFkZGluZzogMCAkdmVydC1ndXR0ZXIvMjtcbiAgICBsaSB7XG4gICAgICBwYWRkaW5nOiAkdmVydC1ndXR0ZXIvMiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR1aS1ib3JkZXItY29sb3I7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLnNlbGVjdGVkLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyogQHBhcnRpYWwgX2J1dHRvbnMuc2NzcyAqL1xuXG5cbi8vIENoYW5nZSB0aGlzIG1peGluIEAgX21peGlucy5zY3NzIGFzIG5lZWRlZC5cbi8vIE1peGluIGFyZ3VtZW50czogYnV0dG9uLS1zdWJtaXQoJGJ0bi1jb2xvcjogIzAwMDAwMCwgJGJ0bi1yYWRpdXM6ICRidXR0b24tYm9yZGVyLXJhZGl1cywgJGJ0bi1wYWRkaW5nOiAkaW5wdXQtcGFkZGluZykge1xuXG4uYnV0dG9uLS1wcmltYXJ5LFxuLmJ1dHRvbi5wcmltYXJ5IHtcbiAgQGluY2x1ZGUgYnV0dG9uKHByaW1hcnkpO1xufVxuXG4uYnV0dG9uLS1zZWNvbmRhcnkge1xuICBAaW5jbHVkZSBidXR0b24oc2Vjb25kYXJ5KTtcbn1cblxuLmJ1dHRvbi0tdGVydGlhcnkge1xuICBAaW5jbHVkZSBidXR0b24odGVydGlhcnkpO1xufVxuIiwiLyogQHBhcnRpYWwgX2ZpZWxkc2V0cy5zY3NzICovXG5cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiAzLiBDb3JyZWN0IGFsaWdubWVudCBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgNi83LlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xuICBmb250LXdlaWdodDogJGxlZ2VuZC1mb250LXdlaWdodDtcbn1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cbiIsIi8qIEBwYXJ0aWFsIF90YWJsZXMuc2NzcyAqL1xuXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICB3aWR0aDogMTAwJTsgLyogUHJldmVudCBjcmFtcGVkLWxvb2tpbmcgdGFibGVzICovXG4gIC8qIEFkZCB2ZXJ0aWNhbCByaHl0aG0gbWFyZ2lucy4gKi9cbiAgbWFyZ2luOiAkdmVydC1ndXR0ZXIgMDtcblxuICAmLm5vLWJvcmRlcnMge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4udGFibGUtd3JhcHBlciB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbGFyZ2UtbWF4KSB7XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHVpLWJvcmRlci1jb2xvcjtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkdWktYm9yZGVyLWNvbG9yO1xuICAgIG1hcmdpbjogJHZlcnQtZ3V0dGVyIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICYgPiB0YWJsZSB7XG4gICAgICBtYXJnaW46IDAgLTFweDtcbiAgICB9XG4gIH1cblxuICAmLm5vLWJvcmRlcnMge1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgfVxufVxuXG50Ym9keSB7XG4gIGJvcmRlci1zdHlsZTogJHRhYmxlLXRib2R5LWJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLXdpZHRoOiAkdGFibGUtdGJvZHktYm9yZGVyLXdpZHRoO1xuICBib3JkZXItY29sb3I6ICR0YWJsZS10Ym9keS1ib3JkZXItY29sb3I7XG59XG5cbnRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLyogTFRSICovXG4gIGJhY2tncm91bmQ6ICRncmF5LWRhcms7XG4gIGNvbG9yOiAjZmZmO1xuICBoNSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1taW4pIHtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgaDUge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgZm9udC1zaXplOiAkYm9keS1zbWFsbC1mb250LXNpemU7XG4gICAgaDUge1xuICAgICAgZm9udC1zaXplOiAkYm9keS1zbWFsbC1mb250LXNpemU7XG4gICAgfVxuICB9XG59XG5cbnRkIHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkdWktYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgZm9udC1zaXplOiAkYm9keS1zbWFsbC1mb250LXNpemU7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1heCkge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHVpLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC5uby1ib3JkZXJzICYge1xuICAgIGJvcmRlcjogMDtcblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG50YWJsZSB0ZCwgdGFibGUgdGgge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgcGFkZGluZzogJHRhYmxlLXRkLXBhZGRpbmc7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1heCkge1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgfVxufVxuXG5cbnRyLmV2ZW4sXG50cjpudGgtY2hpbGQoZXZlbikge1xuICBiYWNrZ3JvdW5kOiAkdGFibGUtdHItZXZlbi1iYWNrZ3JvdW5kO1xuICBib3JkZXItc3R5bGU6ICR0YWJsZS10ci1ldmVuLWJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLXdpZHRoOiAkdGFibGUtdHItZXZlbi1ib3JkZXItd2lkdGg7XG4gIGJvcmRlci1jb2xvcjogJHRhYmxlLXRyLWV2ZW4tYm9yZGVyLWNvbG9yO1xuXG4gIC5uby1ib3JkZXJzICYge1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG50ci5vZGQsXG50cjpudGgtY2hpbGQob2RkKSB7XG4gIGJhY2tncm91bmQ6ICR0YWJsZS10ci1vZGQtYmFja2dyb3VuZDtcbiAgYm9yZGVyLXN0eWxlOiAkdGFibGUtdHItb2RkLWJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLXdpZHRoOiAkdGFibGUtdHItb2RkLWJvcmRlci13aWR0aDtcbiAgYm9yZGVyLWNvbG9yOiAkdGFibGUtdHItb2RkLWJvcmRlci1jb2xvcjtcblxuICAubm8tYm9yZGVycyAmIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxudHIuZHJhZyB7XG4gIGJhY2tncm91bmQ6ICR0YWJsZS10ci1kcmFnLWJhY2tncm91bmQ7XG59XG5cbi5wcm9ncmFtLWdyb3VwIHtcbiAgbWFyZ2luOiAwO1xuXG4gIHRkLCB0aCB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1taW4pIHtcbiAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1heCkge1xuICAgICAgICB3aWR0aDogODBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0aDpsYXN0LWNoaWxkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgfVxuXG4gIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1tYXgpIHtcbiAgICAgIHdpZHRoOiAxMTBweDtcbiAgICB9XG4gIH1cblxuICAuY291cnNlX19kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufSIsIi8qIEBwYXJ0aWFsIF9maWVsZC5zY3NzICovXG5cbi5kYXRlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIC5kYXRlX19tb250aCB7XG4gICAgY29sb3I6ICRncmF5LWRhcmtlcjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgLmRhdGVfX2RheSB7XG4gICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBmb250LXdlaWdodDogOTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG59IiwiI2xpdmVhZ2VudF9pbnZpdGVfYnV0dG9uXzU3M0cwMDAwMDAwNHZmSSBpbWc6bGFzdC1jaGlsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMThweDtcbn1cbiIsIi8qIENvbnRhY3QgSWNvbnMgKi9cblxuJWNvbnRhY3QtaWNvbnMge1xuICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmctbGVmdDogMjhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OlwiXCI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgfVxufVxuXG4lY29udGFjdC1waG9uZSB7XG4gICY6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tb2JpbGUtLXJlZC5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgfVxuICAuc3ZnICYge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21vYmlsZS0tcmVkLnN2ZycpO1xuICAgIH1cbiAgfVxufVxuXG4lY29udGFjdC1mYXgge1xuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZmF4LS1yZWQucG5nJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDg1JTtcbiAgfVxuICAuc3ZnICYge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ZheC0tcmVkLnN2ZycpO1xuICAgIH1cbiAgfVxufVxuXG4lY29udGFjdC1ob3VycyB7XG4gICY6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9ob3Vycy0tcmVkLnBuZycpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byA4NSU7XG4gIH1cbiAgLnN2ZyAmIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9ob3Vycy0tcmVkLnN2ZycpO1xuICAgIH1cbiAgfVxufVxuXG4lY29udGFjdC1lbWFpbCB7XG4gICY6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYWlsLS1yZWQucG5nJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiA4NCUgYXV0bztcbiAgfVxuICAuc3ZnICYge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21haWwtLXJlZC5zdmcnKTtcbiAgICB9XG4gIH1cbn1cblxuJWNvbnRhY3QtY2hhdCB7XG4gICY6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jaGF0LS1yZWQucG5nJyk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gIH1cbiAgLnN2ZyAmIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jaGF0LS1yZWQuc3ZnJyk7XG4gICAgfVxuICB9XG59XG5cbiVjb250YWN0LWFkZHJlc3Mge1xuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbG9jYXRpb24tLXJlZC5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gODUlO1xuICB9XG4gIC5zdmcgJiB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbG9jYXRpb24tLXJlZC5zdmcnKTtcbiAgICB9XG4gIH1cbn1cblxuXG4uY29udGFjdDpub3QoLmNvbnRhY3QtLWJ1dHRvbikge1xuICBAZXh0ZW5kICVjb250YWN0LWljb25zO1xuXG4gICYuY29udGFjdC0tcGhvbmUge1xuICAgIEBleHRlbmQgJWNvbnRhY3QtcGhvbmU7XG4gIH1cblxuICAmLmNvbnRhY3QtLWVtYWlsIHtcbiAgICBAZXh0ZW5kICVjb250YWN0LWVtYWlsO1xuICB9XG5cbiAgJi5jb250YWN0LS1jaGF0IHtcbiAgICBAZXh0ZW5kICVjb250YWN0LWNoYXQ7XG4gIH1cblxuICAmLmNvbnRhY3QtLWFkZHJlc3Mge1xuICAgIEBleHRlbmQgJWNvbnRhY3QtYWRkcmVzcztcbiAgfVxuXG4gICYuY29udGFjdC0tZmF4IHtcbiAgICBAZXh0ZW5kICVjb250YWN0LWZheDtcbiAgfVxuXG4gICYuY29udGFjdC0taG91cnMge1xuICAgIEBleHRlbmQgJWNvbnRhY3QtaG91cnM7XG4gIH1cbn1cblxuXG4vKiBTb2NpYWwgSWNvbnMgKi9cblxuJXNvY2lhbCB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDIycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMTI1KTtcbiAgfVxufVxuXG4lc29jaWFsLWZhY2Vib29rIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZmFjZWJvb2stLXdoaXRlLnBuZycpO1xuICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMjBweDtcblxuICAuc3ZnICYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ZhY2Vib29rLS13aGl0ZS5zdmcnKTtcbiAgfVxufVxuXG4lc29jaWFsLXR3aXR0ZXIge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy90d2l0dGVyLS13aGl0ZS5wbmcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyMHB4IGF1dG87XG5cbiAgLnN2ZyAmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy90d2l0dGVyLS13aGl0ZS5zdmcnKTtcbiAgfVxufVxuXG4lc29jaWFsLWluc3RhZ3JhbSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2luc3RhZ3JhbS0td2hpdGUucG5nJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMjBweCBhdXRvO1xuXG4gIC5zdmcgJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaW5zdGFncmFtLS13aGl0ZS5zdmcnKTtcbiAgfVxufVxuXG4lc29jaWFsLXlvdXR1YmUge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy95b3V0dWJlLS13aGl0ZS5wbmcnKTtcbiAgYmFja2dyb3VuZC1zaXplOiAyMHB4IGF1dG87XG5cbiAgLnN2ZyAmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy95b3V0dWJlLS13aGl0ZS5zdmcnKTtcbiAgfVxufVxuXG4lc29jaWFsLWxpbmtlZGluIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbGlua2VkaW4tLXdoaXRlLnBuZycpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggYXV0bztcblxuICAuc3ZnICYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2xpbmtlZGluLS13aGl0ZS5zdmcnKTtcbiAgfVxufVxuXG4lc29jaWFsLWZsaWNrciB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ZsaWNrci0td2hpdGUucG5nJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMjBweCBhdXRvO1xuXG4gIC5zdmcgJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZmxpY2tyLS13aGl0ZS5zdmcnKTtcbiAgfVxufVxuXG4lc29jaWFsLXdvcmRwcmVzcyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3dvcmRwcmVzcy0td2hpdGUucG5nJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogMjBweCBhdXRvO1xuXG4gIC5zdmcgJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvd29yZHByZXNzLS13aGl0ZS5zdmcnKTtcbiAgfVxufVxuXG4uc29jaWFsIHtcbiAgQGV4dGVuZCAlc29jaWFsO1xuXG4gICYgKyAuc29jaWFsIHtcbiAgICBtYXJnaW4tbGVmdDogJGhvcml6LWd1dHRlci80O1xuICB9XG5cbiAgJi5mYWNlYm9vayB7XG4gICAgQGV4dGVuZCAlc29jaWFsLWZhY2Vib29rO1xuICB9XG5cbiAgJi50d2l0dGVyIHtcbiAgICBAZXh0ZW5kICVzb2NpYWwtdHdpdHRlcjtcbiAgfVxuXG4gICYuaW5zdGFncmFtIHtcbiAgICBAZXh0ZW5kICVzb2NpYWwtaW5zdGFncmFtO1xuICB9XG5cbiAgJi55b3V0dWJlIHtcbiAgICBAZXh0ZW5kICVzb2NpYWwteW91dHViZTtcbiAgfVxuXG4gICYubGlua2VkaW4ge1xuICAgIEBleHRlbmQgJXNvY2lhbC1saW5rZWRpbjtcbiAgfVxuXG4gICYuZmxpY2tyIHtcbiAgICBAZXh0ZW5kICVzb2NpYWwtZmxpY2tyO1xuICB9XG5cbiAgJi53b3JkcHJlc3Mge1xuICAgIEBleHRlbmQgJXNvY2lhbC13b3JkcHJlc3M7XG4gIH1cbn1cbiIsIi8qIEBwYXJ0aWFsIF9wYWdlci5zY3NzICovXG5cblxuLyogQSBsaXN0IG9mIHBhZ2UgbnVtYmVycyB3aGVuIG1vcmUgdGhhbiAxIHBhZ2Ugb2YgY29udGVudCBpcyBhdmFpbGFibGUuICovXG4ucGFnZXIge1xuICBjbGVhcjogYm90aDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDAgYXV0bztcbiAgcGFkZGluZy10b3A6ICRob3Jpei1ndXR0ZXI7XG4gIC5wYWdlcl9faXRlbXMge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbiVwYWdlcl9faXRlbSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbihwcmltYXJ5KTtcbiAgcGFkZGluZzogNHB4IDEycHg7XG59XG5cbi5wYWdlcl9faXRlbSwgICAgICAvKiBBIGxpc3QgaXRlbSBjb250YWluaW5nIGEgcGFnZSBudW1iZXIgaW4gdGhlIGxpc3Qgb2YgcGFnZXMuICovXG4ucGFnZXJfX2ZpcnN0LCAgICAgLyogVGhlIGZpcnN0IHBhZ2UncyBsaXN0IGl0ZW0uICovXG4ucGFnZXJfX3ByZXZpb3VzLCAgLyogVGhlIHByZXZpb3VzIHBhZ2UncyBsaXN0IGl0ZW0uICovXG4ucGFnZXJfX25leHQsICAgICAgLyogVGhlIG5leHQgcGFnZSdzIGxpc3QgaXRlbS4gKi9cbi5wYWdlcl9fbGFzdCwgICAgICAvKiBUaGUgbGFzdCBwYWdlJ3MgbGlzdCBpdGVtLiAqL1xuLnBhZ2VyX19lbGxpcHNpcyB7IC8qIEEgY29uY2F0ZW5hdGlvbiBvZiBzZXZlcmFsIGxpc3QgaXRlbXMgdXNpbmcgYW4gZWxsaXBzaXMuICovXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkdmVydC1ndXR0ZXIvMztcbiAgfVxuICBhIHtcbiAgICBAZXh0ZW5kICVwYWdlcl9faXRlbTtcbiAgICAvLyAmOmhvdmVyLCA6YWN0aXZlIHtcbiAgICAvLyAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdlci1jb2xvci1ob3ZlcjtcbiAgICAvLyAgIGJvcmRlci1yYWRpdXM6ICR1aS1ib3JkZXItcmFkaXVzO1xuICAgIC8vICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAvLyAgIGNvbG9yOiBsaWdodGVuKCRwYWdlci1jb2xvciwgMTAwJSk7XG4gICAgLy8gICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgLy8gfVxuICB9XG4gICYuaXMtYWN0aXZlIHtcbiAgICBhIHtcbiAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5wYWdlcl9faXRlbS0tZWxsaXBzaXMge1xuICBwYWRkaW5nOiA0cHggOHB4O1xufVxuXG4ucGFnZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgJi5wYWdlcl9fY3VycmVudCB7XG4gICAgICBAZXh0ZW5kICVwYWdlcl9faXRlbTtcbiAgICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgfVxuICB9XG59XG5cbiIsIi8qIEBwYXJ0aWFsIF9icmVhZGNydW1iLnNjc3MgKi9cblxuXG4vKiBCcmVhZGNydW1iXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uZGF2ZW5wb3J0LWJyZWFkY3J1bWJzIHtcbiAgZm9udC1zaXplOiAkYm9keS1zbWFsbC1mb250LXNpemU7IC8vMTRweFxuICBjb2xvcjogJGdyYXktZGFya2VyO1xuICBtYXJnaW4tYm90dG9tOiAkc2VjdGlvbi1zcGFjZS8yO1xuICBcbiAgb2wge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGEge1xuICAgICAgY29sb3I6ICRncmF5LWRhcmtlcjtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIiDigLogXCI7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyogQHBhcnRpYWwgX3RhYnMuc2NzcyAqL1xuXG5cbnVsLnRhYnNfX3ByaW1hcnksXG51bC50YWJzX19zZWNvbmRhcnkge1xuIEBpbmNsdWRlIG1pY3JvLWNsZWFyZml4O1xuIGxpc3Qtc3R5bGU6IG5vbmU7XG4gbWFyZ2luOiAxMHB4IDAgMDtcbiBwYWRkaW5nOiAwO1xuIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gbGkge1xuICAgZmxvYXQ6IGxlZnQ7IC8qIExUUiAqL1xuICAgbWFyZ2luOiAwO1xuIH1cbiBhLCBhOmxpbmsge1xuICAgZGlzcGxheTogYmxvY2s7XG4gICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gfVxufVxuXG51bC50YWJzX19wcmltYXJ5IHtcbiAgbGkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1iYWNrZ3JvdW5kLWNvbG9yLS1hY3RpdmU7XG4gICAgICAgIGNvbG9yOiAkdGFicy1jb250ZW50LWNvbG9yLS1hY3RpdmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJzLWJhY2tncm91bmQtY29sb3ItLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICBmb250LXNpemU6ICR0YWJzLWZvbnQtc2l6ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJzLWJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR0YWJzLWJvcmRlci1jb2xvcjtcbiAgICAgIGJvcmRlci10b3AtcmFkaXVzOiAkdGFicy1ib3JkZXItcmFkaXVzO1xuICAgICAgY29sb3I6ICR0YWJzLWNvbnRlbnQtY29sb3I7XG4gICAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICR0YWJzLWNvbnRlbnQtY29sb3ItLWFjdGl2ZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1iYWNrZ3JvdW5kLWNvbG9yLS1hY3RpdmU7XG4gICAgICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkICR0YWJzLWJhY2tncm91bmQtY29sb3ItLWFjdGl2ZTtcbiAgICAgIH1cbiAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtYmFja2dyb3VuZC1jb2xvci0tYWN0aXZlO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR0YWJzLWJhY2tncm91bmQtY29sb3ItLWFjdGl2ZTtcbiAgICAgICAgY29sb3I6ICR0YWJzLWNvbnRlbnQtY29sb3ItLWFjdGl2ZTtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKiBBY2NvcmRpb25zICovXG4uYWNjb3JkaW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC5hY2NvcmRpb25fX3RvZ2dsZXtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheS1saWdodGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0ZXI7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAkaG9yaXotZ3V0dGVyO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodGVyO1xuICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0ZXI7XG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICB9XG4gIH1cblxuICAuYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR1aS1ib3JkZXItY29sb3I7XG5cbiAgICAmID4gKiB7XG4gICAgICBwYWRkaW5nOiAkaG9yaXotZ3V0dGVyO1xuXG4gICAgICAmICsgKiB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdWktYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICAmID4gLmZpZWxkLS1hY2NvcmRpb24tbGlua3MsXG4gICAgJiA+IHRhYmxlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgJi5jb2xsYXBzZWQge1xuICAgIC5oaWRlLFxuICAgIC5hY2NvcmRpb25fX2NvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uX190b2dnbGU6YWZ0ZXIge1xuICAgICAgY29udGVudDpcIitcIjtcbiAgICB9XG4gIH1cbiAgJi5leHBhbmRlZCB7XG4gICAgLnNob3cge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYWNjb3JkaW9uX190b2dnbGU6YWZ0ZXIge1xuICAgICAgY29udGVudDpcIuKAk1wiO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgdGFibGU6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAuZmllbGQtLWFjY29yZGlvbi1saW5rcyB7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbih0ZXJ0aWFyeSk7XG4gICAgfVxuXG4gICAgJiA+IGRpdiB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHVpLWJvcmRlci1jb2xvcjtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS10ZC1wYWRkaW5nO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIC5wcm9ncmFtLWdyb3VwIHtcbiAgLy8gICB0ZDpmaXJzdC1jaGlsZCB7XG4gIC8vICAgICBib3JkZXItbGVmdDogMDtcbiAgLy8gICB9XG5cbiAgLy8gICB0ZDpsYXN0LWNoaWxkIHtcbiAgLy8gICAgIGJvcmRlci1yaWdodDogMDtcbiAgLy8gICB9XG4gIC8vIH1cblxuICAuZmllbGQtLXByb2dyYW0tY3VycmljdWx1bSAmIHtcbiAgICAuYWNjb3JkaW9uX19jb250ZW50IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIiNjb3Vyc2UtZGlhbG9nIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjc1KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk5O1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZzogJGhvcml6LWd1dHRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgJi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuY291cnNlLWRpYWxvZ19fY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR1aS1ib3JkZXItY29sb3I7XG4gICAgcGFkZGluZzogJGhvcml6LWd1dHRlcjtcbiAgICBtYXgtd2lkdGg6IDk2MHB4O1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4O1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgI2NvdXJzZS1kaWFsb2dfX2Nsb3NlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy94LnBuZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjBweCBhdXRvO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCAkcHJpbWFyeS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgbWFyZ2luLXRvcDogMDtcblxuICAgICYgKyBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdmcgJiB7XG4gICAgI2NvdXJzZS1kaWFsb2dfX2Nsb3NlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3guc3ZnJyk7XG4gICAgfVxuICB9XG59XG5cbi5yZWdpb24tLWJvdHRvbSAuY29udGV4dHVhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKiBTbGlkZXIgKi8gXG4uc2xpY2stc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2xpY2stbG9hZGluZyB7XG4gIC5zbGljay10cmFjayxcbiAgLnNsaWNrLXNsaWRlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbn1cblxuLnNsaWNrLWxpc3Qge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLnNsaWNrLXNsaWRlIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5zbGljay1hcnJvdyB7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCk7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW46IGF1dG87XG4gIHotaW5kZXg6IDU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsMjU1LDI1NSwwLjE1KTtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIFxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDpcIlxcMjVCRVwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi5zbGljay1kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIG9wYWNpdHk6IDAuNTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cblxuICAmLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IDA7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgJi5zbGljay1uZXh0IHtcbiAgICByaWdodDogMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB9XG4gIH1cbn0iLCIvKiBTdWJtZW51IENhcmF0IEluZGljYXRvciAqL1xuLnRvZ2dsZS1zdWJtZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDpcIlxcMjVCOFwiO1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiBTaWRlYmFyIG1lbnUgKi9cbi5zaWRlYmFyIHtcbiAgbmF2IHtcbiAgICAvLyBoMiB7XG4gICAgLy8gICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAvLyAgIGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTtcbiAgICAvLyAgIG1hcmdpbi10b3A6IDA7XG4gICAgLy8gICBtYXJnaW4tYm90dG9tOiAkaG9yaXotZ3V0dGVyO1xuICAgIC8vIH1cblxuICAgIHVsIHtcbiAgICAgIGxpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR1aS1ib3JkZXItY29sb3I7XG4gICAgICAgIHBhZGRpbmc6ICR2ZXJ0LWd1dHRlci8yIDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR1aS1ib3JkZXItY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICAgICAgICBmb250LXNpemU6ICRib2R5LXNtYWxsLWZvbnQtc2l6ZTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkbGluay1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRob3Jpei1ndXR0ZXI7XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICR2ZXJ0LWd1dHRlci80IDA7XG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJHZlcnQtZ3V0dGVyLzQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgdGhlcmUncyBhIHN1Ym1lbnVcbiAgICAgICAgJi5tZW51LWl0ZW0tLWV4cGFuZGVkIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgLnRvZ2dsZS1zdWJtZW51IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogJHZlcnQtZ3V0dGVyLzI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gJiA+IGE6YWZ0ZXIge1xuICAgICAgICAgIC8vICAgY29udGVudDogXCJcXDI1QjhcIjtcbiAgICAgICAgICAvLyAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgICAvLyAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAvLyAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAvLyAgIHRvcDogMXB4O1xuICAgICAgICAgIC8vIH1cbiAgICAgICAgICAmLm1lbnUtaXRlbS0tYWN0aXZlLXRyYWlsIHtcbiAgICAgICAgICAgICYgPiAudG9nZ2xlLXN1Ym1lbnU6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIlxcMjVCRVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGxpbmsgaXMgaW4gdGhlIGFjdGl2ZSBtZW51IHRyYWlsXG4gICAgICAgICYubWVudS1pdGVtLS1hY3RpdmUtdHJhaWwge1xuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKiBBcmVhIG9mIFN0dWR5IFwiSSdtIEludGVyZXN0ZWQgSW5cIiBuYXYgKi9cbi5pbnRlcmVzdGVkLXRvZ2dsZSB7XG5cbn0iLCIvKiBAcGFydGlhbCBfbWVzc2FnZXMuc2NzcyAqL1xuXG5cbi5tZXNzYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkdmVydC1ndXR0ZXIvMiAkaG9yaXotZ3V0dGVyO1xuICAvLyBtYXJnaW4tdG9wOiAkdmVydC1ndXR0ZXI7XG5cbiAgLm1lc3NhZ2VfX3RleHQge1xuICAgIEBpbmNsdWRlIGxheW91dC1jb250YWluZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAkaG9yaXotZ3V0dGVyKjI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAkaG9yaXotZ3V0dGVyO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgfVxuICB9XG5cbiAgJi0tYWxlcnQsXG4gICYtLWVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRlcnJvci1jb2xvciwgNDAlKTtcblxuICAgIC5tZXNzYWdlX190ZXh0OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy94LnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgfVxuICB9XG4gICYtLXN0YXR1cyxcbiAgJi0tc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogI2QwZjllMTtcblxuICAgIC5tZXNzYWdlX190ZXh0OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jaGVja21hcmstLWdyZWVuLnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgfVxuICB9XG4gICYtLXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHdhcm5pbmctY29sb3IsIDM1JSk7XG5cbiAgICAubWVzc2FnZV9fdGV4dDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvd2FybmluZy5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5zdmcgJiB7XG4gICAgJi0tYWxlcnQsXG4gICAgJi0tZXJyb3Ige1xuICAgICAgLm1lc3NhZ2VfX3RleHQ6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMveC5zdmcnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tc3RhdHVzLFxuICAgICYtLXN1Y2Nlc3Mge1xuICAgICAgLm1lc3NhZ2VfX3RleHQ6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvY2hlY2ttYXJrLS1ncmVlbi5zdmcnKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0td2FybmluZyB7XG4gICAgICAubWVzc2FnZV9fdGV4dDpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy93YXJuaW5nLnN2ZycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyAvKiBTeXN0ZW0gc3RhdHVzIHJlcG9ydC4gKi9cbi8vIC5vayxcbi8vICVvayB7XG4vLyAgIGJhY2tncm91bmQtY29sb3I6ICRzdWNjZXNzLWJhY2tncm91bmQ7XG4vLyAgIGNvbG9yOiAkc3VjY2Vzcy10ZXh0O1xuLy8gfVxuLy8gLndhcm5pbmcsXG4vLyAld2FybmluZyB7XG4vLyAgIGJhY2tncm91bmQtY29sb3I6ICR3YXJuaW5nLWJhY2tncm91bmQ7XG4vLyAgIGNvbG9yOiAkd2FybmluZy10ZXh0O1xuLy8gfVxuLy8gLmVycm9yLFxuLy8gJWVycm9yIHtcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogJGVycm9yLWJhY2tncm91bmQ7XG4vLyAgIGNvbG9yOiAgJGVycm9yLXRleHQ7XG4vLyB9XG5cblxuLy8gLy8gTm90IHN1cmUgY2xhc3Nlc2FyZSB0aGUgc2FtZS5cbi8vIC5tZXNzYWdlcyB7XG4vLyAgIG1hcmdpbjogJHZlcnQtZ3V0dGVyIDA7XG4vLyAgIGJvcmRlcjogMXB4IHNvbGlkICRzdWNjZXNzLWJvcmRlcjtcbi8vIH1cblxuLy8gLm1lc3NhZ2VzX19zdGF0dXMge1xuLy8gICBAZXh0ZW5kIC5tZXNzYWdlcztcbi8vICAgQGV4dGVuZCAlb2s7XG4vLyB9XG4vLyAubWVzc2FnZXNfX3dhcm5pbmcge1xuLy8gICBAZXh0ZW5kIC5tZXNzYWdlcztcbi8vICAgQGV4dGVuZCAld2FybmluZztcbi8vICAgYm9yZGVyLWNvbG9yOiAkd2FybmluZy1ib3JkZXI7XG5cbi8vIH1cbi8vIC5tZXNzYWdlc19fZXJyb3Ige1xuLy8gICBAZXh0ZW5kIC5tZXNzYWdlcztcbi8vICAgQGV4dGVuZCAlZXJyb3I7XG4vLyAgIGJvcmRlci1jb2xvcjogJGVycm9yLWJhY2tncm91bmQ7XG5cbi8vIH1cbi8vIC5tZXNzYWdlcy0tbGlzdCB7XG4vLyAgIG1hcmdpbjogMDtcbi8vIH1cbi8vIC5tZXNzYWdlcy0taXRlbSB7XG4vLyAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4vLyB9XG5cbi8vIC8qIENvcmUvbW9kdWxlIGluc3RhbGxhdGlvbiBlcnJvciBtZXNzYWdlcy4gKi9cbi8vIC5tZXNzYWdlc19fZXJyb3IgIHAuZXJyb3Ige1xuLy8gICBjb2xvcjogIzMzMztcbi8vIH1cbiIsIi8qIEBwYXJ0aWFsIGhvcml6b250YWwtdGFicyAqL1xuXG4vLyBUaGVzZSBhcmUgb3ZlcnJpZGVzXG4vLyBAVE9ETyBSZXdyaXRlIGNvcmUgZmlsZSB3aXRoIHZhcmlhYmxlcyAmIHJlbW92ZSBjb3JlJ3MgZmlsZS5cblxuLy8gZGl2Lmhvcml6b250YWwtdGFicyB7XG4vLyAgIG1hcmdpbjogMCAwIDFlbSAwOyAvKiBMVFIgKi9cbi8vICAgcGFkZGluZzogMDtcbi8vICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBJRTYvNyAqL1xuLy8gfVxuXG4vLyAuaG9yaXpvbnRhbC10YWJzLXBhbmVzIHtcbi8vICAgYm9yZGVyOiAxcHggc29saWQgJHRhYnMtYm9yZGVyLWNvbG9yO1xuLy8gICBtYXJnaW4tdG9wOiAtOXB4O1xuLy8gICBib3JkZXItYm90dG9tLXJhZGl1czogJHRhYnMtYm9yZGVyLXJhZGl1cztcbi8vIH1cblxuLy8gLmhvcml6b250YWwtdGFicyB1bC5ob3Jpem9udGFsLXRhYnMtbGlzdCB7XG4vLyAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vICAgbWFyZ2luOiAwO1xuLy8gICBib3JkZXI6IDA7XG4vLyAgIHBhZGRpbmc6IDBweDtcbi8vICAgcG9zaXRpb246IHJlbGF0aXZlOyAvKiBJRTYgKi9cbi8vICAgbGlzdC1zdHlsZTogbm9uZTtcbi8vICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTsgLyogSUU2ICovXG4vLyAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4vLyAgIHdpZHRoOiAxMDAlO1xuLy8gICBoZWlnaHQ6IGF1dG87XG4vLyAgIGNsZWFyOiBib3RoO1xuLy8gfVxuXG4vLyBmaWVsZHNldC5maWVsZC1ncm91cC1odGFiIHtcbi8vICAgbWFyZ2luOiAwO1xuLy8gICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuLy8gfVxuXG4vLyAuaG9yaXpvbnRhbC10YWJzIGZpZWxkc2V0Lmhvcml6b250YWwtdGFicy1wYW5lIHtcbi8vICAgcGFkZGluZzogMWVtO1xuLy8gICBib3JkZXI6IDA7XG4vLyAgIGJhY2tncm91bmQ6ICNmZmY7XG4vLyB9XG5cbi8vIC5ob3Jpem9udGFsLXRhYnMtcGFuZT5sZWdlbmQge1xuLy8gICBkaXNwbGF5OiBub25lO1xuLy8gfVxuXG4vLyAvKiBMYXlvdXQgb2YgZWFjaCB0YWIgKi9cbi8vIC5ob3Jpem9udGFsLXRhYnMgdWwuaG9yaXpvbnRhbC10YWJzLWxpc3QgbGkge1xuLy8gICBiYWNrZ3JvdW5kOiAkdGFicy1iYWNrZ3JvdW5kLWNvbG9yO1xuLy8gICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkdGFicy1ib3JkZXItY29sb3I7XG4vLyAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdGFicy1ib3JkZXItY29sb3I7XG4vLyAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdGFicy1ib3JkZXItY29sb3I7XG4vLyAgIHBhZGRpbmc6IDFweDtcbi8vICAgcGFkZGluZy10b3A6IDA7XG4vLyAgIG1hcmdpbjogMDtcbi8vICAgbWluLXdpZHRoOiA1ZW07IC8qIElFNyAqL1xuLy8gICBmbG9hdDogbGVmdDtcbi8vICAgJi5maXJzdCB7XG4vLyAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkdGFicy1ib3JkZXItY29sb3I7XG4vLyAgIH1cbi8vICAgJi5zZWxlY3RlZCB7XG4vLyAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmY7XG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbi8vICAgICBwYWRkaW5nOiAwIDAgMXB4IDA7XG4vLyAgICAgYSB7XG4vLyAgICAgICBib3JkZXItdG9wOiAuMjVlbSBzb2xpZCAkdGFicy1ib3JkZXItY29sb3ItLWFjdGl2ZTtcbi8vICAgICAgIGNvbG9yOiAjMDAwO1xuLy8gICAgICAgZGlzcGxheTogYmxvY2s7XG4vLyAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyAgICAgICBwYWRkaW5nOiAwLjVlbSAwLjZlbSAwLjNlbSAwLjZlbTtcbi8vICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICAgICAgIHRvcDogMHB4O1xuLy8gICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4vLyAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4vLyAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4vLyAgICAgICAgIGNvbG9yOiAjMDAwO1xuLy8gICAgICAgfVxuLy8gICAgIH1cbi8vICAgfVxuLy8gICBhIHtcbi8vICAgICBmb250LXNpemU6IC44NzVlbTtcbi8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyAgICAgcGFkZGluZzogMC41ZW0gMC42ZW07XG4vLyAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICAgIHRvcDogMHB4O1xuLy8gICAgICY6aG92ZXIge1xuLy8gICAgICAgb3V0bGluZTogbm9uZTtcbi8vICAgICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuLy8gICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcbi8vICAgICAgIHN0cm9uZyB7XG4vLyAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbi8vICAgICAgICAgb3V0bGluZTogbm9uZTtcbi8vICAgICAgIH1cbi8vICAgICB9XG4vLyAgICAgJjpmb2N1cyxcbi8vICAgICAmOmFjdGl2ZSB7XG4vLyAgICAgICBzdHJvbmcge1xuLy8gICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4vLyAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4vLyAgICAgICB9XG4vLyAgICAgfVxuLy8gICB9XG4vLyAgICY6aG92ZXIsXG4vLyAgICY6Zm9jdXMge1xuLy8gICAgIG91dGxpbmU6IG5vbmU7XG4vLyAgIH1cbi8vIH1cblxuLy8gLmhvcml6b250YWwtdGFicyB1bC5ob3Jpem9udGFsLXRhYnMtbGlzdCAuc2VsZWN0ZWQgc3Ryb25nIHtcbi8vIH1cbi8vIC5ob3Jpem9udGFsLXRhYnMgdWwuaG9yaXpvbnRhbC10YWJzLWxpc3QgLnN1bW1hcnkge1xuLy8gICBkaXNwbGF5OiBibG9jaztcbi8vIH1cbi8vIC5ob3Jpem9udGFsLXRhYnMgdWwuaG9yaXpvbnRhbC10YWJzIHVsLmhvcml6b250YWwtdGFicy1saXN0IC5zdW1tYXJ5IHtcbi8vICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbi8vICAgbWFyZ2luLWJvdHRvbTogMDtcbi8vIH1cblxuLy8gLyoqXG4vLyAgKiB0YWIgY29udGVudFxuLy8gICovXG4vLyBkaXYuZmllbGQtZ3JvdXAtaHRhYnMtd3JhcHBlciAuZmllbGQtZ3JvdXAtZm9ybWF0LXdyYXBwZXIge1xuLy8gICBjbGVhcjogYm90aDtcbi8vICAgcGFkZGluZzogMCAwIDAuNmVtO1xuLy8gfVxuLy8gLypoaWRlKi9cbi8vIC5ob3Jpem9udGFsLXRhYnMgLmhvcml6b250YWwtdGFiLWhpZGRlbiB7XG4vLyAgIGRpc3BsYXk6IGJsb2NrO1xuLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4vLyAgIHRvcDogLTEwMDAwMHB4O1xuLy8gfVxuXG4vLyAvKiBBRERFRCAqL1xuXG4vLyAuaG9yaXpvbnRhbC10YWJzLXBhbmUgZmllbGRzZXQge1xuLy8gICBiYWNrZ3JvdW5kOiBub25lO1xuLy8gICBib3JkZXI6IG5vbmU7XG4vLyB9XG5cbiIsIi8qIEBwYXJ0aWFsIHZlcnRpY2FsLXRhYnMgKi9cblxuLy8gVGhlc2UgYXJlIG92ZXJyaWRlc1xuLy8gQFRPRE8gUmV3cml0ZSBjb3JlIGZpbGUgd2l0aCB2YXJpYWJsZXMgJiByZW1vdmUgY29yZSdzIGZpbGUuXG5cblxuLmpzLWZvcm0tdHlwZS12ZXJ0aWNhbC10YWJzIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogJG1lYXN1cmU7XG4gICoge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cbiAgLmpzLWZvcm0tdHlwZS1jaGVja2JveCxcbiAgLmpzLWZvcm0tdHlwZS1yYWRpbyB7XG4gICAgbGFiZWwge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4udmVydGljYWwtdGFicyB7XG4gIGJhY2tncm91bmQ6ICRncmF5LWxpZ2h0ZXI7XG4gIGJvcmRlcjogMHB4O1xuICBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgLnZlcnRpY2FsLXRhYnNfX21lbnUge1xuICAgIGJvcmRlcjogMHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAudmVydGljYWwtdGFic19fbWVudS1pdGVtIHtcbiAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgfVxuICAgICAgJi5pcy1zZWxlY3RlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgICAgIGJvcmRlci1yaWdodDogMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAudmVydGljYWwtdGFic19fcGFuZXMge1xuICAgIHBhZGRpbmc6ICR2ZXJ0LWd1dHRlcjtcbiAgfVxufVxuXG4vLyAudmVydGljYWwtdGFicyBmaWVsZHNldC52ZXJ0aWNhbC10YWJzLXBhbmUge1xuLy8gICAgIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgdHJhbnNwYXJlbnQ7XG4vLyB9XG5cbi8vIGRpdi52ZXJ0aWNhbC10YWJzIHtcbi8vICAgbWFyZ2luOiAyZW0gMCAxZW0gMTVlbTsgLyogTFRSICovXG4vLyAgIGJvcmRlcjogMXB4IHNvbGlkICR0YWJzLWJvcmRlci1jb2xvcjtcbi8vICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtY29udGVudC1jb2xvci0tYWN0aXZlO1xuLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7IC8qIElFNi83ICovXG4vLyB9XG4vLyAudmVydGljYWwtdGFicyB1bC52ZXJ0aWNhbC10YWJzLWxpc3Qge1xuLy8gICB3aWR0aDogMTVlbTtcbi8vICAgbGlzdC1zdHlsZTogbm9uZTtcbi8vICAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTsgLyogSUU2ICovXG4vLyAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdGFicy1ib3JkZXItY29sb3I7XG4vLyAgIHBhZGRpbmc6IDA7XG4vLyAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgLyogSUU2ICovXG4vLyAgIG1hcmdpbjogLTFweCAwIC0xcHggLTE1ZW07IC8qIExUUiAqL1xuLy8gICBmbG9hdDogbGVmdDsgLyogTFRSICovXG4vLyB9XG4vLyAudmVydGljYWwtdGFicyBmaWVsZHNldC52ZXJ0aWNhbC10YWJzLXBhbmUge1xuLy8gICBtYXJnaW46IDAgIWltcG9ydGFudDtcbi8vICAgcGFkZGluZzogMWVtO1xuLy8gICBib3JkZXI6IDA7XG4vLyB9XG4vLyBmaWVsZHNldC52ZXJ0aWNhbC10YWJzLXBhbmUgbGVnZW5kIHtcbi8vICAgZGlzcGxheTogbm9uZTtcbi8vIH1cbi8vIGZpZWxkc2V0LnZlcnRpY2FsLXRhYnMtcGFuZSBmaWVsZHNldCBsZWdlbmQge1xuLy8gICBkaXNwbGF5OiBibG9jaztcbi8vIH1cblxuLy8gLyogTGF5b3V0IG9mIGVhY2ggdGFiICovXG4vLyAudmVydGljYWwtdGFicyB1bC52ZXJ0aWNhbC10YWJzLWxpc3QgbGkge1xuLy8gICBiYWNrZ3JvdW5kOiAkdGFicy1iYWNrZ3JvdW5kLWNvbG9yO1xuLy8gICBib3JkZXI6IDFweCBzb2xpZCAkdGFicy1ib3JkZXItY29sb3I7XG4vLyAgIGJvcmRlci10b3A6IDA7XG4vLyAgIHBhZGRpbmc6IDA7XG4vLyAgIG1hcmdpbjogMDtcbi8vICAgbWluLXdpZHRoOiAwOyAvKiBJRTcgKi9cbi8vICAgJjpmb2N1cywgJjphY3RpdmUge1xuLy8gICAgIG91dGxpbmU6IG5vbmU7XG4vLyAgIH1cbi8vICAgJjpob3ZlciwgJjpmb2N1cyB7XG4vLyAgICAgYmFja2dyb3VuZDogI2YxZjFmMTtcbi8vICAgfVxuLy8gfVxuLy8gLnZlcnRpY2FsLXRhYnMgdWwudmVydGljYWwtdGFicy1saXN0IGxpIGEge1xuLy8gICBkaXNwbGF5OiBibG9jaztcbi8vICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy8gICBwYWRkaW5nOiAwLjVlbSAwLjZlbTtcbi8vICAgZm9udC1zaXplOiAuODc1ZW07XG4vLyB9XG4vLyAudmVydGljYWwtdGFicyB1bC52ZXJ0aWNhbC10YWJzLWxpc3QgbGkgYTpmb2N1cyBzdHJvbmcsXG4vLyAudmVydGljYWwtdGFicyB1bC52ZXJ0aWNhbC10YWJzLWxpc3QgbGkgYTphY3RpdmUgc3Ryb25nLFxuLy8gLnZlcnRpY2FsLXRhYnMgdWwudmVydGljYWwtdGFicy1saXN0IGxpIGE6aG92ZXIgc3Ryb25nIHtcbi8vICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy8gfVxuLy8gLnZlcnRpY2FsLXRhYnMgdWwudmVydGljYWwtdGFicy1saXN0IGxpIGE6aG92ZXIge1xuLy8gICBvdXRsaW5lOiBub25lO1xuLy8gICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbi8vIH1cbi8vIC52ZXJ0aWNhbC10YWJzIHVsLnZlcnRpY2FsLXRhYnMtbGlzdCBsaS5zZWxlY3RlZCB7XG4vLyAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJzLWNvbnRlbnQtY29sb3ItLWFjdGl2ZTtcbi8vICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyAvKiBMVFIgKi9cbi8vICAgYSB7XG4vLyAgICAgYm9yZGVyLWxlZnQ6IC4yNWVtIHNvbGlkICR0YWJzLWJvcmRlci1jb2xvci0tYWN0aXZlO1xuLy8gICB9XG4vLyB9XG4vLyAudmVydGljYWwtdGFicyB1bC52ZXJ0aWNhbC10YWJzLWxpc3QgLnNlbGVjdGVkIHN0cm9uZyB7XG4vLyAgIGNvbG9yOiAjMDAwO1xuLy8gfVxuLy8gLnZlcnRpY2FsLXRhYnMgdWwudmVydGljYWwtdGFicy1saXN0IC5zdW1tYXJ5IHtcbi8vICAgZGlzcGxheTogYmxvY2s7XG4vLyB9XG4vLyAudmVydGljYWwtdGFicyB1bC52ZXJ0aWNhbC10YWJzIHVsLnZlcnRpY2FsLXRhYnMtbGlzdCAuc3VtbWFyeSB7XG4vLyAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4vLyAgIG1hcmdpbi1ib3R0b206IDA7XG4vLyB9XG5cbi8vIC8qKlxuLy8gICogUHJldmVudCB0ZXh0IGlucHV0cyBmcm9tIG92ZXJmbG93aW5nIHdoZW4gY29udGFpbmVyIGlzIHRvbyBuYXJyb3cuIFwid2lkdGhcIiBpc1xuLy8gICogYXBwbGllZCB0byBvdmVycmlkZSBoYXJkY29kZWQgY29scyBvciBzaXplIGF0dHJpYnV0ZXMgYW5kIHVzZWQgaW4gY29uanVuY3Rpb25cbi8vICAqIHdpdGggXCJib3gtc2l6aW5nXCIgdG8gcHJldmVudCBib3ggbW9kZWwgaXNzdWVzIGZyb20gb2NjdXJyaW5nIGluIG1vc3QgYnJvd3NlcnMuXG4vLyAqL1xuLy8gLnZlcnRpY2FsLXRhYnMgLmZvcm0tdHlwZS10ZXh0ZmllbGQgaW5wdXQge1xuLy8gICB3aWR0aDogMTAwJTtcbi8vICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy8gICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4vLyAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4vLyB9XG4vLyAqIGh0bWwgLnZlcnRpY2FsLXRhYnMgLmZvcm0tdHlwZS10ZXh0ZmllbGQsXG4vLyAqIGh0bWwgLnZlcnRpY2FsLXRhYnMgLmZvcm0tdGV4dGFyZWEtd3JhcHBlciB7XG4vLyAgIHdpZHRoOiA5NSU7IC8qIElFNiAqL1xuLy8gfVxuXG4vLyAvKiBBRERFRCAqL1xuXG4vLyAudmVydGljYWwtdGFiLWJ1dHRvbi5maXJzdCB7XG4vLyAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICR0YWJzLWJvcmRlci1yYWRpdXM7XG4vLyB9XG5cbi8vIC52ZXJ0aWNhbC10YWItYnV0dG9uLmxhc3Qge1xuLy8gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkdGFicy1ib3JkZXItcmFkaXVzO1xuLy8gfVxuXG4vLyAudmVydGljYWwtdGFicy1wYW5lIHtcbi8vICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICR0YWJzLWJvcmRlci1yYWRpdXM7XG4vLyAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkdGFicy1ib3JkZXItcmFkaXVzO1xuLy8gICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkdGFicy1ib3JkZXItcmFkaXVzO1xuLy8gfVxuXG4vLyAudmVydGljYWwtdGFicy1wYW5lIGZpZWxkc2V0IHtcbi8vICAgYmFja2dyb3VuZDogbm9uZTtcbi8vICAgYm9yZGVyOiBub25lO1xuLy8gfVxuXG4iLCIvLyBIaWdobGlnaHRlZCBSZWdpb25cbiNoaWdobGlnaHRlZCB7XG4gIGJhY2tncm91bmQ6ICRncmF5LWRhcms7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuaGFzLWJhbm5lciAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgICAgLmRhdmVucG9ydC1wcmltYXJ5LWxvY2FsLXRhc2tzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYXktZGFyaztcbiAgICAgICAgcGFkZGluZy10b3A6IDFweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGFnZS10aXRsZSB7XG4gICAgQGluY2x1ZGUgc2VjdGlvbi1zcGFjZTtcbiAgfVxuXG4gIC5kYXZlbnBvcnQtcHJpbWFyeS1sb2NhbC10YXNrcyB7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWNvbnRhaW5lcjtcbiAgfVxufVxuXG5oMS5wYWdlLXRpdGxlIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8vIEJhbm5lclxuLmJhbm5lciB7XG5cbiAgLmZpZWxkLS1iYW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWRhcms7XG4gICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwwLDAsMC41KSwgcmdiYSgwLDAsMCwwKSk7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogNTAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYmFubmVyLW1pbikge1xuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYyg1MHZ3IC0gMTE5MnB4IC8gMik7XG4gICAgfVxuICAgIC5uby1zdGF0cyAmIHtcbiAgICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYyg1MHZ3IC0gMTE5MnB4IC8gMik7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbGFyZ2UtbWluKSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDUwdncgLSAxMzkwcHggLyAyKTtcblxuICAgIH1cbiAgICAubm8tc3RhdHMgJiB7XG4gICAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoNTB2dyAtIDEzOTBweCAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRiYW5uZXItbWF4KSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkaG9yaXotZ3V0dGVyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbWluKSB7XG4gICAgLmhhcy1zdGF0cyAmIHtcbiAgICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIH1cblxuICAgICAgLmJhbm5lcl9fc3RhdHMge1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wLW1heCAkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgIC5oYXMtc3RhdHMgJiB7XG4gICAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIHdpZHRoOiA2Ni42NyU7XG4gICAgICB9XG5cbiAgICAgIC5iYW5uZXJfX3N0YXRzIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1yaWdodDogJGhvcml6LWd1dHRlcjtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuXG4gICAgLmJhbm5lcl9fc3RhdHMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtJHNlY3Rpb24tc3BhY2UqMjtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogJGhvcml6LWd1dHRlcjtcbiAgICAgIHotaW5kZXg6IDM7XG5cbiAgICAgIC8vIC5zbGljay1hcnJvdy5zbGljay1wcmV2IHtcbiAgICAgIC8vICAgbGVmdDogJGhvcml6LWd1dHRlcjtcbiAgICAgIC8vIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgLmJhbm5lcl9faW1hZ2Uge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAkaG9yaXotZ3V0dGVyLzI7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGhvcml6LWd1dHRlcjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGhvcml6LWd1dHRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJhbm5lcl9fc3RhdHMge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRob3Jpei1ndXR0ZXI7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRob3Jpei1ndXR0ZXI7XG4gICAgICBtYXJnaW4tdG9wOiAtJGhvcml6LWd1dHRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuICB9XG59XG5cbi8vIFN0YXRpc3RpY3Ncbi5zdGF0aXN0aWMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLXRyYW5zcGFyZW50O1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogJGhvcml6LWd1dHRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLnN0YXRfX2xpbmsge1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcblxuICAgICYgKyAuZmllbGQtLXN0YXRpc3RpYyArIC5maWVsZC0tbGFiZWwge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uKHRlcnRpYXJ5LCB3aGl0ZSk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmY7XG5cbiAgICAgICYgKyAuZmllbGQtLXN0YXRpc3RpYyArIC5maWVsZC0tbGFiZWw6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGQtLXN0YXRpc3RpYyB7XG4gICAgZm9udC1zaXplOiA2MHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAuZmllbGQtLWxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG5cbiAgLnBhcmFncmFwaC0tc3RhdGlzdGljcyAmIHtcbiAgICAmOm50aC1jaGlsZCg0bisyKSxcbiAgICAmOm50aC1jaGlsZCg0bis0KSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuICAgIH1cbiAgfVxuXG4gIC5uby1zaWRlYmFyICYge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1sYW5kc2NhcGUtbWluKSB7XG4gICAgICAmOm50aC1jaGlsZCg2bisyKSxcbiAgICAgICY6bnRoLWNoaWxkKDZuKzQpLFxuICAgICAgJjpudGgtY2hpbGQoNm4rNikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1kYXJrO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCg2biszKSxcbiAgICAgICY6bnRoLWNoaWxkKDZuKzUpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmJhbm5lcl9fc3RhdHMgJiB7XG4gICAgJi5zbGlkZS0tcmVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRyZWQtdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICYuc2xpZGUtLXllbGxvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeWVsbG93LXRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAmLnNsaWRlLS1ncmVlbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JlZW4tdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICYuc2xpZGUtLWJsdWUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWUtdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICYuc2xpZGUtLXB1cnBsZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlLXRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi5iYW5uZXJfX3N0YXRzIC5zdGF0aXN0aWMsXG4uYmFubmVyX19zdGF0cyAuZmllbGQtLXN0YXRpc3RpY3M6bm90KC5zbGljay1zbGlkZXIpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgIGhlaWdodDogMzAwcHg7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1heCkge1xuICAgIGhlaWdodDogMTcwcHg7XG4gIH1cbn1cblxuLmJhbm5lcl9fc3RhdHMgLmZpZWxkLS1zdGF0aXN0aWNzOm5vdCguc2xpY2stc2xpZGVyKSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuIiwiLyogQWxsIFBhcmFncmFwaHMgKi9cbi5maWVsZC0tYm9keSB7XG4gIC8vIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLm5vLXNpZGViYXIgJiB7XG4gICAgJiA+IC5wYXJhZ3JhcGgge1xuXG4gICAgICAmID4gLnBhcmFncmFwaF9fY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIHBhcmFncmFwaC1zcGFjZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaGFzLXNpZGViYXIgJiB7XG4gICAgJiA+IC5wYXJhZ3JhcGgge1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgJiA+IC5wYXJhZ3JhcGhfX2NvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vICY6bGFzdC1jaGlsZCB7XG4gICAgICAvLyAgICYgPiAucGFyYWdyYXBoX19jb250ZW50IHtcbiAgICAgIC8vICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgIH1cbiAgfVxuXG4gIC5oYXMtc2lkZWJhciAmLFxuICAubGFuZGluZy1wYWdlICYge1xuICAgICYgPiAucGFyYWdyYXBoIHtcbiAgICAgICYgPiAucGFyYWdyYXBoX19jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgc2VjdGlvbi1zcGFjZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmID4gLnBhcmFncmFwaCB7XG5cbiAgICAmICsgLnBhcmFncmFwaCB7XG4gICAgICAmID4gLnBhcmFncmFwaF9fY29udGVudCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdWktYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgICAgJi5wYXJhZ3JhcGgtLWZlYXR1cmUsXG4gICAgICAmLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIHtcbiAgICAgICAgJiA+IC5wYXJhZ3JhcGhfX2NvbnRlbnQge1xuICAgICAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnBhcmFncmFwaC0tZmVhdHVyZSxcbiAgICAmLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIHtcbiAgICAgICYgPiAucGFyYWdyYXBoX19jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYucGFyYWdyYXBoLS1jb2x1bW5zICsgLnBhcmFncmFwaC0tY29sdW1ucyA+IC5wYXJhZ3JhcGhfX2NvbnRlbnQsXG4gICAgJi5wYXJhZ3JhcGgtLWNvbGxhcHNpYmxlX2xpbmtzICsgLnBhcmFncmFwaC0tY29sbGFwc2libGVfbGlua3MgPiAucGFyYWdyYXBoX19jb250ZW50IHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgLmZpZWxkLS1pbnRybyB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdWktYm9yZGVyLWNvbG9yO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXNwYWNlKjEuNTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXNwYWNlLzEuNTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucGFyYWdyYXBoIHtcbiAgaDIuZmllbGQtLWhlYWRsaW5lLFxuICBoMjpmaXJzdC1jaGlsZCxcbiAgaDM6Zmlyc3QtY2hpbGQsXG4gIGg0OmZpcnN0LWNoaWxkLFxuICAucGFyYWdyYXBoX19jb250ZW50ID4gLmZpZWxkLS1pbnRybzpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cbi8qIFRleHQgKi9cbi5wYXJhZ3JhcGgtLXRleHQge1xuICAuZmllbGQtLWNvbnRlbnQgKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdmVydC1ndXR0ZXIvNDtcbiAgfVxufVxuXG5cbi8qIENvbHVtbnMgKi9cbi5wYXJhZ3JhcGgtLWNvbHVtbnMge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgLnBhcmFncmFwaF9fY29udGVudCA+IC5yb3cgPiAuY29sLXNtLTYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNlY3Rpb24tc3BhY2UvMjtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5maWVsZC0taW50cm8gKyAucm93IHtcbiAgcGFkZGluZy10b3A6ICR2ZXJ0LWd1dHRlcjtcbn1cblxuXG4vKiBRdW90ZXMgKi9cbi5wYXJhZ3JhcGgtLXF1b3RlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvcXVvdGUucG5nJykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICBoMiB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5maWVsZC0tcXVvdGUgcCB7XG4gICAgQGluY2x1ZGUgbGFyZ2UtdGV4dDtcbiAgfVxuXG4gIC5maWVsZC0tYXR0cmlidXRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAuaGFzLXNpZGViYXIgJiB7XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRiYW5uZXItbWluKSB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKC01MHZ3ICsgMTE5MHB4IC8gMik7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wLWxhcmdlLW1pbikge1xuICAgICAgICByaWdodDogY2FsYygtNTB2dyArIDEzOTBweCAvIDIpO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgICAgICB3aWR0aDogMjc1cHg7XG4gICAgICAgIGhlaWdodDogMjQwcHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1heCkge1xuICAgICAgICB3aWR0aDogMTg1cHg7XG4gICAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICAgIHRvcDogJHNlY3Rpb24tc3BhY2UvMS41O1xuICAgICAgfVxuICAgIH1cbiAgICAuZmllbGQtLWF0dHJpYnV0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICR2ZXJ0LWd1dHRlci8yO1xuICAgIH1cbiAgfVxuXG4gIC5uby1zaWRlYmFyICYge1xuXG4gICAgJjphZnRlciB7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJhbm5lci1taW4pIHtcbiAgICAgICAgcmlnaHQ6IGNhbGMoLTUwdncgKyAxMjQwcHggLyAyKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbGFyZ2UtbWluKSB7XG4gICAgICAgIHJpZ2h0OiBjYWxjKC01MHZ3ICsgMTM5MHB4IC8gMik7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgICAgIHdpZHRoOiAyNzVweDtcbiAgICAgICAgaGVpZ2h0OiAyNDBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1tYXgpIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcGhvbmUtbWluKSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcGhvbmUtbWF4KSB7XG4gICAgICAgIHRvcDogJHNlY3Rpb24tc3BhY2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaF9fY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1zcGFjZSoyLjU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1zcGFjZSoyLjU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1zcGFjZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXNwYWNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qIEZlYXR1cmVzICovXG4ucGFyYWdyYXBoLS1mZWF0dXJlLFxuLnBhcmFncmFwaC5kYXYtcHJvZ3JhbS1zZWFyY2gtbWluaSB7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gIC5mZWF0dXJlX19pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIC5maWVsZC0taW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgLm1lZGlhIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICAgaW1nIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLS1vdmVybGF5IHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC40NSk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogJGhvcml6LWd1dHRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICAgIG1heC13aWR0aDogMzUwcHg7XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZlYXR1cmVfX3RleHQge1xuICAgIHBhZGRpbmc6ICRzZWN0aW9uLXNwYWNlICRob3Jpei1ndXR0ZXI7XG5cbiAgICBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1heCkge1xuICAgICAgICBmb250LXNpemU6ICRoMy1mb250LXNpemU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5mZWF0dXJlLS1vZGQge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgLmZpZWxkLS1saW5rIGEge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uKHNlY29uZGFyeSk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkICNmZmY7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmVfX3RleHQge1xuICAgICAgaDIsIGgzLCBoNCwgYSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuZmVhdHVyZS0tZXZlbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgLmZpZWxkLS1saW5rIGEge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uKHByaW1hcnkpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1taW4pIHtcbiAgICAucGFyYWdyYXBoX19jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1heC1oZWlnaHQ6IDc1MHB4O1xuICAgICAgJiA+IGRpdiB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlX19pbWFnZSB7XG4gICAgICAuZmllbGQtLW92ZXJsYXkge1xuICAgICAgICBwYWRkaW5nOiAkaG9yaXotZ3V0dGVyKjEuNSAkaG9yaXotZ3V0dGVyKjIgJGhvcml6LWd1dHRlcioyO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC1zaXplOiA3MnB4OyAvLzcycHhcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlX190ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAkaG9yaXotZ3V0dGVyKjIgJGhvcml6LWd1dHRlcjtcbiAgICB9XG5cbiAgICAmLmZlYXR1cmUtLWV2ZW4ge1xuICAgICAgLnBhcmFncmFwaF9fY29udGVudCB7XG4gICAgICAgIC5mZWF0dXJlX19pbWFnZSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdWwgbGkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdmVydC1ndXR0ZXIvNDtcbiAgICAmICsgdWwge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICAjbW9yZS10aGFuLWEtbWFqb3ItbW9yZS10aGFuLWEtZGVncmVlIHtcbiAgICAuZmVhdHVyZV9faW1hZ2Uge1xuICAgICAgLmZpZWxkLS1vdmVybGF5IHtcbiAgICAgICAgcGFkZGluZzogJGhvcml6LWd1dHRlcjtcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vKiBDYXJkcyBMYXlvdXQgKi9cbi5wYXJhZ3JhcGgtLWNhcmRzIHtcbiAgLy8gJiA+IC5wYXJhZ3JhcGhfX2NvbnRlbnQge1xuICAvLyAgIEBleHRlbmQgLnJvdztcbiAgLy8gfVxuICAubGF5b3V0LS0yY29sIHtcbiAgICAucGFyYWdyYXBoIHtcbiAgICAgIEBleHRlbmQgLmNvbC1zbS02O1xuICAgIH1cbiAgfVxuICAubGF5b3V0LS0zY29sIHtcbiAgICAucGFyYWdyYXBoIHtcbiAgICAgIEBleHRlbmQgLmNvbC1zbS00O1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgLy8gJiA+IC5wYXJhZ3JhcGhfX2NvbnRlbnQge1xuICAgIC8vICAgbWFyZ2luLXRvcDogLSR2ZXJ0LWd1dHRlci8yO1xuICAgIC8vICAgbWFyZ2luLWJvdHRvbTogLSR2ZXJ0LWd1dHRlci8yXG4gICAgLy8gfVxuICAgIC5wYXJhZ3JhcGgge1xuICAgICAgcGFkZGluZy10b3A6ICR2ZXJ0LWd1dHRlcjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAkdmVydC1ndXR0ZXI7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1tYXgpIHtcbiAgICAvLyAmID4gLnBhcmFncmFwaF9fY29udGVudCB7XG4gICAgLy8gICBtYXJnaW4tdG9wOiAtJHZlcnQtZ3V0dGVyLzI7XG4gICAgLy8gICBtYXJnaW4tYm90dG9tOiAtJHZlcnQtZ3V0dGVyLzJcbiAgICAvLyB9XG4gICAgLnBhcmFncmFwaCB7XG4gICAgICBwYWRkaW5nLXRvcDogJHZlcnQtZ3V0dGVyLzQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHZlcnQtZ3V0dGVyLzQ7XG4gICAgfVxuICB9XG59XG5cblxuLyogUHJvZ3JhbSBHcm91cCAqL1xuLnBhcmFncmFwaC0tcHJvZ3JhbS1ncm91cCB7XG5cbiAgLmFjY29yZGlvbiB7XG4gICAgbWFyZ2luLXRvcDogJHZlcnQtZ3V0dGVyO1xuXG4gICAgJi5maWVsZC0tcHJvZ3JhbXMgLmFjY29yZGlvbl9fY29udGVudCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLnByb2dyYW1zIHtcbiAgICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAucHJvZ3JhbSB7XG4gICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgICAmID4gKiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkdGFibGUtdGQtcGFkZGluZztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZmllbGQtLXByb2dyYW0tY3VycmljdWx1bSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR1aS1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgICAuc3VmZml4IHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuXG4vKiBQZXJzb24gKi9cbi5wYXJhZ3JhcGgtLXBlcnNvbiB7XG4gIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmZpZWxkLS1wZXJzb24tZW1haWwsXG4gIC5maWVsZC0tcGVyc29uLXBob25lIHtcbiAgICBAZXh0ZW5kICVjb250YWN0LWljb25zO1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBtYXJnaW4tdG9wOiAkdmVydC1ndXR0ZXIvNDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgdG9wOiAycHg7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLS1wZXJzb24tZW1haWwge1xuICAgIEBleHRlbmQgJWNvbnRhY3QtZW1haWw7XG4gIH1cblxuICAuZmllbGQtLXBlcnNvbi1waG9uZSB7XG4gICAgQGV4dGVuZCAlY29udGFjdC1waG9uZTtcbiAgfVxufVxuXG5cbi8qIENvbGxhcHNpYmxlIExpbmtzICovXG4ucGFyYWdyYXBoLS1jb2xsYXBzaWJsZV9saW5rcyB7XG5cbiAgLmZpZWxkLS1pbnRybyB7XG4gICAgcGFkZGluZy1ib3R0b206ICR2ZXJ0LWd1dHRlcjtcbiAgfVxuXG4gIC5maWVsZC0tY29sbGFwc2libGUtbGlua3Mge1xuICAgIG1hcmdpbi10b3A6ICR2ZXJ0LWd1dHRlcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24ge1xuXG4gICAgLmFjY29yZGlvbl9fY29udGVudCB7XG4gICAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICB9XG59XG5cblxuLyogU3BlY2lmaWMgUGFyYWdyYXBoIFN0eWxlcyAqL1xuI25jYWEtc3BvcnRzIHtcbiAgaDIge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL25jYWEtc3BvcnRzLnBuZycpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OWVtO1xuICB9XG59XG5cbi8qIE1pbmkgUHJvZ3JhbSBTZWFyY2ggb24gQWNhZGVtaWNzIFBhZ2UgKi9cbi5wYXJhZ3JhcGguZGF2LXByb2dyYW0tc2VhcmNoLW1pbmkge1xuICBjb2xvcjogI2ZmZjtcblxuICAuZmVhdHVyZV9fdGV4dCB7XG4gICAgaDIsIGgzLCBoNCwgYSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cblxuICBmb3JtIHtcbiAgICBtYXJnaW4tdG9wOiAkdmVydC1ndXR0ZXIvMjtcbiAgICBtYXJnaW4tYm90dG9tOiAkdmVydC1ndXR0ZXIqMjtcbiAgfVxufVxuXG4vKiBQcm9ncmFtIFNlYXJjaCBCbG9jayBvbiBIb21lcGFnZSAqL1xuI21vcmUtdGhhbi1hLW1ham9yLW1vcmUtdGhhbi1hLWRlZ3JlZSB7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuXG4gICAgLmZlYXR1cmVfX2ltYWdlIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG9yZGVyOiA1O1xuICAgIH1cblxuICAgIC5mZWF0dXJlX190ZXh0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgb3JkZXI6IDI7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYmFubmVyLW1pbikge1xuICAgIC5mZWF0dXJlX190ZXh0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogY2FsYyg1MHZ3IC0gMTIwMHB4IC8gMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkaG9yaXotZ3V0dGVyKjM7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbGFyZ2UtbWluKSB7XG4gICAgLmZlYXR1cmVfX3RleHQge1xuICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDUwdncgLSAxMzkwcHggLyAyKTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRob3Jpei1ndXR0ZXIqMztcbiAgICB9XG4gIH1cbn1cblxuXG4vKiBXaGF0IE91ciBBbHVtbmkgQXJlIFNheWluZyBIb21lcGFnZSAqL1xuI3doYXQtb3VyLWFsdW1uaS1hcmUtc2F5aW5nIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgIC5mZWF0dXJlX19pbWFnZSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3F1b3RlLnBuZycpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgaGVpZ2h0OiAyMjJweDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRiYW5uZXItbWluKSB7XG4gICAgLmZlYXR1cmVfX2ltYWdlIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgcmlnaHQ6IC0kaG9yaXotZ3V0dGVyO1xuICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgIGhlaWdodDogMjUycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLyogQXBwbHkgQmxvY2sgKi9cbi5maWVsZC0tYXBwbGljYXRpb24tYXVkaWVuY2Uge1xuICBtYXJnaW4tdG9wOiAkdmVydC1ndXR0ZXIqMjtcbn1cblxuLmZpZWxkLS1hcHBseS1jaGVja2xpc3QtdGl0bGUsXG4uZmllbGQtLWFwcGx5LWF1ZGllbmNlLXRpdGxlLFxuLmZpZWxkLS1hcHBseS1saW5rcy10aXRsZSB7XG4gIEBpbmNsdWRlIGgzO1xufVxuXG4uZmllbGQtLWFwcGx5LWNoZWNrbGlzdCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdWktYm9yZGVyLWNvbG9yO1xuICBtYXJnaW4tdG9wOiAkdmVydC1ndXR0ZXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgIGNvbHVtbnM6IDI7XG4gICAgY29sdW1uLWdhcDogJGhvcml6LWd1dHRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tc3BhY2UqMS41O1xuICAgIG1hcmdpbi1ib3R0b206ICRzZWN0aW9uLXNwYWNlKjEuNTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXNwYWNlLzEuNTtcbiAgICBtYXJnaW4tYm90dG9tOiAkc2VjdGlvbi1zcGFjZS8xLjU7XG4gIH1cblxuICAuaGFzLXNpZGViYXIgJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXNwYWNlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNlY3Rpb24tc3BhY2U7XG4gICAgfVxuICB9XG59XG5cbi5maWVsZC0tYXBwbHktY2hlY2tsaXN0IC5maWVsZF9faXRlbSxcbi5maWVsZC0tYXBwbHktc3RlcHMgdWwgbGkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jaGVja21hcmsucG5nJyk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCA1cHggbGVmdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNnB4IGF1dG87XG4gIGNvbG9yOiAkZ3JheS1kYXJrZXI7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogJHZlcnQtZ3V0dGVyLzEuNTtcbiAgcGFkZGluZy1sZWZ0OiAkaG9yaXotZ3V0dGVyO1xufVxuXG4uZmllbGQtLWFwcGx5LXN0ZXBzIHtcbiAgKjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIHVsIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmZpZWxkLS1hcHBseS1hdWRpZW5jZSAuZmllbGQtLWFwcGx5LWF1ZGllbmNlIHtcbiAgQGluY2x1ZGUgaDI7XG59XG5cbi5hcHBseSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIC5hcHBseV9fbGVmdCB7XG4gICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlcjtcbiAgfVxuXG4gIC5hcHBseV9fcmlnaHQge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgaDMsIGg0LCBhLCAuZmllbGQtLWFwcGx5LWxpbmtzLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIGgzLCBoNCwgLmZpZWxkLS1hcHBseS1saW5rcy10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdmVydC1ndXR0ZXI7XG4gICAgfVxuXG4gICAgLmZpZWxkLS1hcHBseS1yZXNvdXJjZS1saW5rIGEge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uKHNlY29uZGFyeSk7XG4gICAgfVxuICAgIC5maWVsZC0tYXBwbHktbGlua3Mge1xuXG4gICAgICAuZmllbGRfX2l0ZW0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uKCR0eXBlOiB0ZXJ0aWFyeSwgJGNvbG9yOiB3aGl0ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLS1hcHBseS1yZXNvdXJjZS1pbWFnZSB7XG4gICAgICB3aWR0aDogMjA1cHg7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRob3Jpei1ndXR0ZXI7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAuYXBwbHlfX2xlZnQsXG4gICAgLmFwcGx5X19yaWdodCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1taW4pIHtcbiAgICAuYXBwbHlfX2xlZnQsXG4gICAgLmFwcGx5X19yaWdodCB7XG4gICAgICBwYWRkaW5nOiAkaG9yaXotZ3V0dGVyKjI7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1tYXgpIHtcbiAgICAuYXBwbHlfX2xlZnQsXG4gICAgLmFwcGx5X19yaWdodCB7XG4gICAgICBwYWRkaW5nOiAkaG9yaXotZ3V0dGVyO1xuICAgIH1cblxuICAgIC5maWVsZC0tYXBwbHktcmVzb3VyY2UtaW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxufVxuXG4vKiBDb250YWN0ICovXG4ucGFyYWdyYXBoLS1jb250YWN0IHtcbiAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuXG4gIC5wYXJhZ3JhcGhfX2NvbnRlbnQge1xuICAgIEBpbmNsdWRlIGxheW91dC1jb250YWluZXI7XG4gICAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctdG9wOiAkaG9yaXotZ3V0dGVyKjIgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGhvcml6LWd1dHRlcioyICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmllbGQtLWNvbnRhY3QtdGl0bGUge1xuICAgIEBpbmNsdWRlIGgzO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAkdmVydC1ndXR0ZXIvMiAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZpZWxkLS1jb250YWN0LXBob25lLFxuICAuZmllbGQtLWNvbnRhY3QtZW1haWwsXG4gIC5maWVsZC0tY29udGFjdC1hZGRyZXNzIHtcbiAgICBAZXh0ZW5kICVjb250YWN0LWljb25zO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi10b3A6ICR2ZXJ0LWd1dHRlci8yO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLS1jb250YWN0LXBob25lIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbW9iaWxlLS13aGl0ZS5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byA5MCU7XG4gICAgfVxuICAgIC5zdmcgJiB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tb2JpbGUtLXdoaXRlLnN2ZycpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5maWVsZC0tY29udGFjdC1lbWFpbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21haWwtLXdoaXRlLnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgfVxuICAgIC5zdmcgJiB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9tYWlsLS13aGl0ZS5zdmcnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZmllbGQtLWNvbnRhY3QtYWRkcmVzcyB7XG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2xvY2F0aW9uLS13aGl0ZS5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byA4NSU7XG4gICAgfVxuICAgIC5zdmcgJiB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9sb2NhdGlvbi0td2hpdGUuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsLW1pbikge1xuICAgIC5wYXJhZ3JhcGhfX2NvbnRlbnQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuZmllbGQtLWNvbnRhY3QtcGhvbmUsXG4gICAgLmZpZWxkLS1jb250YWN0LWVtYWlsLFxuICAgIC5maWVsZC0tY29udGFjdC1hZGRyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAkaG9yaXotZ3V0dGVyO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3Atc21hbGwtbWluKSB7XG4gICAgLnBhcmFncmFwaF9fY29udGVudCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5maWVsZC0tY29udGFjdC10aXRsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLyogV2ViZm9ybSAqL1xuLnBhcmFncmFwaC0td2ViZm9ybSB7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICBjb2xvcjogI2ZmZjtcblxuICAmID4gLnBhcmFncmFwaF9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgaDIsIC5mb3JtLWl0ZW0gPiBsYWJlbCB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAuZmllbGQtLXdlYmZvcm0taW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgfVxuXG4gIC5maWVsZC0td2ViZm9ybSB7XG4gICAgQGluY2x1ZGUgcGFyYWdyYXBoLXNwYWNlO1xuICAgIHBhZGRpbmctbGVmdDogJGhvcml6LWd1dHRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaG9yaXotZ3V0dGVyO1xuICB9XG5cbiAgLmJ1dHRvbi0tcHJpbWFyeSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKHNlY29uZGFyeSk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wLW1pbikge1xuICAgICYgPiAucGFyYWdyYXBoX19jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgLmZpZWxkLS13ZWJmb3JtLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAub2JqZWN0Zml0ICYgPiBkaXYge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGQtLXdlYmZvcm0ge1xuICAgICAgQGluY2x1ZGUgcGFyYWdyYXBoLXNwYWNlO1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBhZGRpbmctbGVmdDogJGhvcml6LWd1dHRlcioyO1xuICAgICAgcGFkZGluZy1yaWdodDogJGhvcml6LWd1dHRlcioyO1xuICAgIH1cbiAgfVxufVxuXG4vKiBTdGF0aXN0aWNzICovXG4ucGFyYWdyYXBoLS1zdGF0aXN0aWNzIHtcblxuICAuZmllbGQtLXN0YXRpc3RpY3Mge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIG1hcmdpbjogLSRob3Jpei1ndXR0ZXIvMjtcbiAgfVxuXG4gIC5zdGF0aXN0aWMge1xuICAgIG1hcmdpbjogJGhvcml6LWd1dHRlci8yO1xuICAgIGhlaWdodDogMjAwcHg7XG4gIH1cblxuICAuZmllbGQtLWhlYWRsaW5lICsgLmZpZWxkLS1zdGF0aXN0aWMge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlLW1pbikge1xuICAgIC5maWVsZC0tc3RhdGlzdGljcyB7XG4gICAgICBtYXJnaW46IC0kaG9yaXotZ3V0dGVyO1xuICAgIH1cblxuICAgIC5zdGF0aXN0aWMge1xuICAgICAgbWFyZ2luOiAkaG9yaXotZ3V0dGVyO1xuICAgIH1cblxuICAgIC5maWVsZC0taGVhZGxpbmUgKyAuZmllbGQtLXN0YXRpc3RpYyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5oYXMtc2lkZWJhciAmIHtcbiAgICAuc3RhdGlzdGljIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbC1taW4gJHRhYmxldC1wb3J0cmFpdC1tYXgpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMjVweCk7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZS1taW4pIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gNTBweCk7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uby1zaWRlYmFyICYge1xuICAgIC5zdGF0aXN0aWMge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsLW1pbikge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAyNXB4KTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlLW1pbikge1xuICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMyUgLSA1MHB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIERpc3BsYXkgTW9kZTogQ2FyZCAqL1xuLmNhcmQge1xuXG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGEge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgLmNhcmRfX3RpdGxlLFxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgLmNhcmRfX2NvbnRlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBwYWRkaW5nOiAkaG9yaXotZ3V0dGVyICRob3Jpei1ndXR0ZXIgJGhvcml6LWd1dHRlcioxLjI1O1xuICAgICAgbWluLWhlaWdodDogMjAwcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1tYXgpIHtcbiAgICAgIHBhZGRpbmc6ICRob3Jpei1ndXR0ZXIvMS41ICRob3Jpei1ndXR0ZXIvMS41ICRob3Jpei1ndXR0ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgYW5pbWF0aW9uIHdoZW4gb24gYSBzdXBwb3J0ZWQgZGV2aWNlXG4gIC5uby10b3VjaGV2ZW50cyAmIHtcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICR1aS1ib3JkZXItY29sb3I7XG4gICAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgICAgLnRleHQtLXNtYWxsIHtcbiAgICAgICAgY29sb3I6ICRncmF5LWRhcmtlcjtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oaGVpZ2h0KTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICBib3R0b206IC0xcHg7XG4gICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgIHJpZ2h0OiAtMXB4O1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcblxuICAgICAgICAudGV4dC0tc21hbGwge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyAvL0ZhbGxiYWNrXG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAycHgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIERpc3BsYXkgTW9kZTogVGVhc2VyICovXG4udGVhc2VyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgaDMge1xuICAgIGEge1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9hcnJvdy0tYmxhY2sucG5nJyk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgLy8gY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnN2ZyAmIHtcbiAgICBoMyBhIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9hcnJvdy0tYmxhY2suc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmxpbmtzIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIH1cblxuICAubm9kZS1yZWFkbW9yZSBhLFxuICAuZmllbGQtLWxpbmsgYSB7XG4gICAgQGluY2x1ZGUgYnV0dG9uKHRlcnRpYXJ5KTtcbiAgfVxuXG4gICYgKyAudGVhc2VyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHVpLWJvcmRlci1jb2xvcjtcbiAgICBtYXJnaW4tdG9wOiAkc2VjdGlvbi1zcGFjZTtcbiAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tc3BhY2U7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdmVydC1ndXR0ZXIvNDtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0aGUgdGVhc2VyIGlzIG9uIGEgcGFnZSB3aXRoIG5vIHNpZGViYXIuLi5cbiAgLm5vLXNpZGViYXIgJiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgICAgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAudGVhc2VyX190ZXh0LFxuICAgICAgLnRlYXNlcl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cblxuICAgICAgLnRlYXNlcl9fdGV4dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGhvcml6LWd1dHRlcjtcbiAgICAgIH1cblxuICAgICAgLnRlYXNlcl9faW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaG9yaXotZ3V0dGVyO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgICBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICR2ZXJ0LWd1dHRlcjtcbiAgICAgIH1cbiAgICAgIC50ZWFzZXJfX2ltYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHZlcnQtZ3V0dGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRoZSB0ZWFzZXIgaXMgb24gYSBwYWdlIHdpdGggYSBzaWRlYmFyLi4uXG4gIC5oYXMtc2lkZWJhciAmIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlLW1pbikge1xuICAgICAgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAudGVhc2VyX190ZXh0LFxuICAgICAgLnRlYXNlcl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cblxuICAgICAgLnRlYXNlcl9fdGV4dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGhvcml6LWd1dHRlcjtcbiAgICAgIH1cblxuICAgICAgLnRlYXNlcl9faW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaG9yaXotZ3V0dGVyO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlLW1heCkge1xuICAgICAgaDMge1xuICAgICAgICBtYXJnaW4tdG9wOiAkdmVydC1ndXR0ZXI7XG4gICAgICB9XG4gICAgICAudGVhc2VyX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR2ZXJ0LWd1dHRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0aGUgdGVhc2VyIGlzIGluIGEgY29sdW1uLi4uXG4gIC5wYXJhZ3JhcGgtLWNvbHVtbnMgJiB7XG4gICAgaDMge1xuICAgICAgbWFyZ2luLXRvcDogJHZlcnQtZ3V0dGVyO1xuICAgIH1cbiAgICAudGVhc2VyX19pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdmVydC1ndXR0ZXI7XG4gICAgfVxuXG4gICAgLnRlYXNlcl9fdGV4dCxcbiAgICAudGVhc2VyX19pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vKiBOZXdzICovXG4ubmV3cyB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIC5uZXdzX190aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkdmVydC1ndXR0ZXIvMjtcbiAgfVxuXG4gIC5uZXdzX19kYXRlIHtcbiAgICBjb2xvcjogJGdyYXktZGFyaztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogJHZlcnQtZ3V0dGVyLzQ7XG4gIH1cblxuICAmLmhhcy1pbWFnZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcGhvbmUtbWluKSB7XG4gICAgICAubmV3c19faW1hZ2Uge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGhvcml6LWd1dHRlci8yO1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgfVxuXG4gICAgICAubmV3c19fdGV4dCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRob3Jpei1ndXR0ZXIvMjtcbiAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRwaG9uZS1tYXgpIHtcbiAgICAgIC5uZXdzX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR2ZXJ0LWd1dHRlci8yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qIEV2ZW50cyAqL1xuLmV2ZW50IHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgLmV2ZW50X19kYXRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkaG9yaXotZ3V0dGVyLzI7XG4gICAgd2lkdGg6IDg1cHg7XG4gIH1cblxuICAuZXZlbnRfX3RleHQge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogJGhvcml6LWd1dHRlci8yO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4NXB4KTtcbiAgfVxuXG4gIC5ldmVudF9fdGl0bGUge1xuICAgIEBpbmNsdWRlIGg1O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogJHZlcnQtZ3V0dGVyLzQ7XG4gIH1cblxuICAuZXZlbnRfX2xvY2F0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9sb2NhdGlvbi0tZ3JheS5wbmcnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCA1cHggbGVmdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCBhdXRvO1xuICAgIGNvbG9yOiAkZ3JheS1kYXJrO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAkdmVydC1ndXR0ZXIvMjtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIH1cblxuICAuc3ZnICYge1xuICAgIC5ldmVudF9fbG9jYXRpb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbG9jYXRpb24tLWdyYXkuc3ZnJyk7XG4gICAgfVxuICB9XG59IiwiLyogQW5ub3VuY2VtZW50cyAqL1xuLmFubm91bmNlbWVudCB7XG4gIGJhY2tncm91bmQ6ICRncmF5LWRhcmtlcjtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmctdG9wOiAkdmVydC1ndXR0ZXI7XG4gIHBhZGRpbmctYm90dG9tOiAkdmVydC1ndXR0ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICoge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGgyLCBoMywgaDQsIGg1LCBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIC5hbm5vdW5jZW1lbnRfX2Rpc21pc3Mge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgIC5ob21lcGFnZSAmIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuLyogQWxsIERlZ3JlZXMgU2VhcmNoICovXG4ucHJvZ3JhbXNlYXJjaCB7XG4gIEBpbmNsdWRlIGxheW91dC1jb250YWluZXI7XG59XG5cbi5wcm9ncmFtLXNlYXJjaC1ibG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcblxuICAuc2VhcmNoX19maWx0ZXJzIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlLW1pbikge1xuICAgICAgcGFkZGluZzogJGhvcml6LWd1dHRlcioxLjUgJGhvcml6LWd1dHRlciAkaG9yaXotZ3V0dGVyKjI7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1sYW5kc2NhcGUtbWF4KSB7XG4gICAgICBwYWRkaW5nOiAkaG9yaXotZ3V0dGVyO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkc2VjdGlvbi1zcGFjZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1heCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNlY3Rpb24tc3BhY2UvMS41O1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuICAgIC5zZWxlY3Rib3hpdC1idG4uc2VsZWN0Ym94aXQtZm9jdXMge1xuICAgICAgLy8gYm9yZGVyOiAxcHggc29saWQgJGJsYWNrO1xuICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCAjZmZmO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG4gICAgLnNlbGVjdGJveGl0LWJ0bi5zZWxlY3Rib3hpdC1mb2N1cy5zZWxlY3Rib3hpdC1vcGVuIHtcbiAgICAgIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdWktYm9yZGVyLWNvbG9yO1xuICAgICAgLy8gYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRob3Jpei1ndXR0ZXIvMjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRob3Jpei1ndXR0ZXIvMjtcbiAgICAgIG1hcmdpbi1ib3R0b206ICR2ZXJ0LWd1dHRlci8yO1xuXG4gICAgICAmID4gbGFiZWwsXG4gICAgICAmID4gLmxhYmVsIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHZlcnQtZ3V0dGVyLzI7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wLW1pbikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRob3Jpei1ndXR0ZXI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRob3Jpei1ndXR0ZXI7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1sYW5kc2NhcGUtbWluKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICYuZmlsdGVycyB7XG4gICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmZpbHRlcnMge1xuXG4gICAgICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1taW4pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kaG9yaXotZ3V0dGVyLzI7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kaG9yaXotZ3V0dGVyLzI7XG5cbiAgICAgICAgICAmID4gLmxhYmVsIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGhvcml6LWd1dHRlci8yO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkaG9yaXotZ3V0dGVyLzI7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaG9yaXotZ3V0dGVyLzI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZS1taW4pIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWFyY2hfX3NlbGVjdGlvbnMge1xuICAgIGNvbG9yOiAkZ3JheS1kYXJrZXI7XG4gICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNlY3Rpb24tc3BhY2UvMS41O1xuICAgIG1hcmdpbi10b3A6IC0kc2VjdGlvbi1zcGFjZS8yO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuXG4gICAgJi52aXNpYmxlIHtcbiAgICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIGJ1dHRvbjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAxcHggZG90dGVkICRwcmltYXJ5LWNvbG9yO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwtbWluKSB7XG4gICAgICBkaXYge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5sYWJlbCxcbiAgICAgIC5zZWxlY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaG9yaXotZ3V0dGVyLzI7XG4gICAgICB9XG5cbiAgICAgIC5maWx0ZXItc2VsZWN0aW9uICsgLmZpbHRlci1zZWxlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGhvcml6LWd1dHRlci8yO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbC1tYXgpIHtcbiAgICAgIC5maWx0ZXItc2VsZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6ICR2ZXJ0LWd1dHRlci8yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdmVydC1ndXR0ZXIvMjtcbiAgICAgIH1cblxuICAgICAgLmNsZWFyLWZpbHRlcnMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaF9fcmVzdWx0cyB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wLW1pbikge1xuICAgICAgLnByb2dyYW0tcmVzdWx0IHtcbiAgICAgICAgJjpudGgtY2hpbGQoNG4rMSkge1xuICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1tYXggJHRhYmxldC1wb3J0cmFpdC1taW4pIHtcbiAgICAgIC5wcm9ncmFtLXJlc3VsdCB7XG4gICAgICAgICY6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1tYXggJHRhYmxldC1zbWFsbC1taW4pIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGhvcml6LWd1dHRlci8yO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtJGhvcml6LWd1dHRlci8yO1xuXG4gICAgICAucHJvZ3JhbS1yZXN1bHQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRob3Jpei1ndXR0ZXIvMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGhvcml6LWd1dHRlci8yO1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbC1taW4pIHtcblxuICAgICAgLmZsZXhib3ggJiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgICAgLmNhcmRfX2xpbmsge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZpbHRlci1zZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy94LnBuZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMnB4IGF1dG87XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAxN3B4O1xuXG4gIC5zdmcgJiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMveC5zdmcnKTtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG5cbi5jbGVhci1maWx0ZXJzIHtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkZ3JheS1kYXJrZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8qIFNlYXJjaCBBdXRvY29tcGxldGUgKi9cbi5zZWFyY2gtYXBpLWF1dG9jb21wbGV0ZS1zZWFyY2gge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdWktYm9yZGVyLWNvbG9yO1xuICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLDAsMCwwLjM1KTtcblxuICAudWktbWVudS1pdGVtIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR1aS1ib3JkZXItY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJi51aS1zdGF0ZS1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICRibHVlO1xuXG4gICAgICAgIC5zZWFyY2gtYXBpLWF1dG9jb21wbGV0ZS1zdWdnZXN0aW9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBjb2xvcjogJGJsdWUtbGlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNlYXJjaC1hcGktYXV0b2NvbXBsZXRlLXN1Z2dlc3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLyogQHBhcnRpYWwgZm9ybXMgKi9cblxuXG4vKiBXcmFwcGVyIGZvciBhIGZvcm0gZWxlbWVudCAob3IgZ3JvdXAgb2YgZm9ybSBlbGVtZW50cykgYW5kIGl0cyBsYWJlbC4gKi9cbi5mb3JtLWl0ZW0ge1xuICBtYXJnaW46ICR2ZXJ0LWd1dHRlciAwO1xuXG4gIC8qIFBhY2sgZ3JvdXBzIG9mIGNoZWNrYm94ZXMgYW5kIHJhZGlvIGJ1dHRvbnMgY2xvc2VyIHRvZ2V0aGVyLiAqL1xuICAuZm9ybS1jaGVja2JveGVzICYgLFxuICAuZm9ybS1yYWRpb3MgJiB7XG4gICAgLyogRHJ1cGFsIGNvcmUgdXNlcyBcIjAuNGVtIDBcIi4gKi9cbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvKiBGb3JtIGl0ZW1zIGluIGEgdGFibGUuICovXG4gIHRyLm9kZCAmLFxuICB0ci5ldmVuICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBsYWJlbCxcbiAgLmxhYmVsIHsgLyogVGhlIGxhYmVsIGZvciBhIGZvcm0gZWxlbWVudCAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogJGZvcm0taXRlbS1sYWJlbC1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6ICRmb3JtLWl0ZW0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgbWFyZ2luOiAkZm9ybS1pdGVtLWxhYmVsLW1hcmdpbjtcbiAgfVxuXG4gIC8qIFRoZSBkZXNjcmlwdGl2ZSBoZWxwIHRleHQgKHNlcGFyYXRlIGZyb20gdGhlIGxhYmVsKS4gKi9cbiAgLmRlc2NyaXB0aW9uIHtcbiAgIGZvbnQtc2l6ZTogJGZvcm0taXRlbS1kZXNjcmlwdGlvbi1mb250LXNpemU7XG4gICBtYXJnaW4tdG9wOiA0cHg7XG4gIH1cbn1cblxubGFiZWwuZm9ybS1yZXF1aXJlZCB7IC8qIFRoZSBwYXJ0IG9mIHRoZSBsYWJlbCB0aGF0IGluZGljYXRlcyBhIHJlcXVpcmVkIGZpZWxkICovXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6XCIqXCI7XG4gICAgY29sb3I6ICRlcnJvci1jb2xvcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICB9XG59XG5cbi8qIFdlYmZvcm1zICovXG5cbi53ZWJmb3JtLXN1Ym1pc3Npb24tZm9ybSB7XG4gICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogJHZlcnQtZ3V0dGVyKjEuNTtcbiAgfVxufVxuXG4vKiBXZWJmb3JtIExheW91dCAqL1xuZGl2LmZvcm0td3JhcHBlcjpub3QoLmZvcm0tYWN0aW9ucyksXG4ud2ViZm9ybS1zZWN0aW9uLXdyYXBwZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAuZm9ybS1pdGVtIHtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICY6bm90KC5qcy1mb3JtLXR5cGUtdGV4dGFyZWEpIHtcblxuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbWluKSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGhvcml6LWd1dHRlcjtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wLW1heCAkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRob3Jpei1ndXR0ZXIvMjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbWluKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkaG9yaXotZ3V0dGVyO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbWF4ICR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkaG9yaXotZ3V0dGVyLzI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgICAmOm5vdCguanMtZm9ybS10eXBlLXRleHRhcmVhKSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5qcy1mb3JtLXR5cGUtdGV4dGFyZWEge1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICYud2ViZm9ybS10eXBlLXJhZGlvcyxcbiAgICAgICYud2ViZm9ybS10eXBlLWNoZWNrYm94ZXMge1xuICAgICAgICAuZm9ybS1pdGVtIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qIFdlYmZvcm0gU2VjdGlvbnMgKi9cbi53ZWJmb3JtLXNlY3Rpb24ge1xuXG4gICYgKyAud2ViZm9ybS1zZWN0aW9uIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHVpLWJvcmRlci1jb2xvcjtcbiAgICBtYXJnaW4tdG9wOiAkc2VjdGlvbi1zcGFjZS8xLjI1O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1taW4pIHtcbiAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1zcGFjZS8xLjI1O1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tc3BhY2UvMS41O1xuICAgIH1cbiAgfVxuXG4gIC53ZWJmb3JtLXNlY3Rpb24tdGl0bGUge1xuICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgfVxufVxuXG4vKiBDaGVja2JveGVzL1JhZGlvcyBGaWVsZHNldCAqL1xuZmllbGRzZXQud2ViZm9ybS10eXBlLXJhZGlvcyxcbmZpZWxkc2V0LndlYmZvcm0tdHlwZS1jaGVja2JveGVzIHtcbiAgbGVnZW5kIHtcbiAgICBmb250LXNpemU6ICRmb3JtLWl0ZW0tbGFiZWwtZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkZm9ybS1pdGVtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICAgIG1hcmdpbjogJGZvcm0taXRlbS1sYWJlbC1tYXJnaW47XG4gIH1cblxuICAuZm9ybS1pdGVtIHtcbiAgICBtYXJnaW4tdG9wOiAkdmVydC1ndXR0ZXIvMjtcbiAgICBtYXJnaW4tYm90dG9tOiAkdmVydC1ndXR0ZXIvMjtcblxuICAgIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZ3JheS1kYXJrZXI7XG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cblxuLyogVGV4dCBPcHQtaW4gKi9cbi5mb3JtLWl0ZW0tdGV4dC1vcHRpbiB7XG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cbn1cblxuXG4vKiBNaW5pIFByb2dyYW0gU2VhcmNoICovXG5mb3JtLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDdweDtcbiAgICByaWdodDogN3B4O1xuICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICB9XG5cbiAgLmZvcm0taXRlbSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmZvcm0tdGV4dCB7XG4gICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICB9XG59XG4iLCJAbWl4aW4gcmVzZXQtZm9jdXMge1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG59XG5cblxuLyogSGVhZGVyICovXG5oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBhIHtcbiAgICBAaW5jbHVkZSByZXNldC1mb2N1cztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wLW1pbikge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4OyAvLyBvZmZzZXQgdG9wIG5hdiBwb3NpdGlvbmluZ1xuXG4gICAgdWwge1xuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbmF2ID4gdWwgPiBsaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC00cHg7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyogVG9wIE5hdiAqL1xuXG4jdG9wLW5hdiB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbWluKSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yZWdpb24tLXNlY29uZGFyeS1tZW51IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kaG9yaXotZ3V0dGVyLzI7XG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmc6ICRob3Jpei1ndXR0ZXIvMjtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBwYWRkaW5nLXRvcDogMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yZWdpb24tLXRlcnRpYXJ5LW1lbnUge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtJGhvcml6LWd1dHRlci81O1xuICAgICAgbGkge1xuICAgICAgICBwYWRkaW5nOiAkaG9yaXotZ3V0dGVyLzQgJGhvcml6LWd1dHRlci81O1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRyZWQtZGFyaztcbiAgICAgICAgcGFkZGluZzogJHZlcnQtZ3V0dGVyLzIuNSAkaG9yaXotZ3V0dGVyO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbWluKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEyNXB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8qIEJvdHRvbSBOYXYgKi9cblxuLyogTG9nbyAqL1xuI2xvZ28ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9sb2dvLnBuZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2ZmZjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi10b3A6IDZweDtcbiAgLnN2ZyAmIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9sb2dvLnN2ZycpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1tYXgpIHtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgaGVpZ2h0OiA1OXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1taW4pIHtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgaGVpZ2h0OiA4MHB4O1xuICB9XG59XG5cbi5yZWdpb24tLXByaW1hcnktbWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wLW1pbikge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0kaG9yaXotZ3V0dGVyO1xuXG4gICAgLmJhY2stbGluayB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZzogMCAkaG9yaXotZ3V0dGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZmY7XG4gICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHggMCAyNXB4O1xuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gYS50b2dnbGUtc3VibWVudSB7XG4gICAgICAgIC8vICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIC8vICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgLy8gICBwYWRkaW5nOiAwO1xuICAgICAgICAvLyAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAvLyAgIGhlaWdodDogMjBweDtcbiAgICAgICAgLy8gICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgLy8gICBvcGFjaXR5OiAwO1xuICAgICAgICAvLyAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIC8vICAgdG9wOiAzMnB4O1xuICAgICAgICAvLyAgIHJpZ2h0OiAwO1xuICAgICAgICAvLyAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAvLyAgIHotaW5kZXg6IC0xO1xuICAgICAgICAvLyAgICY6YWZ0ZXIge1xuICAgICAgICAvLyAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIC8vICAgfVxuXG4gICAgICAgIC8vICAgJjpmb2N1cyB7XG4gICAgICAgIC8vICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAvLyAgICAgei1pbmRleDogMjtcbiAgICAgICAgLy8gICB9XG4gICAgICAgIC8vIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLDAsMCwwLjM1KTtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMjUwcHg7XG4gICAgICAgICAgei1pbmRleDogMjA7XG5cbiAgICAgICAgICAmLmNvbHVtbnMge1xuICAgICAgICAgICAgY29sdW1uczogMjtcbiAgICAgICAgICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgICAgICAgICB3aWR0aDogODAwcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTM2MHB4O1xuXG4gICAgICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHVpLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkYm9keS1zbWFsbC1mb250LXNpemU7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibHVlLWxpZ2h0O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHVpLWJvcmRlci1jb2xvcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRob3Jpei1ndXR0ZXI7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAvLyAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgLy8gICBib3JkZXItYm90dG9tLWNvbG9yOiAkdWktYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmID4gJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5tZW51LWl0ZW0tLWV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgJiA+IGE6bm90KC50b2dnbGUtc3VibWVudSkge1xuICAgICAgICAgICAgICAgIC8vIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAvLyBjb250ZW50OlwiXFwyNUI4XCI7XG4gICAgICAgICAgICAgICAgICAvLyBjb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvdHJpYW5nbGUtLXJpZ2h0LnBuZycpO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDRweDtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcbiAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQ2FyYXRcbiAgICAgICAgICAgIGEudG9nZ2xlLXN1Ym1lbnUge1xuICAgICAgICAgICAgICAvLyBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgbGVmdDogMjUwcHg7XG5cbiAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZS1saWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gT3BlbiB0aGUgdGhpcmQgbWVudSBsZXZlbFxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgICAmLmpzLXNob3ctc3VibWVudSB7XG4gICAgICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPcGVuIHRoZSBzZWNvbmQgbWVudSBsZXZlbFxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLm1lbnUtb3BlbixcbiAgICAgICAgJi5qcy1zaG93LXN1Ym1lbnUge1xuICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmpzLWhpZGUtc3VibWVudSB7XG4gICAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJiA+IG5hdiA+IHVsID4gbGkge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMsXG4gICAgICAmLm1lbnUtaXRlbS0tYWN0aXZlLXRyYWlsLFxuICAgICAgJi5qcy1zaG93LXN1Ym1lbnUge1xuICAgICAgICAmID4gYSB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoNCksXG4gICAgICAmOm50aC1jaGlsZCg1KSxcbiAgICAgICY6bnRoLWNoaWxkKDYpLFxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICByaWdodDogJGhvcml6LWd1dHRlcjtcblxuICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICAmLm1lbnUtaXRlbS0tZXhwYW5kZWQgPiBhOm5vdCgudG9nZ2xlLXN1Ym1lbnUpOmFmdGVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvdHJpYW5nbGUtLWxlZnQucG5nJyk7XG4gICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICByaWdodDogMjUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1taW4pIHtcbiAgLy8gICBtYXJnaW4tcmlnaHQ6IC0kaG9yaXotZ3V0dGVyLzI7XG5cbiAgLy8gICB1bCB7XG4gIC8vICAgICBsaSB7XG4gIC8vICAgICAgIHBhZGRpbmc6IDAgJGhvcml6LWd1dHRlci8yO1xuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJhbm5lci1taW4pIHtcbiAgLy8gICBtYXJnaW4tcmlnaHQ6IC0kaG9yaXotZ3V0dGVyO1xuXG4gIC8vICAgdWwge1xuICAvLyAgICAgbGkge1xuICAvLyAgICAgICBwYWRkaW5nOiAwICRob3Jpei1ndXR0ZXI7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLy8gQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1tYXggJHRhYmxldC1wb3J0cmFpdC1taW4pIHtcbiAgLy8gICBmb250LXNpemU6IDAuOGVtO1xuXG4gIC8vICAgdWwge1xuICAvLyAgICAgbGkge1xuICAvLyAgICAgICBhIHtcbiAgLy8gICAgICAgICBwYWRkaW5nOiAzNXB4IDAgMjVweDtcbiAgLy8gICAgICAgfVxuICAvLyAgICAgfVxuICAvLyAgIH1cbiAgLy8gfVxufVxuXG5cbi8qIE1vYmlsZSAqL1xuXG4ubmF2LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgd2lkdGg6IDY1cHg7XG4gIGhlaWdodDogNjVweDtcbiAgcGFkZGluZzogMDtcblxuICAubmF2LWJ1dHRvbi1sYWJlbCB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICAubmF2LWJ1dHRvbi1sYWJlbCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxufVxuXG4jdG9nZ2xlLW1lbnUge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiAgY29sb3I6ICNmZmY7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ocGFkZGluZyk7XG4gICAgcGFkZGluZzogMjRweCAyMHB4IDA7XG4gIH1cbiAgLmJhciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICAmICsgLmJhciB7XG4gICAgICBtYXJnaW4tdG9wOiAkdmVydC1ndXR0ZXIvNTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcblxuICAgIC5tZW51LWljb24ge1xuICAgICAgcGFkZGluZzogMTBweCAyMHB4IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1taW4pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbiN0b2dnbGUtc2VhcmNoIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigpO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR1aS1ib3JkZXItY29sb3I7XG4gIHBhZGRpbmctdG9wOiAxN3B4O1xuXG4gIC5uYXYtYnV0dG9uLWxhYmVsIHtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgfVxuXG4gIC5zZWFyY2gtaWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMnB4O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvc2VhcmNoLnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICBoZWlnaHQ6IDIzcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1taW4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvc2VhcmNoLS13aGl0ZS5wbmcnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBwYWRkaW5nLXRvcDogMnB4O1xuICB9XG5cbiAgLnN2ZyAmIHtcbiAgICAuc2VhcmNoLWljb246YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3NlYXJjaC5zdmcnKTtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1taW4pIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvc2VhcmNoLS13aGl0ZS5zdmcnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wLW1pbikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC01MHB4O1xuICAgIHotaW5kZXg6IDU7XG4gICAgd2lkdGg6IDExNXB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogLTEyMHB4O1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAkdmVydC1ndXR0ZXIvNDtcbiAgICBiYWNrZ3JvdW5kOiAkcmVkLWRhcms7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6ICR2ZXJ0LWd1dHRlci8yLjUgJGhvcml6LWd1dHRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBwYWRkaW5nLXRvcDogJHZlcnQtZ3V0dGVyLzIuNTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLWljb24ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2LWJ1dHRvbi1sYWJlbCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1tYXgpIHtcbiAgaGVhZGVyIHtcbiAgICAmID4gLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gICNuYXZpZ2F0aW9uIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR1aS1ib3JkZXItY29sb3I7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAtMzAwcHg7IC8vRmFsbGJhY2tcbiAgICByaWdodDogY2FsYygtMTAwJSArIDY1cHgpO1xuICAgIHdpZHRoOiAzMDBweDsgLy9GYWxsYmFja1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2NXB4KTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIC8vIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgfVxuXG4gICN0b3AtbmF2IHtcbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgI2xvZ28ge1xuICAgIG1hcmdpbi1sZWZ0OiAkaG9yaXotZ3V0dGVyO1xuICB9XG5cbiAgLnJlZ2lvbi0tcHJpbWFyeS1tZW51LFxuICAucmVnaW9uLS1zZWNvbmRhcnktbWVudSB7XG4gICAgYSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHVpLWJvcmRlci1jb2xvcjtcbiAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICBwYWRkaW5nOiAkdmVydC1ndXR0ZXIvMiAkaG9yaXotZ3V0dGVyO1xuXG4gICAgICAmOm5vdCgudG9nZ2xlLXN1Ym1lbnUpOmhvdmVyLFxuICAgICAgJjpub3QoLnRvZ2dsZS1zdWJtZW51KTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkaG9yaXotZ3V0dGVyKjI7XG4gICAgICB9XG5cbiAgICAgICYuYmFjay1saW5rIHtcbiAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICBjb250ZW50OlwiXFwyNUJFXCI7XG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcblxuICAgICAgJi5tZW51LWl0ZW0tLWV4cGFuZGVkIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcblxuICAgICAgICAmID4gYTpub3QoLnRvZ2dsZS1zdWJtZW51KSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50b2dnbGUtc3VibWVudSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKHdpZHRoKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICB6LWluZGV4OiAxNTA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgJi5qcy1oaWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5tZW51LW9wZW4ge1xuICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vICYuanMtaGlkZSB7XG4gICAgICAgIC8vICAgd2lkdGg6IDA7XG4gICAgICAgIC8vIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmVnaW9uLS1wcmltYXJ5LW1lbnUge1xuICAgIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gICAgJiA+IG5hdiA+IHVsID4gbGk6Zmlyc3QtY2hpbGQgPiBhIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnJlZ2lvbi0tdGVydGlhcnktbWVudSB7XG4gICAgbGkge1xuICAgICAgcGFkZGluZzogJHZlcnQtZ3V0dGVyLzQgJGhvcml6LWd1dHRlcjtcbiAgICB9XG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBidXR0b247XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuc2hvdy1uYXYge1xuICAgIGxlZnQ6IC0zMDBweDsgLy9GYWxsYmFja1xuICAgIGxlZnQ6IGNhbGMoLTEwMCUgKyA2NXB4KTtcbiAgICAvLyBvdmVyZmxvdzogaGlkZGVuOyAvL1ByZXZlbnQgc2Nyb2xsaW5nIG9mIGJvZHkgd2hlbiBuYXYgaXMgb3BlblxuXG4gICAgI25hdmlnYXRpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbiNzZWFyY2gtZHJvcGRvd24ge1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKG1heC1oZWlnaHQpO1xuICBiYWNrZ3JvdW5kOiAkZ3JheS1kYXJrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAwO1xuICB6LWluZGV4OiA5OTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuc2VhcmNoX19kaXNtaXNzIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG4gIH1cblxuICAucmVnaW9uIHtcbiAgICBAaW5jbHVkZSBsYXlvdXQtY29udGFpbmVyO1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1zcGFjZSoxLjU7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXNwYWNlKjEuNTtcbiAgfVxuXG4gIGZvcm0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5mb3JtLWl0ZW0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBsYWJlbCB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAyNXB4O1xuICAgICAgYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgICY6Zm9jdXMtd2l0aGluLFxuICAgICYuZmlsbGVkIHtcbiAgICAgIGxhYmVsIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS10ZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9zZWFyY2gtLXdoaXRlLnBuZycpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxOHB4IGF1dG87XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTcwcHg7XG5cbiAgICAuc3ZnICYge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvc2VhcmNoLS13aGl0ZS5zdmcnKTtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1zdWJtaXQge1xuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktY29sb3I7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJHZlcnQtZ3V0dGVyLzI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLnNob3ctc2VhcmNoICYge1xuICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgIC5mb3JtLXRleHQsXG4gICAgLmZvcm0taXRlbSBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgfVxuXG4gICAgLmZvcm0tdGV4dCB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDM2cHggYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtIGxhYmVsIHtcbiAgICAgIGxlZnQ6IDUwcHg7XG4gICAgICBib3R0b206IDZweDtcbiAgICB9XG5cbiAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAxMnB4O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIjZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogJGJsYWNrO1xuICBjb2xvcjogJGdyYXktbWVkaXVtO1xuICBmb250LXNpemU6ICRib2R5LXNtYWxsLWZvbnQtc2l6ZTtcblxuICBhOm5vdCguYnV0dG9uLS1wcmltYXJ5KSB7XG4gICAgY29sb3I6ICRncmF5LW1lZGl1bTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICAuYnV0dG9uLS1wcmltYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiAkdmVydC1ndXR0ZXI7XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgQGluY2x1ZGUgaDQ7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cblxuICAuZm9vdGVyX190b3Age1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1zcGFjZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tc3BhY2U7XG5cbiAgICAucmVnaW9uLS1mb290ZXIge1xuICAgICAgQGV4dGVuZCAucm93O1xuXG4gICAgICAmID4gKiB7XG4gICAgICAgIEBleHRlbmQgLmNvbC1zbS00O1xuICAgICAgICBAZXh0ZW5kIC5jb2wtbWQtMztcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZGVwYXJ0bWVudHMge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3Atc21hbGwtbWluKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIGNvbHVtbnM6IDI7XG4gICAgICAgICAgICAgIGNvbHVtbi1nYXA6ICRob3Jpei1ndXR0ZXI7XG5cbiAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRlcGFydG1lbnRzLFxuICAgICAgICAmLnJlc291cmNlcyB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1heCAkcGhvbmUtbWluKSB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIGNvbHVtbnM6IDI7XG4gICAgICAgICAgICAgIGNvbHVtbi1nYXA6ICRob3Jpei1ndXR0ZXI7XG5cbiAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9vdGVyX19ib3R0b20ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS1kYXJrZXN0O1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1zcGFjZS8yO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1zcGFjZS8yO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnJlZ2lvbi0tZm9vdGVyLWJvdHRvbSB7XG4gICAgICBAZXh0ZW5kIC5jb2wtc20tODtcbiAgICAgIEBleHRlbmQgLmNvbC1zbS1wdWxsLTQ7XG4gICAgICBAZXh0ZW5kIC5jb2wtbWQtOTtcbiAgICAgIEBleHRlbmQgLmNvbC1tZC1wdWxsLTM7XG5cbiAgICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICYgKyBwIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICYgKyBsaSB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzcHg7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5yZWdpb24tLWZvb3Rlci1ib3R0b20tcmlnaHQge1xuICAgICAgQGV4dGVuZCAuY29sLXNtLTQ7XG4gICAgICBAZXh0ZW5kIC5jb2wtc20tcHVzaC04O1xuICAgICAgQGV4dGVuZCAuY29sLW1kLTM7XG4gICAgICBAZXh0ZW5kIC5jb2wtbWQtcHVzaC05O1xuICAgIH1cbiAgfVxuXG4gIC8qIENvbnRhY3QgKi9cbiAgLmNvbnRhY3Q6bm90KC5jb250YWN0LS1idXR0b24pIHtcbiAgICBjb2xvcjogJGdyYXktbWVkaXVtO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG5cbiAgICAmLmNvbnRhY3QtLXBob25lIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbW9iaWxlLS13aGl0ZS5wbmcnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbnRhY3QtLWVtYWlsIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbWFpbC0td2hpdGUucG5nJyk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuY29udGFjdC0tYWRkcmVzcyB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2xvY2F0aW9uLS13aGl0ZS5wbmcnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNvbnRhY3QtLWNoYXQge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jaGF0LS13aGl0ZS5wbmcnKTtcbiAgICAgIH1cblxuICAgICAgLmNoYXRfX3N0YXR1cyB7XG4gICAgICAgIGNvbG9yOiAkZ3JheS1tZWRpdW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnN2ZyAmIHtcbiAgICAgICYuY29udGFjdC0tcGhvbmUge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbW9iaWxlLS13aGl0ZS5zdmcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmNvbnRhY3QtLWVtYWlsIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21haWwtLXdoaXRlLnN2ZycpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuY29udGFjdC0tbG9jYXRpb24ge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbG9jYXRpb24tLXdoaXRlLnN2ZycpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuY29udGFjdC0tY2hhdCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9jaGF0LS13aGl0ZS5zdmcnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qIFNvY2lhbCBNZWRpYSAqL1xuICAuc29jaWFsbWVkaWEge1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIC8vIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbih0ZXJ0aWFyeSk7XG4gICAgICAgIGNvbG9yOiAkZ3JheS1tZWRpdW07XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDEwcHggNXB4O1xuICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgY29sb3I6ICRncmF5LW1lZGl1bTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9hcnJvdy0tZ3JheS5wbmcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZbaHJlZio9XCJmYWNlYm9vay5jb21cIl0sXG4gICAgICAgICZbaHJlZio9XCJ0d2l0dGVyLmNvbVwiXSxcbiAgICAgICAgJltocmVmKj1cInlvdXR1YmUuY29tXCJdLFxuICAgICAgICAmW2hyZWYqPVwiaW5zdGFncmFtLmNvbVwiXSxcbiAgICAgICAgJltocmVmKj1cImZsaWNrci5jb21cIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTllbTtcblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltocmVmKj1cImZhY2Vib29rLmNvbVwiXSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZmFjZWJvb2sucG5nJyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDYwJTtcblxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9mYWNlYm9vay0td2hpdGUucG5nJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltocmVmKj1cInR3aXR0ZXIuY29tXCJdIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy90d2l0dGVyLnBuZycpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjAlIGF1dG87XG5cbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvdHdpdHRlci0td2hpdGUucG5nJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltocmVmKj1cInlvdXR1YmUuY29tXCJdIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy95b3V0dWJlLnBuZycpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjAlIGF1dG87XG5cbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMveW91dHViZS0td2hpdGUucG5nJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltocmVmKj1cImluc3RhZ3JhbS5jb21cIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2luc3RhZ3JhbS5wbmcnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNjAlO1xuXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2luc3RhZ3JhbS0td2hpdGUucG5nJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltocmVmKj1cImZsaWNrci5jb21cIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ZsaWNrci5wbmcnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDYwJSBhdXRvO1xuXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ZsaWNrci0td2hpdGUucG5nJyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnN2ZyAmIHtcbiAgICAuc29jaWFsbWVkaWEgbGkgYSB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvYXJyb3ctLWdyYXkuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltocmVmKj1cImZhY2Vib29rLmNvbVwiXSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9mYWNlYm9vay5zdmcnKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9mYWNlYm9vay0td2hpdGUuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltocmVmKj1cInR3aXR0ZXIuY29tXCJdIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3R3aXR0ZXIuc3ZnJyk7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvdHdpdHRlci0td2hpdGUuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltocmVmKj1cInlvdXR1YmUuY29tXCJdIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL3lvdXR1YmUuc3ZnJyk7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMveW91dHViZS0td2hpdGUuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltocmVmKj1cImluc3RhZ3JhbS5jb21cIl0ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvaW5zdGFncmFtLnN2ZycpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2luc3RhZ3JhbS0td2hpdGUuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltocmVmKj1cImZsaWNrci5jb21cIl0ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvZmxpY2tyLnN2ZycpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ZsaWNrci0td2hpdGUuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgIGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG59XG5cbi8qIFByZXZlbnQgcGl4ZWwgZnJvbSBhZGRpbmcgc3BhY2UgYmVuZWF0aCBmb290ZXIgKi9cbmltZ1tzcmMqPVwic3AuYW5hbHl0aWNzLnlhaG9vLmNvbVwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xufVxuIiwiLmxvY2F0aW9uLWluZm8ge1xuXG4gIGgyIHtcbiAgICAvLyBAaW5jbHVkZSBoNDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltYWdlcy9sb2NhdGlvbi0tcmVkLnBuZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIDRweCBsZWZ0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCBhdXRvO1xuICAgIHBhZGRpbmctbGVmdDogMjJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTRweDtcbiAgfVxuXG4gIC5zdmcgJiB7XG4gICAgaDIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWFnZXMvbG9jYXRpb24tLXJlZC5zdmcnKTtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIFxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbi5zaWRlYmFyIHtcblxuICBoMiB7XG4gICAgQGluY2x1ZGUgaDQ7XG4gIH1cblxuICAucmVnaW9uID4gKiB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHZlcnQtZ3V0dGVyKjI7XG5cbiAgICAmOmZpcnN0LWNoaWxkIGgyIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgbmF2LFxuICAuZmllbGQtLWN0YS1idXR0b25zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkdmVydC1ndXR0ZXIqMjtcbiAgfVxuXG4gIC5maWVsZC0tY3RhLWJ1dHRvbnMge1xuICAgIC5maWVsZF9faXRlbSArIC5maWVsZF9faXRlbSB7XG4gICAgICBtYXJnaW4tdG9wOiAkdmVydC1ndXR0ZXIvMjtcbiAgICB9XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4ICR0YWJsZXQtc21hbGwtbWluKSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtJGhvcml6LWd1dHRlci81O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtJGhvcml6LWd1dHRlci81O1xuXG4gICAgICAuZmllbGRfX2l0ZW0ge1xuICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkaG9yaXotZ3V0dGVyLzU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRob3Jpei1ndXR0ZXIvNTtcblxuICAgICAgICAmICsgLmZpZWxkX19pdGVtIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLS1jb250YWN0LXRpdGxlIHtcbiAgICBAaW5jbHVkZSBoNDtcbiAgfVxuXG4gIC5maWVsZC0tY29udGFjdC1lbWFpbCxcbiAgLmZpZWxkLS1jb250YWN0LXBob25lLFxuICAuZmllbGQtLWNvbnRhY3QtYWRkcmVzcyxcbiAgLmZpZWxkLS1jb250YWN0LWZheCxcbiAgLmZpZWxkLS1jb250YWN0LWhvdXJzIHtcbiAgICBAZXh0ZW5kICVjb250YWN0LWljb25zO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206ICR2ZXJ0LWd1dHRlci8xLjU7XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLS1jb250YWN0LWVtYWlsIHtcbiAgICBAZXh0ZW5kICVjb250YWN0LWVtYWlsO1xuICB9XG4gIC5maWVsZC0tY29udGFjdC1waG9uZSB7XG4gICAgQGV4dGVuZCAlY29udGFjdC1waG9uZTtcbiAgfVxuICAuZmllbGQtLWNvbnRhY3QtZmF4IHtcbiAgICBAZXh0ZW5kICVjb250YWN0LWZheDtcbiAgfVxuICAuZmllbGQtLWNvbnRhY3QtaG91cnMge1xuICAgIEBleHRlbmQgJWNvbnRhY3QtaG91cnM7XG4gIH1cbiAgLmZpZWxkLS1jb250YWN0LWFkZHJlc3Mge1xuICAgIEBleHRlbmQgJWNvbnRhY3QtYWRkcmVzcztcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICB9XG59XG5cbi5maWVsZC0tY3RhLWJ1dHRvbnMge1xuICBhIHtcbiAgICBAaW5jbHVkZSBidXR0b24oKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRob3Jpei1ndXR0ZXI7XG4gICAgcGFkZGluZy1yaWdodDogJGhvcml6LWd1dHRlcjtcbiAgfVxufVxuIiwiLmxheW91dC1jb250ZW50LWJvdHRvbSB7XG4gIEBpbmNsdWRlIHBhcmFncmFwaC1zcGFjZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkZ3JheS1saWdodGVyLCAyJSk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkdWktYm9yZGVyLWNvbG9yO1xuXG4gIC5yZWdpb24tLWNvbnRlbnQtYm90dG9tIHtcbiAgICBAaW5jbHVkZSBsYXlvdXQtY29udGFpbmVyO1xuICB9XG5cbiAgaDI6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cblxuLm5ld3MtbGlzdGluZyxcbi5ldmVudHMtbGlzdGluZyB7XG4gIG1hcmdpbi1ib3R0b206ICR2ZXJ0LWd1dHRlcioyO1xuXG4gIGFydGljbGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdWktYm9yZGVyLWNvbG9yO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHZlcnQtZ3V0dGVyO1xuICAgIHBhZGRpbmctdG9wOiAkdmVydC1ndXR0ZXI7XG5cbiAgICAqOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLmV2ZW50cy1saXN0aW5nIHtcbiAgLmV2ZW50X19kYXRlIHtcbiAgICBoZWlnaHQ6IDcwcHg7XG4gIH1cbn1cblxuLm5ld3MtbGlzdGluZyB7XG4gIC5uZXdzIHtcbiAgICBtaW4taGVpZ2h0OiAxMTFweDtcbiAgfVxufVxuIiwiLyogQHBhcnRpYWwgX2Jvb3RzdHJhcC1iYXNlZC1ncmlkLnNjc3MgKi9cblxuXG4vKiBCb290c3RyYXAgYmFzZWQgZ3JpZCBjbGFzc2VzIGZvciBlYXNpZXIgd3lzaXd5ZyByZXNwb25zaXZlIGxheW91dHMgLi4uaWYgeW91ciBzbyBpbmNsaW5lZC5cbiAgIE1ha2VzIGZvciBtdWNoIGVhc2llciBhZGRpbmcgcGFnZXMgdGhyb3VnaCB0aGUgQ01TIFVJLlxuICAgaHR0cDovL2dldGJvb3RzdHJhcC5jb20vY3NzLyNncmlkXG4qL1xuXG5cbi5jb250YWluZXIge1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5jb250YWluZXI6YmVmb3JlLFxuLmNvbnRhaW5lcjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmNvbnRhaW5lcjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY29udGFpbmVyOmJlZm9yZSxcbi5jb250YWluZXI6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogXCIgXCI7XG59XG5cbi5jb250YWluZXI6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnJvdyB7XG4gIG1hcmdpbi10b3A6IC0kaG9yaXotZ3V0dGVyLzI7XG4gIG1hcmdpbi1ib3R0b206IC0kaG9yaXotZ3V0dGVyLzI7XG4gIG1hcmdpbi1sZWZ0OiAtJGhvcml6LWd1dHRlcjtcbiAgbWFyZ2luLXJpZ2h0OiAtJGhvcml6LWd1dHRlcjtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgbWFyZ2luLXRvcDogLSRob3Jpei1ndXR0ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRob3Jpei1ndXR0ZXI7XG4gIH1cbn1cblxuLnJvdzpiZWZvcmUsXG4ucm93OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4ucm93OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5yb3c6YmVmb3JlLFxuLnJvdzphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLnJvdzphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY29sLXhzLTEsXG4uY29sLXhzLTIsXG4uY29sLXhzLTMsXG4uY29sLXhzLTQsXG4uY29sLXhzLTUsXG4uY29sLXhzLTYsXG4uY29sLXhzLTcsXG4uY29sLXhzLTgsXG4uY29sLXhzLTksXG4uY29sLXhzLTEwLFxuLmNvbC14cy0xMSxcbi5jb2wteHMtMTIsXG4vLyBORVcgbWVkaXVtIHNtYWxsIC4uLiA2MDBweCBicmVha3BvaW50XG4uY29sLW1zbS0xLFxuLmNvbC1tc20tMixcbi5jb2wtbXNtLTMsXG4uY29sLW1zbS00LFxuLmNvbC1tc20tNSxcbi5jb2wtbXNtLTYsXG4uY29sLW1zbS03LFxuLmNvbC1tc20tOCxcbi5jb2wtbXNtLTksXG4uY29sLW1zbS0xMCxcbi5jb2wtbXNtLTExLFxuLmNvbC1zbS0xMixcbi8vIEVORCBORVdcbi5jb2wtc20tMSxcbi5jb2wtc20tMixcbi5jb2wtc20tMyxcbi5jb2wtc20tNCxcbi5jb2wtc20tNSxcbi5jb2wtc20tNixcbi5jb2wtc20tNyxcbi5jb2wtc20tOCxcbi5jb2wtc20tOSxcbi5jb2wtc20tMTAsXG4uY29sLXNtLTExLFxuLmNvbC1zbS0xMixcbi5jb2wtbWQtMSxcbi5jb2wtbWQtMixcbi5jb2wtbWQtMyxcbi5jb2wtbWQtNCxcbi5jb2wtbWQtNSxcbi5jb2wtbWQtNixcbi5jb2wtbWQtNyxcbi5jb2wtbWQtOCxcbi5jb2wtbWQtOSxcbi5jb2wtbWQtMTAsXG4uY29sLW1kLTExLFxuLmNvbC1tZC0xMixcbi5jb2wtbGctMSxcbi5jb2wtbGctMixcbi5jb2wtbGctMyxcbi5jb2wtbGctNCxcbi5jb2wtbGctNSxcbi5jb2wtbGctNixcbi5jb2wtbGctNyxcbi5jb2wtbGctOCxcbi5jb2wtbGctOSxcbi5jb2wtbGctMTAsXG4uY29sLWxnLTExLFxuLmNvbC1sZy0xMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICRob3Jpei1ndXR0ZXI7XG4gIHBhZGRpbmctcmlnaHQ6ICRob3Jpei1ndXR0ZXI7XG4gIHBhZGRpbmctdG9wOiAkaG9yaXotZ3V0dGVyLzI7XG4gIHBhZGRpbmctYm90dG9tOiAkaG9yaXotZ3V0dGVyLzI7XG4gIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgIHBhZGRpbmctdG9wOiAkaG9yaXotZ3V0dGVyO1xuICAgIHBhZGRpbmctYm90dG9tOiAkaG9yaXotZ3V0dGVyO1xuICB9XG59XG5cbi5jb2wteHMtMSxcbi5jb2wteHMtMixcbi5jb2wteHMtMyxcbi5jb2wteHMtNCxcbi5jb2wteHMtNSxcbi5jb2wteHMtNixcbi5jb2wteHMtNyxcbi5jb2wteHMtOCxcbi5jb2wteHMtOSxcbi5jb2wteHMtMTAsXG4uY29sLXhzLTExIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5jb2wteHMtMSB7XG4gIHdpZHRoOiA4LjMzMzMzMzMzMzMzMzMzMiU7XG59XG5cbi5jb2wteHMtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NjY2NjY2NjQlO1xufVxuXG4uY29sLXhzLTMge1xuICB3aWR0aDogMjUlO1xufVxuXG4uY29sLXhzLTQge1xuICB3aWR0aDogMzMuMzMzMzMzMzMzMzMzMzMlO1xufVxuXG4uY29sLXhzLTUge1xuICB3aWR0aDogNDEuNjY2NjY2NjY2NjY2NjclO1xufVxuXG4uY29sLXhzLTYge1xuICB3aWR0aDogNTAlO1xufVxuXG4uY29sLXhzLTcge1xuICB3aWR0aDogNTguMzMzMzMzMzMzMzMzMzM2JTtcbn1cblxuLmNvbC14cy04IHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY2NjY2NjY2JTtcbn1cblxuLmNvbC14cy05IHtcbiAgd2lkdGg6IDc1JTtcbn1cblxuLmNvbC14cy0xMCB7XG4gIHdpZHRoOiA4My4zMzMzMzMzMzMzMzMzNCU7XG59XG5cbi5jb2wteHMtMTEge1xuICB3aWR0aDogOTEuNjY2NjY2NjY2NjY2NjYlO1xufVxuXG4uY29sLXhzLTEyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXNtYWxsLW1pbikge1xuICAuY29sLW1zbS0xLFxuICAuY29sLW1zbS0yLFxuICAuY29sLW1zbS0zLFxuICAuY29sLW1zbS00LFxuICAuY29sLW1zbS01LFxuICAuY29sLW1zbS02LFxuICAuY29sLW1zbS03LFxuICAuY29sLW1zbS04LFxuICAuY29sLW1zbS05LFxuICAuY29sLW1zbS0xMCxcbiAgLmNvbC1tc20tMTEge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5jb2wtbXNtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMzMzMzMiU7XG4gIH1cbiAgLmNvbC1tc20tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjY2NjY2NCU7XG4gIH1cbiAgLmNvbC1tc20tMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuY29sLW1zbS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbXNtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tc20tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuY29sLW1zbS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMzMzMzM2JTtcbiAgfVxuICAuY29sLW1zbS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtbXNtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC1tc20tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzMzMzNCU7XG4gIH1cbiAgLmNvbC1tc20tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1tc20tMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wtbXNtLXB1c2gtMSB7XG4gICAgbGVmdDogOC4zMzMzMzMzMzMzMzMzMzIlO1xuICB9XG4gIC5jb2wtbXNtLXB1c2gtMiB7XG4gICAgbGVmdDogMTYuNjY2NjY2NjY2NjY2NjY0JTtcbiAgfVxuICAuY29sLW1zbS1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTtcbiAgfVxuICAuY29sLW1zbS1wdXNoLTQge1xuICAgIGxlZnQ6IDMzLjMzMzMzMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1zbS1wdXNoLTUge1xuICAgIGxlZnQ6IDQxLjY2NjY2NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1zbS1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLW1zbS1wdXNoLTcge1xuICAgIGxlZnQ6IDU4LjMzMzMzMzMzMzMzMzMzNiU7XG4gIH1cbiAgLmNvbC1tc20tcHVzaC04IHtcbiAgICBsZWZ0OiA2Ni42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1tc20tcHVzaC05IHtcbiAgICBsZWZ0OiA3NSU7XG4gIH1cbiAgLmNvbC1tc20tcHVzaC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMzMzMzMzMzMzQlO1xuICB9XG4gIC5jb2wtbXNtLXB1c2gtMTEge1xuICAgIGxlZnQ6IDkxLjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLW1zbS1wdWxsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzMzMzMzMzMzMzMiU7XG4gIH1cbiAgLmNvbC1tc20tcHVsbC0yIHtcbiAgICByaWdodDogMTYuNjY2NjY2NjY2NjY2NjY0JTtcbiAgfVxuICAuY29sLW1zbS1wdWxsLTMge1xuICAgIHJpZ2h0OiAyNSU7XG4gIH1cbiAgLmNvbC1tc20tcHVsbC00IHtcbiAgICByaWdodDogMzMuMzMzMzMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbXNtLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1zbS1wdWxsLTYge1xuICAgIHJpZ2h0OiA1MCU7XG4gIH1cbiAgLmNvbC1tc20tcHVsbC03IHtcbiAgICByaWdodDogNTguMzMzMzMzMzMzMzMzMzM2JTtcbiAgfVxuICAuY29sLW1zbS1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1tc20tcHVsbC05IHtcbiAgICByaWdodDogNzUlO1xuICB9XG4gIC5jb2wtbXNtLXB1bGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMzMzMzMzMzMzNCU7XG4gIH1cbiAgLmNvbC1tc20tcHVsbC0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLW1zbS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMzMzMzMyJTtcbiAgfVxuICAuY29sLW1zbS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjY2NjY2NCU7XG4gIH1cbiAgLmNvbC1tc20tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmNvbC1tc20tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tc20tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tc20tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmNvbC1tc20tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzMzMzMzYlO1xuICB9XG4gIC5jb2wtbXNtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtbXNtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5jb2wtbXNtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMzMzM0JTtcbiAgfVxuICAuY29sLW1zbS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAuY29sLXNtLTEsXG4gIC5jb2wtc20tMixcbiAgLmNvbC1zbS0zLFxuICAuY29sLXNtLTQsXG4gIC5jb2wtc20tNSxcbiAgLmNvbC1zbS02LFxuICAuY29sLXNtLTcsXG4gIC5jb2wtc20tOCxcbiAgLmNvbC1zbS05LFxuICAuY29sLXNtLTEwLFxuICAuY29sLXNtLTExIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuY29sLXNtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMzMzMzMiU7XG4gIH1cbiAgLmNvbC1zbS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NjY2NjY0JTtcbiAgfVxuICAuY29sLXNtLTMge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbiAgLmNvbC1zbS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1zbS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMzMzMzM2JTtcbiAgfVxuICAuY29sLXNtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1zbS05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5jb2wtc20tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzMzMzNCU7XG4gIH1cbiAgLmNvbC1zbS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLXNtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29sLXNtLXB1c2gtMSB7XG4gICAgbGVmdDogOC4zMzMzMzMzMzMzMzMzMzIlO1xuICB9XG4gIC5jb2wtc20tcHVzaC0yIHtcbiAgICBsZWZ0OiAxNi42NjY2NjY2NjY2NjY2NjQlO1xuICB9XG4gIC5jb2wtc20tcHVzaC0zIHtcbiAgICBsZWZ0OiAyNSU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTQge1xuICAgIGxlZnQ6IDMzLjMzMzMzMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLXB1c2gtNSB7XG4gICAgbGVmdDogNDEuNjY2NjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tcHVzaC02IHtcbiAgICBsZWZ0OiA1MCU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTcge1xuICAgIGxlZnQ6IDU4LjMzMzMzMzMzMzMzMzMzNiU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTgge1xuICAgIGxlZnQ6IDY2LjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLXNtLXB1c2gtOSB7XG4gICAgbGVmdDogNzUlO1xuICB9XG4gIC5jb2wtc20tcHVzaC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMzMzMzMzMzMzQlO1xuICB9XG4gIC5jb2wtc20tcHVzaC0xMSB7XG4gICAgbGVmdDogOTEuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtc20tcHVsbC0xIHtcbiAgICByaWdodDogOC4zMzMzMzMzMzMzMzMzMzIlO1xuICB9XG4gIC5jb2wtc20tcHVsbC0yIHtcbiAgICByaWdodDogMTYuNjY2NjY2NjY2NjY2NjY0JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtMyB7XG4gICAgcmlnaHQ6IDI1JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxuICAuY29sLXNtLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzMzMzMzMzNiU7XG4gIH1cbiAgLmNvbC1zbS1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1zbS1wdWxsLTkge1xuICAgIHJpZ2h0OiA3NSU7XG4gIH1cbiAgLmNvbC1zbS1wdWxsLTEwIHtcbiAgICByaWdodDogODMuMzMzMzMzMzMzMzMzMzQlO1xuICB9XG4gIC5jb2wtc20tcHVsbC0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzMzMzMzIlO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY2NjY2NjQlO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMzMzMzNiU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMzMzMzQlO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3Atc21hbGwtbWluKSB7XG4gIC5jb2wtbWQtMSxcbiAgLmNvbC1tZC0yLFxuICAuY29sLW1kLTMsXG4gIC5jb2wtbWQtNCxcbiAgLmNvbC1tZC01LFxuICAuY29sLW1kLTYsXG4gIC5jb2wtbWQtNyxcbiAgLmNvbC1tZC04LFxuICAuY29sLW1kLTksXG4gIC5jb2wtbWQtMTAsXG4gIC5jb2wtbWQtMTEge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5jb2wtbWQtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMzMzMzMyJTtcbiAgfVxuICAuY29sLW1kLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY2NjY2NjQlO1xuICB9XG4gIC5jb2wtbWQtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuY29sLW1kLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuY29sLW1kLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzMzMzMzYlO1xuICB9XG4gIC5jb2wtbWQtOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLW1kLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC1tZC0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMzMzM0JTtcbiAgfVxuICAuY29sLW1kLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtbWQtMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC0wIHtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5jb2wtbWQtcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzMzMzMzMzMiU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTIge1xuICAgIGxlZnQ6IDE2LjY2NjY2NjY2NjY2NjY2NCU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTtcbiAgfVxuICAuY29sLW1kLXB1c2gtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC01IHtcbiAgICBsZWZ0OiA0MS42NjY2NjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLW1kLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMzMzMzMzMzMzM2JTtcbiAgfVxuICAuY29sLW1kLXB1c2gtOCB7XG4gICAgbGVmdDogNjYuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC05IHtcbiAgICBsZWZ0OiA3NSU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMzMzMzMzNCU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTAge1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5jb2wtbWQtcHVsbC0xIHtcbiAgICByaWdodDogOC4zMzMzMzMzMzMzMzMzMzIlO1xuICB9XG4gIC5jb2wtbWQtcHVsbC0yIHtcbiAgICByaWdodDogMTYuNjY2NjY2NjY2NjY2NjY0JTtcbiAgfVxuICAuY29sLW1kLXB1bGwtMyB7XG4gICAgcmlnaHQ6IDI1JTtcbiAgfVxuICAuY29sLW1kLXB1bGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxuICAuY29sLW1kLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzMzMzMzMzNiU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTkge1xuICAgIHJpZ2h0OiA3NSU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTEwIHtcbiAgICByaWdodDogODMuMzMzMzMzMzMzMzMzMzQlO1xuICB9XG4gIC5jb2wtbWQtcHVsbC0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuY29sLW1kLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzMzMzMzIlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY2NjY2NjQlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMzMzMzNiU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMzMzMzQlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbWluKSB7XG4gIC5jb2wtbGctMSxcbiAgLmNvbC1sZy0yLFxuICAuY29sLWxnLTMsXG4gIC5jb2wtbGctNCxcbiAgLmNvbC1sZy01LFxuICAuY29sLWxnLTYsXG4gIC5jb2wtbGctNyxcbiAgLmNvbC1sZy04LFxuICAuY29sLWxnLTksXG4gIC5jb2wtbGctMTAsXG4gIC5jb2wtbGctMTEge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5jb2wtbGctMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMzMzMzMyJTtcbiAgfVxuICAuY29sLWxnLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjY2NjY2NjQlO1xuICB9XG4gIC5jb2wtbGctMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuY29sLWxnLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy01IHtcbiAgICB3aWR0aDogNDEuNjY2NjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuY29sLWxnLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzMzMzMzYlO1xuICB9XG4gIC5jb2wtbGctOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLWxnLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC1sZy0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMzMzM0JTtcbiAgfVxuICAuY29sLWxnLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtbGctMTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIC5jb2wtbGctcHVzaC0wIHtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5jb2wtbGctcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzMzMzMzMzMiU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTIge1xuICAgIGxlZnQ6IDE2LjY2NjY2NjY2NjY2NjY2NCU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTtcbiAgfVxuICAuY29sLWxnLXB1c2gtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbGctcHVzaC01IHtcbiAgICBsZWZ0OiA0MS42NjY2NjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLWxnLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMzMzMzMzMzMzM2JTtcbiAgfVxuICAuY29sLWxnLXB1c2gtOCB7XG4gICAgbGVmdDogNjYuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG4gIC5jb2wtbGctcHVzaC05IHtcbiAgICBsZWZ0OiA3NSU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMzMzMzMzNCU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1sZy1wdWxsLTAge1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5jb2wtbGctcHVsbC0xIHtcbiAgICByaWdodDogOC4zMzMzMzMzMzMzMzMzMzIlO1xuICB9XG4gIC5jb2wtbGctcHVsbC0yIHtcbiAgICByaWdodDogMTYuNjY2NjY2NjY2NjY2NjY0JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtMyB7XG4gICAgcmlnaHQ6IDI1JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtNCB7XG4gICAgcmlnaHQ6IDMzLjMzMzMzMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxuICAuY29sLWxnLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzMzMzMzMzNiU7XG4gIH1cbiAgLmNvbC1sZy1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NjY2NjY2NiU7XG4gIH1cbiAgLmNvbC1sZy1wdWxsLTkge1xuICAgIHJpZ2h0OiA3NSU7XG4gIH1cbiAgLmNvbC1sZy1wdWxsLTEwIHtcbiAgICByaWdodDogODMuMzMzMzMzMzMzMzMzMzQlO1xuICB9XG4gIC5jb2wtbGctcHVsbC0xMSB7XG4gICAgcmlnaHQ6IDkxLjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuICAuY29sLWxnLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMzMzMzMzMzMzMzIlO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY2NjY2NjQlO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzMzMzMzMzMzMzNiU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjY2NjY2JTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMzMzMzMzMzMzQlO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NjY2NjYlO1xuICB9XG59XG4iLCJAaW1wb3J0IFwiLi4vc3VwcG9ydFwiO1xuXG4vLyBUaGlzIG1peGluIHByb3ZpZGVzIGJhc2ljIHN1cHBvcnQgZm9yIENTUzMgcHJvcGVydGllcyBhbmRcbi8vIHRoZWlyIGNvcnJlc3BvbmRpbmcgZXhwZXJpbWVudGFsIENTUzIgcHJvcGVydGllcyB3aGVuXG4vLyB0aGUgaW1wbGVtZW50YXRpb25zIGFyZSBpZGVudGljYWwgZXhjZXB0IGZvciB0aGUgcHJvcGVydHlcbi8vIHByZWZpeC5cbkBtaXhpbiBleHBlcmltZW50YWwoJHByb3BlcnR5LCAkdmFsdWUsXG4gICRtb3ogICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSxcbiAgJHdlYmtpdCAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQsXG4gICRvICAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtcyAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0LFxuICAka2h0bWwgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLFxuICAkb2ZmaWNpYWwgOiB0cnVlXG4pIHtcbiAgQGlmICR3ZWJraXQgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7IC13ZWJraXQtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAka2h0bWwgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgeyAgLWtodG1sLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG1veiAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgICAgLW1vei0jeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbiAgQGlmICRtcyAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7ICAgICAtbXMtI3skcHJvcGVydHl9IDogJHZhbHVlOyB9XG4gIEBpZiAkbyAgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAgICAgIC1vLSN7JHByb3BlcnR5fSA6ICR2YWx1ZTsgfVxuICBAaWYgJG9mZmljaWFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgICAgICAgICAjeyRwcm9wZXJ0eX0gOiAkdmFsdWU7IH1cbn1cblxuLy8gU2FtZSBhcyBleHBlcmltZW50YWwoKSwgYnV0IGZvciBjYXNlcyB3aGVuIHRoZSBwcm9wZXJ0eSBpcyB0aGUgc2FtZSBhbmQgdGhlIHZhbHVlIGlzIHZlbmRvcml6ZWRcbkBtaXhpbiBleHBlcmltZW50YWwtdmFsdWUoJHByb3BlcnR5LCAkdmFsdWUsXG4gICRtb3ogICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSxcbiAgJHdlYmtpdCAgIDogJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci13ZWJraXQsXG4gICRvICAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3Itb3BlcmEsXG4gICRtcyAgICAgICA6ICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbWljcm9zb2Z0LFxuICAka2h0bWwgICAgOiAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLWtodG1sLFxuICAkb2ZmaWNpYWwgOiB0cnVlXG4pIHtcbiAgQGlmICR3ZWJraXQgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLXdlYmtpdCAgICB7ICN7JHByb3BlcnR5fSA6IC13ZWJraXQtI3skdmFsdWV9OyB9XG4gIEBpZiAka2h0bWwgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1raHRtbCAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgLWtodG1sLSN7JHZhbHVlfTsgfVxuICBAaWYgJG1veiAgICAgYW5kICRleHBlcmltZW50YWwtc3VwcG9ydC1mb3ItbW96aWxsYSAgIHsgI3skcHJvcGVydHl9IDogICAgLW1vei0jeyR2YWx1ZX07IH1cbiAgQGlmICRtcyAgICAgIGFuZCAkZXhwZXJpbWVudGFsLXN1cHBvcnQtZm9yLW1pY3Jvc29mdCB7ICN7JHByb3BlcnR5fSA6ICAgICAtbXMtI3skdmFsdWV9OyB9XG4gIEBpZiAkbyAgICAgICBhbmQgJGV4cGVyaW1lbnRhbC1zdXBwb3J0LWZvci1vcGVyYSAgICAgeyAjeyRwcm9wZXJ0eX0gOiAgICAgIC1vLSN7JHZhbHVlfTsgfVxuICBAaWYgJG9mZmljaWFsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgI3skcHJvcGVydHl9IDogICAgICAgICAjeyR2YWx1ZX07IH1cbn1cbiIsIlxuLy8gQWRkcyBvdXRsaW5lcyBhcm91bmQgZWxlbWVudHMgdG8gZml4IHNob3R0eSBsYXlvdXQuXG4vLyBAaW5jbHVkZSAkZGVidWctbGF5b3V0O1xuXG5ib2R5LFxuaHRtbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxubWFpbixcbi5jb250YWluZXIge1xuICBAaW5jbHVkZSBsYXlvdXQtY29udGFpbmVyO1xuICBAaW5jbHVkZSBtaWNyby1jbGVhcmZpeDtcbn1cblxuI2hpZ2hsaWdodGVkIHtcbiAgQGluY2x1ZGUgbWljcm8tY2xlYXJmaXg7XG59XG5cbi8vIC5tYWluLFxuLy8gLnJlZ2lvbi1mb290ZXIge1xuLy8gICBAaW5jbHVkZSBsYXlvdXQtZ3V0dGVyO1xuLy8gICBAaW5jbHVkZSBtaWNyby1jbGVhcmZpeDtcbi8vIH1cblxuLy8vLy8vLy8vLy8vLy8vL1xuLy8gUkVHSU9OU1xuLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyAjbWFpbiB7XG4vLyAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1zcGFjZTtcbi8vICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXNwYWNlO1xuLy8gfVxuXG4vLyAubGF5b3V0LWNvbnRlbnQge1xuLy8gICB3aWR0aDogMTAwJTtcbi8vIH1cblxuXG4vLy8vLy8vLy8vLy8vLy8vXG4vLyBMQVlPVVRcbi8vLy8vLy8vLy8vLy8vLy9cblxuLyogSWYgdGhlIGxlZnQgc2lkZWJhciBleGlzdHMuLi4gKi9cbi5sYXlvdXQtY29udGVudCxcbi5sYXlvdXQtc2lkZWJhci1maXJzdCxcbi5sYXlvdXQtc2lkZWJhci1zZWNvbmQge1xuICBAaW5jbHVkZSBzZWN0aW9uLXNwYWNlO1xufVxuXG4uaGFzLXNpZGViYXIge1xuXG4gIG1haW4ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmxheW91dC1zaWRlYmFyLWZpcnN0IHtcbiAgICBAZXh0ZW5kIC5jb2wtc20tNDtcbiAgICBAZXh0ZW5kIC5jb2wtc20tcHVsbC04O1xuICAgIEBleHRlbmQgLmNvbC1sZy0zO1xuICAgIEBleHRlbmQgLmNvbC1sZy1wdWxsLTk7XG4gIH1cblxuICAubGF5b3V0LWNvbnRlbnQge1xuICAgIEBleHRlbmQgLmNvbC1zbS04O1xuICAgIEBleHRlbmQgLmNvbC1zbS1wdXNoLTQ7XG4gICAgQGV4dGVuZCAuY29sLWxnLTk7XG4gICAgQGV4dGVuZCAuY29sLWxnLXB1c2gtMztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbWluKSB7XG4gICAgLmxheW91dC1zaWRlYmFyLWZpcnN0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRob3Jpei1ndXR0ZXIqMjtcbiAgICB9XG4gICAgLmxheW91dC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogJGhvcml6LWd1dHRlcioyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbWF4ICR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgLmxheW91dC1zaWRlYmFyLWZpcnN0IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6ICRob3Jpei1ndXR0ZXI7XG4gICAgICBmb250LXNpemU6IDAuOGVtO1xuICAgIH1cbiAgICAubGF5b3V0LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAkaG9yaXotZ3V0dGVyO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1taW4pIHtcbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgIC5sYXlvdXQtc2lkZWJhci1maXJzdCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkdWktYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1tYXgpIHtcbiAgICAubGF5b3V0LXNpZGViYXItZmlyc3Qge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR1aS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5zaWRlYmFyLXNlY29uZCB7XG5cbiAgbWFpbiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cblxuICAubGF5b3V0LXNpZGViYXItc2Vjb25kIHtcbiAgICBAZXh0ZW5kIC5jb2wtc20tMztcbiAgfVxuXG4gIC5sYXlvdXQtY29udGVudCB7XG4gICAgQGV4dGVuZCAuY29sLXNtLTk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAubGF5b3V0LXNpZGViYXItc2Vjb25kIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHVpLWJvcmRlci1jb2xvcjtcbiAgICAgIHBhZGRpbmctbGVmdDogJGhvcml6LWd1dHRlcioyO1xuICAgIH1cbiAgICAubGF5b3V0LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1yaWdodDogJGhvcml6LWd1dHRlcioyO1xuICAgIH1cbiAgfVxufSIsIi8qIEhvbWUgKi9cbi5ob21lcGFnZSB7XG4gIC5sYXlvdXQtY29udGVudC1ib3R0b20ge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG4vKiBQYWdlIHdpdGhvdXQgU2lkZWJhciAqL1xuLnBhZ2UtLW5vZGUgLm5vLXNpZGViYXIge1xuICBtYWluIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAubGF5b3V0LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgLmZpZWxkLS1ib2R5ID4gLnBhcmFncmFwaCB7XG4gICAgQGluY2x1ZGUgbGF5b3V0LWNvbnRhaW5lcjtcblxuICAgICYucGFyYWdyYXBoLS1mZWF0dXJlLFxuICAgICYuZGF2LXByb2dyYW0tc2VhcmNoLW1pbmksXG4gICAgJi5wYXJhZ3JhcGgtLXdlYmZvcm0ge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAub2JqZWN0Zml0ICYge1xuICAgIC5iYW5uZXIgLm1lZGlhLS1pbWFnZSBpbWcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1heCkge1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaGFzLXN0YXRzIHtcbiAgICAuZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoLS10ZXh0OmZpcnN0LWNoaWxkIC5maWVsZC0tY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzdGF0cy1sYXJnZS1tYXggJHN0YXRzLW1pbikge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaG9yaXotZ3V0dGVyO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc3RhdHMtbWF4ICRkZXNrdG9wLW1pbikge1xuICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaG9yaXotZ3V0dGVyO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1tYXggJHRhYmxldC1wb3J0cmFpdC1taW4pIHtcbiAgICAgICAgd2lkdGg6IDY2LjY3JTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGhvcml6LWd1dHRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGFyYWdyYXBoLS1mZWF0dXJlLmZlYXR1cmUtLW9kZCB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYmFubmVyLW1pbikge1xuICAgICAgLmZlYXR1cmVfX3RleHQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDUwdncgLSAxMjAwcHggLyAyKTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkaG9yaXotZ3V0dGVyKjIuNTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1sYXJnZS1taW4pIHtcbiAgICAgIC5mZWF0dXJlX190ZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYyg1MHZ3IC0gMTM5MHB4IC8gMik7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGhvcml6LWd1dHRlcioyLjU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnBhcmFncmFwaC0tZmVhdHVyZS5mZWF0dXJlLS1ldmVuLFxuICAucGFyYWdyYXBoLmRhdi1wcm9ncmFtLXNlYXJjaC1taW5pIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRiYW5uZXItbWluKSB7XG4gICAgICAuZmVhdHVyZV9fdGV4dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogY2FsYyg1MHZ3IC0gMTIwMHB4IC8gMik7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRob3Jpei1ndXR0ZXIqMi41O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wLWxhcmdlLW1pbikge1xuICAgICAgLmZlYXR1cmVfX3RleHQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNTB2dyAtIDEzOTBweCAvIDIpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaG9yaXotZ3V0dGVyKjIuNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucGFyYWdyYXBoLS13ZWJmb3JtIC5maWVsZC0td2ViZm9ybSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYmFubmVyLW1pbikge1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyg1MHZ3IC0gMTIwMHB4IC8gMik7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNTB2dyAtIDEyMDBweCAvIDIpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wLWxhcmdlLW1pbikge1xuICAgICAgcGFkZGluZy1yaWdodDogY2FsYyg1MHZ3IC0gMTM5MHB4IC8gMik7XG4gICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoNTB2dyAtIDEzOTBweCAvIDIpO1xuICAgIH1cbiAgfVxufVxuXG4vKiBJbnRlcmVzdGVkIEluIERyb3Bkb3duICovXG4uaW50ZXJlc3RlZC1pbi1zZWN0aW9uIHtcblxuICAuaW50ZXJlc3RlZC10b2dnbGUge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcGFkZGluZzogMCAwIDNweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCAjZmZmO1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IDdweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDVweDtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZS1taW4pIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyOiBpbnNldCAxMHB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlLW1heCAkZGVza3RvcC1zbWFsbC1taW4pIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyOiBpbnNldCA4cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3Atc21hbGwtbWF4ICR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlcjogaW5zZXQgN3B4O1xuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgdG9wOiAzcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1heCAkdGFibGV0LXNtYWxsLW1pbikge1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXI6IGluc2V0IDEwcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnktY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1zbWFsbC1tYXggJHBob25lLW1pbikge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXI6IGluc2V0IDhweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkcGhvbmUtbWF4KSB7XG4gICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXI6IGluc2V0IDdweDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uaW50ZXJlc3RlZC1uYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTNweDtcbiAgcGFkZGluZy1ib3R0b206ICR2ZXJ0LWd1dHRlci8yO1xuXG4gIC5pbnRlcmVzdGVkLWxpc3Qge1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR1aS1ib3JkZXItY29sb3I7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LWJveC1zaGFkb3ctZm9jdXM7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gICAgcGFkZGluZzogMCAkdmVydC1ndXR0ZXIvMjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDMzMHB4O1xuXG4gICAgLyogT3B0aW9uICovXG4gICAgLmludGVyZXN0ZWQtaXRlbSB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHVpLWJvcmRlci1jb2xvcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAkdmVydC1ndXR0ZXIvMjtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogJGJsdWUtbGlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLnZpc2libGUge1xuICAgIC5pbnRlcmVzdGVkLWxpc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cblxuXG4vKiBQcm9ncmFtcyAqL1xuLnByb2dyYW0uZGlzcGxheS1mdWxsIHtcbiAgLmZpZWxkLS1wcm9ncmFtLWN1cnJpY3VsdW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdWktYm9yZGVyLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXNwYWNlKjEuNTtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRzZWN0aW9uLXNwYWNlKjEuNTtcblxuICAgICAgLmhhcy1zaWRlYmFyICYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tc3BhY2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRzZWN0aW9uLXNwYWNlO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tc3BhY2UvMS41O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHNlY3Rpb24tc3BhY2UvMS41O1xuICAgIH1cbiAgfVxuXG4gIHAgKyAuYWNjb3JkaW9uLFxuICB1bCArIC5hY2NvcmRpb24ge1xuICAgIG1hcmdpbi10b3A6ICRzZWN0aW9uLXNwYWNlLzEuNTtcbiAgfVxuXG4gIC8vIC5maWVsZC0taW50cm8ge1xuICAvLyAgIG1hcmdpbi10b3A6ICRzZWN0aW9uLXNwYWNlLzEuNTtcbiAgLy8gICBtYXJnaW4tYm90dG9tOiAkc2VjdGlvbi1zcGFjZS8xLjI1O1xuICAvLyB9XG59XG5cblxuLyogQXJlYXMgb2YgU3R1ZHkgKi9cbi5hcmVhLW9mLXN0dWR5LmRpc3BsYXktZnVsbCB7XG4gIC5maWVsZC0taW50cm8ge1xuICAgIG1hcmdpbi1ib3R0b206ICRzZWN0aW9uLXNwYWNlO1xuXG4gICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLS1wcm9ncmFtLWdyb3VwcyB7XG4gICAgJiA+IC5wYXJhZ3JhcGgge1xuICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXNwYWNlO1xuICAgICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLXNwYWNlO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR1aS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuLyogQXRobGV0aWNzICovXG5cbiNuY2FhLXNwb3J0cyxcbiNub24tdmFyc2l0eS1zcG9ydHMge1xuICB1bC50d28tY29sdW1ucyB7XG4gICAgbGkubm8tYnVsbGV0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLyogTG9jYXRpb24vQ2FtcHVzIFBhZ2VzICovXG5cbi52aWV3cy1ibG9jay1sb2NhdGlvbi1wcm9ncmFtcy1ibG9jay0xID4gaDIge1xuICBtYXJnaW4tYm90dG9tOiAkdmVydC1ndXR0ZXIqMjtcbn1cblxuLyogTG9jYXRpb24vQ2FtcHVzIExpc3RpbmcgKi9cbi5uby1zaWRlYmFyIC5sb2NhdGlvbnMge1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1taW4pIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBtYXJnaW46IC0kaG9yaXotZ3V0dGVyO1xuXG4gICAgLnRlYXNlciB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkaG9yaXotZ3V0dGVyO1xuICAgICAgbWFyZ2luLXRvcDogJHNlY3Rpb24tc3BhY2UvMjtcblxuICAgICAgLnRlYXNlcl9faW1hZ2UsXG4gICAgICAudGVhc2VyX190ZXh0IHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAudGVhc2VyX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICR2ZXJ0LWd1dHRlcjtcbiAgICAgIH1cblxuICAgICAgJiArIC50ZWFzZXIge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1vZi10eXBlKDEpLFxuICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qIFByb2dyYW0gU2VhcmNoIFBhZ2UgKi9cbi5wcm9ncmFtLXNlYXJjaCB7XG4gIC5uby1zaWRlYmFyIG1haW4gLmxheW91dC1jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tc3BhY2U7XG4gIH1cblxuICAubm8tc2lkZWJhciAuZmllbGQtLWJvZHkgPiAucGFyYWdyYXBoLS1jdXN0b21fYmxvY2sgPiAucGFyYWdyYXBoX19jb250ZW50IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tc3BhY2U7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LWxhbmRzY2FwZS1taW4pIHtcbiAgICAjaGlnaGxpZ2h0ZWQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTEyMHB4O1xuICAgIH1cbiAgICAuYmFubmVyIC5wYWdlLXRpdGxlIHtcbiAgICAgIGJvdHRvbTogJHNlY3Rpb24tc3BhY2UqMjtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtbGFuZHNjYXBlLW1heCAkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgICNoaWdobGlnaHRlZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNjVweDtcbiAgICB9XG4gICAgLmJhbm5lciAucGFnZS10aXRsZSB7XG4gICAgICBib3R0b206ICRzZWN0aW9uLXNwYWNlLzEuMjU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1heCkge1xuICAgICNoaWdobGlnaHRlZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNjVweDtcbiAgICB9XG4gICAgLmJhbm5lciAucGFnZS10aXRsZSB7XG4gICAgICBib3R0b206ICRzZWN0aW9uLXNwYWNlO1xuICAgIH1cbiAgfVxufVxuXG4uc2l0ZS1zZWFyY2gge1xuICBtYXJnaW4tdG9wOiAkdmVydC1ndXR0ZXIqMjtcblxuICAudmlld3Mtcm93IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHVpLWJvcmRlci1jb2xvcjtcbiAgICBwYWRkaW5nLXRvcDogJHZlcnQtZ3V0dGVyKjI7XG4gICAgcGFkZGluZy1ib3R0b206ICR2ZXJ0LWd1dHRlcioyO1xuXG4gICAgLnZpZXdzLWZpZWxkLXRpdGxlIHtcbiAgICAgIEBpbmNsdWRlIGgzO1xuICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuXG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZpZXdzLWZpZWxkLXNlYXJjaC1hcGktZXhjZXJwdCB7XG5cbiAgICB9XG4gIH1cbn1cbiIsIiNwYWdlLmxhbmRpbmctcGFnZSB7XG5cbiAgaGVhZGVyID4gLmNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiAkaG9yaXotZ3V0dGVyO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRob3Jpei1ndXR0ZXI7XG4gIH1cblxuICAvKiBHbG9iYWwgKi9cbiAgJi5oYXMtZm9ybSB7XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBoZWFkZXIgPiAuY29udGFpbmVyIHtcbiAgICAvLyAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAvLyAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgLy8gfVxuXG4gICAgI2hpZ2hsaWdodGVkIC5wYWdlLXRpdGxlLFxuICAgIC5sYW5kaW5nX19zaWRlYmFyLFxuICAgIC5jb250YWluZXIsXG4gICAgLmZpZWxkLS1ib2R5IHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbGFyZ2UtbWluKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGhvcml6LWd1dHRlciozO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaG9yaXotZ3V0dGVyKjM7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wLWxhcmdlLW1heCAkYmFubmVyLW1pbikge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRob3Jpei1ndXR0ZXIqMjtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGhvcml6LWd1dHRlcioyO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYmFubmVyLW1heCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRob3Jpei1ndXR0ZXI7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRob3Jpei1ndXR0ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLS1ib2R5ID4gLnBhcmFncmFwaCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAmLnBhcmFncmFwaC0tcXVvdGUge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wLWxhcmdlLW1pbikge1xuICAgICAgICAgICAgcmlnaHQ6IC0kaG9yaXotZ3V0dGVyKjMuNTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1sYXJnZS1tYXggJGJhbm5lci1taW4pIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtJGhvcml6LWd1dHRlcioyLjU7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJhbm5lci1tYXgpIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtJGhvcml6LWd1dHRlcioxLjU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyogSGVhZGVyICovXG4gIGhlYWRlciB7XG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICRwcmltYXJ5LWNvbG9yO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgI2xvZ28ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuXG4gICAgI2xhbmRpbmctY29udGFjdCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGhvcml6LWd1dHRlci8xLjU7XG4gICAgICB9XG5cbiAgICAgIGg0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAubGFuZGluZ19fY29udGFjdCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRkZXNrdG9wLW1pbikge1xuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbWF4ICR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxOXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1heCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjFweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIxcHg7XG5cbiAgICAgICAgLmxhbmRpbmdfX3F1ZXN0aW9ucyB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtc21hbGwtbWF4KSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcblxuICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAubGFuZGluZ19fY29udGFjdCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgICAgICAgJiArIC5sYW5kaW5nX19jb250YWN0IHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWN0IHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubGFuZGluZ19fY29udGFjdCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogLTZweDtcblxuICAgICYgKyAubGFuZGluZ19fY29udGFjdCB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR1aS1ib3JkZXItY29sb3I7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICRob3Jpei1ndXR0ZXIvMS41O1xuICAgIH1cbiAgfVxuXG4gIC8qIEdyaWQgKi9cbiAgJi5oYXMtZm9ybSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1sYXJnZS1taW4pIHtcbiAgICAgIC5sYW5kaW5nX19tYWluIHtcbiAgICAgICAgd2lkdGg6IDY2LjY3JTtcbiAgICAgIH1cbiAgICAgIC5sYW5kaW5nX19zaWRlYmFyIHtcbiAgICAgICAgd2lkdGg6IDMzLjMzJTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkZGVza3RvcC1sYXJnZS1tYXggJGRlc2t0b3AtbWluKSB7XG4gICAgICAubGFuZGluZ19fbWFpbiB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICB9XG4gICAgICAubGFuZGluZ19fc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGRlc2t0b3AtbWF4ICR0YWJsZXQtcG9ydHJhaXQtbWluKSB7XG4gICAgICAubGFuZGluZ19fbWFpbiB7XG4gICAgICAgIHdpZHRoOiA2Ni42NyU7XG4gICAgICB9XG4gICAgICAubGFuZGluZ19fc2lkZWJhciB7XG4gICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRhYmxldC1wb3J0cmFpdC1taW4pIHtcbiAgICAgIC5sYW5kaW5nX19tYWluLFxuICAgICAgLmxhbmRpbmdfX3NpZGViYXIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICAgIC5sYW5kaW5nLXBhZ2UuZGlzcGxheS1mdWxsID4gZGl2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiBTaWRlYmFyICovXG4gIC5sYW5kaW5nX19zaWRlYmFyIHtcbiAgICBAaW5jbHVkZSBzZWN0aW9uLXNwYWNlO1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgaDIsIGgzLCBoNCwgaDUsXG4gICAgLmZvcm0taXRlbS10ZXh0LW9wdGluIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgIGgyOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgaDM6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMTNweDtcbiAgICB9XG5cbiAgICBkaXYuZm9ybS13cmFwcGVyIC5mb3JtLWl0ZW0sXG4gICAgLndlYmZvcm0tc2VjdGlvbi13cmFwcGVyIC5mb3JtLWl0ZW0ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24oc2Vjb25kYXJ5KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5zZWxlY3Rib3hpdC1jb250YWluZXIge1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLyogRm9vdGVyICovXG4gIGZvb3RlciB7XG5cbiAgICAubGFuZGluZ19fY29weXJpZ2h0IHtcbiAgICAgIG1hcmdpbi10b3A6ICR2ZXJ0LWd1dHRlci8yO1xuICAgIH1cblxuICAgIC5sYW5kaW5nX19jb250YWN0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdGFibGV0LXBvcnRyYWl0LW1pbikge1xuICAgICAgLmxhbmRpbmdfX2NvbnRhY3Qge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRob3Jpei1ndXR0ZXIvMjtcblxuICAgICAgICAmICsgLmxhbmRpbmdfX2NvbnRhY3Qge1xuICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkZ3JheS1kYXJrZXN0O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJGhvcml6LWd1dHRlci8yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb250YWN0LS1waG9uZSxcbiAgICAgIC5jb250YWN0LS1hZGRyZXNzIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMTNweDtcbiAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0YWJsZXQtcG9ydHJhaXQtbWF4KSB7XG4gICAgICAubGFuZGluZ19fY29udGFjdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICYgKyAubGFuZGluZ19fY29udGFjdCB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6ICR2ZXJ0LWd1dHRlci8yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyogQHBhcnRpYWwgX3ByaW50LnNjc3MgKi9cblxuQG1lZGlhIHByaW50IHtcblxuICBhOmxpbmssXG4gIGE6dmlzaXRlZCB7IC8qIHVuZGVybGluZSBhbGwgbGlua3MgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xuXG4gICAgI3NpdGUtbmFtZSAmIHsgLyogRG9uJ3QgdW5kZXJsaW5lIGhlYWRlciAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgI2NvbnRlbnQge1xuICAgIGFbaHJlZl06YWZ0ZXIgeyAvKiBBZGQgdmlzaWJsZSBVUkwgYWZ0ZXIgbGlua3MuICovXG4gICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZTtcbiAgICB9XG5cbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gICAgYVtocmVmXj1cIiNcIl06YWZ0ZXIgeyAvKiBPbmx5IGRpc3BsYXkgdXNlZnVsIGxpbmtzLiAqL1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG5cbiAgICBhYmJyW3RpdGxlXTphZnRlciB7IC8qIEFkZCB2aXNpYmxlIHRpdGxlIGFmdGVyIGFiYnJldmlhdGlvbnMuICovXG4gICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gICAgfVxuICB9XG5cbiAgI2NvbnRlbnQgeyAvKiBVbi1mbG9hdCB0aGUgY29udGVudCAqL1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBib2R5LFxuICAjcGFnZSxcbiAgI21haW4sXG4gICNjb250ZW50IHsgLyogVHVybiBvZmYgYW55IGJhY2tncm91bmQgY29sb3JzIG9yIGltYWdlcyAqL1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgI3NraXAtbGluayxcbiAgI3Rvb2xiYXIsXG4gICNuYXZpZ2F0aW9uLFxuICAucmVnaW9uLXNpZGViYXItZmlyc3QsXG4gIC5yZWdpb24tc2lkZWJhci1zZWNvbmQsXG4gICNmb290ZXIsXG4gIC5icmVhZGNydW1iLFxuICAudGFicyxcbiAgLmFjdGlvbi1saW5rcyxcbiAgLmxpbmtzLFxuICAuYm9vay1uYXZpZ2F0aW9uLFxuICAuZm9ydW0tdG9waWMtbmF2aWdhdGlvbixcbiAgLnBhZ2VyLFxuICAuZmVlZC1pY29ucyB7IC8qIEhpZGUgc2lkZWJhcnMgYW5kIG5hdiBlbGVtZW50cyAqL1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbn0gLyogRW5kIEBtZWRpYSBwcmludCAqL1xuIl19 */
