/*- Global Variables -*/
@import url("https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@400;500;600&display=swap");
.container {
  width: 769px;
  max-width: 100%;
  margin: 0  auto;
  padding: 0; }

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box; }

body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeSpeed;
  overflow-x: hidden;
  margin: 0; }

main {
  display: block; }

pre {
  font-family: monospace, monospace;
  font-size: 1rem; }

b,
strong {
  font-weight: bolder; }

::-moz-selection {
  background: #0088ff;
  color: #ffffff;
  text-shadow: none;
  border: 0;
  outline: none; }

::selection {
  background: #0088ff;
  color: #ffffff;
  text-shadow: none;
  border: 0;
  outline: none; }

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1rem; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

img {
  max-width: 100%;
  height: auto;
  border: 0; }

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }
  button:focus,
  input:focus,
  optgroup:focus,
  select:focus,
  textarea:focus {
    outline: none !important; }

button,
input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted #0088ff; }

button:active, button.nice-select.open, button:focus {
  outline: none;
  border: none; }

fieldset {
  padding: 0.35rem 0.75rem 0.625rem; }

legend {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal; }

progress {
  vertical-align: baseline; }

textarea {
  overflow: auto; }

[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

details {
  display: block; }

summary {
  display: list-item; }

template {
  display: none; }

[hidden] {
  display: none; }

iframe {
  max-width: 100% !important; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-weight: 500; }

ul {
  margin: 0;
  padding: 0; }
  ul li {
    list-style: none; }

figure {
  width: 100% !important; }

[class*="icons-"] {
  display: inline-block; }

/**
 * Swiper 5.2.0
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * http://swiperjs.com
 *
 * Copyright 2014-2019 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: October 26, 2019
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, 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") format("woff");
  font-weight: 400;
  font-style: normal; }

:root {
  --swiper-theme-color:#007aff; }

.swiper-container {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1; }

.swiper-container-vertical > .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  -webkit-box-sizing: content-box;
  box-sizing: content-box; }

.swiper-container-android .swiper-slide, .swiper-wrapper {
  -webkit-transform: translate3d(0px, 0, 0);
  transform: translate3d(0px, 0, 0); }

.swiper-container-multirow > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }

.swiper-container-multirow-column > .swiper-wrapper {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column; }

.swiper-container-free-mode > .swiper-wrapper {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  margin: 0 auto; }

.swiper-slide {
  -webkit-flex-shrink: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform; }

.swiper-slide-invisible-blank {
  visibility: hidden; }

.swiper-container-autoheight, .swiper-container-autoheight .swiper-slide {
  height: auto; }

.swiper-container-autoheight .swiper-wrapper {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-transition-property: height,-webkit-transform;
  transition-property: height,-webkit-transform;
  -o-transition-property: transform,height;
  transition-property: transform,height;
  transition-property: transform,height,-webkit-transform; }

.swiper-container-3d {
  -webkit-perspective: 1200px;
  perspective: 1200px; }

.swiper-container-3d .swiper-cube-shadow, .swiper-container-3d .swiper-slide, .swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top, .swiper-container-3d .swiper-wrapper {
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d; }

.swiper-container-3d .swiper-slide-shadow-bottom, .swiper-container-3d .swiper-slide-shadow-left, .swiper-container-3d .swiper-slide-shadow-right, .swiper-container-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10; }

.swiper-container-3d .swiper-slide-shadow-left {
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-right {
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-top {
  background-image: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-3d .swiper-slide-shadow-bottom {
  background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0)));
  background-image: -webkit-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: -o-linear-gradient(top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0)); }

.swiper-container-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none; }

.swiper-container-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none; }

.swiper-container-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start; }

.swiper-container-horizontal.swiper-container-css-mode > .swiper-wrapper {
  -webkit-scroll-snap-type: x mandatory;
  -ms-scroll-snap-type: x mandatory;
  scroll-snap-type: x mandatory; }

.swiper-container-vertical.swiper-container-css-mode > .swiper-wrapper {
  -webkit-scroll-snap-type: y mandatory;
  -ms-scroll-snap-type: y mandatory;
  scroll-snap-type: y mandatory; }

:root {
  --swiper-navigation-size:44px; }

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size)/ 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size)/ 2);
  z-index: 10;
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color)); }

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: .35;
  cursor: auto;
  pointer-events: none; }

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  text-transform: none;
  font-variant: initial; }

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  left: 10px;
  right: auto; }

.swiper-button-prev:after, .swiper-container-rtl .swiper-button-next:after {
  content: 'prev'; }

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  right: 10px;
  left: auto; }

.swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
  content: 'next'; }

.swiper-button-next.swiper-button-white, .swiper-button-prev.swiper-button-white {
  --swiper-navigation-color:#ffffff; }

.swiper-button-next.swiper-button-black, .swiper-button-prev.swiper-button-black {
  --swiper-navigation-color:#000000; }

.swiper-button-lock {
  display: none; }

.swiper-pagination {
  position: absolute;
  text-align: center;
  -webkit-transition: .3s opacity;
  -o-transition: .3s opacity;
  transition: .3s opacity;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 10; }

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0; }

.swiper-container-horizontal > .swiper-pagination-bullets, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%; }

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33);
  position: relative; }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  -webkit-transform: scale(0.66);
  -ms-transform: scale(0.66);
  transform: scale(0.66); }

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  -webkit-transform: scale(0.33);
  -ms-transform: scale(0.33);
  transform: scale(0.33); }

.swiper-pagination-bullet {
  width: 8px;
  height: 8px;
  display: inline-block;
  -webkit-border-radius: 100%;
  border-radius: 100%;
  background: #000;
  opacity: .2; }

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none; }

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer; }

.swiper-pagination-bullet-active {
  opacity: 1;
  background: var(--swiper-pagination-color, var(--swiper-theme-color)); }

.swiper-container-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  -webkit-transform: translate3d(0px, -50%, 0);
  transform: translate3d(0px, -50%, 0); }

.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 6px 0;
  display: block; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: 8px; }

.swiper-container-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  -webkit-transition: .2s transform,.2s top;
  -o-transition: .2s transform,.2s top;
  transition: .2s transform,.2s top; }

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 4px; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  white-space: nowrap; }

.swiper-container-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s transform,.2s left;
  -o-transition: .2s transform,.2s left;
  transition: .2s transform,.2s left; }

.swiper-container-horizontal.swiper-container-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  -webkit-transition: .2s transform,.2s right;
  -o-transition: .2s transform,.2s right;
  transition: .2s transform,.2s right; }

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute; }

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: scale(0);
  -ms-transform: scale(0);
  transform: scale(0);
  -webkit-transform-origin: left top;
  -ms-transform-origin: left top;
  transform-origin: left top; }

.swiper-container-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  -webkit-transform-origin: right top;
  -ms-transform-origin: right top;
  transform-origin: right top; }

.swiper-container-horizontal > .swiper-pagination-progressbar, .swiper-container-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0; }

.swiper-container-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-container-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0; }

.swiper-pagination-white {
  --swiper-pagination-color:#ffffff; }

.swiper-pagination-black {
  --swiper-pagination-color:#000000; }

.swiper-pagination-lock {
  display: none; }

.swiper-scrollbar {
  -webkit-border-radius: 10px;
  border-radius: 10px;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1); }

.swiper-container-horizontal > .swiper-scrollbar {
  position: absolute;
  left: 1%;
  bottom: 3px;
  z-index: 50;
  height: 5px;
  width: 98%; }

.swiper-container-vertical > .swiper-scrollbar {
  position: absolute;
  right: 3px;
  top: 1%;
  z-index: 50;
  width: 5px;
  height: 98%; }

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  -webkit-border-radius: 10px;
  border-radius: 10px;
  left: 0;
  top: 0; }

.swiper-scrollbar-cursor-drag {
  cursor: move; }

.swiper-scrollbar-lock {
  display: none; }

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center; }

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain; }

.swiper-slide-zoomed {
  cursor: move; }

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  -webkit-transform-origin: 50%;
  -ms-transform-origin: 50%;
  transform-origin: 50%;
  -webkit-animation: swiper-preloader-spin 1s infinite linear;
  animation: swiper-preloader-spin 1s infinite linear;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  -webkit-border-radius: 50%;
  border-radius: 50%;
  border-top-color: transparent; }

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff; }

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000; }

@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

.swiper-container .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000; }

.swiper-container-fade.swiper-container-free-mode .swiper-slide {
  -webkit-transition-timing-function: ease-out;
  -o-transition-timing-function: ease-out;
  transition-timing-function: ease-out; }

.swiper-container-fade .swiper-slide {
  pointer-events: none;
  -webkit-transition-property: opacity;
  -o-transition-property: opacity;
  transition-property: opacity; }

.swiper-container-fade .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-fade .swiper-slide-active, .swiper-container-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube {
  overflow: visible; }

.swiper-container-cube .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
  width: 100%;
  height: 100%; }

.swiper-container-cube .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-cube.swiper-container-rtl .swiper-slide {
  -webkit-transform-origin: 100% 0;
  -ms-transform-origin: 100% 0;
  transform-origin: 100% 0; }

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-cube .swiper-slide-active, .swiper-container-cube .swiper-slide-next, .swiper-container-cube .swiper-slide-next + .swiper-slide, .swiper-container-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible; }

.swiper-container-cube .swiper-slide-shadow-bottom, .swiper-container-cube .swiper-slide-shadow-left, .swiper-container-cube .swiper-slide-shadow-right, .swiper-container-cube .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.swiper-container-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: .6;
  -webkit-filter: blur(50px);
  filter: blur(50px);
  z-index: 0; }

.swiper-container-flip {
  overflow: visible; }

.swiper-container-flip .swiper-slide {
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 1; }

.swiper-container-flip .swiper-slide .swiper-slide {
  pointer-events: none; }

.swiper-container-flip .swiper-slide-active, .swiper-container-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto; }

.swiper-container-flip .swiper-slide-shadow-bottom, .swiper-container-flip .swiper-slide-shadow-left, .swiper-container-flip .swiper-slide-shadow-right, .swiper-container-flip .swiper-slide-shadow-top {
  z-index: 0;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.fancybox-enabled {
  overflow: hidden; }

.fancybox-enabled body {
  overflow: visible;
  -ms-touch-action: none;
  touch-action: none; }

.fancybox-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99993;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

/* Make sure that the first one is on the top */
.fancybox-container ~ .fancybox-container {
  z-index: 99992; }

.fancybox-bg {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: #0f0f11;
  opacity: 0;
  -webkit-transition-timing-function: cubic-bezier(0.55, 0.06, 0.68, 0.19);
  -o-transition-timing-function: cubic-bezier(0.55, 0.06, 0.68, 0.19);
  transition-timing-function: cubic-bezier(0.55, 0.06, 0.68, 0.19);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.fancybox-container--ready .fancybox-bg {
  opacity: 0.87;
  -webkit-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  -o-transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }

.fancybox-controls {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  opacity: 0;
  z-index: 99994;
  -webkit-transition: opacity .2s;
  -o-transition: opacity .2s;
  transition: opacity .2s;
  pointer-events: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  direction: ltr; }

.fancybox-show-controls .fancybox-controls {
  opacity: 1; }

.fancybox-infobar {
  display: none; }

.fancybox-show-infobar .fancybox-infobar {
  display: inline-block;
  pointer-events: all; }

.fancybox-infobar__body {
  display: inline-block;
  width: 70px;
  line-height: 44px;
  font-size: 13px;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  text-align: center;
  color: #ddd;
  background-color: rgba(30, 30, 30, 0.7);
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: subpixel-antialiased; }

.fancybox-buttons {
  position: absolute;
  top: 0;
  right: 0;
  display: none;
  pointer-events: all; }

.fancybox-show-buttons .fancybox-buttons {
  display: block; }

.fancybox-slider-wrap {
  overflow: hidden;
  direction: ltr; }

.fancybox-slider-wrap,
.fancybox-slider {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 0;
  margin: 0;
  z-index: 99993;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-tap-highlight-color: transparent; }

.fancybox-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: auto;
  outline: none;
  white-space: normal;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  z-index: 99994;
  -webkit-overflow-scrolling: touch; }

.fancybox-slide::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  width: 0; }

.fancybox-slide > * {
  display: inline-block;
  position: relative;
  padding: 24px;
  margin: 44px 0 44px;
  border-width: 0;
  vertical-align: middle;
  text-align: left;
  background-color: #fff;
  overflow: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.fancybox-slide--image {
  overflow: hidden; }

.fancybox-slide--image::before {
  display: none; }

.fancybox-content {
  display: inline-block;
  position: relative;
  margin: 44px auto;
  padding: 0;
  border: 0;
  width: 80%;
  height: calc(100% - 88px);
  vertical-align: middle;
  line-height: normal;
  text-align: left;
  white-space: normal;
  outline: none;
  font-size: 16px;
  font-family: Arial, sans-serif;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  -webkit-overflow-scrolling: touch; }

.fancybox-iframe {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  width: 100%;
  height: 100%;
  background: #fff; }

.fancybox-slide--video .fancybox-content,
.fancybox-slide--video .fancybox-iframe {
  background: transparent; }

.fancybox-placeholder {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  border: 0;
  z-index: 99995;
  background: transparent;
  cursor: default;
  overflow: visible;
  -webkit-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

.fancybox-image,
.fancybox-spaceball {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: none;
  max-height: none;
  background: transparent;
  -webkit-background-size: 100% 100%;
  background-size: 100% 100%; }

.fancybox-controls--canzoomOut .fancybox-placeholder {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.fancybox-controls--canzoomIn .fancybox-placeholder {
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.fancybox-controls--canGrab .fancybox-placeholder {
  cursor: -webkit-grab;
  cursor: grab; }

.fancybox-controls--isGrabbing .fancybox-placeholder {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.fancybox-spaceball {
  z-index: 1; }

.fancybox-tmp {
  position: absolute;
  top: -9999px;
  left: -9999px;
  visibility: hidden; }

.fancybox-error {
  position: absolute;
  margin: 0;
  padding: 40px;
  top: 50%;
  left: 50%;
  width: 380px;
  max-width: 100%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  background: #fff;
  cursor: default; }

.fancybox-error p {
  margin: 0;
  padding: 0;
  color: #444;
  font: 16px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; }

.fancybox-close-small {
  position: absolute;
  top: 4px;
  right: 4px;
  padding: 0;
  margin: 0;
  width: 30px;
  height: 30px;
  font: 21px/1 Arial,"Helvetica Neue",Helvetica,sans-serif;
  color: #888;
  font-weight: 300;
  text-align: center;
  -webkit-border-radius: 50%;
  border-radius: 50%;
  border-width: 0;
  cursor: pointer;
  background: #fff;
  -webkit-transition: background .2s;
  -o-transition: background .2s;
  transition: background .2s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 2; }

.fancybox-close-small:focus {
  outline: 1px dotted #888; }

.fancybox-slide--video .fancybox-close-small {
  top: -36px;
  right: -36px;
  background: transparent; }

.fancybox-close-small:hover {
  color: #555;
  background: #eee; }

/* Caption */
.fancybox-caption-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 60px 30px 0 30px;
  z-index: 99998;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: -webkit-gradient(linear, left top, left bottom, from(transparent), color-stop(20%, rgba(0, 0, 0, 0.1)), color-stop(40%, rgba(0, 0, 0, 0.2)), color-stop(80%, rgba(0, 0, 0, 0.6)), to(rgba(0, 0, 0, 0.8)));
  background: -webkit-linear-gradient(top, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%);
  background: -o-linear-gradient(top, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%);
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%);
  opacity: 0;
  -webkit-transition: opacity .2s;
  -o-transition: opacity .2s;
  transition: opacity .2s;
  pointer-events: none; }

.fancybox-show-caption .fancybox-caption-wrap {
  opacity: 1; }

.fancybox-caption {
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 14px;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  color: #fff;
  line-height: 20px;
  -webkit-text-size-adjust: none; }

.fancybox-caption a,
.fancybox-caption button {
  pointer-events: all; }

.fancybox-caption a {
  color: #fff;
  text-decoration: underline; }

/* Buttons */
.fancybox-button {
  display: inline-block;
  position: relative;
  width: 44px;
  height: 44px;
  line-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  cursor: pointer;
  background: transparent;
  color: #fff;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: top;
  outline: none; }

.fancybox-button--disabled {
  cursor: default;
  pointer-events: none; }

.fancybox-infobar__body, .fancybox-button {
  background: rgba(30, 30, 30, 0.6); }

.fancybox-button:hover {
  background: rgba(0, 0, 0, 0.8); }

.fancybox-button::before,
.fancybox-button::after {
  content: '';
  pointer-events: none;
  position: absolute;
  border-color: #fff;
  background-color: currentColor;
  color: currentColor;
  opacity: 0.9;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block; }

.fancybox-button--disabled::before,
.fancybox-button--disabled::after {
  opacity: 0.5; }

.fancybox-button--left::after {
  left: 20px;
  top: 18px;
  width: 6px;
  height: 6px;
  background: transparent;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg); }

.fancybox-button--right::after {
  right: 20px;
  top: 18px;
  width: 6px;
  height: 6px;
  background: transparent;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.fancybox-button--left {
  -webkit-border-bottom-left-radius: 5px;
  border-bottom-left-radius: 5px; }

.fancybox-button--right {
  -webkit-border-bottom-right-radius: 5px;
  border-bottom-right-radius: 5px; }

.fancybox-button--close {
  float: right; }

.fancybox-button--close::before, .fancybox-button--close::after {
  content: '';
  display: inline-block;
  position: absolute;
  height: 2px;
  width: 16px;
  top: calc(50% - 1px);
  left: calc(50% - 8px); }

.fancybox-button--close::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.fancybox-button--close::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

/* Loading spinner */
.fancybox-loading {
  border: 6px solid rgba(100, 100, 100, 0.4);
  border-top: 6px solid rgba(255, 255, 255, 0.6);
  -webkit-border-radius: 100%;
  border-radius: 100%;
  height: 50px;
  width: 50px;
  -webkit-animation: fancybox-rotate .8s infinite linear;
  animation: fancybox-rotate .8s infinite linear;
  background: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -25px;
  margin-left: -25px;
  z-index: 99999; }

@-webkit-keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

/* Styling for Small-Screen Devices */
@media all and (max-width: 800px) {
  .fancybox-controls {
    text-align: left; }
  .fancybox-button--left,
  .fancybox-button--right,
  .fancybox-buttons button:not(.fancybox-button--close) {
    display: none !important; }
  .fancybox-caption {
    padding: 20px 0;
    margin: 0; } }

/* Fullscreen  */
.fancybox-button--fullscreen::before {
  width: 15px;
  height: 11px;
  left: 15px;
  top: 16px;
  border: 2px solid;
  background: none; }

/* Slideshow button */
.fancybox-button--play::before {
  top: 16px;
  left: 18px;
  width: 0;
  height: 0;
  border-top: 6px inset transparent;
  border-bottom: 6px inset transparent;
  border-left: 10px solid;
  -webkit-border-radius: 1px;
  border-radius: 1px;
  background: transparent; }

.fancybox-button--pause::before {
  top: 16px;
  left: 18px;
  width: 7px;
  height: 11px;
  border-style: solid;
  border-width: 0 2px 0 2px;
  background: transparent; }

/* Thumbs */
.fancybox-button--thumbs span {
  font-size: 23px; }

.fancybox-button--thumbs::before {
  top: 20px;
  left: 21px;
  width: 3px;
  height: 3px;
  -webkit-box-shadow: 0 -4px 0, -4px -4px 0, 4px -4px 0, 0 0 0 32px inset, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0;
  box-shadow: 0 -4px 0, -4px -4px 0, 4px -4px 0, 0 0 0 32px inset, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0; }

.fancybox-container--thumbs .fancybox-controls,
.fancybox-container--thumbs .fancybox-slider-wrap,
.fancybox-container--thumbs .fancybox-caption-wrap {
  right: 220px; }

.fancybox-thumbs {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  width: 220px;
  margin: 0;
  padding: 5px 5px 0 0;
  background: #fff;
  z-index: 99993;
  word-break: normal;
  -webkit-overflow-scrolling: touch;
  -webkit-tap-highlight-color: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

.fancybox-thumbs > ul {
  list-style: none;
  position: absolute;
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  overflow-y: auto;
  font-size: 0; }

.fancybox-thumbs > ul > li {
  float: left;
  overflow: hidden;
  max-width: 50%;
  padding: 0;
  margin: 0;
  width: 105px;
  height: 75px;
  position: relative;
  cursor: pointer;
  outline: none;
  border: 5px solid #fff;
  border-top-width: 0;
  border-right-width: 0;
  -webkit-tap-highlight-color: transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

li.fancybox-thumbs-loading {
  background: rgba(0, 0, 0, 0.1); }

.fancybox-thumbs > ul > li > img {
  position: absolute;
  top: 0;
  left: 0;
  min-width: 100%;
  min-height: 100%;
  max-width: none;
  max-height: none;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-thumbs > ul > li:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-border-radius: 2px;
  border-radius: 2px;
  border: 4px solid #4ea7f9;
  z-index: 99991;
  opacity: 0;
  -webkit-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  -o-transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.fancybox-thumbs > ul > li.fancybox-thumbs-active:before {
  opacity: 1; }

/* Styling for Small-Screen Devices */
@media all and (max-width: 800px) {
  .fancybox-thumbs {
    display: none !important; }
  .fancybox-container--thumbs .fancybox-controls,
  .fancybox-container--thumbs .fancybox-slider-wrap,
  .fancybox-container--thumbs .fancybox-caption-wrap {
    right: 0; } }

.nice-select {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background-color: #fff;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: solid 1px #e8e8e8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  clear: both;
  cursor: pointer;
  display: block;
  float: left;
  font-family: inherit;
  font-size: 14px;
  font-weight: normal;
  height: 42px;
  line-height: 40px;
  outline: none;
  padding-left: 18px;
  padding-right: 30px;
  position: relative;
  text-align: left !important;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  white-space: nowrap;
  width: auto; }
  .nice-select:hover {
    border-color: #dbdbdb; }
  .nice-select:active, .nice-select.open, .nice-select:focus {
    border-color: #999; }
  .nice-select:after {
    border-bottom: 2px solid #999;
    border-right: 2px solid #999;
    content: '';
    display: block;
    height: 5px;
    margin-top: -4px;
    pointer-events: none;
    position: absolute;
    right: 12px;
    top: 50%;
    -webkit-transform-origin: 66% 66%;
    -ms-transform-origin: 66% 66%;
    transform-origin: 66% 66%;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: all 0.15s ease-in-out;
    -o-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;
    width: 5px; }
  .nice-select.open:after {
    -webkit-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg); }
  .nice-select.open .list {
    opacity: 1;
    pointer-events: auto;
    -webkit-transform: scale(1) translateY(0);
    -ms-transform: scale(1) translateY(0);
    transform: scale(1) translateY(0); }
  .nice-select.disabled {
    border-color: #ededed;
    color: #999;
    pointer-events: none; }
    .nice-select.disabled:after {
      border-color: #cccccc; }
  .nice-select.wide {
    width: 100%; }
    .nice-select.wide .list {
      left: 0 !important;
      right: 0 !important; }
  .nice-select.right {
    float: right; }
    .nice-select.right .list {
      left: auto;
      right: 0; }
  .nice-select.small {
    font-size: 12px;
    height: 36px;
    line-height: 34px; }
    .nice-select.small:after {
      height: 4px;
      width: 4px; }
    .nice-select.small .option {
      line-height: 34px;
      min-height: 34px; }
  .nice-select .list {
    background-color: #fff;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    -webkit-box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
    box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: 4px;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    pointer-events: none;
    position: absolute;
    top: 100%;
    left: 0;
    -webkit-transform-origin: 50% 0;
    -ms-transform-origin: 50% 0;
    transform-origin: 50% 0;
    -webkit-transform: scale(0.75) translateY(-21px);
    -ms-transform: scale(0.75) translateY(-21px);
    transform: scale(0.75) translateY(-21px);
    -webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    -o-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
    z-index: 9; }
    .nice-select .list:hover .option:not(:hover) {
      background-color: transparent !important; }
  .nice-select .option {
    cursor: pointer;
    font-weight: 400;
    line-height: 40px;
    list-style: none;
    min-height: 40px;
    outline: none;
    padding-left: 18px;
    padding-right: 29px;
    text-align: left;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s; }
    .nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {
      background-color: #f6f6f6; }
    .nice-select .option.selected {
      font-weight: bold; }
    .nice-select .option.disabled {
      background-color: transparent;
      color: #999;
      cursor: default; }

.no-csspointerevents .nice-select .list {
  display: none; }

.no-csspointerevents .nice-select.open .list {
  display: block; }

/*animations*/
/******************
* Bounce in right *
*******************/
.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slow {
  -webkit-animation-duration: 1.5s;
  animation-duration: 1.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slower {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

.slowest {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }

/* Added by Andy Meetan */
.delay-250 {
  -webkit-animation-delay: 0.25s;
  animation-delay: 0.25s; }

.delay-500 {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s; }

.delay-750 {
  -webkit-animation-delay: 0.75s;
  animation-delay: 0.75s; }

.delay-1000 {
  -webkit-animation-delay: 1.0s;
  animation-delay: 1.0s; }

.delay-1250 {
  -webkit-animation-delay: 1.25s;
  animation-delay: 1.25s; }

.delay-1500 {
  -webkit-animation-delay: 1.5s;
  animation-delay: 1.5s; }

.delay-1750 {
  -webkit-animation-delay: 1.75s;
  animation-delay: 1.75s; }

.delay-2000 {
  -webkit-animation-delay: 2.0s;
  animation-delay: 2.0s; }

.delay-2500 {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s; }

.delay-2000 {
  -webkit-animation-delay: 2.0s;
  animation-delay: 2.0s; }

.delay-2500 {
  -webkit-animation-delay: 2.5s;
  animation-delay: 2.5s; }

.delay-3000 {
  -webkit-animation-delay: 3.0s;
  animation-delay: 3.0s; }

.delay-3500 {
  -webkit-animation-delay: 3.5s;
  animation-delay: 3.5s; }

.bounceInRight,
.bounceInLeft,
.bounceInUp,
.bounceInDown {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

.fadeInRight,
.fadeInLeft,
.fadeInUp,
.fadeInDown {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

.flipInX,
.flipInY,
.rotateIn,
.rotateInUpLeft,
.rotateInUpRight,
.rotateInDownLeft,
.rotateDownUpRight,
.rollIn {
  opacity: 0; }

.lightSpeedInRight,
.lightSpeedInLeft {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

/***********
* bounceIn *
************/
@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1); } }

@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
    transform: scale(1.05); }
  70% {
    -webkit-transform: scale(0.9);
    transform: scale(0.9); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1); } }

.bounceIn.go {
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn; }

/****************
* bounceInRight *
****************/
@-webkit-keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px); }
  60% {
    -webkit-transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes bounceInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px);
    transform: translateX(400px); }
  60% {
    -webkit-transform: translateX(-30px);
    transform: translateX(-30px); }
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.bounceInRight.go {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight; }

/******************
* Bounce in left *
*******************/
@-webkit-keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px); }
  60% {
    -webkit-transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes bounceInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px);
    transform: translateX(-400px); }
  60% {
    -webkit-transform: translateX(30px);
    transform: translateX(30px); }
  80% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.bounceInLeft.go {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft; }

/******************
* Bounce in up *
*******************/
@-webkit-keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px); }
  60% {
    -webkit-transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes bounceInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px);
    transform: translateY(400px); }
  60% {
    -webkit-transform: translateY(-30px);
    transform: translateY(-30px); }
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.bounceInUp.go {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp; }

/******************
* Bounce in down *
*******************/
@-webkit-keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px); }
  60% {
    -webkit-transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes bounceInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px);
    transform: translateY(-400px); }
  60% {
    -webkit-transform: translateY(30px);
    transform: translateY(30px); }
  80% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.bounceInDown.go {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown; }

/**********
* Fade In *
**********/
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    display: block; } }

@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1;
    display: block; } }

.fadeIn {
  opacity: 0; }

.fadeIn.go {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn; }

/**********
* Grow in *
***********/
@-webkit-keyframes growIn {
  0% {
    -webkit-transform: scale(0.2);
    opacity: 0; }
  50% {
    -webkit-transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
    opacity: 1; } }

@keyframes growIn {
  0% {
    -webkit-transform: scale(0.2);
    transform: scale(0.2);
    opacity: 0; }
  50% {
    -webkit-transform: scale(1.2);
    transform: scale(1.2); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.growIn {
  -webkit-transform: scale(0.2);
  -ms-transform: scale(0.2);
  transform: scale(0.2);
  opacity: 0; }

.growIn.go {
  -webkit-animation-name: growIn;
  animation-name: growIn; }

/********
* Shake *
********/
@-webkit-keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px); } }

@keyframes shake {
  0%,
  100% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateX(-10px);
    transform: translateX(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateX(10px);
    transform: translateX(10px); } }

.shake.go {
  -webkit-animation-name: shake;
  animation-name: shake; }

/********
* ShakeUp *
********/
@-webkit-keyframes shakeUp {
  0%,
  100% {
    -webkit-transform: translateY(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateY(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateY(10px); } }

@keyframes shakeUp {
  0%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); } }

.shakeUp.go {
  -webkit-animation-name: shakeUp;
  animation-name: shakeUp; }

/*************
* FadeInLeft *
*************/
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-400px);
    transform: translateX(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInLeft {
  opacity: 0;
  -webkit-transform: translateX(-400px);
  -ms-transform: translateX(-400px);
  transform: translateX(-400px); }

.fadeInLeft.go {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft; }

/*************
* FadeInRight *
*************/
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(400px);
    transform: translateX(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInRight {
  opacity: 0;
  -webkit-transform: translateX(400px);
  -ms-transform: translateX(400px);
  transform: translateX(400px); }

.fadeInRight.go {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight; }

/*************
* FadeInUp *
*************/
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(400px);
    transform: translateY(400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInUp {
  opacity: 0;
  -webkit-transform: translateY(400px);
  -ms-transform: translateY(400px);
  transform: translateY(400px); }

.fadeInUp.go {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp; }

/*************
* FadeInDown *
*************/
@-webkit-keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-400px);
    transform: translateY(-400px); }
  50% {
    opacity: 0.3; }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInDown {
  opacity: 0;
  -webkit-transform: translateY(-400px);
  -ms-transform: translateY(-400px);
  transform: translateY(-400px); }

.fadeInDown.go {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown; }

/*****************
* rotateIn *
*****************/
@-webkit-keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateIn {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(-200deg);
    transform: rotate(-200deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateIn.go {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn; }

/*****************
* rotateInUpLeft *
*****************/
@-webkit-keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpLeft.go {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft; }

/*******************
* rotateInDownLeft *
*******************/
@-webkit-keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownLeft.go {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft; }

/******************
* rotateInUpRight *
*******************/
@-webkit-keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(-90deg);
    transform: rotate(-90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInUpRight.go {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight; }

/********************
* rotateInDownRight *
********************/
@-webkit-keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; } }

@keyframes rotateInDownRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; } }

.rotateInDownRight.go {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight; }

/*********
* rollIn *
**********/
@-webkit-keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); } }

@keyframes rollIn {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-100%) rotate(-120deg);
    transform: translateX(-100%) rotate(-120deg); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); } }

.rollIn.go {
  -webkit-animation-name: rollIn;
  animation-name: rollIn; }

/*********
* wiggle *
**********/
@-webkit-keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg); } }

@keyframes wiggle {
  0% {
    -webkit-transform: skewX(9deg);
    transform: skewX(9deg); }
  10% {
    -webkit-transform: skewX(-8deg);
    transform: skewX(-8deg); }
  20% {
    -webkit-transform: skewX(7deg);
    transform: skewX(7deg); }
  30% {
    -webkit-transform: skewX(-6deg);
    transform: skewX(-6deg); }
  40% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg); }
  50% {
    -webkit-transform: skewX(-4deg);
    transform: skewX(-4deg); }
  60% {
    -webkit-transform: skewX(3deg);
    transform: skewX(3deg); }
  70% {
    -webkit-transform: skewX(-2deg);
    transform: skewX(-2deg); }
  80% {
    -webkit-transform: skewX(1deg);
    transform: skewX(1deg); }
  90% {
    -webkit-transform: skewX(0deg);
    transform: skewX(0deg); }
  100% {
    -webkit-transform: skewX(0deg);
    transform: skewX(0deg); } }

.wiggle.go {
  -webkit-animation-name: wiggle;
  animation-name: wiggle;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/********
* swing *
*********/
@-webkit-keyframes swing {
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transform-origin: top center; }
  20% {
    -webkit-transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg); } }

@keyframes swing {
  20% {
    -webkit-transform: rotate(15deg);
    transform: rotate(15deg); }
  40% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg); }
  60% {
    -webkit-transform: rotate(5deg);
    transform: rotate(5deg); }
  80% {
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg); }
  100% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); } }

.swing.go {
  -webkit-transform-origin: top center;
  -ms-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing; }

/*******
* tada *
********/
@-webkit-keyframes tada {
  0% {
    -webkit-transform: scale(1); }
  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0); } }

@keyframes tada {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  10%,
  20% {
    -webkit-transform: scale(0.9) rotate(-3deg);
    transform: scale(0.9) rotate(-3deg); }
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale(1.1) rotate(3deg);
    transform: scale(1.1) rotate(3deg); }
  40%,
  60%,
  80% {
    -webkit-transform: scale(1.1) rotate(-3deg);
    transform: scale(1.1) rotate(-3deg); }
  100% {
    -webkit-transform: scale(1) rotate(0);
    transform: scale(1) rotate(0); } }

.tada.go {
  -webkit-animation-name: tada;
  animation-name: tada; }

/*********
* wobble *
**********/
@-webkit-keyframes wobble {
  0% {
    -webkit-transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%); } }

@keyframes wobble {
  0% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); }
  15% {
    -webkit-transform: translateX(-25%) rotate(-5deg);
    transform: translateX(-25%) rotate(-5deg); }
  30% {
    -webkit-transform: translateX(20%) rotate(3deg);
    transform: translateX(20%) rotate(3deg); }
  45% {
    -webkit-transform: translateX(-15%) rotate(-3deg);
    transform: translateX(-15%) rotate(-3deg); }
  60% {
    -webkit-transform: translateX(10%) rotate(2deg);
    transform: translateX(10%) rotate(2deg); }
  75% {
    -webkit-transform: translateX(-5%) rotate(-1deg);
    transform: translateX(-5%) rotate(-1deg); }
  100% {
    -webkit-transform: translateX(0%);
    transform: translateX(0%); } }

.wobble.go {
  -webkit-animation-name: wobble;
  animation-name: wobble; }

/********
* pulse *
*********/
@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0); }
  100% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); } }

@keyframes pulse {
  0% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.7); }
  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-box-shadow: 0 0 0 10px rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 10px rgba(0, 0, 0, 0); }
  100% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95);
    -webkit-box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
    box-shadow: 0 0 0 0 rgba(0, 0, 0, 0); } }

.pulse.go {
  -webkit-animation-name: pulse;
  animation-name: pulse; }

/***************
* lightSpeedInRight *
****************/
@-webkit-keyframes lightSpeedInRight {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

@keyframes lightSpeedInRight {
  0% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(-20%) skewX(30deg);
    transform: translateX(-20%) skewX(30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(-15deg);
    transform: translateX(0%) skewX(-15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

.lightSpeedInRight.go {
  -webkit-animation-name: lightSpeedInRight;
  animation-name: lightSpeedInRight;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

/***************
* lightSpeedInLeft *
****************/
@-webkit-keyframes lightSpeedInLeft {
  0% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(20%) skewX(-30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

@keyframes lightSpeedInLeft {
  0% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    transform: translateX(-100%) skewX(30deg);
    opacity: 0; }
  60% {
    -webkit-transform: translateX(20%) skewX(-30deg);
    transform: translateX(20%) skewX(-30deg);
    opacity: 1; }
  80% {
    -webkit-transform: translateX(0%) skewX(15deg);
    transform: translateX(0%) skewX(15deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; } }

.lightSpeedInLeft.go {
  -webkit-animation-name: lightSpeedInLeft;
  animation-name: lightSpeedInLeft;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out; }

/*******
* Flip *
*******/
@-webkit-keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in; } }

@keyframes flip {
  0% {
    -webkit-transform: perspective(400px) rotateY(0);
    transform: perspective(400px) rotateY(0);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  40% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(170deg);
    transform: perspective(400px) translateZ(150px) rotateY(170deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out; }
  50% {
    -webkit-transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  80% {
    -webkit-transform: perspective(400px) rotateY(360deg) scale(0.95);
    transform: perspective(400px) rotateY(360deg) scale(0.95);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; }
  100% {
    -webkit-transform: perspective(400px) scale(1);
    transform: perspective(400px) scale(1);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in; } }

.flip.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flip;
  backface-visibility: visible !important;
  animation-name: flip; }

/**********
* flipInX *
**********/
@-webkit-keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

@keyframes flipInX {
  0% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateX(-10deg);
    transform: perspective(400px) rotateX(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateX(10deg);
    transform: perspective(400px) rotateX(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; } }

.flipInX.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  backface-visibility: visible !important;
  animation-name: flipInX; }

/**********
* flipInY *
**********/
@-webkit-keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

@keyframes flipInY {
  0% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; }
  40% {
    -webkit-transform: perspective(400px) rotateY(-10deg);
    transform: perspective(400px) rotateY(-10deg); }
  70% {
    -webkit-transform: perspective(400px) rotateY(10deg);
    transform: perspective(400px) rotateY(10deg); }
  100% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1; } }

.flipInY.go {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  backface-visibility: visible !important;
  animation-name: flipInY; }

/*****************
* Out animations *
*****************/
/************
* bounceOut *
*************/
@-webkit-keyframes bounceOut {
  0% {
    -webkit-transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3); } }

@keyframes bounceOut {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1); }
  25% {
    -webkit-transform: scale(0.95);
    transform: scale(0.95); }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.3);
    transform: scale(0.3); } }

.bounceOut.goAway {
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut; }

/************
* bounceOutUp *
*************/
@-webkit-keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes bounceOutUp {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

.bounceOutUp.goAway {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp; }

/************
* bounceOutDown *
*************/
@-webkit-keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes bounceOutDown {
  0% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px); } }

.bounceOutDown.goAway {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown; }

/************
* bounceOutLeft *
*************/
@-webkit-keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes bounceOutLeft {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

.bounceOutLeft.goAway {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft; }

/************
* bounceOutRight *
*************/
@-webkit-keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes bounceOutRight {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  20% {
    opacity: 1;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); } }

.bounceOutRight.goAway {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight; }

/************
* fadeOut *
*************/
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

.fadeOut.goAway {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut; }

/************
* fadeOutUp *
*************/
@-webkit-keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px); } }

@keyframes fadeOutUp {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(-2000px);
    transform: translateY(-2000px); } }

.fadeOutUp.goAway {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp; }

/************
* fadeOutDown *
*************/
@-webkit-keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px); } }

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateY(2000px);
    transform: translateY(2000px); } }

.fadeOutDown.goAway {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown; }

/************
* fadeOutLeft *
*************/
@-webkit-keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px); } }

@keyframes fadeOutLeft {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(-2000px);
    transform: translateX(-2000px); } }

.fadeOutLeft.goAway {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft; }

/************
* fadeOutRight *
*************/
@-webkit-keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px); } }

@keyframes fadeOutRight {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(2000px);
    transform: translateX(2000px); } }

.fadeOutRight.goAway {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight; }

/************
* flipOutX *
*************/
@-webkit-keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

@keyframes flipOutX {
  0% {
    -webkit-transform: perspective(400px) rotateX(0deg);
    transform: perspective(400px) rotateX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateX(90deg);
    transform: perspective(400px) rotateX(90deg);
    opacity: 0; } }

.flipOutX.goAway {
  -webkit-animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  animation-name: flipOutX;
  backface-visibility: visible !important; }

/************
* flipOutY *
*************/
@-webkit-keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

@keyframes flipOutY {
  0% {
    -webkit-transform: perspective(400px) rotateY(0deg);
    transform: perspective(400px) rotateY(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: perspective(400px) rotateY(90deg);
    transform: perspective(400px) rotateY(90deg);
    opacity: 0; } }

.flipOutY {
  -webkit-backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  backface-visibility: visible !important;
  animation-name: flipOutY; }

/************
* lightSpeedOutRight *
*************/
@-webkit-keyframes lightSpeedOutRight {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

@keyframes lightSpeedOutRight {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(100%) skewX(-30deg);
    transform: translateX(100%) skewX(-30deg);
    opacity: 0; } }

.lightSpeedOutRight.goAway {
  -webkit-animation-name: lightSpeedOutRight;
  animation-name: lightSpeedOutRight;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/************
* lightSpeedOutLeft *
*************/
@-webkit-keyframes lightSpeedOutLeft {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    opacity: 0; } }

@keyframes lightSpeedOutLeft {
  0% {
    -webkit-transform: translateX(0%) skewX(0deg);
    transform: translateX(0%) skewX(0deg);
    opacity: 1; }
  100% {
    -webkit-transform: translateX(-100%) skewX(30deg);
    transform: translateX(-100%) skewX(30deg);
    opacity: 0; } }

.lightSpeedOutLeft.goAway {
  -webkit-animation-name: lightSpeedOutLeft;
  animation-name: lightSpeedOutLeft;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in; }

/************
* rotateOut *
*************/
@-webkit-keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center;
    -webkit-transform: rotate(200deg);
    opacity: 0; } }

@keyframes rotateOut {
  0% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: center center;
    transform-origin: center center;
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
    opacity: 0; } }

.rotateOut.goAway {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut; }

/************
* rotateOutUpLeft *
*************/
@-webkit-keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(-90deg);
    opacity: 0; } }

@keyframes rotateOutUpLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -transform-origin: left bottom;
    -transform: rotate(-90deg);
    opacity: 0; } }

.rotateOutUpLeft.goAway {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft; }

/************
* rotateOutDownLeft *
*************/
@-webkit-keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutDownLeft {
  0% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutDownLeft.goAway {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft; }

/************
* rotateOutUpRight *
*************/
@-webkit-keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    opacity: 0; } }

@keyframes rotateOutUpRight {
  0% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(0);
    transform: rotate(0);
    opacity: 1; }
  100% {
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    opacity: 0; } }

.rotateOutUpRight.goAway {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight; }

/************
* rollOut *
*************/
@-webkit-keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg); } }

@keyframes rollOut {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0px) rotate(0deg);
    transform: translateX(0px) rotate(0deg); }
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%) rotate(120deg);
    transform: translateX(100%) rotate(120deg); } }

.rollOut.goAway {
  -webkit-animation-name: rollOut;
  animation-name: rollOut; }

/*****************
* Short Animations
*******************/
/*********************
* fadeInUpShort
*********************/
@-webkit-keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInUpShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInUpShort {
  opacity: 0;
  -webkit-transform: translateY(20px);
  -ms-transform: translateY(20px);
  transform: translateY(20px); }

.fadeInUpShort.go {
  -webkit-animation-name: fadeInUpShort;
  animation-name: fadeInUpShort; }

/*********************
* fadeInDownShort
*********************/
@-webkit-keyframes fadeInDownShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0); } }

@keyframes fadeInDownShort {
  0% {
    opacity: 0;
    -webkit-transform: translateY(-20px);
    transform: translateY(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0); } }

.fadeInDownShort {
  opacity: 0;
  -webkit-transform: translateY(-20px);
  -ms-transform: translateY(-20px);
  transform: translateY(-20px); }

.fadeInDownShort.go {
  -webkit-animation-name: fadeInDownShort;
  animation-name: fadeInDownShort; }

/*********************
* fadeInRightShort 
*********************/
@-webkit-keyframes fadeInRightShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInRightShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
    transform: translateX(20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInRightShort {
  opacity: 0;
  -webkit-transform: translateX(20px);
  -ms-transform: translateX(20px);
  transform: translateX(20px); }

.fadeInRightShort.go {
  -webkit-animation-name: fadeInRightShort;
  animation-name: fadeInRightShort; }

/*********************
* fadeInLeftShort 
*********************/
@-webkit-keyframes fadeInLeftShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0); } }

@keyframes fadeInLeftShort {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
    transform: translateX(-20px); }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0); } }

.fadeInLeftShort {
  opacity: 0;
  -webkit-transform: translateX(-20px);
  -ms-transform: translateX(-20px);
  transform: translateX(-20px); }

.fadeInLeftShort.go {
  -webkit-animation-name: fadeInLeftShort;
  animation-name: fadeInLeftShort; }

/**********
* Zoom in *
***********/
@-webkit-keyframes zoomIn {
  0% {
    -webkit-transform: scale(5);
    transform: scale(5);
    opacity: 0; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    opacity: .8; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8); }
  90% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

@keyframes zoomIn {
  0% {
    -webkit-transform: scale(5);
    transform: scale(5);
    opacity: 0; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    opacity: .8; }
  80% {
    -webkit-transform: scale(0.8);
    transform: scale(0.8); }
  90% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1); }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1; } }

.zoomIn {
  -webkit-transform: scale(5);
  -ms-transform: scale(5);
  transform: scale(5);
  opacity: 0; }

.zoomIn.go {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
  -webkit-animation-duration: .5s;
  animation-duration: .5s; }

/********
* ShakeUp2 *
Shake and pause 
********/
@-webkit-keyframes shakeUp2 {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  70%,
  90% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  60%,
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); } }
@keyframes shakeUp2 {
  0%,
  50%,
  100% {
    -webkit-transform: translateY(0);
    transform: translateY(0); }
  70%,
  90% {
    -webkit-transform: translateY(-10px);
    transform: translateY(-10px); }
  60%,
  80% {
    -webkit-transform: translateY(10px);
    transform: translateY(10px); } }

.shakeup2 {
  -webkit-animation-name: shakeUp2;
  animation-name: shakeUp2; }

.shake2 {
  /* Start the shake animation and make the animation last for 0.5 seconds */
  -webkit-animation: shake 1s;
  animation: shake 1s;
  /* When the animation is finished, start again */
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

@keyframes shake {
  0% {
    -webkit-transform: translate(1px, 1px) rotate(0deg);
    transform: translate(1px, 1px) rotate(0deg); }
  10% {
    -webkit-transform: translate(-1px, -2px) rotate(-1deg);
    transform: translate(-1px, -2px) rotate(-1deg); }
  20% {
    -webkit-transform: translate(-3px, 0px) rotate(1deg);
    transform: translate(-3px, 0px) rotate(1deg); }
  30% {
    -webkit-transform: translate(3px, 2px) rotate(0deg);
    transform: translate(3px, 2px) rotate(0deg); }
  40% {
    -webkit-transform: translate(1px, -1px) rotate(1deg);
    transform: translate(1px, -1px) rotate(1deg); }
  50% {
    -webkit-transform: translate(-1px, 2px) rotate(-1deg);
    transform: translate(-1px, 2px) rotate(-1deg); }
  60% {
    -webkit-transform: translate(-3px, 1px) rotate(0deg);
    transform: translate(-3px, 1px) rotate(0deg); }
  70% {
    -webkit-transform: translate(3px, 1px) rotate(-1deg);
    transform: translate(3px, 1px) rotate(-1deg); }
  80% {
    -webkit-transform: translate(-1px, -1px) rotate(1deg);
    transform: translate(-1px, -1px) rotate(1deg); }
  90% {
    -webkit-transform: translate(1px, 2px) rotate(0deg);
    transform: translate(1px, 2px) rotate(0deg); }
  100% {
    -webkit-transform: translate(1px, -2px) rotate(-1deg);
    transform: translate(1px, -2px) rotate(-1deg); } }

@-webkit-keyframes flashlight {
  0% {
    -webkit-transform: translate(0, 0) scale(1);
    transform: translate(0, 0) scale(1); }
  100% {
    -webkit-transform: translate(-20px, -40px) scale(1.1);
    transform: translate(-20px, -40px) scale(1.1); } }

@keyframes flashlight {
  0% {
    -webkit-transform: translate(0, 0) scale(1);
    -ms-transform: translate(0, 0) scale(1);
    transform: translate(0, 0) scale(1); }
  100% {
    -webkit-transform: translate(-20px, -40px) scale(1.1);
    -ms-transform: translate(-20px, -40px) scale(1.1);
    transform: translate(-20px, -40px) scale(1.1); } }

.rotating {
  -webkit-animation: rotating 30s linear infinite;
  animation: rotating 30s linear infinite; }

@-webkit-keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes rotation {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

/*--- About Text ---*/
/* text truncate multiline */
/*--- About Images ---*/
/*--- About Position ---*/
/*------------------------------------------------------*/
/*--- About Button ---*/
/*------------------------------------------------------*/
/*--- Customize Scrollbar ---*/
/*--- About Text ---*/
/*--- Smooth Scroll ---*/
::-moz-selection {
  color: #004CA2;
  background: #c0c0c0; }
::selection {
  color: #004CA2;
  background: #c0c0c0; }

/*--- Animate a ---*/
a {
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s; }
  a img {
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }

/*--- Customize Scrollbar ---*/
/*--- Common ClassName ---*/
.loop-infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.loop-5 {
  -webkit-animation-iteration-count: 5;
  animation-iteration-count: 5; }

/*--- About Button ---*/
.btn-image {
  position: relative;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
  line-height: 0; }
  .btn-image img:last-child {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    visibility: hidden;
    opacity: 0; }
  .btn-image:hover img:last-child {
    visibility: visible;
    opacity: 1; }

.btn-hover-zoom {
  display: inline-block;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .btn-hover-zoom:hover {
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1); }

.btn-hover-translateX {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.1s ease-in-out;
  transition: -webkit-transform 0.1s ease-in-out;
  -o-transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out; }
  .btn-hover-translateX:hover {
    -webkit-transform: translateX(-10px);
    -ms-transform: translateX(-10px);
    transform: translateX(-10px); }

.btn-hover-translateY {
  display: inline-block;
  -webkit-transition: -webkit-transform 0.1s ease-in-out;
  transition: -webkit-transform 0.1s ease-in-out;
  -o-transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out;
  transition: transform 0.1s ease-in-out, -webkit-transform 0.1s ease-in-out; }
  .btn-hover-translateY:hover {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px); }

.btn-hover-underline {
  position: relative;
  display: inline-block;
  text-decoration: none; }
  .btn-hover-underline:before {
    width: 0;
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 1px;
    background: #000;
    -webkit-transition: all 0.2s ease-in-out;
    -o-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out; }
  .btn-hover-underline:hover:before {
    width: 100%; }

.btn-hover-border-wrapping {
  padding: 20px;
  font-size: 18px;
  position: relative;
  border: none; }
  .btn-hover-border-wrapping:before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    border: #fff000 dashed;
    border-width: 0;
    -webkit-transition: border-width 0.1s ease-out;
    -o-transition: border-width 0.1s ease-out;
    transition: border-width 0.1s ease-out; }
  .btn-hover-border-wrapping:hover:before {
    z-index: 1;
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
    border-width: 5px; }

.btn-hover-shine {
  display: inline-block;
  position: relative;
  overflow: hidden; }
  .btn-hover-shine:after {
    content: '';
    position: absolute;
    pointer-events: none;
    top: -110%;
    left: -210%;
    width: 200%;
    height: 200%;
    opacity: 0;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0.13)), color-stop(77%, rgba(255, 255, 255, 0.13)), color-stop(92%, rgba(255, 255, 255, 0.5)), to(rgba(255, 255, 255, 0)));
    background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
    background: -o-linear-gradient(left, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
    background: linear-gradient(to right, rgba(255, 255, 255, 0.13) 0%, rgba(255, 255, 255, 0.13) 77%, rgba(255, 255, 255, 0.5) 92%, rgba(255, 255, 255, 0) 100%);
    -webkit-transform: rotate(30deg);
    -ms-transform: rotate(30deg);
    transform: rotate(30deg); }
  .btn-hover-shine:hover:after {
    -webkit-animation: shine .75s;
    animation: shine .75s;
    opacity: 1;
    top: -30%;
    left: -30%;
    -webkit-transition-property: left, top, opacity;
    -o-transition-property: left, top, opacity;
    transition-property: left, top, opacity;
    -webkit-transition-duration: 1s, 1s, .15s;
    -o-transition-duration: 1s, 1s, .15s;
    transition-duration: 1s, 1s, .15s;
    -webkit-transition-timing-function: ease;
    -o-transition-timing-function: ease;
    transition-timing-function: ease; }

/*--- About Text ---*/
.text-truncate {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  padding-bottom: 0 !important; }

.text-stroke {
  font-size: 100px;
  color: #fff;
  text-transform: uppercase;
  background: -webkit-linear-gradient(90deg, #000 20%, #f00 50%);
  /* Chrome10+,Safari5.1+ */
  -webkit-text-stroke: 5px rgba(255, 255, 255, 0.01);
  -webkit-background-clip: text; }

.text-gradient {
  text-transform: uppercase;
  font-weight: normal;
  font-size: 100px;
  background: #000;
  background: -webkit-linear-gradient(legacy-direction(180deg), #000, #f00, #fff000);
  background: -webkit-gradient(linear, left top, left bottom, from(#000), color-stop(#f00), to(#fff000));
  background: -webkit-linear-gradient(top, #000, #f00, #fff000);
  background: -o-linear-gradient(top, #000, #f00, #fff000);
  background: linear-gradient(180deg, #000, #f00, #fff000);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent; }

/*--- About Image ---*/
.image-fit {
  width: 250px;
  display: block;
  height: 350px;
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: center;
  object-position: center;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }

/*--- About Effect ---*/
.effect-gradient-linear {
  background: #77D7E7;
  background: -webkit-linear-gradient(legacy-direction(to bottom), #77D7E7 50%, #ff0000 50%, #fff000 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, #77D7E7), color-stop(50%, #ff0000), to(#fff000));
  background: -webkit-linear-gradient(top, #77D7E7 50%, #ff0000 50%, #fff000 100%);
  background: -o-linear-gradient(top, #77D7E7 50%, #ff0000 50%, #fff000 100%);
  background: linear-gradient(to bottom, #77D7E7 50%, #ff0000 50%, #fff000 100%); }

/*--- About Other ---*/
.hover-stop-animated:hover {
  -webkit-animation-play-state: paused;
  animation-play-state: paused;
  -webkit-animation: step-end;
  -moz-animationanimation: step-end;
  animation: step-end; }

@font-face {
  font-family: "SF";
  src: url(../fonts/SF-Pro-Display-Regular.eot);
  src: url(../fonts/SF-Pro-Display-Regular.eot#iefix) format("eot"), url(../fonts/SF-Pro-Display-Regular.woff2) format("woff2"), url(../fonts/SF-Pro-Display-Regular.woff) format("woff"), url(../fonts/SF-Pro-Display-Regular.ttf) format("truetype"), url(../fonts/SF-Pro-Display-Regular.svg) format("svg"); }

@font-face {
  font-family: "HelveticaNeue-CondensedBlack";
  src: url(../fonts/HelveticaNeue-CondensedBlack.eot);
  src: url(../fonts/HelveticaNeue-CondensedBlack.eot#iefix) format("eot"), url(../fonts/HelveticaNeue-CondensedBlack.woff2) format("woff2"), url(../fonts/HelveticaNeue-CondensedBlack.woff) format("woff"), url(../fonts/HelveticaNeue-CondensedBlack.ttf) format("truetype"), url(../fonts/HelveticaNeue-CondensedBlack.svg) format("svg"); }

@font-face {
  font-family: "UTMAlbertaHeavy";
  src: url(../fonts/UTMAlbertaHeavy.eot);
  src: url(../fonts/UTMAlbertaHeavy.eot#iefix) format("eot"), url(../fonts/UTMAlbertaHeavy.woff2) format("woff2"), url(../fonts/UTMAlbertaHeavy.woff) format("woff"), url(../fonts/UTMAlbertaHeavy.ttf) format("truetype"), url(../fonts/UTMAlbertaHeavy.svg) format("svg"); }

@font-face {
  font-family: "UTMColossalis";
  src: url(../fonts/UTMColossalis.eot);
  src: url(../fonts/UTMColossalis.eot#iefix) format("eot"), url(../fonts/UTMColossalis.woff2) format("woff2"), url(../fonts/UTMColossalis.woff) format("woff"), url(../fonts/UTMColossalis.ttf) format("truetype"), url(../fonts/UTMColossalis.svg) format("svg"); }

.header {
  width: 769px;
  max-width: 100%;
  height: 815px;
  background: url(../images/section1-bg.jpg) no-repeat center top/cover;
  margin: 0 auto 0px; }
  @media only screen and (max-width: 480px) {
    .header {
      height: 600px;
      background-position: center top; } }
  @media only screen and (max-width: 400px) {
    .header {
      height: 530px; } }
  .header .container {
    height: 100%;
    margin: 0 auto;
    position: relative; }
  .header .nav-wrapper {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10;
    width: 100%;
    height: 60px;
    background: #101413;
    color: #2b2b2b;
    padding: 0 0;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center; }
    .header .nav-wrapper .container {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
    .header .nav-wrapper .game-name {
      font-size: 18px;
      line-height: 1;
      margin: 13px 0 0;
      color: #f5f8fc;
      font-family: 'robotoslab'; }
      .header .nav-wrapper .game-name span {
        color: #e6c683;
        font-size: 12px; }
      @media only screen and (max-width: 480px) {
        .header .nav-wrapper .game-name {
          display: none; } }
  .header .logo {
    position: absolute;
    top: 0px;
    left: 50%;
    z-index: 1;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
    @media only screen and (max-width: 480px) {
      .header .logo {
        top: 20px; }
        .header .logo img {
          max-width: 130px; } }
  .header .age18 {
    margin: 10px 0 0 10px;
    height: 40px; }
  .header .avatar {
    margin: 5px 10px 0 10px; }
    .header .avatar img {
      -webkit-border-radius: 20px;
      border-radius: 20px; }
    @media only screen and (max-width: 480px) {
      .header .avatar img {
        max-width: 50px;
        -webkit-border-radius: 13px;
        border-radius: 13px; } }
  .header .play-video {
    position: absolute;
    top: 51%;
    left: 80%;
    -webkit-transform: translate(-50%);
    -ms-transform: translate(-50%);
    transform: translate(-50%); }
    @media only screen and (max-width: 480px) {
      .header .play-video {
        top: 50%;
        left: 83%; }
        .header .play-video img {
          max-width: 80px; } }
  .header .text {
    position: absolute;
    top: 58%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
    @media only screen and (max-width: 480px) {
      .header .text {
        top: 55%;
        width: 80%; } }

.taigame-btn {
  display: block;
  position: absolute;
  top: 17px;
  right: 45px; }
  @media only screen and (max-width: 480px) {
    .taigame-btn {
      top: 20px; }
      .taigame-btn img {
        max-width: 70px; } }
  .taigame-btn:hover {
    -webkit-filter: brightness(110%);
    filter: brightness(110%); }

.search-btn {
  display: block;
  position: absolute;
  top: 15px;
  color: #fff;
  text-transform: inherit;
  text-align: inherit;
  font-weight: normal;
  font-size: 20px;
  right: 45px; }
  .search-btn:hover {
    color: #edc564; }

.btn-ham {
  position: absolute;
  top: 15px;
  right: 10px;
  z-index: 1001;
  width: 25px;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  border: none; }
  @media only screen and (max-width: 768px) {
    .btn-ham {
      display: block; } }
  .btn-ham.active {
    position: fixed; }

.btn-ham span,
.btn-ham:after,
.btn-ham:before {
  content: '';
  display: block;
  width: 100%;
  height: 3px;
  background: #fff;
  margin: 6px 0px;
  -webkit-transition: 0.4s;
  -o-transition: 0.4s;
  transition: 0.4s; }

.btn-ham.active:before {
  -webkit-transform: rotate(-45deg) translate(-8px, 6px);
  -ms-transform: rotate(-45deg) translate(-8px, 6px);
  transform: rotate(-45deg) translate(-8px, 6px);
  background: #f5f8fc; }

.btn-ham.active:after {
  -webkit-transform: rotate(45deg) translate(-6px, -5px);
  -ms-transform: rotate(45deg) translate(-6px, -5px);
  transform: rotate(45deg) translate(-6px, -5px);
  background: #f5f8fc; }

.btn-ham.active span {
  opacity: 0;
  -webkit-transform: translateX(-30px);
  -ms-transform: translateX(-30px);
  transform: translateX(-30px); }

.menu {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  z-index: 2;
  width: 100%;
  padding-top: 60px;
  opacity: 0;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
  visibility: hidden; }
  .menu.active {
    opacity: 1;
    background: rgba(0, 0, 0, 0.9);
    visibility: visible; }
  .menu li {
    width: 100%;
    z-index: -2;
    margin: 0 7px; }
    .menu li a {
      display: block;
      line-height: 50px;
      font-size: 18px;
      text-align: center;
      text-transform: uppercase;
      font-family: "SF";
      color: #f5f8fc;
      font-weight: bold; }
      .menu li a:hover {
        color: #fac637; }

.buttons-list {
  width: 510px;
  margin: auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 7px;
  position: absolute;
  bottom: 30px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  background: #2f312a;
  padding: 10px;
  -webkit-border-radius: 20px;
  border-radius: 20px;
  border: 4px solid #eccd74; }
  .buttons-list:before {
    content: "";
    display: block;
    position: absolute;
    z-index: -1;
    top: -8px;
    left: -8px;
    right: -8px;
    bottom: -8px;
    border: 4px solid #265377;
    -webkit-border-radius: 24px;
    border-radius: 24px; }
  @media only screen and (max-width: 480px) {
    .buttons-list {
      bottom: 20px;
      padding: 7px 12px;
      -webkit-transform: scale(0.9);
      -ms-transform: scale(0.9);
      transform: scale(0.9);
      left: 0;
      max-width: 100%; } }
  .buttons-list li {
    margin: 0 0px; }
    .buttons-list li a {
      display: block;
      line-height: 0.5;
      padding: 0 0px; }
      .buttons-list li a:hover {
        -webkit-filter: brightness(110%);
        filter: brightness(110%); }
    .buttons-list li .choingay-btn {
      margin: -45px 0; }

:root {
  /* Not my favorite that line-height has to be united, but needed */
  --lh: 1.4rem; }

html {
  font-size: 16px;
  line-height: var(--lh); }

body {
  background-color: #e6f8fd !important;
  color: #010101 !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  font-family: "SF" !important;
  font-size: 1rem; }

a {
  background-color: transparent;
  cursor: pointer;
  color: #04459b;
  text-decoration: none;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  transition: all 0.2s ease; }
  a:hover, a:focus {
    text-decoration: none !important;
    outline: none;
    color: #055bcd; }

.swiper-button-prev:focus,
.swiper-button-next:focus {
  outline: none; }

.show-mobile {
  display: none; }
  @media only screen and (max-width: 768px) {
    .show-mobile {
      display: block; } }

.show-desktop {
  display: block; }
  @media only screen and (max-width: 768px) {
    .show-desktop {
      display: none; } }

.loop-infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite; }

.loop-5 {
  -webkit-animation-iteration-count: 5;
  animation-iteration-count: 5; }

.image-zoom-btn img {
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }

.image-zoom-btn:active img, .image-zoom-btn.nice-select.open img {
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1); }

/*---- Content CSS Varibles ----*/
/*--- Image -----*/
/*--- Notice Box ---*/
/*---- End Content CSS Varibles ----*/
/* General */
.StaticMain {
  clear: both;
  text-align: justify;
  color: #3b3b3b;
  position: relative;
  /* Text styles */
  /* END. Text styles */
  /* Image styles */
  /* Notice box */
  /* List styles */ }
  .StaticMain h3 {
    color: #3b3b3b;
    font-size: 2em;
    font-weight: bold;
    text-align: center;
    margin: 0px 0 30px 0; }
  .StaticMain a {
    color: #9b2a2e;
    text-decoration: underline; }
    .StaticMain a:hover {
      color: #cd822d;
      text-decoration: none; }
  .StaticMain p {
    margin: 0 0 10px; }
  .StaticMain ul {
    list-style: disc;
    padding: 0 0 0 0; }
    .StaticMain ul li {
      list-style: disc;
      padding: 0 0 0 0px;
      margin: 0 0 5px 20px; }
      .StaticMain ul li ul {
        list-style: circle;
        padding: 0 0 10px 0; }
  .StaticMain ol {
    margin: 0 0 20px;
    padding: 0 0 0 20px; }
    .StaticMain ol li {
      margin: 0 0 10px;
      list-style: decimal !important; }
  .StaticMain .AnchorLink {
    margin: 0px 30px 20px;
    overflow: hidden;
    list-style: none outside none; }
    .StaticMain .AnchorLink li {
      float: left;
      width: 49%;
      padding: 0 0 5px 5px;
      margin: 0 1% 0 0;
      list-style: none; }
      @media only screen and (max-width: 768px) {
        .StaticMain .AnchorLink li {
          width: 31%;
          margin-right: 2%; } }
      @media only screen and (max-width: 480px) {
        .StaticMain .AnchorLink li {
          width: 48%;
          margin-right: 2%; } }
      @media only screen and (max-width: 320px) {
        .StaticMain .AnchorLink li {
          width: 98%;
          margin-right: 2%; } }
      .StaticMain .AnchorLink li a {
        text-decoration: none;
        padding-left: 15px;
        font-weight: bold;
        position: relative;
        color: #9b2a2e; }
        .StaticMain .AnchorLink li a:before {
          content: '';
          width: 5px;
          height: 5px;
          border: solid 1px #9b2a2e;
          position: absolute;
          top: 8px;
          left: 0;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg); }
      .StaticMain .AnchorLink li a.Active,
      .StaticMain .AnchorLink li a.Active:hover,
      .StaticMain .AnchorLink li a:hover {
        color: #cd822d; }
        .StaticMain .AnchorLink li a.Active:before,
        .StaticMain .AnchorLink li a.Active:hover:before,
        .StaticMain .AnchorLink li a:hover:before {
          content: '';
          position: absolute;
          top: 8px;
          left: 0;
          background: #cd822d;
          border: solid 1px #cd822d;
          -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
          transform: rotate(45deg);
          color: #055bcd; }
  .StaticMain .FirstChar {
    padding: 4px 4px 0 0;
    line-height: 30px;
    font-size: 42px;
    font-weight: bold;
    float: left;
    color: #292826; }
  .StaticMain .ContentBlock {
    padding-bottom: 20px;
    clear: both; }
  .StaticMain .ImagesBlock {
    text-align: center;
    margin-bottom: 20px; }
  .StaticMain .ImgCenter {
    text-align: center !important;
    margin-bottom: 20px !important;
    font-size: 90%;
    font-style: italic; }
  .StaticMain h4 {
    color: #c75151;
    padding: 10px 0 10px 50px;
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 5px 0px;
    background: url("../images/content/icon-h4.png") no-repeat; }
  .StaticMain .ContentH4 {
    clear: both;
    margin: 0 0 10px 50px;
    padding: 0 0 0 0px; }
    .StaticMain .ContentH4 p {
      margin-bottom: 10px;
      /*text-align: justify;*/ }
  .StaticMain .ImagesH4 {
    text-align: center;
    margin: 0 0 20px 50px; }
  .StaticMain h5 {
    color: #c75151;
    padding: 10px 0 10px 40px;
    margin: 0 0 10px 50px;
    font-size: 18px;
    font-weight: bold;
    background: url("../images/content/icon-h5.png") no-repeat 0 0px; }
  .StaticMain .ContentH5 {
    clear: both;
    margin: 0 0 0 90px;
    padding: 0 0 20px; }
    .StaticMain .ContentH5 p {
      margin-bottom: 10px;
      text-align: justify; }
  .StaticMain .ImagesH5 {
    text-align: center;
    margin: 0 0 20px 40px; }
  .StaticMain table {
    border-top: solid 1px #1d0a01;
    margin: 0 auto 20px;
    border-collapse: collapse; }
    .StaticMain table thead tr th {
      color: #eef9f9;
      background: #124c7f;
      font-weight: bolder;
      padding: 10px 10px;
      border-right: 1px solid #1d0a01;
      border-left: 1px solid #1d0a01;
      border-bottom: 1px solid #1d0a01;
      text-align: center; }
    .StaticMain table tbody tr:nth-child(odd) {
      background-color: #adc6da; }
    .StaticMain table tbody tr:nth-child(even) {
      background-color: #d9e2ec; }
    .StaticMain table tbody tr td {
      padding: 10px 10px;
      border: 1px solid #1d0a01;
      border-top: none;
      color: #6c5f55; }
      .StaticMain table tbody tr td a {
        color: #6c5f55; }
        .StaticMain table tbody tr td a:hover {
          color: #055bcd; }
  .StaticMain table.Notice {
    border: 1px solid #1d0a01; }
    .StaticMain table.Notice tr td {
      padding: 10px 20px;
      border: 1px solid #1d0a01; }
      .StaticMain table.Notice tr td p {
        margin-bottom: 10px; }
      .StaticMain table.Notice tr td ul,
      .StaticMain table.Notice tr td ol {
        padding-bottom: 0px;
        margin-bottom: 0px; }
  .StaticMain .TextCenter {
    text-align: center; }
  .StaticMain .TextRight {
    text-align: right; }
  .StaticMain .Strong01 {
    font-weight: bolder;
    color: #ce0019; }
  .StaticMain .Strong02 {
    font-weight: bolder;
    color: #cda102; }
  .StaticMain .Strong03 {
    font-weight: bolder;
    color: #006cc8; }
  .StaticMain .TextFont17 {
    font-size: 17px; }
  .StaticMain .TextFont19 {
    font-size: 19px; }
  .StaticMain .TextFont21 {
    font-size: 21px; }
  .StaticMain .NoBorderImg {
    border: none;
    background: none;
    padding: 0; }
  .StaticMain .BorderImg {
    background: #000;
    border: 1px solid #000;
    padding: 0px; }
  .StaticMain .ImgLeft {
    float: left;
    margin: 1px 10px 5px 0;
    border: 1px solid #000; }
  .StaticMain .ImgRight {
    float: right;
    margin: 0 0 5px 10px;
    border: 1px solid #000; }
  .StaticMain blockquote {
    border-left: 2px solid #1d0a01;
    font-size: 14px;
    margin: 0 20px;
    padding: 10px 40px;
    margin: 0;
    position: relative;
    font-style: italic; }
    .StaticMain blockquote:before, .StaticMain blockquote:after {
      position: absolute;
      display: block;
      width: 20px;
      height: 20px;
      content: ''; }
    .StaticMain blockquote:before {
      top: 0;
      left: 10px;
      background-position: 0 0; }
    .StaticMain blockquote:after {
      right: 0;
      bottom: 0;
      background-position: -20px 0; }
  .StaticMain .NoticeBox {
    border: solid 1px #1a0000;
    padding: 10px;
    background: #d9e2ec; }
    .StaticMain .NoticeBox p.Legend {
      font-size: 13px;
      font-weight: bolder;
      padding: 0 15px;
      color: #fff;
      background: #cc1800;
      height: 20px;
      margin: -20px 0 10px;
      float: left;
      border: solid 1px #cc1800; }
    .StaticMain .NoticeBox .NoteContent {
      width: 100%;
      overflow: hidden;
      text-align: justify;
      color: #1e2c19; }
      .StaticMain .NoticeBox .NoteContent a {
        color: #1c76fd; }
        .StaticMain .NoticeBox .NoteContent a:hover {
          color: #fd4b36; }
  .StaticMain ul.Decimal {
    margin: 0px 0px 10px 0px; }
    .StaticMain ul.Decimal li {
      list-style-type: decimal;
      margin-bottom: 10px;
      text-align: justify; }
      .StaticMain ul.Decimal li ul {
        padding-top: 5px; }
  .StaticMain ul.UpperAlpha {
    margin: 0px 0px 10px 0px; }
    .StaticMain ul.UpperAlpha li {
      list-style-type: upper-alpha;
      margin-bottom: 10px;
      text-align: justify; }
      .StaticMain ul.UpperAlpha li ul {
        padding-top: 5px; }
  .StaticMain ul.LowerAlpha {
    margin: 0px 0px 10px 0px; }
    .StaticMain ul.LowerAlpha li {
      list-style-type: lower-alpha;
      margin-bottom: 10px;
      text-align: justify; }
      .StaticMain ul.LowerAlpha li ul {
        padding-top: 5px; }
  .StaticMain ul.Icon {
    margin: 0px 0px 10px 5px; }
    .StaticMain ul.Icon li {
      margin-bottom: 10px;
      padding-left: 15px;
      list-style-type: none;
      text-align: justify;
      position: relative; }
      .StaticMain ul.Icon li:before {
        font-size: 8px;
        content: "\e074";
        font-family: 'GlyphiconsHalflings';
        position: absolute;
        top: 4px;
        left: 0;
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg); }
      .StaticMain ul.Icon li ul {
        padding-top: 5px; }
      .StaticMain ul.Icon li ul.LowerAlpha li {
        list-style-type: lower-alpha;
        margin-bottom: 10px;
        background: none;
        padding-left: 0px; }
  .StaticMain ul.Dash {
    margin: 0px 0px 10px 5px; }
    .StaticMain ul.Dash li {
      margin-bottom: 10px;
      padding-left: 15px;
      list-style-type: none;
      text-align: justify;
      position: relative; }
      .StaticMain ul.Dash li:before {
        font-size: 8px;
        content: "\2212";
        font-family: 'GlyphiconsHalflings';
        position: absolute;
        top: 5px;
        left: 0; }
      .StaticMain ul.Dash li ul {
        padding-top: 5px; }
  .StaticMain ul.Disc {
    margin: 0px 0px 10px 5px; }
    .StaticMain ul.Disc li {
      list-style-type: none;
      margin: 0 0 10px 0;
      padding: 0 0 0 15px;
      text-align: justify;
      position: relative; }
      .StaticMain ul.Disc li:before {
        font-size: 8px;
        content: "\e165";
        font-family: 'GlyphiconsHalflings';
        position: absolute;
        top: 5px;
        left: 0; }
      .StaticMain ul.Disc li ul {
        padding-top: 5px; }

body {
  background: #e6f8fd;
  overflow-x: hidden;
  font-family: SF; }
  body .wrapper {
    width: 100%;
    overflow-x: hidden;
    -webkit-background-size: auto auto;
    background-size: auto;
    margin-bottom: 0px; }
    @media only screen and (max-width: 480px) {
      body .wrapper {
        -webkit-background-size: 100% 100%;
        background-size: 100%; } }
    body .wrapper.sub {
      background: url(../images/bg-top.jpg) no-repeat center top, url(../images/bg-bottom.jpg) no-repeat center bottom #e6f8fd;
      -webkit-background-size: auto auto;
      background-size: auto; }
      @media only screen and (max-width: 480px) {
        body .wrapper.sub {
          -webkit-background-size: 120% 120%;
          background-size: 120%; } }
      body .wrapper.sub .header {
        background: none;
        margin-bottom: 80px; }
        @media only screen and (max-width: 480px) {
          body .wrapper.sub .header {
            height: 505px; } }
      @media only screen and (max-width: 480px) {
        body .wrapper.sub .buttons-list {
          bottom: -35px; } }
    body .wrapper .heading {
      text-align: center;
      line-height: 1; }
      @media only screen and (max-width: 400px) {
        body .wrapper .heading img {
          max-width: 250px; } }

/*--- Banner ---*/
.banner-slider {
  text-align: center;
  line-height: 0.7;
  margin: 0 0 0px;
  border: solid 1px #164f7e;
  -webkit-border-radius: 10px;
  border-radius: 10px; }
  .banner-slider .swiper-slide {
    padding: 10px; }
  .banner-slider img {
    -webkit-border-radius: 5px;
    border-radius: 5px; }
  .banner-slider a {
    display: block;
    max-width: 100%;
    margin: auto;
    position: relative; }

.banner-slider-swiper-pagination {
  width: 100%;
  opacity: 1;
  padding: 6px 0 0;
  margin: 0 0 10px;
  position: relative; }
  .banner-slider-swiper-pagination .swiper-pagination-bullet {
    width: 37px;
    height: 37px;
    background: url(../images/nav-dot.png) no-repeat;
    opacity: 1;
    margin: 0 5px; }
  .banner-slider-swiper-pagination .swiper-pagination-bullet-active {
    background: url(../images/nav-dot-hover.png) no-repeat; }

.section-2 {
  background: url(../images/section2-bg.jpg) no-repeat center top/100% 100%;
  padding: 0 0 3px;
  position: relative; }
  .section-2 .icon-l {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    width: 190px;
    height: 200px;
    background: url(../images/icon-tonquyen.png) no-repeat 0 0; }
    @media only screen and (max-width: 480px) {
      .section-2 .icon-l {
        -webkit-background-size: 50% 50%;
        background-size: 50%;
        left: -5%;
        bottom: -20%; } }
  .section-2 .icon-r {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 2;
    width: 160px;
    height: 120px;
    background: url(../images/hoa-la.png) no-repeat 0 0; }
    @media only screen and (max-width: 480px) {
      .section-2 .icon-r {
        -webkit-background-size: 50% 50%;
        background-size: 50%;
        right: -25%;
        bottom: -10%; } }
  @media only screen and (max-width: 480px) {
    .section-2 {
      padding: 0 10px 20px;
      margin: 0; } }
  .section-2 .heading {
    padding: 0px 0 0;
    margin: 0;
    position: relative;
    z-index: 1; }
  .section-2 .news-frame {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 560px;
    max-width: 100%;
    padding: 2% 2%;
    position: relative;
    margin: 0 auto 10px;
    background: #fff;
    -webkit-border-radius: 25px;
    border-radius: 25px;
    border: solid 4px #eccd74; }
    .section-2 .news-frame:before {
      content: "";
      display: block;
      position: absolute;
      z-index: 0;
      top: -8px;
      left: -8px;
      right: -8px;
      bottom: -8px;
      border: 4px solid #265377;
      -webkit-border-radius: 29px;
      border-radius: 29px; }
    @media only screen and (max-width: 480px) {
      .section-2 .news-frame {
        padding: 3% 3% 3%; } }

.section-3 {
  background: url(../images/section3-bg.jpg) no-repeat center top/100% 100%;
  padding: 0px 0px 0 0;
  position: relative;
  height: 885px; }
  @media only screen and (max-width: 480px) {
    .section-3 {
      height: auto;
      padding-bottom: 0%; } }
  .section-3 .heading {
    padding: 0px 0 0 0;
    margin: 0 0 0%;
    text-align: center;
    position: relative;
    z-index: 1; }
    @media only screen and (max-width: 480px) {
      .section-3 .heading {
        margin-bottom: 25%; } }
  .section-3 .icon-chanco {
    position: absolute;
    right: 0;
    bottom: 13%;
    z-index: 2;
    width: 160px;
    height: 208px;
    background: url(../images/icon-chanco.png) no-repeat 0 0; }
    @media only screen and (max-width: 480px) {
      .section-3 .icon-chanco {
        -webkit-background-size: 70% 70%;
        background-size: 70%;
        bottom: 4%;
        right: -13%; } }

.section-4 {
  background: url(../images/section4-bg.jpg) no-repeat center top/100% 100%;
  padding: 0px 0 30px 0; }
  .section-4 .heading {
    margin: 0 0 20px; }
  .section-4 .character {
    position: relative;
    width: 770px;
    max-width: 100%;
    padding: 0px 0 0;
    margin: 0px auto 0px;
    /*--- nav ---*/ }
    .section-4 .character-block {
      position: relative;
      margin-top: -10px; }
    .section-4 .character-tab {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 100%;
      position: relative;
      z-index: 5;
      margin: 0px 0 0 0; }
      .section-4 .character-tab li {
        margin: 0 5px; }
        @media only screen and (max-width: 480px) {
          .section-4 .character-tab li {
            width: 22%; } }
        .section-4 .character-tab li a {
          display: block;
          width: 135px;
          height: 47px;
          line-height: 47px;
          color: #f7f0e0;
          text-transform: uppercase;
          text-align: center;
          font-size: 25px;
          background: url(../images/char-tab-bg.png) no-repeat 0 4px/100% 100%;
          font-family: "iCielSoupofJustice";
          -webkit-text-stroke: 5px #7a4c04;
          paint-order: stroke fill; }
          @media only screen and (max-width: 480px) {
            .section-4 .character-tab li a {
              width: 100%;
              font-size: 20px;
              height: auto;
              line-height: 1.6;
              padding: 5px;
              background-position: 0 2px; } }
          .section-4 .character-tab li a.active, .section-4 .character-tab li a:hover {
            background: url(../images/char-tab-bg-hover.png) no-repeat 0 4px/100% 100%; }
    .section-4 .character .tab-content {
      position: relative;
      margin: 0px 0 0 0; }
    .section-4 .character .character-swiper-large {
      margin: 0 0 0 0; }
      .section-4 .character .character-swiper-large .swiper-slide {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        overflow: hidden;
        position: relative; }
        .section-4 .character .character-swiper-large .swiper-slide-active .character-sm {
          bottom: 10px; }
    .section-4 .character .heading {
      text-align: center;
      margin: -35px 0 0 0; }
    .section-4 .character .character-swiper-nav {
      z-index: 2;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 500px;
      max-width: 100%;
      height: 140px;
      margin: 0 auto;
      padding: 0 0px; }
      @media only screen and (max-width: 480px) {
        .section-4 .character .character-swiper-nav {
          height: auto;
          max-width: 80%; } }
      .section-4 .character .character-swiper-nav .swiper-slide {
        -webkit-filter: grayscale(100%);
        filter: grayscale(100%);
        cursor: pointer; }
        @media only screen and (max-width: 480px) {
          .section-4 .character .character-swiper-nav .swiper-slide {
            text-align: center; }
            .section-4 .character .character-swiper-nav .swiper-slide img {
              max-width: 70px; } }
        .section-4 .character .character-swiper-nav .swiper-slide:hover {
          -webkit-filter: grayscale(0%);
          filter: grayscale(0%); }
      .section-4 .character .character-swiper-nav .swiper-slide-thumb-active {
        -webkit-filter: grayscale(0%);
        filter: grayscale(0%); }
    .section-4 .character .char-prev-btn, .section-4 .character .char-next-btn {
      width: 57px;
      height: 81px;
      background: url(../images/char-prev-btn.png) 0 0/100% 100%;
      cursor: pointer;
      z-index: 6;
      position: absolute;
      bottom: 9%;
      left: 10%; }
      @media only screen and (max-width: 480px) {
        .section-4 .character .char-prev-btn, .section-4 .character .char-next-btn {
          bottom: 0%;
          left: 0;
          -webkit-transform: scale(0.8);
          -ms-transform: scale(0.8);
          transform: scale(0.8); } }
      .section-4 .character .char-prev-btn:hover, .section-4 .character .char-next-btn:hover {
        background: url(../images/char-prev-btn-hover.png) 0 0/100% 100%; }
    .section-4 .character .char-next-btn {
      left: auto;
      right: 13%;
      -webkit-transform: rotate(-180deg);
      -ms-transform: rotate(-180deg);
      transform: rotate(-180deg); }
      @media only screen and (max-width: 480px) {
        .section-4 .character .char-next-btn {
          right: 0;
          -webkit-transform: rotate(-180deg) scale(0.8);
          -ms-transform: rotate(-180deg) scale(0.8);
          transform: rotate(-180deg) scale(0.8); } }

.section-5 {
  background: url(../images/section5-bg.jpg) no-repeat center top/100% 100%;
  padding: 0px 0 0 0; }
  .section-5 .heading {
    text-align: center;
    margin: 0 0 10px; }
    @media only screen and (max-width: 480px) {
      .section-5 .heading img {
        max-width: 350px; } }

/*- Variable -*/
/*--- News ---*/
.news {
  width: 550px;
  position: relative;
  max-width: 100%;
  margin: 0 auto 0;
  padding: 3% 0%;
  margin: 0 auto; }
  @media only screen and (max-width: 480px) {
    .news {
      -webkit-background-size: 100% 100%;
      background-size: 100% 100%;
      height: auto; } }
  .news-tab {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    overflow: hidden;
    margin: 0 0 10px;
    padding-bottom: 0px; }
    .news-tab li {
      margin: 0px; }
      .news-tab li:not(:first-child) {
        margin-right: 5px; }
      .news-tab li a {
        min-width: 105px;
        line-height: 30px;
        display: block;
        padding: 0 10px 5px;
        margin: 0 0px;
        font-family: 'UTMAlbertaHeavy';
        color: #3c729e;
        text-transform: uppercase;
        text-align: center;
        font-size: 20px;
        letter-spacing: 0.5px;
        border: none;
        background-position: center bottom; }
        @media only screen and (max-width: 480px) {
          .news-tab li a {
            min-width: auto;
            padding: 0 10px;
            font-size: 14px; } }
        @media only screen and (max-width: 400px) {
          .news-tab li a {
            padding: 0 7px;
            font-size: 13px; } }
        .news-tab li a.active, .news-tab li a:hover {
          color: #fff;
          background: #3c729e;
          -webkit-border-radius: 7px;
          border-radius: 7px; }
  .news .tab-content {
    padding: 0px 0px 0px;
    overflow: hidden; }

/*- news list home -*/
ul.news-list-home {
  margin: 0 0px;
  padding: 0px 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  ul.news-list-home li {
    width: 100%;
    padding: 0px 0px 0px 0px;
    margin: 0 0 5px 00px;
    position: relative;
    color: #3b3b3b;
    list-style-type: disc; }
    ul.news-list-home li.highlight {
      padding: 0 0;
      border: none;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: start;
      -webkit-align-items: flex-start;
      -ms-flex-align: start;
      align-items: flex-start;
      background: #222222;
      margin: 0 0 10px; }
      ul.news-list-home li.highlight .news-title {
        color: #eee2d1;
        font-size: 16px;
        padding: 10px 0 0 10px; }
        ul.news-list-home li.highlight .news-title:hover {
          color: #e48f2a; }
          ul.news-list-home li.highlight .news-title:hover .news-time {
            color: #e48f2a; }
        @media only screen and (max-width: 480px) {
          ul.news-list-home li.highlight .news-title {
            font-size: 14px; } }
      ul.news-list-home li.highlight .news-time {
        color: #eee2d1;
        padding: 0 0px 0 0; }
        @media only screen and (max-width: 480px) {
          ul.news-list-home li.highlight .news-time {
            font-size: 14px; } }
      ul.news-list-home li.highlight .news-des {
        width: 100%;
        color: #35353c;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        overflow: hidden;
        padding-bottom: 0 !important;
        text-transform: initial;
        font-weight: normal; }
      @media only screen and (max-width: 480px) {
        ul.news-list-home li.highlight {
          margin-bottom: 10px; }
          ul.news-list-home li.highlight img {
            max-width: 75px; } }
    ul.news-list-home li .news__thumb {
      float: left;
      margin: 2px 10px 0 1px;
      height: auto; }
      ul.news-list-home li .news__thumb img {
        border: 2px solid #3c365a;
        max-width: 90px; }
    ul.news-list-home li a {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      color: #3b3b3b;
      font-size: 16px;
      margin-bottom: 5px;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      ul.news-list-home li a:hover {
        color: #e48f2a; }
      ul.news-list-home li a span {
        width: calc(100% - 90px);
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 1;
        overflow: hidden;
        padding-bottom: 0 !important; }
      @media only screen and (max-width: 480px) {
        ul.news-list-home li a {
          font-size: 14px; } }
    ul.news-list-home li .news-time {
      display: block;
      color: #3b3b3b;
      margin: 0px 10px 0 0; }

.news-more {
  display: block;
  text-align: right;
  margin: 0px 10px 0px 0;
  padding: 0 0px; }
  @media only screen and (max-width: 480px) {
    .news-more {
      top: 15px; } }
  .news-more:hover {
    -webkit-filter: brightness(105%);
    filter: brightness(105%); }

.hotro-block {
  width: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 0 0px; }
  @media only screen and (max-width: 480px) {
    .hotro-block {
      margin: 0 0 0px; } }
  .hotro-block a {
    display: block;
    margin: 0 5px; }

/*--- Dac sac ---*/
.dacsac {
  position: relative;
  padding: 0 0 100px; }
  .dacsac-slider {
    position: relative;
    margin: 0px auto 0 !important;
    overflow: hidden !important;
    width: 555px;
    max-width: 100%;
    padding: 0 0 0px; }
    .dacsac-slider:after {
      width: 100%;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      content: '';
      z-index: 2;
      background: url(../images/dacsac-frame.png) no-repeat 0 0/100% 100%; }
    .dacsac-slider .swiper-slide {
      -webkit-filter: blur(2px) brightness(40%);
      filter: blur(2px) brightness(40%); }
      .dacsac-slider .swiper-slide a {
        position: relative;
        display: block;
        padding: 18px 27px; }
      .dacsac-slider .swiper-slide.swiper-slide-active {
        -webkit-filter: blur(0px);
        filter: blur(0px); }
        .dacsac-slider .swiper-slide.swiper-slide-active a:after {
          display: block; }
  .dacsac .dacsac-pagination {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 30px auto 0; }
    @media only screen and (max-width: 480px) {
      .dacsac .dacsac-pagination {
        -webkit-transform: scale(0.8);
        -ms-transform: scale(0.8);
        transform: scale(0.8); } }
    .dacsac .dacsac-pagination .swiper-pagination-bullet {
      width: 37px;
      height: 37px;
      background: url(../images/dacsac-nav-dot.png) no-repeat 0 0/100% 100%;
      opacity: 1;
      position: relative;
      margin-right: 20px; }
      .dacsac .dacsac-pagination .swiper-pagination-bullet:first-child:after {
        content: '';
        width: 8px;
        height: 8px;
        background: #fff;
        -webkit-border-radius: 4px;
        border-radius: 4px;
        position: absolute;
        top: 40%;
        left: -14px; }
      .dacsac .dacsac-pagination .swiper-pagination-bullet:before {
        content: '';
        width: 8px;
        height: 8px;
        background: #fff;
        -webkit-border-radius: 4px;
        border-radius: 4px;
        position: absolute;
        top: 40%;
        right: -14px; }
      .dacsac .dacsac-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
        background: url(../images/dacsac-nav-dot-hover.png) no-repeat 0 0/100% 100%; }
  .dacsac .prev-btn, .dacsac .next-btn {
    width: 57px;
    height: 81px;
    background: url(../images/char-prev-btn.png) 0 0/100% 100%;
    cursor: pointer;
    position: absolute;
    left: 0;
    top: 45%;
    z-index: 5;
    margin: 0; }
    @media only screen and (max-width: 768px) {
      .dacsac .prev-btn, .dacsac .next-btn {
        left: 30px; } }
    @media only screen and (max-width: 480px) {
      .dacsac .prev-btn, .dacsac .next-btn {
        top: 40%;
        left: 0;
        -webkit-transform: scale(0.8);
        -ms-transform: scale(0.8);
        transform: scale(0.8); } }
  .dacsac .next-btn {
    right: 0;
    top: 45%;
    z-index: 5;
    margin: 0;
    left: auto;
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg); }
    @media only screen and (max-width: 768px) {
      .dacsac .next-btn {
        right: 30px; } }
    @media only screen and (max-width: 480px) {
      .dacsac .next-btn {
        top: 40%;
        right: 0;
        -webkit-transform: rotate(-180deg) scale(0.8);
        -ms-transform: rotate(-180deg) scale(0.8);
        transform: rotate(-180deg) scale(0.8); } }
  .dacsac [class*="-btn"] {
    cursor: pointer; }
    @media only screen and (max-width: 400px) {
      .dacsac [class*="-btn"] {
        top: 32%; } }

.duatop {
  position: relative;
  width: 607px;
  max-width: 100%;
  height: 537px;
  padding: 5% 13% 0% 7%;
  margin: 13% auto 0;
  position: relative;
  background: url(../images/duatop-bg.png) no-repeat center top/100% 100%; }
  @media only screen and (max-width: 480px) {
    .duatop {
      height: 430px;
      padding: 7% 7% 18% 7%;
      margin-top: 19%;
      -webkit-background-size: 106% 100%;
      background-size: 106% 100%;
      background-position: top left; } }
  @media only screen and (max-width: 400px) {
    .duatop {
      margin-top: 25%; } }
  .duatop-title {
    width: 100%;
    text-align: center;
    margin: 0 0 20px; }
  .duatop-date-time {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: -50px 0 40px 0;
    position: relative; }
    .duatop-date-time p {
      width: 180px;
      height: 45px;
      line-height: 45px;
      background: url(../images/duatop-date-time-bg.png) no-repeat 0 0/100% 100%;
      color: #fff;
      text-align: center;
      font-weight: normal;
      font-size: 21px; }
      @media only screen and (max-width: 480px) {
        .duatop-date-time p {
          font-size: 22px;
          width: 140px;
          margin-left: -2%; } }
    @media only screen and (max-width: 480px) {
      .duatop-date-time {
        margin-bottom: 35px; } }
    @media only screen and (max-width: 400px) {
      .duatop-date-time {
        margin-bottom: 15px; } }
    .duatop-date-time .date {
      width: 170px;
      height: 170px;
      font-size: 16px;
      line-height: 0.9;
      color: #feffff;
      font-weight: 500;
      padding: 2px 10px;
      background: url(../images/date-bg.png) no-repeat 0 0/cover;
      position: absolute;
      top: -50%;
      left: 50%;
      -webkit-transform: translate(-50%, -43%);
      -ms-transform: translate(-50%, -43%);
      transform: translate(-50%, -43%);
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
      -ms-flex-direction: column;
      flex-direction: column;
      text-shadow: 1px 1px 4px #000; }
      @media only screen and (max-width: 400px) {
        .duatop-date-time .date {
          width: 120px;
          height: 120px; } }
      .duatop-date-time .date span {
        display: block;
        font-size: 86px;
        font-family: "UTMColossalis";
        text-shadow: none;
        -webkit-filter: drop-shadow(2px 2px 10px #72c6d4);
        filter: drop-shadow(2px 2px 10px #72c6d4);
        background: #fbc00e;
        background: -webkit-linear-gradient(legacy-direction(0deg), #fbc00e, #ffe30e);
        background: -webkit-gradient(linear, left bottom, left top, from(#fbc00e), to(#ffe30e));
        background: -webkit-linear-gradient(bottom, #fbc00e, #ffe30e);
        background: -o-linear-gradient(bottom, #fbc00e, #ffe30e);
        background: linear-gradient(0deg, #fbc00e, #ffe30e);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent; }
        @media only screen and (max-width: 480px) {
          .duatop-date-time .date span {
            font-size: 50px; } }
    .duatop-date-time .time {
      width: 180px;
      height: 45px;
      line-height: 45px;
      background: url(../images/duatop-date-time-bg.png) no-repeat 0 0/100% 100%;
      font-family: "UTMColossalis";
      color: #fff;
      text-align: center;
      font-weight: normal;
      font-size: 26px; }
      @media only screen and (max-width: 480px) {
        .duatop-date-time .time {
          font-size: 22px;
          width: 140px;
          margin-right: -2%; } }
      @media only screen and (max-width: 400px) {
        .duatop-date-time .time {
          font-size: 18px; } }
  .duatop-table {
    table-layout: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: 80%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-flow: column;
    -ms-flex-flow: column;
    flex-flow: column;
    color: #5b6473;
    text-align: center;
    margin: 0 25px;
    font-size: 15px;
    /* Shrinks the table to exactly fit the cell content */
    margin: auto; }
    @media only screen and (max-width: 480px) {
      .duatop-table {
        height: 100%;
        margin: 0 5px; } }
    .duatop-table thead {
      color: #c3b790;
      background: #1a180f;
      -webkit-border-radius: 5px;
      border-radius: 5px; }
      .duatop-table thead tr td {
        color: #f4efdc;
        font-weight: 600; }
        @media only screen and (max-width: 480px) {
          .duatop-table thead tr td {
            font-size: 13px; } }
    .duatop-table tr {
      width: 100%;
      display: table;
      table-layout: fixed; }
      .duatop-table tr:not(:last-child) {
        border-bottom: solid 1px #f5f3e5; }
      .duatop-table tr td {
        height: 35px;
        padding: 5px 5px 2px;
        text-align: center;
        vertical-align: middle;
        color: #474433;
        white-space: wrap; }
        @media only screen and (max-width: 480px) {
          .duatop-table tr td {
            font-size: 13px; } }
    .duatop-table tbody {
      -webkit-box-flex: 1;
      -webkit-flex: 1 1 auto;
      -ms-flex: 1 1 auto;
      flex: 1 1 auto;
      display: block;
      height: 400px;
      overflow: auto; }
      .duatop-table tbody::-webkit-scrollbar-track {
        -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
        background-color: #fff;
        -webkit-border-radius: 5px;
        border-radius: 5px; }
      .duatop-table tbody::-webkit-scrollbar {
        width: 5px;
        background-color: #fff;
        -webkit-border-radius: 5px;
        border-radius: 5px;
        height: 4px; }
      .duatop-table tbody::-webkit-scrollbar-thumb {
        -webkit-border-radius: 5px;
        border-radius: 5px;
        background-color: #4e4540; }
  .duatop .dacquyenvip-btn {
    position: absolute;
    top: -22%;
    right: 5%;
    z-index: 3; }
    .duatop .dacquyenvip-btn:hover {
      -webkit-filter: brightness(110%);
      filter: brightness(110%); }
    @media only screen and (max-width: 480px) {
      .duatop .dacquyenvip-btn {
        top: -25%;
        right: 0%; }
        .duatop .dacquyenvip-btn img {
          max-width: 150px; } }
    @media only screen and (max-width: 400px) {
      .duatop .dacquyenvip-btn {
        right: 0%; } }

/*--- Sub page ---*/
.main-content {
  width: 600px;
  max-width: 100%;
  background: url(../images/maincontent-loop.png) repeat-y 0 0/100%;
  position: relative;
  margin: 30px auto 150px;
  padding: 1% 7% 3%;
  /*- news list -*/ }
  @media only screen and (max-width: 480px) {
    .main-content {
      padding-top: 0; } }
  .main-content:before {
    content: '';
    position: absolute;
    top: -30px;
    right: 0;
    bottom: 0px;
    left: 0;
    width: 100%;
    background: url(../images/maincontent-top.png) no-repeat 0 0/100%; }
  .main-content:after {
    content: '';
    position: absolute;
    right: 0;
    bottom: -30px;
    left: 0;
    width: 100%;
    height: 65px;
    background: url(../images/maincontent-bottom.png) no-repeat left bottom/100%; }
  .main-content ul.news-list {
    margin: 0; }
    .main-content ul.news-list li {
      width: 100%;
      overflow: hidden;
      padding: 0 0 15px 0;
      margin: 0 0 15px 0;
      position: relative;
      border-bottom: solid #2f2c24 1px; }
      .main-content ul.news-list li.highlight .news-title {
        float: left;
        width: calc(100% - 200px);
        display: block;
        color: #cf7f00;
        font-family: SF;
        font-weight: bold; }
        @media only screen and (max-width: 480px) {
          .main-content ul.news-list li.highlight .news-title {
            width: calc(100% - 165px); } }
        .main-content ul.news-list li.highlight .news-title:hover {
          color: #d1444c; }
      @media only screen and (max-width: 480px) {
        .main-content ul.news-list li.highlight img {
          max-width: 50px; } }
      .main-content ul.news-list li .news__thumb {
        float: left;
        margin: 2px 10px 0 1px;
        height: auto; }
        .main-content ul.news-list li .news__thumb img {
          border: 1px solid #c7c6cf; }
        @media only screen and (max-width: 480px) {
          .main-content ul.news-list li .news__thumb {
            max-width: 80px; } }
      .main-content ul.news-list li .news-des {
        width: calc(100% - 130px);
        color: #3b3b3b;
        float: left;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3;
        overflow: hidden;
        padding-bottom: 0 !important; }
        @media only screen and (max-width: 480px) {
          .main-content ul.news-list li .news-des {
            width: calc(100% - 95px); } }
      .main-content ul.news-list li .news-title {
        color: #cf7f00;
        width: 100%; }
        .main-content ul.news-list li .news-title:hover,
        .main-content ul.news-list li .news-title:hover .news-time {
          color: #d1444c; }
        .main-content ul.news-list li .news-title span {
          width: 100%;
          -o-text-overflow: ellipsis;
          text-overflow: ellipsis;
          overflow: hidden;
          display: block;
          white-space: nowrap; }
      .main-content ul.news-list li .news-time {
        font-size: 14px;
        position: absolute;
        right: 0;
        top: 3px;
        text-align: right; }

.static {
  overflow: hidden;
  padding: 0px;
  position: relative;
  margin: 0px 0px 30px; }
  .static .icon-static {
    float: left;
    margin-right: 5px; }
    @media only screen and (max-width: 480px) {
      .static .icon-static {
        max-width: 50px; } }
  .static .icons-home {
    margin: 0 5px 0 0; }
  .static h2 {
    font-size: 18px;
    font-weight: bold;
    color: #fff;
    margin: 10px 0 0px 5px;
    text-transform: uppercase; }
    @media only screen and (max-width: 480px) {
      .static h2 {
        margin-top: -1px; } }

.breadcrumb--main {
  font-size: 16px;
  color: #fff; }
  .breadcrumb--main a {
    color: #fff;
    text-decoration: none; }
    .breadcrumb--main a:hover {
      color: #f28f41; }

/*--- Relate News List ---*/
.relative {
  padding-top: 9px;
  text-align: center; }
  .relative-title a {
    display: block;
    position: relative;
    margin: 0 0 10px;
    padding: 10px;
    color: #ffffff;
    text-transform: uppercase;
    text-align: left;
    font-weight: bold;
    font-size: 18px;
    background: #002546;
    background: -webkit-linear-gradient(legacy-direction(90deg), #002546, #002546);
    background: -webkit-gradient(linear, left top, right top, from(#002546), to(#002546));
    background: -webkit-linear-gradient(left, #002546, #002546);
    background: -o-linear-gradient(left, #002546, #002546);
    background: linear-gradient(90deg, #002546, #002546); }
    .relative-title a:before {
      font-size: 35px;
      content: "\002b";
      font-family: 'GlyphiconsHalflings';
      position: absolute;
      top: -3px;
      right: 15px;
      color: #ffffff; }
    .relative-title a:hover {
      color: #f39f4b; }
  .relative ul.relative-list {
    list-style: none;
    text-align: left;
    padding: 5px 0px 0;
    margin: 0 0 0 20px; }
    .relative ul.relative-list li {
      list-style: none;
      border-bottom: 1px 3b3b3b #643d38;
      padding: 12px 0 10px 5px;
      margin-left: 0px;
      position: relative;
      color: #643d38; }
      .relative ul.relative-list li:last-child {
        border-bottom: none; }
      .relative ul.relative-list li a {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
        justify-content: space-between;
        color: #3b3b3b; }
        .relative ul.relative-list li a:hover {
          color: #c75151;
          text-decoration: none; }
        .relative ul.relative-list li a span {
          display: block;
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 1;
          overflow: hidden;
          padding-bottom: 0 !important; }
      .relative ul.relative-list li .date {
        display: block;
        color: #3b3b3b;
        text-transform: inherit;
        text-align: inherit;
        font-weight: normal;
        font-size: 14px;
        text-align: center;
        padding-left: 40px;
        line-height: 21px; }

/* Paging */
.paging {
  position: relative;
  text-align: center;
  padding-bottom: 25px;
  margin-bottom: 25px; }

ul.page__list {
  padding: 20px 0 0 !important;
  text-align: center; }
  ul.page__list li {
    display: inline-block !important;
    padding: 0 2px !important;
    margin: 0 !important; }
    ul.page__list li a {
      color: #3b3b3b !important;
      text-decoration: none !important;
      font-size: 15px;
      border: 1px solid #3b3b3b;
      display: block;
      padding: 0 10px;
      line-height: 24px; }
      ul.page__list li a:hover {
        color: #efe5ce !important;
        background-color: #3b3b3b;
        border: 1px solid #3b3b3b; }
      ul.page__list li a.disable,
      ul.page__list li a:hover .disable {
        opacity: 0.6;
        cursor: default;
        background: none;
        border: 1px solid #3b3b3b;
        color: #3b3b3b !important; }
    ul.page__list li.active a {
      color: #f2f2f2 !important;
      background-color: #3b3b3b;
      border: 1px solid #3b3b3b; }
    ul.page__list li.prev a,
    ul.page__list li.next a {
      display: inline-block;
      padding: 0 10px;
      vertical-align: middle;
      width: 26px;
      height: 26px;
      margin: -2px 0 0 0; }

/*--- Popup ---*/
.popup {
  opacity: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 1001;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  visibility: hidden;
  -webkit-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s; }
  .popup .popup-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.7); }
  .popup.active {
    visibility: visible;
    opacity: 1; }
  .popup-close {
    padding: 0px;
    display: block;
    position: absolute;
    right: -12%;
    top: -10%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%); }
    .popup-close:hover {
      -webkit-filter: brightness(150%);
      filter: brightness(150%); }
  .popup-content {
    z-index: 2;
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0);
    -webkit-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
    pointer-events: none;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column; }
  .popup.active .popup-content {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    pointer-events: all; }

.popup-giftcode {
  width: 500px;
  height: 285px;
  max-width: 100%;
  background: url(../images/popup-bg.png) no-repeat center center/100%;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  padding: 10% 15%;
  color: #3b3b3b;
  font-weight: bold;
  text-align: center; }
  .popup-giftcode .popup-title {
    color: #3b3b3b;
    text-transform: uppercase;
    text-align: center;
    font-weight: bold;
    font-family: "Roboto Slab";
    margin: 0 0 10px;
    font-size: calc(1.375rem + 1.5vw); }
    @media (min-width: 1200px) {
      .popup-giftcode .popup-title {
        font-size: 2.5rem; } }
    @media only screen and (max-width: 480px) {
      .popup-giftcode .popup-title {
        font-size: 30px; } }
  .popup-giftcode p {
    font-size: calc(1.26875rem + 0.225vw);
    font-family: "Roboto Slab"; }
    @media (min-width: 1200px) {
      .popup-giftcode p {
        font-size: 1.4375rem; } }
    @media only screen and (max-width: 480px) {
      .popup-giftcode p {
        font-size: 20px; } }
  .popup-giftcode .value {
    padding: 5px 15px;
    color: #fffbee;
    text-transform: uppercase;
    font-size: 16px;
    text-align: center;
    margin: 10px auto;
    line-height: 1.6;
    background: #3c362f;
    -webkit-border-radius: 5px;
    border-radius: 5px; }
    @media only screen and (max-width: 480px) {
      .popup-giftcode .value {
        font-size: 16px; } }

.bgover {
  background: rgba(0, 0, 0, 0.7);
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 100;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0; }

.buttons-footer {
  padding: 10px;
  background: #090909;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  margin: 0 0 0; }
  .buttons-footer a {
    margin: 0 3px; }

.footer {
  color: #a09f9f;
  padding: 20px 0;
  position: relative;
  background: #002546;
  font-size: 11px; }
  .footer .container {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; }
  .footer-item {
    margin: 0 auto; }
    @media only screen and (max-width: 480px) {
      .footer-item {
        margin-top: 25px; } }
    .footer-item li {
      color: #fff;
      display: inline-block; }
      .footer-item li a {
        color: inherit;
        font-weight: bold;
        padding: 0 10px; }
        @media only screen and (max-width: 480px) {
          .footer-item li a {
            padding: 0 5px; } }
        .footer-item li a:hover, .footer-item li a:focus {
          color: #e8a587; }
  .footer .cmn-name {
    color: #fff;
    font-weight: bold; }
  .footer .copyright {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
    color: #a09f9f;
    font-size: 12px;
    margin: 0 auto;
    padding: 10px 10px 0; }
  .footer .img18 {
    margin: 0 10px; }
    @media only screen and (max-width: 480px) {
      .footer .img18 {
        width: 35px;
        margin-left: 5px; } }
  .footer a {
    color: #fff; }
  .footer .cmn {
    margin-right: 0px; }
    @media only screen and (max-width: 480px) {
      .footer .cmn {
        width: 60px;
        margin-right: 5px; } }
  .footer .address {
    width: 100%;
    padding: 0 10%;
    text-align: center; }

iframe {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 10;
  height: 90px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNldHRpbmcvX3ZhcmlhYmxlLnNjc3MiLCJ0aGVtZS9fbG9hZC1mb250cy5zY3NzIiwic2V0dGluZy9fcmVzZXQuc2NzcyIsInN0eWxlLmNzcyIsInZlbmRvci9fc3dpcGVyLnNjc3MiLCJ2ZW5kb3IvX2ZhbmN5Ym94LnNjc3MiLCJ2ZW5kb3IvX25pY2Utc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hudC1zY3NzLW5wbS9zcmMvc2Nzcy92ZW5kb3IvX2FuaW1hdGUtbXktb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fZXh0ZW5kLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fY29tbW9uLnNjc3MiLCJ0aGVtZS9faGVhZGVyLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvcmZzL3Njc3Muc2NzcyIsInRoZW1lL19jb21tb24uc2NzcyIsInRoZW1lL190eXBpbmcuc2NzcyIsInRoZW1lL19wYWdlcy5zY3NzIiwidGhlbWUvX2Zvb3Rlci5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdCQUF3QjtBQ0F4QixrR0FBWTtBRGlCWjtFQUNFLGFBSHFCO0VBSXJCLGdCQUFlO0VBQ2YsZ0JBQWU7RUFFZixXQUFVLEVBQ1g7O0FFdkJEO0VBQ0UsVUFBUztFQUNULFdBQVU7RUFDVix1QkFBc0I7RUFDdEIsNEJBQTJCO0VBQzNCLCtCQUE4QjtFQUM5QiwyQkFBMEIsRUFDM0I7O0FBR0Q7RUFFRSxvQ0FBbUM7RUFDbkMsbUNBQWtDO0VBQ2xDLDhCQUE2QjtFQUM3QixtQkFBa0I7RUFDbEIsVUFBUyxF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QU1HLFlBQVc7TUFDWCxzQkFBcUIsRUFjdEI7TUFyQkY7UUFVSyxlQUFjO1FBQ2Qsa0JBQWlCO1FBQ2pCLGdCQUFlLEVBUWhCO1FSbUNMO1VRdkRDO1lBY08sZUFBYyxFQU1qQixFQUFBO1FBcEJKO1VBa0JPLGVBQWUsRUFDaEI7RUE5QlQ7SUFtQ0ksWUFBVztJQUNYLGtCQUFrQixFQUNuQjtFQXJDSDtJQXVDSSxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IseUJBQXVCO0lBQXZCLGdDQUF1QjtJQUF2QixzQkFBdUI7SUFBdkIsd0JBQXVCO0lBQ3ZCLDBCQUFtQjtJQUFuQiw0QkFBbUI7SUFBbkIsdUJBQW1CO0lBQW5CLG9CQUFtQjtJQUNuQixlQTNDa0I7SUE0Q2xCLGdCQUFlO0lBQ2YsZUFBYztJQUNkLHFCQUFvQixFQUNyQjtFQTlDSDtJQWlESSxlQUFjLEVBS2Y7SVJZRDtNUWxFRjtRQW1ETSxZQUFXO1FBQ1gsaUJBQWdCLEVBRW5CLEVBQUE7RUF0REg7SUF5REksWUFBVyxFQUNaO0VBMURIO0lBOERJLGtCQUFpQixFQUtsQjtJUkREO01RbEVGO1FBZ0VNLFlBQVc7UUFDWCxrQkFBaUIsRUFFcEIsRUFBQTtFQW5FSDtJQXFFSSxZQUFXO0lBQ1gsZUFBYztJQUNkLG1CQUFrQixFQUNuQjs7QWY4R0g7RWUxR0UsZ0JBQWU7RUFDZixVQUFTO0VBQ1QsUUFBTztFQUNQLFlBQVc7RUFDWCxhQUFZLEVBQ2IiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyotIEdsb2JhbCBWYXJpYWJsZXMgLSovXG4kbWFpbkNvbG9yOiAjMDEwMTAxO1xuJG1haW5MaW5rQ29sb3I6ICMwNDQ1OWI7XG4kbWFpbkxpbmtDb2xvci1ob3ZlcjogbGlnaHRlbigkbWFpbkxpbmtDb2xvciwgMTAlKTtcbiRiYWNrZ3JvdW5kQ29sb3I6ICNlNmY4ZmQ7XG4kZm9udFNpemVIdG1sVGFnOiAxNnB4O1xuJGZvbnRTaXplOiAxcmVtOyAvLyA9PSAxNnB4XG4kZm9udE5vcm1hbDogNDAwO1xuJGZvbnRCb2xkOiA1MDA7XG4kZm9udEJvbGRlcjogNzAwO1xuJGxpbmVIZWlnaHQ6IDEuNTtcbiRmb250RmFtaWx5OiAnU0YnO1xuXG5cbiRncmlkLWd1dHRlci13aWR0aDogMjBweDtcbiRjb250YWluZXItd2lkdGg6IDc2OXB4O1xuXG4uY29udGFpbmVyIHtcbiAgd2lkdGg6ICRjb250YWluZXItd2lkdGg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwICBhdXRvO1xuICAvLyBwYWRkaW5nOiAwICRncmlkLWd1dHRlci13aWR0aC8yO1xuICBwYWRkaW5nOiAwO1xufSIsIkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVJvYm90bytTbGFiOndnaHRANDAwOzUwMDs2MDAmZGlzcGxheT1zd2FwJyk7XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU0ZcIjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci5lb3QpO1xuICBzcmM6IHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLFxuICAgIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIud29mZikgZm9ybWF0KCd3b2ZmJyksXG4gICAgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIuc3ZnKSBmb3JtYXQoJ3N2ZycpO1xufVxuXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlLUNvbmRlbnNlZEJsYWNrXCI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0hlbHZldGljYU5ldWUtQ29uZGVuc2VkQmxhY2suZW90KTtcbiAgc3JjOiB1cmwoLi4vZm9udHMvSGVsdmV0aWNhTmV1ZS1Db25kZW5zZWRCbGFjay5lb3QjaWVmaXgpIGZvcm1hdChcImVvdFwiKSxcbiAgICB1cmwoLi4vZm9udHMvSGVsdmV0aWNhTmV1ZS1Db25kZW5zZWRCbGFjay53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCguLi9mb250cy9IZWx2ZXRpY2FOZXVlLUNvbmRlbnNlZEJsYWNrLndvZmYpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCguLi9mb250cy9IZWx2ZXRpY2FOZXVlLUNvbmRlbnNlZEJsYWNrLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgIHVybCguLi9mb250cy9IZWx2ZXRpY2FOZXVlLUNvbmRlbnNlZEJsYWNrLnN2ZykgZm9ybWF0KCdzdmcnKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlVUTUFsYmVydGFIZWF2eVwiO1xuICBzcmM6IHVybCguLi9mb250cy9VVE1BbGJlcnRhSGVhdnkuZW90KTtcbiAgc3JjOiB1cmwoLi4vZm9udHMvVVRNQWxiZXJ0YUhlYXZ5LmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLFxuICAgIHVybCguLi9mb250cy9VVE1BbGJlcnRhSGVhdnkud29mZjIpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoLi4vZm9udHMvVVRNQWxiZXJ0YUhlYXZ5LndvZmYpIGZvcm1hdCgnd29mZicpLFxuICAgIHVybCguLi9mb250cy9VVE1BbGJlcnRhSGVhdnkudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyksXG4gICAgdXJsKC4uL2ZvbnRzL1VUTUFsYmVydGFIZWF2eS5zdmcpIGZvcm1hdCgnc3ZnJyk7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiVVRNQ29sb3NzYWxpc1wiO1xuICBzcmM6IHVybCguLi9mb250cy9VVE1Db2xvc3NhbGlzLmVvdCk7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1VUTUNvbG9zc2FsaXMuZW90I2llZml4KSBmb3JtYXQoXCJlb3RcIiksXG4gICAgdXJsKC4uL2ZvbnRzL1VUTUNvbG9zc2FsaXMud29mZjIpIGZvcm1hdCgnd29mZjInKSxcbiAgICB1cmwoLi4vZm9udHMvVVRNQ29sb3NzYWxpcy53b2ZmKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICB1cmwoLi4vZm9udHMvVVRNQ29sb3NzYWxpcy50dGYpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICB1cmwoLi4vZm9udHMvVVRNQ29sb3NzYWxpcy5zdmcpIGZvcm1hdCgnc3ZnJyk7XG59IiwiKiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5cbmJvZHkge1xuXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVTcGVlZDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBtYXJnaW46IDA7XG59XG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFyZW07XG59XG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMwMDg4ZmY7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxcmVtO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyOiAwO1xufVxuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgbWFyZ2luOiAwO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbn1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCAjMDA4OGZmO1xufVxuXG5idXR0b24ge1xuXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgfVxufVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVyZW0gMC43NXJlbSAwLjYyNXJlbTtcbn1cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDA7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgZm9udDogaW5oZXJpdDtcbn1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuaWZyYW1lIHtcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuXG5cbnVsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG59XG5cbmZpZ3VyZSB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbltjbGFzcyAqPVwiaWNvbnMtXCJdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufSIsIi8qLSBHbG9iYWwgVmFyaWFibGVzIC0qL1xuQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2NzczI/ZmFtaWx5PVJvYm90bytTbGFiOndnaHRANDAwOzUwMDs2MDAmZGlzcGxheT1zd2FwXCIpO1xuLmNvbnRhaW5lciB7XG4gIHdpZHRoOiA3NjlweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgIGF1dG87XG4gIHBhZGRpbmc6IDA7IH1cblxuKiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmJvZHkge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgbWFyZ2luOiAwOyB9XG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMwMDg4ZmY7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyOiAwOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7IH1cbiAgYnV0dG9uOmZvY3VzLFxuICBpbnB1dDpmb2N1cyxcbiAgb3B0Z3JvdXA6Zm9jdXMsXG4gIHNlbGVjdDpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkICMwMDg4ZmY7IH1cblxuYnV0dG9uOmFjdGl2ZSwgYnV0dG9uLm5pY2Utc2VsZWN0Lm9wZW4sIGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVyZW0gMC43NXJlbSAwLjYyNXJlbTsgfVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5pZnJhbWUge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxudWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgdWwgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5bY2xhc3MqPVwiaWNvbnMtXCJdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICogU3dpcGVyIDUuMi4wXG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xuICogaHR0cDovL3N3aXBlcmpzLmNvbVxuICpcbiAqIENvcHlyaWdodCAyMDE0LTIwMTkgVmxhZGltaXIgS2hhcmxhbXBpZGlcbiAqXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2VcbiAqXG4gKiBSZWxlYXNlZCBvbjogT2N0b2JlciAyNiwgMjAxOVxuICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IHN3aXBlci1pY29ucztcbiAgc3JjOiB1cmwoXCJkYXRhOmFwcGxpY2F0aW9uL2ZvbnQtd29mZjtjaGFyc2V0PXV0Zi04O2Jhc2U2NCwgZDA5R1JnQUJBQUFBQUFaZ0FCQUFBQUFBREFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUdSQUFBQUJvQUFBQWNpNnFIa1VkRVJVWUFBQVdnQUFBQUl3QUFBQ1FBWUFCWFIxQlBVd0FBQmhRQUFBQXVBQUFBTnVBWTcreEhVMVZDQUFBRnhBQUFBRkFBQUFCbTJmUGN6VTlUTHpJQUFBSGNBQUFBU2dBQUFHQlA5VjVSWTIxaGNBQUFBa1FBQUFDSUFBQUJZdDZGMGNCamRuUWdBQUFDekFBQUFBUUFBQUFFQUJFQlJHZGhjM0FBQUFXWUFBQUFDQUFBQUFqLy93QURaMng1WmdBQUF5d0FBQURNQUFBRDJNSHRyeVZvWldGa0FBQUJiQUFBQURBQUFBQTJFMitlb1dob1pXRUFBQUdjQUFBQUh3QUFBQ1FDOWdEemFHMTBlQUFBQWlnQUFBQVpBQUFBcmdKa0FCRnNiMk5oQUFBQzBBQUFBRm9BQUFCYUZRQVVHRzFoZUhBQUFBRzhBQUFBSHdBQUFDQUFjQUJBYm1GdFpRQUFBL2dBQUFFNUFBQUNYdkZkQndsd2IzTjBBQUFGTkFBQUFHSUFBQUNFNXM3NGhYamFZMkJrWUdBQVlwZjVIdS9qK1cyK01uQXpNWURBemFYNlFqRDYvNC8vQnhqNUdBOEF1UndNWUdrQVB5d0wxM2phWTJCa1lHQTg4UDhBZ3g0aisvOGZRRFlmQTFBRUJXZ0RBSUIyQk9vQWVOcGpZR1JnWU5CaDRHZGdZZ0FCRU1uSUFCSnpZTkFEQ1FBQUNXZ0FzUUI0Mm1OZ1lmekNPSUdCbFlHQjBZY3hqWUdCd1IxS2YyV1FaR2hoWUdCaVlHVm1nQUZHQmlRUWtPYWF3dERBb01CUXhYamcvd0VHUGNZRERBNHdOVUEyQ0Nnd3NBQUFPNEVMNmdBQWVOcGoyTTBneUFBQ3F4Z0dOV0JrWjJENC93TUEreGtEZGdBQUFIamFZMkJnWUdhQVlCa0dSZ1lRaUFIeUdNRjhGZ1lISU0zRHdNSEFCR1FyTU9neVdETEVNMVQ5L3c4VUJmRU1nTHpFLy8vL1AvNS8vZi9WL3h2K3I0ZWFBQWVNYkF4d0lVWW1JTUhFZ0tZQVlqVWNzREF3c0xLeGMzQnljZlB3OGpFUUEvZ1pCQVNGaEVWRXhjUWxKS1drWldUbDVCVVVsWlJWVk5YVU5UUVpCZ01BQU1SK0UrZ0FFUUZFQUFBQUtnQXFBQ29BTkFBK0FFZ0FVZ0JjQUdZQWNBQjZBSVFBamdDWUFLSUFyQUMyQU1BQXlnRFVBTjRBNkFEeUFQd0JCZ0VRQVJvQkpBRXVBVGdCUWdGTUFWWUJZQUZxQVhRQmZnR0lBWklCbkFHbUFiSUJ6Z0hzQUFCNDJ1Mk5NUTZDVUF5R1c1Njh4OUFuZVlZZ200TUpiaEtGYUV4SU9BVlg4QXBld1N0NEJpYzRBZmVBaWQzVk9CaXhEeGZQWUV6YTVPK1hmaTA0WUFEZ2dpVUlVTEN1RUpLOFZoTzRiU3ZwZG5rdEhJNVFDWXRkaTJzbDhablhhSGxxVXJOS3pkS2NUOGNqbHErcndaU3ZJVmN6TmllenNmblAvdXpubWZQRkJOT0RNMks3TVRRNDVZRUFacUdQODFBbUdHY0YzaVBxT29wMHIxU1BUYVRiVmtmVWU0SFhqOTd3WUUreU53V1l4d1d1NHYxdWdXSGdvM1MxWGRaRVZxV003RVQwY2ZuTEd4V2ZrZ1I0Mm8yUHZXckRNQlNGai9JSExhRjB6S2pSZ2RpVk13U2NOUkFvV1VvSDc4WTJpY0IveUlZMDlBbjZBSDJCZHUvVUIreXhvcFlzaFFpRXZudnUwZFVSZ0R0OFFlQzhQRHc3RnBqaTNmRUE0ei9QRUo2WU9CNWhLaDRkajNFdlhoeFBxSC9TS1VZM3JKN3NyWjRGWm5oMVBNQXRQaHdQNmZsMlBNSk1QRGdlUTRyWThZVDZHemFvMGVBRUE0MDlEdWdnbVRuRm5PY1NDaUVpTE1neENpVEk2Q3E1RFpVZDNRbXAxMHZPMExhTFRkMmNqTjRmT3VtbGM3bFVZYlNRY1pGa3V0Ukc3ZzZKS1pLeTBSbWRMWTY4MENEbkVKK1VNa3BGRmUxUk43bnhkVnBYckM0YVR0bmF1ck9uWWVyY1pnMllWbUxOL2QvZ2N6ZkVpbXJFL2ZzL2JPdXEyOVptbjh0bG9PUmFYZ1pnR2E3OHlPOS9jblhtMkJwYUd2cTI1RHY5UzRFOSs1U0ljOVBxdXBKS2hZRlNTbDQ3K1FjcjFtWU5BQUFBZU5wdHcwY0t3a0FBQU1EWkpBOFE3T1VKdmtMc1BmWjZ6RlZFUlB5OHFIaDJZRVIrM2kvQlA4M3ZJQkxMeVNzb0tpbXJxS3FwYTJocDYranE2UnNZR2htYm1KcVpTeTBzcmF4dGJPM3NIUnlkbkVNVTR1UjZ5eDdKSlh2ZVA3V3JEeWNBQUFBQUFBSC8vd0FDZU5wallHUmdZT0FCWWhrZ1pnSkNaZ1pOQmtZR0xRWnRJSnNGTE1ZQUFBdzNBTGdBZU5vbGl6RUtnREFRQkNjaFJiQzJzRkVSMFlENnFWUWlCQ3YvSDllekdJNlo1WEJBdzhDQksvbTVpUVFWYXVWYlhMbk9yTVp2Mm9MZEtGYThQanVydTJoSnpHYWJtT1NMek5NenZ1dHBCM040Mm1OZ1pHQmc0R0tRWXpCaFlNeEpMTWxqNEdCZ0FZb3cvUC9QQUpKaExNNnNTb1dLZldDQUF3REFqZ2JSQUFCNDJtTmdZR0JrQUlJYkNabzVJUHJtVW4waEdBMEFPOEVGVFFBQVwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuOnJvb3Qge1xuICAtLXN3aXBlci10aGVtZS1jb2xvcjojMDA3YWZmOyB9XG5cbi5zd2lwZXItY29udGFpbmVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4uc3dpcGVyLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cblxuLnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMCwgMCk7IH1cblxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3cgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnN3aXBlci1jb250YWluZXItbXVsdGlyb3ctY29sdW1uID4gLnN3aXBlci13cmFwcGVyIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnN3aXBlci1zbGlkZSB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTsgfVxuXG4uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFuayB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LCAuc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItc2xpZGUge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLGhlaWdodDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCB7XG4gIHBlcnNwZWN0aXZlOiAxMjAwcHg7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdywgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZSwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXdyYXBwZXIge1xuICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgei1pbmRleDogMTA7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBsZWZ0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byB0b3AsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyID4gLnN3aXBlci1zbGlkZSB7XG4gIHNjcm9sbC1zbmFwLWFsaWduOiBzdGFydCBzdGFydDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBzY3JvbGwtc25hcC10eXBlOiB4IG1hbmRhdG9yeTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgc2Nyb2xsLXNuYXAtdHlwZTogeSBtYW5kYXRvcnk7IH1cblxuOnJvb3Qge1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemU6NDRweDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGNhbGModmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkvIDQ0ICogMjcpO1xuICBoZWlnaHQ6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO1xuICBtYXJnaW4tdG9wOiBjYWxjKC0xICogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkvIDIpO1xuICB6LWluZGV4OiAxMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tZGlzYWJsZWQsIC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6IC4zNTtcbiAgY3Vyc29yOiBhdXRvO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLCAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyIHtcbiAgZm9udC1mYW1pbHk6IHN3aXBlci1pY29ucztcbiAgZm9udC1zaXplOiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBmb250LXZhcmlhbnQ6IGluaXRpYWw7IH1cblxuLnN3aXBlci1idXR0b24tcHJldiwgLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQge1xuICBsZWZ0OiAxMHB4O1xuICByaWdodDogYXV0bzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLCAuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dDphZnRlciB7XG4gIGNvbnRlbnQ6ICdwcmV2JzsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1uZXh0LCAuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldiB7XG4gIHJpZ2h0OiAxMHB4O1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsIC5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyIHtcbiAgY29udGVudDogJ25leHQnOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRlIHtcbiAgLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvcjojZmZmZmZmOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjaywgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrIHtcbiAgLS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvcjojMDAwMDAwOyB9XG5cbi5zd2lwZXItYnV0dG9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAuM3Mgb3BhY2l0eTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgei1pbmRleDogMTA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWhpZGRlbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLCAuc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLCAuc3dpcGVyLXBhZ2luYXRpb24tZnJhY3Rpb24ge1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmb250LXNpemU6IDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbWFpbiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldiB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjY2KTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQtbmV4dCB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC4zMyk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIHdpZHRoOiA4cHg7XG4gIGhlaWdodDogOHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IC4yOyB9XG5cbmJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMge1xuICByaWdodDogMTBweDtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAtNTAlLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDZweCAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiA4cHg7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSwuMnMgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgbWFyZ2luOiAwIDRweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSwuMnMgbGVmdDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItcnRsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgdHJhbnNpdGlvbjogLjJzIHRyYW5zZm9ybSwuMnMgcmlnaHQ7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIGJhY2tncm91bmQ6IHZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLCB2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGwge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciwgLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLCAuc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciB7XG4gIHdpZHRoOiA0cHg7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZSB7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3I6I2ZmZmZmZjsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYmxhY2sge1xuICAtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiMwMDAwMDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWxvY2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAxJTtcbiAgYm90dG9tOiAzcHg7XG4gIHotaW5kZXg6IDUwO1xuICBoZWlnaHQ6IDVweDtcbiAgd2lkdGg6IDk4JTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItc2Nyb2xsYmFyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDElO1xuICB6LWluZGV4OiA1MDtcbiAgd2lkdGg6IDVweDtcbiAgaGVpZ2h0OiA5OCU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItZHJhZyB7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWcge1xuICBjdXJzb3I6IG1vdmU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXItbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGNhbnZhcywgLnN3aXBlci16b29tLWNvbnRhaW5lciA+IGltZywgLnN3aXBlci16b29tLWNvbnRhaW5lciA+IHN2ZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb2JqZWN0LWZpdDogY29udGFpbjsgfVxuXG4uc3dpcGVyLXNsaWRlLXpvb21lZCB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyIHtcbiAgd2lkdGg6IDQycHg7XG4gIGhlaWdodDogNDJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTIxcHg7XG4gIG1hcmdpbi10b3A6IC0yMXB4O1xuICB6LWluZGV4OiAxMDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlO1xuICBhbmltYXRpb246IHN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBpbmZpbml0ZSBsaW5lYXI7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogNHB4IHNvbGlkIHZhcigtLXN3aXBlci1wcmVsb2FkZXItY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGUge1xuICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6I2ZmZjsgfVxuXG4uc3dpcGVyLWxhenktcHJlbG9hZGVyLWJsYWNrIHtcbiAgLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiMwMDA7IH1cblxuQGtleWZyYW1lcyBzd2lwZXItcHJlbG9hZGVyLXNwaW4ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLnN3aXBlci1jb250YWluZXIgLnN3aXBlci1ub3RpZmljYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IC0xMDAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUuc3dpcGVyLWNvbnRhaW5lci1mcmVlLW1vZGUgLnN3aXBlci1zbGlkZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsIC5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRlIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQgKyAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldiB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgei1pbmRleDogMDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBvcGFjaXR5OiAuNjtcbiAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoNTBweCk7XG4gIGZpbHRlcjogYmx1cig1MHB4KTtcbiAgei1pbmRleDogMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLCAuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZlIHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87IH1cblxuLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1lbmFibGVkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtZW5hYmxlZCBib2R5IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uZmFuY3lib3gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTkzO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIE1ha2Ugc3VyZSB0aGF0IHRoZSBmaXJzdCBvbmUgaXMgb24gdGhlIHRvcCAqL1xuLmZhbmN5Ym94LWNvbnRhaW5lciB+IC5mYW5jeWJveC1jb250YWluZXIge1xuICB6LWluZGV4OiA5OTk5MjsgfVxuXG4uZmFuY3lib3gtYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogIzBmMGYxMTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA2LCAwLjY4LCAwLjE5KTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtY29udGFpbmVyLS1yZWFkeSAuZmFuY3lib3gtYmcge1xuICBvcGFjaXR5OiAwLjg3O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpOyB9XG5cbi5mYW5jeWJveC1jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTk5NDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnM7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXJlY3Rpb246IGx0cjsgfVxuXG4uZmFuY3lib3gtc2hvdy1jb250cm9scyAuZmFuY3lib3gtY29udHJvbHMge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYW5jeWJveC1pbmZvYmFyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtc2hvdy1pbmZvYmFyIC5mYW5jeWJveC1pbmZvYmFyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG5cbi5mYW5jeWJveC1pbmZvYmFyX19ib2R5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNzBweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2RkZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMCwgMzAsIDMwLCAwLjcpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxuXG4uZmFuY3lib3gtYnV0dG9ucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4uZmFuY3lib3gtc2hvdy1idXR0b25zIC5mYW5jeWJveC1idXR0b25zIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZhbmN5Ym94LXNsaWRlci13cmFwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlyZWN0aW9uOiBsdHI7IH1cblxuLmZhbmN5Ym94LXNsaWRlci13cmFwLFxuLmZhbmN5Ym94LXNsaWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHotaW5kZXg6IDk5OTkzO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5mYW5jeWJveC1zbGlkZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdXRsaW5lOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDk5OTk0O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuLmZhbmN5Ym94LXNsaWRlOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAwOyB9XG5cbi5mYW5jeWJveC1zbGlkZSA+ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjRweDtcbiAgbWFyZ2luOiA0NHB4IDAgNDRweDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBvdmVyZmxvdzogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYW5jeWJveC1jb250ZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogNDRweCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiA4MCU7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gODhweCk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuLmZhbmN5Ym94LWlmcmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jb250ZW50LFxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtaWZyYW1lIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICB6LWluZGV4OiA5OTk5NTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1pbWFnZSxcbi5mYW5jeWJveC1zcGFjZWJhbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOyB9XG5cbi5mYW5jeWJveC1jb250cm9scy0tY2Fuem9vbU91dCAuZmFuY3lib3gtcGxhY2Vob2xkZXIge1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gIGN1cnNvcjogem9vbS1vdXQ7IH1cblxuLmZhbmN5Ym94LWNvbnRyb2xzLS1jYW56b29tSW4gLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4uZmFuY3lib3gtY29udHJvbHMtLWNhbkdyYWIgLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjsgfVxuXG4uZmFuY3lib3gtY29udHJvbHMtLWlzR3JhYmJpbmcgLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nOyB9XG5cbi5mYW5jeWJveC1zcGFjZWJhbGwge1xuICB6LWluZGV4OiAxOyB9XG5cbi5mYW5jeWJveC10bXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgbGVmdDogLTk5OTlweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1lcnJvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA0MHB4O1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMzgwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5mYW5jeWJveC1lcnJvciBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzQ0NDtcbiAgZm9udDogMTZweC8yMHB4IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjsgfVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNHB4O1xuICByaWdodDogNHB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGZvbnQ6IDIxcHgvMSBBcmlhbCxcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB6LWluZGV4OiAyOyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgIzg4ODsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gIHRvcDogLTM2cHg7XG4gIHJpZ2h0OiAtMzZweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyIHtcbiAgY29sb3I6ICM1NTU7XG4gIGJhY2tncm91bmQ6ICNlZWU7IH1cblxuLyogQ2FwdGlvbiAqL1xuLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogNjBweCAzMHB4IDAgMzBweDtcbiAgei1pbmRleDogOTk5OTg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkgMjAlLCByZ2JhKDAsIDAsIDAsIDAuMikgNDAlLCByZ2JhKDAsIDAsIDAsIDAuNikgODAlLCByZ2JhKDAsIDAsIDAsIDAuOCkgMTAwJSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uZmFuY3lib3gtc2hvdy1jYXB0aW9uIC5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIHtcbiAgcGFkZGluZzogMzBweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIGEsXG4uZmFuY3lib3gtY2FwdGlvbiBidXR0b24ge1xuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogQnV0dG9ucyAqL1xuLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5mYW5jeWJveC1idXR0b24tLWRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uZmFuY3lib3gtaW5mb2Jhcl9fYm9keSwgLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMCwgMC42KTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpOyB9XG5cbi5mYW5jeWJveC1idXR0b246OmJlZm9yZSxcbi5mYW5jeWJveC1idXR0b246OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICBvcGFjaXR5OiAwLjk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1kaXNhYmxlZDo6YmVmb3JlLFxuLmZhbmN5Ym94LWJ1dHRvbi0tZGlzYWJsZWQ6OmFmdGVyIHtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi5mYW5jeWJveC1idXR0b24tLWxlZnQ6OmFmdGVyIHtcbiAgbGVmdDogMjBweDtcbiAgdG9wOiAxOHB4O1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodDogc29saWQgMnB4IGN1cnJlbnRDb2xvcjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1yaWdodDo6YWZ0ZXIge1xuICByaWdodDogMjBweDtcbiAgdG9wOiAxOHB4O1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodDogc29saWQgMnB4IGN1cnJlbnRDb2xvcjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1sZWZ0IHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4OyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXJpZ2h0IHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YmVmb3JlLCAuZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogMTZweDtcbiAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gOHB4KTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi8qIExvYWRpbmcgc3Bpbm5lciAqL1xuLmZhbmN5Ym94LWxvYWRpbmcge1xuICBib3JkZXI6IDZweCBzb2xpZCByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNCk7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGhlaWdodDogNTBweDtcbiAgd2lkdGg6IDUwcHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTI1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgei1pbmRleDogOTk5OTk7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhbmN5Ym94LXJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbi8qIFN0eWxpbmcgZm9yIFNtYWxsLVNjcmVlbiBEZXZpY2VzICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAuZmFuY3lib3gtY29udHJvbHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdCxcbiAgLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQsXG4gIC5mYW5jeWJveC1idXR0b25zIGJ1dHRvbjpub3QoLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2UpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmZhbmN5Ym94LWNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG4vKiBGdWxsc2NyZWVuICAqL1xuLmZhbmN5Ym94LWJ1dHRvbi0tZnVsbHNjcmVlbjo6YmVmb3JlIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTFweDtcbiAgbGVmdDogMTVweDtcbiAgdG9wOiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZDtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4vKiBTbGlkZXNob3cgYnV0dG9uICovXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5OjpiZWZvcmUge1xuICB0b3A6IDE2cHg7XG4gIGxlZnQ6IDE4cHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDZweCBpbnNldCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IGluc2V0IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMTBweCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1wYXVzZTo6YmVmb3JlIHtcbiAgdG9wOiAxNnB4O1xuICBsZWZ0OiAxOHB4O1xuICB3aWR0aDogN3B4O1xuICBoZWlnaHQ6IDExcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCAycHggMCAycHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi8qIFRodW1icyAqL1xuLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzIHNwYW4ge1xuICBmb250LXNpemU6IDIzcHg7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzOjpiZWZvcmUge1xuICB0b3A6IDIwcHg7XG4gIGxlZnQ6IDIxcHg7XG4gIHdpZHRoOiAzcHg7XG4gIGhlaWdodDogM3B4O1xuICBib3gtc2hhZG93OiAwIC00cHggMCwgLTRweCAtNHB4IDAsIDRweCAtNHB4IDAsIDAgMCAwIDMycHggaW5zZXQsIC00cHggMCAwLCA0cHggMCAwLCAwIDRweCAwLCAtNHB4IDRweCAwLCA0cHggNHB4IDA7IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jb250cm9scyxcbi5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtc2xpZGVyLXdyYXAsXG4uZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIHJpZ2h0OiAyMjBweDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHdpZHRoOiAyMjBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA1cHggNXB4IDAgMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgei1pbmRleDogOTk5OTM7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgZm9udC1zaXplOiAwOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC13aWR0aDogNTAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDVweDtcbiAgaGVpZ2h0OiA3NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiA1cHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmxpLmZhbmN5Ym94LXRodW1icy1sb2FkaW5nIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpID4gaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGk6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogNHB4IHNvbGlkICM0ZWE3Zjk7XG4gIHotaW5kZXg6IDk5OTkxO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkuZmFuY3lib3gtdGh1bWJzLWFjdGl2ZTpiZWZvcmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIFN0eWxpbmcgZm9yIFNtYWxsLVNjcmVlbiBEZXZpY2VzICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAuZmFuY3lib3gtdGh1bWJzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jb250cm9scyxcbiAgLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1zbGlkZXItd3JhcCxcbiAgLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICAgIHJpZ2h0OiAwOyB9IH1cblxuLm5pY2Utc2VsZWN0IHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogc29saWQgMXB4ICNlOGU4ZTg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogYXV0bzsgfVxuICAubmljZS1zZWxlY3Q6aG92ZXIge1xuICAgIGJvcmRlci1jb2xvcjogI2RiZGJkYjsgfVxuICAubmljZS1zZWxlY3Q6YWN0aXZlLCAubmljZS1zZWxlY3Qub3BlbiwgLm5pY2Utc2VsZWN0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICM5OTk7IH1cbiAgLm5pY2Utc2VsZWN0OmFmdGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgIzk5OTtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjOTk5O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMnB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDY2JSA2NiU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogNXB4OyB9XG4gIC5uaWNlLXNlbGVjdC5vcGVuOmFmdGVyIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsgfVxuICAubmljZS1zZWxlY3Qub3BlbiAubGlzdCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7IH1cbiAgLm5pY2Utc2VsZWN0LmRpc2FibGVkIHtcbiAgICBib3JkZXItY29sb3I6ICNlZGVkZWQ7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAubmljZS1zZWxlY3QuZGlzYWJsZWQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjOyB9XG4gIC5uaWNlLXNlbGVjdC53aWRlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5uaWNlLXNlbGVjdC53aWRlIC5saXN0IHtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm5pY2Utc2VsZWN0LnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAubmljZS1zZWxlY3QucmlnaHQgLmxpc3Qge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwOyB9XG4gIC5uaWNlLXNlbGVjdC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMzRweDsgfVxuICAgIC5uaWNlLXNlbGVjdC5zbWFsbDphZnRlciB7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIHdpZHRoOiA0cHg7IH1cbiAgICAubmljZS1zZWxlY3Quc21hbGwgLm9wdGlvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDM0cHg7IH1cbiAgLm5pY2Utc2VsZWN0IC5saXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSg2OCwgNjgsIDY4LCAwLjExKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KSB0cmFuc2xhdGVZKC0yMXB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC41LCAwLCAwLCAxLjI1KSwgb3BhY2l0eSAwLjE1cyBlYXNlLW91dDtcbiAgICB6LWluZGV4OiA5OyB9XG4gICAgLm5pY2Utc2VsZWN0IC5saXN0OmhvdmVyIC5vcHRpb246bm90KDpob3Zlcikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAubmljZS1zZWxlY3QgLm9wdGlvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI5cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yczsgfVxuICAgIC5uaWNlLXNlbGVjdCAub3B0aW9uOmhvdmVyLCAubmljZS1zZWxlY3QgLm9wdGlvbi5mb2N1cywgLm5pY2Utc2VsZWN0IC5vcHRpb24uc2VsZWN0ZWQuZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2ZjZmNjsgfVxuICAgIC5uaWNlLXNlbGVjdCAub3B0aW9uLnNlbGVjdGVkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLm5pY2Utc2VsZWN0IC5vcHRpb24uZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4ubm8tY3NzcG9pbnRlcmV2ZW50cyAubmljZS1zZWxlY3QgLmxpc3Qge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5uby1jc3Nwb2ludGVyZXZlbnRzIC5uaWNlLXNlbGVjdC5vcGVuIC5saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyphbmltYXRpb25zKi9cbi8qKioqKioqKioqKioqKioqKipcbiogQm91bmNlIGluIHJpZ2h0ICpcbioqKioqKioqKioqKioqKioqKiovXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4uc2xvdyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4uc2xvd2VyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDJzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7IH1cblxuLnNsb3dlc3Qge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4vKiBBZGRlZCBieSBBbmR5IE1lZXRhbiAqL1xuLmRlbGF5LTI1MCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjI1cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDAuMjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDAuMjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDAuMjVzOyB9XG5cbi5kZWxheS01MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjVzOyB9XG5cbi5kZWxheS03NTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC43NXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjc1czsgfVxuXG4uZGVsYXktMTAwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjBzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS4wcztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuMHM7IH1cblxuLmRlbGF5LTEyNTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS4yNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjI1czsgfVxuXG4uZGVsYXktMTUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuNXM7IH1cblxuLmRlbGF5LTE3NTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS43NXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAxLjc1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjc1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjc1czsgfVxuXG4uZGVsYXktMjAwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuMHM7IH1cblxuLmRlbGF5LTI1MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjVzOyB9XG5cbi5kZWxheS0yMDAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMi4wczsgfVxuXG4uZGVsYXktMjUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuNXM7IH1cblxuLmRlbGF5LTMwMDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMy4wcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDMuMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMy4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAzLjBzOyB9XG5cbi5kZWxheS0zNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDMuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAzLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDMuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMy41czsgfVxuXG4uYm91bmNlSW5SaWdodCxcbi5ib3VuY2VJbkxlZnQsXG4uYm91bmNlSW5VcCxcbi5ib3VuY2VJbkRvd24ge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cblxuLmZhZGVJblJpZ2h0LFxuLmZhZGVJbkxlZnQsXG4uZmFkZUluVXAsXG4uZmFkZUluRG93biB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuXG4uZmxpcEluWCxcbi5mbGlwSW5ZLFxuLnJvdGF0ZUluLFxuLnJvdGF0ZUluVXBMZWZ0LFxuLnJvdGF0ZUluVXBSaWdodCxcbi5yb3RhdGVJbkRvd25MZWZ0LFxuLnJvdGF0ZURvd25VcFJpZ2h0LFxuLnJvbGxJbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmxpZ2h0U3BlZWRJblJpZ2h0LFxuLmxpZ2h0U3BlZWRJbkxlZnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cblxuLyoqKioqKioqKioqXG4qIGJvdW5jZUluICpcbioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjMpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH0gfVxuXG4uYm91bmNlSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOyB9XG5cbi8qKioqKioqKioqKioqKioqXG4qIGJvdW5jZUluUmlnaHQgKlxuKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmJvdW5jZUluUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDsgfVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiBsZWZ0ICpcbioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5ib3VuY2VJbkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKlxuKiBCb3VuY2UgaW4gdXAgKlxuKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmJvdW5jZUluVXAuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDsgfVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiBkb3duICpcbioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOyB9XG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5ib3VuY2VJbkRvd24uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247IH1cblxuLyoqKioqKioqKipcbiogRmFkZSBJbiAqXG4qKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZmFkZUluIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZmFkZUluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluOyB9XG5cbi8qKioqKioqKioqXG4qIEdyb3cgaW4gKlxuKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZ3Jvd0luIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgZ3Jvd0luIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5ncm93SW4ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5ncm93SW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBncm93SW47XG4gIGFuaW1hdGlvbi1uYW1lOiBncm93SW47IH1cblxuLyoqKioqKioqXG4qIFNoYWtlICpcbioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9IH1cblxuLnNoYWtlLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTsgfVxuXG4vKioqKioqKipcbiogU2hha2VVcCAqXG4qKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVVwIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgc2hha2VVcCB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH0gfVxuXG4uc2hha2VVcC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVVwOyB9XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJbkxlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uZmFkZUluTGVmdCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9XG5cbi5mYWRlSW5MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7IH1cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluUmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uZmFkZUluUmlnaHQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cblxuLmZhZGVJblJpZ2h0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDsgfVxuXG4vKioqKioqKioqKioqKlxuKiBGYWRlSW5VcCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5VcCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTsgfVxuXG4uZmFkZUluVXAuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOyB9XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJbkRvd24gKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4uZmFkZUluRG93biB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpOyB9XG5cbi5mYWRlSW5Eb3duLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247IH1cblxuLyoqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluICpcbioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47IH1cblxuLyoqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluVXBMZWZ0ICpcbioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJblVwTGVmdC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5Eb3duTGVmdCAqXG4qKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJbkRvd25MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJblVwUmlnaHQgKlxuKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJblVwUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluRG93blJpZ2h0ICpcbioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ucm90YXRlSW5Eb3duUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0OyB9XG5cbi8qKioqKioqKipcbiogcm9sbEluICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsgfSB9XG5cbi5yb2xsSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47IH1cblxuLyoqKioqKioqKlxuKiB3aWdnbGUgKlxuKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyB3aWdnbGUge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDlkZWcpOyB9XG4gIDEwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC04ZGVnKTsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg3ZGVnKTsgfVxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNmRlZyk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7IH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTRkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDNkZWcpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yZGVnKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxZGVnKTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDlkZWcpOyB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7IH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDdkZWcpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNmRlZyk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDNkZWcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDFkZWcpOyB9XG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9IH1cblxuLndpZ2dsZS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG5cbi8qKioqKioqKlxuKiBzd2luZyAqXG4qKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsgfVxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHN3aW5nIHtcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0gfVxuXG4uc3dpbmcuZ28ge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xuICBhbmltYXRpb24tbmFtZTogc3dpbmc7IH1cblxuLyoqKioqKipcbiogdGFkYSAqXG4qKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyB0YWRhIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMCUsXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTsgfVxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTsgfVxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAxMCUsXG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpOyB9XG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApOyB9IH1cblxuLnRhZGEuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB0YWRhO1xuICBhbmltYXRpb24tbmFtZTogdGFkYTsgfVxuXG4vKioqKioqKioqXG4qIHdvYmJsZSAqXG4qKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHdvYmJsZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH1cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7IH1cbiAgNDUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7IH1cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9IH1cblxuQGtleWZyYW1lcyB3b2JibGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxNSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpOyB9XG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7IH1cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0gfVxuXG4ud29iYmxlLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlOyB9XG5cbi8qKioqKioqKlxuKiBwdWxzZSAqXG4qKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApOyB9IH1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7IH0gfVxuXG4ucHVsc2UuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlOyB9XG5cbi8qKioqKioqKioqKioqKipcbiogbGlnaHRTcGVlZEluUmlnaHQgKlxuKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4ubGlnaHRTcGVlZEluUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuXG4vKioqKioqKioqKioqKioqXG4qIGxpZ2h0U3BlZWRJbkxlZnQgKlxuKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5saWdodFNwZWVkSW5MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbi8qKioqKioqXG4qIEZsaXAgKlxuKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKDAuOTUpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoMC45NSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9IH1cblxuLmZsaXAuZ28ge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcDsgfVxuXG4vKioqKioqKioqKlxuKiBmbGlwSW5YICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5mbGlwSW5YLmdvIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7IH1cblxuLyoqKioqKioqKipcbiogZmxpcEluWSAqXG4qKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uZmxpcEluWS5nbyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwSW5ZOyB9XG5cbi8qKioqKioqKioqKioqKioqKlxuKiBPdXQgYW5pbWF0aW9ucyAqXG4qKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAyNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4zKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cbiAgMjUlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMyk7IH0gfVxuXG4uYm91bmNlT3V0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDsgfVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dFVwICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOyB9IH1cblxuLmJvdW5jZU91dFVwLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7IH1cblxuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXREb3duICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cbi5ib3VuY2VPdXREb3duLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duOyB9XG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0TGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7IH0gfVxuXG4uYm91bmNlT3V0TGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsgfVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOyB9IH1cblxuLmJvdW5jZU91dFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7IH1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmZhZGVPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7IH1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0VXAgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0VXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH0gfVxuXG4uZmFkZU91dFVwLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsgfVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXREb3duICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7IH0gfVxuXG4uZmFkZU91dERvd24uZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjsgfVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXRMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgfSB9XG5cbi5mYWRlT3V0TGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0OyB9XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsgfSB9XG5cbi5mYWRlT3V0UmlnaHQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0OyB9XG5cbi8qKioqKioqKioqKipcbiogZmxpcE91dFggKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmZsaXBPdXRYLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7IH1cblxuLyoqKioqKioqKioqKlxuKiBmbGlwT3V0WSAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uZmxpcE91dFkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZOyB9XG5cbi8qKioqKioqKioqKipcbiogbGlnaHRTcGVlZE91dFJpZ2h0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmxpZ2h0U3BlZWRPdXRSaWdodC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0UmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuXG4vKioqKioqKioqKioqXG4qIGxpZ2h0U3BlZWRPdXRMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZE91dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5saWdodFNwZWVkT3V0TGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cblxuLyoqKioqKioqKioqKlxuKiByb3RhdGVPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ucm90YXRlT3V0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dDsgfVxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dFVwTGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXRVcExlZnQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0OyB9XG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0RG93bkxlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ucm90YXRlT3V0RG93bkxlZnQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDsgfVxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dFVwUmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXRVcFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0OyB9XG5cbi8qKioqKioqKioqKipcbiogcm9sbE91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOyB9IH1cblxuLnJvbGxPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7IH1cblxuLyoqKioqKioqKioqKioqKioqXG4qIFNob3J0IEFuaW1hdGlvbnNcbioqKioqKioqKioqKioqKioqKiovXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJblVwU2hvcnRcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5VcFNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuXG4uZmFkZUluVXBTaG9ydC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwU2hvcnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcFNob3J0OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbiogZmFkZUluRG93blNob3J0XG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93blNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd25TaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4uZmFkZUluRG93blNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOyB9XG5cbi5mYWRlSW5Eb3duU2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duU2hvcnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duU2hvcnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5SaWdodFNob3J0IFxuKioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0U2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmZhZGVJblJpZ2h0U2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG5cbi5mYWRlSW5SaWdodFNob3J0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRTaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0U2hvcnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5MZWZ0U2hvcnQgXG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uZmFkZUluTGVmdFNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9XG5cbi5mYWRlSW5MZWZ0U2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0U2hvcnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0U2hvcnQ7IH1cblxuLyoqKioqKioqKipcbiogWm9vbSBpbiAqXG4qKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICBvcGFjaXR5OiAuODsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICBvcGFjaXR5OiAuODsgfVxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsgfVxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnpvb21JbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoNSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnpvb21Jbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbjtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAuNXM7IH1cblxuLyoqKioqKioqXG4qIFNoYWtlVXAyICpcblNoYWtlIGFuZCBwYXVzZSBcbioqKioqKioqL1xuQGtleWZyYW1lcyBzaGFrZVVwMiB7XG4gIDAlLFxuICA1MCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfSB9XG5cbi5zaGFrZXVwMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXAyO1xuICBhbmltYXRpb24tbmFtZTogc2hha2VVcDI7IH1cblxuLnNoYWtlMiB7XG4gIC8qIFN0YXJ0IHRoZSBzaGFrZSBhbmltYXRpb24gYW5kIG1ha2UgdGhlIGFuaW1hdGlvbiBsYXN0IGZvciAwLjUgc2Vjb25kcyAqL1xuICBhbmltYXRpb246IHNoYWtlIDFzO1xuICAvKiBXaGVuIHRoZSBhbmltYXRpb24gaXMgZmluaXNoZWQsIHN0YXJ0IGFnYWluICovXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAxcHgpIHJvdGF0ZSgwZGVnKTsgfVxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIC0ycHgpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtM3B4LCAwcHgpIHJvdGF0ZSgxZGVnKTsgfVxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDNweCwgMnB4KSByb3RhdGUoMGRlZyk7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0xcHgpIHJvdGF0ZSgxZGVnKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIDJweCkgcm90YXRlKC0xZGVnKTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zcHgsIDFweCkgcm90YXRlKDBkZWcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoM3B4LCAxcHgpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAtMXB4KSByb3RhdGUoMWRlZyk7IH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDJweCkgcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgLTJweCkgcm90YXRlKC0xZGVnKTsgfSB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaGxpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpOyB9IH1cblxuQGtleWZyYW1lcyBmbGFzaGxpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpOyB9IH1cblxuLnJvdGF0aW5nIHtcbiAgYW5pbWF0aW9uOiByb3RhdGluZyAzMHMgbGluZWFyIGluZmluaXRlOyB9XG5cbkBrZXlmcmFtZXMgcm90YXRpb24ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbi8qLS0tIEFib3V0IFRleHQgLS0tKi9cbi8qIHRleHQgdHJ1bmNhdGUgbXVsdGlsaW5lICovXG4vKi0tLSBBYm91dCBJbWFnZXMgLS0tKi9cbi8qLS0tIEFib3V0IFBvc2l0aW9uIC0tLSovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBBYm91dCBCdXR0b24gLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIEN1c3RvbWl6ZSBTY3JvbGxiYXIgLS0tKi9cbi8qLS0tIEFib3V0IFRleHQgLS0tKi9cbi8qLS0tIFNtb290aCBTY3JvbGwgLS0tKi9cbjo6c2VsZWN0aW9uIHtcbiAgY29sb3I6ICMwMDRDQTI7XG4gIGJhY2tncm91bmQ6ICNjMGMwYzA7IH1cblxuLyotLS0gQW5pbWF0ZSBhIC0tLSovXG5hIHtcbiAgdHJhbnNpdGlvbjogYWxsIC4yczsgfVxuICBhIGltZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cblxuLyotLS0gQ3VzdG9taXplIFNjcm9sbGJhciAtLS0qL1xuLyotLS0gQ29tbW9uIENsYXNzTmFtZSAtLS0qL1xuLmxvb3AtaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4ubG9vcC01IHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogNTsgfVxuXG4vKi0tLSBBYm91dCBCdXR0b24gLS0tKi9cbi5idG4taW1hZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbGluZS1oZWlnaHQ6IDA7IH1cbiAgLmJ0bi1pbWFnZSBpbWc6bGFzdC1jaGlsZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMDsgfVxuICAuYnRuLWltYWdlOmhvdmVyIGltZzpsYXN0LWNoaWxkIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmJ0bi1ob3Zlci16b29tIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuYnRuLWhvdmVyLXpvb206aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuXG4uYnRuLWhvdmVyLXRyYW5zbGF0ZVgge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2UtaW4tb3V0OyB9XG4gIC5idG4taG92ZXItdHJhbnNsYXRlWDpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuXG4uYnRuLWhvdmVyLXRyYW5zbGF0ZVkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2UtaW4tb3V0OyB9XG4gIC5idG4taG92ZXItdHJhbnNsYXRlWTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01cHgpOyB9XG5cbi5idG4taG92ZXItdW5kZXJsaW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYnRuLWhvdmVyLXVuZGVybGluZTpiZWZvcmUge1xuICAgIHdpZHRoOiAwO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5idG4taG92ZXItdW5kZXJsaW5lOmhvdmVyOmJlZm9yZSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmJ0bi1ob3Zlci1ib3JkZXItd3JhcHBpbmcge1xuICBwYWRkaW5nOiAyMHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiBub25lOyB9XG4gIC5idG4taG92ZXItYm9yZGVyLXdyYXBwaW5nOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlcjogI2ZmZjAwMCBkYXNoZWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjFzIGVhc2Utb3V0OyB9XG4gIC5idG4taG92ZXItYm9yZGVyLXdyYXBwaW5nOmhvdmVyOmJlZm9yZSB7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgYm9yZGVyLXdpZHRoOiA1cHg7IH1cblxuLmJ0bi1ob3Zlci1zaGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5idG4taG92ZXItc2hpbmU6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0b3A6IC0xMTAlO1xuICAgIGxlZnQ6IC0yMTAlO1xuICAgIHdpZHRoOiAyMDAlO1xuICAgIGhlaWdodDogMjAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEzKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEzKSA3NyUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSA5MiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpOyB9XG4gIC5idG4taG92ZXItc2hpbmU6aG92ZXI6YWZ0ZXIge1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzaGluZSAuNzVzO1xuICAgIGFuaW1hdGlvbjogc2hpbmUgLjc1cztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRvcDogLTMwJTtcbiAgICBsZWZ0OiAtMzAlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IGxlZnQsIHRvcCwgb3BhY2l0eTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAxcywgMXMsIC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7IH1cblxuLyotLS0gQWJvdXQgVGV4dCAtLS0qL1xuLnRleHQtdHJ1bmNhdGUge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi50ZXh0LXN0cm9rZSB7XG4gIGZvbnQtc2l6ZTogMTAwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCg5MGRlZywgIzAwMCAyMCUsICNmMDAgNTAlKTtcbiAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogNXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMSk7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0OyB9XG5cbi50ZXh0LWdyYWRpZW50IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxMDBweDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigxODBkZWcpLCAjMDAwLCAjZjAwLCAjZmZmMDAwKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgIzAwMCwgI2YwMCwgI2ZmZjAwMCk7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyotLS0gQWJvdXQgSW1hZ2UgLS0tKi9cbi5pbWFnZS1maXQge1xuICB3aWR0aDogMjUwcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDM1MHB4O1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG5cbi8qLS0tIEFib3V0IEVmZmVjdCAtLS0qL1xuLmVmZmVjdC1ncmFkaWVudC1saW5lYXIge1xuICBiYWNrZ3JvdW5kOiAjNzdEN0U3O1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKHRvIGJvdHRvbSksICM3N0Q3RTcgNTAlLCAjZmYwMDAwIDUwJSwgI2ZmZjAwMCAxMDAlKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzc3RDdFNyA1MCUsICNmZjAwMDAgNTAlLCAjZmZmMDAwIDEwMCUpOyB9XG5cbi8qLS0tIEFib3V0IE90aGVyIC0tLSovXG4uaG92ZXItc3RvcC1hbmltYXRlZDpob3ZlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgLW1vei1hbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAtby1hbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICBhbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAtd2Via2l0LWFuaW1hdGlvbjogc3RlcC1lbmQ7XG4gIC1tb3otYW5pbWF0aW9uYW5pbWF0aW9uOiBzdGVwLWVuZDtcbiAgYW5pbWF0aW9uOiBzdGVwLWVuZDsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU0ZcIjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci5lb3QpO1xuICBzcmM6IHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLCB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci53b2ZmMikgZm9ybWF0KFwid29mZjJcIiksIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLndvZmYpIGZvcm1hdChcIndvZmZcIiksIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLnR0ZikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLnN2ZykgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlLUNvbmRlbnNlZEJsYWNrXCI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL0hlbHZldGljYU5ldWUtQ29uZGVuc2VkQmxhY2suZW90KTtcbiAgc3JjOiB1cmwoLi4vZm9udHMvSGVsdmV0aWNhTmV1ZS1Db25kZW5zZWRCbGFjay5lb3QjaWVmaXgpIGZvcm1hdChcImVvdFwiKSwgdXJsKC4uL2ZvbnRzL0hlbHZldGljYU5ldWUtQ29uZGVuc2VkQmxhY2sud29mZjIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoLi4vZm9udHMvSGVsdmV0aWNhTmV1ZS1Db25kZW5zZWRCbGFjay53b2ZmKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoLi4vZm9udHMvSGVsdmV0aWNhTmV1ZS1Db25kZW5zZWRCbGFjay50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoLi4vZm9udHMvSGVsdmV0aWNhTmV1ZS1Db25kZW5zZWRCbGFjay5zdmcpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiVVRNQWxiZXJ0YUhlYXZ5XCI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1VUTUFsYmVydGFIZWF2eS5lb3QpO1xuICBzcmM6IHVybCguLi9mb250cy9VVE1BbGJlcnRhSGVhdnkuZW90I2llZml4KSBmb3JtYXQoXCJlb3RcIiksIHVybCguLi9mb250cy9VVE1BbGJlcnRhSGVhdnkud29mZjIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoLi4vZm9udHMvVVRNQWxiZXJ0YUhlYXZ5LndvZmYpIGZvcm1hdChcIndvZmZcIiksIHVybCguLi9mb250cy9VVE1BbGJlcnRhSGVhdnkudHRmKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKC4uL2ZvbnRzL1VUTUFsYmVydGFIZWF2eS5zdmcpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiVVRNQ29sb3NzYWxpc1wiO1xuICBzcmM6IHVybCguLi9mb250cy9VVE1Db2xvc3NhbGlzLmVvdCk7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1VUTUNvbG9zc2FsaXMuZW90I2llZml4KSBmb3JtYXQoXCJlb3RcIiksIHVybCguLi9mb250cy9VVE1Db2xvc3NhbGlzLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKC4uL2ZvbnRzL1VUTUNvbG9zc2FsaXMud29mZikgZm9ybWF0KFwid29mZlwiKSwgdXJsKC4uL2ZvbnRzL1VUTUNvbG9zc2FsaXMudHRmKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKC4uL2ZvbnRzL1VUTUNvbG9zc2FsaXMuc3ZnKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuLmhlYWRlciB7XG4gIHdpZHRoOiA3NjlweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDgxNXB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlY3Rpb24xLWJnLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3AvY292ZXI7XG4gIG1hcmdpbjogMCBhdXRvIDBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmhlYWRlciB7XG4gICAgICBoZWlnaHQ6IDYwMHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAuaGVhZGVyIHtcbiAgICAgIGhlaWdodDogNTMwcHg7IH0gfVxuICAuaGVhZGVyIC5jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmhlYWRlciAubmF2LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgYmFja2dyb3VuZDogIzEwMTQxMztcbiAgICBjb2xvcjogIzJiMmIyYjtcbiAgICBwYWRkaW5nOiAwIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmhlYWRlciAubmF2LXdyYXBwZXIgLmNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmhlYWRlciAubmF2LXdyYXBwZXIgLmdhbWUtbmFtZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbjogMTNweCAwIDA7XG4gICAgICBjb2xvcjogI2Y1ZjhmYztcbiAgICAgIGZvbnQtZmFtaWx5OiAncm9ib3Rvc2xhYic7IH1cbiAgICAgIC5oZWFkZXIgLm5hdi13cmFwcGVyIC5nYW1lLW5hbWUgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAjZTZjNjgzO1xuICAgICAgICBmb250LXNpemU6IDEycHg7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgLmhlYWRlciAubmF2LXdyYXBwZXIgLmdhbWUtbmFtZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZWFkZXIgLmxvZ28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgei1pbmRleDogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuaGVhZGVyIC5sb2dvIHtcbiAgICAgICAgdG9wOiAyMHB4OyB9XG4gICAgICAgIC5oZWFkZXIgLmxvZ28gaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEzMHB4OyB9IH1cbiAgLmhlYWRlciAuYWdlMTgge1xuICAgIG1hcmdpbjogMTBweCAwIDAgMTBweDtcbiAgICBoZWlnaHQ6IDQwcHg7IH1cbiAgLmhlYWRlciAuYXZhdGFyIHtcbiAgICBtYXJnaW46IDVweCAxMHB4IDAgMTBweDsgfVxuICAgIC5oZWFkZXIgLmF2YXRhciBpbWcge1xuICAgICAgYm9yZGVyLXJhZGl1czogMjBweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5oZWFkZXIgLmF2YXRhciBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDUwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEzcHg7IH0gfVxuICAuaGVhZGVyIC5wbGF5LXZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MSU7XG4gICAgbGVmdDogODAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmhlYWRlciAucGxheS12aWRlbyB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA4MyU7IH1cbiAgICAgICAgLmhlYWRlciAucGxheS12aWRlbyBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogODBweDsgfSB9XG4gIC5oZWFkZXIgLnRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDU4JTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmhlYWRlciAudGV4dCB7XG4gICAgICAgIHRvcDogNTUlO1xuICAgICAgICB3aWR0aDogODAlOyB9IH1cblxuLnRhaWdhbWUtYnRuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxN3B4O1xuICByaWdodDogNDVweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLnRhaWdhbWUtYnRuIHtcbiAgICAgIHRvcDogMjBweDsgfVxuICAgICAgLnRhaWdhbWUtYnRuIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogNzBweDsgfSB9XG4gIC50YWlnYW1lLWJ0bjpob3ZlciB7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDExMCUpOyB9XG5cbi5zZWFyY2gtYnRuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxNXB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgcmlnaHQ6IDQ1cHg7IH1cbiAgLnNlYXJjaC1idG46aG92ZXIge1xuICAgIGNvbG9yOiAjZWRjNTY0OyB9XG5cbi5idG4taGFtIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAxMHB4O1xuICB6LWluZGV4OiAxMDAxO1xuICB3aWR0aDogMjVweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5idG4taGFtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmJ0bi1oYW0uYWN0aXZlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLmJ0bi1oYW0gc3Bhbixcbi5idG4taGFtOmFmdGVyLFxuLmJ0bi1oYW06YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1hcmdpbjogNnB4IDBweDtcbiAgdHJhbnNpdGlvbjogMC40czsgfVxuXG4uYnRuLWhhbS5hY3RpdmU6YmVmb3JlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLThweCwgNnB4KTtcbiAgYmFja2dyb3VuZDogI2Y1ZjhmYzsgfVxuXG4uYnRuLWhhbS5hY3RpdmU6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC02cHgsIC01cHgpO1xuICBiYWNrZ3JvdW5kOiAjZjVmOGZjOyB9XG5cbi5idG4taGFtLmFjdGl2ZSBzcGFuIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTsgfVxuXG4ubWVudSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy10b3A6IDYwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgLm1lbnUuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG4gIC5tZW51IGxpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAtMjtcbiAgICBtYXJnaW46IDAgN3B4OyB9XG4gICAgLm1lbnUgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlNGXCI7XG4gICAgICBjb2xvcjogI2Y1ZjhmYztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAubWVudSBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmYWM2Mzc7IH1cblxuLmJ1dHRvbnMtbGlzdCB7XG4gIHdpZHRoOiA1MTBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA3cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAzMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgYmFja2dyb3VuZDogIzJmMzEyYTtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYm9yZGVyOiA0cHggc29saWQgI2VjY2Q3NDsgfVxuICAuYnV0dG9ucy1saXN0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogLTE7XG4gICAgdG9wOiAtOHB4O1xuICAgIGxlZnQ6IC04cHg7XG4gICAgcmlnaHQ6IC04cHg7XG4gICAgYm90dG9tOiAtOHB4O1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICMyNjUzNzc7XG4gICAgYm9yZGVyLXJhZGl1czogMjRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLmJ1dHRvbnMtbGlzdCB7XG4gICAgICBib3R0b206IDIwcHg7XG4gICAgICBwYWRkaW5nOiA3cHggMTJweDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICAuYnV0dG9ucy1saXN0IGxpIHtcbiAgICBtYXJnaW46IDAgMHB4OyB9XG4gICAgLmJ1dHRvbnMtbGlzdCBsaSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuNTtcbiAgICAgIHBhZGRpbmc6IDAgMHB4OyB9XG4gICAgICAuYnV0dG9ucy1saXN0IGxpIGE6aG92ZXIge1xuICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTEwJSk7IH1cbiAgICAuYnV0dG9ucy1saXN0IGxpIC5jaG9pbmdheS1idG4ge1xuICAgICAgbWFyZ2luOiAtNDVweCAwOyB9XG5cbjpyb290IHtcbiAgLyogTm90IG15IGZhdm9yaXRlIHRoYXQgbGluZS1oZWlnaHQgaGFzIHRvIGJlIHVuaXRlZCwgYnV0IG5lZWRlZCAqL1xuICAtLWxoOiAxLjRyZW07IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWxoKTsgfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZjhmZCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzAxMDEwMSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbiAgZm9udC1mYW1pbHk6IFwiU0ZcIiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDFyZW07IH1cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjMDQ0NTliO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBjb2xvcjogIzA1NWJjZDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2OmZvY3VzLFxuLnN3aXBlci1idXR0b24tbmV4dDpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnNob3ctbW9iaWxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnNob3ctbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnNob3ctZGVza3RvcCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuc2hvdy1kZXNrdG9wIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ubG9vcC1pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5sb29wLTUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiA1OyB9XG5cbi5pbWFnZS16b29tLWJ0biBpbWcge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuXG4uaW1hZ2Utem9vbS1idG46YWN0aXZlIGltZywgLmltYWdlLXpvb20tYnRuLm5pY2Utc2VsZWN0Lm9wZW4gaW1nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG5cbi8qLS0tLSBDb250ZW50IENTUyBWYXJpYmxlcyAtLS0tKi9cbi8qLS0tIEltYWdlIC0tLS0tKi9cbi8qLS0tIE5vdGljZSBCb3ggLS0tKi9cbi8qLS0tLSBFbmQgQ29udGVudCBDU1MgVmFyaWJsZXMgLS0tLSovXG4vKiBHZW5lcmFsICovXG4uU3RhdGljTWFpbiB7XG4gIGNsZWFyOiBib3RoO1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBjb2xvcjogIzNiM2IzYjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBUZXh0IHN0eWxlcyAqL1xuICAvKiBFTkQuIFRleHQgc3R5bGVzICovXG4gIC8qIEltYWdlIHN0eWxlcyAqL1xuICAvKiBOb3RpY2UgYm94ICovXG4gIC8qIExpc3Qgc3R5bGVzICovIH1cbiAgLlN0YXRpY01haW4gaDMge1xuICAgIGNvbG9yOiAjM2IzYjNiO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDBweCAwIDMwcHggMDsgfVxuICAuU3RhdGljTWFpbiBhIHtcbiAgICBjb2xvcjogIzliMmEyZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5TdGF0aWNNYWluIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNjZDgyMmQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLlN0YXRpY01haW4gcCB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAuU3RhdGljTWFpbiB1bCB7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICBwYWRkaW5nOiAwIDAgMCAwOyB9XG4gICAgLlN0YXRpY01haW4gdWwgbGkge1xuICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDtcbiAgICAgIG1hcmdpbjogMCAwIDVweCAyMHB4OyB9XG4gICAgICAuU3RhdGljTWFpbiB1bCBsaSB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IGNpcmNsZTtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHggMDsgfVxuICAuU3RhdGljTWFpbiBvbCB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4OyB9XG4gICAgLlN0YXRpY01haW4gb2wgbGkge1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWwgIWltcG9ydGFudDsgfVxuICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayB7XG4gICAgbWFyZ2luOiAwcHggMzBweCAyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlIG5vbmU7IH1cbiAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA0OSU7XG4gICAgICBwYWRkaW5nOiAwIDAgNXB4IDVweDtcbiAgICAgIG1hcmdpbjogMCAxJSAwIDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIHtcbiAgICAgICAgICB3aWR0aDogMzElO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMiU7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSB7XG4gICAgICAgICAgd2lkdGg6IDQ4JTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkge1xuICAgICAgICAgIHdpZHRoOiA5OCU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTsgfSB9XG4gICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAjOWIyYTJlOyB9XG4gICAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIGE6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICM5YjJhMmU7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSBhLkFjdGl2ZSxcbiAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIGEuQWN0aXZlOmhvdmVyLFxuICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjY2Q4MjJkOyB9XG4gICAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIGEuQWN0aXZlOmJlZm9yZSxcbiAgICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkgYS5BY3RpdmU6aG92ZXI6YmVmb3JlLFxuICAgICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSBhOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2NkODIyZDtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjY2Q4MjJkO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICBjb2xvcjogIzA1NWJjZDsgfVxuICAuU3RhdGljTWFpbiAuRmlyc3RDaGFyIHtcbiAgICBwYWRkaW5nOiA0cHggNHB4IDAgMDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29sb3I6ICMyOTI4MjY7IH1cbiAgLlN0YXRpY01haW4gLkNvbnRlbnRCbG9jayB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLlN0YXRpY01haW4gLkltYWdlc0Jsb2NrIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuU3RhdGljTWFpbiAuSW1nQ2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiA5MCU7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gIC5TdGF0aWNNYWluIGg0IHtcbiAgICBjb2xvcjogI2M3NTE1MTtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCA1MHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW46IDAgMCA1cHggMHB4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9jb250ZW50L2ljb24taDQucG5nXCIpIG5vLXJlcGVhdDsgfVxuICAuU3RhdGljTWFpbiAuQ29udGVudEg0IHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDUwcHg7XG4gICAgcGFkZGluZzogMCAwIDAgMHB4OyB9XG4gICAgLlN0YXRpY01haW4gLkNvbnRlbnRINCBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAvKnRleHQtYWxpZ246IGp1c3RpZnk7Ki8gfVxuICAuU3RhdGljTWFpbiAuSW1hZ2VzSDQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDUwcHg7IH1cbiAgLlN0YXRpY01haW4gaDUge1xuICAgIGNvbG9yOiAjYzc1MTUxO1xuICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDQwcHg7XG4gICAgbWFyZ2luOiAwIDAgMTBweCA1MHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvY29udGVudC9pY29uLWg1LnBuZ1wiKSBuby1yZXBlYXQgMCAwcHg7IH1cbiAgLlN0YXRpY01haW4gLkNvbnRlbnRINSB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiAwIDAgMCA5MHB4O1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4OyB9XG4gICAgLlN0YXRpY01haW4gLkNvbnRlbnRINSBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG4gIC5TdGF0aWNNYWluIC5JbWFnZXNINSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMCAwIDIwcHggNDBweDsgfVxuICAuU3RhdGljTWFpbiB0YWJsZSB7XG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICMxZDBhMDE7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjBweDtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG4gICAgLlN0YXRpY01haW4gdGFibGUgdGhlYWQgdHIgdGgge1xuICAgICAgY29sb3I6ICNlZWY5Zjk7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTI0YzdmO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMxZDBhMDE7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMxZDBhMDE7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzFkMGEwMTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5TdGF0aWNNYWluIHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhZGM2ZGE7IH1cbiAgICAuU3RhdGljTWFpbiB0YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZTJlYzsgfVxuICAgIC5TdGF0aWNNYWluIHRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTBweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxZDBhMDE7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgY29sb3I6ICM2YzVmNTU7IH1cbiAgICAgIC5TdGF0aWNNYWluIHRhYmxlIHRib2R5IHRyIHRkIGEge1xuICAgICAgICBjb2xvcjogIzZjNWY1NTsgfVxuICAgICAgICAuU3RhdGljTWFpbiB0YWJsZSB0Ym9keSB0ciB0ZCBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogIzA1NWJjZDsgfVxuICAuU3RhdGljTWFpbiB0YWJsZS5Ob3RpY2Uge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxZDBhMDE7IH1cbiAgICAuU3RhdGljTWFpbiB0YWJsZS5Ob3RpY2UgdHIgdGQge1xuICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzFkMGEwMTsgfVxuICAgICAgLlN0YXRpY01haW4gdGFibGUuTm90aWNlIHRyIHRkIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAuU3RhdGljTWFpbiB0YWJsZS5Ob3RpY2UgdHIgdGQgdWwsXG4gICAgICAuU3RhdGljTWFpbiB0YWJsZS5Ob3RpY2UgdHIgdGQgb2wge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7IH1cbiAgLlN0YXRpY01haW4gLlRleHRDZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuU3RhdGljTWFpbiAuVGV4dFJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuU3RhdGljTWFpbiAuU3Ryb25nMDEge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgY29sb3I6ICNjZTAwMTk7IH1cbiAgLlN0YXRpY01haW4gLlN0cm9uZzAyIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIGNvbG9yOiAjY2RhMTAyOyB9XG4gIC5TdGF0aWNNYWluIC5TdHJvbmcwMyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICBjb2xvcjogIzAwNmNjODsgfVxuICAuU3RhdGljTWFpbiAuVGV4dEZvbnQxNyB7XG4gICAgZm9udC1zaXplOiAxN3B4OyB9XG4gIC5TdGF0aWNNYWluIC5UZXh0Rm9udDE5IHtcbiAgICBmb250LXNpemU6IDE5cHg7IH1cbiAgLlN0YXRpY01haW4gLlRleHRGb250MjEge1xuICAgIGZvbnQtc2l6ZTogMjFweDsgfVxuICAuU3RhdGljTWFpbiAuTm9Cb3JkZXJJbWcge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLlN0YXRpY01haW4gLkJvcmRlckltZyB7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIHBhZGRpbmc6IDBweDsgfVxuICAuU3RhdGljTWFpbiAuSW1nTGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAxcHggMTBweCA1cHggMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwOyB9XG4gIC5TdGF0aWNNYWluIC5JbWdSaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMCAwIDVweCAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7IH1cbiAgLlN0YXRpY01haW4gYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjMWQwYTAxO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW46IDAgMjBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDQwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAuU3RhdGljTWFpbiBibG9ja3F1b3RlOmJlZm9yZSwgLlN0YXRpY01haW4gYmxvY2txdW90ZTphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgY29udGVudDogJyc7IH1cbiAgICAuU3RhdGljTWFpbiBibG9ja3F1b3RlOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG4gICAgLlN0YXRpY01haW4gYmxvY2txdW90ZTphZnRlciB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IDA7IH1cbiAgLlN0YXRpY01haW4gLk5vdGljZUJveCB7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzFhMDAwMDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNkOWUyZWM7IH1cbiAgICAuU3RhdGljTWFpbiAuTm90aWNlQm94IHAuTGVnZW5kIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGJhY2tncm91bmQ6ICNjYzE4MDA7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW46IC0yMHB4IDAgMTBweDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2NjMTgwMDsgfVxuICAgIC5TdGF0aWNNYWluIC5Ob3RpY2VCb3ggLk5vdGVDb250ZW50IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICBjb2xvcjogIzFlMmMxOTsgfVxuICAgICAgLlN0YXRpY01haW4gLk5vdGljZUJveCAuTm90ZUNvbnRlbnQgYSB7XG4gICAgICAgIGNvbG9yOiAjMWM3NmZkOyB9XG4gICAgICAgIC5TdGF0aWNNYWluIC5Ob3RpY2VCb3ggLk5vdGVDb250ZW50IGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmQ0YjM2OyB9XG4gIC5TdGF0aWNNYWluIHVsLkRlY2ltYWwge1xuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDBweDsgfVxuICAgIC5TdGF0aWNNYWluIHVsLkRlY2ltYWwgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkRlY2ltYWwgbGkgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XG4gIC5TdGF0aWNNYWluIHVsLlVwcGVyQWxwaGEge1xuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDBweDsgfVxuICAgIC5TdGF0aWNNYWluIHVsLlVwcGVyQWxwaGEgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiB1cHBlci1hbHBoYTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5VcHBlckFscGhhIGxpIHVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxuICAuU3RhdGljTWFpbiB1bC5Mb3dlckFscGhhIHtcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCAwcHg7IH1cbiAgICAuU3RhdGljTWFpbiB1bC5Mb3dlckFscGhhIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuICAgICAgLlN0YXRpY01haW4gdWwuTG93ZXJBbHBoYSBsaSB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cbiAgLlN0YXRpY01haW4gdWwuSWNvbiB7XG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggNXB4OyB9XG4gICAgLlN0YXRpY01haW4gdWwuSWNvbiBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLlN0YXRpY01haW4gdWwuSWNvbiBsaTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgY29udGVudDogXCJcXGUwNzRcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zSGFsZmxpbmdzJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5JY29uIGxpIHVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxuICAgICAgLlN0YXRpY01haW4gdWwuSWNvbiBsaSB1bC5Mb3dlckFscGhhIGxpIHtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7IH1cbiAgLlN0YXRpY01haW4gdWwuRGFzaCB7XG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggNXB4OyB9XG4gICAgLlN0YXRpY01haW4gdWwuRGFzaCBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLlN0YXRpY01haW4gdWwuRGFzaCBsaTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgY29udGVudDogXCJcXDIyMTJcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zSGFsZmxpbmdzJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLlN0YXRpY01haW4gdWwuRGFzaCBsaSB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cbiAgLlN0YXRpY01haW4gdWwuRGlzYyB7XG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggNXB4OyB9XG4gICAgLlN0YXRpY01haW4gdWwuRGlzYyBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLlN0YXRpY01haW4gdWwuRGlzYyBsaTpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgY29udGVudDogXCJcXGUxNjVcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zSGFsZmxpbmdzJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgbGVmdDogMDsgfVxuICAgICAgLlN0YXRpY01haW4gdWwuRGlzYyBsaSB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cblxuYm9keSB7XG4gIGJhY2tncm91bmQ6ICNlNmY4ZmQ7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgZm9udC1mYW1pbHk6IFNGOyB9XG4gIGJvZHkgLndyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgYm9keSAud3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTsgfSB9XG4gICAgYm9keSAud3JhcHBlci5zdWIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iZy10b3AuanBnKSBuby1yZXBlYXQgY2VudGVyIHRvcCwgdXJsKC4uL2ltYWdlcy9iZy1ib3R0b20uanBnKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbSAjZTZmOGZkO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIGJvZHkgLndyYXBwZXIuc3ViIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEyMCU7IH0gfVxuICAgICAgYm9keSAud3JhcHBlci5zdWIgLmhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgIGJvZHkgLndyYXBwZXIuc3ViIC5oZWFkZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiA1MDVweDsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIGJvZHkgLndyYXBwZXIuc3ViIC5idXR0b25zLWxpc3Qge1xuICAgICAgICAgIGJvdHRvbTogLTM1cHg7IH0gfVxuICAgIGJvZHkgLndyYXBwZXIgLmhlYWRpbmcge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAgICAgYm9keSAud3JhcHBlciAuaGVhZGluZyBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMjUwcHg7IH0gfVxuXG4vKi0tLSBCYW5uZXIgLS0tKi9cbi5iYW5uZXItc2xpZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMC43O1xuICBtYXJnaW46IDAgMCAwcHg7XG4gIGJvcmRlcjogc29saWQgMXB4ICMxNjRmN2U7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7IH1cbiAgLmJhbm5lci1zbGlkZXIgLnN3aXBlci1zbGlkZSB7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAuYmFubmVyLXNsaWRlciBpbWcge1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAuYmFubmVyLXNsaWRlciBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYmFubmVyLXNsaWRlci1zd2lwZXItcGFnaW5hdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBvcGFjaXR5OiAxO1xuICBwYWRkaW5nOiA2cHggMCAwO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmJhbm5lci1zbGlkZXItc3dpcGVyLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgd2lkdGg6IDM3cHg7XG4gICAgaGVpZ2h0OiAzN3B4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbmF2LWRvdC5wbmcpIG5vLXJlcGVhdDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIG1hcmdpbjogMCA1cHg7IH1cbiAgLmJhbm5lci1zbGlkZXItc3dpcGVyLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbmF2LWRvdC1ob3Zlci5wbmcpIG5vLXJlcGVhdDsgfVxuXG4uc2VjdGlvbi0yIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZWN0aW9uMi1iZy5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wLzEwMCUgMTAwJTtcbiAgcGFkZGluZzogMCAwIDNweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWN0aW9uLTIgLmljb24tbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDE5MHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLXRvbnF1eWVuLnBuZykgbm8tcmVwZWF0IDAgMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5zZWN0aW9uLTIgLmljb24tbCB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgICAgICBsZWZ0OiAtNSU7XG4gICAgICAgIGJvdHRvbTogLTIwJTsgfSB9XG4gIC5zZWN0aW9uLTIgLmljb24tciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxNjBweDtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaG9hLWxhLnBuZykgbm8tcmVwZWF0IDAgMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5zZWN0aW9uLTIgLmljb24tciB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgICAgICByaWdodDogLTI1JTtcbiAgICAgICAgYm90dG9tOiAtMTAlOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5zZWN0aW9uLTIge1xuICAgICAgcGFkZGluZzogMCAxMHB4IDIwcHg7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuc2VjdGlvbi0yIC5oZWFkaW5nIHtcbiAgICBwYWRkaW5nOiAwcHggMCAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAuc2VjdGlvbi0yIC5uZXdzLWZyYW1lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgd2lkdGg6IDU2MHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAyJSAyJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyOiBzb2xpZCA0cHggI2VjY2Q3NDsgfVxuICAgIC5zZWN0aW9uLTIgLm5ld3MtZnJhbWU6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICB0b3A6IC04cHg7XG4gICAgICBsZWZ0OiAtOHB4O1xuICAgICAgcmlnaHQ6IC04cHg7XG4gICAgICBib3R0b206IC04cHg7XG4gICAgICBib3JkZXI6IDRweCBzb2xpZCAjMjY1Mzc3O1xuICAgICAgYm9yZGVyLXJhZGl1czogMjlweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5zZWN0aW9uLTIgLm5ld3MtZnJhbWUge1xuICAgICAgICBwYWRkaW5nOiAzJSAzJSAzJTsgfSB9XG5cbi5zZWN0aW9uLTMge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlY3Rpb24zLWJnLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3AvMTAwJSAxMDAlO1xuICBwYWRkaW5nOiAwcHggMHB4IDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDg4NXB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuc2VjdGlvbi0zIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwJTsgfSB9XG4gIC5zZWN0aW9uLTMgLmhlYWRpbmcge1xuICAgIHBhZGRpbmc6IDBweCAwIDAgMDtcbiAgICBtYXJnaW46IDAgMCAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuc2VjdGlvbi0zIC5oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjUlOyB9IH1cbiAgLnNlY3Rpb24tMyAuaWNvbi1jaGFuY28ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDEzJTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxNjBweDtcbiAgICBoZWlnaHQ6IDIwOHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1jaGFuY28ucG5nKSBuby1yZXBlYXQgMCAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLnNlY3Rpb24tMyAuaWNvbi1jaGFuY28ge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDcwJTtcbiAgICAgICAgYm90dG9tOiA0JTtcbiAgICAgICAgcmlnaHQ6IC0xMyU7IH0gfVxuXG4uc2VjdGlvbi00IHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZWN0aW9uNC1iZy5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wLzEwMCUgMTAwJTtcbiAgcGFkZGluZzogMHB4IDAgMzBweCAwOyB9XG4gIC5zZWN0aW9uLTQgLmhlYWRpbmcge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgLnNlY3Rpb24tNCAuY2hhcmFjdGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDc3MHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwcHggMCAwO1xuICAgIG1hcmdpbjogMHB4IGF1dG8gMHB4O1xuICAgIC8qLS0tIG5hdiAtLS0qLyB9XG4gICAgLnNlY3Rpb24tNCAuY2hhcmFjdGVyLWJsb2NrIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4OyB9XG4gICAgLnNlY3Rpb24tNCAuY2hhcmFjdGVyLXRhYiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICBtYXJnaW46IDBweCAwIDAgMDsgfVxuICAgICAgLnNlY3Rpb24tNCAuY2hhcmFjdGVyLXRhYiBsaSB7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgIC5zZWN0aW9uLTQgLmNoYXJhY3Rlci10YWIgbGkge1xuICAgICAgICAgICAgd2lkdGg6IDIyJTsgfSB9XG4gICAgICAgIC5zZWN0aW9uLTQgLmNoYXJhY3Rlci10YWIgbGkgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEzNXB4O1xuICAgICAgICAgIGhlaWdodDogNDdweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDdweDtcbiAgICAgICAgICBjb2xvcjogI2Y3ZjBlMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jaGFyLXRhYi1iZy5wbmcpIG5vLXJlcGVhdCAwIDRweC8xMDAlIDEwMCU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiaUNpZWxTb3Vwb2ZKdXN0aWNlXCI7XG4gICAgICAgICAgLXdlYmtpdC10ZXh0LXN0cm9rZTogNXB4ICM3YTRjMDQ7XG4gICAgICAgICAgcGFpbnQtb3JkZXI6IHN0cm9rZSBmaWxsOyB9XG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgICAgLnNlY3Rpb24tNCAuY2hhcmFjdGVyLXRhYiBsaSBhIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMnB4OyB9IH1cbiAgICAgICAgICAuc2VjdGlvbi00IC5jaGFyYWN0ZXItdGFiIGxpIGEuYWN0aXZlLCAuc2VjdGlvbi00IC5jaGFyYWN0ZXItdGFiIGxpIGE6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jaGFyLXRhYi1iZy1ob3Zlci5wbmcpIG5vLXJlcGVhdCAwIDRweC8xMDAlIDEwMCU7IH1cbiAgICAuc2VjdGlvbi00IC5jaGFyYWN0ZXIgLnRhYi1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMHB4IDAgMCAwOyB9XG4gICAgLnNlY3Rpb24tNCAuY2hhcmFjdGVyIC5jaGFyYWN0ZXItc3dpcGVyLWxhcmdlIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMDsgfVxuICAgICAgLnNlY3Rpb24tNCAuY2hhcmFjdGVyIC5jaGFyYWN0ZXItc3dpcGVyLWxhcmdlIC5zd2lwZXItc2xpZGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5zZWN0aW9uLTQgLmNoYXJhY3RlciAuY2hhcmFjdGVyLXN3aXBlci1sYXJnZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuY2hhcmFjdGVyLXNtIHtcbiAgICAgICAgICBib3R0b206IDEwcHg7IH1cbiAgICAuc2VjdGlvbi00IC5jaGFyYWN0ZXIgLmhlYWRpbmcge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAtMzVweCAwIDAgMDsgfVxuICAgIC5zZWN0aW9uLTQgLmNoYXJhY3RlciAuY2hhcmFjdGVyLXN3aXBlci1uYXYge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiA1MDBweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDAgMHB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5zZWN0aW9uLTQgLmNoYXJhY3RlciAuY2hhcmFjdGVyLXN3aXBlci1uYXYge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXgtd2lkdGg6IDgwJTsgfSB9XG4gICAgICAuc2VjdGlvbi00IC5jaGFyYWN0ZXIgLmNoYXJhY3Rlci1zd2lwZXItbmF2IC5zd2lwZXItc2xpZGUge1xuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAuc2VjdGlvbi00IC5jaGFyYWN0ZXIgLmNoYXJhY3Rlci1zd2lwZXItbmF2IC5zd2lwZXItc2xpZGUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgICAuc2VjdGlvbi00IC5jaGFyYWN0ZXIgLmNoYXJhY3Rlci1zd2lwZXItbmF2IC5zd2lwZXItc2xpZGUgaW1nIHtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3MHB4OyB9IH1cbiAgICAgICAgLnNlY3Rpb24tNCAuY2hhcmFjdGVyIC5jaGFyYWN0ZXItc3dpcGVyLW5hdiAuc3dpcGVyLXNsaWRlOmhvdmVyIHtcbiAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwJSk7IH1cbiAgICAgIC5zZWN0aW9uLTQgLmNoYXJhY3RlciAuY2hhcmFjdGVyLXN3aXBlci1uYXYgLnN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmUge1xuICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwJSk7IH1cbiAgICAuc2VjdGlvbi00IC5jaGFyYWN0ZXIgLmNoYXItcHJldi1idG4sIC5zZWN0aW9uLTQgLmNoYXJhY3RlciAuY2hhci1uZXh0LWJ0biB7XG4gICAgICB3aWR0aDogNTdweDtcbiAgICAgIGhlaWdodDogODFweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY2hhci1wcmV2LWJ0bi5wbmcpIDAgMC8xMDAlIDEwMCU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB6LWluZGV4OiA2O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiA5JTtcbiAgICAgIGxlZnQ6IDEwJTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAuc2VjdGlvbi00IC5jaGFyYWN0ZXIgLmNoYXItcHJldi1idG4sIC5zZWN0aW9uLTQgLmNoYXJhY3RlciAuY2hhci1uZXh0LWJ0biB7XG4gICAgICAgICAgYm90dG9tOiAwJTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTsgfSB9XG4gICAgICAuc2VjdGlvbi00IC5jaGFyYWN0ZXIgLmNoYXItcHJldi1idG46aG92ZXIsIC5zZWN0aW9uLTQgLmNoYXJhY3RlciAuY2hhci1uZXh0LWJ0bjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY2hhci1wcmV2LWJ0bi1ob3Zlci5wbmcpIDAgMC8xMDAlIDEwMCU7IH1cbiAgICAuc2VjdGlvbi00IC5jaGFyYWN0ZXIgLmNoYXItbmV4dC1idG4ge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAxMyU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAuc2VjdGlvbi00IC5jaGFyYWN0ZXIgLmNoYXItbmV4dC1idG4ge1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpIHNjYWxlKDAuOCk7IH0gfVxuXG4uc2VjdGlvbi01IHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZWN0aW9uNS1iZy5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wLzEwMCUgMTAwJTtcbiAgcGFkZGluZzogMHB4IDAgMCAwOyB9XG4gIC5zZWN0aW9uLTUgLmhlYWRpbmcge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLnNlY3Rpb24tNSAuaGVhZGluZyBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDM1MHB4OyB9IH1cblxuLyotIFZhcmlhYmxlIC0qL1xuLyotLS0gTmV3cyAtLS0qL1xuLm5ld3Mge1xuICB3aWR0aDogNTUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDAgYXV0byAwO1xuICBwYWRkaW5nOiAzJSAwJTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5uZXdzIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgLm5ld3MtdGFiIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4OyB9XG4gICAgLm5ld3MtdGFiIGxpIHtcbiAgICAgIG1hcmdpbjogMHB4OyB9XG4gICAgICAubmV3cy10YWIgbGk6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgLm5ld3MtdGFiIGxpIGEge1xuICAgICAgICBtaW4td2lkdGg6IDEwNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweCA1cHg7XG4gICAgICAgIG1hcmdpbjogMCAwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnVVRNQWxiZXJ0YUhlYXZ5JztcbiAgICAgICAgY29sb3I6ICMzYzcyOWU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGJvdHRvbTsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICAgLm5ld3MtdGFiIGxpIGEge1xuICAgICAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgICAgIC5uZXdzLXRhYiBsaSBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgN3B4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cbiAgICAgICAgLm5ld3MtdGFiIGxpIGEuYWN0aXZlLCAubmV3cy10YWIgbGkgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzNjNzI5ZTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA3cHg7IH1cbiAgLm5ld3MgLnRhYi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwcHggMHB4IDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qLSBuZXdzIGxpc3QgaG9tZSAtKi9cbnVsLm5ld3MtbGlzdC1ob21lIHtcbiAgbWFyZ2luOiAwIDBweDtcbiAgcGFkZGluZzogMHB4IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICB1bC5uZXdzLWxpc3QtaG9tZSBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMHB4IDBweCAwcHggMHB4O1xuICAgIG1hcmdpbjogMCAwIDVweCAwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogIzNiM2IzYjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IH1cbiAgICB1bC5uZXdzLWxpc3QtaG9tZSBsaS5oaWdobGlnaHQge1xuICAgICAgcGFkZGluZzogMCAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICAgIHVsLm5ld3MtbGlzdC1ob21lIGxpLmhpZ2hsaWdodCAubmV3cy10aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjZWVlMmQxO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAwIDEwcHg7IH1cbiAgICAgICAgdWwubmV3cy1saXN0LWhvbWUgbGkuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2U0OGYyYTsgfVxuICAgICAgICAgIHVsLm5ld3MtbGlzdC1ob21lIGxpLmhpZ2hsaWdodCAubmV3cy10aXRsZTpob3ZlciAubmV3cy10aW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZTQ4ZjJhOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICB1bC5uZXdzLWxpc3QtaG9tZSBsaS5oaWdobGlnaHQgLm5ld3MtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgICAgIHVsLm5ld3MtbGlzdC1ob21lIGxpLmhpZ2hsaWdodCAubmV3cy10aW1lIHtcbiAgICAgICAgY29sb3I6ICNlZWUyZDE7XG4gICAgICAgIHBhZGRpbmc6IDAgMHB4IDAgMDsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICAgdWwubmV3cy1saXN0LWhvbWUgbGkuaGlnaGxpZ2h0IC5uZXdzLXRpbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgICAgIHVsLm5ld3MtbGlzdC1ob21lIGxpLmhpZ2hsaWdodCAubmV3cy1kZXMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6ICMzNTM1M2M7XG4gICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDE7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIHVsLm5ld3MtbGlzdC1ob21lIGxpLmhpZ2hsaWdodCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgICAgICAgIHVsLm5ld3MtbGlzdC1ob21lIGxpLmhpZ2hsaWdodCBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3NXB4OyB9IH1cbiAgICB1bC5uZXdzLWxpc3QtaG9tZSBsaSAubmV3c19fdGh1bWIge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDJweCAxMHB4IDAgMXB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICB1bC5uZXdzLWxpc3QtaG9tZSBsaSAubmV3c19fdGh1bWIgaW1nIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzNjMzY1YTtcbiAgICAgICAgbWF4LXdpZHRoOiA5MHB4OyB9XG4gICAgdWwubmV3cy1saXN0LWhvbWUgbGkgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgY29sb3I6ICMzYjNiM2I7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIHVsLm5ld3MtbGlzdC1ob21lIGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2U0OGYyYTsgfVxuICAgICAgdWwubmV3cy1saXN0LWhvbWUgbGkgYSBzcGFuIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDkwcHgpO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAxO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIHVsLm5ld3MtbGlzdC1ob21lIGxpIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gICAgdWwubmV3cy1saXN0LWhvbWUgbGkgLm5ld3MtdGltZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAjM2IzYjNiO1xuICAgICAgbWFyZ2luOiAwcHggMTBweCAwIDA7IH1cblxuLm5ld3MtbW9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgbWFyZ2luOiAwcHggMTBweCAwcHggMDtcbiAgcGFkZGluZzogMCAwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIC5uZXdzLW1vcmUge1xuICAgICAgdG9wOiAxNXB4OyB9IH1cbiAgLm5ld3MtbW9yZTpob3ZlciB7XG4gICAgZmlsdGVyOiBicmlnaHRuZXNzKDEwNSUpOyB9XG5cbi5ob3Ryby1ibG9jayB7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuaG90cm8tYmxvY2sge1xuICAgICAgbWFyZ2luOiAwIDAgMHB4OyB9IH1cbiAgLmhvdHJvLWJsb2NrIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCA1cHg7IH1cblxuLyotLS0gRGFjIHNhYyAtLS0qL1xuLmRhY3NhYyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMCAwIDEwMHB4OyB9XG4gIC5kYWNzYWMtc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwcHggYXV0byAwICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiA1NTVweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAwIDBweDsgfVxuICAgIC5kYWNzYWMtc2xpZGVyOmFmdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9kYWNzYWMtZnJhbWUucG5nKSBuby1yZXBlYXQgMCAwLzEwMCUgMTAwJTsgfVxuICAgIC5kYWNzYWMtc2xpZGVyIC5zd2lwZXItc2xpZGUge1xuICAgICAgZmlsdGVyOiBibHVyKDJweCkgYnJpZ2h0bmVzcyg0MCUpOyB9XG4gICAgICAuZGFjc2FjLXNsaWRlciAuc3dpcGVyLXNsaWRlIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDI3cHg7IH1cbiAgICAgIC5kYWNzYWMtc2xpZGVyIC5zd2lwZXItc2xpZGUuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gICAgICAgIGZpbHRlcjogYmx1cigwcHgpOyB9XG4gICAgICAgIC5kYWNzYWMtc2xpZGVyIC5zd2lwZXItc2xpZGUuc3dpcGVyLXNsaWRlLWFjdGl2ZSBhOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZGFjc2FjIC5kYWNzYWMtcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDMwcHggYXV0byAwOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmRhY3NhYyAuZGFjc2FjLXBhZ2luYXRpb24ge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH0gfVxuICAgIC5kYWNzYWMgLmRhY3NhYy1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgICAgd2lkdGg6IDM3cHg7XG4gICAgICBoZWlnaHQ6IDM3cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RhY3NhYy1uYXYtZG90LnBuZykgbm8tcmVwZWF0IDAgMC8xMDAlIDEwMCU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OyB9XG4gICAgICAuZGFjc2FjIC5kYWNzYWMtcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0OmZpcnN0LWNoaWxkOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0MCU7XG4gICAgICAgIGxlZnQ6IC0xNHB4OyB9XG4gICAgICAuZGFjc2FjIC5kYWNzYWMtcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNDAlO1xuICAgICAgICByaWdodDogLTE0cHg7IH1cbiAgICAgIC5kYWNzYWMgLmRhY3NhYy1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGFjc2FjLW5hdi1kb3QtaG92ZXIucG5nKSBuby1yZXBlYXQgMCAwLzEwMCUgMTAwJTsgfVxuICAuZGFjc2FjIC5wcmV2LWJ0biwgLmRhY3NhYyAubmV4dC1idG4ge1xuICAgIHdpZHRoOiA1N3B4O1xuICAgIGhlaWdodDogODFweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NoYXItcHJldi1idG4ucG5nKSAwIDAvMTAwJSAxMDAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDQ1JTtcbiAgICB6LWluZGV4OiA1O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5kYWNzYWMgLnByZXYtYnRuLCAuZGFjc2FjIC5uZXh0LWJ0biB7XG4gICAgICAgIGxlZnQ6IDMwcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5kYWNzYWMgLnByZXYtYnRuLCAuZGFjc2FjIC5uZXh0LWJ0biB7XG4gICAgICAgIHRvcDogNDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7IH0gfVxuICAuZGFjc2FjIC5uZXh0LWJ0biB7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA0NSU7XG4gICAgei1pbmRleDogNTtcbiAgICBtYXJnaW46IDA7XG4gICAgbGVmdDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5kYWNzYWMgLm5leHQtYnRuIHtcbiAgICAgICAgcmlnaHQ6IDMwcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5kYWNzYWMgLm5leHQtYnRuIHtcbiAgICAgICAgdG9wOiA0MCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKSBzY2FsZSgwLjgpOyB9IH1cbiAgLmRhY3NhYyBbY2xhc3MqPVwiLWJ0blwiXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgLmRhY3NhYyBbY2xhc3MqPVwiLWJ0blwiXSB7XG4gICAgICAgIHRvcDogMzIlOyB9IH1cblxuLmR1YXRvcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDYwN3B4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogNTM3cHg7XG4gIHBhZGRpbmc6IDUlIDEzJSAwJSA3JTtcbiAgbWFyZ2luOiAxMyUgYXV0byAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZHVhdG9wLWJnLnBuZykgbm8tcmVwZWF0IGNlbnRlciB0b3AvMTAwJSAxMDAlOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuZHVhdG9wIHtcbiAgICAgIGhlaWdodDogNDMwcHg7XG4gICAgICBwYWRkaW5nOiA3JSA3JSAxOCUgNyU7XG4gICAgICBtYXJnaW4tdG9wOiAxOSU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwNiUgMTAwJTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBsZWZ0OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgIC5kdWF0b3Age1xuICAgICAgbWFyZ2luLXRvcDogMjUlOyB9IH1cbiAgLmR1YXRvcC10aXRsZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgLmR1YXRvcC1kYXRlLXRpbWUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbjogLTUwcHggMCA0MHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmR1YXRvcC1kYXRlLXRpbWUgcCB7XG4gICAgICB3aWR0aDogMTgwcHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZHVhdG9wLWRhdGUtdGltZS1iZy5wbmcpIG5vLXJlcGVhdCAwIDAvMTAwJSAxMDAlO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAyMXB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5kdWF0b3AtZGF0ZS10aW1lIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICB3aWR0aDogMTQwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0yJTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmR1YXRvcC1kYXRlLXRpbWUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgICAuZHVhdG9wLWRhdGUtdGltZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAgIC5kdWF0b3AtZGF0ZS10aW1lIC5kYXRlIHtcbiAgICAgIHdpZHRoOiAxNzBweDtcbiAgICAgIGhlaWdodDogMTcwcHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgICAgY29sb3I6ICNmZWZmZmY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RhdGUtYmcucG5nKSBuby1yZXBlYXQgMCAwL2NvdmVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTQzJSk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDRweCAjMDAwOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gICAgICAgIC5kdWF0b3AtZGF0ZS10aW1lIC5kYXRlIHtcbiAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAxMjBweDsgfSB9XG4gICAgICAuZHVhdG9wLWRhdGUtdGltZSAuZGF0ZSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogODZweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiVVRNQ29sb3NzYWxpc1wiO1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygycHggMnB4IDEwcHggIzcyYzZkNCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmYmMwMGU7XG4gICAgICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oMGRlZyksICNmYmMwMGUsICNmZmUzMGUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgI2ZiYzAwZSwgI2ZmZTMwZSk7XG4gICAgICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgIC5kdWF0b3AtZGF0ZS10aW1lIC5kYXRlIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiA1MHB4OyB9IH1cbiAgICAuZHVhdG9wLWRhdGUtdGltZSAudGltZSB7XG4gICAgICB3aWR0aDogMTgwcHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZHVhdG9wLWRhdGUtdGltZS1iZy5wbmcpIG5vLXJlcGVhdCAwIDAvMTAwJSAxMDAlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiVVRNQ29sb3NzYWxpc1wiO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAyNnB4OyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5kdWF0b3AtZGF0ZS10aW1lIC50aW1lIHtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLTIlOyB9IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAgICAgLmR1YXRvcC1kYXRlLXRpbWUgLnRpbWUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gIC5kdWF0b3AtdGFibGUge1xuICAgIHRhYmxlLWxheW91dDogYXV0bztcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgaGVpZ2h0OiA4MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBjb2xvcjogIzViNjQ3MztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDI1cHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIC8qIFNocmlua3MgdGhlIHRhYmxlIHRvIGV4YWN0bHkgZml0IHRoZSBjZWxsIGNvbnRlbnQgKi9cbiAgICBtYXJnaW46IGF1dG87IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuZHVhdG9wLXRhYmxlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgNXB4OyB9IH1cbiAgICAuZHVhdG9wLXRhYmxlIHRoZWFkIHtcbiAgICAgIGNvbG9yOiAjYzNiNzkwO1xuICAgICAgYmFja2dyb3VuZDogIzFhMTgwZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgICAgLmR1YXRvcC10YWJsZSB0aGVhZCB0ciB0ZCB7XG4gICAgICAgIGNvbG9yOiAjZjRlZmRjO1xuICAgICAgICBmb250LXdlaWdodDogNjAwOyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAuZHVhdG9wLXRhYmxlIHRoZWFkIHRyIHRkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsgfSB9XG4gICAgLmR1YXRvcC10YWJsZSB0ciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICAgICAgLmR1YXRvcC10YWJsZSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNmNWYzZTU7IH1cbiAgICAgIC5kdWF0b3AtdGFibGUgdHIgdGQge1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIHBhZGRpbmc6IDVweCA1cHggMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIGNvbG9yOiAjNDc0NDMzO1xuICAgICAgICB3aGl0ZS1zcGFjZTogd3JhcDsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICAgLmR1YXRvcC10YWJsZSB0ciB0ZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7IH0gfVxuICAgIC5kdWF0b3AtdGFibGUgdGJvZHkge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICBvdmVyZmxvdzogYXV0bzsgfVxuICAgICAgLmR1YXRvcC10YWJsZSB0Ym9keTo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICAgIC5kdWF0b3AtdGFibGUgdGJvZHk6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBoZWlnaHQ6IDRweDsgfVxuICAgICAgLmR1YXRvcC10YWJsZSB0Ym9keTo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZTQ1NDA7IH1cbiAgLmR1YXRvcCAuZGFjcXV5ZW52aXAtYnRuIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMjIlO1xuICAgIHJpZ2h0OiA1JTtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgLmR1YXRvcCAuZGFjcXV5ZW52aXAtYnRuOmhvdmVyIHtcbiAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMTAlKTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5kdWF0b3AgLmRhY3F1eWVudmlwLWJ0biB7XG4gICAgICAgIHRvcDogLTI1JTtcbiAgICAgICAgcmlnaHQ6IDAlOyB9XG4gICAgICAgIC5kdWF0b3AgLmRhY3F1eWVudmlwLWJ0biBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTUwcHg7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgICAgIC5kdWF0b3AgLmRhY3F1eWVudmlwLWJ0biB7XG4gICAgICAgIHJpZ2h0OiAwJTsgfSB9XG5cbi8qLS0tIFN1YiBwYWdlIC0tLSovXG4ubWFpbi1jb250ZW50IHtcbiAgd2lkdGg6IDYwMHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWFpbmNvbnRlbnQtbG9vcC5wbmcpIHJlcGVhdC15IDAgMC8xMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMzBweCBhdXRvIDE1MHB4O1xuICBwYWRkaW5nOiAxJSA3JSAzJTtcbiAgLyotIG5ld3MgbGlzdCAtKi8gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLm1haW4tY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG4gIC5tYWluLWNvbnRlbnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMzBweDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWFpbmNvbnRlbnQtdG9wLnBuZykgbm8tcmVwZWF0IDAgMC8xMDAlOyB9XG4gIC5tYWluLWNvbnRlbnQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IC0zMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2NXB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWFpbmNvbnRlbnQtYm90dG9tLnBuZykgbm8tcmVwZWF0IGxlZnQgYm90dG9tLzEwMCU7IH1cbiAgLm1haW4tY29udGVudCB1bC5uZXdzLWxpc3Qge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5tYWluLWNvbnRlbnQgdWwubmV3cy1saXN0IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDAgMCAxNXB4IDA7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAjMmYyYzI0IDFweDsgfVxuICAgICAgLm1haW4tY29udGVudCB1bC5uZXdzLWxpc3QgbGkuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMDBweCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogI2NmN2YwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFNGO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgICAgLm1haW4tY29udGVudCB1bC5uZXdzLWxpc3QgbGkuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNjVweCk7IH0gfVxuICAgICAgICAubWFpbi1jb250ZW50IHVsLm5ld3MtbGlzdCBsaS5oaWdobGlnaHQgLm5ld3MtdGl0bGU6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZDE0NDRjOyB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5tYWluLWNvbnRlbnQgdWwubmV3cy1saXN0IGxpLmhpZ2hsaWdodCBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogNTBweDsgfSB9XG4gICAgICAubWFpbi1jb250ZW50IHVsLm5ld3MtbGlzdCBsaSAubmV3c19fdGh1bWIge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAycHggMTBweCAwIDFweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICAgIC5tYWluLWNvbnRlbnQgdWwubmV3cy1saXN0IGxpIC5uZXdzX190aHVtYiBpbWcge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjN2M2Y2Y7IH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgIC5tYWluLWNvbnRlbnQgdWwubmV3cy1saXN0IGxpIC5uZXdzX190aHVtYiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgwcHg7IH0gfVxuICAgICAgLm1haW4tY29udGVudCB1bC5uZXdzLWxpc3QgbGkgLm5ld3MtZGVzIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEzMHB4KTtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAubWFpbi1jb250ZW50IHVsLm5ld3MtbGlzdCBsaSAubmV3cy1kZXMge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDk1cHgpOyB9IH1cbiAgICAgIC5tYWluLWNvbnRlbnQgdWwubmV3cy1saXN0IGxpIC5uZXdzLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICNjZjdmMDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5tYWluLWNvbnRlbnQgdWwubmV3cy1saXN0IGxpIC5uZXdzLXRpdGxlOmhvdmVyLFxuICAgICAgICAubWFpbi1jb250ZW50IHVsLm5ld3MtbGlzdCBsaSAubmV3cy10aXRsZTpob3ZlciAubmV3cy10aW1lIHtcbiAgICAgICAgICBjb2xvcjogI2QxNDQ0YzsgfVxuICAgICAgICAubWFpbi1jb250ZW50IHVsLm5ld3MtbGlzdCBsaSAubmV3cy10aXRsZSBzcGFuIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgIC5tYWluLWNvbnRlbnQgdWwubmV3cy1saXN0IGxpIC5uZXdzLXRpbWUge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uc3RhdGljIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMHB4IDBweCAzMHB4OyB9XG4gIC5zdGF0aWMgLmljb24tc3RhdGljIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5zdGF0aWMgLmljb24tc3RhdGljIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MHB4OyB9IH1cbiAgLnN0YXRpYyAuaWNvbnMtaG9tZSB7XG4gICAgbWFyZ2luOiAwIDVweCAwIDA7IH1cbiAgLnN0YXRpYyBoMiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMTBweCAwIDBweCA1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5zdGF0aWMgaDIge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMXB4OyB9IH1cblxuLmJyZWFkY3J1bWItLW1haW4ge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5icmVhZGNydW1iLS1tYWluIGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5icmVhZGNydW1iLS1tYWluIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICNmMjhmNDE7IH1cblxuLyotLS0gUmVsYXRlIE5ld3MgTGlzdCAtLS0qL1xuLnJlbGF0aXZlIHtcbiAgcGFkZGluZy10b3A6IDlweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5yZWxhdGl2ZS10aXRsZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgYmFja2dyb3VuZDogIzAwMjU0NjtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKDkwZGVnKSwgIzAwMjU0NiwgIzAwMjU0Nik7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMDAyNTQ2LCAjMDAyNTQ2KTsgfVxuICAgIC5yZWxhdGl2ZS10aXRsZSBhOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDM1cHg7XG4gICAgICBjb250ZW50OiBcIlxcMDAyYlwiO1xuICAgICAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zSGFsZmxpbmdzJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTNweDtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgY29sb3I6ICNmZmZmZmY7IH1cbiAgICAucmVsYXRpdmUtdGl0bGUgYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2YzOWY0YjsgfVxuICAucmVsYXRpdmUgdWwucmVsYXRpdmUtbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDVweCAwcHggMDtcbiAgICBtYXJnaW46IDAgMCAwIDIwcHg7IH1cbiAgICAucmVsYXRpdmUgdWwucmVsYXRpdmUtbGlzdCBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IDNiM2IzYiAjNjQzZDM4O1xuICAgICAgcGFkZGluZzogMTJweCAwIDEwcHggNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiAjNjQzZDM4OyB9XG4gICAgICAucmVsYXRpdmUgdWwucmVsYXRpdmUtbGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgICAgLnJlbGF0aXZlIHVsLnJlbGF0aXZlLWxpc3QgbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgICAgICAgLnJlbGF0aXZlIHVsLnJlbGF0aXZlLWxpc3QgbGkgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNjNzUxNTE7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgIC5yZWxhdGl2ZSB1bC5yZWxhdGl2ZS1saXN0IGxpIGEgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDE7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgICAucmVsYXRpdmUgdWwucmVsYXRpdmUtbGlzdCBsaSAuZGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogIzNiM2IzYjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4OyB9XG5cbi8qIFBhZ2luZyAqL1xuLnBhZ2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG51bC5wYWdlX19saXN0IHtcbiAgcGFkZGluZzogMjBweCAwIDAgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIHVsLnBhZ2VfX2xpc3QgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgMnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH1cbiAgICB1bC5wYWdlX19saXN0IGxpIGEge1xuICAgICAgY29sb3I6ICMzYjNiM2IgIWltcG9ydGFudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNiM2IzYjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cbiAgICAgIHVsLnBhZ2VfX2xpc3QgbGkgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZWZlNWNlICFpbXBvcnRhbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYjNiM2I7IH1cbiAgICAgIHVsLnBhZ2VfX2xpc3QgbGkgYS5kaXNhYmxlLFxuICAgICAgdWwucGFnZV9fbGlzdCBsaSBhOmhvdmVyIC5kaXNhYmxlIHtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYjNiM2I7XG4gICAgICAgIGNvbG9yOiAjM2IzYjNiICFpbXBvcnRhbnQ7IH1cbiAgICB1bC5wYWdlX19saXN0IGxpLmFjdGl2ZSBhIHtcbiAgICAgIGNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2IzYjNiO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNiM2IzYjsgfVxuICAgIHVsLnBhZ2VfX2xpc3QgbGkucHJldiBhLFxuICAgIHVsLnBhZ2VfX2xpc3QgbGkubmV4dCBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB3aWR0aDogMjZweDtcbiAgICAgIGhlaWdodDogMjZweDtcbiAgICAgIG1hcmdpbjogLTJweCAwIDAgMDsgfVxuXG4vKi0tLSBQb3B1cCAtLS0qL1xuLnBvcHVwIHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB6LWluZGV4OiAxMDAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41czsgfVxuICAucG9wdXAgLnBvcHVwLWJnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTsgfVxuICAucG9wdXAuYWN0aXZlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLnBvcHVwLWNsb3NlIHtcbiAgICBwYWRkaW5nOiAwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtMTIlO1xuICAgIHRvcDogLTEwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAucG9wdXAtY2xvc2U6aG92ZXIge1xuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDE1MCUpOyB9XG4gIC5wb3B1cC1jb250ZW50IHtcbiAgICB6LWluZGV4OiAyO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLnBvcHVwLmFjdGl2ZSAucG9wdXAtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG5cbi5wb3B1cC1naWZ0Y29kZSB7XG4gIHdpZHRoOiA1MDBweDtcbiAgaGVpZ2h0OiAyODVweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BvcHVwLWJnLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXIvMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiAxMCUgMTUlO1xuICBjb2xvcjogIzNiM2IzYjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucG9wdXAtZ2lmdGNvZGUgLnBvcHVwLXRpdGxlIHtcbiAgICBjb2xvcjogIzNiM2IzYjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmb250LWZhbWlseTogXCJSb2JvdG8gU2xhYlwiO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiBjYWxjKDEuMzc1cmVtICsgMS41dncpOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgLnBvcHVwLWdpZnRjb2RlIC5wb3B1cC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAucG9wdXAtZ2lmdGNvZGUgLnBvcHVwLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4OyB9IH1cbiAgLnBvcHVwLWdpZnRjb2RlIHAge1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjI2ODc1cmVtICsgMC4yMjV2dyk7XG4gICAgZm9udC1mYW1pbHk6IFwiUm9ib3RvIFNsYWJcIjsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5wb3B1cC1naWZ0Y29kZSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjQzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5wb3B1cC1naWZ0Y29kZSBwIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH1cbiAgLnBvcHVwLWdpZnRjb2RlIC52YWx1ZSB7XG4gICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgY29sb3I6ICNmZmZiZWU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgYmFja2dyb3VuZDogIzNjMzYyZjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAucG9wdXAtZ2lmdGNvZGUgLnZhbHVlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuLmJnb3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDsgfVxuXG4uYnV0dG9ucy1mb290ZXIge1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjMDkwOTA5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgbWFyZ2luOiAwIDAgMDsgfVxuICAuYnV0dG9ucy1mb290ZXIgYSB7XG4gICAgbWFyZ2luOiAwIDNweDsgfVxuXG4uZm9vdGVyIHtcbiAgY29sb3I6ICNhMDlmOWY7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMDAyNTQ2O1xuICBmb250LXNpemU6IDExcHg7IH1cbiAgLmZvb3RlciAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuZm9vdGVyLWl0ZW0ge1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmZvb3Rlci1pdGVtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDsgfSB9XG4gICAgLmZvb3Rlci1pdGVtIGxpIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuZm9vdGVyLWl0ZW0gbGkgYSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgICAgICAuZm9vdGVyLWl0ZW0gbGkgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDsgfSB9XG4gICAgICAgIC5mb290ZXItaXRlbSBsaSBhOmhvdmVyLCAuZm9vdGVyLWl0ZW0gbGkgYTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNlOGE1ODc7IH1cbiAgLmZvb3RlciAuY21uLW5hbWUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5mb290ZXIgLmNvcHlyaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjYTA5ZjlmO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMDsgfVxuICAuZm9vdGVyIC5pbWcxOCB7XG4gICAgbWFyZ2luOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuZm9vdGVyIC5pbWcxOCB7XG4gICAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogNXB4OyB9IH1cbiAgLmZvb3RlciBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuZm9vdGVyIC5jbW4ge1xuICAgIG1hcmdpbi1yaWdodDogMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgLmZvb3RlciAuY21uIHtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNXB4OyB9IH1cbiAgLmZvb3RlciAuYWRkcmVzcyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCAxMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbmlmcmFtZSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDtcbiAgaGVpZ2h0OiA5MHB4OyB9XG4iLCIvKipcbiAqIFN3aXBlciA1LjIuMFxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcbiAqIGh0dHA6Ly9zd2lwZXJqcy5jb21cbiAqXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE5IFZsYWRpbWlyIEtoYXJsYW1waWRpXG4gKlxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXG4gKlxuICogUmVsZWFzZWQgb246IE9jdG9iZXIgMjYsIDIwMTlcbiAqL1xuXG5AZm9udC1mYWNle2ZvbnQtZmFtaWx5OnN3aXBlci1pY29ucztzcmM6dXJsKFwiZGF0YTphcHBsaWNhdGlvbi9mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsIGQwOUdSZ0FCQUFBQUFBWmdBQkFBQUFBQURBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCR1JsUk5BQUFHUkFBQUFCb0FBQUFjaTZxSGtVZEVSVVlBQUFXZ0FBQUFJd0FBQUNRQVlBQlhSMUJQVXdBQUJoUUFBQUF1QUFBQU51QVk3K3hIVTFWQ0FBQUZ4QUFBQUZBQUFBQm0yZlBjelU5VEx6SUFBQUhjQUFBQVNnQUFBR0JQOVY1UlkyMWhjQUFBQWtRQUFBQ0lBQUFCWXQ2RjBjQmpkblFnQUFBQ3pBQUFBQVFBQUFBRUFCRUJSR2RoYzNBQUFBV1lBQUFBQ0FBQUFBai8vd0FEWjJ4NVpnQUFBeXdBQUFETUFBQUQyTUh0cnlWb1pXRmtBQUFCYkFBQUFEQUFBQUEyRTIrZW9XaG9aV0VBQUFHY0FBQUFId0FBQUNRQzlnRHphRzEwZUFBQUFpZ0FBQUFaQUFBQXJnSmtBQkZzYjJOaEFBQUMwQUFBQUZvQUFBQmFGUUFVR0cxaGVIQUFBQUc4QUFBQUh3QUFBQ0FBY0FCQWJtRnRaUUFBQS9nQUFBRTVBQUFDWHZGZEJ3bHdiM04wQUFBRk5BQUFBR0lBQUFDRTVzNzRoWGphWTJCa1lHQUFZcGY1SHUvaitXMitNbkF6TVlEQXphWDZRakQ2LzQvL0J4ajVHQThBdVJ3TVlHa0FQeXdMMTNqYVkyQmtZR0E4OFA4QWd4NGorLzhmUURZZkExQUVCV2dEQUlCMkJPb0FlTnBqWUdSZ1lOQmg0R2RnWWdBQkVNbklBQkp6WU5BRENRQUFDV2dBc1FCNDJtTmdZZnpDT0lHQmxZR0IwWWN4allHQndSMUtmMldRWkdoaFlHQmlZR1ZtZ0FGR0JpUVFrT2Fhd3REQW9NQlF4WGpnL3dFR1BjWUREQTR3TlVBMkNDZ3dzQUFBTzRFTDZnQUFlTnBqMk0wZ3lBQUNxeGdHTldCa1oyRDQvd01BK3hrRGRnQUFBSGphWTJCZ1lHYUFZQmtHUmdZUWlBSHlHTUY4RmdZSElNM0R3TUhBQkdRck1PZ3lXRExFTTFUOS93OFVCZkVNZ0x6RS8vLy9QLzUvL2YvVi94dityNGVhQUFlTWJBeHdJVVltSU1IRWdLWUFZalVjc0RBd3NMS3hjM0J5Y2ZQdzhqRVFBL2daQkFTRmhFVkV4Y1FsSktXa1pXVGw1QlVVbFpSVlZOWFVOVFFaQmdNQUFNUitFK2dBRVFGRUFBQUFLZ0FxQUNvQU5BQStBRWdBVWdCY0FHWUFjQUI2QUlRQWpnQ1lBS0lBckFDMkFNQUF5Z0RVQU40QTZBRHlBUHdCQmdFUUFSb0JKQUV1QVRnQlFnRk1BVllCWUFGcUFYUUJmZ0dJQVpJQm5BR21BYklCemdIc0FBQjQydTJOTVE2Q1VBeUdXNTY4eDlBbmVZWWdtNE1KYmhLRmFFeElPQVZYOEFwZXdTdDRCaWM0QWZlQWlkM1ZPQml4RHhmUFlFemE1TytYZmkwNFlBRGdnaVVJVUxDdUVKSzhWaE80YlN2cGRua3RISTVRQ1l0ZGkyc2w4Wm5YYUhscVVyTkt6ZEtjVDhjamxxK3J3WlN2SVZjek5pZXpzZm5QL3V6bm1mUEZCTk9ETTJLN01UUTQ1WUVBWnFHUDgxQW1HR2NGM2lQcU9vcDByMVNQVGFUYlZrZlVlNEhYajk3d1lFK3lOd1dZeHdXdTR2MXVnV0hnbzNTMVhkWkVWcVdNN0VUMGNmbkxHeFdma2dSNDJvMlB2V3JETUJTRmovSUhMYUYwektqUmdkaVZNd1NjTlJBb1dVb0g3OFkyaWNCL3lJWTA5QW42QUgyQmR1L1VCK3l4b3BZc2hRaUV2bnZ1MGRVUmdEdDhRZUM4UER3N0ZwamkzZkVBNHovUEVKNllPQjVoS2g0ZGozRXZYaHhQcUgvU0tVWTNySjdzclo0RlpuaDFQTUF0UGh3UDZmbDJQTUpNUERnZVE0clk4WVQ2R3phbzBlQUVBNDA5RHVnZ21UbkZuT2NTQ2lFaUxNZ3hDaVRJNkNxNURaVWQzUW1wMTB2TzBMYUxUZDJjak40Zk91bWxjN2xVWWJTUWNaRmt1dFJHN2c2SktaS3kwUm1kTFk2ODBDRG5FSitVTWtwRkZlMVJON254ZFZwWHJDNGFUdG5hdXJPblllcmNaZzJZVm1MTi9kL2djemZFaW1yRS9mcy9iT3VxMjlabW44dGxvT1JhWGdaZ0dhNzh5TzkvY25YbTJCcGFHdnEyNUR2OVM0RTkrNVNJYzlQcXVwSktoWUZTU2w0NytRY3IxbVlOQUFBQWVOcHR3MGNLd2tBQUFNRFpKQThRN09VSnZrTHNQZlo2ekZWRVJQeThxSGgyWUVSKzNpL0JQODN2SUJMTHlTc29LaW1ycUtxcGEyaHA2K2pxNlJzWUdobWJtSnFaU3kwc3JheHRiTzNzSFJ5ZG5FTVU0dVI2eXg3SkpYdmVQN1dyRHljQUFBQUFBQUgvL3dBQ2VOcGpZR1JnWU9BQlloa2daZ0pDWmdaTkJrWUdMUVp0SUpzRkxNWUFBQXczQUxnQWVOb2xpekVLZ0RBUUJDY2hSYkMyc0ZFUjBZRDZxVlFpQkN2L0g5ZXpHSTZaNVhCQXc4Q0JLL201aVFRVmF1VmJYTG5Pck1adjJvTGRLRmE4UGp1cnUyaEp6R2FibU9TTHpOTXp2dXRwQjNONDJtTmdaR0JnNEdLUVl6QmhZTXhKTE1sajRHQmdBWW93L1AvUEFKSmhMTTZzU29XS2ZXQ0FBd0RBamdiUkFBQjQybU5nWUdCa0FJSWJDWm81SVBybVVuMGhHQTBBTzhFRlRRQUFcIikgZm9ybWF0KFwid29mZlwiKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWx9OnJvb3R7LS1zd2lwZXItdGhlbWUtY29sb3I6IzAwN2FmZn0uc3dpcGVyLWNvbnRhaW5lcnttYXJnaW4tbGVmdDphdXRvO21hcmdpbi1yaWdodDphdXRvO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtsaXN0LXN0eWxlOm5vbmU7cGFkZGluZzowO3otaW5kZXg6MX0uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXdyYXBwZXJ7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zd2lwZXItd3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6MTtkaXNwbGF5OmZsZXg7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07Ym94LXNpemluZzpjb250ZW50LWJveH0uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsLnN3aXBlci13cmFwcGVye3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsMCwwKX0uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdz4uc3dpcGVyLXdyYXBwZXJ7ZmxleC13cmFwOndyYXB9LnN3aXBlci1jb250YWluZXItbXVsdGlyb3ctY29sdW1uPi5zd2lwZXItd3JhcHBlcntmbGV4LXdyYXA6d3JhcDtmbGV4LWRpcmVjdGlvbjpjb2x1bW59LnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlPi5zd2lwZXItd3JhcHBlcnt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDttYXJnaW46MCBhdXRvfS5zd2lwZXItc2xpZGV7ZmxleC1zaHJpbms6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtfS5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5re3Zpc2liaWxpdHk6aGlkZGVufS5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsLnN3aXBlci1jb250YWluZXItYXV0b2hlaWdodCAuc3dpcGVyLXNsaWRle2hlaWdodDphdXRvfS5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci13cmFwcGVye2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0saGVpZ2h0fS5zd2lwZXItY29udGFpbmVyLTNke3BlcnNwZWN0aXZlOjEyMDBweH0uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93LC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUsLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wLC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlcnt0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2R9LnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQsLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt0b3A6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3BvaW50ZXItZXZlbnRzOm5vbmU7ei1pbmRleDoxMH0uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0e2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGxlZnQscmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHR7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHRvcCxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b217YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcntvdmVyZmxvdzphdXRvO3Njcm9sbGJhci13aWR0aDpub25lOy1tcy1vdmVyZmxvdy1zdHlsZTpub25lfS5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcjo6LXdlYmtpdC1zY3JvbGxiYXJ7ZGlzcGxheTpub25lfS5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcj4uc3dpcGVyLXNsaWRle3Njcm9sbC1zbmFwLWFsaWduOnN0YXJ0IHN0YXJ0fS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXJ7c2Nyb2xsLXNuYXAtdHlwZTp4IG1hbmRhdG9yeX0uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbC5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlPi5zd2lwZXItd3JhcHBlcntzY3JvbGwtc25hcC10eXBlOnkgbWFuZGF0b3J5fTpyb290ey0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZTo0NHB4fS5zd2lwZXItYnV0dG9uLW5leHQsLnN3aXBlci1idXR0b24tcHJldntwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOmNhbGModmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkvIDQ0ICogMjcpO2hlaWdodDp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTttYXJnaW4tdG9wOmNhbGMoLTEgKiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKS8gMik7ei1pbmRleDoxMDtjdXJzb3I6cG9pbnRlcjtkaXNwbGF5OmZsZXg7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7Y29sb3I6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSl9LnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWRpc2FibGVkLC5zd2lwZXItYnV0dG9uLXByZXYuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZHtvcGFjaXR5Oi4zNTtjdXJzb3I6YXV0bztwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsLnN3aXBlci1idXR0b24tcHJldjphZnRlcntmb250LWZhbWlseTpzd2lwZXItaWNvbnM7Zm9udC1zaXplOnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO3RleHQtdHJhbnNmb3JtOm5vbmUhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOjA7dGV4dC10cmFuc2Zvcm06bm9uZTtmb250LXZhcmlhbnQ6aW5pdGlhbH0uc3dpcGVyLWJ1dHRvbi1wcmV2LC5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0e2xlZnQ6MTBweDtyaWdodDphdXRvfS5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXJ7Y29udGVudDoncHJldid9LnN3aXBlci1idXR0b24tbmV4dCwuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldntyaWdodDoxMHB4O2xlZnQ6YXV0b30uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLC5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVye2NvbnRlbnQ6J25leHQnfS5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi13aGl0ZSwuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGV7LS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvcjojZmZmZmZmfS5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1ibGFjaywuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2t7LS1zd2lwZXItbmF2aWdhdGlvbi1jb2xvcjojMDAwMDAwfS5zd2lwZXItYnV0dG9uLWxvY2t7ZGlzcGxheTpub25lfS5zd2lwZXItcGFnaW5hdGlvbntwb3NpdGlvbjphYnNvbHV0ZTt0ZXh0LWFsaWduOmNlbnRlcjt0cmFuc2l0aW9uOi4zcyBvcGFjaXR5O3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7ei1pbmRleDoxMH0uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVue29wYWNpdHk6MH0uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLC5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sLnN3aXBlci1wYWdpbmF0aW9uLWZyYWN0aW9ue2JvdHRvbToxMHB4O2xlZnQ6MDt3aWR0aDoxMDAlfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7b3ZlcmZsb3c6aGlkZGVuO2ZvbnQtc2l6ZTowfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt0cmFuc2Zvcm06c2NhbGUoLjMzKTtwb3NpdGlvbjpyZWxhdGl2ZX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZle3RyYW5zZm9ybTpzY2FsZSgxKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW1haW57dHJhbnNmb3JtOnNjYWxlKDEpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldnt0cmFuc2Zvcm06c2NhbGUoLjY2KX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYtcHJldnt0cmFuc2Zvcm06c2NhbGUoLjMzKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHR7dHJhbnNmb3JtOnNjYWxlKC42Nil9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0LW5leHR7dHJhbnNmb3JtOnNjYWxlKC4zMyl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt3aWR0aDo4cHg7aGVpZ2h0OjhweDtkaXNwbGF5OmlubGluZS1ibG9jaztib3JkZXItcmFkaXVzOjEwMCU7YmFja2dyb3VuZDojMDAwO29wYWNpdHk6LjJ9YnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHtib3JkZXI6bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Ym94LXNoYWRvdzpub25lOy13ZWJraXQtYXBwZWFyYW5jZTpub25lOy1tb3otYXBwZWFyYW5jZTpub25lO2FwcGVhcmFuY2U6bm9uZX0uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7Y3Vyc29yOnBvaW50ZXJ9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmV7b3BhY2l0eToxO2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSl9LnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHN7cmlnaHQ6MTBweDt0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUzZCgwcHgsLTUwJSwwKX0uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e21hcmdpbjo2cHggMDtkaXNwbGF5OmJsb2NrfS5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3t0b3A6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO3dpZHRoOjhweH0uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHtkaXNwbGF5OmlubGluZS1ibG9jazt0cmFuc2l0aW9uOi4ycyB0cmFuc2Zvcm0sLjJzIHRvcH0uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7bWFyZ2luOjAgNHB4fS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWlje2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO3doaXRlLXNwYWNlOm5vd3JhcH0uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e3RyYW5zaXRpb246LjJzIHRyYW5zZm9ybSwuMnMgbGVmdH0uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItcnRsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt0cmFuc2l0aW9uOi4ycyB0cmFuc2Zvcm0sLjJzIHJpZ2h0fS5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhcntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjI1KTtwb3NpdGlvbjphYnNvbHV0ZX0uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLWZpbGx7YmFja2dyb3VuZDp2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0cmFuc2Zvcm06c2NhbGUoMCk7dHJhbnNmb3JtLW9yaWdpbjpsZWZ0IHRvcH0uc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxse3RyYW5zZm9ybS1vcmlnaW46cmlnaHQgdG9wfS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLC5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZXt3aWR0aDoxMDAlO2hlaWdodDo0cHg7bGVmdDowO3RvcDowfS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLW9wcG9zaXRlLC5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhcnt3aWR0aDo0cHg7aGVpZ2h0OjEwMCU7bGVmdDowO3RvcDowfS5zd2lwZXItcGFnaW5hdGlvbi13aGl0ZXstLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiNmZmZmZmZ9LnN3aXBlci1wYWdpbmF0aW9uLWJsYWNrey0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3I6IzAwMDAwMH0uc3dpcGVyLXBhZ2luYXRpb24tbG9ja3tkaXNwbGF5Om5vbmV9LnN3aXBlci1zY3JvbGxiYXJ7Ym9yZGVyLXJhZGl1czoxMHB4O3Bvc2l0aW9uOnJlbGF0aXZlOy1tcy10b3VjaC1hY3Rpb246bm9uZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjEpfS5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWw+LnN3aXBlci1zY3JvbGxiYXJ7cG9zaXRpb246YWJzb2x1dGU7bGVmdDoxJTtib3R0b206M3B4O3otaW5kZXg6NTA7aGVpZ2h0OjVweDt3aWR0aDo5OCV9LnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci1zY3JvbGxiYXJ7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6M3B4O3RvcDoxJTt6LWluZGV4OjUwO3dpZHRoOjVweDtoZWlnaHQ6OTglfS5zd2lwZXItc2Nyb2xsYmFyLWRyYWd7aGVpZ2h0OjEwMCU7d2lkdGg6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjUpO2JvcmRlci1yYWRpdXM6MTBweDtsZWZ0OjA7dG9wOjB9LnN3aXBlci1zY3JvbGxiYXItY3Vyc29yLWRyYWd7Y3Vyc29yOm1vdmV9LnN3aXBlci1zY3JvbGxiYXItbG9ja3tkaXNwbGF5Om5vbmV9LnN3aXBlci16b29tLWNvbnRhaW5lcnt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6ZmxleDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2FsaWduLWl0ZW1zOmNlbnRlcjt0ZXh0LWFsaWduOmNlbnRlcn0uc3dpcGVyLXpvb20tY29udGFpbmVyPmNhbnZhcywuc3dpcGVyLXpvb20tY29udGFpbmVyPmltZywuc3dpcGVyLXpvb20tY29udGFpbmVyPnN2Z3ttYXgtd2lkdGg6MTAwJTttYXgtaGVpZ2h0OjEwMCU7b2JqZWN0LWZpdDpjb250YWlufS5zd2lwZXItc2xpZGUtem9vbWVke2N1cnNvcjptb3ZlfS5zd2lwZXItbGF6eS1wcmVsb2FkZXJ7d2lkdGg6NDJweDtoZWlnaHQ6NDJweDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjUwJTt0b3A6NTAlO21hcmdpbi1sZWZ0Oi0yMXB4O21hcmdpbi10b3A6LTIxcHg7ei1pbmRleDoxMDt0cmFuc2Zvcm0tb3JpZ2luOjUwJTthbmltYXRpb246c3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcjtib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyOjRweCBzb2xpZCB2YXIoLS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO2JvcmRlci1yYWRpdXM6NTAlO2JvcmRlci10b3AtY29sb3I6dHJhbnNwYXJlbnR9LnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZXstLXN3aXBlci1wcmVsb2FkZXItY29sb3I6I2ZmZn0uc3dpcGVyLWxhenktcHJlbG9hZGVyLWJsYWNrey0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjojMDAwfUBrZXlmcmFtZXMgc3dpcGVyLXByZWxvYWRlci1zcGluezEwMCV7dHJhbnNmb3JtOnJvdGF0ZSgzNjBkZWcpfX0uc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbntwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7cG9pbnRlci1ldmVudHM6bm9uZTtvcGFjaXR5OjA7ei1pbmRleDotMTAwMH0uc3dpcGVyLWNvbnRhaW5lci1mYWRlLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlIC5zd2lwZXItc2xpZGV7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9LnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZle3BvaW50ZXItZXZlbnRzOmF1dG99LnN3aXBlci1jb250YWluZXItY3ViZXtvdmVyZmxvdzp2aXNpYmxlfS5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47ei1pbmRleDoxO3Zpc2liaWxpdHk6aGlkZGVuO3RyYW5zZm9ybS1vcmlnaW46MCAwO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCV9LnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLWNvbnRhaW5lci1jdWJlLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItc2xpZGV7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9LnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtYWN0aXZlIC5zd2lwZXItc2xpZGUtYWN0aXZle3BvaW50ZXItZXZlbnRzOmF1dG99LnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCwuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCsuc3dpcGVyLXNsaWRlLC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2e3BvaW50ZXItZXZlbnRzOmF1dG87dmlzaWJpbGl0eTp2aXNpYmxlfS5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we3otaW5kZXg6MDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvd3twb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7Ym90dG9tOjBweDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2JhY2tncm91bmQ6IzAwMDtvcGFjaXR5Oi42Oy13ZWJraXQtZmlsdGVyOmJsdXIoNTBweCk7ZmlsdGVyOmJsdXIoNTBweCk7ei1pbmRleDowfS5zd2lwZXItY29udGFpbmVyLWZsaXB7b3ZlcmZsb3c6dmlzaWJsZX0uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3otaW5kZXg6MX0uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9we3otaW5kZXg6MDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufSIsIi5mYW5jeWJveC1lbmFibGVkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtZW5hYmxlZCBib2R5IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uZmFuY3lib3gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTkzO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIE1ha2Ugc3VyZSB0aGF0IHRoZSBmaXJzdCBvbmUgaXMgb24gdGhlIHRvcCAqL1xuLmZhbmN5Ym94LWNvbnRhaW5lciB+IC5mYW5jeWJveC1jb250YWluZXIge1xuICB6LWluZGV4OiA5OTk5MjsgfVxuXG4uZmFuY3lib3gtYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogIzBmMGYxMTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA2LCAwLjY4LCAwLjE5KTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtY29udGFpbmVyLS1yZWFkeSAuZmFuY3lib3gtYmcge1xuICBvcGFjaXR5OiAwLjg3O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpOyB9XG5cbi5mYW5jeWJveC1jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTk5NDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnM7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXJlY3Rpb246IGx0cjsgfVxuXG4uZmFuY3lib3gtc2hvdy1jb250cm9scyAuZmFuY3lib3gtY29udHJvbHMge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYW5jeWJveC1pbmZvYmFyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtc2hvdy1pbmZvYmFyIC5mYW5jeWJveC1pbmZvYmFyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG5cbi5mYW5jeWJveC1pbmZvYmFyX19ib2R5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNzBweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2RkZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMCwgMzAsIDMwLCAwLjcpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxuXG4uZmFuY3lib3gtYnV0dG9ucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4uZmFuY3lib3gtc2hvdy1idXR0b25zIC5mYW5jeWJveC1idXR0b25zIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZhbmN5Ym94LXNsaWRlci13cmFwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlyZWN0aW9uOiBsdHI7IH1cblxuLmZhbmN5Ym94LXNsaWRlci13cmFwLFxuLmZhbmN5Ym94LXNsaWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHotaW5kZXg6IDk5OTkzO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5mYW5jeWJveC1zbGlkZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdXRsaW5lOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDk5OTk0O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuLmZhbmN5Ym94LXNsaWRlOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAwOyB9XG5cbi5mYW5jeWJveC1zbGlkZSA+ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjRweDtcbiAgbWFyZ2luOiA0NHB4IDAgNDRweDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBvdmVyZmxvdzogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYW5jeWJveC1jb250ZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogNDRweCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiA4MCU7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gODhweCk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuLmZhbmN5Ym94LWlmcmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jb250ZW50LFxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtaWZyYW1lIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICB6LWluZGV4OiA5OTk5NTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1pbWFnZSxcbi5mYW5jeWJveC1zcGFjZWJhbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOyB9XG5cbi5mYW5jeWJveC1jb250cm9scy0tY2Fuem9vbU91dCAuZmFuY3lib3gtcGxhY2Vob2xkZXIge1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gIGN1cnNvcjogem9vbS1vdXQ7IH1cblxuLmZhbmN5Ym94LWNvbnRyb2xzLS1jYW56b29tSW4gLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4uZmFuY3lib3gtY29udHJvbHMtLWNhbkdyYWIgLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjsgfVxuXG4uZmFuY3lib3gtY29udHJvbHMtLWlzR3JhYmJpbmcgLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nOyB9XG5cbi5mYW5jeWJveC1zcGFjZWJhbGwge1xuICB6LWluZGV4OiAxOyB9XG5cbi5mYW5jeWJveC10bXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgbGVmdDogLTk5OTlweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1lcnJvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA0MHB4O1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMzgwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5mYW5jeWJveC1lcnJvciBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzQ0NDtcbiAgZm9udDogMTZweC8yMHB4IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjsgfVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNHB4O1xuICByaWdodDogNHB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGZvbnQ6IDIxcHgvMSBBcmlhbCxcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB6LWluZGV4OiAyOyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgIzg4ODsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gIHRvcDogLTM2cHg7XG4gIHJpZ2h0OiAtMzZweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyIHtcbiAgY29sb3I6ICM1NTU7XG4gIGJhY2tncm91bmQ6ICNlZWU7IH1cblxuLyogQ2FwdGlvbiAqL1xuLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogNjBweCAzMHB4IDAgMzBweDtcbiAgei1pbmRleDogOTk5OTg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkgMjAlLCByZ2JhKDAsIDAsIDAsIDAuMikgNDAlLCByZ2JhKDAsIDAsIDAsIDAuNikgODAlLCByZ2JhKDAsIDAsIDAsIDAuOCkgMTAwJSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uZmFuY3lib3gtc2hvdy1jYXB0aW9uIC5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIHtcbiAgcGFkZGluZzogMzBweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIGEsXG4uZmFuY3lib3gtY2FwdGlvbiBidXR0b24ge1xuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogQnV0dG9ucyAqL1xuLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5mYW5jeWJveC1idXR0b24tLWRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uZmFuY3lib3gtaW5mb2Jhcl9fYm9keSwgLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMCwgMC42KTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpOyB9XG5cbi5mYW5jeWJveC1idXR0b246OmJlZm9yZSxcbi5mYW5jeWJveC1idXR0b246OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICBvcGFjaXR5OiAwLjk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1kaXNhYmxlZDo6YmVmb3JlLFxuLmZhbmN5Ym94LWJ1dHRvbi0tZGlzYWJsZWQ6OmFmdGVyIHtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi5mYW5jeWJveC1idXR0b24tLWxlZnQ6OmFmdGVyIHtcbiAgbGVmdDogMjBweDtcbiAgdG9wOiAxOHB4O1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodDogc29saWQgMnB4IGN1cnJlbnRDb2xvcjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1yaWdodDo6YWZ0ZXIge1xuICByaWdodDogMjBweDtcbiAgdG9wOiAxOHB4O1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodDogc29saWQgMnB4IGN1cnJlbnRDb2xvcjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1sZWZ0IHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4OyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXJpZ2h0IHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YmVmb3JlLCAuZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogMTZweDtcbiAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gOHB4KTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi8qIExvYWRpbmcgc3Bpbm5lciAqL1xuLmZhbmN5Ym94LWxvYWRpbmcge1xuICBib3JkZXI6IDZweCBzb2xpZCByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNCk7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGhlaWdodDogNTBweDtcbiAgd2lkdGg6IDUwcHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTI1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgei1pbmRleDogOTk5OTk7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhbmN5Ym94LXJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbi8qIFN0eWxpbmcgZm9yIFNtYWxsLVNjcmVlbiBEZXZpY2VzICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAuZmFuY3lib3gtY29udHJvbHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdCxcbiAgLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQsXG4gIC5mYW5jeWJveC1idXR0b25zIGJ1dHRvbjpub3QoLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2UpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmZhbmN5Ym94LWNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG4vKiBGdWxsc2NyZWVuICAqL1xuLmZhbmN5Ym94LWJ1dHRvbi0tZnVsbHNjcmVlbjo6YmVmb3JlIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTFweDtcbiAgbGVmdDogMTVweDtcbiAgdG9wOiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZDtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4vKiBTbGlkZXNob3cgYnV0dG9uICovXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5OjpiZWZvcmUge1xuICB0b3A6IDE2cHg7XG4gIGxlZnQ6IDE4cHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDZweCBpbnNldCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IGluc2V0IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMTBweCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1wYXVzZTo6YmVmb3JlIHtcbiAgdG9wOiAxNnB4O1xuICBsZWZ0OiAxOHB4O1xuICB3aWR0aDogN3B4O1xuICBoZWlnaHQ6IDExcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCAycHggMCAycHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi8qIFRodW1icyAqL1xuLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzIHNwYW4ge1xuICBmb250LXNpemU6IDIzcHg7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzOjpiZWZvcmUge1xuICB0b3A6IDIwcHg7XG4gIGxlZnQ6IDIxcHg7XG4gIHdpZHRoOiAzcHg7XG4gIGhlaWdodDogM3B4O1xuICBib3gtc2hhZG93OiAwIC00cHggMCwgLTRweCAtNHB4IDAsIDRweCAtNHB4IDAsIDAgMCAwIDMycHggaW5zZXQsIC00cHggMCAwLCA0cHggMCAwLCAwIDRweCAwLCAtNHB4IDRweCAwLCA0cHggNHB4IDA7IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jb250cm9scyxcbi5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtc2xpZGVyLXdyYXAsXG4uZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIHJpZ2h0OiAyMjBweDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHdpZHRoOiAyMjBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA1cHggNXB4IDAgMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgei1pbmRleDogOTk5OTM7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgZm9udC1zaXplOiAwOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC13aWR0aDogNTAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDVweDtcbiAgaGVpZ2h0OiA3NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiA1cHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmxpLmZhbmN5Ym94LXRodW1icy1sb2FkaW5nIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpID4gaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGk6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogNHB4IHNvbGlkICM0ZWE3Zjk7XG4gIHotaW5kZXg6IDk5OTkxO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkuZmFuY3lib3gtdGh1bWJzLWFjdGl2ZTpiZWZvcmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIFN0eWxpbmcgZm9yIFNtYWxsLVNjcmVlbiBEZXZpY2VzICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAuZmFuY3lib3gtdGh1bWJzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jb250cm9scyxcbiAgLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1zbGlkZXItd3JhcCxcbiAgLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICAgIHJpZ2h0OiAwOyB9IH1cbiIsIi8vIERlZmF1bHQgdmFyaWFibGVzXG4kZm9udF9zaXplOiAxNHB4ICFkZWZhdWx0O1xuJGZvbnRfc2l6ZV9zbWFsbDogMTJweCAhZGVmYXVsdDtcblxuJGlucHV0X2JvcmRlcl9yYWRpdXM6IDVweCAhZGVmYXVsdDtcbiRpbnB1dF9oZWlnaHQ6IDQycHggIWRlZmF1bHQ7XG4kaW5wdXRfaGVpZ2h0X3NtYWxsOiAzNnB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duX3BhZGRpbmc6IDE4cHggIWRlZmF1bHQ7XG5cbiRncmF5X2Rhcms6ICM0NDQgIWRlZmF1bHQ7XG4kZ3JheTogIzk5OSAhZGVmYXVsdDtcbiRncmF5X2xpZ2h0OiAjZThlOGU4ICFkZWZhdWx0O1xuJGdyYXlfbGlnaHRlcjogI2Y2ZjZmNiAhZGVmYXVsdDtcbiRwcmltYXJ5X2xpZ2h0OiAkZ3JheSAhZGVmYXVsdDtcbiRhcnJvd19jb2xvcjogJGdyYXkgIWRlZmF1bHQ7XG5cbi8vIFN0eWxlIHRoZSBkcm9wZG93blxuLm5pY2Utc2VsZWN0IHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXRfYm9yZGVyX3JhZGl1cztcbiAgYm9yZGVyOiBzb2xpZCAxcHggJGdyYXlfbGlnaHQ7IFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjbGVhcjogYm90aDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6ICRmb250X3NpemU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGhlaWdodDogJGlucHV0X2hlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dF9oZWlnaHQgLSAyO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6ICRkcm9wZG93bl9wYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkZHJvcGRvd25fcGFkZGluZyArIDEyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogYXV0bztcbiAgJjpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oJGdyYXlfbGlnaHQsIDUlKTtcbiAgfVxuICAmOmFjdGl2ZSwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkcHJpbWFyeV9saWdodDtcbiAgfVxuICAvLyBBcnJvd1xuICAmOmFmdGVyIHsgXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRhcnJvd19jb2xvcjtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAkYXJyb3dfY29sb3I7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7IFxuICAgIGhlaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyBcbiAgICByaWdodDogMTJweDsgXG4gICAgdG9wOiA1MCU7IFxuICAgIHRyYW5zZm9ybS1vcmlnaW46IDY2JSA2NiU7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogNXB4O1xuICB9XG4gIFxuICAmLm9wZW4ge1xuICAgIEBleHRlbmQgOmFjdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgIH1cbiAgICAubGlzdCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7XG4gICAgfVxuICB9XG4gICYuZGlzYWJsZWQge1xuICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkZ3JheV9saWdodCwgMiUpO1xuICAgIGNvbG9yOiAkZ3JheTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAmOmFmdGVyIHsgXG4gICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGFycm93X2NvbG9yLCAyMCUpO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gTW9kaWZpZXJzXG4gICYud2lkZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLmxpc3Qge1xuICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgJi5yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIC5saXN0IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cbiAgJi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkZm9udF9zaXplX3NtYWxsO1xuICAgIGhlaWdodDogJGlucHV0X2hlaWdodF9zbWFsbDtcbiAgICBsaW5lLWhlaWdodDogJGlucHV0X2hlaWdodF9zbWFsbCAtIDI7XG4gICAgJjphZnRlciB7IFxuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICB3aWR0aDogNHB4O1xuICAgIH1cbiAgICAub3B0aW9uIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXRfaGVpZ2h0X3NtYWxsIC0gMjtcbiAgICAgIG1pbi1oZWlnaHQ6ICRpbnB1dF9oZWlnaHRfc21hbGwgLSAyO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gTGlzdCBhbmQgb3B0aW9uc1xuICAubGlzdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXRfYm9yZGVyX3JhZGl1cztcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkZ3JheV9kYXJrLCAuMTEpO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIG9wYWNpdHk6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7IGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguNzUpIHRyYW5zbGF0ZVkoLSAkaW5wdXRfaGVpZ2h0IC8gMik7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBjdWJpYy1iZXppZXIoMC41LCAwLCAwLCAxLjI1KSwgb3BhY2l0eSAuMTVzIGVhc2Utb3V0O1xuICAgIHotaW5kZXg6IDk7XG4gICAgJjpob3ZlciAub3B0aW9uOm5vdCg6aG92ZXIpIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIC5vcHRpb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXRfaGVpZ2h0IC0gMjtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1pbi1oZWlnaHQ6ICRpbnB1dF9oZWlnaHQgLSAyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAkZHJvcGRvd25fcGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZHJvcGRvd25fcGFkZGluZyArIDExO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gICAgJjpob3ZlciwgJi5mb2N1cywgJi5zZWxlY3RlZC5mb2N1cyB7IFxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXlfbGlnaHRlcjtcbiAgICB9XG4gICAgJi5zZWxlY3RlZCB7IFxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuICAgICYuZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogJGdyYXk7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFVzZSBkaXNwbGF5IGluc3RlYWQgb2Ygb3BhY2l0eSBmb3IgSUUgPD0gMTBcbi5uby1jc3Nwb2ludGVyZXZlbnRzIC5uaWNlLXNlbGVjdCB7XG4gIC5saXN0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gICYub3BlbiB7XG4gICAgLmxpc3Qge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59IiwiLyphbmltYXRpb25zKi9cblxuLyoqKioqKioqKioqKioqKioqKlxuKiBCb3VuY2UgaW4gcmlnaHQgKlxuKioqKioqKioqKioqKioqKioqKi9cblxuXG4uYW5pbWF0ZWQge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLnNsb3cge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG59XG5cbi5zbG93ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLnNsb3dlc3Qge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLyogQWRkZWQgYnkgQW5keSBNZWV0YW4gKi9cbi5kZWxheS0yNTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjI1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAwLjI1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjI1cztcbn1cblxuLmRlbGF5LTUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDAuNXM7XG59XG5cbi5kZWxheS03NTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC43NXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbn1cblxuLmRlbGF5LTEwMDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS4wcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEuMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjBzO1xufVxuXG4uZGVsYXktMTI1MCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEuMjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDEuMjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuMjVzO1xufVxuXG4uZGVsYXktMTUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuNXM7XG59XG5cbi5kZWxheS0xNzUwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEuNzVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS43NXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS43NXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMS43NXM7XG59XG5cbi5kZWxheS0yMDAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMi4wcztcbn1cblxuLmRlbGF5LTI1MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xufVxuXG4uZGVsYXktMjAwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuMHM7XG59XG5cbi5kZWxheS0yNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMi41cztcbn1cblxuLmRlbGF5LTMwMDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMy4wcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDMuMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMy4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAzLjBzO1xufVxuXG4uZGVsYXktMzUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAzLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMy41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAzLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDMuNXM7XG59XG5cbi5ib3VuY2VJblJpZ2h0LFxuLmJvdW5jZUluTGVmdCxcbi5ib3VuY2VJblVwLFxuLmJvdW5jZUluRG93biB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbn1cblxuLmZhZGVJblJpZ2h0LFxuLmZhZGVJbkxlZnQsXG4uZmFkZUluVXAsXG4uZmFkZUluRG93biB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbn1cblxuLmZsaXBJblgsXG4uZmxpcEluWSxcbi5yb3RhdGVJbixcbi5yb3RhdGVJblVwTGVmdCxcbi5yb3RhdGVJblVwUmlnaHQsXG4ucm90YXRlSW5Eb3duTGVmdCxcbi5yb3RhdGVEb3duVXBSaWdodCxcbi5yb2xsSW4ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4ubGlnaHRTcGVlZEluUmlnaHQsXG4ubGlnaHRTcGVlZEluTGVmdCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbn1cblxuLyoqKioqKioqKioqXG4qIGJvdW5jZUluICpcbioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMyk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjkpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICB9XG5cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC45KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuLmJvdW5jZUluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbn1cblxuLyoqKioqKioqKioqKioqKipcbiogYm91bmNlSW5SaWdodCAqXG4qKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuXG4uYm91bmNlSW5SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiBsZWZ0ICpcbioqKioqKioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7XG4gIH1cblxuICA2MCUge1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7XG4gIH1cblxuICA2MCUge1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uYm91bmNlSW5MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiB1cCAqXG4qKioqKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpO1xuICB9XG5cbiAgNjAlIHtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmJvdW5jZUluVXAuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDtcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiBkb3duICpcbioqKioqKioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7XG4gIH1cblxuICA2MCUge1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7XG4gIH1cblxuICA2MCUge1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uYm91bmNlSW5Eb3duLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duO1xufVxuXG5cbi8qKioqKioqKioqXG4qIEZhZGUgSW4gKlxuKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmZhZGVJbiB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5mYWRlSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG59XG5cbi8qKioqKioqKioqXG4qIEdyb3cgaW4gKlxuKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBncm93SW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7XG5cbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZ3Jvd0luIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG5cbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uZ3Jvd0luIHtcblxuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uZ3Jvd0luLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZ3Jvd0luO1xuICBhbmltYXRpb24tbmFtZTogZ3Jvd0luO1xufVxuXG4vKioqKioqKipcbiogU2hha2UgKlxuKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Uge1xuXG4gIDAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuXG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICB9XG59XG5cbi5zaGFrZS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlO1xuICBhbmltYXRpb24tbmFtZTogc2hha2U7XG59XG5cbi8qKioqKioqKlxuKiBTaGFrZVVwICpcbioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlVXAge1xuXG4gIDAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2hha2VVcCB7XG5cbiAgMCUsXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gIH1cbn1cblxuLnNoYWtlVXAuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZVVwO1xuICBhbmltYXRpb24tbmFtZTogc2hha2VVcDtcbn1cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluTGVmdCAqXG4qKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5mYWRlSW5MZWZ0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7XG59XG5cbi5mYWRlSW5MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7XG59XG5cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluUmlnaHQgKlxuKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uZmFkZUluUmlnaHQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG59XG5cbi5mYWRlSW5SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG59XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJblVwICpcbioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmZhZGVJblVwIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpO1xufVxuXG4uZmFkZUluVXAuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xufVxuXG4vKioqKioqKioqKioqKlxuKiBGYWRlSW5Eb3duICpcbioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmZhZGVJbkRvd24ge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTtcbn1cblxuLmZhZGVJbkRvd24uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjtcbn1cblxuLyoqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluICpcbioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluO1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47XG59XG5cbi8qKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJblVwTGVmdCAqXG4qKioqKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwTGVmdC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluRG93bkxlZnQgKlxuKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5Eb3duTGVmdC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluVXBSaWdodCAqXG4qKioqKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5VcFJpZ2h0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5Eb3duUmlnaHQgKlxuKioqKioqKioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluRG93blJpZ2h0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbn1cblxuLyoqKioqKioqKlxuKiByb2xsSW4gKlxuKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm9sbEluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxufVxuXG4ucm9sbEluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluO1xuICBhbmltYXRpb24tbmFtZTogcm9sbEluO1xufVxuXG4vKioqKioqKioqXG4qIHdpZ2dsZSAqXG4qKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd2lnZ2xlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg5ZGVnKTtcbiAgfVxuXG4gIDEwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC04ZGVnKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDdkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTZkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNWRlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgzZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0yZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDFkZWcpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB3aWdnbGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg5ZGVnKTtcbiAgfVxuXG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7XG4gIH1cblxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goN2RlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTZkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC00ZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgzZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMWRlZyk7XG4gIH1cblxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpO1xuICB9XG59XG5cbi53aWdnbGUuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3aWdnbGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGU7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbn1cblxuLyoqKioqKioqXG4qIHN3aW5nICpcbioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHN3aW5nIHtcblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgfVxuXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG59XG5cbi5zd2luZy5nbyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZztcbn1cblxuLyoqKioqKipcbiogdGFkYSAqXG4qKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMTAlLFxuICAyMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cblxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTtcbiAgfVxuXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5cbiAgMTAlLFxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO1xuICB9XG5cbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO1xuICB9XG5cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTtcbiAgfVxufVxuXG4udGFkYS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhO1xufVxuXG4vKioqKioqKioqXG4qIHdvYmJsZSAqXG4qKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7XG4gIH1cblxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB3b2JibGUge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuXG4gIDE1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTtcbiAgfVxuXG4gIDQ1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTtcbiAgfVxuXG4gIDc1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gIH1cbn1cblxuLndvYmJsZS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHdvYmJsZTtcbn1cblxuLyoqKioqKioqXG4qIHB1bHNlICpcbioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHtcbiAgLy8gMCUge1xuICAvLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLy8gfVxuXG4gIC8vIDUwJSB7XG4gIC8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIC8vIH1cblxuICAvLyAxMDAlIHtcbiAgLy8gICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC8vIH1cbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIH1cblxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBwdWxzZSB7XG4gIC8vIDAlIHtcbiAgLy8gICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAvLyB9XG5cbiAgLy8gNTAlIHtcbiAgLy8gICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIC8vIH1cblxuICAvLyAxMDAlIHtcbiAgLy8gICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAvLyB9XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG59XG5cbi5wdWxzZS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7XG59XG5cbi8qKioqKioqKioqKioqKipcbiogbGlnaHRTcGVlZEluUmlnaHQgKlxuKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW5SaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5saWdodFNwZWVkSW5SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluUmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xufVxuXG4vKioqKioqKioqKioqKioqXG4qIGxpZ2h0U3BlZWRJbkxlZnQgKlxuKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgxNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRJbkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cblxuLyoqKioqKipcbiogRmxpcCAqXG4qKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxNzBkZWcpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIH1cbn1cblxuLmZsaXAuZ28ge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcDtcbn1cblxuLyoqKioqKioqKipcbiogZmxpcEluWCAqXG4qKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblgge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5mbGlwSW5YLmdvIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7XG59XG5cbi8qKioqKioqKioqXG4qIGZsaXBJblkgKlxuKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDEwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcEluWSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7XG4gIH1cblxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5mbGlwSW5ZLmdvIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG59XG5cbi8qKioqKioqKioqKioqKioqKlxuKiBPdXQgYW5pbWF0aW9ucyAqXG4qKioqKioqKioqKioqKioqKi9cblxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAyNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOTUpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjMpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjk1KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjMpO1xuICB9XG59XG5cbi5ib3VuY2VPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xufVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dFVwICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG59XG5cbi5ib3VuY2VPdXRVcC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xufVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dERvd24gKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICB9XG59XG5cbi5ib3VuY2VPdXREb3duLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duO1xufVxuXG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0TGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dExlZnQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG59XG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0UmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG59XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5mYWRlT3V0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xufVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXRVcCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG59XG5cbi5mYWRlT3V0VXAuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xufVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXREb3duICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXREb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTtcbiAgfVxufVxuXG4uZmFkZU91dERvd24uZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbn1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0TGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgfVxufVxuXG4uZmFkZU91dExlZnQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbn1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0UmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7XG4gIH1cbn1cblxuLmZhZGVPdXRSaWdodC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG59XG5cbi8qKioqKioqKioqKipcbiogZmxpcE91dFggKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsaXBPdXRYLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi8qKioqKioqKioqKipcbiogZmxpcE91dFkgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZsaXBPdXRZIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbn1cblxuLyoqKioqKioqKioqKlxuKiBsaWdodFNwZWVkT3V0UmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZE91dFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5cbi8qKioqKioqKioqKipcbiogbGlnaHRTcGVlZE91dExlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRPdXRMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dExlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcblxufVxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xufVxuXG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0VXBMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dFVwTGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG59XG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0RG93bkxlZnQgKlxuKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5yb3RhdGVPdXREb3duTGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xufVxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dFVwUmlnaHQgKlxuKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dFVwUmlnaHQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7XG59XG5cbi8qKioqKioqKioqKipcbiogcm9sbE91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7XG4gIH1cbn1cblxuLnJvbGxPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKlxuKiBTaG9ydCBBbmltYXRpb25zXG4qKioqKioqKioqKioqKioqKioqL1xuXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJblVwU2hvcnRcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5VcFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXBTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5mYWRlSW5VcFNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbn1cblxuLmZhZGVJblVwU2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcFNob3J0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBTaG9ydDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5Eb3duU2hvcnRcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duU2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93blNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5mYWRlSW5Eb3duU2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG59XG5cbi5mYWRlSW5Eb3duU2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duU2hvcnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duU2hvcnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKipcbiogZmFkZUluUmlnaHRTaG9ydCBcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluUmlnaHRTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodFNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbn1cblxuLmZhZGVJblJpZ2h0U2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodFNob3J0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRTaG9ydDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5MZWZ0U2hvcnQgXG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnRTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG4uZmFkZUluTGVmdFNob3J0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xufVxuXG4uZmFkZUluTGVmdFNob3J0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluTGVmdFNob3J0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdFNob3J0O1xufVxuIiwiLyoqKioqKioqKipcbiogWm9vbSBpbiAqXG4qKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyB6b29tSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICBvcGFjaXR5OiAuODtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC44KTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgIG9wYWNpdHk6IC44O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi56b29tSW4ge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoNSk7XG4gIC1tcy10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDUpO1xuICBvcGFjaXR5OiAwO1xufVxuXG4uem9vbUluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tZHVyYXRpb246IC41cztcbn1cblxuXG4vKioqKioqKipcbiogU2hha2VVcDIgKlxuU2hha2UgYW5kIHBhdXNlIFxuKioqKioqKiovXG4vLyBALXdlYmtpdC1rZXlmcmFtZXMgc2hha2VVcDIge1xuXG4vLyAgIDAlLFxuLy8gICAxMCUsXG4vLyAgIDIwJSxcbi8vICAgMzAlLFxuLy8gICAxMDAlIHtcbi8vICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbi8vICAgfVxuXG5cbi8vICAgNTAlLFxuLy8gICA3MCUsXG4vLyAgIDkwJSB7XG4vLyAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuLy8gICB9XG5cbi8vICAgNDAlLFxuLy8gICA2MCUsXG4vLyAgIDgwJSB7XG4vLyAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4vLyAgIH1cbi8vIH1cblxuQGtleWZyYW1lcyBzaGFrZVVwMiB7XG5cbiAgMCUsXG4gIDUwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cblxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cblxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICB9XG59XG5cbi5zaGFrZXVwMiB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXAyO1xuICBhbmltYXRpb24tbmFtZTogc2hha2VVcDI7XG59XG5cbi5zaGFrZTIge1xuICAvKiBTdGFydCB0aGUgc2hha2UgYW5pbWF0aW9uIGFuZCBtYWtlIHRoZSBhbmltYXRpb24gbGFzdCBmb3IgMC41IHNlY29uZHMgKi9cbiAgYW5pbWF0aW9uOiBzaGFrZSAxcztcblxuICAvKiBXaGVuIHRoZSBhbmltYXRpb24gaXMgZmluaXNoZWQsIHN0YXJ0IGFnYWluICovXG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHNoYWtlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMXB4KSByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIC0ycHgpIHJvdGF0ZSgtMWRlZyk7XG4gIH1cblxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zcHgsIDBweCkgcm90YXRlKDFkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzcHgsIDJweCkgcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIC0xcHgpIHJvdGF0ZSgxZGVnKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgMnB4KSByb3RhdGUoLTFkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtM3B4LCAxcHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoM3B4LCAxcHgpIHJvdGF0ZSgtMWRlZyk7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIC0xcHgpIHJvdGF0ZSgxZGVnKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAycHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgLTJweCkgcm90YXRlKC0xZGVnKTtcbiAgfVxufVxuXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmbGFzaGxpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAtNDBweCkgc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGFzaGxpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHNjYWxlKDEpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAtNDBweCkgc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gIH1cbn1cblxuLnJvdGF0aW5nIHtcbiAgLy8gLXdlYmtpdC1hbmltYXRpb246IHJvdGF0aW5nIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAvLyAtbW96LWFuaW1hdGlvbjogcm90YXRpbmcgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIC8vIC1tcy1hbmltYXRpb246IHJvdGF0aW5nIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAvLyAtby1hbmltYXRpb246IHJvdGF0aW5nIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICBhbmltYXRpb246IHJvdGF0aW5nIDMwcyBsaW5lYXIgaW5maW5pdGU7XG4gIFxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0aW9uIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cblxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgfVxufSIsIi8qLS0tIEFib3V0IFRleHQgLS0tKi9cbkBtaXhpbiB0ZXh0LWFsaWduKCRhbGlnbkhvcml6b3RhbDogbm9ybWFsLCAkYWxpZ25WZXJ0aWNhbDogbm9ybWFsKSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogJGFsaWduSG9yaXpvdGFsO1xuICBhbGlnbi1pdGVtczogJGFsaWduVmVydGljYWw7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yKCRjb2xvcjogaW5oZXJpdCwgJGZvbnRTaXplOiBpbmhlcml0LCAkdGV4dFRyYW5zZm9ybTogaW5oZXJpdCwgJHRleHRBbGlnbjogaW5oZXJpdCwgJGZvbnRXZWlnaHQ6IG5vcm1hbCkge1xuICBjb2xvcjogJGNvbG9yO1xuICB0ZXh0LXRyYW5zZm9ybTogJHRleHRUcmFuc2Zvcm07XG4gIHRleHQtYWxpZ246ICR0ZXh0QWxpZ247XG4gIGZvbnQtd2VpZ2h0OiAkZm9udFdlaWdodDtcblxuICBAaWYgJGZvbnRTaXplICE9aW5oZXJpdCB7XG4gICAgZm9udC1zaXplOiAkZm9udFNpemU7XG4gIH1cbn1cblxuQG1peGluIHRleHQtc3Ryb2tlKCRzdHJva2VUaGljaywgJHN0cm9rZURpcmVjdCwgJHN0cm9rZUNvbG9yMSwgJHN0cm9rZUNvbG9yMikge1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkc3Ryb2tlRGlyZWN0LCAkc3Ryb2tlQ29sb3IxLCAkc3Ryb2tlQ29sb3IyKTtcbiAgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi9cbiAgLXdlYmtpdC10ZXh0LXN0cm9rZTogJHN0cm9rZVRoaWNrIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjAxKTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG59XG5cbkBtaXhpbiB0ZXh0LWdyYWRpZW50KCRkaXJlY3Rpb246IHRvIGJvdHRvbSwgJGNvbG9yLXN0b3BzLi4uKSB7XG4gIC8vIFRoZSB2YWx1ZXMgdG8gdG9wLCB0byBib3R0b20sIHRvIGxlZnQsIGFuZCB0byByaWdodCBhcmUgZXF1aXZhbGVudCB0byB0aGUgYW5nbGVzIDBkZWcsIDE4MGRlZywgMjcwZGVnLCBhbmQgOTBkZWcsIHJlc3BlY3RpdmVseS4gVGhlIG90aGVyIHZhbHVlcyBhcmUgdHJhbnNsYXRlZCBpbnRvIGFuIGFuZ2xlLlxuICBAaWYgaXMtZGlyZWN0aW9uKCRkaXJlY3Rpb24pPT1mYWxzZSB7XG4gICAgJGNvbG9yLXN0b3BzOiAkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHM7XG4gICAgJGRpcmVjdGlvbjogMTgwZGVnO1xuICB9XG4gIGJhY2tncm91bmQ6IG50aChudGgoJGNvbG9yLXN0b3BzLCAxKSwgMSk7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oJGRpcmVjdGlvbiksICRjb2xvci1zdG9wcyk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiB0ZXh0IHRydW5jYXRlIG11bHRpbGluZSAqL1xuQG1peGluIHRleHQtdHJ1bmNhdGUoJGxpbmVDb3VudDogMikge1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAkbGluZUNvdW50O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuXG59XG5cbi8vIHRleHQgZWxsaXBzaXNcbkBtaXhpbiB0ZXh0LWVsbGlwc2lzKCR3aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuXG4vLyB0ZXh0IHNoYWRvd1xuQG1peGluIHRleHQtc2hhZG93KCR4LCAkeSwgJGJsdXIsICRjb2xvciwgJHRyYW5wYXJlbnQpIHtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygkeCAkeSAkYmx1ciByZ2JhKCRjb2xvciwgJHRyYW5wYXJlbnQpKTtcbn1cblxuXG5cbi8vIEFib3V0IFJlc3BvbnNpdmVcbkBtaXhpbiBtcS1taW4tbWF4KCRtaW4sICRtYXgpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuQG1peGluIG1xLW1pbigkdmFsdWUpIHtcbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdmFsdWUpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbXEtbWF4KCR2YWx1ZSkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICR2YWx1ZSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8qLS0tIEFib3V0IEltYWdlcyAtLS0qL1xuQG1peGluIGltYWdlLWZpdCgkaGVpZ2h0KSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG5cbi8vLSBHcmF5c2NhbGU6IDEgLCBOb25lOiAwXG5AbWl4aW4gaW1hZ2UtZ3JheXNjYWxlKCR2YWx1ZToxKSB7XG4gIGZpbHRlcjogZ3JheTsgICAvKiBJRTYtOSAqL1xuICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKCR2YWx1ZSk7ICAvKiBHb29nbGUgQ2hyb21lLCBTYWZhcmkgNisgJiBPcGVyYSAxNSsgKi9cbiAgZmlsdGVyOiBncmF5c2NhbGUoJHZhbHVlKTsgICAvKiBNaWNyb3NvZnQgRWRnZSBhbmQgRmlyZWZveCAzNSsgKi9cbn1cblxuXG5cbi8qLS0tIEFib3V0IFBvc2l0aW9uIC0tLSovXG5AbWl4aW4gcG9zaXRpb24oJHBvc2l0aW9uOiByZWxhdGl2ZSwgJGNvb3JkaW5hdGVzOiBudWxsIG51bGwgbnVsbCBudWxsKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbik9PWxpc3Qge1xuICAgICRjb29yZGluYXRlczogJHBvc2l0aW9uO1xuICAgICRwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAkY29vcmRpbmF0ZXM6IHVucGFjaygkY29vcmRpbmF0ZXMpO1xuICAkb2Zmc2V0czogKHRvcDogbnRoKCRjb29yZGluYXRlcywgMSksXG4gICAgcmlnaHQ6IG50aCgkY29vcmRpbmF0ZXMsIDIpLFxuICAgIGJvdHRvbTogbnRoKCRjb29yZGluYXRlcywgMyksXG4gICAgbGVmdDogbnRoKCRjb29yZGluYXRlcywgNCkpO1xuICBwb3NpdGlvbjogJHBvc2l0aW9uO1xuXG4gIEBlYWNoICRvZmZzZXQsXG4gICR2YWx1ZSBpbiAkb2Zmc2V0cyB7XG4gICAgQGlmIGlzLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICN7JG9mZnNldH06ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8tLS0gQWJvdXQgRWZmZWN0IEhvdmVyIC0tLSovXG5AbWl4aW4gZWZmZWN0LWdyYWRpZW50LWxpbmVhcigkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMuLi4pIHtcbiAgLy8gVGhlIHZhbHVlcyB0byB0b3AsIHRvIGJvdHRvbSwgdG8gbGVmdCwgYW5kIHRvIHJpZ2h0IGFyZSBlcXVpdmFsZW50IHRvIHRoZSBhbmdsZXMgMGRlZywgMTgwZGVnLCAyNzBkZWcsIGFuZCA5MGRlZywgcmVzcGVjdGl2ZWx5LiBUaGUgb3RoZXIgdmFsdWVzIGFyZSB0cmFuc2xhdGVkIGludG8gYW4gYW5nbGUuXG4gIEBpZiBpcy1kaXJlY3Rpb24oJGRpcmVjdGlvbik9PWZhbHNlIHtcbiAgICAkY29sb3Itc3RvcHM6ICRkaXJlY3Rpb24sICRjb2xvci1zdG9wcztcbiAgICAkZGlyZWN0aW9uOiAxODBkZWc7XG4gIH1cbiAgYmFja2dyb3VuZDogbnRoKG50aCgkY29sb3Itc3RvcHMsIDEpLCAxKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigkZGlyZWN0aW9uKSwgJGNvbG9yLXN0b3BzKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvci1zdG9wcyk7XG59XG5cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gQWJvdXQgQnV0dG9uIC0tLSovXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuXG4vLy0tLSBCVE4gRWZmZWN0XG5AbWl4aW4gaG92ZXItYm9yZGVyLXdyYXBwaW5nKCRib3JkZXJDb2xvcjogIzIwOThEMSwgJGJvcmRlclN0eWxlOiBzb2xpZCwgJGJvcmRlcldpZHRoOiA1cHgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IG5vbmU7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyOiAkYm9yZGVyQ29sb3IgJGJvcmRlclN0eWxlO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggMC4xcyBlYXNlLW91dDtcbiAgfVxuXG4gICY6aG92ZXI6YmVmb3JlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBib3JkZXItd2lkdGg6ICRib3JkZXJXaWR0aDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItdHJhbnNsYXRlWCgkdmFsdWUpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlLWluLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHZhbHVlKTtcbiAgfVxufVxuQG1peGluIGhvdmVyLXRyYW5zbGF0ZVkoJHZhbHVlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZS1pbi1vdXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR2YWx1ZSk7XG4gIH1cbn1cblxuXG4vKi0tLSBDdXN0b21pemUgU2Nyb2xsYmFyIC0tLSovXG5AbWl4aW4gc2Nyb2xsLWJhciggJGNvbG9yLXNjcm9sbC1iYXItdGh1bWIsICRjb2xvci1zY3JvbGwtYmFyLCAkc2Nyb2xsYmFyLXdpZHRoOiA1cHgpIHtcbiAgLy8gc2Nyb2xsYmFyLXdpZHRoOiAkc2Nyb2xsYmFyLXdpZHRoO1xuICAvLyBzY3JvbGxiYXItY29sb3I6ICRjb2xvci1zY3JvbGwtYmFyICRjb2xvci1zY3JvbGwtYmFyLXRodW1iO1xuICAvLyAmOjotd2Via2l0LXNjcm9sbGJhciB7IC8qIFdvcmtzIG9uIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaSAqL1xuICAvLyAgIHdpZHRoOiAkc2Nyb2xsYmFyLXdpZHRoO1xuICAvLyB9XG5cbiAgLy8gJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAvLyAgIGJhY2tncm91bmQ6ICRjb2xvci1zY3JvbGwtYmFyLXRodW1iO1xuICAvLyAgIGJvcmRlci1yYWRpdXM6ICRzY3JvbGxiYXItd2lkdGg7XG4gIC8vIH1cblxuICAvLyAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIC8vICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXNjcm9sbC1iYXI7XG4gIC8vICAgYm9yZGVyLXJhZGl1czogJHNjcm9sbGJhci13aWR0aDtcbiAgLy8gICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itc2Nyb2xsLWJhcjtcbiAgLy8gfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zY3JvbGwtYmFyO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICB3aWR0aDogJHNjcm9sbGJhci13aWR0aDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Nyb2xsLWJhcjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gIH1cbiAgLy8gJjo6LXdlYmtpdC1zY3JvbGxiYXI6aG9yaXpvbnRhbCB7XG4gIC8vICAgaGVpZ2h0OiA4cHg7XG4gIC8vIH1cblxuICAmOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zY3JvbGwtYmFyLXRodW1iO1xuICB9XG4gIG92ZXJmbG93OiBhdXRvO1xuICBcbn1cblxuIiwiLyotLS0gQWJvdXQgVGV4dCAtLS0qL1xuLy8gJXRleHQtY2VudGVyIHtcbi8vICAgZGlzcGxheTogZmxleDtcbi8vICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4vLyB9XG5cbi8vICV0ZXh0LW1pZGRsZSB7XG4vLyAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyB9XG5cbi8vICV0ZXh0LWNlbnRlci1taWRkbGUge1xuLy8gICBkaXNwbGF5OiBmbGV4O1xuLy8gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vIH1cblxuXG4iLCIkY29sb3ItMTogIzAwNENBMjtcbiRjb2xvci0yOiAjYzBjMGMwO1xuXG4vKi0tLSBTbW9vdGggU2Nyb2xsIC0tLSovXG5odG1sIHtcbiAgLy8gc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG46OnNlbGVjdGlvbiB7XG4gIGNvbG9yOiAkY29sb3ItMTtcbiAgYmFja2dyb3VuZDogJGNvbG9yLTI7XG59XG5cbi8qLS0tIEFuaW1hdGUgYSAtLS0qL1xuYSB7XG4gIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gIGltZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIH1cbn1cblxuLyotLS0gQ3VzdG9taXplIFNjcm9sbGJhciAtLS0qL1xuLy8gKiB7IC8qIFdvcmsgb24gRmlyZWZveCAqL1xuLy8gICBzY3JvbGxiYXItd2lkdGg6IDVweDtcbi8vICAgc2Nyb2xsYmFyLWNvbG9yOiAkY29sb3ItMSAkY29sb3ItMjtcbi8vIH1cblxuLy8gKjo6LXdlYmtpdC1zY3JvbGxiYXIgeyAvKiBXb3JrcyBvbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgKi9cbi8vICAgd2lkdGg6IDVweDtcbi8vIH1cblxuLy8gKjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuLy8gICBiYWNrZ3JvdW5kOiAkY29sb3ItMjtcbi8vICAgYm9yZGVyLXJhZGl1czogNXB4O1xuLy8gfVxuXG4vLyAqOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4vLyAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0xO1xuLy8gICBib3JkZXItcmFkaXVzOiA1cHg7XG4vLyAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci0xO1xuLy8gfVxuXG5cblxuLyotLS0gQ29tbW9uIENsYXNzTmFtZSAtLS0qL1xuLmxvb3AtaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cblxuLmxvb3AtNSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDU7XG59XG5cbi8vIC5mbGFzaC1saWdodCB7XG4vLyAgIGFuaW1hdGlvbjogZmxhc2hsaWdodCAzcyBlYXNlLWluLW91dCA1cyBpbmZpbml0ZSBhbHRlcm5hdGU7XG4vLyAgIC8vIC13ZWJraXQtYW5pbWF0aW9uOiBmbGFzaGxpZ2h0IDNzIGVhc2UtaW4tb3V0IDBzIGluZmluaXRlIGFsdGVybmF0ZTtcbi8vIH1cblxuXG5cbi8qLS0tIEFib3V0IEJ1dHRvbiAtLS0qL1xuLmJ0bi1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgaW1nOmxhc3QtY2hpbGQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBpbWc6bGFzdC1jaGlsZCB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi5idG4taG92ZXItem9vbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICY6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgfVxufVxuXG4uYnRuLWhvdmVyLXRyYW5zbGF0ZVgge1xuICBAaW5jbHVkZSBob3Zlci10cmFuc2xhdGVYKC0xMHB4KTtcbn1cblxuLmJ0bi1ob3Zlci10cmFuc2xhdGVZIHtcbiAgQGluY2x1ZGUgaG92ZXItdHJhbnNsYXRlWSgtNXB4KTtcbn1cblxuLmJ0bi1ob3Zlci11bmRlcmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6YmVmb3JlIHtcbiAgICB3aWR0aDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgfVxuXG4gICY6aG92ZXI6YmVmb3JlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uYnRuLWhvdmVyLWJvcmRlci13cmFwcGluZyB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgQGluY2x1ZGUgaG92ZXItYm9yZGVyLXdyYXBwaW5nKCNmZmYwMDAsIGRhc2hlZCwgNXB4KTtcbn1cblxuLmJ0bi1ob3Zlci1zaGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdG9wOiAtMTEwJTtcbiAgICBsZWZ0OiAtMjEwJTtcbiAgICB3aWR0aDogMjAwJTtcbiAgICBoZWlnaHQ6IDIwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMykgMCUsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMykgNzclLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgOTIlLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMCkgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpO1xuICB9XG5cbiAgJjpob3ZlcjphZnRlciB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNoaW5lIC43NXM7XG4gICAgYW5pbWF0aW9uOiBzaGluZSAuNzVzO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdG9wOiAtMzAlO1xuICAgIGxlZnQ6IC0zMCU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdCxcbiAgICAgIHRvcCxcbiAgICAgIG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMXMsXG4gICAgICAxcyxcbiAgICAgIC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIH1cbn1cblxuLyotLS0gQWJvdXQgVGV4dCAtLS0qL1xuLnRleHQtdHJ1bmNhdGUge1xuICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKDIpO1xufVxuXG4udGV4dC1zdHJva2Uge1xuICBmb250LXNpemU6IDEwMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgQGluY2x1ZGUgdGV4dC1zdHJva2UoNXB4LCA5MGRlZywgIzAwMCAyMCUsICNmMDAgNTAlKTtcbn1cblxuLnRleHQtZ3JhZGllbnQge1xuICBAaW5jbHVkZSB0ZXh0LWRlY29yKG51bGwsIDEwMHB4LCB1cHBlcmNhc2UsIG51bGwpO1xuICBAaW5jbHVkZSB0ZXh0LWdyYWRpZW50KDE4MGRlZywgIzAwMCwgI2YwMCwgI2ZmZjAwMCk7XG59XG5cblxuLyotLS0gQWJvdXQgSW1hZ2UgLS0tKi9cbi5pbWFnZS1maXQge1xuICB3aWR0aDogMjUwcHg7XG4gIEBpbmNsdWRlIGltYWdlLWZpdCgzNTBweCk7XG59XG5cbi8qLS0tIEFib3V0IEVmZmVjdCAtLS0qL1xuLmVmZmVjdC1ncmFkaWVudC1saW5lYXIge1xuICBAaW5jbHVkZSBlZmZlY3QtZ3JhZGllbnQtbGluZWFyKHRvIGJvdHRvbSwgIzc3RDdFNyA1MCUsICNmZjAwMDAgNTAlLCAjZmZmMDAwIDEwMCUpO1xufVxuXG4vKi0tLSBBYm91dCBPdGhlciAtLS0qL1xuLmhvdmVyLXN0b3AtYW5pbWF0ZWQge1xuICAmOmhvdmVyIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gICAgLW1vei1hbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAgIC1vLWFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3RlcC1lbmQ7XG4gICAgLW1vei1hbmltYXRpb25hbmltYXRpb246IHN0ZXAtZW5kO1xuICAgIGFuaW1hdGlvbjogc3RlcC1lbmQ7XG4gIH1cbn0iLCIuaGVhZGVyIHtcbiAgd2lkdGg6ICRjb250YWluZXItd2lkdGg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA4MTVweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZWN0aW9uMS1iZy5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wL2NvdmVyO1xuICBtYXJnaW46IDAgYXV0byAwcHg7XG4gIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgIGhlaWdodDogNjAwcHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgfVxuICBAaW5jbHVkZSBtcS1tYXgoNDAwcHgpIHtcbiAgICBoZWlnaHQ6IDUzMHB4O1xuICB9XG4gIC5jb250YWluZXIge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gZGlzcGxheTogZmxleDtcbiAgfSBcblxuICAubmF2LXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwIG51bGwgbnVsbCAwKTtcbiAgICB6LWluZGV4OiAxMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgLy8gei1pbmRleDogMTAwMDtcbiAgICBiYWNrZ3JvdW5kOiAjMTAxNDEzO1xuICAgIGNvbG9yOiAjMmIyYjJiO1xuICAgIFxuICAgIEBpbmNsdWRlIHBhZGRpbmcoMCAwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAuZ2FtZS1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luOiAxM3B4IDAgMDtcbiAgICAgIGNvbG9yOiAjZjVmOGZjO1xuICAgICAgZm9udC1mYW1pbHk6ICdyb2JvdG9zbGFiJztcbiAgICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogI2U2YzY4MztcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5sb2dvIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMHB4IG51bGwgbnVsbCA1MCUpO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgICAgdG9wOiAyMHB4O1xuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgbXEtbWF4KDQwMHB4KSB7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIC8vIG1heC13aWR0aDogODBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmFnZTE4IHtcbiAgICBtYXJnaW46IDEwcHggMCAwIDEwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICB9XG5cbiAgLmF2YXRhciB7XG4gICAgbWFyZ2luOiA1cHggMTBweCAwIDEwcHg7ICAgXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICAvLyBib3JkZXI6IHNvbGlkIDJweCAjZmZmO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogNTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gIC5wbGF5LXZpZGVvIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTElIG51bGwgbnVsbCA4MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUpO1xuXG4gICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDgzJTtcbiAgICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogODBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGV4dCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDU4JSBudWxsIG51bGwgNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICB0b3A6IDU1JTsgIFxuICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEtbWF4KDQwMHB4KSB7XG4gICAgICAvLyB0b3A6IDYwJTtcbiAgICB9XG4gIH1cbn1cblxuLnRhaWdhbWUtYnRuIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxN3B4O1xuICByaWdodDogNDVweDtcbiAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgdG9wOiAyMHB4O1xuICAgIC8vIHJpZ2h0OiA0NXB4O1xuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDcwcHg7XG4gICAgfVxuICB9XG4gICY6aG92ZXIge1xuICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMTAlKTtcbiAgfVxufVxuLnNlYXJjaC1idG4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIEBpbmNsdWRlIHRleHQtZGVjb3IoI2ZmZiwgMjBweCk7XG4gIHJpZ2h0OiA0NXB4O1xuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2VkYzU2NDtcbiAgfVxufVxuXG4uYnRuLWhhbSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxNXB4IDEwcHggbnVsbCBudWxsKTtcbiAgei1pbmRleDogMTAwMTtcbiAgLy8gZGlzcGxheTogbm9uZTtcbiAgd2lkdGg6IDI1cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAmLmFjdGl2ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG59XG5cbi5idG4taGFtIHNwYW4sXG4uYnRuLWhhbTphZnRlcixcbi5idG4taGFtOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogM3B4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBtYXJnaW46IDZweCAwcHg7XG4gIHRyYW5zaXRpb246IDAuNHM7XG59XG5cbi5idG4taGFtLmFjdGl2ZTpiZWZvcmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtOHB4LCA2cHgpO1xuICBiYWNrZ3JvdW5kOiAjZjVmOGZjO1xufVxuXG4uYnRuLWhhbS5hY3RpdmU6YWZ0ZXIge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlKC02cHgsIC01cHgpO1xuICBiYWNrZ3JvdW5kOiAjZjVmOGZjO1xufVxuXG4uYnRuLWhhbS5hY3RpdmUgc3BhbiB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7XG4gIFxufVxuXG4ubWVudSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAgMCAwIDApO1xuICBkaXNwbGF5OiBibG9jaztcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiA2MHB4O1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAmLmFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKCMwMDAwMDAsIDAuOSk7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gaGVpZ2h0OiA1N3B4O1xuICAgIHotaW5kZXg6IC0yO1xuICAgIG1hcmdpbjogMCA3cHg7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1mYW1pbHk6IFwiU0ZcIjtcbiAgICAgIGNvbG9yOiAjZjVmOGZjO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAvLyBAaW5jbHVkZSB0ZXh0LXN0cm9rZSgxcHgsIDE4MGRlZywgIzAwMDAwMCwgIzAwMDAwMCk7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmYWM2Mzc7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSxcbiAgICAmOmhvdmVyIHt9XG5cbiAgICAmLmFjdGl2ZSBhIHtcbiAgICAgIC8vIEBpbmNsdWRlIHRleHQtZ3JhZGllbnQoMTgwZGVnLCAjZmZlZjA3LCAjZmZjODA0KTtcbiAgICAgIC8vIGNvbG9yOiAkbWFpbkNvbG9yLTM7XG4gICAgfVxuXG4gIH1cbn1cblxuLmJ1dHRvbnMtbGlzdCB7XG4gIHdpZHRoOiA1MTBweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA3cHg7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgMzBweCA1MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIC8vIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYnV0dG9ucy1saXN0LWJnLnBuZykgbm8tcmVwZWF0IDAgMC8xMDAlIDEwMCU7XG4gIGJhY2tncm91bmQ6ICMyZjMxMmE7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJvcmRlcjogNHB4IHNvbGlkICNlY2NkNzQ7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICB0b3A6IC04cHg7XG4gICAgbGVmdDogLThweDtcbiAgICByaWdodDogLThweDtcbiAgICBib3R0b206IC04cHg7XG4gICAgYm9yZGVyOiA0cHggc29saWQgIzI2NTM3NztcbiAgICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICB9XG4gIFxuICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICBcbiAgICBib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogN3B4IDEycHg7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIGxlZnQ6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBpbmNsdWRlIG1xLW1heCg0MDBweCkge1xuICAgIC8vIG1heC13aWR0aDogMTA1JTtcbiAgfVxuXG4gIGxpIHtcbiAgICBtYXJnaW46IDAgMHB4O1xuICAgIFxuICAgIC8vICY6bGFzdC1jaGlsZCB7XG4gICAgLy8gICB3aWR0aDogMTgwcHg7XG4gICAgLy8gICAvLyBnYXA6IDVweDtcbiAgICAvLyAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvLyAgIGEge1xuICAgICAgICBcbiAgICAvLyAgIH1cbiAgICAvLyB9XG4gICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG5cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIC8vIEBleHRlbmQgLmJ0bi1ob3Zlci1zaGluZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuNTtcbiAgICAgIHBhZGRpbmc6IDAgMHB4O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMTAlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hvaW5nYXktYnRuIHtcbiAgICAgIG1hcmdpbjogLTQ1cHggMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSB2YWx1ZVxuJHJmcy1iYXNlLXZhbHVlOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLXVuaXQgIT0gcmVtIGFuZCAkcmZzLXVuaXQgIT0gcHgge1xuICBAZXJyb3IgXCJgI3skcmZzLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xufVxuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIHZhbHVlcyBzdGFydCBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIFJlc2l6ZSB2YWx1ZXMgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBudW1iZXIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBNb2RlLiBQb3NzaWJpbGl0aWVzOiBcIm1pbi1tZWRpYS1xdWVyeVwiLCBcIm1heC1tZWRpYS1xdWVyeVwiXG4kcmZzLW1vZGU6IG1pbi1tZWRpYS1xdWVyeSAhZGVmYXVsdDtcblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJmcyB0byBmYWxzZVxuJGVuYWJsZS1yZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS12YWx1ZSB1bml0XG4kcmZzLWJhc2UtdmFsdWUtdW5pdDogdW5pdCgkcmZzLWJhc2UtdmFsdWUpO1xuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS12YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcHgge1xuICAkcmZzLWJhc2UtdmFsdWU6ICRyZnMtYmFzZS12YWx1ZSAvICgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6ICRyZnMtYmFzZS12YWx1ZSAvICgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1lZGlhIHF1ZXJ5IHZhbHVlXG4kcmZzLW1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7JHJmcy1icmVha3BvaW50IC8gJHJmcy1yZW0tdmFsdWV9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuJHJmcy1tcS1wcm9wZXJ0eS13aWR0aDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LXdpZHRoLCBtaW4td2lkdGgpO1xuJHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHQ6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLXJ1bGUge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIHByb3BlcnR5XG4gICAgJixcbiAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgLmVuYWJsZS1yZnMgJixcbiAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUge1xuXG4gIEBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSB7XG4gICAgICAuZW5hYmxlLXJmcyAmLFxuICAgICAgJi5lbmFibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBmb3JtYXR0ZWQgbm9uLXJlc3BvbnNpdmUgdmFsdWVcbkBmdW5jdGlvbiByZnMtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiAnJztcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArICcgMCc7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7JHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArIGlmKCRyZnMtdW5pdCA9PSBweCwgI3skdmFsdWUgLyAoJHZhbHVlICogMCArIDEpICogJHJmcy1yZW0tdmFsdWV9cHgsICR2YWx1ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6ICcnO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgJyAwJztcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJHZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbiAgICAgICAgJHZhbHVlOiAkdmFsdWUgLyAoJHZhbHVlICogMCArIGlmKCR1bml0ID09IHB4LCAxLCAxIC8gJHJmcy1yZW0tdmFsdWUpKTtcblxuICAgICAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICBAaWYgYWJzKCR2YWx1ZSkgPD0gJHJmcy1iYXNlLXZhbHVlIG9yIG5vdCAkZW5hYmxlLXJmcyB7XG4gICAgICAgICAgJHZhbDogJHZhbCArICcgJyArICBpZigkcmZzLXVuaXQgPT0gcmVtLCAjeyR2YWx1ZSAvICRyZnMtcmVtLXZhbHVlfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyAoYWJzKCR2YWx1ZSkgLSAkcmZzLWJhc2UtdmFsdWUpIC8gJHJmcy1mYWN0b3I7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICR2YWx1ZSBhbmQgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtZGlmZjogYWJzKCR2YWx1ZSkgLSAkdmFsdWUtbWluO1xuXG4gICAgICAgICAgLy8gQmFzZSB2YWx1ZSBmb3JtYXR0aW5nXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy11bml0ID09IHJlbSwgI3skdmFsdWUtbWluIC8gJHJmcy1yZW0tdmFsdWV9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7JHZhbHVlLWRpZmYgKiAxMDAgLyAkcmZzLWJyZWFrcG9pbnR9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgICAgICAvLyBSZXR1cm4gdGhlIGNhbGN1bGF0ZWQgdmFsdWVcbiAgICAgICAgICAkdmFsOiAkdmFsICsgJyBjYWxjKCcgKyAkbWluLXdpZHRoICsgaWYoJHZhbHVlIDwgMCwgJyAtICcsICcgKyAnKSArICR2YXJpYWJsZS13aWR0aCArICcpJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gUkZTIG1peGluXG5AbWl4aW4gcmZzKCR2YWx1ZXMsICRwcm9wZXJ0eTogZm9udC1zaXplKSB7XG4gIEBpZiAkdmFsdWVzICE9IG51bGwge1xuICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWVzKTtcbiAgICAkZmx1aWRWYWw6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKTtcblxuICAgIC8vIERvIG5vdCBwcmludCB0aGUgbWVkaWEgcXVlcnkgaWYgcmVzcG9uc2l2ZSAmIG5vbi1yZXNwb25zaXZlIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICBAaWYgJHZhbCA9PSAkZmx1aWRWYWwge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBfcmZzLXJ1bGUge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICR2YWwsICRmbHVpZFZhbCk7XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICRmbHVpZFZhbCwgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNob3J0aGFuZCBoZWxwZXIgbWl4aW5zXG5AbWl4aW4gZm9udC1zaXplKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmcpO1xufVxuXG5AbWl4aW4gcGFkZGluZy10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctdG9wKTtcbn1cblxuQG1peGluIHBhZGRpbmctcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctcmlnaHQpO1xufVxuXG5AbWl4aW4gcGFkZGluZy1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctYm90dG9tKTtcbn1cblxuQG1peGluIHBhZGRpbmctbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1sZWZ0KTtcbn1cblxuQG1peGluIG1hcmdpbigkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luKTtcbn1cblxuQG1peGluIG1hcmdpbi10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi10b3ApO1xufVxuXG5AbWl4aW4gbWFyZ2luLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tcmlnaHQpO1xufVxuXG5AbWl4aW4gbWFyZ2luLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBtYXJnaW4tbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWxlZnQpO1xufVxuIiwiOnJvb3Qge1xuICAgIC8qIE5vdCBteSBmYXZvcml0ZSB0aGF0IGxpbmUtaGVpZ2h0IGhhcyB0byBiZSB1bml0ZWQsIGJ1dCBuZWVkZWQgKi9cbiAgICAtLWxoOiAxLjRyZW07XG59XG5cbmh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplSHRtbFRhZztcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tbGgpO1xufVxuXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZENvbG9yICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRtYWluQ29sb3IgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogJGZvbnROb3JtYWwgIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogJGxpbmVIZWlnaHQgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogJGZvbnRGYW1pbHkgIWltcG9ydGFudDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMTZweCk7XG59XG5cblxuYSB7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICRtYWluTGlua0NvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBjb2xvcjogJG1haW5MaW5rQ29sb3ItaG92ZXI7XG4gICAgfVxufVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2OmZvY3VzLFxuLnN3aXBlci1idXR0b24tbmV4dDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuXG4uc2hvdy1tb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uc2hvdy1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi5sb29wLWluZmluaXRlIHtcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cblxuLmxvb3AtNSB7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogNTtcbn1cblxuLmltYWdlLXpvb20tYnRuIHtcbiAgICBpbWcge1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICB9XG4gICAgJjphY3RpdmUgaW1nIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIH1cbn0iLCIvKi0tLS0gQ29udGVudCBDU1MgVmFyaWJsZXMgLS0tLSovXG4kdGV4dC1jb2xvcjogIzNiM2IzYjtcbiRjb2xvci1saW5rLWNvbnRlbnQ6ICM5YjJhMmU7XG4kY29sb3ItbGluay1jb250ZW50LWhvdmVyOiAjY2Q4MjJkO1xuXG4kY29sb3ItZmlyc3QtbGV0dGVyOiAjMjkyODI2O1xuJGNvbG9yLXN0cm9uZy0xOiAjY2UwMDE5O1xuJGNvbG9yLXN0cm9uZy0yOiAjY2RhMTAyO1xuJGNvbG9yLXN0cm9uZy0zOiAjMDA2Y2M4O1xuXG4kaDMtY29sb3I6ICMzYjNiM2I7XG4vLyAkaDMtZm9udC1mYW1pbHk6IFNGLUJvbGQ7XG5cbiRoNC1jb2xvcjogI2M3NTE1MTtcbiRoNC1wYWRkaW5nOiA1MHB4O1xuXG4kaDUtY29sb3I6ICNjNzUxNTE7XG4kaDUtcGFkZGluZzogNDBweDtcblxuJGJhY2tncm91bmQtdGFibGUtaGVhZDogIzEyNGM3ZjtcbiRjb2xvci10YWJsZS1oZWFkOiAjZWVmOWY5O1xuJGNvbG9yLWJvcmRlci10YWJsZTogIzFkMGEwMTtcbiRiYWNrZ3JvdW5kLXJvdy0xOiAjYWRjNmRhO1xuJGJhY2tncm91bmQtcm93LTI6ICNkOWUyZWM7XG4kY29sb3ItdGFibGUtdGV4dDogIzZjNWY1NTtcbiRjb2xvci10YWJsZS10ZXh0LWhvdmVyOiAkbWFpbkxpbmtDb2xvci1ob3ZlcjtcblxuLyotLS0gSW1hZ2UgLS0tLS0qL1xuJGNvbG9yLWJvcmRlci1pbWFnZTogIzAwMDtcbiRjb2xvci1iYWNrZ3JvdW5kLWltYWdlOiAjMDAwO1xuXG5cbi8qLS0tIE5vdGljZSBCb3ggLS0tKi9cbiRsZWdlbmQtYmFja2dyb3VuZDogI2NjMTgwMDtcbiRsZWdlbmQtYm9yZGVyOiAjY2MxODAwO1xuJGxlZ2VuZC1jb2xvcjogI2ZmZjtcbiRub3RpY2UtYmFja2dyb3VuZDogI2Q5ZTJlYztcbiRub3RpY2UtYm9yZGVyOiAjMWEwMDAwO1xuJG5vdGljZS1jb2xvcjogIzFlMmMxOTtcbiRub3RpY2UtbGluay1jb2xvcjogIzFjNzZmZDtcbiRub3RpY2UtbGluay1jb2xvci1ob3ZlcjogI2ZkNGIzNjtcblxuLyotLS0tIEVuZCBDb250ZW50IENTUyBWYXJpYmxlcyAtLS0tKi9cblxuLyogR2VuZXJhbCAqL1xuLlN0YXRpY01haW4ge1xuICAvLyBAaW5jbHVkZSBwYWRkaW5nKDIwcHggMCk7XG4gIGNsZWFyOiBib3RoO1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICBjb2xvcjogJHRleHQtY29sb3I7ICBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoMyB7XG4gICAgLy8gZm9udC1mYW1pbHk6ICRoMy1mb250LWZhbWlseTtcbiAgICBjb2xvcjogJGgzLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDBweCAwIDMwcHggMDtcblxuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRjb2xvci1saW5rLWNvbnRlbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkY29sb3ItbGluay1jb250ZW50LWhvdmVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICBwYWRkaW5nOiAwIDAgMCAwO1xuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDtcbiAgICAgIG1hcmdpbjogMCAwIDVweCAyMHB4O1xuXG4gICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IGNpcmNsZTtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBvbCB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWwgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuQW5jaG9yTGluayB7XG4gICAgbWFyZ2luOiAwcHggMzBweCAyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlIG5vbmU7XG5cbiAgICBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA0OSU7XG4gICAgICBwYWRkaW5nOiAwIDAgNXB4IDVweDtcbiAgICAgIG1hcmdpbjogMCAxJSAwIDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuXG4gICAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcbiAgICAgICAgd2lkdGg6IDMxJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICAgIHdpZHRoOiA0OCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMiU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1xLW1heCgzMjBweCkge1xuICAgICAgICB3aWR0aDogOTglO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbGluay1jb250ZW50O1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAkY29sb3ItbGluay1jb250ZW50O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEuQWN0aXZlLFxuICAgICAgYS5BY3RpdmU6aG92ZXIsXG4gICAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1saW5rLWNvbnRlbnQtaG92ZXI7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1saW5rLWNvbnRlbnQtaG92ZXI7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLWxpbmstY29udGVudC1ob3ZlcjtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgY29sb3I6ICRtYWluTGlua0NvbG9yLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLkZpcnN0Q2hhciB7XG4gICAgcGFkZGluZzogNHB4IDRweCAwIDA7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbG9yOiAkY29sb3ItZmlyc3QtbGV0dGVyO1xuICB9XG5cbiAgLkNvbnRlbnRCbG9jayB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAuSW1hZ2VzQmxvY2sge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLkltZ0NlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgfVxuXG5cblxuICBoNCB7XG4gICAgY29sb3I6ICRoNC1jb2xvcjtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAkaDQtcGFkZGluZztcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiAwIDAgNXB4IDBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9jb250ZW50L2ljb24taDQucG5nJykgbm8tcmVwZWF0O1xuICB9XG5cbiAgLkNvbnRlbnRINCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAkaDQtcGFkZGluZztcbiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAvKnRleHQtYWxpZ246IGp1c3RpZnk7Ki9cblxuICAgIH1cbiAgfVxuXG4gIC5JbWFnZXNINCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMCAwIDIwcHggJGg0LXBhZGRpbmc7XG4gIH1cblxuXG4gIGg1IHtcbiAgICBjb2xvcjogJGg1LWNvbG9yO1xuICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4ICRoNS1wYWRkaW5nO1xuICAgIG1hcmdpbjogMCAwIDEwcHggJGg0LXBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2NvbnRlbnQvaWNvbi1oNS5wbmcnKSBuby1yZXBlYXQgMCAwcHg7XG4gIH1cblxuICAuQ29udGVudEg1IHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46IDAgMCAwICgkaDQtcGFkZGluZyskaDUtcGFkZGluZyk7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuXG4gICAgfVxuICB9XG5cbiAgLkltYWdlc0g1IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMjBweCAkaDUtcGFkZGluZztcbiAgfVxuXG5cbiAgdGFibGUge1xuICAgIGJvcmRlci10b3A6IHNvbGlkIDFweCAkY29sb3ItYm9yZGVyLXRhYmxlO1xuICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcblxuICAgIHRoZWFkIHtcbiAgICAgIHRyIHtcbiAgICAgICAgdGgge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGFibGUtaGVhZDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC10YWJsZS1oZWFkO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItdGFibGU7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLXRhYmxlO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLXRhYmxlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRib2R5IHtcbiAgICAgIHRyIHtcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtcm93LTE7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtcm93LTI7XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItdGFibGU7XG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXRhYmxlLXRleHQ7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGFibGUtdGV4dDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGFibGUtdGV4dC1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIHRhYmxlLk5vdGljZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci10YWJsZTtcblxuICAgIHRyIHtcbiAgICAgIHRkIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLXRhYmxlO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICB1bCxcbiAgICAgICAgb2wge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgfVxuXG4gIC8qIFRleHQgc3R5bGVzICovXG4gIC5UZXh0Q2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAuVGV4dFJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5TdHJvbmcwMSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICBjb2xvcjogJGNvbG9yLXN0cm9uZy0xO1xuICB9XG5cbiAgLlN0cm9uZzAyIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIGNvbG9yOiAkY29sb3Itc3Ryb25nLTI7XG4gIH1cblxuICAuU3Ryb25nMDMge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgY29sb3I6ICRjb2xvci1zdHJvbmctMztcbiAgfVxuXG4gIC5UZXh0Rm9udDE3IHtcbiAgICBmb250LXNpemU6IDE3cHg7XG5cbiAgfVxuXG4gIC5UZXh0Rm9udDE5IHtcbiAgICBmb250LXNpemU6IDE5cHg7XG5cbiAgfVxuXG4gIC5UZXh0Rm9udDIxIHtcbiAgICBmb250LXNpemU6IDIxcHg7XG5cbiAgfVxuXG4gIC8qIEVORC4gVGV4dCBzdHlsZXMgKi9cblxuICAvKiBJbWFnZSBzdHlsZXMgKi9cbiAgLk5vQm9yZGVySW1nIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLkJvcmRlckltZyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWJhY2tncm91bmQtaW1hZ2U7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1pbWFnZTtcbiAgICBwYWRkaW5nOiAwcHg7XG4gIH1cblxuICAuSW1nTGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAxcHggMTBweCA1cHggMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWltYWdlO1xuICB9XG5cbiAgLkltZ1JpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwIDAgNXB4IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1pbWFnZTtcbiAgfVxuXG5cbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkY29sb3ItYm9yZGVyLXRhYmxlO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW46IDAgMjBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDQwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjBweCAwO1xuICAgIH1cblxuXG4gIH1cblxuICAvKiBOb3RpY2UgYm94ICovXG4gIC5Ob3RpY2VCb3gge1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRub3RpY2UtYm9yZGVyO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogJG5vdGljZS1iYWNrZ3JvdW5kO1xuXG4gICAgcC5MZWdlbmQge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgIGNvbG9yOiAkbGVnZW5kLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZDogJGxlZ2VuZC1iYWNrZ3JvdW5kO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luOiAtMjBweCAwIDEwcHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGJvcmRlcjogc29saWQgMXB4ICRsZWdlbmQtYm9yZGVyO1xuICAgIH1cblxuICAgIC5Ob3RlQ29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgY29sb3I6ICRub3RpY2UtY29sb3I7XG5cbiAgICAgIGEge1xuICAgICAgICBAaWYgJG5vdGljZS1saW5rLWNvbG9yICE9bsawbGwge1xuICAgICAgICAgIGNvbG9yOiAkbm90aWNlLWxpbmstY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBAaWYgJG5vdGljZS1saW5rLWNvbG9yLWhvdmVyICE9bsawbGwge1xuICAgICAgICAgICAgY29sb3I6ICRub3RpY2UtbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG5cbiAgLyogTGlzdCBzdHlsZXMgKi9cbiAgdWwuRGVjaW1hbCB7XG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggMHB4O1xuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1bC5VcHBlckFscGhhIHtcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCAwcHg7XG5cbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1bC5Mb3dlckFscGhhIHtcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCAwcHg7XG5cbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1bC5JY29uIHtcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCA1cHg7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgY29udGVudDogXCJcXGUwNzRcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zSGFsZmxpbmdzJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDRweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XG4gICAgICB9XG5cbiAgICAgIHVsLkxvd2VyQWxwaGEgbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1bC5EYXNoIHtcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCA1cHg7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgY29udGVudDogXCJcXDIyMTJcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zSGFsZmxpbmdzJztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHVsLkRpc2Mge1xuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDVweDtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICBjb250ZW50OiBcIlxcZTE2NVwiO1xuICAgICAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnNIYWxmbGluZ3MnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgICAgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsImJvZHkge1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZENvbG9yO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGZvbnQtZmFtaWx5OiBTRjtcbiAgLndyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIH1cbiAgICAmLnN1YiB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JnLXRvcC5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wLFxuICAgICAgICAgICAgICAgICAgdXJsKC4uL2ltYWdlcy9iZy1ib3R0b20uanBnKSBuby1yZXBlYXQgY2VudGVyIGJvdHRvbSAkYmFja2dyb3VuZENvbG9yO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTIwJTtcbiAgICAgIH1cbiAgICAgIC5oZWFkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4MHB4O1xuICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgICAgICBoZWlnaHQ6IDUwNXB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xLW1heCg0MDBweCkge1xuICAgICAgICAgIC8vIGhlaWdodDogMzYwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5idXR0b25zLWxpc3Qge1xuICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgICAgICBib3R0b206IC0zNXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5oZWFkaW5nIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgLy8gbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQwMHB4KSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBcbn1cblxuLyotLS0gQmFubmVyIC0tLSovXG4uYmFubmVyLXNsaWRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDAuNztcbiAgbWFyZ2luOiAwIDAgMHB4O1xuICBcbiAgYm9yZGVyOiBzb2xpZCAxcHggIzE2NGY3ZTtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgLnN3aXBlci1zbGlkZSB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAvLyBtYXJnaW46IDAgMTAlO1xuICB9XG4gIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICB9XG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8vIHBhZGRpbmc6IDhweDtcbiAgICAvLyB3aWR0aDogNTQ3cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgXG4gICAgLy8gJjphZnRlciB7XG4gICAgLy8gICBjb250ZW50OiAnJztcbiAgICAvLyAgIHdpZHRoOiAxMDAlO1xuICAgIC8vICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8vICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgIC8vICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iYW5uZXItZnJhbWUucG5nKSBuby1yZXBlYXQgMCAwLzEwMCUgMTAwJTtcbiAgICAvLyAgIHotaW5kZXg6IDE7XG5cbiAgICAvLyB9XG4gIH1cbiAgXG5cbn1cblxuLmJhbm5lci1zbGlkZXItc3dpcGVyLXBhZ2luYXRpb24ge1xuICB3aWR0aDogMTAwJTtcbiAgb3BhY2l0eTogMTtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBib3R0b206IDBweCAhaW1wb3J0YW50O1xuICAvLyBsZWZ0OiA1MCU7XG4gIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICB3aWR0aDogMzdweDtcbiAgICBoZWlnaHQ6IDM3cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9uYXYtZG90LnBuZykgbm8tcmVwZWF0O1xuICAgIC8vIGJhY2tncm91bmQ6ICMzMzQxNDI7XG4gICAgb3BhY2l0eTogMTtcbiAgICBtYXJnaW46IDAgNXB4O1xuICB9XG4gIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL25hdi1kb3QtaG92ZXIucG5nKSBuby1yZXBlYXQ7XG4gICAgLy8gYmFja2dyb3VuZDogI2MzNTAzNDtcbiAgfVxuICBcbn1cblxuXG4uc2VjdGlvbi0yIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZWN0aW9uMi1iZy5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wLzEwMCUgMTAwJTtcbiAgcGFkZGluZzogIDAgMCAzcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLmljb24tbCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAwIDApO1xuICAgIHotaW5kZXg6IDI7XG4gICAgd2lkdGg6IDE5MHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLXRvbnF1eWVuLnBuZykgbm8tcmVwZWF0IDAgMDtcbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgICAgbGVmdDogLTUlO1xuICAgICAgYm90dG9tOiAtMjAlO1xuICAgIH1cbiAgfVxuICAuaWNvbi1yIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAwIDAgbnVsbCk7XG4gICAgei1pbmRleDogMjtcbiAgICB3aWR0aDogMTYwcHg7XG4gICAgaGVpZ2h0OiAxMjBweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2hvYS1sYS5wbmcpIG5vLXJlcGVhdCAwIDA7XG4gICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJTtcbiAgICAgIHJpZ2h0OiAtMjUlO1xuICAgICAgYm90dG9tOiAtMTAlO1xuICAgIH1cblxuICB9XG4gIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweCAyMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBcbiAgfVxuICAuaGVhZGluZyB7XG4gICAgcGFkZGluZzogMHB4IDAgMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cblxuICAubmV3cy1mcmFtZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHdpZHRoOiA1NjBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLy8gaGVpZ2h0OiA0MzlweDtcbiAgICBwYWRkaW5nOiAyJSAyJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYm9yZGVyOiBzb2xpZCA0cHggI2VjY2Q3NDtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAwO1xuICAgICAgdG9wOiAtOHB4O1xuICAgICAgbGVmdDogLThweDtcbiAgICAgIHJpZ2h0OiAtOHB4O1xuICAgICAgYm90dG9tOiAtOHB4O1xuICAgICAgYm9yZGVyOiA0cHggc29saWQgIzI2NTM3NztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDI5cHg7XG4gICAgfVxuICAgIC8vICY6YWZ0ZXIge1xuICAgIC8vICAgY29udGVudDogXCJcIjtcbiAgICAvLyAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIC8vICAgei1pbmRleDogMDtcbiAgICAvLyAgIHRvcDogOHB4O1xuICAgIC8vICAgbGVmdDogOHB4O1xuICAgIC8vICAgcmlnaHQ6IDhweDtcbiAgICAvLyAgIGJvdHRvbTogOHB4O1xuICAgIC8vICAgYm9yZGVyOiAycHggZGFzaGVkICM5YmRlZWU7XG4gICAgLy8gICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIC8vIH1cbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgIHBhZGRpbmc6IDMlIDMlIDMlO1xuICAgIH1cblxuICAgIFxuICB9XG59XG4uc2VjdGlvbi0zIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZWN0aW9uMy1iZy5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wLzEwMCUgMTAwJTtcbiAgcGFkZGluZzogMHB4IDBweCAwIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiA4ODVweDtcbiAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiAwJTtcblxuICB9XG4gIC5oZWFkaW5nIHtcbiAgICBwYWRkaW5nOiAwcHggMCAwIDA7XG4gICAgbWFyZ2luOiAwIDAgMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjUlO1xuICAgIH1cbiAgICBcblxuICB9XG5cbiAgLmljb24tY2hhbmNvIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAwIDEzJSBudWxsKTtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxNjBweDtcbiAgICBoZWlnaHQ6IDIwOHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1jaGFuY28ucG5nKSBuby1yZXBlYXQgMCAwO1xuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgICAgXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDcwJTtcbiAgICAgIGJvdHRvbTogNCU7XG4gICAgICByaWdodDogLTEzJTtcbiAgICB9XG4gIH1cblxufVxuXG4uc2VjdGlvbi00IHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZWN0aW9uNC1iZy5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wLzEwMCUgMTAwJTtcbiAgcGFkZGluZzogMHB4IDAgMzBweCAwO1xuICAuaGVhZGluZyB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgfVxuICAvLyBDaGFyYWN0ZXJcbiAgLmNoYXJhY3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA3NzBweDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMHB4IDAgMDtcbiAgICBtYXJnaW46IDBweCBhdXRvIDBweDtcblxuICAgIC8vIGhlaWdodDogODk1cHg7XG4gICAgJi1ibG9jayB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICB9XG5cblxuICAgICYtdGFiIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLy8gQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDMwcHggMCBudWxsIDBweCk7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA1O1xuICAgICAgbWFyZ2luOiAwcHggMCAwIDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcblxuICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgICAgICB3aWR0aDogMjIlO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMzVweDtcbiAgICAgICAgICBoZWlnaHQ6IDQ3cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQ3cHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNmN2YwZTAsIDI1cHgsIHVwcGVyY2FzZSwgY2VudGVyLCBudWxsKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NoYXItdGFiLWJnLnBuZykgbm8tcmVwZWF0IDAgNHB4LzEwMCUgMTAwJTtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJpQ2llbFNvdXBvZkp1c3RpY2VcIjtcbiAgICAgICAgICAtd2Via2l0LXRleHQtc3Ryb2tlOiA1cHggIzdhNGMwNDtcbiAgICAgICAgICBwYWludC1vcmRlcjogc3Ryb2tlIGZpbGw7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgMnB4O1xuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NoYXItdGFiLWJnLWhvdmVyLnBuZykgbm8tcmVwZWF0IDAgNHB4LzEwMCUgMTAwJTtcbiAgICAgICAgICAgIC8vIGltZzpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAvLyAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAvLyAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIC8vIH1cblxuICAgICAgICAgICAgLy8gaW1nOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgLy8gICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgLy8gICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgLy8gfVxuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRhYi1jb250ZW50IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMHB4IDAgMCAwO1xuICAgIH1cblxuICAgIC5jaGFyYWN0ZXItc3dpcGVyLWxhcmdlIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICAgIC5zd2lwZXItc2xpZGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5jaGFyYWN0ZXItaW1nIHtcbiAgICAgICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIC5jaGFyYWN0ZXItc20ge1xuICAgICAgICAvLyAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICAgICAgLy8gICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwLjNzO1xuICAgICAgICAvLyAgIC8vIG1hcmdpbjogLTEwNXB4IDAgMCA1MHB4O1xuICAgICAgICAvLyAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIC0zJSAxMDAlIG51bGwpO1xuICAgICAgICAvLyAgIC8vIHotaW5kZXg6IDE7XG4gICAgICAgIC8vICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICAgIC8vICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgICAvLyAgIH1cbiAgICAgICAgLy8gICAmLmdpYWNhdGx1b25nIHtcbiAgICAgICAgLy8gICAgIHJpZ2h0OiAtMTMlO1xuICAgICAgICAvLyAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICAgIC8vICAgICAgIHJpZ2h0OiAtOSU7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vICAgICBAaW5jbHVkZSBtcS1tYXgoNDAwcHgpIHtcbiAgICAgICAgLy8gICAgICAgcmlnaHQ6IC0xNSU7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vICAgfVxuICAgICAgICAvLyB9XG5cbiAgICAgICAgJi1hY3RpdmUge1xuICAgICAgICAgIC5jaGFyYWN0ZXItc20ge1xuICAgICAgICAgICAgIGJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIFxuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRpbmcge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAtMzVweCAwIDAgMDtcbiAgICB9XG5cbiAgICAuY2hhcmFjdGVyLXN3aXBlci1uYXYge1xuICAgICAgLy8gQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDcwcHggbnVsbCBudWxsIDIwMHB4KTtcbiAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogNTAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE0MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwYWRkaW5nOiAwIDBweDtcblxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICB9XG4gICAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICAgICAgLy8gbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDcwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIC8vIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY2hhci1uYXYtYmctaG92ZXIucG5nKSBuby1yZXBlYXQgMCAwO1xuICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDAlKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIC5zd2lwZXItc2xpZGUtdGh1bWItYWN0aXZlIHtcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMCUpO1xuICAgICAgfVxuICAgIH1cbiAgICAgICAgXG4gICAgLyotLS0gbmF2IC0tLSovXG4gICAgLmNoYXItcHJldi1idG4ge1xuICAgICAgd2lkdGg6IDU3cHg7XG4gICAgICBoZWlnaHQ6IDgxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NoYXItcHJldi1idG4ucG5nKSAwIDAvMTAwJSAxMDAlO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgei1pbmRleDogNjtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgOSUgMTAlKTtcbiAgICAgIFxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICAgIGJvdHRvbTogMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NoYXItcHJldi1idG4taG92ZXIucG5nKSAwIDAvMTAwJSAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jaGFyLW5leHQtYnRuIHtcbiAgICAgIEBleHRlbmQgLmNoYXItcHJldi1idG47XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDEzJTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKSBzY2FsZSgwLjgpO1xuICAgICAgfSAgICAgIFxuICAgIH1cbiAgfVxuXG59XG5cbi5zZWN0aW9uLTUge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlY3Rpb241LWJnLmpwZykgbm8tcmVwZWF0IGNlbnRlciB0b3AvMTAwJSAxMDAlO1xuICBwYWRkaW5nOiAwcHggMCAwIDA7XG4gIC5oZWFkaW5nIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcblxuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotIFZhcmlhYmxlIC0qL1xuJHRhYi1iZy1jb2xvcjogdHJhbnNwYXJlbnQ7XG4kdGFiLWJnLWNvbG9yLWhvdmVyOiB0cmFuc3BhcmVudDtcbiR0YWItYm9yZGVyLWNvbG9yOiAjODk2YjUxO1xuJHRhYi1ib3JkZXItY29sb3ItaG92ZXI6IHRyYW5zcGFyZW50O1xuJHRhYi1saW5rLWNvbG9yOiAjM2M3MjllO1xuJHRhYi1saW5rLWNvbG9yLWhvdmVyOiAjZmZmO1xuJHRhYi1mb250c2l6ZTogMjBweDtcblxuJG5ld3MtZmlyc3QtdGl0bGUtZm9udC1mYW1pbHk6ICdTRic7XG4kbmV3cy1maXJzdC1saW5rLWNvbG9yOiAjZWVlMmQxO1xuJG5ld3MtZmlyc3QtbGluay1jb2xvci1ob3ZlcjogI2U0OGYyYTtcbiRuZXdzLWxpbmstY29sb3I6ICMzYjNiM2I7XG4kbmV3cy1saW5rLWNvbG9yLWhvdmVyOiAjZTQ4ZjJhO1xuJG5ld3MtZm9udHNpemU6IDE2cHg7XG4kbmV3cy1kZXMtY29sb3I6ICMzNTM1M2M7XG5cblxuLyotLS0gTmV3cyAtLS0qL1xuLm5ld3Mge1xuICB3aWR0aDogNTUwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBtaW4taGVpZ2h0OiAzMDBweDtcbiAgQGluY2x1ZGUgbWFyZ2luKDAgYXV0byAwcHgpOyAgXG4gIHBhZGRpbmc6IDMlIDAlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgLy8gYmFja2dyb3VuZDogI2ZmZjtcbiAgLy8gYm94LXNoYWRvdzogaW5zZXQgMCAwIDZweCAjMzMzO1xuXG4gIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBcbiAgfVxuXG5cbiAgJi10YWIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLy8ganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMHB4O1xuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogMHB4OyAgXG4gICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBtaW4td2lkdGg6IDEwNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggNXB4O1xuICAgICAgICBtYXJnaW46IDAgMHB4O1xuXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnVVRNQWxiZXJ0YUhlYXZ5JztcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigkdGFiLWxpbmstY29sb3IsICR0YWItZm9udHNpemUsIHVwcGVyY2FzZSwgY2VudGVyLCBudWxsKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207XG4gICAgICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xLW1heCg0MDBweCkge1xuICAgICAgICAgIHBhZGRpbmc6IDAgN3B4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgfVxuICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICR0YWItbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAvLyAtd2Via2l0LXRleHQtc3Ryb2tlOiA0cHggIzNlM2UzYztcbiAgICAgICAgICAvLyBwYWludC1vcmRlcjogc3Ryb2tlIGZpbGw7XG4gICAgICAgICAgLy8gYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9uZXdzLXRhYi1ob3Zlci5wbmcpIG5vLXJlcGVhdCAwIDAvMTAwJSAxMDAlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMzYzcyOWU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwcHggMHB4IDBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbn1cbi8vIFxuLyotIG5ld3MgbGlzdCBob21lIC0qL1xuXG51bC5uZXdzLWxpc3QtaG9tZSB7XG4gIG1hcmdpbjogMCAwcHg7XG4gIHBhZGRpbmc6IDBweCAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIFxuICBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMHB4IDBweCAwcHggMHB4O1xuICAgIG1hcmdpbjogMCAwIDVweCAwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogJG5ld3MtbGluay1jb2xvcjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgLy8gYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNkZGMyYWQ7XG4gICAgfVxuICAgICYuaGlnaGxpZ2h0IHtcbiAgICAgIHBhZGRpbmc6IDAgMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGJhY2tncm91bmQ6ICMyMjIyMjI7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgLm5ld3MtdGl0bGUge1xuICAgICAgICBjb2xvcjogJG5ld3MtZmlyc3QtbGluay1jb2xvcjtcbiAgICAgICAgZm9udC1zaXplOiAkbmV3cy1mb250c2l6ZTtcbiAgICAgICAgcGFkZGluZzogMTBweCAwIDAgMTBweDtcbiAgICAgICAgLy8gbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkbmV3cy1maXJzdC1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgIC5uZXdzLXRpbWUge1xuICAgICAgICAgICAgY29sb3I6ICRuZXdzLWZpcnN0LWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICBcbiAgICAgIC5uZXdzLXRpbWUge1xuICAgICAgICBjb2xvcjogJG5ld3MtZmlyc3QtbGluay1jb2xvcjtcbiAgICAgICAgcGFkZGluZzogMCAwcHggMCAwO1xuICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5uZXdzLWRlcyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBjb2xvcjogJG5ld3MtZGVzLWNvbG9yO1xuICAgICAgICAvLyBmbG9hdDogbGVmdDtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgxKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaWNvbi1zdHJpbmctY3V0LmdpZik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDc1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmV3c19fdGh1bWIge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDJweCAxMHB4IDAgMXB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyAgICAgIFxuICAgICAgaW1nIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzNjMzY1YTtcbiAgICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBjb2xvcjogJG5ld3MtbGluay1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogJG5ld3MtZm9udHNpemU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47ICBcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkbmV3cy1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgfVxuICAgICAgc3BhbiB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA5MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgdGV4dC10cnVuY2F0ZSgxKTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLm5ld3MtdGltZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAkbmV3cy1saW5rLWNvbG9yO1xuICAgICAgbWFyZ2luOiAwcHggMTBweCAwIDA7XG4gICAgfVxuICB9XG59XG5cblxuXG4ubmV3cy1tb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBtYXJnaW46IDBweCAxMHB4IDBweCAwO1xuICBwYWRkaW5nOiAwIDBweDtcbiAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAvLyByaWdodDogMHB4O1xuICAvLyB0b3A6IDI1cHg7XG4gIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgIC8vIHJpZ2h0OiAyNXB4O1xuICAgIHRvcDogMTVweDtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTA1JSk7XG4gIH1cblxufVxuXG4uaG90cm8tYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMCAwIDBweDtcbiAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgbWFyZ2luOiAwIDAgMHB4O1xuICB9XG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCA1cHg7XG4gIH1cblxufVxuXG5cbi8qLS0tIERhYyBzYWMgLS0tKi9cbi5kYWNzYWMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMCAxMDBweDtcbiAgJi1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDBweCBhdXRvIDAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDU1NXB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDAgMHB4O1xuICAgICY6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RhY3NhYy1mcmFtZS5wbmcpIG5vLXJlcGVhdCAwIDAvMTAwJSAxMDAlO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgIC8vIHRyYW5zZm9ybTogc2NhbGUoMS4zKTtcbiAgICB9XG4gICAgLnN3aXBlci1zbGlkZSB7XG4gICAgICBmaWx0ZXI6IGJsdXIoMnB4KSBicmlnaHRuZXNzKDQwJSk7XG4gICAgICBcbiAgICAgIGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAvLyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RhY3NhYy1mcmFtZS5wbmcpIG5vLXJlcGVhdCAwIDAvMTAwJSAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDI3cHg7XG4gICAgXG4gICAgICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgICAgICAgIC8vIHBhZGRpbmc6IDE2cHggMjRweCAxMHB4IDI0cHg7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICAmLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICAgICAgICBmaWx0ZXI6IGJsdXIoMHB4KTtcbiAgICAgICAgYTphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBcblxuICAgIFxuICB9XG4gIC5kYWNzYWMtcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDMwcHggYXV0byAwO1xuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIH1cbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICAgIHdpZHRoOiAzN3B4O1xuICAgICAgaGVpZ2h0OiAzN3B4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9kYWNzYWMtbmF2LWRvdC5wbmcpIG5vLXJlcGVhdCAwIDAvMTAwJSAxMDAlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcblxuICAgICAgJjpmaXJzdC1jaGlsZDphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNDAlIG51bGwgbnVsbCAtMTRweCk7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgIGhlaWdodDogOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA0MCUgLTE0cHggbnVsbCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgJi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9kYWNzYWMtbmF2LWRvdC1ob3Zlci5wbmcpIG5vLXJlcGVhdCAwIDAvMTAwJSAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAucHJldi1idG4ge1xuICAgIHdpZHRoOiA1N3B4O1xuICAgIGhlaWdodDogODFweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NoYXItcHJldi1idG4ucG5nKSAwIDAvMTAwJSAxMDAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDQ1JTtcbiAgICB6LWluZGV4OiA1O1xuICAgIG1hcmdpbjogMDtcblxuICAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xuICAgICAgbGVmdDogMzBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICB0b3A6IDQwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgfVxuXG4gIH1cblxuICAubmV4dC1idG4ge1xuICAgIEBleHRlbmQgLnByZXYtYnRuO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNDUlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG5cbiAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcbiAgICAgIHJpZ2h0OiAzMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgIHRvcDogNDAlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKSBzY2FsZSgwLjgpO1xuICAgIH1cblxuICB9XG5cbiAgW2NsYXNzKj1cIi1idG5cIl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAvLyBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgICBAaW5jbHVkZSBtcS1tYXgoNDAwcHgpIHtcbiAgICAgIHRvcDogMzIlO1xuICAgIH1cbiAgICBcbiAgfVxufVxuXG4uZHVhdG9wIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNjA3cHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA1MzdweDtcbiAgcGFkZGluZzogNSUgMTMlIDAlIDclO1xuICBtYXJnaW46IDEzJSBhdXRvIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9kdWF0b3AtYmcucG5nKSBuby1yZXBlYXQgY2VudGVyIHRvcC8gMTAwJSAxMDAlO1xuXG4gIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgIGhlaWdodDogNDMwcHg7XG4gICAgcGFkZGluZzogNyUgNyUgMTglIDclO1xuICAgIG1hcmdpbi10b3A6IDE5JTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwNiUgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgbGVmdDtcblxuICB9XG4gIEBpbmNsdWRlIG1xLW1heCg0MDBweCkge1xuICAgIG1hcmdpbi10b3A6IDI1JTtcbiAgfVxuICAmLXRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgfVxuICAmLWRhdGUtdGltZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luOiAtNTBweCAwIDQwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcCB7XG4gICAgICB3aWR0aDogMTgwcHg7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZHVhdG9wLWRhdGUtdGltZS1iZy5wbmcpIG5vLXJlcGVhdCAwIDAvMTAwJSAxMDAlO1xuICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjZmZmLCAyMXB4LCBudWxsLCBjZW50ZXIpO1xuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgd2lkdGg6IDE0MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIlO1xuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICBcbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1xLW1heCg0MDBweCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIFxuICAgIH1cblxuICAgIC5kYXRlIHtcbiAgICAgIHdpZHRoOiAxNzBweDtcbiAgICAgIGhlaWdodDogMTcwcHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgICAgY29sb3I6ICNmZWZmZmY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZzogMnB4IDEwcHg7XG4gICAgICBcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGF0ZS1iZy5wbmcpIG5vLXJlcGVhdCAwIDAvY292ZXI7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTUwJSBudWxsIG51bGwgNTAlKTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC00MyUpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCA0cHggIzAwMDtcbiAgICAgIEBpbmNsdWRlIG1xLW1heCg0MDBweCkge1xuICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICB9XG4gICAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogODZweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiVVRNQ29sb3NzYWxpc1wiO1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgICAgXG4gICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMnB4IDJweCAxMHB4IHJnYmEoMTE0LCAxOTgsIDIxMiwgMSkpO1xuICAgICAgICBAaW5jbHVkZSB0ZXh0LWdyYWRpZW50KDBkZWcsICNmYmMwMGUsICNmZmUzMGUpO1xuICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgXG4gICAgfVxuICAgIC50aW1lIHtcbiAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9kdWF0b3AtZGF0ZS10aW1lLWJnLnBuZykgbm8tcmVwZWF0IDAgMC8xMDAlIDEwMCU7XG4gICAgICBmb250LWZhbWlseTogXCJVVE1Db2xvc3NhbGlzXCI7XG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNmZmYsIDI2cHgsIG51bGwsIGNlbnRlcik7XG4gICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICB3aWR0aDogMTQwcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTIlO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDQwMHB4KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gICYtdGFibGUge1xuICAgIHRhYmxlLWxheW91dDogYXV0bztcbiAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgaGVpZ2h0OiA4MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBjb2xvcjogIzViNjQ3MztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDI1cHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIFxuICAgICAgLyogU2hyaW5rcyB0aGUgdGFibGUgdG8gZXhhY3RseSBmaXQgdGhlIGNlbGwgY29udGVudCAqL1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICB9XG5cbiAgICB0aGVhZCB7XG4gICAgICBjb2xvcjogI2MzYjc5MDtcbiAgICAgIC8vIGZvbnQtZmFtaWx5OiBcIlJvYm90byBTbGFiXCI7XG4gICAgICAvLyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3RhYmxlLWhlYWQtYmcuanBnKSBuby1yZXBlYXQgMCAwIC8gMTAwJSAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogIzFhMTgwZjsgIFxuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgdHIgdGQge1xuICAgICAgICAvLyBAaW5jbHVkZSB0ZXh0LXN0cm9rZSgzcHgsIDBkZWcsICNkMDQ0MjQgLCAjZDA0NDI0KTtcbiAgICAgICAgY29sb3I6ICNmNGVmZGM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgXG4gICAgdHIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgICAvLyBmb250LWZhbWlseTogXCJSb2JvdG8gU2xhYlwiO1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNmNWYzZTU7XG4gICAgICB9XG4gICAgICB0ZCB7XG4gICAgICAgIGhlaWdodDogMzVweDtcbiAgICAgICAgcGFkZGluZzogNXB4IDVweCAycHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgY29sb3I6ICM0NzQ0MzM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiB3cmFwO1xuICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgXG4gICAgdGJvZHkge1xuICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICBAaW5jbHVkZSBzY3JvbGwtYmFyKCM0ZTQ1NDAsICNmZmYsIDVweCk7XG4gICAgfVxuICB9XG4gIC5kYWNxdXllbnZpcC1idG4ge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtMjIlIDUlIG51bGwgbnVsbCk7XG4gICAgei1pbmRleDogMztcbiAgICBcbiAgICAmOmhvdmVyIHtcbiAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMTAlKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICB0b3A6IC0yNSU7XG4gICAgICByaWdodDogMCU7XG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtcS1tYXgoNDAwcHgpIHtcbiAgICAgIHJpZ2h0OiAwJTtcbiAgICB9XG4gIH1cbn1cblxuLyotLS0gU3ViIHBhZ2UgLS0tKi9cblxuJG1haW5jb250ZW50LW5ld3MtbGluay1jb2xvcjogI2NmN2YwMDtcbiRtYWluY29udGVudC1uZXdzLWxpbmstY29sb3ItaG92ZXI6ICNkMTQ0NGM7XG4kbWFpbmNvbnRlbnQtbmV3cy1kZXMtY29sb3I6ICMzYjNiM2I7XG4kbWFpbmNvbnRlbnQtbmV3cy1kZXMtY29sb3ItaG92ZXI6ICNkMTQ0NGM7XG5cbi5tYWluLWNvbnRlbnQge1xuICB3aWR0aDogNjAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tYWluY29udGVudC10b3AucG5nKSBuby1yZXBlYXQgMCAwL2NvbnRhaW4sXG4gIC8vICAgICAgICAgICAgIHVybCguLi9pbWFnZXMvbWFpbmNvbnRlbnQtYm90dG9tLnBuZykgbm8tcmVwZWF0IDAgMTAwJS8xMDAlO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21haW5jb250ZW50LWxvb3AucG5nKSByZXBlYXQteSAwIDAvMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDMwcHggYXV0byAxNTBweDtcbiAgcGFkZGluZzogMSUgNyUgMyU7XG4gIFxuICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0zMHB4IDAgMHB4IDApO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvbWFpbmNvbnRlbnQtdG9wLnBuZykgbm8tcmVwZWF0IDAgMC8xMDAlO1xuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgIH1cbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAwIC0zMHB4IDApO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjVweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL21haW5jb250ZW50LWJvdHRvbS5wbmcpIG5vLXJlcGVhdCBsZWZ0IGJvdHRvbS8xMDAlO1xuICAgIFxuICB9XG4gIFxuICAvKi0gbmV3cyBsaXN0IC0qL1xuICB1bC5uZXdzLWxpc3Qge1xuICAgIG1hcmdpbjogMDtcblxuICAgIGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmc6IDAgMCAxNXB4IDA7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAjMmYyYzI0IDFweDtcblxuICAgICAgJi5oaWdobGlnaHQge1xuICAgICAgICAubmV3cy10aXRsZSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwMHB4KTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBjb2xvcjogJG1haW5jb250ZW50LW5ld3MtbGluay1jb2xvcjtcbiAgICAgICAgICBmb250LWZhbWlseTogU0Y7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNjVweCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJG1haW5jb250ZW50LW5ld3MtbGluay1jb2xvci1ob3ZlcjtcblxuICAgICAgICAgICAgLm5ld3MtdGltZSB7fVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5uZXdzLXRpbWUge1xuICAgICAgICAgICAgLy8gY29sb3I6ICNjNzUxNTE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTBweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm5ld3NfX3RodW1iIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMnB4IDEwcHggMCAxcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjN2M2Y2Y7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm5ld3MtZGVzIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEzMHB4KTtcbiAgICAgICAgY29sb3I6ICRtYWluY29udGVudC1uZXdzLWRlcy1jb2xvcjtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoMyk7XG5cbiAgICAgICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDk1cHgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5uZXdzLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRtYWluY29udGVudC1uZXdzLWxpbmstY29sb3I7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6aG92ZXIgLm5ld3MtdGltZSB7XG4gICAgICAgICAgY29sb3I6ICRtYWluY29udGVudC1uZXdzLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm5ld3MtdGltZSB7XG4gICAgICAgIC8vIGNvbG9yOiAkbmV3cy1saW5rLWNvbG9yO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnN0YXRpYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDBweCAwcHggMzBweDsgIFxuICAuaWNvbi1zdGF0aWMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgICAgbWF4LXdpZHRoOiA1MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5pY29ucy1ob21lIHtcbiAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAxMHB4IDAgMHB4IDVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICB9XG4gIH1cblxufVxuLmJyZWFkY3J1bWItLW1haW4ge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjZmZmO1xuXG4gIGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICNmMjhmNDE7XG4gICAgfVxuICB9XG59XG5cbi8qLS0tIFJlbGF0ZSBOZXdzIExpc3QgLS0tKi9cbi5yZWxhdGl2ZSB7XG4gIHBhZGRpbmctdG9wOiA5cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmLXRpdGxlIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjZmZmZmZmLCAxOHB4LCB1cHBlcmNhc2UsIGxlZnQsIGJvbGQpO1xuICAgIEBpbmNsdWRlIGVmZmVjdC1ncmFkaWVudC1saW5lYXIoOTBkZWcsICMwMDI1NDYsICMwMDI1NDYpO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgY29udGVudDogXCJcXDAwMmJcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29uc0hhbGZsaW5ncyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0zcHg7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICNmMzlmNGI7XG4gICAgfVxuICB9XG5cbiAgdWwucmVsYXRpdmUtbGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmc6IDVweCAwcHggMDtcbiAgICBtYXJnaW46IDAgMCAwIDIwcHg7XG5cbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IDNiM2IzYiAjNjQzZDM4O1xuICAgICAgcGFkZGluZzogMTJweCAwIDEwcHggNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGNvbG9yOiAjNjQzZDM4O1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjYzc1MTUxO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIHRleHQtdHJ1bmNhdGUoMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmRhdGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjM2IzYjNiLCAxNHB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8qIFBhZ2luZyAqL1xuLnBhZ2luZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxufVxudWwucGFnZV9fbGlzdCB7XG4gIHBhZGRpbmc6IDIwcHggMCAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgMnB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAjM2IzYjNiICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYjNiM2I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNlZmU1Y2UgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNiM2IzYjtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNiM2IzYjtcbiAgICAgIH1cblxuICAgICAgJi5kaXNhYmxlLFxuICAgICAgJjpob3ZlciAuZGlzYWJsZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2IzYjNiO1xuICAgICAgICBjb2xvcjogIzNiM2IzYiAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlIGEge1xuICAgICAgY29sb3I6ICNmMmYyZjIgIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzYjNiM2I7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2IzYjNiO1xuICAgIH1cblxuICAgICYucHJldiBhLFxuICAgICYubmV4dCBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB3aWR0aDogMjZweDtcbiAgICAgIGhlaWdodDogMjZweDtcbiAgICAgIG1hcmdpbjogLTJweCAwIDAgMDtcbiAgICB9XG4gIH1cbn1cblxuLyotLS0gUG9wdXAgLS0tKi9cbi5wb3B1cCB7XG4gIG9wYWNpdHk6IDA7ICBcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB6LWluZGV4OiAxMDAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgLnBvcHVwLWJnIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICB9XG4gICYuYWN0aXZlIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLy8gYW5pbWF0aW9uOiBncm93SW4gMC41cyBlYXNlLWluLW91dDtcbiAgICAvLyAtd2Via2l0LWFuaW1hdGlvbjogZ3Jvd0luIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIH1cbiAgJi1jbG9zZSB7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTEyJTtcbiAgICB0b3A6IC0xMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICY6aG92ZXIge1xuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDE1MCUpO1xuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgei1pbmRleDogMjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG4gICYuYWN0aXZlICAmLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgfVxufVxuXG4ucG9wdXAtZ2lmdGNvZGUge1xuICB3aWR0aDogNTAwcHg7XG4gIGhlaWdodDogMjg1cHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wb3B1cC1iZy5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyLzEwMCU7XG4gIC8vIGJvcmRlcjogc29saWQgM3B4ICNjN2I3ODA7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzogMTAlIDE1JTtcbiAgY29sb3I6ICMzYjNiM2I7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgIC8vIG1heC13aWR0aDogOTAlO1xuICAgIC8vIGhlaWdodDogNjQwcHg7XG4gIH1cblxuICAucG9wdXAtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoIzNiM2IzYiwgbnVsbCwgdXBwZXJjYXNlLCBjZW50ZXIsIGJvbGQpO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBTbGFiXCI7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoNDBweCk7XG4gICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKDIzcHgpO1xuICAgIGZvbnQtZmFtaWx5OiBcIlJvYm90byBTbGFiXCI7XG4gICAgQGluY2x1ZGUgbXEtbWF4KDQ4MHB4KSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLnZhbHVlIHtcbiAgICBwYWRkaW5nOiA1cHggMTVweDtcbiAgICBjb2xvcjogI2ZmZmJlZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxMHB4IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBiYWNrZ3JvdW5kOiAjM2MzNjJmO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gIH1cbn1cblxuLmJnb3ZlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDA7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbn0iLCIuYnV0dG9ucy1mb290ZXIge1xuICBwYWRkaW5nOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjMDkwOTA5O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgQGluY2x1ZGUgbWFyZ2luKCAwIDAgMHB4KTtcbiAgYSB7XG4gICAgbWFyZ2luOiAwIDNweDtcbiAgfVxufVxuXG4kZm9vdGVyLWNvbG9yOiAjYTA5ZjlmO1xuLmZvb3RlciB7XG4gIGNvbG9yOiAkZm9vdGVyLWNvbG9yO1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9mb290ZXItYmcuanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci9jb3ZlcjtcbiAgYmFja2dyb3VuZDogIzAwMjU0NjtcbiAgZm9udC1zaXplOiAxMXB4O1xuICAuY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuICAmLWl0ZW0ge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xuICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICB9XG4gICAgbGkge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBhIHtcbiAgICAgICAgXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogICNlOGE1ODc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNtbi1uYW1lIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogIGJvbGQ7XG4gIH1cbiAgLmNvcHlyaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAkZm9vdGVyLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMDtcbiAgfVxuICAuaW1nMTgge1xuICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgIHdpZHRoOiAzNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICB9XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIC5jbW4ge1xuICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcbiAgICBAaW5jbHVkZSBtcS1tYXgoNDgwcHgpIHtcbiAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgfVxuICB9XG4gIC5hZGRyZXNzIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDEwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuaWZyYW1lIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwO1xuICBoZWlnaHQ6IDkwcHg7XG59Il19 */
