/*- Global Variables -*/
.container, .header-container {
  max-width: 1176px !important;
  width: 1176px !important;
  margin: 0 auto; }

* {
  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; }

.pana-accordion {
  width: 100%;
  height: 203px;
  margin: 10px auto;
  position: relative;
  overflow: hidden;
  border: 2px solid #b3bdce;
  border-left: none; }

.pana-accordion .pana-accordion-wrap {
  margin-left: -1px;
  position: relative;
  width: 300%; }

.pana-accordion .pana-accordion-wrap .pana-accordion-item {
  width: 50px;
  height: 203px;
  overflow: hidden;
  float: left;
  position: absolute;
  left: 0;
  top: 0; }

.pana-accordion .pana-accordion-wrap .pana-accordion-item .pana-accordion-mask {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  z-index: 10;
  background-color: #000;
  filter: alpha(opacity=40);
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)";
  -webkit-opacity: 0.4;
  -khtml-opacity: 0.4;
  -moz-opacity: 0.4;
  -ms-opacity: 0.4;
  -o-opacity: 0.4;
  opacity: 0.4; }

.pana-accordion .pana-accordion-wrap .pana-accordion-item.active .pana-accordion-mask {
  display: none; }

.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: #f5f5f5;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: solid 1px #d8d8d8;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  clear: both;
  cursor: pointer;
  display: block;
  font-family: inherit;
  font-size: 14px;
  font-weight: normal;
  height: 37px;
  line-height: 37px;
  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: 100%; }
  .nice-select:hover {
    border-color: #cbcbcb; }
  .nice-select:active, .nice-select.open, .nice-select:focus {
    border-color: #757575; }
  .nice-select:after {
    content: '';
    display: block;
    position: absolute;
    right: 3px;
    top: 0;
    -webkit-transform-origin: 66% 66%;
    -ms-transform-origin: 66% 66%;
    transform-origin: 66% 66%;
    -webkit-transition: all 0.15s ease-in-out;
    -o-transition: all 0.15s ease-in-out;
    transition: all 0.15s ease-in-out;
    width: 26px;
    height: 26px;
    background: url(../imgs/icon-down.png); }
  .nice-select.open:after {
    -webkit-transform: rotate(-180deg);
    -ms-transform: rotate(-180deg);
    transform: rotate(-180deg);
    top: -10px;
    right: 12px; }
  .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: #dddddd;
    color: #757575;
    pointer-events: none; }
    .nice-select.disabled:after {
      border-color: #a8a8a8; }
  .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 {
    width: 100%;
    -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(-18.5px);
    -ms-transform: scale(0.75) translateY(-18.5px);
    transform: scale(0.75) translateY(-18.5px);
    -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 .option {
    cursor: pointer;
    font-weight: 400;
    line-height: 37px;
    list-style: none;
    height: 37px;
    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;
    background: #297797;
    border-bottom: 1px solid #312e2f;
    color: #fff; }
    .nice-select .option:last-child {
      border-bottom: none; }
    .nice-select .option:hover, .nice-select .option.focus, .nice-select .option.selected.focus {
      color: #ffb036; }
    .nice-select .option.selected {
      font-weight: bold; }
    .nice-select .option.disabled {
      background-color: #cccccc;
      color: #757575;
      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 ---*/
* {
  /* Work on Firefox */
  scrollbar-width: 5px;
  scrollbar-color: #004CA2 #c0c0c0; }

*::-webkit-scrollbar {
  /* Works on Chrome, Edge, and Safari */
  width: 5px; }

*::-webkit-scrollbar-track {
  background: #c0c0c0;
  -webkit-border-radius: 5px;
  border-radius: 5px; }

*::-webkit-scrollbar-thumb {
  background-color: #004CA2;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  border: 1px solid #004CA2; }

/*--- 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: "SF-Bold";
  src: url(../fonts/SF-Pro-Display-SemiBold.eot);
  src: url(../fonts/SF-Pro-Display-SemiBold.eot#iefix) format("eot"), url(../fonts/SF-Pro-Display-SemiBold.woff2) format("woff2"), url(../fonts/SF-Pro-Display-SemiBold.woff) format("woff"), url(../fonts/SF-Pro-Display-SemiBold.ttf) format("truetype"), url(../fonts/SF-Pro-Display-SemiBold.svg) format("svg"); }

@font-face {
  font-family: "robotoslab";
  src: url(../fonts/robotoslab-regular.eot);
  src: url(../fonts/robotoslab-regular.eot#iefix) format("eot"), url(../fonts/robotoslab-regular.woff2) format("woff2"), url(../fonts/robotoslab-regular.woff) format("woff"), url(../fonts/robotoslab-regular.ttf) format("truetype"), url(../fonts/robotoslab-regular.svg) format("svg"); }

@font-face {
  font-family: "fz_edge-of-the-galaxy-poster";
  src: url(../fonts/fz_edge-of-the-galaxy-poster.eot);
  src: url(../fonts/fz_edge-of-the-galaxy-poster.eot#iefix) format("eot"), url(../fonts/fz_edge-of-the-galaxy-poster.woff2) format("woff2"), url(../fonts/fz_edge-of-the-galaxy-poster.woff) format("woff"), url(../fonts/fz_edge-of-the-galaxy-poster.ttf) format("truetype"), url(../fonts/fz_edge-of-the-galaxy-poster.svg) format("svg"); }

@font-face {
  font-family: "uvnthanhpho";
  src: url(../fonts/uvnthanhpho_r.eot);
  src: url(../fonts/uvnthanhpho_r.eot#iefix) format("eot"), url(../fonts/uvnthanhpho_r.woff2) format("woff2"), url(../fonts/uvnthanhpho_r.woff) format("woff"), url(../fonts/uvnthanhpho_r.ttf) format("truetype"), url(../fonts/uvnthanhpho_r.svg) format("svg"); }

.logo {
  display: block;
  position: absolute;
  top: 0px;
  left: 45%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  z-index: 3; }

.header {
  position: relative;
  width: 100%;
  height: 900px;
  margin-bottom: 10px;
  z-index: 2;
  padding: 0 0; }
  .header .age18 {
    position: absolute;
    top: 70px;
    left: 10px;
    width: 290px;
    height: 90px;
    /* background: url(../imgs/18p.gif) no-repeat; */
    background: url(../imgs/18+.png) no-repeat;
    z-index: 6;
  }
  .header .container, .header .header-container {
    position: relative;
    z-index: 1;
    width: 100% !important;
    height: 100%; }
  .header-container {
    height: 100%; }
  .header .navbar-nav {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 60px;
    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;
    background: #101413; }
    .header .navbar-nav ul {
      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: 0px 0 0 0px;
      padding: 0;
      font-family: robotoslab; }
      .header .navbar-nav ul li {
        position: relative;
        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 .navbar-nav ul li:nth-child(3) {
          margin-right: 290px; }
        .header .navbar-nav ul li a {
          display: block;
          height: 59px;
          line-height: 59px;
          -webkit-animation: all .2s ease-in-out;
          animation: all .2s ease-in-out;
          color: #fcf3d0;
          text-transform: capitalize;
          text-align: center;
          font-weight: normal;
          font-size: 18px;
          padding: 0 30px; }
          .header .navbar-nav ul li a:hover, .header .navbar-nav ul li a.active {
            color: #b48300; }
        .header .navbar-nav ul li ul {
          width: 100%;
          min-width: 180px;
          position: absolute;
          top: 110%;
          left: 50%;
          -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
          transform: translateX(-50%);
          opacity: 0;
          visibility: hidden;
          background: #181613;
          -webkit-transition: all 0.15s;
          -o-transition: all 0.15s;
          transition: all 0.15s;
          -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
          .header .navbar-nav ul li ul li:not(:last-child) {
            border-bottom: solid 1px #454340; }
  .header .text {
    text-align: center;
    position: absolute;
    top: 140px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 3; }
  .header .play-video {
    display: block;
    text-align: center;
    z-index: 5;
    position: absolute;
    top: 500px;
    left: 445px;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    transition: all 0.2s linear; }
    .header .play-video:hover {
      -webkit-filter: brightness(150%);
      filter: brightness(150%); }
    @media only screen and (max-width: 768px) {
      .header .play-video {
        bottom: 10%; } }
  .header .avatar {
    margin: 0 10px 0 0; }
    @media only screen and (max-width: 768px) {
      .header .avatar {
        display: none; } }
  .header .search {
    width: 180px;
    border: solid 1px #65605f;
    -webkit-border-radius: 10px;
    border-radius: 10px;
    background: #111111; }
    .header .search .keyword {
      background: transparent;
      line-height: 24px;
      height: 24px;
      padding: 0 5px;
      color: #65605f;
      border: none;
      width: calc(100% - 30px);
      font-size: 14px; }
    .header .search .submit-btn {
      border: none;
      color: #65605f;
      background: none; }

.buttons-block {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  top: 693px;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 175px;
  z-index: 2;
  background: url(../imgs/buttons-block-bg.png) no-repeat 0 0; }
  .buttons-block .server-plan {
    float: left;
    overflow: hidden;
    width: 415px;
    margin: 0 0 0px 0;
    padding: 20px 0 0 0; }
    .buttons-block .server-plan .title {
      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;
      margin: 0 0 10px;
      font-family: robotoslab; }
      .buttons-block .server-plan .title img {
        margin-right: 5px; }
      .buttons-block .server-plan .title span {
        text-transform: uppercase;
        text-align: center;
        font-weight: bold;
        font-size: 22px;
        background: #88551d;
        background: -webkit-linear-gradient(legacy-direction(0deg), #88551d, #88551d, #452b0e);
        background: -webkit-gradient(linear, left bottom, left top, from(#88551d), color-stop(#88551d), to(#452b0e));
        background: -webkit-linear-gradient(bottom, #88551d, #88551d, #452b0e);
        background: -o-linear-gradient(bottom, #88551d, #88551d, #452b0e);
        background: linear-gradient(0deg, #88551d, #88551d, #452b0e);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        -webkit-filter: drop-shadow(1px 1px 1px rgba(51, 51, 51, 0.6));
        filter: drop-shadow(1px 1px 1px rgba(51, 51, 51, 0.6)); }
    .buttons-block .server-plan-list {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      padding: 0 5px 0 15px;
      margin: 0 0 5px; }
      .buttons-block .server-plan-list li {
        
        border-bottom: dashed 1px #f2eaca;
        padding: 2px 0 2px 20px;
        color: #694f32;
        text-transform: uppercase;
        font-weight: bold;
        font-size: 18px; }
        .buttons-block .server-plan-list li:nth-last-child(-n+3) {
          border: none; }
        .buttons-block .server-plan-list li.new {
          background: url(../imgs/icon-new.png) no-repeat right 5px; }
        .buttons-block .server-plan-list li.full {
          background: url(../imgs/icon-full.png) no-repeat right 5px; }
        .buttons-block .server-plan-list li a {
          display: block;
          padding: 0 35px 0 25px;
          background: url(../imgs/icon-dot.png) no-repeat left center;
          color: #694f32; }
          .buttons-block .server-plan-list li a.active, .buttons-block .server-plan-list li a:hover {
            background: url(../imgs/icon-dot-hover.png) no-repeat left center;
            color: #a67844; }
    .buttons-block .server-plan-more {
      display: block;
      text-align: right;
      -webkit-transition: all 0.1s;
      -o-transition: all 0.1s;
      transition: all 0.1s;
      padding-right: 10px; }
      .buttons-block .server-plan-more:hover {
        -webkit-filter: brightness(150%);
        filter: brightness(150%); }
  .buttons-block .block-1 {
    float: left; }
    .buttons-block .block-1 .image-btn {
      display: block; }
    .buttons-block .block-1 .taigame {
      display: block;
      margin: -30px 20px 0 0px; }
    .buttons-block .block-1 .nap-btn {
      margin-top: 4px; }
  .buttons-block .block-2 {
    width: 280px;
    height: 150px;
    float: left;
    padding: 10px 0px 0px;
    -webkit-border-radius: 5px;
    border-radius: 5px; }
    .buttons-block .block-2 .image-btn {
      float: left; }
    .buttons-block .block-2 .box-input {
      float: left;
      margin: 0 0 0px;
      width: 175px; }
  .buttons-block .login {
    position: relative;
    color: #201f1f;
    font-size: 12px;
    margin: 9px 0 0 0; }
    .buttons-block .login .forgot-pass {
      color: #201f1f;
      text-transform: inherit;
      text-align: inherit;
      font-weight: normal;
      font-size: 12px; }
      .buttons-block .login .forgot-pass:hover {
        color: #ba4442; }
    .buttons-block .login-form {
      width: 100%;
      overflow: hidden; }
    .buttons-block .login a {
      color: #ba4442;
      text-transform: inherit;
      text-align: inherit;
      font-weight: normal;
      font-size: 12px; }
      .buttons-block .login a:hover {
        text-decoration: underline !important; }
  .buttons-block .login-form-input {
    background: #dcdcdc;
    border: none;
    width: 165px;
    border: solid 1px #a49a90;
    padding: 6px 5px;
    height: 31px;
    color: #1f1e1e;
    font-size: 14px; }
  .buttons-block .error {
    color: #ba4442;
    font-size: 12px;
    height: 18px; }
  .buttons-block .form-submit {
    float: left;
    width: 83px;
    height: 64px;
    background: url(../imgs/dangnhap-btn.jpg);
    font-size: 0;
    border: none; }
  .buttons-block .social-btn {
    position: absolute;
    top: 70px;
    right: 32px; }
    .buttons-block .social-btn a:first-child {
      margin-right: 7px; }
  .buttons-block .logged {
    padding: 10px 15px;
    margin-right: 25px;
    color: #1f1e1e; }
    .buttons-block .logged p {
      margin: 0;
      padding: 0 0 2px;
      font-size: 12px;
      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; }
    .buttons-block .logged .username {
      width: 130px;
      display: inline-block;
      padding: 0 0 0 10px;
      color: #c8441b;
      font-weight: bold;
      font-size: 14px;
      -o-text-overflow: ellipsis;
      text-overflow: ellipsis;
      overflow: hidden;
      white-space: nowrap; }
    .buttons-block .logged .logout {
      float: right;
      display: inline-block;
      padding: 0 10px;
      color: #1f1e1e;
      font-weight: bold;
      font-size: 14px;
      font-style: italic; }
      .buttons-block .logged .logout:hover {
        text-decoration: underline !important; }
    .buttons-block .logged .server-new {
      background: url(../imgs/server-new-bg.jpg) no-repeat 0 0;
      color: #3d2a22;
      text-transform: uppercase;
      text-align: center;
      font-weight: bold;
      font-size: 14px;
      line-height: 26px;
      height: 26px;
      width: 100%;
      -webkit-border-radius: 3px;
      border-radius: 3px;
      position: relative;
      margin: 0 auto 5px; }
  .buttons-block .napthe-btn {
    margin: 20px 0 0 0px;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s; }
    .buttons-block .napthe-btn:hover {
      -webkit-filter: brightness(130%);
      filter: brightness(130%); }
  .buttons-block .bgselect {
    background: #fff;
    border: 1px solid #3d2a22;
    padding: 5px;
    width: 100%;
    height: 26px;
    margin: 0 auto 5px; }
    .buttons-block .bgselect span {
      color: #3d2a22;
      display: block;
      margin-top: -10px; }
  .buttons-block .nice-select .list {
    -webkit-border-radius: 0px;
    border-radius: 0px;
    height: 170px;
    overflow-y: auto; }
  .buttons-block .nice-select .option {
    background: #6a5a49;
    color: #d7c6b8; }
  .buttons-block .choingay-btn {
    width: 83px;
    height: 30px;
    line-height: 30px;
    color: #fff;
    text-transform: capitalize;
    text-align: center;
    font-weight: normal;
    font-size: 14px;
    background: url(../imgs/choingay-bg.gif) no-repeat 0 0/100% 100%;
    border: none;
    cursor: pointer;
    margin: 0 auto;
    display: block; }

: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: #f8f2f0 !important;
  color: #010101 !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  font-family: SF !important;
  font-size: 1rem; }

a {
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  background-color: transparent;
  cursor: pointer;
  color: #04459b;
  text-decoration: none; }
  a:hover, a:focus {
    text-decoration: none !important;
    outline: none;
    color: #055bcd; }

.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; } }

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

.loop-5 {
  -webkit-animation-iteration-count: 5;
  animation-iteration-count: 5; }

/*---- Content CSS Varibles ----*/
/*--- Image -----*/
/*--- Notice Box ---*/
/*---- End Content CSS Varibles ----*/
/* General */
.StaticMain {
  margin: calc(1.28125rem + 0.375vw) 0;
  clear: both;
  text-align: justify;
  min-height: 930px;
  color: #35353c;
  /* Text styles */
  /* END. Text styles */
  /* Image styles */
  /* Notice box */
  /* List styles */ }
  @media (min-width: 1200px) {
    .StaticMain {
      margin: 1.5625rem 0; } }
  .StaticMain h3 {
    font-family: SF-Bold;
    color: #d7c6b8;
    font-size: 3em;
    font-weight: bold;
    text-align: center;
    margin: 0px 0 30px 0; }
  .StaticMain a {
    color: #b48300;
    text-decoration: underline; }
    .StaticMain a:hover {
      color: #b45900;
      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 1px;
      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: #b48300; }
        .StaticMain .AnchorLink li a:before {
          content: '';
          width: 8px;
          height: 8px;
          border: solid 1px #b48300;
          position: absolute;
          top: 6px;
          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: #b45900; }
        .StaticMain .AnchorLink li a.Active:before,
        .StaticMain .AnchorLink li a.Active:hover:before,
        .StaticMain .AnchorLink li a:hover:before {
          content: '';
          position: absolute;
          top: 6px;
          left: 0;
          background: #b45900;
          border: solid 1px #b45900;
          -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: #35353c; }
  .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: #f1945a;
    padding: 10px 0 10px 50px;
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 5px 0px;
    background: url("../imgs/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: #f1945a;
    padding: 10px 0 10px 40px;
    margin: 0 0 10px 50px;
    font-size: 18px;
    font-weight: bold;
    background: url("../imgs/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 #1f002b;
    margin: 0 auto 20px;
    border-collapse: collapse; }
    .StaticMain table thead tr th {
      color: #d7c6b8;
      background: #39281f;
      font-weight: bolder;
      padding: 10px 10px;
      border-right: 1px solid #1f002b;
      border-left: 1px solid #1f002b;
      border-bottom: 1px solid #1f002b;
      text-align: center; }
    .StaticMain table tbody tr:nth-child(odd) {
      background-color: #dbd0c5; }
    .StaticMain table tbody tr:nth-child(even) {
      background-color: #efebe8; }
    .StaticMain table tbody tr td {
      padding: 10px 10px;
      border: 1px solid #1f002b;
      border-top: none;
      color: #39281f; }
      .StaticMain table tbody tr td a {
        color: #39281f; }
        .StaticMain table tbody tr td a:hover {
          color: #055bcd; }
  .StaticMain table.Notice {
    border: 1px solid #1f002b; }
    .StaticMain table.Notice tr td {
      padding: 10px 20px;
      border: 1px solid #1f002b; }
      .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: #f1945a; }
  .StaticMain .Strong02 {
    font-weight: bolder;
    color: #af2e23; }
  .StaticMain .Strong03 {
    font-weight: bolder;
    color: #48b8f8; }
  .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 #1f002b;
    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 #8d8d8d;
    padding: 10px;
    background: #efebe8; }
    .StaticMain .NoticeBox p.Legend {
      font-size: 13px;
      font-weight: bolder;
      padding: 0 15px;
      color: #fff;
      background: #af2e23;
      height: 20px;
      margin: -20px 0 10px;
      float: left;
      border: solid 1px #af2e23; }
    .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: #f7fcfe;
  overflow-x: hidden; }
  body .wrapper {
    background: url(../imgs/bg.jpg) no-repeat top center;
    overflow-x: hidden; }
    body .wrapper.sub {
      background: url(../imgs/bg-top.jpg) no-repeat top center, url(../imgs/bg-bottom.jpg) no-repeat bottom center #dfdacf;
      -webkit-background-size: auto auto;
      background-size: auto; }
    body .wrapper.sub-server {
      background: url(../imgs/bg-server.jpg) no-repeat top center;
      height: 1080px; }
      body .wrapper.sub-server .logo {
        left: 15%; }
    body .wrapper-404 {
      height: 100vh;
      background: url(../imgs/bg-404.jpg) no-repeat center top/cover;
      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-flow: column;
      -ms-flex-flow: column;
      flex-flow: column; }
      body .wrapper-404 .logo {
        top: 3%;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%); }
        @media only screen and (max-width: 768px) {
          body .wrapper-404 .logo {
            max-width: 70%; } }
      body .wrapper-404 .home-btn {
        position: absolute;
        top: calc(3% + 200px);
        left: 50%;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        display: block;
        width: 108px;
        height: 30px;
        line-height: 30px;
        background: url(../imgs/server-btn.png) no-repeat 0 0/100% 100%;
        color: #fffbee;
        text-transform: uppercase;
        text-align: center;
        font-weight: normal;
        font-size: 12px;
        font-family: 'SF-Bold';
        -webkit-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
        text-shadow: 1px 1px 2px #333333; }
        body .wrapper-404 .home-btn:hover {
          background: url(../imgs/server-btn-hover.png) no-repeat 0 0/100% 100%; }
  body .container, body .header-container {
    position: relative; }
  body .section-title {
    text-align: center;
    margin: 0 auto 30px; }
  body .section-1 .container, body .section-1 .header-container {
    height: 362px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto 60px;
    padding: 4px 4px;
    background: url(../imgs/section1-bg.jpg) no-repeat 0 0; }

.banner-slider {
  width: 518px;
  margin: 0 14px 0 0;
  padding: 0;
  position: relative; }
  .banner-slider .swiper-slide {
    line-height: 0.5;
    display: block; }
    .banner-slider .swiper-slide a {
      display: block; }
  .banner-slider .swiper-pagination {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: 0px; }
    .banner-slider .swiper-pagination .swiper-pagination-bullet {
      width: 28px;
      height: 28px;
      background: url(../imgs/dacsac-paging.png) no-repeat 0 0 !important;
      opacity: 1;
      margin: 5px; }
    .banner-slider .swiper-pagination .swiper-pagination-bullet-active {
      width: 28px;
      height: 28px;
      background: url(../imgs/dacsac-paging-hover.png) no-repeat 0 0 !important; }
  .banner-slider .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background-color: #0c1410 !important;
    opacity: 1 !important; }
  .banner-slider .swiper-pagination-bullet-active {
    background-color: #a81919 !important; }

.buttons {
  width: 102px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -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-flow: column;
  -ms-flex-flow: column;
  flex-flow: column;
  line-height: 0.7; }
  .buttons a:not(:last-child) {
    margin-bottom: 15px; }
  .buttons a:hover {
    -webkit-filter: brightness(130%);
    filter: brightness(130%); }

/*- Variable -*/
.news {
  margin: 0 10px 0 0;
  width: 515px;
  padding: 15px 30px 15px 10px;
  position: relative;
  z-index: 1; }
  .news-tab {
    overflow: hidden;
    padding: 0 0 0px;
    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;
    border-bottom: solid 1px #35353c; }
    .news-tab li a {
      height: 27px;
      line-height: 27px;
      display: block;
      font-family: 'robotoslab';
      color: #35353c;
      text-transform: uppercase;
      text-align: center;
      font-weight: normal;
      font-size: 14px;
      background: transparent;
      padding: 0 20px 30px;
      border: none; }
      .news-tab li a.active, .news-tab li a:hover {
        color: #b48300;
        border-bottom: solid 4px #694f32; }
    .news-tab li:not(:last-child) a {
      border-right: none; }
  .news .tab-content {
    padding: 10px 0; }

.heading {
  height: 56px;
  line-height: 56px;
  color: #dab979;
  text-transform: uppercase;
  text-align: center;
  font-weight: bold;
  font-size: 18px;
  font-family: 'robotoslab';
  margin: 0px auto 20px; }

.screenshot {
  margin: 80px 0; }
  .screenshot #accordion-screenshot {
    width: 1110px;
    margin: 0 auto;
    border: none;
    height: 474px; }
    .screenshot #accordion-screenshot .pana-accordion-item {
      height: 474px; }
    .screenshot #accordion-screenshot .pana-accordion-item a {
      position: relative;
      opacity: 0;
      -webkit-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out; }
    .screenshot #accordion-screenshot .pana-accordion-item .thumb {
      position: absolute;
      top: 0;
      left: 0;
      -webkit-transition: all 0.3s ease-in-out;
      -o-transition: all 0.3s ease-in-out;
      transition: all 0.3s ease-in-out; }
    .screenshot #accordion-screenshot .pana-accordion-item .img-large {
      margin: 19px 0 0 26px; }
    .screenshot #accordion-screenshot .pana-accordion-item.active {
      background: url(../imgs/screenshot-frame.png) no-repeat; }
      .screenshot #accordion-screenshot .pana-accordion-item.active a {
        opacity: 1;
        display: block; }
      .screenshot #accordion-screenshot .pana-accordion-item.active .thumb {
        opacity: 1;
        z-index: 2;
        display: none; }

/*- news list -*/
ul.news-list {
  margin: 0;
  font-size: 15px; }
  ul.news-list li {
    width: 100%;
    overflow: hidden;
    padding: 6px 10px;
    margin: 0 0 2px 0;
    position: relative; }
    ul.news-list li:not(:last-child) {
      border-bottom: 1px solid #ece5db; }
    ul.news-list li.highlight {
      background: #35353c;
      padding: 0 10px 0 0; }
      ul.news-list li.highlight .news-title {
        float: left;
        width: 100%;
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        color: #b48300;
        font-family: "SF-Bold";
        font-size: 15px; }
        ul.news-list li.highlight .news-title:hover {
          color: #ba060f; }
          ul.news-list li.highlight .news-title:hover .news-time {
            color: #ba060f; }
        ul.news-list li.highlight .news-title .news-time {
          color: #b48300;
          top: 14px; }
        ul.news-list li.highlight .news-title span {
          padding: 0 0 0 10px;
          width: calc(100% - 163px);
          line-height: 48px; }
    ul.news-list li .news__thumb {
      float: left;
      margin: 2px 10px 0 1px;
      height: auto; }
      ul.news-list li .news__thumb img {
        border: 2px solid #3c365a; }
    ul.news-list li .news-des {
      width: calc(100% - 235px);
      color: #35353c;
      float: left;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
      overflow: hidden;
      padding-bottom: 0 !important; }
    ul.news-list li .news-title {
      color: #35353c;
      width: 100%; }
      ul.news-list li .news-title:hover,
      ul.news-list li .news-title:hover .news-time {
        color: #b48300; }
      ul.news-list li .news-title span {
        width: calc(100% - 90px);
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis;
        overflow: hidden;
        display: block;
        white-space: nowrap; }
    ul.news-list li .news-time {
      color: #35353c;
      position: absolute;
      right: 14px;
      top: 6px;
      text-align: right; }

.news-more {
  display: inline-block;
  color: #e3edf1;
  font-size: 15px;
  float: right;
  margin: 0px 0 0px 0;
  padding: 0 0px 0 0px;
  position: relative;
  line-height: 25px; }

.btns {
  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;
  position: absolute;
  right: 0;
  bottom: 10px;
  left: 0; }
  .btns a {
    display: block;
    margin: 0 5px; }
    .btns a:hover {
      -webkit-filter: brightness(110%);
      filter: brightness(110%); }

/*--- Character ---*/
.character {
  position: relative;
  margin: 0 0 20px; }
  .character .section-title {
    text-align: center; }
  .character-tab {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    top: 210px;
    left: 200px;
    z-index: 2; }
    .character-tab li {
      margin: 0 2px; }
      .character-tab li a {
        display: block;
        width: 136px;
        height: 45px;
        line-height: 45px;
        font-family: robotoslab;
        color: #fff;
        text-transform: capitalize;
        text-align: center;
        font-weight: normal;
        font-size: 20px;
        background: url(../imgs/char-tab-bg.png) no-repeat 0 0/100% 100%;
        text-shadow: 1px 1px 2px #666; }
        .character-tab li a.active, .character-tab li a:hover {
          -webkit-filter: brightness(120%);
          filter: brightness(120%); }
  .character [class*='character-swiper-nav'] {
    text-align: center; }
  .character-swiper-nav {
    padding: 50px 0px;
    margin: 0 auto;
    position: absolute;
    top: 100px;
    right: 0px;
    z-index: 3; }
    .character-swiper-nav:before {
      content: '';
      width: 11px;
      height: 50px;
      background: url(../imgs/char-nav-line.png) no-repeat center top;
      z-index: 2;
      position: absolute;
      top: 0;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%); }
    .character-swiper-nav:after {
      content: '';
      width: 11px;
      height: 50px;
      background: url(../imgs/char-nav-line.png) no-repeat center top;
      z-index: 2;
      position: absolute;
      bottom: 5px;
      left: 50%;
      -webkit-transform: translateX(-50%) rotate(180deg);
      -ms-transform: translateX(-50%) rotate(180deg);
      transform: translateX(-50%) rotate(180deg); }
    .character-swiper-nav .swiper-slide {
      cursor: pointer;
      position: relative;
      margin-top: -7px; }
      .character-swiper-nav .swiper-slide img {
        -webkit-filter: grayscale(70%);
        /* Safari 6.0 - 9.0 */
        filter: grayscale(70%); }
    .character-swiper-nav .swiper-slide:hover img,
    .character-swiper-nav .swiper-slide-thumb-active img {
      -webkit-filter: grayscale(0%);
      /* Safari 6.0 - 9.0 */
      filter: grayscale(0%); }
  .character-block {
    position: relative;
    margin: 0px auto 0px; }
    .character-block .character-content {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: right;
      -webkit-justify-content: right;
      -ms-flex-pack: right;
      justify-content: right; }
      .character-block .character-content .character-info {
        width: 471px;
        height: 305px;
        position: absolute;
        top: 300px;
        left: 250px;
        background: url(../imgs/char-info-bg.png) no-repeat 0 0;
        padding: 10px 30px 30px;
        scrollbar-width: 5px;
        scrollbar-color: #443128 #bcb4a9;
        overflow: auto; }
        .character-block .character-content .character-info::-webkit-scrollbar {
          /* Works on Chrome, Edge, and Safari */
          width: 5px; }
        .character-block .character-content .character-info::-webkit-scrollbar-track {
          background: #bcb4a9;
          -webkit-border-radius: 5px;
          border-radius: 5px; }
        .character-block .character-content .character-info::-webkit-scrollbar-thumb {
          background-color: #443128;
          -webkit-border-radius: 5px;
          border-radius: 5px;
          border: 1px solid #443128; }
        .character-block .character-content .character-info .character-name {
          font-family: 'fz_edge-of-the-galaxy-poster';
          color: #4e432d;
          text-transform: capitalize;
          text-align: inherit;
          font-weight: normal;
          font-size: 58px;
          line-height: 1.1;
          margin-bottom: 15px; }
        .character-block .character-content .character-info .note {
          color: #395173;
          text-transform: capitalize;
          text-align: inherit;
          font-weight: normal;
          font-size: 16px;
          line-height: 22px;
          margin: 0 0 40px 0;
          height: 80px; }
          .character-block .character-content .character-info .note p {
            margin-bottom: 10px; }
          .character-block .character-content .character-info .note img {
            padding: 0 2px;
            margin-top: -3px; }
          .character-block .character-content .character-info .note .label {
            display: inline-block;
            color: #395173;
            text-align: inherit;
            font-weight: bold;
            font-size: 16px;
            font-style: italic;
            padding: 0 10px 0 0; }
        .character-block .character-content .character-info .intro {
          color: #3d2a22;
          text-transform: inherit;
          text-align: inherit;
          font-weight: normal;
          font-size: 18px;
          padding: 10px 0; }

/*--- Dac sac ---*/
.section-3 .section-title {
  margin: 0; }

.dacsac {
  width: 852px;
  height: 524px;
  margin: -10px auto 80px;
  padding: 49px 31px 35px 53px;
  background: url(../imgs/dacsac-bg.png) no-repeat 0 100%;
  position: relative; }
  .dacsac:after {
    content: '';
    width: 370px;
    height: 65px;
    background: url(../imgs/rubang.png) no-repeat 0 0;
    position: absolute;
    bottom: 0;
    left: 90px;
    z-index: 2; }
  .dacsac-prev {
    cursor: pointer;
    position: absolute;
    top: 45%;
    left: -90px;
    z-index: 3; }
    .dacsac-prev:hover {
      -webkit-filter: brightness(120%);
      filter: brightness(120%); }
  .dacsac-next {
    cursor: pointer;
    position: absolute;
    top: 45%;
    right: -90px;
    z-index: 3; }
    .dacsac-next:hover {
      -webkit-filter: brightness(120%);
      filter: brightness(120%); }
  .dacsac .swiper-pagination {
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    bottom: -40px; }
    .dacsac .swiper-pagination .swiper-pagination-bullet {
      width: 28px;
      height: 28px;
      background: url(../imgs/dacsac-paging.png) no-repeat 0 0;
      opacity: 1;
      margin: 5px; }
    .dacsac .swiper-pagination .swiper-pagination-bullet-active {
      width: 28px;
      height: 28px;
      background: url(../imgs/dacsac-paging-hover.png) no-repeat 0 0; }

.buttons-footer {
  padding: 10px;
  background: #201c31;
  display: none;
  -webkit-justify-content: space-around;
  -ms-flex-pack: distribute;
  justify-content: space-around; }
  @media only screen and (max-width: 768px) {
    .buttons-footer {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; } }

.floating {
  width: 197px;
  height: 346px;
  position: fixed;
  top: 50%;
  right: 0px;
  background: url(../imgs/floating-bg.png) no-repeat;
  z-index: 10;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  padding: 70px 0 0 0px; }
  .floating a {
    font-family: robotoslab;
    color: #694f32;
    text-transform: uppercase;
    text-align: center;
    font-weight: normal;
    font-size: 14px;
    display: block;
    background: url(../imgs/floating-line.png) no-repeat center bottom;
    padding: 0 0 0px;
    margin: 0 0 1px;
    line-height: 27px;
    height: 29px; }
    .floating a:hover {
      color: #fffbee;
      background: url(../imgs/floating-hover.jpg) no-repeat center center; }
    .floating a.floating-top {
      margin-top: 55px;
      background: none; }
      .floating a.floating-top:hover {
        -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
        transform: scale(1.2); }

/*--- Sub page ---*/
.main-content {
  padding: 0 80px 20px;
  margin: 0px 0 120px;
  background: url(../imgs/maincontent-top.jpg) no-repeat top center, url(../imgs/maincontent-bottom.jpg) no-repeat bottom center, url(../imgs/maincontent-loop.jpg) repeat-y center center;
  position: relative;
  z-index: 1; }
  .main-content .news-list li {
    background: none;
    padding: 0 0 10px 0;
    margin: 0 0 10px 0;
    border-bottom: dotted 1px #908070 !important; }
  .main-content .news-list .highlight {
    background: none; }
    .main-content .news-list .highlight .news-des {
      color: #35353c;
      font-size: 16px; }
      .main-content .news-list .highlight .news-des:hover {
        color: #b48300; }
      .main-content .news-list .highlight .news-des:before, .main-content .news-list .highlight .news-des:after {
        background: #fff; }
    .main-content .news-list .highlight .news-title {
      color: #b48300;
      margin-bottom: 5px;
      width: calc(100% - 235px);
      display: block; }
      .main-content .news-list .highlight .news-title span {
        padding: 0;
        line-height: 1.5; }
      .main-content .news-list .highlight .news-title .news-time {
        color: #b48300;
        top: 0; }
      .main-content .news-list .highlight .news-title:hover {
        color: #cea861; }
        .main-content .news-list .highlight .news-title:hover .news-time {
          color: #cea861; }

.static {
  overflow: hidden;
  padding: 0;
  position: relative;
  margin: 0px 0px 50px;
  padding: 7px 0 0 0; }
  .static .icon-static {
    float: left;
    margin-right: 5px; }
  .static .icon-home {
    display: inline-block;
    width: 15px;
    height: 11px;
    margin: 0 5px 0 0;
    background: url(../imgs/icon-home.png) no-repeat; }
  .static h2 {
    font-size: 16px;
    font-weight: bold;
    color: #d7c6b8;
    margin: 10px 0 2px 5px;
    text-transform: uppercase; }

.breadcrumb--main {
  font-size: 14px;
  color: #d7c6b8; }
  .breadcrumb--main a {
    color: #d7c6b8;
    text-decoration: none; }
    .breadcrumb--main a:hover {
      color: #ffe594; }

.relative {
  padding-top: 9px;
  text-align: center; }
  .relative-title a {
    display: block;
    position: relative;
    margin: 0 0 10px;
    padding: 10px;
    color: #d7c6b8;
    text-transform: uppercase;
    text-align: left;
    font-weight: bold;
    font-size: 18px;
    background: #39281f;
    background: -webkit-linear-gradient(legacy-direction(90deg), #39281f, #39281f);
    background: -webkit-gradient(linear, left top, right top, from(#39281f), to(#39281f));
    background: -webkit-linear-gradient(left, #39281f, #39281f);
    background: -o-linear-gradient(left, #39281f, #39281f);
    background: linear-gradient(90deg, #39281f, #39281f); }
    .relative-title a:before {
      font-size: 35px;
      content: "\002b";
      font-family: 'GlyphiconsHalflings';
      position: absolute;
      top: -3px;
      right: 15px; }
    .relative-title a:hover {
      color: #fcf0bc; }
  .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 solid #695b4d;
      padding: 12px 0 10px 5px;
      position: relative; }
      .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: #35353c; }
        .relative ul.relative-list li a:hover {
          color: #b48300;
          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: #35353c;
        text-transform: inherit;
        text-align: inherit;
        font-weight: normal;
        font-size: 14px;
        text-align: center;
        padding-left: 40px;
        line-height: 21px; }

.boxsearch {
  position: absolute;
  top: 50%;
  right: 0px;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 2;
  background: #111111;
  border: 1px solid #65605f;
  -webkit-border-radius: 10px;
  border-radius: 10px;
  width: 180px; }
  .boxsearch fieldset {
    border: none;
    padding: 5px; }
  .boxsearch .bgsearch {
    background: transparent;
    border: none;
    width: 135px;
    font-size: 14px;
    padding: 3px 9px;
    color: #9da3c0; }
  .boxsearch .btsearch {
    background: url(../imgs/icon-search.png) no-repeat 0 0;
    width: 15px;
    height: 15px;
    display: block;
    position: absolute;
    top: 10px;
    right: 10px;
    border: none;
    text-indent: -9999px; }

/* Paging */
.paging {
  text-align: center;
  padding-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: #cea861 !important;
      text-decoration: none !important;
      font-size: 15px;
      border: 1px solid #cea861;
      display: block;
      padding: 0 10px;
      line-height: 24px; }
      ul.page__list li a:hover {
        color: #fff !important;
        background-color: #cea861;
        border: 1px solid #cea861; }
      ul.page__list li a.disable,
      ul.page__list li a:hover .disable {
        opacity: 0.6;
        cursor: default;
        background: none;
        border: 1px solid #636363;
        color: #636363 !important; }
    ul.page__list li.active a {
      color: #ffffff !important;
      background-color: #cea861;
      border: 1px solid #cea861; }
    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: 20px;
    display: block;
    position: absolute;
    right: -20px;
    top: -20px;
    font-size: 30px; }
    .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; }
  .popup.active .popup-content {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    pointer-events: all; }

.popup-giftcode {
  width: 680px;
  height: 500px;
  max-width: 100%;
  background: url(../imgs/popup-bg.png) no-repeat center center/100% 100%;
  -webkit-border-radius: 5px;
  border-radius: 5px;
  padding: 176px 160px 0;
  color: #333333;
  font-weight: bold;
  text-align: center; }
  .popup-giftcode .popup-title {
    color: #3d2a22;
    text-transform: normal;
    text-align: center;
    font-weight: normal;
    font-size: 24px;
    margin: 0 0 10px;
    font-size: calc(1.28125rem + 0.375vw); }
    @media (min-width: 1200px) {
      .popup-giftcode .popup-title {
        font-size: 1.5625rem; } }
  .popup-giftcode .value {
    padding: 5px;
    background: #2a1f1b;
    width: 90%;
    color: #fff;
    text-transform: uppercase;
    font-size: 18px;
    text-align: center;
    margin: 0 auto; }

.vaogame {
  display: block;
  position: fixed;
  bottom: 20px;
  left: 20px;
  z-index: 1002; }

/*--- NAV PAGE SERVER ---*/
.server-nav {
  width: 736px;
  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: 0 0 40px -65px; }
  .server-nav li a {
    display: block;
    width: 140px;
    height: 50px;
    line-height: 45px;
    background: url(../imgs/server-nav-bg.png) no-repeat 0 0;
    font-family: robotoslab;
    color: #000000;
    text-transform: capitalize;
    text-align: center;
    font-weight: normal;
    font-size: 18px; }
    .server-nav li a:hover {
      -webkit-filter: brightness(120%);
      filter: brightness(120%); }

/*--- Server list ---*/
.server {
  position: relative;
  display: block;
  overflow: hidden;
  min-height: 710px;
  width: 736px;
  height: 900px;
  max-width: 100%;
  margin: 90px auto;
  padding: 0 65px;
  background: url(../imgs/server-list-bg.png) no-repeat 0 68px;
  -webkit-transform: translateX(25%);
  -ms-transform: translateX(25%);
  transform: translateX(25%); }
  .server .heading {
    text-align: center;
    margin: 0px 0 0 0; }
  .server-sub {
    text-align: center;
    font-weight: normal;
    font-size: 18px;
    font-family: robotoslab;
    background: #724718;
    background: -webkit-linear-gradient(legacy-direction(0deg), #724718, #4b2f10);
    background: -webkit-gradient(linear, left bottom, left top, from(#724718), to(#4b2f10));
    background: -webkit-linear-gradient(bottom, #724718, #4b2f10);
    background: -o-linear-gradient(bottom, #724718, #4b2f10);
    background: linear-gradient(0deg, #724718, #4b2f10);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 15px; }
  .server .login {
    width: 595px;
    height: 130px;
    position: relative;
    color: #fff6d5;
    font-size: 12px;
    margin: 30px auto 0;
    padding: 0 65px; }
    .server .login .forgot-pass {
      margin-top: -35px; }
      .server .login .forgot-pass-link {
        color: #fff6d5;
        text-transform: inherit;
        text-align: inherit;
        font-weight: normal;
        font-size: 12px; }
        .server .login .forgot-pass-link:hover {
          color: #ff0400; }
    .server .login-form {
      width: 100%;
      overflow: hidden;
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex; }
    .server .login a {
      color: #ff0400;
      text-transform: inherit;
      text-align: inherit;
      font-weight: normal;
      font-size: 12px; }
      .server .login a:hover {
        text-decoration: underline !important; }
    .server .login .box-input {
      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: 0 10px 0 0;
      width: 340px; }
  .server .login-form-input {
    background: #ffffff;
    border: none;
    width: 160px;
    border: solid 1px #2b201a;
    padding: 5px;
    height: 27px;
    color: #2b201a;
    font-size: 14px; }
  .server .error {
    color: #ff0400;
    font-size: 12px;
    height: 18px; }
  .server .form-submit {
    width: 114px;
    height: 87px;
    background: url(../imgs/dangnhap-btn-2.jpg);
    font-size: 0;
    border: none;
    -webkit-transition: all 0.2s;
    -o-transition: all 0.2s;
    transition: all 0.2s;
    cursor: pointer; }
    .server .form-submit:hover {
      -webkit-transform: scale(1.05);
      -ms-transform: scale(1.05);
      transform: scale(1.05); }
  .server .social-btn {
    position: absolute;
    top: 60px;
    right: 200px; }
    .server .social-btn a:first-child {
      margin-right: 7px; }
  .server .logged {
    width: 595px;
    height: 130px;
    position: relative;
    color: #d7c6b8;
    font-size: 12px;
    margin: 25px auto 0;
    padding: 0 65px; }
    .server .logged p {
      margin: 0;
      padding: 0 0 2px;
      font-size: 12px;
      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; }
    .server .logged .username {
      width: 200px;
      display: inline-block;
      padding: 0 0 0 10px;
      color: #f1945a;
      font-weight: bold;
      font-size: 14px;
      -o-text-overflow: ellipsis;
      text-overflow: ellipsis;
      overflow: hidden;
      white-space: nowrap; }
    .server .logged .text-center {
      display: block;
      text-align: center; }
    .server .logged .logout {
      display: inline-block;
      padding: 0 10px;
      color: #d7c6b8;
      font-weight: bold;
      font-size: 14px;
      font-style: italic; }
      .server .logged .logout:hover {
        text-decoration: underline !important; }
    .server .logged .server-play-recent {
      position: relative; }
      .server .logged .server-play-recent a {
        display: block;
        width: 110px;
        height: 38px;
        line-height: 38px;
        color: #fffbee;
        text-align: center;
        font-weight: bold;
        font-size: 18px;
        text-shadow: 1px 1px 1px #333333;
        background: #265845;
        -webkit-transition: all 0.2s;
        -o-transition: all 0.2s;
        transition: all 0.2s; }
        .server .logged .server-play-recent a:hover {
          background: #a67844;
          border-bottom: solid 5px #ffe7b4; }
    .server .logged .server-prev {
      position: absolute;
      top: 50px;
      left: 40px; }
    .server .logged .server-next {
      position: absolute;
      top: 50px;
      right: 45px; }
  .server .server-group {
    color: #4b2f10;
    text-transform: inherit;
    text-align: inherit;
    font-weight: normal;
    font-size: 12px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 0 30px; }
    .server .server-group div {
      width: 65%;
      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;
      margin: auto; }
      .server .server-group div span {
        margin: 0 10px 0 0; }
    .server .server-group button {
      border: none;
      background: none;
      cursor: pointer;
      background: url(../imgs/server-choingay-btn.png) no-repeat center center;
      width: 83px;
      height: 26px;
      margin-left: 10px; }
    .server .server-group .server-current {
      width: 135px;
      height: 26px;
      line-height: 26px;
      background: #fff;
      color: #3d2a22;
      text-transform: uppercase;
      text-align: center;
      font-weight: bold;
      font-size: 14px;
      padding: 5px;
      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; }
    .server .server-group .nice-select {
      height: 26px;
      -webkit-border-radius: 0;
      border-radius: 0;
      color: #3d2a22; }
    .server .server-group .nice-select.open .list {
      height: 300px;
      overflow-y: auto; }
      .server .server-group .nice-select.open .list .option {
        height: 30px;
        line-height: 30px;
        background: #583f3f; }
      .server .server-group .nice-select.open .list .option:hover,
      .server .server-group .nice-select.open .list .option.focus,
      .server .server-group .nice-select.open .list .option.selected.focus {
        color: #fffbee;
        background: #a79570; }
  .server .server-hot {
    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: 0px auto 40px;
    text-align: center;
    padding: 0px;
    -webkit-border-radius: 5px;
    border-radius: 5px; }
    .server .server-hot a {
      display: inline-block;
      width: 266px;
      height: 56px;
      line-height: 56px;
      margin: 0 5px;
      color: #feffff;
      text-transform: capitalize;
      text-align: center;
      font-weight: bold;
      font-size: 30px;
      background: url(../imgs/servermoi-bg.jpg) no-repeat;
      -webkit-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out; }
      .server .server-hot a:hover {
        -webkit-filter: brightness(120%);
        filter: brightness(120%); }
  .server-list {
    width: 100%;
    overflow: hidden;
    margin: 15px auto 0;
    padding: 0 28px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: 300px;
    overflow-y: auto;
    scrollbar-width: 3px;
    scrollbar-color: #aa9a76 #4e4a40;
    overflow: auto; }
    .server-list::-webkit-scrollbar {
      /* Works on Chrome, Edge, and Safari */
      width: 3px; }
    .server-list::-webkit-scrollbar-track {
      background: #4e4a40;
      -webkit-border-radius: 3px;
      border-radius: 3px; }
    .server-list::-webkit-scrollbar-thumb {
      background-color: #aa9a76;
      -webkit-border-radius: 3px;
      border-radius: 3px;
      border: 1px solid #aa9a76; }
    .server-list li {
      margin: 0 3px 3px 0; }
      .server-list li a {
        display: block;
        width: 178px;
        height: 38px;
        line-height: 38px;
        background: #a67844;
        color: #fffbee;
        text-transform: uppercase;
        text-align: center;
        font-weight: normal;
        font-size: 12px;
        font-family: 'SF-Bold';
        -webkit-transition: all 0.2s ease-in-out;
        -o-transition: all 0.2s ease-in-out;
        transition: all 0.2s ease-in-out;
        text-shadow: 1px 1px 2px #333333; }
        .server-list li a:hover {
          background: #265845; }

.footer {
  color: #7a7a7a;
  padding: 1.25rem 0 0.625rem;
  position: relative;
  background: #191919;
  font-size: 14px; }
  .footer-item {
    margin: 0 auto;
    width: 100%;
    text-align: center; }
    .footer-item li {
      color: #7a7a7a;
      display: inline-block; }
      .footer-item li a {
        font-size: 14px;
        color: inherit;
        font-weight: bold;
        padding: 0 8px; }
        .footer-item li a:hover, .footer-item li a:focus {
          color: #f03200; }
  .footer a {
    color: #fff;
    padding: 0 8px; }
    .footer a:hover, .footer a:focus {
      color: #f03200; }
  .footer .cmn-name {
    color: #fff;
    font-weight: bold; }
  .footer .copyright {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    color: #7a7a7a;
    font-size: 12px;
    -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;
    padding: 10px 10px 0;
    margin: 0 auto; }
  .footer .img18 {
    margin: 0 10px; }
  .footer .address {
    width: 100%;
    padding: 0 10%;
    text-align: center; }
.taigame1 {
	float:left;
	margin-top:20px
}
.taigame2 {
	float:left;
	margin-top:20px;
	margin-left:30px;
}
/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNldHRpbmcvX3ZhcmlhYmxlLnNjc3MiLCJzZXR0aW5nL19yZXNldC5zY3NzIiwic3R5bGUuY3NzIiwidmVuZG9yL19zd2lwZXIuc2NzcyIsInZlbmRvci9fYWNjb3JkaW9uLnNjc3MiLCJ2ZW5kb3IvX2ZhbmN5Ym94LnNjc3MiLCJ2ZW5kb3IvX25pY2Utc2VsZWN0LnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2hudC1zY3NzLW5wbS9zcmMvc2Nzcy92ZW5kb3IvX2FuaW1hdGUtbXktb3duLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fbWl4aW5zLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fZXh0ZW5kLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvaG50LXNjc3MtbnBtL3NyYy9zY3NzL3ZlbmRvci9fY29tbW9uLnNjc3MiLCJ0aGVtZS9fbG9hZC1mb250cy5zY3NzIiwidGhlbWUvX2hlYWRlci5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL3Jmcy9zY3NzLnNjc3MiLCJ0aGVtZS9fY29tbW9uLnNjc3MiLCJ0aGVtZS9fdHlwaW5nLnNjc3MiLCJ0aGVtZS9fcGFnZXMuc2NzcyIsInRoZW1lL19mb290ZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSx3QkFBd0I7QUFpQnhCO0VBQ0UsNkJBQXNDO0VBQ3RDLHlCQUFrQztFQUNsQyxlQUFjLEVBQ2Y7O0FDckJEO0VBQ0UsVUFBUztFQUNULFdBQVU7RUFDVix1QkFBc0I7RUFDdEIsNEJBQTJCO0VBQzNCLCtCQUE4QjtFQUM5QiwyQkFBMEIsRUFDM0I7O0FBR0Q7RUFFRSxvQ0FBbUM7RUFDbkMsbUNBQWtDO0VBQ2xDLDhCQUE2QjtFQUM3QixtQkFBa0I7RUFDbEIsVUFBUyxFQUNWOztBQUVEO0VBQ0UsZUFBYyxFQUNmOztBQUVEO0VBQ0Usa0NBQWlDO0VBQ2pDLGdCQUFlLEVBQ2hCOztBQUVEOztFQUVFLG9CQUFtQixFQUNwQjs7QUFFRDtFQUNFLG9CQUFtQjtFQUNuQixlQUFjO0VBQ2Qsa0JBQWlCO0VBQ2pCLFVBQVM7RUFDVCxjQUFhLEVBQ2Q7O0FBTkQ7RUFDRSxvQkFBbUI7RUFDbkIsZUFBYztFQUNkLGtCQUFpQjtFQUNqQixVQUFTO0VBQ1QsY0FBYSxFQUNkOztBQUVEOzs7RUFHRSxrQ0FBaUM7RUFDakMsZ0JBQWUsRUFDaEI7O0FBRUQ7RUFDRSxlQUFjLEVBQ2Y7O0FBRUQ7O0VBRUUsZUFBYztFQUNkLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIseUJBQXdCLEVBQ3pCOztBQUVEO0VBQ0UsZ0JBQWUsRUFDaEI7O0FBRUQ7RUFDRSxZQUFXLEVBQ1o7O0FBRUQ7RUFDRSxnQkFBZTtFQUNmLGFBQVk7RUFDWixVQUFTLEVBQ1Y7O0FBRUQ7Ozs7O0VBS0UscUJBQW9CO0VBQ3BCLGdCQUFlO0VBQ2Ysa0JBQWlCO0VBQ2pCLFVBQVMsRUFLVjtFQWJEOzs7OztJQVdJLHlCQUF3QixFQUN6Qjs7QUFHSDs7RUFFRSxrQkFBaUIsRUFDbEI7O0FBRUQ7O0VBRUUscUJBQW9CLEVBQ3JCOztBQUVEOzs7O0VBSUUsMkJBQTBCLEVBQzNCOztBQUVEOzs7O0VBSUUsbUJBQWtCO0VBQ2xCLFdBQVUsRUFDWDs7QUFFRDs7OztFQUlFLDRCQUEyQixFQUM1Qjs7QUFFRDtFQUlJLGNBQWE7RUFDYixhQUFZLEVBQ2I7O0FBR0g7RUFDRSxrQ0FBaUMsRUFDbEM7O0FBRUQ7RUFDRSwrQkFBc0I7RUFBdEIsdUJBQXNCO0VBQ3RCLGVBQWM7RUFDZCxlQUFjO0VBQ2QsZ0JBQWU7RUFDZixXQUFVO0VBQ1Ysb0JBQW1CLEVBQ3BCOztBQUVEO0VBQ0UseUJBQXdCLEVBQ3pCOztBQUVEO0VBQ0UsZUFBYyxFQUNmOztBQ25CRDs7RUR1QkUsK0JBQXNCO0VBQXRCLHVCQUFzQjtFQUN0QixPQUFPO0VBQ1AsV0FBVTtFQUNWLE9BQU8sRUFDUjs7QUNwQkQ7O0VEd0JFLGFBQVksRUFDYjs7QUNyQkQ7RUR3QkUsOEJBQTZCO0VBQzdCLHFCQUFvQixFQUNyQjs7QUN0QkQ7RUR5QkUseUJBQXdCLEVBQ3pCOztBQUVEO0VBQ0UsMkJBQTBCO0VBQzFCLGNBQWEsRUFDZDs7QUFFRDtFQUNFLGVBQWMsRUFDZjs7QUFFRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLGNBQWEsRUFDZDs7QUMzQkQ7RUQ4QkUsY0FBYSxFQUNkOztBQUVEO0VBQ0UsMkJBQTBCLEVBQzNCOztBQUVEOzs7Ozs7RUFNRSxVQUFTO0VBQ1QsV0FBVTtFQUNWLGlCQUFnQixFQUNqQjs7QUFJRDtFQUNFLFVBQVM7RUFDVCxXQUFVLEVBS1g7RUFQRDtJQUtJLGlCQUFnQixFQUNqQjs7QUFHSDtFQUNFLHVCQUFzQixFQUN2Qjs7QUNwQ0Q7RUR1Q0Usc0JBQXFCLEVBQ3RCOztBRWxPRDs7Ozs7Ozs7OztHQVVHO0FBRUg7RUFBVywwQkFBd0I7RUFBQyw2c0VBQTJzRTtFQUFDLGlCQUFlO0VBQUMsbUJBQWlCLEVBQUE7O0FBQUM7RUFBTSw2QkFBcUIsRUFBUzs7QUFBRDtFQUFrQixrQkFBZ0I7RUFBQyxtQkFBaUI7RUFBQyxtQkFBaUI7RUFBQyxpQkFBZTtFQUFDLGlCQUFlO0VBQUMsV0FBUztFQUFDLFdBQVMsRUFBRTs7QUFBRDtFQUEyQyw2QkFBcUI7RUFBckIsOEJBQXFCO0VBQXJCLCtCQUFxQjtFQUFyQiwyQkFBcUI7RUFBckIsdUJBQXFCLEVBQUU7O0FBQUQ7RUFBZ0IsbUJBQWlCO0VBQUMsWUFBVTtFQUFDLGFBQVc7RUFBQyxXQUFTO0VBQUMscUJBQVk7RUFBWixzQkFBWTtFQUFaLHFCQUFZO0VBQVosY0FBWTtFQUFDLCtDQUE2QjtFQUE3Qix1Q0FBNkI7RUFBN0Isa0NBQTZCO0VBQTdCLCtCQUE2QjtFQUE3QixrREFBNkI7RUFBQyxnQ0FBc0I7RUFBdEIsd0JBQXNCLEVBQUU7O0FBQUQ7RUFBd0QsMENBQThCO0VBQTlCLGtDQUE4QixFQUFFOztBQUFEO0VBQTJDLHdCQUFjO0VBQWQsb0JBQWM7RUFBZCxnQkFBYyxFQUFFOztBQUFEO0VBQWtELHdCQUFjO0VBQWQsb0JBQWM7RUFBZCxnQkFBYztFQUFDLDZCQUFxQjtFQUFyQiw4QkFBcUI7RUFBckIsK0JBQXFCO0VBQXJCLDJCQUFxQjtFQUFyQix1QkFBcUIsRUFBRTs7QUFBRDtFQUE0Qyw2Q0FBbUM7RUFBbkMsd0NBQW1DO0VBQW5DLHFDQUFtQztFQUFDLGVBQWEsRUFBRTs7QUFBRDtFQUFjLHVCQUFhO0VBQWIscUJBQWE7RUFBYixlQUFhO0VBQUMsWUFBVTtFQUFDLGFBQVc7RUFBQyxtQkFBaUI7RUFBQywrQ0FBNkI7RUFBN0IsdUNBQTZCO0VBQTdCLGtDQUE2QjtFQUE3QiwrQkFBNkI7RUFBN0Isa0RBQTZCLEVBQUU7O0FBQUQ7RUFBOEIsbUJBQWlCLEVBQUU7O0FBQUQ7RUFBd0UsYUFBVyxFQUFFOztBQUFEO0VBQTZDLHlCQUFzQjtFQUF0QixnQ0FBc0I7RUFBdEIsc0JBQXNCO0VBQXRCLHdCQUFzQjtFQUFDLHNEQUFvQztFQUFwQyw4Q0FBb0M7RUFBcEMseUNBQW9DO0VBQXBDLHNDQUFvQztFQUFwQyx3REFBb0MsRUFBRTs7QUFBRDtFQUFxQiw0QkFBa0I7RUFBbEIsb0JBQWtCLEVBQUU7O0FBQUQ7RUFBK1MscUNBQTJCO0VBQTNCLDZCQUEyQixFQUFFOztBQUFEO0VBQThMLG1CQUFpQjtFQUFDLFFBQU07RUFBQyxPQUFLO0VBQUMsWUFBVTtFQUFDLGFBQVc7RUFBQyxxQkFBbUI7RUFBQyxZQUFVLEVBQUU7O0FBQUQ7RUFBK0MsZ0hBQXNFO0VBQXRFLHVGQUFzRTtFQUF0RSxrRkFBc0U7RUFBdEUsaUZBQXNFLEVBQUU7O0FBQUQ7RUFBZ0QsZ0hBQXVFO0VBQXZFLHNGQUF1RTtFQUF2RSxpRkFBdUU7RUFBdkUsa0ZBQXVFLEVBQUU7O0FBQUQ7RUFBOEMsa0hBQXFFO0VBQXJFLHdGQUFxRTtFQUFyRSxtRkFBcUU7RUFBckUsZ0ZBQXFFLEVBQUU7O0FBQUQ7RUFBaUQsa0hBQXdFO0VBQXhFLHFGQUF3RTtFQUF4RSxnRkFBd0U7RUFBeEUsbUZBQXdFLEVBQUU7O0FBQUQ7RUFBMkMsZUFBYTtFQUFDLHNCQUFvQjtFQUFDLHlCQUF1QixFQUFFOztBQUFEO0VBQThELGNBQVksRUFBRTs7QUFBRDtFQUF5RCwrQkFBNkIsRUFBRTs7QUFBRDtFQUF1RSxzQ0FBNEI7RUFBNUIsa0NBQTRCO0VBQTVCLDhCQUE0QixFQUFFOztBQUFEO0VBQXFFLHNDQUE0QjtFQUE1QixrQ0FBNEI7RUFBNUIsOEJBQTRCLEVBQUU7O0FBQTNpRjtFQUFnakYsOEJBQXlCLEVBQU07O0FBQUQ7RUFBd0MsbUJBQWlCO0VBQUMsU0FBTztFQUFDLG9EQUFrRDtFQUFDLHNDQUFvQztFQUFDLHdEQUFzRDtFQUFDLFlBQVU7RUFBQyxnQkFBYztFQUFDLHFCQUFZO0VBQVosc0JBQVk7RUFBWixxQkFBWTtFQUFaLGNBQVk7RUFBQywwQkFBa0I7RUFBbEIsNEJBQWtCO0VBQWxCLHVCQUFrQjtFQUFsQixvQkFBa0I7RUFBQyx5QkFBc0I7RUFBdEIsZ0NBQXNCO0VBQXRCLHNCQUFzQjtFQUF0Qix3QkFBc0I7RUFBQyxpRUFBOEQsRUFBRTs7QUFBRDtFQUFzRixhQUFXO0VBQUMsYUFBVztFQUFDLHFCQUFtQixFQUFFOztBQUFEO0VBQW9ELDBCQUF3QjtFQUFDLHlDQUF1QztFQUFDLGdDQUE2QjtFQUFDLGtCQUFnQjtFQUFDLHFCQUFtQjtFQUFDLHNCQUFvQixFQUFFOztBQUFEO0VBQThELFdBQVM7RUFBQyxZQUFVLEVBQUU7O0FBQUQ7RUFBMEUsZ0JBQWMsRUFBRTs7QUFBRDtFQUE4RCxZQUFVO0VBQUMsV0FBUyxFQUFFOztBQUFEO0VBQTBFLGdCQUFjLEVBQUU7O0FBQUQ7RUFBZ0Ysa0NBQTBCLEVBQVM7O0FBQUQ7RUFBZ0Ysa0NBQTBCLEVBQVM7O0FBQUQ7RUFBb0IsY0FBWSxFQUFFOztBQUFEO0VBQW1CLG1CQUFpQjtFQUFDLG1CQUFpQjtFQUFDLGdDQUFzQjtFQUF0QiwyQkFBc0I7RUFBdEIsd0JBQXNCO0VBQUMsd0NBQTRCO0VBQTVCLGdDQUE0QjtFQUFDLFlBQVUsRUFBRTs7QUFBRDtFQUE0QyxXQUFTLEVBQUU7O0FBQUQ7RUFBOEcsYUFBVztFQUFDLFFBQU07RUFBQyxZQUFVLEVBQUU7O0FBQUQ7RUFBbUMsaUJBQWU7RUFBQyxhQUFXLEVBQUU7O0FBQUQ7RUFBNkQsK0JBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQix1QkFBb0I7RUFBQyxtQkFBaUIsRUFBRTs7QUFBRDtFQUFvRSw0QkFBa0I7RUFBbEIsd0JBQWtCO0VBQWxCLG9CQUFrQixFQUFFOztBQUFEO0VBQXlFLDRCQUFrQjtFQUFsQix3QkFBa0I7RUFBbEIsb0JBQWtCLEVBQUU7O0FBQUQ7RUFBeUUsK0JBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQix1QkFBb0IsRUFBRTs7QUFBRDtFQUE4RSwrQkFBb0I7RUFBcEIsMkJBQW9CO0VBQXBCLHVCQUFvQixFQUFFOztBQUFEO0VBQXlFLCtCQUFvQjtFQUFwQiwyQkFBb0I7RUFBcEIsdUJBQW9CLEVBQUU7O0FBQUQ7RUFBOEUsK0JBQW9CO0VBQXBCLDJCQUFvQjtFQUFwQix1QkFBb0IsRUFBRTs7QUFBRDtFQUEwQixXQUFTO0VBQUMsWUFBVTtFQUFDLHNCQUFvQjtFQUFDLDRCQUFrQjtFQUFsQixvQkFBa0I7RUFBQyxpQkFBZTtFQUFDLFlBQVUsRUFBRTs7QUFBRDtFQUFnQyxhQUFXO0VBQUMsVUFBUTtFQUFDLFdBQVM7RUFBQyx5QkFBZTtFQUFmLGlCQUFlO0VBQUMseUJBQXVCO0VBQUMsc0JBQW9CO0VBQUMsaUJBQWUsRUFBRTs7QUFBRDtFQUF1RCxnQkFBYyxFQUFFOztBQUFEO0VBQWlDLFdBQVM7RUFBQyxzRUFBbUUsRUFBRTs7QUFBRDtFQUFzRCxZQUFVO0VBQUMsU0FBTztFQUFDLDZDQUFpQztFQUFqQyxxQ0FBaUMsRUFBRTs7QUFBRDtFQUFnRixjQUFZO0VBQUMsZUFBYSxFQUFFOztBQUFEO0VBQXdGLFNBQU87RUFBQyxvQ0FBMEI7RUFBMUIsZ0NBQTBCO0VBQTFCLDRCQUEwQjtFQUFDLFdBQVMsRUFBRTs7QUFBRDtFQUFrSCxzQkFBb0I7RUFBQywwQ0FBZ0M7RUFBaEMscUNBQWdDO0VBQWhDLGtDQUFnQyxFQUFFOztBQUFEO0VBQWtGLGNBQVksRUFBRTs7QUFBRDtFQUEwRixVQUFRO0VBQUMsb0NBQTBCO0VBQTFCLGdDQUEwQjtFQUExQiw0QkFBMEI7RUFBQyxvQkFBa0IsRUFBRTs7QUFBRDtFQUFvSCwyQ0FBaUM7RUFBakMsc0NBQWlDO0VBQWpDLG1DQUFpQyxFQUFFOztBQUFEO0VBQStHLDRDQUFrQztFQUFsQyx1Q0FBa0M7RUFBbEMsb0NBQWtDLEVBQUU7O0FBQUQ7RUFBK0IsZ0NBQTBCO0VBQUMsbUJBQWlCLEVBQUU7O0FBQUQ7RUFBbUUsc0VBQW1FO0VBQUMsbUJBQWlCO0VBQUMsUUFBTTtFQUFDLE9BQUs7RUFBQyxZQUFVO0VBQUMsYUFBVztFQUFDLDRCQUFrQjtFQUFsQix3QkFBa0I7RUFBbEIsb0JBQWtCO0VBQUMsbUNBQXlCO0VBQXpCLCtCQUF5QjtFQUF6QiwyQkFBeUIsRUFBRTs7QUFBRDtFQUF5RixvQ0FBMEI7RUFBMUIsZ0NBQTBCO0VBQTFCLDRCQUEwQixFQUFFOztBQUFEO0VBQTZKLFlBQVU7RUFBQyxZQUFVO0VBQUMsUUFBTTtFQUFDLE9BQUssRUFBRTs7QUFBRDtFQUE2SixXQUFTO0VBQUMsYUFBVztFQUFDLFFBQU07RUFBQyxPQUFLLEVBQUU7O0FBQUQ7RUFBeUIsa0NBQTBCLEVBQVM7O0FBQUQ7RUFBeUIsa0NBQTBCLEVBQVM7O0FBQUQ7RUFBd0IsY0FBWSxFQUFFOztBQUFEO0VBQWtCLDRCQUFrQjtFQUFsQixvQkFBa0I7RUFBQyxtQkFBaUI7RUFBQyx1QkFBcUI7RUFBQywrQkFBeUIsRUFBRTs7QUFBRDtFQUErQyxtQkFBaUI7RUFBQyxTQUFPO0VBQUMsWUFBVTtFQUFDLFlBQVU7RUFBQyxZQUFVO0VBQUMsV0FBUyxFQUFFOztBQUFEO0VBQTZDLG1CQUFpQjtFQUFDLFdBQVM7RUFBQyxRQUFNO0VBQUMsWUFBVTtFQUFDLFdBQVM7RUFBQyxZQUFVLEVBQUU7O0FBQUQ7RUFBdUIsYUFBVztFQUFDLFlBQVU7RUFBQyxtQkFBaUI7RUFBQywrQkFBeUI7RUFBQyw0QkFBa0I7RUFBbEIsb0JBQWtCO0VBQUMsUUFBTTtFQUFDLE9BQUssRUFBRTs7QUFBRDtFQUE4QixhQUFXLEVBQUU7O0FBQUQ7RUFBdUIsY0FBWSxFQUFFOztBQUFEO0VBQXVCLFlBQVU7RUFBQyxhQUFXO0VBQUMscUJBQVk7RUFBWixzQkFBWTtFQUFaLHFCQUFZO0VBQVosY0FBWTtFQUFDLHlCQUFzQjtFQUF0QixnQ0FBc0I7RUFBdEIsc0JBQXNCO0VBQXRCLHdCQUFzQjtFQUFDLDBCQUFrQjtFQUFsQiw0QkFBa0I7RUFBbEIsdUJBQWtCO0VBQWxCLG9CQUFrQjtFQUFDLG1CQUFpQixFQUFFOztBQUFEO0VBQW9GLGdCQUFjO0VBQUMsaUJBQWU7RUFBQyx1QkFBa0I7RUFBbEIsb0JBQWtCLEVBQUU7O0FBQUQ7RUFBcUIsYUFBVyxFQUFFOztBQUFEO0VBQXVCLFlBQVU7RUFBQyxhQUFXO0VBQUMsbUJBQWlCO0VBQUMsVUFBUTtFQUFDLFNBQU87RUFBQyxtQkFBaUI7RUFBQyxrQkFBZ0I7RUFBQyxZQUFVO0VBQUMsOEJBQW9CO0VBQXBCLDBCQUFvQjtFQUFwQixzQkFBb0I7RUFBQyw0REFBa0Q7RUFBbEQsb0RBQWtEO0VBQUMsK0JBQXFCO0VBQXJCLHVCQUFxQjtFQUFDLDJFQUF3RTtFQUFDLDJCQUFpQjtFQUFqQixtQkFBaUI7RUFBQyw4QkFBNEIsRUFBRTs7QUFBRDtFQUE2Qiw4QkFBeUIsRUFBTTs7QUFBRDtFQUE2Qiw4QkFBeUIsRUFBTTs7QUFBRDtFQUFpQztJQUFLLGtDQUF3QjtJQUF4QiwwQkFBd0IsRUFBQSxFQUFBOztBQUE5RDtFQUFpQztJQUFLLGtDQUF3QjtJQUF4QiwwQkFBd0IsRUFBQSxFQUFBOztBQUFFO0VBQXVDLG1CQUFpQjtFQUFDLFFBQU07RUFBQyxPQUFLO0VBQUMscUJBQW1CO0VBQUMsV0FBUztFQUFDLGVBQWEsRUFBRTs7QUFBRDtFQUFnRSw2Q0FBbUM7RUFBbkMsd0NBQW1DO0VBQW5DLHFDQUFtQyxFQUFFOztBQUFEO0VBQXFDLHFCQUFtQjtFQUFDLHFDQUEyQjtFQUEzQixnQ0FBMkI7RUFBM0IsNkJBQTJCLEVBQUU7O0FBQUQ7RUFBbUQscUJBQW1CLEVBQUU7O0FBQUQ7RUFBNkcscUJBQW1CLEVBQUU7O0FBQUQ7RUFBdUIsa0JBQWdCLEVBQUU7O0FBQUQ7RUFBcUMscUJBQW1CO0VBQUMsb0NBQWtDO0VBQUMsNEJBQTBCO0VBQUMsV0FBUztFQUFDLG1CQUFpQjtFQUFDLDhCQUFvQjtFQUFwQiwwQkFBb0I7RUFBcEIsc0JBQW9CO0VBQUMsWUFBVTtFQUFDLGFBQVcsRUFBRTs7QUFBRDtFQUFtRCxxQkFBbUIsRUFBRTs7QUFBRDtFQUEwRCxpQ0FBdUI7RUFBdkIsNkJBQXVCO0VBQXZCLHlCQUF1QixFQUFFOztBQUFEO0VBQTZHLHFCQUFtQixFQUFFOztBQUFEO0VBQXdMLHFCQUFtQjtFQUFDLG9CQUFrQixFQUFFOztBQUFEO0VBQXNNLFdBQVM7RUFBQyxvQ0FBa0M7RUFBQyw0QkFBMEIsRUFBRTs7QUFBRDtFQUEyQyxtQkFBaUI7RUFBQyxRQUFNO0VBQUMsWUFBVTtFQUFDLFlBQVU7RUFBQyxhQUFXO0VBQUMsaUJBQWU7RUFBQyxZQUFVO0VBQUMsMkJBQXlCO0VBQUMsbUJBQWlCO0VBQUMsV0FBUyxFQUFFOztBQUFEO0VBQXVCLGtCQUFnQixFQUFFOztBQUFEO0VBQXFDLHFCQUFtQjtFQUFDLG9DQUFrQztFQUFDLDRCQUEwQjtFQUFDLFdBQVMsRUFBRTs7QUFBRDtFQUFtRCxxQkFBbUIsRUFBRTs7QUFBRDtFQUE2RyxxQkFBbUIsRUFBRTs7QUFBRDtFQUFzTSxXQUFTO0VBQUMsb0NBQWtDO0VBQUMsNEJBQTBCLEVBQUU7O0FDWnBtYTtFQUNFLFlBQVc7RUFDWCxjQUFhO0VBQ2Isa0JBQWlCO0VBQ2pCLG1CQUFrQjtFQUNsQixpQkFBZ0I7RUFDaEIsMEJBQXlCO0VBQ3pCLGtCQUFpQixFQUVsQjs7QUFFRDtFQUNFLGtCQUFpQjtFQUNqQixtQkFBa0I7RUFDbEIsWUFDRixFQUFDOztBQUVEO0VBRUUsWUFBVztFQUNYLGNBQWE7RUFDYixpQkFBZ0I7RUFDaEIsWUFBVztFQUNYLG1CQUFrQjtFQUNsQixRQUFPO0VBQ1AsT0FBTSxFQUNQOztBQUVEO0VBQ0UsWUFBVztFQUNYLGFBQVk7RUFDWixRQUFPO0VBQ1AsT0FBTTtFQUNOLG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsdUJBQXNCO0VBQ3RCLDBCQUF5QjtFQUN6QixrRUFBaUU7RUFDakUscUJBQW9CO0VBQ3BCLG9CQUFtQjtFQUNuQixrQkFBaUI7RUFDakIsaUJBQWdCO0VBQ2hCLGdCQUFlO0VBQ2YsYUFDRixFQUFDOztBQUVEO0VBQ0UsY0FDRixFQUFDOztBQ2hERDtFQUNFLGlCQUFnQixFQUFHOztBQUVyQjtFQUNFLGtCQUFpQjtFQUNqQix1QkFBc0I7RUFDdEIsbUJBQWtCLEVBQUc7O0FBRXZCO0VBQ0UsZ0JBQWU7RUFDZixPQUFNO0VBQ04sUUFBTztFQUNQLFlBQVc7RUFDWCxhQUFZO0VBQ1osZUFBYztFQUNkLG9DQUFtQztFQUNuQyw0QkFBMkIsRUFBRzs7QUFFaEMsZ0RBQWdEO0FBQ2hEO0VBQ0UsZUFBYyxFQUFHOztBQUVuQjtFQUNFLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sU0FBUTtFQUNSLFVBQVM7RUFDVCxRQUFPO0VBQ1Asb0JBQW1CO0VBQ25CLFdBQVU7RUFDVix5RUFBZ0U7RUFBaEUsb0VBQWdFO0VBQWhFLGlFQUFnRTtFQUNoRSxvQ0FBbUM7RUFDbkMsNEJBQTJCLEVBQUc7O0FBRWhDO0VBQ0UsY0FBYTtFQUNiLHNFQUE2RDtFQUE3RCxpRUFBNkQ7RUFBN0QsOERBQTZELEVBQUc7O0FBRWxFO0VBQ0UsbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixRQUFPO0VBQ1AsU0FBUTtFQUNSLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsZUFBYztFQUNkLGdDQUF1QjtFQUF2QiwyQkFBdUI7RUFBdkIsd0JBQXVCO0VBQ3ZCLHFCQUFvQjtFQUNwQixvQ0FBbUM7RUFDbkMsNEJBQTJCO0VBQzNCLGVBQWMsRUFBRzs7QUFFbkI7RUFDRSxXQUFVLEVBQUc7O0FBRWY7RUFDRSxjQUFhLEVBQUc7O0FBRWxCO0VBQ0Usc0JBQXFCO0VBQ3JCLG9CQUFtQixFQUFHOztBQUV4QjtFQUNFLHNCQUFxQjtFQUNyQixZQUFXO0VBQ1gsa0JBQWlCO0VBQ2pCLGdCQUFlO0VBQ2YseURBQXdEO0VBQ3hELG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsd0NBQXVDO0VBQ3ZDLHFCQUFvQjtFQUNwQiwwQkFBeUI7RUFDekIsdUJBQXNCO0VBQ3RCLHNCQUFxQjtFQUNyQixrQkFBaUI7RUFDakIsNEJBQTJCO0VBQzNCLHlDQUF3QztFQUN4Qyw2Q0FBNEMsRUFBRzs7QUFFakQ7RUFDRSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFNBQVE7RUFDUixjQUFhO0VBQ2Isb0JBQW1CLEVBQUc7O0FBRXhCO0VBQ0UsZUFBYyxFQUFHOztBQUVuQjtFQUNFLGlCQUFnQjtFQUNoQixlQUFjLEVBQUc7O0FBRW5COztFQUVFLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztFQUNQLFVBQVM7RUFDVCxTQUFRO0VBQ1IsV0FBVTtFQUNWLFVBQVM7RUFDVCxlQUFjO0VBQ2Qsb0NBQW1DO0VBQ25DLDRCQUEyQjtFQUMzQix5Q0FBd0MsRUFBRzs7QUFFN0M7RUFDRSxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFFBQU87RUFDUCxZQUFXO0VBQ1gsYUFBWTtFQUNaLFVBQVM7RUFDVCxXQUFVO0VBQ1YsZUFBYztFQUNkLGNBQWE7RUFDYixvQkFBbUI7RUFDbkIsK0JBQXNCO0VBQXRCLHVCQUFzQjtFQUN0QixtQkFBa0I7RUFDbEIsZUFBYztFQUNkLGtDQUFpQyxFQUFHOztBQUV0QztFQUNFLFlBQVc7RUFDWCxzQkFBcUI7RUFDckIsdUJBQXNCO0VBQ3RCLGFBQVk7RUFDWixTQUFRLEVBQUc7O0FBRWI7RUFDRSxzQkFBcUI7RUFDckIsbUJBQWtCO0VBQ2xCLGNBQWE7RUFDYixvQkFBbUI7RUFDbkIsZ0JBQWU7RUFDZix1QkFBc0I7RUFDdEIsaUJBQWdCO0VBQ2hCLHVCQUFzQjtFQUN0QixlQUFjO0VBQ2QsK0JBQXNCO0VBQXRCLHVCQUFzQixFQUFHOztBQUUzQjtFQUNFLGlCQUFnQixFQUFHOztBQUVyQjtFQUNFLGNBQWEsRUFBRzs7QUFFbEI7RUFDRSxzQkFBcUI7RUFDckIsbUJBQWtCO0VBQ2xCLGtCQUFpQjtFQUNqQixXQUFVO0VBQ1YsVUFBUztFQUNULFdBQVU7RUFDViwwQkFBeUI7RUFDekIsdUJBQXNCO0VBQ3RCLG9CQUFtQjtFQUNuQixpQkFBZ0I7RUFDaEIsb0JBQW1CO0VBQ25CLGNBQWE7RUFDYixnQkFBZTtFQUNmLCtCQUE4QjtFQUM5QiwrQkFBc0I7RUFBdEIsdUJBQXNCO0VBQ3RCLHlDQUF3QztFQUN4QyxrQ0FBaUMsRUFBRzs7QUFFdEM7RUFDRSxlQUFjO0VBQ2QsVUFBUztFQUNULFdBQVU7RUFDVixVQUFTO0VBQ1QsWUFBVztFQUNYLGFBQVk7RUFDWixpQkFBZ0IsRUFBRzs7QUFFckI7O0VBRUUsd0JBQXVCLEVBQUc7O0FBRTVCO0VBQ0UsbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixRQUFPO0VBQ1AsVUFBUztFQUNULFdBQVU7RUFDVixVQUFTO0VBQ1QsZUFBYztFQUNkLHdCQUF1QjtFQUN2QixnQkFBZTtFQUNmLGtCQUFpQjtFQUNqQixtQ0FBa0M7RUFDbEMsK0JBQThCO0VBQzlCLDJCQUEwQjtFQUMxQixtQ0FBMEI7RUFBMUIsMkJBQTBCO0VBQzFCLDZCQUE0QjtFQUM1QixvQ0FBbUM7RUFDbkMsNEJBQTJCLEVBQUc7O0FBRWhDOztFQUVFLG1CQUFrQjtFQUNsQixPQUFNO0VBQ04sUUFBTztFQUNQLFlBQVc7RUFDWCxhQUFZO0VBQ1osVUFBUztFQUNULFdBQVU7RUFDVixVQUFTO0VBQ1QsZ0JBQWU7RUFDZixpQkFBZ0I7RUFDaEIsd0JBQXVCO0VBQ3ZCLG1DQUEwQjtFQUExQiwyQkFBMEIsRUFBRzs7QUFFL0I7RUFDRSx5QkFBd0I7RUFDeEIsaUJBQWdCLEVBQUc7O0FBRXJCO0VBQ0Usd0JBQXVCO0VBQ3ZCLGdCQUFlLEVBQUc7O0FBRXBCO0VBQ0UscUJBQW9CO0VBQ3BCLGFBQVksRUFBRzs7QUFFakI7RUFDRSx5QkFBd0I7RUFDeEIsaUJBQWdCLEVBQUc7O0FBRXJCO0VBQ0UsV0FBVSxFQUFHOztBQUVmO0VBQ0UsbUJBQWtCO0VBQ2xCLGFBQVk7RUFDWixjQUFhO0VBQ2IsbUJBQWtCLEVBQUc7O0FBRXZCO0VBQ0UsbUJBQWtCO0VBQ2xCLFVBQVM7RUFDVCxjQUFhO0VBQ2IsU0FBUTtFQUNSLFVBQVM7RUFDVCxhQUFZO0VBQ1osZ0JBQWU7RUFDZix5Q0FBd0M7RUFDeEMscUNBQW9DO0VBQ3BDLGlDQUFnQztFQUNoQyxpQkFBZ0I7RUFDaEIsZ0JBQWUsRUFBRzs7QUFFcEI7RUFDRSxVQUFTO0VBQ1QsV0FBVTtFQUNWLFlBQVc7RUFDWCw0REFBMkQsRUFBRzs7QUFFaEU7RUFDRSxtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLFdBQVU7RUFDVixXQUFVO0VBQ1YsVUFBUztFQUNULFlBQVc7RUFDWCxhQUFZO0VBQ1oseURBQXdEO0VBQ3hELFlBQVc7RUFDWCxpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLDJCQUFrQjtFQUFsQixtQkFBa0I7RUFDbEIsZ0JBQWU7RUFDZixnQkFBZTtFQUNmLGlCQUFnQjtFQUNoQixtQ0FBMEI7RUFBMUIsOEJBQTBCO0VBQTFCLDJCQUEwQjtFQUMxQiwrQkFBc0I7RUFBdEIsdUJBQXNCO0VBQ3RCLFdBQVUsRUFBRzs7QUFFZjtFQUNFLHlCQUF3QixFQUFHOztBQUU3QjtFQUNFLFdBQVU7RUFDVixhQUFZO0VBQ1osd0JBQXVCLEVBQUc7O0FBRTVCO0VBQ0UsWUFBVztFQUNYLGlCQUFnQixFQUFHOztBQUVyQixhQUFhO0FBQ2I7RUFDRSxtQkFBa0I7RUFDbEIsVUFBUztFQUNULFFBQU87RUFDUCxTQUFRO0VBQ1IsMEJBQXlCO0VBQ3pCLGVBQWM7RUFDZCxvQ0FBbUM7RUFDbkMsNEJBQTJCO0VBQzNCLCtCQUFzQjtFQUF0Qix1QkFBc0I7RUFDdEIsc05BQXVKO0VBQXZKLDBKQUF1SjtFQUF2SixxSkFBdUo7RUFBdkosd0pBQXVKO0VBQ3ZKLFdBQVU7RUFDVixnQ0FBdUI7RUFBdkIsMkJBQXVCO0VBQXZCLHdCQUF1QjtFQUN2QixxQkFBb0IsRUFBRzs7QUFFekI7RUFDRSxXQUFVLEVBQUc7O0FBRWY7RUFDRSxnQkFBZTtFQUNmLCtDQUE4QztFQUM5QyxnQkFBZTtFQUNmLHlEQUF3RDtFQUN4RCxZQUFXO0VBQ1gsa0JBQWlCO0VBQ2pCLCtCQUE4QixFQUFHOztBQUVuQzs7RUFFRSxvQkFBbUIsRUFBRzs7QUFFeEI7RUFDRSxZQUFXO0VBQ1gsMkJBQTBCLEVBQUc7O0FBRS9CLGFBQWE7QUFDYjtFQUNFLHNCQUFxQjtFQUNyQixtQkFBa0I7RUFDbEIsWUFBVztFQUNYLGFBQVk7RUFDWixrQkFBaUI7RUFDakIsVUFBUztFQUNULFdBQVU7RUFDVixVQUFTO0VBQ1QseUJBQWdCO0VBQWhCLGlCQUFnQjtFQUNoQixnQkFBZTtFQUNmLHdCQUF1QjtFQUN2QixZQUFXO0VBQ1gsK0JBQXNCO0VBQXRCLHVCQUFzQjtFQUN0QixvQkFBbUI7RUFDbkIsY0FBYSxFQUFHOztBQUVsQjtFQUNFLGdCQUFlO0VBQ2YscUJBQW9CLEVBQUc7O0FBRXpCO0VBQ0Usa0NBQWlDLEVBQUc7O0FBRXRDO0VBQ0UsK0JBQThCLEVBQUc7O0FBRW5DOztFQUVFLFlBQVc7RUFDWCxxQkFBb0I7RUFDcEIsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQiwrQkFBOEI7RUFDOUIsb0JBQW1CO0VBQ25CLGFBQVk7RUFDWiwrQkFBc0I7RUFBdEIsdUJBQXNCO0VBQ3RCLHNCQUFxQixFQUFHOztBQUUxQjs7RUFFRSxhQUFZLEVBQUc7O0FBRWpCO0VBQ0UsV0FBVTtFQUNWLFVBQVM7RUFDVCxXQUFVO0VBQ1YsWUFBVztFQUNYLHdCQUF1QjtFQUN2QixtQ0FBa0M7RUFDbEMscUNBQW9DO0VBQ3BDLG1DQUFrQztFQUNsQywrQkFBOEI7RUFDOUIsMkJBQTBCLEVBQUc7O0FBRS9CO0VBQ0UsWUFBVztFQUNYLFVBQVM7RUFDVCxXQUFVO0VBQ1YsWUFBVztFQUNYLHdCQUF1QjtFQUN2QixtQ0FBa0M7RUFDbEMscUNBQW9DO0VBQ3BDLGlDQUFnQztFQUNoQyw2QkFBNEI7RUFDNUIseUJBQXdCLEVBQUc7O0FBRTdCO0VBQ0UsdUNBQThCO0VBQTlCLCtCQUE4QixFQUFHOztBQUVuQztFQUNFLHdDQUErQjtFQUEvQixnQ0FBK0IsRUFBRzs7QUFFcEM7RUFDRSxhQUFZLEVBQUc7O0FBRWpCO0VBQ0UsWUFBVztFQUNYLHNCQUFxQjtFQUNyQixtQkFBa0I7RUFDbEIsWUFBVztFQUNYLFlBQVc7RUFDWCxxQkFBb0I7RUFDcEIsc0JBQXFCLEVBQUc7O0FBRTFCO0VBQ0UsaUNBQWdDO0VBQ2hDLDZCQUE0QjtFQUM1Qix5QkFBd0IsRUFBRzs7QUFFN0I7RUFDRSxrQ0FBaUM7RUFDakMsOEJBQTZCO0VBQzdCLDBCQUF5QixFQUFHOztBQUU5QixxQkFBcUI7QUFDckI7RUFDRSwyQ0FBMEM7RUFDMUMsK0NBQThDO0VBQzlDLDRCQUFtQjtFQUFuQixvQkFBbUI7RUFDbkIsYUFBWTtFQUNaLFlBQVc7RUFDWCx1REFBc0Q7RUFDdEQsK0NBQThDO0VBQzlDLHdCQUF1QjtFQUN2QixtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLFVBQVM7RUFDVCxrQkFBaUI7RUFDakIsbUJBQWtCO0VBQ2xCLGVBQWMsRUFBRzs7QUFFbkI7RUFDRTtJQUNFLGdDQUErQjtJQUMvQix3QkFBdUIsRUFBQTtFQUN6QjtJQUNFLGtDQUFpQztJQUNqQywwQkFBeUIsRUFBQSxFQUFBOztBQUU3QjtFQUNFO0lBQ0UsZ0NBQStCO0lBQy9CLHdCQUF1QixFQUFBO0VBQ3pCO0lBQ0Usa0NBQWlDO0lBQ2pDLDBCQUF5QixFQUFBLEVBQUE7O0FBRTdCLHNDQUFzQztBQUN0QztFQXBhQTtJQXNhSSxpQkFBZ0IsRUFBRztFQUNyQjs7O0lBR0UseUJBQXdCLEVBQUc7RUF6Si9CO0lBMkpJLGdCQUFlO0lBQ2YsVUFBUyxFQUFHLEVBQUE7O0FBRWhCLGlCQUFpQjtBQUNqQjtFQUNFLFlBQVc7RUFDWCxhQUFZO0VBQ1osV0FBVTtFQUNWLFVBQVM7RUFDVCxrQkFBaUI7RUFDakIsaUJBQWdCLEVBQUc7O0FBRXJCLHNCQUFzQjtBQUN0QjtFQUNFLFVBQVM7RUFDVCxXQUFVO0VBQ1YsU0FBUTtFQUNSLFVBQVM7RUFDVCxrQ0FBaUM7RUFDakMscUNBQW9DO0VBQ3BDLHdCQUF1QjtFQUN2QiwyQkFBa0I7RUFBbEIsbUJBQWtCO0VBQ2xCLHdCQUF1QixFQUFHOztBQUU1QjtFQUNFLFVBQVM7RUFDVCxXQUFVO0VBQ1YsV0FBVTtFQUNWLGFBQVk7RUFDWixvQkFBbUI7RUFDbkIsMEJBQXlCO0VBQ3pCLHdCQUF1QixFQUFHOztBQUU1QixZQUFZO0FBQ1o7RUFDRSxnQkFBZSxFQUFHOztBQUVwQjtFQUNFLFVBQVM7RUFDVCxXQUFVO0VBQ1YsV0FBVTtFQUNWLFlBQVc7RUFDWCwySEFBa0g7RUFBbEgsbUhBQWtILEVBQUc7O0FBRXZIOzs7RUFHRSxhQUFZLEVBQUc7O0FBRWpCO0VBQ0UsbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixTQUFRO0VBQ1IsVUFBUztFQUNULFdBQVU7RUFDVixhQUFZO0VBQ1osVUFBUztFQUNULHFCQUFvQjtFQUNwQixpQkFBZ0I7RUFDaEIsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixrQ0FBaUM7RUFDakMseUNBQXdDO0VBQ3hDLCtCQUFzQjtFQUF0Qix1QkFBc0IsRUFBRzs7QUFFM0I7RUFDRSxpQkFBZ0I7RUFDaEIsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsYUFBWTtFQUNaLFVBQVM7RUFDVCxXQUFVO0VBQ1YsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixhQUFZLEVBQUc7O0FBRWpCO0VBQ0UsWUFBVztFQUNYLGlCQUFnQjtFQUNoQixlQUFjO0VBQ2QsV0FBVTtFQUNWLFVBQVM7RUFDVCxhQUFZO0VBQ1osYUFBWTtFQUNaLG1CQUFrQjtFQUNsQixnQkFBZTtFQUNmLGNBQWE7RUFDYix1QkFBc0I7RUFDdEIsb0JBQW1CO0VBQ25CLHNCQUFxQjtFQUNyQix5Q0FBd0M7RUFDeEMsb0NBQW1DO0VBQ25DLDRCQUEyQjtFQUMzQiwrQkFBc0I7RUFBdEIsdUJBQXNCLEVBQUc7O0FBRTNCO0VBQ0UsK0JBQThCLEVBQUc7O0FBRW5DO0VBQ0UsbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixRQUFPO0VBQ1AsZ0JBQWU7RUFDZixpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZixpQkFBZ0I7RUFDaEIsNEJBQTJCO0VBQzNCLDBCQUF5QjtFQUN6Qix1QkFBc0I7RUFDdEIsc0JBQXFCO0VBQ3JCLGtCQUFpQixFQUFHOztBQUV0QjtFQUNFLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsT0FBTTtFQUNOLFNBQVE7RUFDUixVQUFTO0VBQ1QsUUFBTztFQUNQLDJCQUFrQjtFQUFsQixtQkFBa0I7RUFDbEIsMEJBQXlCO0VBQ3pCLGVBQWM7RUFDZCxXQUFVO0VBQ1Ysa0VBQXlEO0VBQXpELDZEQUF5RDtFQUF6RCwwREFBeUQsRUFBRzs7QUFFOUQ7RUFDRSxXQUFVLEVBQUc7O0FBRWYsc0NBQXNDO0FBQ3RDO0VBakZBO0lBbUZJLHlCQUF3QixFQUFHO0VBeEYvQjs7O0lBNEZJLFNBQVEsRUFBRyxFQUFBOztBQ3prQmY7RUFDRSw4Q0FBNkM7RUFDN0MsMEJBQXlCO0VBQ3pCLDJCQWhCdUI7RUFnQnZCLG1CQWhCdUI7RUFpQnZCLDBCQUF5QjtFQUN6QiwrQkFBc0I7RUFBdEIsdUJBQXNCO0VBQ3RCLFlBQVc7RUFDWCxnQkFBZTtFQUNmLGVBQWM7RUFFZCxxQkFBb0I7RUFDcEIsZ0JBM0JjO0VBNEJkLG9CQUFtQjtFQUNuQixhQXpCaUI7RUEwQmpCLGtCQTFCaUI7RUEyQmpCLGNBQWE7RUFDYixtQkExQnFCO0VBMkJyQixvQkFBcUM7RUFDckMsbUJBQWtCO0VBQ2xCLDRCQUEyQjtFQUMzQix5Q0FBZ0M7RUFBaEMsb0NBQWdDO0VBQWhDLGlDQUFnQztFQUNoQywwQkFBaUI7RUFBakIsdUJBQWlCO0VBQWpCLHNCQUFpQjtFQUFqQixrQkFBaUI7RUFDakIsb0JBQW1CO0VBQ25CLFlBQVcsRUFrSVo7RUF6SkQ7SUEwQkksc0JBQXFDLEVBQ3RDO0VBM0JIO0lBNkJJLHNCQXBDVSxFQXFDWDtFQTlCSDtJQW1DSSxZQUFXO0lBQ1gsZUFBYztJQUNkLG1CQUFrQjtJQUNsQixXQUFVO0lBQ1YsT0FBTTtJQUNOLGtDQUF5QjtJQUF6Qiw4QkFBeUI7SUFBekIsMEJBQXlCO0lBRXpCLDBDQUFpQztJQUFqQyxxQ0FBaUM7SUFBakMsa0NBQWlDO0lBQ2pDLFlBQVc7SUFDWCxhQUFZO0lBQ1oseUNBQXdDLEVBQ3pDO0VBOUNIO0lBbURNLG1DQUEwQjtJQUExQiwrQkFBMEI7SUFBMUIsMkJBQTBCO0lBQzFCLFdBQVU7SUFDVixZQUFXLEVBQ1o7RUF0REw7SUF3RE0sV0FBVTtJQUNWLHFCQUFvQjtJQUNwQiwwQ0FBaUM7SUFBakMsc0NBQWlDO0lBQWpDLGtDQUFpQyxFQUNsQztFQTNETDtJQThESSxzQkFBc0M7SUFDdEMsZUF0RVU7SUF1RVYscUJBQW9CLEVBSXJCO0lBcEVIO01Ba0VNLHNCQUF3QyxFQUN6QztFQW5FTDtJQXdFSSxZQUFXLEVBS1o7SUE3RUg7TUEwRU0sbUJBQWtCO01BQ2xCLG9CQUFtQixFQUNwQjtFQTVFTDtJQStFSSxhQUFZLEVBS2I7SUFwRkg7TUFpRk0sV0FBVTtNQUNWLFNBQVEsRUFDVDtFQW5GTDtJQXNGSSxnQkFyR2tCO0lBc0dsQixhQWxHcUI7SUFtR3JCLGtCQUFvQyxFQVNyQztJQWpHSDtNQTBGTSxZQUFXO01BQ1gsV0FBVSxFQUNYO0lBNUZMO01BOEZNLGtCQUFvQztNQUNwQyxpQkFBbUMsRUFDcEM7RUFoR0w7SUFxR0ksWUFBVztJQUVYLHFEQS9HWTtJQStHWiw2Q0EvR1k7SUFnSFosK0JBQXNCO0lBQXRCLHVCQUFzQjtJQUN0QixnQkFBZTtJQUNmLFdBQVU7SUFDVixpQkFBZ0I7SUFDaEIsV0FBVTtJQUNWLHFCQUFvQjtJQUNwQixtQkFBa0I7SUFDbEIsVUFBUztJQUNULFFBQU87SUFDUCxnQ0FBdUI7SUFBdkIsNEJBQXVCO0lBQXZCLHdCQUF1QjtJQUN2QixtREFBcUQ7SUFBckQsK0NBQXFEO0lBQXJELDJDQUFxRDtJQUNyRCxtRkFBd0U7SUFBeEUsOEVBQXdFO0lBQXhFLDJFQUF3RTtJQUN4RSxXQUFVLEVBSVg7RUF4SEg7SUEwSEksZ0JBQWU7SUFDZixpQkFBZ0I7SUFDaEIsa0JBeEllO0lBeUlmLGlCQUFnQjtJQUNoQixhQTFJZTtJQTJJZixjQUFhO0lBQ2IsbUJBMUltQjtJQTJJbkIsb0JBQXFDO0lBQ3JDLGlCQUFnQjtJQUNoQiw2QkFBb0I7SUFBcEIsd0JBQW9CO0lBQXBCLHFCQUFvQjtJQUNwQixvQkFBbUI7SUFDbkIsaUNBQWdDO0lBQ2hDLFlBQVcsRUFrQlo7SUF4Skg7TUF5SVEsb0JBQW1CLEVBQ3RCO0lBMUlMO01BNklRLGVBQWMsRUFDakI7SUE5SUw7TUFnSk0sa0JBQWlCLEVBQ2xCO0lBakpMO01BbUpNLDBCQUF5QjtNQUN6QixlQTNKUTtNQTRKUixnQkFBZSxFQUNoQjs7QUFNTDtFQUVJLGNBQWEsRUFDZDs7QUFISDtFQU1NLGVBQWMsRUFDZjs7QUNwTEwsY0FBYztBQUVkOztvQkFFb0I7QUFHcEI7RUFDRSwrQkFBOEI7RUFDOUIsdUJBQXNCO0VBQ3RCLGtDQUFpQztFQUNqQywwQkFBeUIsRUFDMUI7O0FBRUQ7RUFDRSxpQ0FBZ0M7RUFDaEMseUJBQXdCO0VBQ3hCLGtDQUFpQztFQUNqQywwQkFBeUIsRUFDMUI7O0FBRUQ7RUFDRSwrQkFBOEI7RUFDOUIsdUJBQXNCO0VBQ3RCLGtDQUFpQztFQUNqQywwQkFBeUIsRUFDMUI7O0FBRUQ7RUFDRSwrQkFBOEI7RUFDOUIsdUJBQXNCO0VBQ3RCLGtDQUFpQztFQUNqQywwQkFBeUIsRUFDMUI7O0FBRUQsMEJBQTBCO0FBQzFCO0VBQ0UsK0JBQThCO0VBRzlCLHVCQUFzQixFQUN2Qjs7QUFFRDtFQUNFLDhCQUE2QjtFQUc3QixzQkFBcUIsRUFDdEI7O0FBRUQ7RUFDRSwrQkFBOEI7RUFHOUIsdUJBQXNCLEVBQ3ZCOztBQUVEO0VBQ0UsOEJBQTZCO0VBRzdCLHNCQUFxQixFQUN0Qjs7QUFFRDtFQUNFLCtCQUE4QjtFQUc5Qix1QkFBc0IsRUFDdkI7O0FBRUQ7RUFDRSw4QkFBNkI7RUFHN0Isc0JBQXFCLEVBQ3RCOztBQUVEO0VBQ0UsK0JBQThCO0VBRzlCLHVCQUFzQixFQUN2Qjs7QUFFRDtFQUNFLDhCQUE2QjtFQUc3QixzQkFBcUIsRUFDdEI7O0FBRUQ7RUFDRSw4QkFBNkI7RUFHN0Isc0JBQXFCLEVBQ3RCOztBQVpEO0VBZUUsOEJBQTZCO0VBRzdCLHNCQUFxQixFQUN0Qjs7QUFaRDtFQWVFLDhCQUE2QjtFQUc3QixzQkFBcUIsRUFDdEI7O0FBRUQ7RUFDRSw4QkFBNkI7RUFHN0Isc0JBQXFCLEVBQ3RCOztBQUVEO0VBQ0UsOEJBQTZCO0VBRzdCLHNCQUFxQixFQUN0Qjs7QUFFRDs7OztFQUlFLFdBQVU7RUFDVixxQ0FBb0M7RUFDcEMsaUNBQTRCO0VBQTVCLDZCQUE0QixFQUM3Qjs7QUFFRDs7OztFQUlFLFdBQVU7RUFDVixxQ0FBb0M7RUFDcEMsaUNBQTRCO0VBQTVCLDZCQUE0QixFQUM3Qjs7QUFFRDs7Ozs7Ozs7RUFRRSxXQUFVLEVBQ1g7O0FBRUQ7O0VBRUUsV0FBVTtFQUNWLHFDQUFvQztFQUNwQyxpQ0FBNEI7RUFBNUIsNkJBQTRCLEVBQzdCOztBQUVEOzthQUVhO0FBQ2I7RUFDRTtJQUNFLFdBQVU7SUFDViw4QkFBNEIsRUFBQTtFQUc5QjtJQUNFLFdBQVU7SUFDViwrQkFBOEIsRUFBQTtFQUdoQztJQUNFLDhCQUE0QixFQUFBO0VBRzlCO0lBQ0UsNEJBQTJCLEVBQUEsRUFBQTs7QUFJL0I7RUFDRTtJQUNFLFdBQVU7SUFDViw4QkFBb0I7SUFBcEIsc0JBQW9CLEVBQUE7RUFHdEI7SUFDRSxXQUFVO0lBQ1YsK0JBQXNCO0lBQXRCLHVCQUFzQixFQUFBO0VBR3hCO0lBQ0UsOEJBQW9CO0lBQXBCLHNCQUFvQixFQUFBO0VBR3RCO0lBQ0UsNEJBQW1CO0lBQW5CLG9CQUFtQixFQUFBLEVBQUE7O0FBSXZCO0VBQ0UsaUNBQWdDO0VBQ2hDLHlCQUF3QixFQUN6Qjs7QUFFRDs7aUJBRWlCO0FBRWpCO0VBQ0U7SUFDRSxXQUFVO0lBRVYscUNBQW9DLEVBQUE7RUFHdEM7SUFFRSxxQ0FBb0MsRUFBQTtFQUd0QztJQUNFLG9DQUFtQyxFQUFBO0VBR3JDO0lBQ0UsV0FBVTtJQUVWLGlDQUFnQyxFQUFBLEVBQUE7O0FBSXBDO0VBQ0U7SUFDRSxXQUFVO0lBRVYscUNBQTRCO0lBQTVCLDZCQUE0QixFQUFBO0VBRzlCO0lBRUUscUNBQTRCO0lBQTVCLDZCQUE0QixFQUFBO0VBRzlCO0lBQ0Usb0NBQTJCO0lBQTNCLDRCQUEyQixFQUFBO0VBRzdCO0lBQ0UsV0FBVTtJQUVWLGlDQUF3QjtJQUF4Qix5QkFBd0IsRUFBQSxFQUFBOztBQUs1QjtFQUNFLHNDQUFxQztFQUNyQyw4QkFBNkIsRUFDOUI7O0FBRUQ7O29CQUVvQjtBQUVwQjtFQUNFO0lBQ0UsV0FBVTtJQUVWLHNDQUFxQyxFQUFBO0VBR3ZDO0lBRUUsb0NBQW1DLEVBQUE7RUFHckM7SUFDRSxxQ0FBb0MsRUFBQTtFQUd0QztJQUNFLFdBQVU7SUFFVixpQ0FBZ0MsRUFBQSxFQUFBOztBQUlwQztFQUNFO0lBQ0UsV0FBVTtJQUVWLHNDQUE2QjtJQUE3Qiw4QkFBNkIsRUFBQTtFQUcvQjtJQUVFLG9DQUEyQjtJQUEzQiw0QkFBMkIsRUFBQTtFQUc3QjtJQUNFLHFDQUE0QjtJQUE1Qiw2QkFBNEIsRUFBQTtFQUc5QjtJQUNFLFdBQVU7SUFFVixpQ0FBd0I7SUFBeEIseUJBQXdCLEVBQUEsRUFBQTs7QUFJNUI7RUFDRSxxQ0FBb0M7RUFDcEMsNkJBQTRCLEVBQzdCOztBQUVEOztvQkFFb0I7QUFFcEI7RUFDRTtJQUNFLFdBQVU7SUFFVixxQ0FBb0MsRUFBQTtFQUd0QztJQUVFLHFDQUFvQyxFQUFBO0VBR3RDO0lBQ0Usb0NBQW1DLEVBQUE7RUFHckM7SUFDRSxXQUFVO0lBRVYsaUNBQWdDLEVBQUEsRUFBQTs7QUFJcEM7RUFDRTtJQUNFLFdBQVU7SUFFVixxQ0FBNEI7SUFBNUIsNkJBQTRCLEVBQUE7RUFHOUI7SUFFRSxxQ0FBNEI7SUFBNUIsNkJBQTRCLEVBQUE7RUFHOUI7SUFDRSxvQ0FBMkI7SUFBM0IsNEJBQTJCLEVBQUE7RUFHN0I7SUFDRSxXQUFVO0lBRVYsaUNBQXdCO0lBQXhCLHlCQUF3QixFQUFBLEVBQUE7O0FBSTVCO0VBQ0UsbUNBQWtDO0VBQ2xDLDJCQUEwQixFQUMzQjs7QUFHRDs7b0JBRW9CO0FBRXBCO0VBQ0U7SUFDRSxXQUFVO0lBRVYsc0NBQXFDLEVBQUE7RUFHdkM7SUFFRSxvQ0FBbUMsRUFBQTtFQUdyQztJQUNFLHFDQUFvQyxFQUFBO0VBR3RDO0lBQ0UsV0FBVTtJQUVWLGlDQUFnQyxFQUFBLEVBQUE7O0FBSXBDO0VBQ0U7SUFDRSxXQUFVO0lBRVYsc0NBQTZCO0lBQTdCLDhCQUE2QixFQUFBO0VBRy9CO0lBRUUsb0NBQTJCO0lBQTNCLDRCQUEyQixFQUFBO0VBRzdCO0lBQ0UscUNBQTRCO0lBQTVCLDZCQUE0QixFQUFBO0VBRzlCO0lBQ0UsV0FBVTtJQUVWLGlDQUF3QjtJQUF4Qix5QkFBd0IsRUFBQSxFQUFBOztBQUk1QjtFQUNFLHFDQUFvQztFQUNwQyw2QkFBNEIsRUFDN0I7O0FBR0Q7O1dBRVc7QUFDWDtFQUNFO0lBQ0UsV0FBVSxFQUFBO0VBR1o7SUFDRSxXQUFVO0lBQ1YsZUFBYyxFQUFBLEVBQUE7O0FBSWxCO0VBQ0U7SUFDRSxXQUFVLEVBQUE7RUFHWjtJQUNFLFdBQVU7SUFDVixlQUFjLEVBQUEsRUFBQTs7QUFJbEI7RUFDRSxXQUFVLEVBQ1g7O0FBRUQ7RUFDRSwrQkFBOEI7RUFDOUIsdUJBQXNCLEVBQ3ZCOztBQUVEOztZQUVZO0FBRVo7RUFDRTtJQUNFLDhCQUE2QjtJQUM3QixXQUFVLEVBQUE7RUFHWjtJQUNFLDhCQUE2QixFQUFBO0VBSS9CO0lBQ0UsNEJBQTJCO0lBQzNCLFdBQVUsRUFBQSxFQUFBOztBQUlkO0VBQ0U7SUFDRSw4QkFBcUI7SUFBckIsc0JBQXFCO0lBQ3JCLFdBQVUsRUFBQTtFQUdaO0lBQ0UsOEJBQXFCO0lBQXJCLHNCQUFxQixFQUFBO0VBSXZCO0lBQ0UsNEJBQW1CO0lBQW5CLG9CQUFtQjtJQUNuQixXQUFVLEVBQUEsRUFBQTs7QUFJZDtFQUVFLDhCQUE2QjtFQUM3QiwwQkFBcUI7RUFBckIsc0JBQXFCO0VBQ3JCLFdBQVUsRUFDWDs7QUFFRDtFQUNFLCtCQUE4QjtFQUM5Qix1QkFBc0IsRUFDdkI7O0FBRUQ7O1NBRVM7QUFDVDtFQUVFOztJQUVFLGlDQUFnQyxFQUFBO0VBR2xDOzs7OztJQUtFLHFDQUFvQyxFQUFBO0VBR3RDOzs7O0lBSUUsb0NBQW1DLEVBQUEsRUFBQTs7QUFJdkM7RUFFRTs7SUFFRSxpQ0FBd0I7SUFBeEIseUJBQXdCLEVBQUE7RUFHMUI7Ozs7O0lBS0UscUNBQTRCO0lBQTVCLDZCQUE0QixFQUFBO0VBRzlCOzs7O0lBSUUsb0NBQTJCO0lBQTNCLDRCQUEyQixFQUFBLEVBQUE7O0FBSS9CO0VBQ0UsOEJBQTZCO0VBQzdCLHNCQUFxQixFQUN0Qjs7QUFFRDs7U0FFUztBQUNUO0VBRUU7O0lBRUUsaUNBQWdDLEVBQUE7RUFHbEM7Ozs7O0lBS0UscUNBQW9DLEVBQUE7RUFHdEM7Ozs7SUFJRSxvQ0FBbUMsRUFBQSxFQUFBOztBQUl2QztFQUVFOztJQUVFLGlDQUF3QjtJQUF4Qix5QkFBd0IsRUFBQTtFQUcxQjs7Ozs7SUFLRSxxQ0FBNEI7SUFBNUIsNkJBQTRCLEVBQUE7RUFHOUI7Ozs7SUFJRSxvQ0FBMkI7SUFBM0IsNEJBQTJCLEVBQUEsRUFBQTs7QUFJL0I7RUFDRSxnQ0FBK0I7RUFDL0Isd0JBQXVCLEVBQ3hCOztBQUVEOztjQUVjO0FBRWQ7RUFDRTtJQUNFLFdBQVU7SUFDVixzQ0FBcUMsRUFBQTtFQUd2QztJQUNFLGFBQVksRUFBQTtFQUdkO0lBQ0UsV0FBVTtJQUNWLGlDQUFnQyxFQUFBLEVBQUE7O0FBSXBDO0VBQ0U7SUFDRSxXQUFVO0lBQ1Ysc0NBQTZCO0lBQTdCLDhCQUE2QixFQUFBO0VBRy9CO0lBQ0UsYUFBWSxFQUFBO0VBR2Q7SUFDRSxXQUFVO0lBQ1YsaUNBQXdCO0lBQXhCLHlCQUF3QixFQUFBLEVBQUE7O0FBSTVCO0VBQ0UsV0FBVTtFQUNWLHNDQUFxQztFQUNyQyxrQ0FBNkI7RUFBN0IsOEJBQTZCLEVBQzlCOztBQUVEO0VBQ0UsbUNBQWtDO0VBQ2xDLDJCQUEwQixFQUMzQjs7QUFHRDs7Y0FFYztBQUVkO0VBQ0U7SUFDRSxXQUFVO0lBQ1YscUNBQW9DLEVBQUE7RUFHdEM7SUFDRSxhQUFZLEVBQUE7RUFHZDtJQUNFLFdBQVU7SUFDVixpQ0FBZ0MsRUFBQSxFQUFBOztBQUlwQztFQUNFO0lBQ0UsV0FBVTtJQUNWLHFDQUE0QjtJQUE1Qiw2QkFBNEIsRUFBQTtFQUc5QjtJQUNFLGFBQVksRUFBQTtFQUdkO0lBQ0UsV0FBVTtJQUNWLGlDQUF3QjtJQUF4Qix5QkFBd0IsRUFBQSxFQUFBOztBQUk1QjtFQUNFLFdBQVU7RUFDVixxQ0FBb0M7RUFDcEMsaUNBQTRCO0VBQTVCLDZCQUE0QixFQUM3Qjs7QUFFRDtFQUNFLG9DQUFtQztFQUNuQyw0QkFBMkIsRUFDNUI7O0FBRUQ7O2NBRWM7QUFFZDtFQUNFO0lBQ0UsV0FBVTtJQUNWLHFDQUFvQyxFQUFBO0VBR3RDO0lBQ0UsYUFBWSxFQUFBO0VBR2Q7SUFDRSxXQUFVO0lBQ1YsaUNBQWdDLEVBQUEsRUFBQTs7QUFJcEM7RUFDRTtJQUNFLFdBQVU7SUFDVixxQ0FBNEI7SUFBNUIsNkJBQTRCLEVBQUE7RUFHOUI7SUFDRSxhQUFZLEVBQUE7RUFHZDtJQUNFLFdBQVU7SUFDVixpQ0FBd0I7SUFBeEIseUJBQXdCLEVBQUEsRUFBQTs7QUFJNUI7RUFDRSxXQUFVO0VBQ1YscUNBQW9DO0VBQ3BDLGlDQUE0QjtFQUE1Qiw2QkFBNEIsRUFDN0I7O0FBRUQ7RUFDRSxpQ0FBZ0M7RUFDaEMseUJBQXdCLEVBQ3pCOztBQUVEOztjQUVjO0FBRWQ7RUFDRTtJQUNFLFdBQVU7SUFDVixzQ0FBcUMsRUFBQTtFQUd2QztJQUNFLGFBQVksRUFBQTtFQUdkO0lBQ0UsV0FBVTtJQUNWLGlDQUFnQyxFQUFBLEVBQUE7O0FBSXBDO0VBQ0U7SUFDRSxXQUFVO0lBQ1Ysc0NBQTZCO0lBQTdCLDhCQUE2QixFQUFBO0VBRy9CO0lBQ0UsYUFBWSxFQUFBO0VBR2Q7SUFDRSxXQUFVO0lBQ1YsaUNBQXdCO0lBQXhCLHlCQUF3QixFQUFBLEVBQUE7O0FBSTVCO0VBQ0UsV0FBVTtFQUNWLHNDQUFxQztFQUNyQyxrQ0FBNkI7RUFBN0IsOEJBQTZCLEVBQzlCOztBQUVEO0VBQ0UsbUNBQWtDO0VBQ2xDLDJCQUEwQixFQUMzQjs7QUFFRDs7a0JBRWtCO0FBQ2xCO0VBQ0U7SUFDRSx3Q0FBdUM7SUFDdkMsbUNBQWtDO0lBQ2xDLFdBQVUsRUFBQTtFQUdaO0lBQ0Usd0NBQXVDO0lBQ3ZDLDZCQUE0QjtJQUM1QixXQUFVLEVBQUEsRUFBQTs7QUFJZDtFQUNFO0lBQ0Usd0NBQStCO0lBQS9CLGdDQUErQjtJQUMvQixtQ0FBMEI7SUFBMUIsMkJBQTBCO0lBQzFCLFdBQVUsRUFBQTtFQUdaO0lBQ0Usd0NBQStCO0lBQS9CLGdDQUErQjtJQUMvQiw2QkFBb0I7SUFBcEIscUJBQW9CO0lBQ3BCLFdBQVUsRUFBQSxFQUFBOztBQUlkO0VBQ0UsaUNBQWdDO0VBQ2hDLHlCQUF3QixFQUN6Qjs7QUFFRDs7a0JBRWtCO0FBRWxCO0VBQ0U7SUFDRSxzQ0FBcUM7SUFDckMsaUNBQWdDO0lBQ2hDLFdBQVUsRUFBQTtFQUdaO0lBQ0Usc0NBQXFDO0lBQ3JDLDZCQUE0QjtJQUM1QixXQUFVLEVBQUEsRUFBQTs7QUFJZDtFQUNFO0lBQ0Usc0NBQTZCO0lBQTdCLDhCQUE2QjtJQUM3QixpQ0FBd0I7SUFBeEIseUJBQXdCO0lBQ3hCLFdBQVUsRUFBQTtFQUdaO0lBQ0Usc0NBQTZCO0lBQTdCLDhCQUE2QjtJQUM3Qiw2QkFBb0I7SUFBcEIscUJBQW9CO0lBQ3BCLFdBQVUsRUFBQSxFQUFBOztBQUlkO0VBQ0UsdUNBQXNDO0VBQ3RDLCtCQUE4QixFQUMvQjs7QUFFRDs7b0JBRW9CO0FBQ3BCO0VBQ0U7SUFDRSxzQ0FBcUM7SUFDckMsa0NBQWlDO0lBQ2pDLFdBQVUsRUFBQTtFQUdaO0lBQ0Usc0NBQXFDO0lBQ3JDLDZCQUE0QjtJQUM1QixXQUFVLEVBQUEsRUFBQTs7QUFJZDtFQUNFO0lBQ0Usc0NBQTZCO0lBQTdCLDhCQUE2QjtJQUM3QixrQ0FBeUI7SUFBekIsMEJBQXlCO0lBQ3pCLFdBQVUsRUFBQTtFQUdaO0lBQ0Usc0NBQTZCO0lBQTdCLDhCQUE2QjtJQUM3Qiw2QkFBb0I7SUFBcEIscUJBQW9CO0lBQ3BCLFdBQVUsRUFBQSxFQUFBOztBQUlkO0VBQ0UseUNBQXdDO0VBQ3hDLGlDQUFnQyxFQUNqQzs7QUFFRDs7b0JBRW9CO0FBRXBCO0VBQ0U7SUFDRSx1Q0FBc0M7SUFDdEMsa0NBQWlDO0lBQ2pDLFdBQVUsRUFBQTtFQUdaO0lBQ0UsdUNBQXNDO0lBQ3RDLDZCQUE0QjtJQUM1QixXQUFVLEVBQUEsRUFBQTs7QUFJZDtFQUNFO0lBQ0UsdUNBQThCO0lBQTlCLCtCQUE4QjtJQUM5QixrQ0FBeUI7SUFBekIsMEJBQXlCO0lBQ3pCLFdBQVUsRUFBQTtFQUdaO0lBQ0UsdUNBQThCO0lBQTlCLCtCQUE4QjtJQUM5Qiw2QkFBb0I7SUFBcEIscUJBQW9CO0lBQ3BCLFdBQVUsRUFBQSxFQUFBOztBQUlkO0VBQ0Usd0NBQXVDO0VBQ3ZDLGdDQUErQixFQUNoQzs7QUFFRDs7cUJBRXFCO0FBRXJCO0VBQ0U7SUFDRSx1Q0FBc0M7SUFDdEMsaUNBQWdDO0lBQ2hDLFdBQVUsRUFBQTtFQUdaO0lBQ0UsdUNBQXNDO0lBQ3RDLDZCQUE0QjtJQUM1QixXQUFVLEVBQUEsRUFBQTs7QUFJZDtFQUNFO0lBQ0UsdUNBQThCO0lBQTlCLCtCQUE4QjtJQUM5QixpQ0FBd0I7SUFBeEIseUJBQXdCO0lBQ3hCLFdBQVUsRUFBQTtFQUdaO0lBQ0UsdUNBQThCO0lBQTlCLCtCQUE4QjtJQUM5Qiw2QkFBb0I7SUFBcEIscUJBQW9CO0lBQ3BCLFdBQVUsRUFBQSxFQUFBOztBQUlkO0VBQ0UsMENBQXlDO0VBQ3pDLGtDQUFpQyxFQUNsQzs7QUFFRDs7V0FFVztBQUVYO0VBQ0U7SUFDRSxXQUFVO0lBQ1YscURBQW9ELEVBQUE7RUFHdEQ7SUFDRSxXQUFVO0lBQ1YsZ0RBQStDLEVBQUEsRUFBQTs7QUFJbkQ7RUFDRTtJQUNFLFdBQVU7SUFDVixxREFBNEM7SUFBNUMsNkNBQTRDLEVBQUE7RUFHOUM7SUFDRSxXQUFVO0lBQ1YsZ0RBQXVDO0lBQXZDLHdDQUF1QyxFQUFBLEVBQUE7O0FBSTNDO0VBQ0UsK0JBQThCO0VBQzlCLHVCQUFzQixFQUN2Qjs7QUFFRDs7V0FFVztBQUVYO0VBQ0U7SUFDRSwrQkFBOEIsRUFBQTtFQUdoQztJQUNFLGdDQUErQixFQUFBO0VBR2pDO0lBQ0UsK0JBQThCLEVBQUE7RUFHaEM7SUFDRSxnQ0FBK0IsRUFBQTtFQUdqQztJQUNFLCtCQUE4QixFQUFBO0VBR2hDO0lBQ0UsZ0NBQStCLEVBQUE7RUFHakM7SUFDRSwrQkFBOEIsRUFBQTtFQUdoQztJQUNFLGdDQUErQixFQUFBO0VBR2pDO0lBQ0UsK0JBQThCLEVBQUE7RUFHaEM7SUFDRSwrQkFBOEIsRUFBQTtFQUdoQztJQUNFLCtCQUE4QixFQUFBLEVBQUE7O0FBSWxDO0VBQ0U7SUFDRSwrQkFBc0I7SUFBdEIsdUJBQXNCLEVBQUE7RUFHeEI7SUFDRSxnQ0FBdUI7SUFBdkIsd0JBQXVCLEVBQUE7RUFHekI7SUFDRSwrQkFBc0I7SUFBdEIsdUJBQXNCLEVBQUE7RUFHeEI7SUFDRSxnQ0FBdUI7SUFBdkIsd0JBQXVCLEVBQUE7RUFHekI7SUFDRSwrQkFBc0I7SUFBdEIsdUJBQXNCLEVBQUE7RUFHeEI7SUFDRSxnQ0FBdUI7SUFBdkIsd0JBQXVCLEVBQUE7RUFHekI7SUFDRSwrQkFBc0I7SUFBdEIsdUJBQXNCLEVBQUE7RUFHeEI7SUFDRSxnQ0FBdUI7SUFBdkIsd0JBQXVCLEVBQUE7RUFHekI7SUFDRSwrQkFBc0I7SUFBdEIsdUJBQXNCLEVBQUE7RUFHeEI7SUFDRSwrQkFBc0I7SUFBdEIsdUJBQXNCLEVBQUE7RUFHeEI7SUFDRSwrQkFBc0I7SUFBdEIsdUJBQXNCLEVBQUEsRUFBQTs7QUFJMUI7RUFDRSwrQkFBOEI7RUFDOUIsdUJBQXNCO0VBQ3RCLDJDQUEwQztFQUMxQyxtQ0FBa0MsRUFDbkM7O0FBRUQ7O1VBRVU7QUFFVjtFQUVFOzs7OztJQUtFLHFDQUFvQyxFQUFBO0VBR3RDO0lBQ0UsaUNBQWdDLEVBQUE7RUFHbEM7SUFDRSxrQ0FBaUMsRUFBQTtFQUduQztJQUNFLGdDQUErQixFQUFBO0VBR2pDO0lBQ0UsaUNBQWdDLEVBQUE7RUFHbEM7SUFDRSxnQ0FBK0IsRUFBQSxFQUFBOztBQUluQztFQUNFO0lBQ0UsaUNBQXdCO0lBQXhCLHlCQUF3QixFQUFBO0VBRzFCO0lBQ0Usa0NBQXlCO0lBQXpCLDBCQUF5QixFQUFBO0VBRzNCO0lBQ0UsZ0NBQXVCO0lBQXZCLHdCQUF1QixFQUFBO0VBR3pCO0lBQ0UsaUNBQXdCO0lBQXhCLHlCQUF3QixFQUFBO0VBRzFCO0lBQ0UsZ0NBQXVCO0lBQXZCLHdCQUF1QixFQUFBLEVBQUE7O0FBSTNCO0VBQ0UscUNBQW9DO0VBQ3BDLGlDQUE0QjtFQUE1Qiw2QkFBNEI7RUFDNUIsOEJBQTZCO0VBQzdCLHNCQUFxQixFQUN0Qjs7QUFFRDs7U0FFUztBQUVUO0VBQ0U7SUFDRSw0QkFBMkIsRUFBQTtFQUc3Qjs7SUFFRSw0Q0FBMkMsRUFBQTtFQUc3Qzs7OztJQUlFLDJDQUEwQyxFQUFBO0VBRzVDOzs7SUFHRSw0Q0FBMkMsRUFBQTtFQUc3QztJQUNFLHNDQUFxQyxFQUFBLEVBQUE7O0FBSXpDO0VBQ0U7SUFDRSw0QkFBbUI7SUFBbkIsb0JBQW1CLEVBQUE7RUFHckI7O0lBRUUsNENBQW1DO0lBQW5DLG9DQUFtQyxFQUFBO0VBR3JDOzs7O0lBSUUsMkNBQWtDO0lBQWxDLG1DQUFrQyxFQUFBO0VBR3BDOzs7SUFHRSw0Q0FBbUM7SUFBbkMsb0NBQW1DLEVBQUE7RUFHckM7SUFDRSxzQ0FBNkI7SUFBN0IsOEJBQTZCLEVBQUEsRUFBQTs7QUFJakM7RUFDRSw2QkFBNEI7RUFDNUIscUJBQW9CLEVBQ3JCOztBQUVEOztXQUVXO0FBRVg7RUFDRTtJQUNFLGtDQUFpQyxFQUFBO0VBR25DO0lBQ0Usa0RBQWlELEVBQUE7RUFHbkQ7SUFDRSxnREFBK0MsRUFBQTtFQUdqRDtJQUNFLGtEQUFpRCxFQUFBO0VBR25EO0lBQ0UsZ0RBQStDLEVBQUE7RUFHakQ7SUFDRSxpREFBZ0QsRUFBQTtFQUdsRDtJQUNFLGtDQUFpQyxFQUFBLEVBQUE7O0FBSXJDO0VBQ0U7SUFDRSxrQ0FBeUI7SUFBekIsMEJBQXlCLEVBQUE7RUFHM0I7SUFDRSxrREFBeUM7SUFBekMsMENBQXlDLEVBQUE7RUFHM0M7SUFDRSxnREFBdUM7SUFBdkMsd0NBQXVDLEVBQUE7RUFHekM7SUFDRSxrREFBeUM7SUFBekMsMENBQXlDLEVBQUE7RUFHM0M7SUFDRSxnREFBdUM7SUFBdkMsd0NBQXVDLEVBQUE7RUFHekM7SUFDRSxpREFBd0M7SUFBeEMseUNBQXdDLEVBQUE7RUFHMUM7SUFDRSxrQ0FBeUI7SUFBekIsMEJBQXlCLEVBQUEsRUFBQTs7QUFJN0I7RUFDRSwrQkFBOEI7RUFDOUIsdUJBQXNCLEVBQ3ZCOztBQUVEOztVQUVVO0FBRVY7RUFZRTtJQUNFLCtCQUFzQjtJQUF0Qix1QkFBc0I7SUFDdEIsK0NBQXNDO0lBQXRDLHVDQUFzQyxFQUFBO0VBR3hDO0lBQ0UsNEJBQW1CO0lBQW5CLG9CQUFtQjtJQUNuQixnREFBdUM7SUFBdkMsd0NBQXVDLEVBQUE7RUFHekM7SUFDRSwrQkFBc0I7SUFBdEIsdUJBQXNCO0lBQ3RCLDZDQUFvQztJQUFwQyxxQ0FBb0MsRUFBQSxFQUFBOztBQUl4QztFQVlFO0lBQ0UsK0JBQXNCO0lBQXRCLHVCQUFzQjtJQUN0QiwrQ0FBc0M7SUFBdEMsdUNBQXNDLEVBQUE7RUFHeEM7SUFDRSw0QkFBbUI7SUFBbkIsb0JBQW1CO0lBQ25CLGdEQUF1QztJQUF2Qyx3Q0FBdUMsRUFBQTtFQUd6QztJQUNFLCtCQUFzQjtJQUF0Qix1QkFBc0I7SUFDdEIsNkNBQW9DO0lBQXBDLHFDQUFvQyxFQUFBLEVBQUE7O0FBSXhDO0VBQ0UsOEJBQTZCO0VBQzdCLHNCQUFxQixFQUN0Qjs7QUFFRDs7aUJBRWlCO0FBQ2pCO0VBQ0U7SUFDRSxrREFBaUQ7SUFDakQsV0FBVSxFQUFBO0VBR1o7SUFDRSxpREFBZ0Q7SUFDaEQsV0FBVSxFQUFBO0VBR1o7SUFDRSxnREFBK0M7SUFDL0MsV0FBVSxFQUFBO0VBR1o7SUFDRSw4Q0FBNkM7SUFDN0MsV0FBVSxFQUFBLEVBQUE7O0FBSWQ7RUFDRTtJQUNFLGtEQUF5QztJQUF6QywwQ0FBeUM7SUFDekMsV0FBVSxFQUFBO0VBR1o7SUFDRSxpREFBd0M7SUFBeEMseUNBQXdDO0lBQ3hDLFdBQVUsRUFBQTtFQUdaO0lBQ0UsZ0RBQXVDO0lBQXZDLHdDQUF1QztJQUN2QyxXQUFVLEVBQUE7RUFHWjtJQUNFLDhDQUFxQztJQUFyQyxzQ0FBcUM7SUFDckMsV0FBVSxFQUFBLEVBQUE7O0FBSWQ7RUFDRSwwQ0FBeUM7RUFDekMsa0NBQWlDO0VBQ2pDLDRDQUEyQztFQUMzQyxvQ0FBbUMsRUFDcEM7O0FBRUQ7O2lCQUVpQjtBQUNqQjtFQUNFO0lBQ0Usa0RBQWlEO0lBQ2pELFdBQVUsRUFBQTtFQUdaO0lBQ0UsaURBQWdEO0lBQ2hELFdBQVUsRUFBQTtFQUdaO0lBQ0UsK0NBQThDO0lBQzlDLFdBQVUsRUFBQTtFQUdaO0lBQ0UsOENBQTZDO0lBQzdDLFdBQVUsRUFBQSxFQUFBOztBQUlkO0VBQ0U7SUFDRSxrREFBeUM7SUFBekMsMENBQXlDO0lBQ3pDLFdBQVUsRUFBQTtFQUdaO0lBQ0UsaURBQXdDO0lBQXhDLHlDQUF3QztJQUN4QyxXQUFVLEVBQUE7RUFHWjtJQUNFLCtDQUFzQztJQUF0Qyx1Q0FBc0M7SUFDdEMsV0FBVSxFQUFBO0VBR1o7SUFDRSw4Q0FBcUM7SUFBckMsc0NBQXFDO0lBQ3JDLFdBQVUsRUFBQSxFQUFBOztBQUlkO0VBQ0UseUNBQXdDO0VBQ3hDLGlDQUFnQztFQUNoQyw0Q0FBMkM7RUFDM0Msb0NBQW1DLEVBQ3BDOztBQUdEOztRQUVRO0FBQ1I7RUFDRTtJQUNFLGlEQUFnRDtJQUNoRCw0Q0FBMkMsRUFBQTtFQUc3QztJQUNFLHdFQUF1RTtJQUN2RSw0Q0FBMkMsRUFBQTtFQUc3QztJQUNFLGlGQUFnRjtJQUNoRiwyQ0FBMEMsRUFBQTtFQUc1QztJQUNFLGtFQUFnRTtJQUNoRSwyQ0FBMEMsRUFBQTtFQUc1QztJQUNFLCtDQUE4QztJQUM5QywyQ0FBMEMsRUFBQSxFQUFBOztBQUk5QztFQUNFO0lBQ0UsaURBQXdDO0lBQXhDLHlDQUF3QztJQUN4Qyw0Q0FBbUM7SUFBbkMsb0NBQW1DLEVBQUE7RUFHckM7SUFDRSx3RUFBK0Q7SUFBL0QsZ0VBQStEO0lBQy9ELDRDQUFtQztJQUFuQyxvQ0FBbUMsRUFBQTtFQUdyQztJQUNFLGlGQUF3RTtJQUF4RSx5RUFBd0U7SUFDeEUsMkNBQWtDO0lBQWxDLG1DQUFrQyxFQUFBO0VBR3BDO0lBQ0Usa0VBQXdEO0lBQXhELDBEQUF3RDtJQUN4RCwyQ0FBa0M7SUFBbEMsbUNBQWtDLEVBQUE7RUFHcEM7SUFDRSwrQ0FBc0M7SUFBdEMsdUNBQXNDO0lBQ3RDLDJDQUFrQztJQUFsQyxtQ0FBa0MsRUFBQSxFQUFBOztBQUl0QztFQUNFLGdEQUErQztFQUMvQyw2QkFBNEI7RUFDNUIsd0NBQXVDO0VBQ3ZDLHFCQUFvQixFQUNyQjs7QUFFRDs7V0FFVztBQUNYO0VBQ0U7SUFDRSxxREFBb0Q7SUFDcEQsV0FBVSxFQUFBO0VBR1o7SUFDRSxzREFBcUQsRUFBQTtFQUd2RDtJQUNFLHFEQUFvRCxFQUFBO0VBR3REO0lBQ0Usb0RBQW1EO0lBQ25ELFdBQVUsRUFBQSxFQUFBOztBQUlkO0VBQ0U7SUFDRSxxREFBNEM7SUFBNUMsNkNBQTRDO0lBQzVDLFdBQVUsRUFBQTtFQUdaO0lBQ0Usc0RBQTZDO0lBQTdDLDhDQUE2QyxFQUFBO0VBRy9DO0lBQ0UscURBQTRDO0lBQTVDLDZDQUE0QyxFQUFBO0VBRzlDO0lBQ0Usb0RBQTJDO0lBQTNDLDRDQUEyQztJQUMzQyxXQUFVLEVBQUEsRUFBQTs7QUFJZDtFQUNFLGdEQUErQztFQUMvQyxnQ0FBK0I7RUFDL0Isd0NBQXVDO0VBQ3ZDLHdCQUF1QixFQUN4Qjs7QUFFRDs7V0FFVztBQUVYO0VBQ0U7SUFDRSxxREFBb0Q7SUFDcEQsV0FBVSxFQUFBO0VBR1o7SUFDRSxzREFBcUQsRUFBQTtFQUd2RDtJQUNFLHFEQUFvRCxFQUFBO0VBR3REO0lBQ0Usb0RBQW1EO0lBQ25ELFdBQVUsRUFBQSxFQUFBOztBQUlkO0VBQ0U7SUFDRSxxREFBNEM7SUFBNUMsNkNBQTRDO0lBQzVDLFdBQVUsRUFBQTtFQUdaO0lBQ0Usc0RBQTZDO0lBQTdDLDhDQUE2QyxFQUFBO0VBRy9DO0lBQ0UscURBQTRDO0lBQTVDLDZDQUE0QyxFQUFBO0VBRzlDO0lBQ0Usb0RBQTJDO0lBQTNDLDRDQUEyQztJQUMzQyxXQUFVLEVBQUEsRUFBQTs7QUFJZDtFQUNFLGdEQUErQztFQUMvQyxnQ0FBK0I7RUFDL0Isd0NBQXVDO0VBQ3ZDLHdCQUF1QixFQUN4Qjs7QUFFRDs7a0JBRWtCO0FBR2xCOztjQUVjO0FBQ2Q7RUFDRTtJQUNFLDRCQUEyQixFQUFBO0VBRzdCO0lBQ0UsK0JBQTZCLEVBQUE7RUFHL0I7SUFDRSxXQUFVO0lBQ1YsOEJBQTZCLEVBQUE7RUFHL0I7SUFDRSxXQUFVO0lBQ1YsOEJBQTRCLEVBQUEsRUFBQTs7QUFJaEM7RUFDRTtJQUNFLDRCQUFtQjtJQUFuQixvQkFBbUIsRUFBQTtFQUdyQjtJQUNFLCtCQUFxQjtJQUFyQix1QkFBcUIsRUFBQTtFQUd2QjtJQUNFLFdBQVU7SUFDViw4QkFBcUI7SUFBckIsc0JBQXFCLEVBQUE7RUFHdkI7SUFDRSxXQUFVO0lBQ1YsOEJBQW9CO0lBQXBCLHNCQUFvQixFQUFBLEVBQUE7O0FBSXhCO0VBQ0Usa0NBQWlDO0VBQ2pDLDBCQUF5QixFQUMxQjs7QUFFRDs7Y0FFYztBQUNkO0VBQ0U7SUFDRSxpQ0FBZ0MsRUFBQTtFQUdsQztJQUNFLFdBQVU7SUFDVixvQ0FBbUMsRUFBQTtFQUdyQztJQUNFLFdBQVU7SUFDVix1Q0FBc0MsRUFBQSxFQUFBOztBQUkxQztFQUNFO0lBQ0UsaUNBQXdCO0lBQXhCLHlCQUF3QixFQUFBO0VBRzFCO0lBQ0UsV0FBVTtJQUNWLG9DQUEyQjtJQUEzQiw0QkFBMkIsRUFBQTtFQUc3QjtJQUNFLFdBQVU7SUFDVix1Q0FBOEI7SUFBOUIsK0JBQThCLEVBQUEsRUFBQTs7QUFJbEM7RUFDRSxvQ0FBbUM7RUFDbkMsNEJBQTJCLEVBQzVCOztBQUVEOztjQUVjO0FBQ2Q7RUFDRTtJQUNFLGlDQUFnQyxFQUFBO0VBR2xDO0lBQ0UsV0FBVTtJQUNWLHFDQUFvQyxFQUFBO0VBR3RDO0lBQ0UsV0FBVTtJQUNWLHNDQUFxQyxFQUFBLEVBQUE7O0FBSXpDO0VBQ0U7SUFDRSxpQ0FBd0I7SUFBeEIseUJBQXdCLEVBQUE7RUFHMUI7SUFDRSxXQUFVO0lBQ1YscUNBQTRCO0lBQTVCLDZCQUE0QixFQUFBO0VBRzlCO0lBQ0UsV0FBVTtJQUNWLHNDQUE2QjtJQUE3Qiw4QkFBNkIsRUFBQSxFQUFBOztBQUlqQztFQUNFLHNDQUFxQztFQUNyQyw4QkFBNkIsRUFDOUI7O0FBR0Q7O2NBRWM7QUFDZDtFQUNFO0lBQ0UsaUNBQWdDLEVBQUE7RUFHbEM7SUFDRSxXQUFVO0lBQ1Ysb0NBQW1DLEVBQUE7RUFHckM7SUFDRSxXQUFVO0lBQ1YsdUNBQXNDLEVBQUEsRUFBQTs7QUFJMUM7RUFDRTtJQUNFLGlDQUF3QjtJQUF4Qix5QkFBd0IsRUFBQTtFQUcxQjtJQUNFLFdBQVU7SUFDVixvQ0FBMkI7SUFBM0IsNEJBQTJCLEVBQUE7RUFHN0I7SUFDRSxXQUFVO0lBQ1YsdUNBQThCO0lBQTlCLCtCQUE4QixFQUFBLEVBQUE7O0FBSWxDO0VBQ0Usc0NBQXFDO0VBQ3JDLDhCQUE2QixFQUM5Qjs7QUFFRDs7Y0FFYztBQUNkO0VBQ0U7SUFDRSxpQ0FBZ0MsRUFBQTtFQUdsQztJQUNFLFdBQVU7SUFDVixxQ0FBb0MsRUFBQTtFQUd0QztJQUNFLFdBQVU7SUFDVixzQ0FBcUMsRUFBQSxFQUFBOztBQUl6QztFQUNFO0lBQ0UsaUNBQXdCO0lBQXhCLHlCQUF3QixFQUFBO0VBRzFCO0lBQ0UsV0FBVTtJQUNWLHFDQUE0QjtJQUE1Qiw2QkFBNEIsRUFBQTtFQUc5QjtJQUNFLFdBQVU7SUFDVixzQ0FBNkI7SUFBN0IsOEJBQTZCLEVBQUEsRUFBQTs7QUFJakM7RUFDRSx1Q0FBc0M7RUFDdEMsK0JBQThCLEVBQy9COztBQUVEOztjQUVjO0FBQ2Q7RUFDRTtJQUNFLFdBQVUsRUFBQTtFQUdaO0lBQ0UsV0FBVSxFQUFBLEVBQUE7O0FBSWQ7RUFDRTtJQUNFLFdBQVUsRUFBQTtFQUdaO0lBQ0UsV0FBVSxFQUFBLEVBQUE7O0FBSWQ7RUFDRSxnQ0FBK0I7RUFDL0Isd0JBQXVCLEVBQ3hCOztBQUVEOztjQUVjO0FBQ2Q7RUFDRTtJQUNFLFdBQVU7SUFDVixpQ0FBZ0MsRUFBQTtFQUdsQztJQUNFLFdBQVU7SUFDVix1Q0FBc0MsRUFBQSxFQUFBOztBQUkxQztFQUNFO0lBQ0UsV0FBVTtJQUNWLGlDQUF3QjtJQUF4Qix5QkFBd0IsRUFBQTtFQUcxQjtJQUNFLFdBQVU7SUFDVix1Q0FBOEI7SUFBOUIsK0JBQThCLEVBQUEsRUFBQTs7QUFJbEM7RUFDRSxrQ0FBaUM7RUFDakMsMEJBQXlCLEVBQzFCOztBQUVEOztjQUVjO0FBQ2Q7RUFDRTtJQUNFLFdBQVU7SUFDVixpQ0FBZ0MsRUFBQTtFQUdsQztJQUNFLFdBQVU7SUFDVixzQ0FBcUMsRUFBQSxFQUFBOztBQUl6QztFQUNFO0lBQ0UsV0FBVTtJQUNWLGlDQUF3QjtJQUF4Qix5QkFBd0IsRUFBQTtFQUcxQjtJQUNFLFdBQVU7SUFDVixzQ0FBNkI7SUFBN0IsOEJBQTZCLEVBQUEsRUFBQTs7QUFJakM7RUFDRSxvQ0FBbUM7RUFDbkMsNEJBQTJCLEVBQzVCOztBQUVEOztjQUVjO0FBQ2Q7RUFDRTtJQUNFLFdBQVU7SUFDVixpQ0FBZ0MsRUFBQTtFQUdsQztJQUNFLFdBQVU7SUFDVix1Q0FBc0MsRUFBQSxFQUFBOztBQUkxQztFQUNFO0lBQ0UsV0FBVTtJQUNWLGlDQUF3QjtJQUF4Qix5QkFBd0IsRUFBQTtFQUcxQjtJQUNFLFdBQVU7SUFDVix1Q0FBOEI7SUFBOUIsK0JBQThCLEVBQUEsRUFBQTs7QUFJbEM7RUFDRSxvQ0FBbUM7RUFDbkMsNEJBQTJCLEVBQzVCOztBQUVEOztjQUVjO0FBQ2Q7RUFDRTtJQUNFLFdBQVU7SUFDVixpQ0FBZ0MsRUFBQTtFQUdsQztJQUNFLFdBQVU7SUFDVixzQ0FBcUMsRUFBQSxFQUFBOztBQUl6QztFQUNFO0lBQ0UsV0FBVTtJQUNWLGlDQUF3QjtJQUF4Qix5QkFBd0IsRUFBQTtFQUcxQjtJQUNFLFdBQVU7SUFDVixzQ0FBNkI7SUFBN0IsOEJBQTZCLEVBQUEsRUFBQTs7QUFJakM7RUFDRSxxQ0FBb0M7RUFDcEMsNkJBQTRCLEVBQzdCOztBQUVEOztjQUVjO0FBQ2Q7RUFDRTtJQUNFLG9EQUFtRDtJQUNuRCxXQUFVLEVBQUE7RUFHWjtJQUNFLHFEQUFvRDtJQUNwRCxXQUFVLEVBQUEsRUFBQTs7QUFJZDtFQUNFO0lBQ0Usb0RBQTJDO0lBQTNDLDRDQUEyQztJQUMzQyxXQUFVLEVBQUE7RUFHWjtJQUNFLHFEQUE0QztJQUE1Qyw2Q0FBNEM7SUFDNUMsV0FBVSxFQUFBLEVBQUE7O0FBSWQ7RUFDRSxpQ0FBZ0M7RUFDaEMsZ0RBQStDO0VBQy9DLHlCQUF3QjtFQUN4Qix3Q0FBdUMsRUFDeEM7O0FBRUQ7O2NBRWM7QUFDZDtFQUNFO0lBQ0Usb0RBQW1EO0lBQ25ELFdBQVUsRUFBQTtFQUdaO0lBQ0UscURBQW9EO0lBQ3BELFdBQVUsRUFBQSxFQUFBOztBQUlkO0VBQ0U7SUFDRSxvREFBMkM7SUFBM0MsNENBQTJDO0lBQzNDLFdBQVUsRUFBQTtFQUdaO0lBQ0UscURBQTRDO0lBQTVDLDZDQUE0QztJQUM1QyxXQUFVLEVBQUEsRUFBQTs7QUFJZDtFQUNFLGdEQUErQztFQUMvQyxpQ0FBZ0M7RUFDaEMsd0NBQXVDO0VBQ3ZDLHlCQUF3QixFQUN6Qjs7QUFFRDs7Y0FFYztBQUNkO0VBQ0U7SUFDRSw4Q0FBNkM7SUFDN0MsV0FBVSxFQUFBO0VBR1o7SUFDRSxrREFBaUQ7SUFDakQsV0FBVSxFQUFBLEVBQUE7O0FBSWQ7RUFDRTtJQUNFLDhDQUFxQztJQUFyQyxzQ0FBcUM7SUFDckMsV0FBVSxFQUFBO0VBR1o7SUFDRSxrREFBeUM7SUFBekMsMENBQXlDO0lBQ3pDLFdBQVUsRUFBQSxFQUFBOztBQUlkO0VBQ0UsMkNBQTBDO0VBQzFDLG1DQUFrQztFQUNsQywyQ0FBMEM7RUFDMUMsbUNBQWtDLEVBQ25DOztBQUdEOztjQUVjO0FBQ2Q7RUFDRTtJQUNFLDhDQUE2QztJQUM3QyxXQUFVLEVBQUE7RUFHWjtJQUNFLGtEQUFpRDtJQUNqRCxXQUFVLEVBQUEsRUFBQTs7QUFJZDtFQUNFO0lBQ0UsOENBQXFDO0lBQXJDLHNDQUFxQztJQUNyQyxXQUFVLEVBQUE7RUFHWjtJQUNFLGtEQUF5QztJQUF6QywwQ0FBeUM7SUFDekMsV0FBVSxFQUFBLEVBQUE7O0FBSWQ7RUFDRSwwQ0FBeUM7RUFDekMsa0NBQWlDO0VBQ2pDLDJDQUEwQztFQUMxQyxtQ0FBa0MsRUFFbkM7O0FBRUQ7O2NBRWM7QUFDZDtFQUNFO0lBQ0Usd0NBQXVDO0lBQ3ZDLDZCQUE0QjtJQUM1QixXQUFVLEVBQUE7RUFHWjtJQUNFLHdDQUF1QztJQUN2QyxrQ0FBaUM7SUFDakMsV0FBVSxFQUFBLEVBQUE7O0FBSWQ7RUFDRTtJQUNFLHdDQUErQjtJQUEvQixnQ0FBK0I7SUFDL0IsNkJBQW9CO0lBQXBCLHFCQUFvQjtJQUNwQixXQUFVLEVBQUE7RUFHWjtJQUNFLHdDQUErQjtJQUEvQixnQ0FBK0I7SUFDL0Isa0NBQXlCO0lBQXpCLDBCQUF5QjtJQUN6QixXQUFVLEVBQUEsRUFBQTs7QUFJZDtFQUNFLGtDQUFpQztFQUNqQywwQkFBeUIsRUFDMUI7O0FBR0Q7O2NBRWM7QUFDZDtFQUNFO0lBQ0Usc0NBQXFDO0lBQ3JDLDZCQUE0QjtJQUM1QixXQUFVLEVBQUE7RUFHWjtJQUNFLHNDQUFxQztJQUNyQyxrQ0FBaUM7SUFDakMsV0FBVSxFQUFBLEVBQUE7O0FBSWQ7RUFDRTtJQUNFLHNDQUE2QjtJQUE3Qiw4QkFBNkI7SUFDN0IsNkJBQW9CO0lBQXBCLHFCQUFvQjtJQUNwQixXQUFVLEVBQUE7RUFHWjtJQUNFLCtCQUE4QjtJQUM5QiwyQkFBMEI7SUFDMUIsV0FBVSxFQUFBLEVBQUE7O0FBSWQ7RUFDRSx3Q0FBdUM7RUFDdkMsZ0NBQStCLEVBQ2hDOztBQUVEOztjQUVjO0FBRWQ7RUFDRTtJQUNFLHNDQUFxQztJQUNyQyw2QkFBNEI7SUFDNUIsV0FBVSxFQUFBO0VBR1o7SUFDRSxzQ0FBcUM7SUFDckMsaUNBQWdDO0lBQ2hDLFdBQVUsRUFBQSxFQUFBOztBQUlkO0VBQ0U7SUFDRSxzQ0FBNkI7SUFBN0IsOEJBQTZCO0lBQzdCLDZCQUFvQjtJQUFwQixxQkFBb0I7SUFDcEIsV0FBVSxFQUFBO0VBR1o7SUFDRSxzQ0FBNkI7SUFBN0IsOEJBQTZCO0lBQzdCLGlDQUF3QjtJQUF4Qix5QkFBd0I7SUFDeEIsV0FBVSxFQUFBLEVBQUE7O0FBSWQ7RUFDRSwwQ0FBeUM7RUFDekMsa0NBQWlDLEVBQ2xDOztBQUVEOztjQUVjO0FBRWQ7RUFDRTtJQUNFLHVDQUFzQztJQUN0Qyw2QkFBNEI7SUFDNUIsV0FBVSxFQUFBO0VBR1o7SUFDRSx1Q0FBc0M7SUFDdEMsaUNBQWdDO0lBQ2hDLFdBQVUsRUFBQSxFQUFBOztBQUlkO0VBQ0U7SUFDRSx1Q0FBOEI7SUFBOUIsK0JBQThCO0lBQzlCLDZCQUFvQjtJQUFwQixxQkFBb0I7SUFDcEIsV0FBVSxFQUFBO0VBR1o7SUFDRSx1Q0FBOEI7SUFBOUIsK0JBQThCO0lBQzlCLGlDQUF3QjtJQUF4Qix5QkFBd0I7SUFDeEIsV0FBVSxFQUFBLEVBQUE7O0FBSWQ7RUFDRSx5Q0FBd0M7RUFDeEMsaUNBQWdDLEVBQ2pDOztBQUVEOztjQUVjO0FBQ2Q7RUFDRTtJQUNFLFdBQVU7SUFDVixnREFBK0MsRUFBQTtFQUdqRDtJQUNFLFdBQVU7SUFDVixtREFBa0QsRUFBQSxFQUFBOztBQUl0RDtFQUNFO0lBQ0UsV0FBVTtJQUNWLGdEQUF1QztJQUF2Qyx3Q0FBdUMsRUFBQTtFQUd6QztJQUNFLFdBQVU7SUFDVixtREFBMEM7SUFBMUMsMkNBQTBDLEVBQUEsRUFBQTs7QUFJOUM7RUFDRSxnQ0FBK0I7RUFDL0Isd0JBQXVCLEVBQ3hCOztBQUVEOztvQkFFb0I7QUFFcEI7O3NCQUVzQjtBQUN0QjtFQUNFO0lBQ0UsV0FBVTtJQUNWLG9DQUFtQyxFQUFBO0VBR3JDO0lBQ0UsV0FBVTtJQUNWLGlDQUFnQyxFQUFBLEVBQUE7O0FBSXBDO0VBQ0U7SUFDRSxXQUFVO0lBQ1Ysb0NBQTJCO0lBQTNCLDRCQUEyQixFQUFBO0VBRzdCO0lBQ0UsV0FBVTtJQUNWLGlDQUF3QjtJQUF4Qix5QkFBd0IsRUFBQSxFQUFBOztBQUk1QjtFQUNFLFdBQVU7RUFDVixvQ0FBbUM7RUFDbkMsZ0NBQTJCO0VBQTNCLDRCQUEyQixFQUM1Qjs7QUFFRDtFQUNFLHNDQUFxQztFQUNyQyw4QkFBNkIsRUFDOUI7O0FBRUQ7O3NCQUVzQjtBQUN0QjtFQUNFO0lBQ0UsV0FBVTtJQUNWLHFDQUFvQyxFQUFBO0VBR3RDO0lBQ0UsV0FBVTtJQUNWLGlDQUFnQyxFQUFBLEVBQUE7O0FBSXBDO0VBQ0U7SUFDRSxXQUFVO0lBQ1YscUNBQTRCO0lBQTVCLDZCQUE0QixFQUFBO0VBRzlCO0lBQ0UsV0FBVTtJQUNWLGlDQUF3QjtJQUF4Qix5QkFBd0IsRUFBQSxFQUFBOztBQUk1QjtFQUNFLFdBQVU7RUFDVixxQ0FBb0M7RUFDcEMsaUNBQTRCO0VBQTVCLDZCQUE0QixFQUM3Qjs7QUFFRDtFQUNFLHdDQUF1QztFQUN2QyxnQ0FBK0IsRUFDaEM7O0FBRUQ7O3NCQUVzQjtBQUN0QjtFQUNFO0lBQ0UsV0FBVTtJQUNWLG9DQUFtQyxFQUFBO0VBR3JDO0lBQ0UsV0FBVTtJQUNWLGlDQUFnQyxFQUFBLEVBQUE7O0FBSXBDO0VBQ0U7SUFDRSxXQUFVO0lBQ1Ysb0NBQTJCO0lBQTNCLDRCQUEyQixFQUFBO0VBRzdCO0lBQ0UsV0FBVTtJQUNWLGlDQUF3QjtJQUF4Qix5QkFBd0IsRUFBQSxFQUFBOztBQUk1QjtFQUNFLFdBQVU7RUFDVixvQ0FBbUM7RUFDbkMsZ0NBQTJCO0VBQTNCLDRCQUEyQixFQUM1Qjs7QUFFRDtFQUNFLHlDQUF3QztFQUN4QyxpQ0FBZ0MsRUFDakM7O0FBRUQ7O3NCQUVzQjtBQUN0QjtFQUNFO0lBQ0UsV0FBVTtJQUNWLHFDQUFvQyxFQUFBO0VBR3RDO0lBQ0UsV0FBVTtJQUNWLGlDQUFnQyxFQUFBLEVBQUE7O0FBSXBDO0VBQ0U7SUFDRSxXQUFVO0lBQ1YscUNBQTRCO0lBQTVCLDZCQUE0QixFQUFBO0VBRzlCO0lBQ0UsV0FBVTtJQUNWLGlDQUF3QjtJQUF4Qix5QkFBd0IsRUFBQSxFQUFBOztBQUk1QjtFQUNFLFdBQVU7RUFDVixxQ0FBb0M7RUFDcEMsaUNBQTRCO0VBQTVCLDZCQUE0QixFQUM3Qjs7QUFFRDtFQUNFLHdDQUF1QztFQUN2QyxnQ0FBK0IsRUFDaEM7O0FDaDlFRDs7WUFFWTtBQUNaO0VBQ0U7SUFDRSw0QkFBMkI7SUFDM0Isb0JBQW1CO0lBQ25CLFdBQVUsRUFBQTtFQUdaO0lBQ0UsOEJBQTRCO0lBQzVCLHNCQUFvQjtJQUNwQixZQUFXLEVBQUE7RUFHYjtJQUNFLDhCQUE0QjtJQUM1QixzQkFBb0IsRUFBQTtFQUd0QjtJQUNFLDhCQUE2QjtJQUM3QixzQkFBcUIsRUFBQTtFQUd2QjtJQUNFLDRCQUEyQjtJQUMzQixvQkFBbUI7SUFDbkIsV0FBVSxFQUFBLEVBQUE7O0FBSWQ7RUFDRTtJQUNFLDRCQUEyQjtJQUMzQixvQkFBbUI7SUFDbkIsV0FBVSxFQUFBO0VBR1o7SUFDRSw4QkFBNEI7SUFDNUIsc0JBQW9CO0lBQ3BCLFlBQVcsRUFBQTtFQUdiO0lBQ0UsOEJBQTRCO0lBQzVCLHNCQUFvQixFQUFBO0VBR3RCO0lBQ0UsOEJBQTZCO0lBQzdCLHNCQUFxQixFQUFBO0VBR3ZCO0lBQ0UsNEJBQTJCO0lBQzNCLG9CQUFtQjtJQUNuQixXQUFVLEVBQUEsRUFBQTs7QUFJZDtFQUNFLDRCQUEyQjtFQUMzQix3QkFBdUI7RUFDdkIsb0JBQW1CO0VBQ25CLFdBQVUsRUFDWDs7QUFFRDtFQUNFLCtCQUE4QjtFQUM5Qix1QkFBc0I7RUFDdEIsZ0NBQXVCO0VBQXZCLHdCQUF1QixFQUN4Qjs7QUFHRDs7O1NBR1M7QUF5QlQ7RUFFRTs7O0lBR0UsaUNBQWdDO0lBQ2hDLHlCQUF3QixFQUFBO0VBSTFCOztJQUVFLHFDQUFvQztJQUNwQyw2QkFBNEIsRUFBQTtFQUc5Qjs7SUFFRSxvQ0FBbUM7SUFDbkMsNEJBQTJCLEVBQUEsRUFBQTtBQW5CL0I7RUFFRTs7O0lBR0UsaUNBQWdDO0lBQ2hDLHlCQUF3QixFQUFBO0VBSTFCOztJQUVFLHFDQUFvQztJQUNwQyw2QkFBNEIsRUFBQTtFQUc5Qjs7SUFFRSxvQ0FBbUM7SUFDbkMsNEJBQTJCLEVBQUEsRUFBQTs7QUFJL0I7RUFDRSxpQ0FBZ0M7RUFDaEMseUJBQXdCLEVBQ3pCOztBQUVEO0VBQ0UsMkVBQTJFO0VBQzNFLDRCQUFtQjtFQUFuQixvQkFBbUI7RUFFbkIsaURBQWlEO0VBQ2pELDRDQUFtQztFQUFuQyxvQ0FBbUMsRUFDcEM7O0FBRUQ7RUFDRTtJQUNFLG9EQUEyQztJQUEzQyw0Q0FBMkMsRUFBQTtFQUc3QztJQUNFLHVEQUE4QztJQUE5QywrQ0FBOEMsRUFBQTtFQUdoRDtJQUNFLHFEQUE0QztJQUE1Qyw2Q0FBNEMsRUFBQTtFQUc5QztJQUNFLG9EQUEyQztJQUEzQyw0Q0FBMkMsRUFBQTtFQUc3QztJQUNFLHFEQUE0QztJQUE1Qyw2Q0FBNEMsRUFBQTtFQUc5QztJQUNFLHNEQUE2QztJQUE3Qyw4Q0FBNkMsRUFBQTtFQUcvQztJQUNFLHFEQUE0QztJQUE1Qyw2Q0FBNEMsRUFBQTtFQUc5QztJQUNFLHFEQUE0QztJQUE1Qyw2Q0FBNEMsRUFBQTtFQUc5QztJQUNFLHNEQUE2QztJQUE3Qyw4Q0FBNkMsRUFBQTtFQUcvQztJQUNFLG9EQUEyQztJQUEzQyw0Q0FBMkMsRUFBQTtFQUc3QztJQUNFLHNEQUE2QztJQUE3Qyw4Q0FBNkMsRUFBQSxFQUFBOztBQUtqRDtFQUNFO0lBQ0UsNENBQTJDO0lBQzNDLG9DQUFtQyxFQUFBO0VBR3JDO0lBQ0Usc0RBQXFEO0lBQ3JELDhDQUE2QyxFQUFBLEVBQUE7O0FBSWpEO0VBQ0U7SUFDRSw0Q0FBMkM7SUFDM0Msd0NBQXVDO0lBQ3ZDLG9DQUFtQyxFQUFBO0VBR3JDO0lBQ0Usc0RBQXFEO0lBQ3JELGtEQUFpRDtJQUNqRCw4Q0FBNkMsRUFBQSxFQUFBOztBQUlqRDtFQUtFLGdEQUF1QztFQUF2Qyx3Q0FBdUMsRUFFeEM7O0FBRUQ7RUFDRTtJQUNFLGdDQUF1QjtJQUF2Qix3QkFBdUIsRUFBQTtFQUd6QjtJQUNFLGtDQUF5QjtJQUF6QiwwQkFBeUIsRUFBQSxFQUFBOztBQU43QjtFQUNFO0lBQ0UsZ0NBQXVCO0lBQXZCLHdCQUF1QixFQUFBO0VBR3pCO0lBQ0Usa0NBQXlCO0lBQXpCLDBCQUF5QixFQUFBLEVBQUE7O0FDck83QixzQkFBc0I7QUFzQ3RCLDZCQUE2QjtBQTZDN0Isd0JBQXdCO0FBa0J4QiwwQkFBMEI7QUFtQzFCLDBEQUEwRDtBQUMxRCx3QkFBd0I7QUFFeEIsMERBQTBEO0FBNkMxRCwrQkFBK0I7QUN4TC9CLHNCQUFzQjtBQ0d0Qix5QkFBeUI7QVY4QnpCO0VVekJFLGVBUmU7RUFTZixvQkFSZSxFQVNoQjtBVnVCRDtFVXpCRSxlQVJlO0VBU2Ysb0JBUmUsRUFTaEI7O0FBRUQscUJBQXFCO0FBQ3JCO0VBQ0UsNEJBQW1CO0VBQW5CLHVCQUFtQjtFQUFuQixvQkFBbUIsRUFJcEI7RUFMRDtJQUdJLHlDQUFnQztJQUFoQyxvQ0FBZ0M7SUFBaEMsaUNBQWdDLEVBQ2pDOztBQUdILCtCQUErQjtBVnBCL0I7RVVxQkkscUJBQXFCO0VBQ3ZCLHFCQUFvQjtFQUNwQixpQ0F0QmUsRUF1QmhCOztBQUVEO0VBQXVCLHVDQUF1QztFQUM1RCxXQUFVLEVBQ1g7O0FBRUQ7RUFDRSxvQkE5QmU7RUErQmYsMkJBQWtCO0VBQWxCLG1CQUFrQixFQUNuQjs7QUFFRDtFQUNFLDBCQXBDZTtFQXFDZiwyQkFBa0I7RUFBbEIsbUJBQWtCO0VBQ2xCLDBCQXRDZSxFQXVDaEI7O0FBSUQsNEJBQTRCO0FBQzVCO0VBQ0UsNENBQW1DO0VBQW5DLG9DQUFtQyxFQUNwQzs7QUFFRDtFQUNFLHFDQUE0QjtFQUE1Qiw2QkFBNEIsRUFDN0I7O0FBU0Qsd0JBQXdCO0FBQ3hCO0VBQ0UsbUJBQWtCO0VBQ2xCLGlCQUFnQjtFQUNoQixzQkFBcUI7RUFDckIsdUJBQXNCO0VBQ3RCLGVBQWMsRUFpQmY7RUF0QkQ7SUFPSSxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFFBQU87SUFDUCxTQUFRO0lBQ1IsVUFBUztJQUNULG1CQUFrQjtJQUNsQixXQUFVLEVBQ1g7RUFkSDtJQWtCTSxvQkFBbUI7SUFDbkIsV0FBVSxFQUNYOztBQU1MO0VBQ0Usc0JBQXFCO0VBQ3JCLHlDQUFnQztFQUFoQyxvQ0FBZ0M7RUFBaEMsaUNBQWdDLEVBSWpDO0VBTkQ7SUFJSSw4QkFBcUI7SUFBckIsMEJBQXFCO0lBQXJCLHNCQUFxQixFQUN0Qjs7QUFHSDtFRnlFRSxzQkFBcUI7RUFDckIsdURBQXNDO0VBQXRDLCtDQUFzQztFQUF0QywwQ0FBc0M7RUFBdEMsdUNBQXNDO0VBQXRDLDJFQUFzQyxFRXhFdkM7RUYwRUM7SUFDRSxxQ0FBNkI7SUFBN0IsaUNBQTZCO0lBQTdCLDZCQUE2QixFQUM5Qjs7QUUxRUg7RUY2RUUsc0JBQXFCO0VBQ3JCLHVEQUFzQztFQUF0QywrQ0FBc0M7RUFBdEMsMENBQXNDO0VBQXRDLHVDQUFzQztFQUF0QywyRUFBc0MsRUU1RXZDO0VGOEVDO0lBQ0Usb0NBQTZCO0lBQTdCLGdDQUE2QjtJQUE3Qiw0QkFBNkIsRUFDOUI7O0FFOUVIO0VBQ0UsbUJBQWtCO0VBQ2xCLHNCQUFxQjtFQUNyQixzQkFBcUIsRUFpQnRCO0VBcEJEO0lBTUksU0FBUTtJQUNSLFlBQVc7SUFDWCxtQkFBa0I7SUFDbEIsVUFBUztJQUNULFVBQVM7SUFDVCxvQ0FBMkI7SUFBM0IsZ0NBQTJCO0lBQTNCLDRCQUEyQjtJQUMzQixZQUFXO0lBQ1gsaUJBQWdCO0lBQ2hCLHlDQUFnQztJQUFoQyxvQ0FBZ0M7SUFBaEMsaUNBQWdDLEVBQ2pDO0VBZkg7SUFrQkksWUFBVyxFQUNaOztBQUdIO0VBQ0UsY0FBYTtFQUNiLGdCQUFlO0VGa0JmLG1CQUFrQjtFQUNsQixhQUFZLEVFakJiO0VGa0JDO0lBQ0UsWUFBVztJQUNYLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsUUFBTztJQUNQLFNBQVE7SUFDUixPQUFNO0lBQ04sVUFBUztJQUNULHVCRTNCNEM7SUY0QjVDLGdCQUFlO0lBQ2YsK0NBQXNDO0lBQXRDLDBDQUFzQztJQUF0Qyx1Q0FBc0MsRUFDdkM7RUFFRDtJQUNFLFdBQVU7SUFDVixpQ0FBd0I7SUFBeEIsNkJBQXdCO0lBQXhCLHlCQUF3QjtJQUN4QixrQkVuQ2lELEVGb0NsRDs7QUVqQ0g7RUFDRSxzQkFBcUI7RUFDckIsbUJBQWtCO0VBQ2xCLGlCQUFnQixFQWdDakI7RUFuQ0Q7SUFLSSxZQUFXO0lBQ1gsbUJBQWtCO0lBQ2xCLHFCQUFvQjtJQUNwQixXQUFVO0lBQ1YsWUFBVztJQUNYLFlBQVc7SUFDWCxhQUFZO0lBQ1osV0FBVTtJQUNWLDhNQUlrQztJQUpsQyxrS0FJa0M7SUFKbEMsNkpBSWtDO0lBSmxDLDhKQUlrQztJQUNsQyxpQ0FBd0I7SUFBeEIsNkJBQXdCO0lBQXhCLHlCQUF3QixFQUN6QjtFQW5CSDtJQXNCSSw4QkFBNkI7SUFDN0Isc0JBQXFCO0lBQ3JCLFdBQVU7SUFDVixVQUFTO0lBQ1QsV0FBVTtJQUNWLGdEQUVTO0lBRlQsMkNBRVM7SUFGVCx3Q0FFUztJQUNULDBDQUVNO0lBRk4scUNBRU07SUFGTixrQ0FFTTtJQUNOLHlDQUFnQztJQUFoQyxvQ0FBZ0M7SUFBaEMsaUNBQWdDLEVBQ2pDOztBQUdILHNCQUFzQjtBQUN0QjtFRmhJRSxxQkFBb0I7RUFDcEIsNkJBQTRCO0VBQzVCLHNCRStId0I7RUY5SHhCLGlCQUFnQjtFQUNoQiw2QkFBNEIsRUU4SDdCOztBQUVEO0VBQ0UsaUJBQWdCO0VBQ2hCLFlBQVc7RUFDWCwwQkFBeUI7RUY1SnpCLCtEQUFnRjtFQUNoRiwwQkFBMEI7RUFDMUIsbURBQTBEO0VBQzFELDhCQUE2QixFRTJKOUI7O0FBRUQ7RUYxS0UsMEJFMkswQztFRnpLMUMsb0JBSnNIO0VBT3BILGlCRXNLNkI7RUZySi9CLGlCRXNKbUM7RUZySm5DLG1GQUErRTtFQUMvRSx1R0FBcUQ7RUFBckQsOERBQXFEO0VBQXJELHlEQUFxRDtFQUFyRCx5REFBcUQ7RUFDckQsOEJBQTZCO0VBQzdCLHFDQUFvQyxFRW1KckM7O0FBR0QsdUJBQXVCO0FBQ3ZCO0VBQ0UsYUFBWTtFRnRHWixlQUFjO0VBQ2QsY0VzR3dCO0VGckd4QixxQkFBaUI7RUFBakIsa0JBQWlCO0VBQ2pCLDJCQUF1QjtFQUF2Qix3QkFBdUI7RUFDdkIseUNBQWdDO0VBQWhDLG9DQUFnQztFQUFoQyxpQ0FBZ0MsRUVvR2pDOztBQUVELHdCQUF3QjtBQUN4QjtFRjlERSxvQkUrRGtEO0VGOURsRCx5R0FBK0U7RUFDL0UsNkhBQXFEO0VBQXJELGlGQUFxRDtFQUFyRCw0RUFBcUQ7RUFBckQsK0VBQXFELEVFOER0RDs7QUFFRCx1QkFBdUI7QUFDdkI7RUFFSSxxQ0FBb0M7RUFHcEMsNkJBQTRCO0VBQzVCLDRCQUEyQjtFQUMzQixrQ0FBaUM7RUFDakMsb0JBQW1CLEVBQ3BCOztBQzlNSDtFQUNFLGtCQUFpQjtFQUNqQiw4Q0FBNkM7RUFDN0MsNlNBSXdELEVBQUE7O0FBSTFEO0VBQ0UsdUJBQXNCO0VBQ3RCLCtDQUE4QztFQUM5QyxrVEFJeUQsRUFBQTs7QUFHM0Q7RUFDRSwwQkFBeUI7RUFDekIsMENBQXlDO0VBQ3pDLHlSQUlvRCxFQUFBOztBQUd0RDtFQUNFLDRDQUEyQztFQUMzQyxvREFBbUQ7RUFDbkQsMlVBSThELEVBQUE7O0FBR2hFO0VBQ0UsMkJBQTBCO0VBQzFCLHFDQUFvQztFQUNwQyxnUUFJK0MsRUFBQTs7QUNoRGpEO0VBQ0UsZUFBYztFQUNkLG1CQUFrQjtFQUNsQixTQUFRO0VBQ1IsVUFBUztFQUNULG9DQUEyQjtFQUEzQixnQ0FBMkI7RUFBM0IsNEJBQTJCO0VBQzNCLFdBQVUsRUFFWDs7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixZQUFXO0VBQ1gsY0FBYTtFQUViLG9CQUFtQjtFQUNuQixXQUFVO0VDb09OLGFBdkUrQixFREhwQztFQWhLRDtJSnVHRSxtQkk5RjRCO0lKbUd4QixVSW5HOEI7SUptRzlCLFdJbkc2QztJQUMvQyxhQUFZO0lBQ1osYUFBWTtJQUNaLDZDQUE0QztJQUM1QyxXQUFVLEVBQ1g7RUFkSDtJQWlCSSxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLHVCQUFzQjtJQUN0QixhQUFZLEVBRWI7RUFFRDtJQUVFLGFBQVksRUFFYjtFQTVCSDtJSnVHRSxtQkl4RTRCO0lKNkV4QixPSTdFMkI7SUo2RTNCLFFJN0V1QztJQUN6QyxXQUFVO0lBQ1YsWUFBVztJQUNYLGFBQVk7SUFDWixhQUFZO0lBQ1oscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLDBCQUFtQjtJQUFuQiw0QkFBbUI7SUFBbkIsdUJBQW1CO0lBQW5CLG9CQUFtQjtJQUNuQixvQkFBbUIsRUFpRXBCO0lBdkdIO01Bd0NNLHFCQUFhO01BQWIsc0JBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWE7TUFDYix5QkFBdUI7TUFBdkIsZ0NBQXVCO01BQXZCLHNCQUF1QjtNQUF2Qix3QkFBdUI7TUFDdkIsb0JBQW1CO01BQ25CLFdBQVU7TUFDVix3QkFBdUIsRUF5RHhCO01BckdMO1FBOENRLG1CQUFrQjtRQUNsQixxQkFBYTtRQUFiLHNCQUFhO1FBQWIscUJBQWE7UUFBYixjQUFhO1FBQ2IsMEJBQW1CO1FBQW5CLDRCQUFtQjtRQUFuQix1QkFBbUI7UUFBbkIsb0JBQW1CLEVBb0RwQjtRQXBHUDtVQWtEVSxvQkFBbUIsRUFDcEI7UUFuRFQ7VUFxRFUsZUFBYztVQUNkLGFBQVk7VUFDWixrQkFBaUI7VUFDakIsdUNBQThCO1VBQTlCLCtCQUE4QjtVSjFEdEMsZUkyRG1DO1VKMURuQywyQkkwRHFEO1VKekRyRCxtQkl5RDZEO1VKeEQ3RCxvQkFKc0g7VUFPcEgsZ0JJcUR1QztVQUNqQyxnQkFBZSxFQU1oQjtVQWhFVDtZQTZEWSxlQUFjLEVBQ2Y7UUE5RFg7VUFrRVUsWUFBVztVQUNYLGlCQUFnQjtVSm9DeEIsbUJJbkNrQztVSndDOUIsVUl4Q29DO1VKd0NwQyxVSXhDa0Q7VUFDOUMsb0NBQTJCO1VBQTNCLGdDQUEyQjtVQUEzQiw0QkFBMkI7VUFDM0IsV0FBVTtVQUNWLG1CQUFrQjtVQUNsQixvQkFBbUI7VUFDbkIsOEJBQXFCO1VBQXJCLHlCQUFxQjtVQUFyQixzQkFBcUI7VUFDckIsd0JBQWU7VUFBZixvQkFBZTtVQUFmLGdCQUFlLEVBS2hCO1VBL0VUO1lBNkVZLGlDQUFnQyxFQUNqQztFQTlFWDtJQTRHSSxtQkFBa0I7SUpMcEIsbUJJTTRCO0lKRHhCLFdJQytCO0lKRC9CLFVJQzZDO0lBQy9DLG9DQUEyQjtJQUEzQixnQ0FBMkI7SUFBM0IsNEJBQTJCO0lBQzNCLFdBQVUsRUFDWDtFQWhISDtJQWtISSxlQUFjO0lBQ2QsbUJBQWtCO0lBQ2xCLFdBQVU7SUpiWixtQkljNEI7SUpUeEIsV0lTK0I7SUpUL0IsWUlTK0M7SUFFakQsb0NBQTJCO0lBQTNCLCtCQUEyQjtJQUEzQiw0QkFBMkIsRUFPNUI7SUE5SEg7TUF5SE0saUNBQXdCO01BQXhCLHlCQUF3QixFQUN6QjtJSnRESDtNSXBFRjtRQTRITSxZQUFXLEVBRWQsRUFBQTtFQTlISDtJQWlJSSxtQkFBa0IsRUFJbkI7SUpqRUQ7TUlwRUY7UUFtSU0sY0FBYSxFQUVoQixFQUFBO0VBcklIO0lBd0lJLGFBQVk7SUFJWiwwQkFBeUI7SUFDekIsNEJBQW1CO0lBQW5CLG9CQUFtQjtJQUNuQixvQkFBbUIsRUFpQnBCO0lBL0pIO01BZ0pNLHdCQUF1QjtNQUN2QixrQkFBaUI7TUFDakIsYUFBWTtNQUNaLGVBQWM7TUFDZCxlQUFjO01BQ2QsYUFBWTtNQUNaLHlCQUF3QjtNQUN4QixnQkFBZSxFQUNoQjtJQXhKTDtNQTJKTSxhQUFZO01BQ1osZUFBYztNQUNkLGlCQUFnQixFQUNqQjs7QUFHTDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUozRGIsbUJJNEQwQjtFSnZEdEIsV0l1RDZCO0VKdkQ3QixTSXVEK0I7RUp2RC9CLFVJdURpQztFSnZEakMsUUl1RG1DO0VBQ3ZDLFlBQVc7RUFDWCxjQUFhO0VBQ2IsV0FBVTtFQUNWLDhEQUE2RCxFQStUOUQ7RUFyVUQ7SUFTSSxZQUFXO0lBQ1gsaUJBQWdCO0lBQ2hCLGFBQVk7SUFDWixrQkFBaUI7SUFDakIsb0JBQW1CLEVBK0hwQjtJQTVJSDtNQWVNLHFCQUFhO01BQWIsc0JBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWE7TUFDYiwwQkFBbUI7TUFBbkIsNEJBQW1CO01BQW5CLHVCQUFtQjtNQUFuQixvQkFBbUI7TUFDbkIseUJBQXVCO01BQXZCLGdDQUF1QjtNQUF2QixzQkFBdUI7TUFBdkIsd0JBQXVCO01BQ3ZCLGlCQUFnQjtNQUNoQix3QkFBdUIsRUFTeEI7TUE1Qkw7UUFxQlEsa0JBQWlCLEVBQ2xCO01BdEJQO1FKbEtFLDBCSTBMK0M7UUp6TC9DLG1CSXlMdUQ7UUp4THZELGtCSXdMNEQ7UUpyTDFELGdCSXFMa0M7UUpwS3BDLG9CSXFLMEM7UUpwSzFDLHVGQUErRTtRQUMvRSw2R0FBcUQ7UUFBckQsdUVBQXFEO1FBQXJELGtFQUFxRDtRQUFyRCw2REFBcUQ7UUFDckQsOEJBQTZCO1FBQzdCLHFDQUFvQztRQXdCcEMsK0RBQTBEO1FBQTFELHVEQUEwRCxFSTJJckQ7SUEzQlA7TUErQk0scUJBQWE7TUFBYixzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLHdCQUFlO01BQWYsb0JBQWU7TUFBZixnQkFBZTtNQUNmLGdCQUFlO01BQ2YsZ0JBQWUsRUE2QmhCO01BL0RMO1FBb0NRLG9CQUFtQjtRQUNuQixrQ0FBaUM7UUFDakMsd0JBQXVCO1FKek03QixlSTBNaUM7UUp6TWpDLDBCSXlNa0Q7UUp2TWxELGtCSXVNOEQ7UUpwTTVELGdCSW9NcUMsRUF1QmxDO1FBOURQO1VBeUNVLGFBQVksRUFDYjtRQTFDVDtVQTRDVSw0REFBMkQsRUFFNUQ7UUE5Q1Q7VUFnRFUsNkRBQTRELEVBQzdEO1FBakRUO1VBbURVLGVBQWM7VUFDZCx1QkFBc0I7VUFDdEIsOERBQTZEO1VBQzdELGVBQWMsRUFPZjtVQTdEVDtZQXlEWSxvRUFBbUU7WUFFbkUsZUFBYyxFQUNmO0lBNURYO01BaUVNLGVBQWM7TUFDZCxrQkFBaUI7TUFDakIsNkJBQW9CO01BQXBCLHdCQUFvQjtNQUFwQixxQkFBb0I7TUFDcEIsb0JBQW1CLEVBSXBCO01BeEVMO1FBc0VRLGlDQUF3QjtRQUF4Qix5QkFBd0IsRUFDekI7RUF2RVA7SUFnSkksWUFBVyxFQWFaO0lBN0pIO01Ba0pNLGVBQWMsRUFDZjtJQW5KTDtNQXNKTSxlQUFjO01BQ2QseUJBQXdCLEVBQ3pCO0lBeEpMO01BMEpNLGdCQUFlLEVBQ2hCO0VBM0pMO0lBK0pJLGFBQVk7SUFDWixjQUFhO0lBQ2IsWUFBVztJQUNYLHNCQUFxQjtJQUVyQiwyQkFBa0I7SUFBbEIsbUJBQWtCLEVBU25CO0lBN0tIO01Bc0tNLFlBQVcsRUFDWjtJQXZLTDtNQXlLTSxZQUFXO01BQ1gsZ0JBQWU7TUFDZixhQUFZLEVBQ2I7RUE1S0w7SUErS0ksbUJBQWtCO0lBQ2xCLGVBQWM7SUFDZCxnQkFBZTtJQUNmLGtCQUFpQixFQWlCbEI7SUFuTUg7TUpuS0UsZUl1VitCO01KdFYvQix3QkFGNEU7TUFHNUUsb0JBSGlHO01BSWpHLG9CQUpzSDtNQU9wSCxnQklpVm1DLEVBSWxDO01BeExMO1FBc0xRLGVBQWMsRUFDZjtJQXZMUDtNQTBMTSxZQUFXO01BQ1gsaUJBQWdCLEVBQ2pCO0lBNUxMO01KbktFLGVJaVcrQjtNSmhXL0Isd0JBRjRFO01BRzVFLG9CQUhpRztNQUlqRyxvQkFKc0g7TUFPcEgsZ0JJMlZtQyxFQUlsQztNQWxNTDtRQWdNUSxzQ0FBcUMsRUFDdEM7RUFqTVA7SUFzTUksb0JBQW1CO0lBQ25CLGFBQVk7SUFDWixhQUFZO0lBQ1osMEJBQXlCO0lBQ3pCLGlCQUFnQjtJQUNoQixhQUFZO0lBQ1osZUFBYztJQUNkLGdCQUFlLEVBQ2hCO0VBOU1IO0lBaU5JLGVBQWM7SUFDZCxnQkFBZTtJQUNmLGFBQVksRUFDYjtFQXBOSDtJQXVOSSxZQUFXO0lBQ1gsWUFBVztJQUNYLGFBQVk7SUFDWiw0Q0FBMkM7SUFDM0MsYUFBWTtJQUNaLGFBQVksRUFFYjtFQTlOSDtJSjFERSxtQkkwUjRCO0lKclJ4QixVSXFSOEI7SUpyUjlCLFlJcVJtQyxFQUl0QztJQXBPSDtNQWtPTSxrQkFBaUIsRUFDbEI7RUFuT0w7SUF1T0ksbUJBQWtCO0lBQ2xCLG1CQUFrQjtJQUNsQixlQUFjLEVBOENmO0lBdlJIO01BMk9NLFVBQVM7TUFDVCxpQkFBZ0I7TUFDaEIsZ0JBQWU7TUFDZixxQkFBYTtNQUFiLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsMEJBQW1CO01BQW5CLDRCQUFtQjtNQUFuQix1QkFBbUI7TUFBbkIsb0JBQW1CLEVBQ3BCO0lBaFBMO01BbVBNLGFBQVk7TUFDWixzQkFBcUI7TUFDckIsb0JBQW1CO01KeFp2QixlSXlaK0I7TUp0Wi9CLGtCSXNadUQ7TUpuWnJELGdCSW1abUM7TUFDakMsMkJBQXVCO01BQXZCLHdCQUF1QjtNQUN2QixpQkFBZ0I7TUFDaEIsb0JBQW1CLEVBQ3BCO0lBMVBMO01BNFBNLGFBQVk7TUFDWixzQkFBcUI7TUFDckIsZ0JBQWU7TUpqYW5CLGVJa2ErQjtNSi9aL0Isa0JJK1p1RDtNSjVackQsZ0JJNFptQztNQUNqQyxtQkFBa0IsRUFJbkI7TUFwUUw7UUFrUVEsc0NBQXFDLEVBQ3RDO0lBblFQO01Bc1FNLDJEQUEwRDtNSnphOUQsZUkwYStCO01KemEvQiwwQkl5YWdEO01KeGFoRCxtQkl3YXdEO01KdmF4RCxrQkl1YThEO01KcGE1RCxnQklvYW1DO01BQ2pDLGtCQUFpQjtNQUNqQixhQUFZO01BQ1osWUFBVztNQUNYLDJCQUFrQjtNQUFsQixtQkFBa0I7TUFDbEIsbUJBQWtCO01BQ2xCLG1CQUFrQixFQVNuQjtFQXRSTDtJQTBSSSxxQkFBb0I7SUFDcEIsNkJBQW9CO0lBQXBCLHdCQUFvQjtJQUFwQixxQkFBb0IsRUFJckI7SUEvUkg7TUE2Uk0saUNBQXdCO01BQXhCLHlCQUF3QixFQUN6QjtFQTlSTDtJQWtTSSxpQkFBZ0I7SUFDaEIsMEJBQXlCO0lBQ3pCLGFBQVk7SUFDWixZQUFXO0lBQ1gsYUFBWTtJQUNaLG1CQUFrQixFQU1uQjtJQTdTSDtNQXlTTSxlQUFjO01BQ2QsZUFBYztNQUNkLGtCQUFpQixFQUNsQjtFQTVTTDtJQWdUSSwyQkFBa0I7SUFBbEIsbUJBQWtCO0lBQ2xCLGNBQWE7SUFDYixpQkFBZ0IsRUFFakI7RUFwVEg7SUFzVEksb0JBQW1CO0lBQ25CLGVBQWMsRUFDZjtFQXhUSDtJQTJUSSxZQUFXO0lBQ1gsYUFBWTtJQUNaLGtCQUFpQjtJSmhlbkIsWUlpZTBCO0lKaGUxQiwyQklnZTRDO0lKL2Q1QyxtQkkrZG9EO0lKOWRwRCxvQkFKc0g7SUFPcEgsZ0JJMmQ4QjtJQUM5QixtRUFBa0U7SUFDbEUsYUFBWTtJQUNaLGdCQUFlO0lBQ2YsZUFBYztJQUNkLGVBQWMsRUFDZjs7QVZuZSt3RTtFWVg5d0UsbUVBQW1FO0VBQ25FLGFBQUssRUFDUjs7QUFFRDtFQUNJLGdCZkRrQjtFZUVsQix1QkFBc0IsRUFDekI7O0FkRUQ7RWNDSSxxQ0FBNkM7RUFDN0MsMEJBQTRCO0VBQzVCLDRCQUFtQztFQUNuQyw0QkFBbUM7RUFDbkMsMkJBQW1DO0VEcU9qQyxnQkF2RStCLEVDNUpwQzs7QUpKRDtFSVFJLDZCQUFvQjtFQUFwQix3QkFBb0I7RUFBcEIscUJBQW9CO0VBQ3BCLDhCQUE2QjtFQUM3QixnQkFBZTtFQUNmLGVmdEJtQjtFZXVCbkIsc0JBQXFCLEVBT3hCO0VBWkQ7SUFRUSxpQ0FBZ0M7SUFDaEMsY0FBYTtJQUNiLGVmM0IwQyxFZTRCN0M7O0FBR0w7RUFDSSxjQUFhLEVBSWhCO0VOdUNDO0lNNUNGO01BR1EsZUFBYyxFQUVyQixFQUFBOztBQUVEO0VBQ0ksZUFBYyxFQUlqQjtFTmdDQztJTXJDRjtNQUdRLGNBQWEsRUFFcEIsRUFBQTs7QUFFRDtFQUNJLDRDQUFrQztFQUFsQyxvQ0FBa0MsRUFDckM7O0FKRkQ7RUlJSSxxQ0FBNEI7RUFBNUIsNkJBQTRCLEVBQy9COztBQ3JERCxrQ0FBa0M7QUE0QmxDLG1CQUFtQjtBQUtuQixzQkFBc0I7QUFVdEIsc0NBQXNDO0FBRXRDLGFBQWE7QUFDYjtFRjBNUSxxQ0FmNkI7RUV4TG5DLFlBQVc7RUFDWCxvQkFBbUI7RUFDbkIsa0JBQWlCO0VBQ2pCLGVBbkRrQjtFQW1VbEIsaUJBQWlCO0VBdUNqQixzQkFBc0I7RUFFdEIsa0JBQWtCO0VBMkRsQixnQkFBZ0I7RUF3Q2hCLGlCQUFpQixFQTZIbEI7RUZ2Zkc7SUV4Q0o7TUZpTlEsb0JBbEY2QixFRWdhcEMsRUFBQTtFQS9oQkQ7SUFVSSxxQkE1Q29CO0lBNkNwQixlQTlDYztJQStDZCxlQUFjO0lBQ2Qsa0JBQWlCO0lBQ2pCLG1CQUFrQjtJQUNsQixxQkFBb0IsRUFFckI7RUFqQkg7SUFvQkksZUFoRXdCO0lBaUV4QiwyQkFBMEIsRUFNM0I7SUEzQkg7TUF3Qk0sZUFuRTRCO01Bb0U1QixzQkFBcUIsRUFDdEI7RUExQkw7SUE4QkksaUJBQWdCLEVBQ2pCO0VBL0JIO0lBa0NJLGlCQUFnQjtJQUNoQixpQkFBZ0IsRUFZakI7SUEvQ0g7TUFzQ00saUJBQWdCO01BQ2hCLG1CQUFrQjtNQUNsQixxQkFBb0IsRUFNckI7TUE5Q0w7UUEyQ1EsbUJBQWtCO1FBQ2xCLG9CQUFtQixFQUNwQjtFQTdDUDtJQWtESSxpQkFBZ0I7SUFDaEIsb0JBQW1CLEVBTXBCO0lBekRIO01Bc0RNLGlCQUFnQjtNQUNoQiwrQkFBOEIsRUFDL0I7RUF4REw7SUE0REksc0JBQXFCO0lBQ3JCLGlCQUFnQjtJQUNoQiw4QkFBNkIsRUE0RDlCO0lBMUhIO01BaUVNLFlBQVc7TUFDWCxXQUFVO01BQ1YscUJBQW9CO01BQ3BCLGlCQUFnQjtNQUNoQixpQkFBZ0IsRUFvRGpCO01QekZIO1FPaENGO1VBd0VRLFdBQVU7VUFDVixpQkFBZ0IsRUFnRG5CLEVBQUE7TVB6Rkg7UU9oQ0Y7VUE2RVEsV0FBVTtVQUNWLGlCQUFnQixFQTJDbkIsRUFBQTtNUHpGSDtRT2hDRjtVQWtGUSxXQUFVO1VBQ1YsaUJBQWdCLEVBc0NuQixFQUFBO01BekhMO1FBdUZRLHNCQUFxQjtRQUNyQixtQkFBa0I7UUFDbEIsa0JBQWlCO1FBQ2pCLG1CQUFrQjtRQUNsQixlQXZJb0IsRUFtSnJCO1FBdkdQO1VBNkZVLFlBQVc7VUFDWCxXQUFVO1VBQ1YsWUFBVztVQUNYLDBCQTVJa0I7VUE2SWxCLG1CQUFrQjtVQUNsQixTQUFRO1VBQ1IsUUFBTztVQUNQLGlDQUF3QjtVQUF4Qiw2QkFBd0I7VUFBeEIseUJBQXdCLEVBRXpCO01BdEdUOzs7UUE0R1EsZUF2SjBCLEVBbUszQjtRQXhIUDs7O1VBK0dVLFlBQVc7VUFDWCxtQkFBa0I7VUFDbEIsU0FBUTtVQUNSLFFBQU87VUFDUCxvQkE5SndCO1VBK0p4QiwwQkEvSndCO1VBZ0t4QixpQ0FBd0I7VUFBeEIsNkJBQXdCO1VBQXhCLHlCQUF3QjtVQUN4QixlaEJqS3dDLEVnQmtLekM7RUF2SFQ7SUE2SEkscUJBQW9CO0lBQ3BCLGtCQUFpQjtJQUNqQixnQkFBZTtJQUNmLGtCQUFpQjtJQUNqQixZQUFXO0lBQ1gsZUExS3dCLEVBMkt6QjtFQW5JSDtJQXNJSSxxQkFBb0I7SUFDcEIsWUFBVyxFQUNaO0VBeElIO0lBMklJLG1CQUFrQjtJQUNsQixvQkFBbUIsRUFDcEI7RUE3SUg7SUFnSkksOEJBQTZCO0lBQzdCLCtCQUE4QjtJQUM5QixlQUFjO0lBQ2QsbUJBQWtCLEVBQ25CO0VBcEpIO0lBeUpJLGVBekxjO0lBMExkLDBCQXpMYTtJQTBMYixnQkFBZTtJQUNmLGtCQUFpQjtJQUNqQixvQkFBbUI7SUFDbkIsMkRBQTBELEVBQzNEO0VBL0pIO0lBa0tJLFlBQVc7SUFDWCxzQkFsTWE7SUFtTWIsbUJBQWtCLEVBT25CO0lBM0tIO01BdUtNLG9CQUFtQjtNQUNuQix3QkFBd0IsRUFFekI7RUExS0w7SUE4S0ksbUJBQWtCO0lBQ2xCLHNCQTlNYSxFQStNZDtFQWhMSDtJQW9MSSxlQWpOYztJQWtOZCwwQkFqTmE7SUFrTmIsc0JBck5hO0lBc05iLGdCQUFlO0lBQ2Ysa0JBQWlCO0lBQ2pCLGlFQUFnRSxFQUNqRTtFQTFMSDtJQTZMSSxZQUFXO0lBQ1gsbUJBQXVDO0lBQ3ZDLGtCQUFpQixFQU9sQjtJQXRNSDtNQWtNTSxvQkFBbUI7TUFDbkIsb0JBQW1CLEVBRXBCO0VBck1MO0lBeU1JLG1CQUFrQjtJQUNsQixzQkF0T2EsRUF1T2Q7RUEzTUg7SUErTUksOEJBdk93QjtJQXdPeEIsb0JBQW1CO0lBQ25CLDBCQUF5QixFQTRDMUI7SUE3UEg7TUFzTlUsZUEvT2dCO01BZ1BoQixvQkFqUHFCO01Ba1ByQixvQkFBbUI7TUFDbkIsbUJBQWtCO01BQ2xCLGdDQWxQa0I7TUFtUGxCLCtCQW5Qa0I7TUFvUGxCLGlDQXBQa0I7TUFxUGxCLG1CQUFrQixFQUNuQjtJQTlOVDtNQXFPVSwwQkE1UGdCLEVBNlBqQjtJQXRPVDtNQXlPVSwwQkEvUGdCLEVBZ1FqQjtJQTFPVDtNQTZPVSxtQkFBa0I7TUFDbEIsMEJBdFFrQjtNQXVRbEIsaUJBQWdCO01BQ2hCLGVBclFnQixFQThRakI7TUF6UFQ7UUFtUFksZUF4UWMsRUE2UWY7UUF4UFg7VUFzUGMsZWhCalNvQyxFZ0JrU3JDO0VBdlBiO0lBZ1FJLDBCQXhSd0IsRUE0U3pCO0lBcFJIO01Bb1FRLG1CQUFrQjtNQUNsQiwwQkE3Um9CLEVBd1NyQjtNQWhSUDtRQXdRVSxvQkFBbUIsRUFDcEI7TUF6UVQ7O1FBNlFVLG9CQUFtQjtRQUNuQixtQkFBa0IsRUFDbkI7RUEvUVQ7SUF3UkksbUJBQWtCLEVBQ25CO0VBelJIO0lBNFJJLGtCQUFpQixFQUNsQjtFQTdSSDtJQWdTSSxvQkFBbUI7SUFDbkIsZUF4VW9CLEVBeVVyQjtFQWxTSDtJQXFTSSxvQkFBbUI7SUFDbkIsZUE1VW9CLEVBNlVyQjtFQXZTSDtJQTBTSSxvQkFBbUI7SUFDbkIsZUFoVm9CLEVBaVZyQjtFQTVTSDtJQStTSSxnQkFBZSxFQUVoQjtFQWpUSDtJQW9USSxnQkFBZSxFQUVoQjtFQXRUSDtJQXlUSSxnQkFBZSxFQUVoQjtFQTNUSDtJQWlVSSxhQUFZO0lBQ1osaUJBQWdCO0lBQ2hCLFdBQVUsRUFDWDtFQXBVSDtJQXVVSSxpQkF2VnlCO0lBd1Z6Qix1QkF6VnFCO0lBMFZyQixhQUFZLEVBQ2I7RUExVUg7SUE2VUksWUFBVztJQUNYLHVCQUFzQjtJQUN0Qix1QkFoV3FCLEVBaVd0QjtFQWhWSDtJQW1WSSxhQUFZO0lBQ1oscUJBQW9CO0lBQ3BCLHVCQXRXcUIsRUF1V3RCO0VBdFZIO0lBMFZJLCtCQWxYd0I7SUFtWHhCLGdCQUFlO0lBQ2YsZUFBYztJQUNkLG1CQUFrQjtJQUNsQixVQUFTO0lBQ1QsbUJBQWtCO0lBQ2xCLG1CQUFrQixFQXdCbkI7SUF4WEg7TUFvV00sbUJBQWtCO01BQ2xCLGVBQWM7TUFDZCxZQUFXO01BQ1gsYUFBWTtNQUNaLFlBQVcsRUFDWjtJQXpXTDtNQTRXTSxPQUFNO01BQ04sV0FBVTtNQUNWLHlCQUF3QixFQUN6QjtJQS9XTDtNQWtYTSxTQUFRO01BQ1IsVUFBUztNQUNULDZCQUE0QixFQUM3QjtFQXJYTDtJQTRYSSwwQkFwWW1CO0lBcVluQixjQUFhO0lBQ2Isb0JBdll1QixFQXdheEI7SUEvWkg7TUFpWU0sZ0JBQWU7TUFDZixvQkFBbUI7TUFDbkIsZ0JBQWU7TUFDZixZQTlZYTtNQStZYixvQkFqWnFCO01Ba1pyQixhQUFZO01BQ1oscUJBQW9CO01BQ3BCLFlBQVc7TUFDWCwwQkFwWmlCLEVBcVpsQjtJQTFZTDtNQTZZTSxZQUFXO01BQ1gsaUJBQWdCO01BQ2hCLG9CQUFtQjtNQUNuQixlQXZaZ0IsRUFxYWpCO01BOVpMO1FBb1pVLGVBMVppQixFQWthcEI7UUE1WlA7VUF5WlksZUE5WnFCLEVBZ2F4QjtFQTNaVDtJQW9hSSx5QkFBd0IsRUFXekI7SUEvYUg7TUF1YU0seUJBQXdCO01BQ3hCLG9CQUFtQjtNQUNuQixvQkFBbUIsRUFLcEI7TUE5YUw7UUE0YVEsaUJBQWdCLEVBQ2pCO0VBN2FQO0lBa2JJLHlCQUF3QixFQVd6QjtJQTdiSDtNQXFiTSw2QkFBNEI7TUFDNUIsb0JBQW1CO01BQ25CLG9CQUFtQixFQUtwQjtNQTViTDtRQTBiUSxpQkFBZ0IsRUFDakI7RUEzYlA7SUFnY0kseUJBQXdCLEVBV3pCO0lBM2NIO01BbWNNLDZCQUE0QjtNQUM1QixvQkFBbUI7TUFDbkIsb0JBQW1CLEVBS3BCO01BMWNMO1FBd2NRLGlCQUFnQixFQUNqQjtFQXpjUDtJQThjSSx5QkFBd0IsRUE4QnpCO0lBNWVIO01BaWRNLG9CQUFtQjtNQUNuQixtQkFBa0I7TUFDbEIsc0JBQXFCO01BQ3JCLG9CQUFtQjtNQUNuQixtQkFBa0IsRUFzQm5CO01BM2VMO1FBd2RRLGVBQWM7UUFDZCxpQkFBZ0I7UUFDaEIsbUNBQWtDO1FBQ2xDLG1CQUFrQjtRQUNsQixTQUFRO1FBQ1IsUUFBTztRQUNQLGlDQUF3QjtRQUF4Qiw2QkFBd0I7UUFBeEIseUJBQXdCLEVBQ3pCO01BL2RQO1FBa2VRLGlCQUFnQixFQUNqQjtNQW5lUDtRQXNlUSw2QkFBNEI7UUFDNUIsb0JBQW1CO1FBQ25CLGlCQUFnQjtRQUNoQixrQkFBaUIsRUFDbEI7RUExZVA7SUErZUkseUJBQXdCLEVBc0J6QjtJQXJnQkg7TUFrZk0sb0JBQW1CO01BQ25CLG1CQUFrQjtNQUNsQixzQkFBcUI7TUFDckIsb0JBQW1CO01BQ25CLG1CQUFrQixFQWNuQjtNQXBnQkw7UUF5ZlEsZUFBYztRQUNkLGlCQUFnQjtRQUNoQixtQ0FBa0M7UUFDbEMsbUJBQWtCO1FBQ2xCLFNBQVE7UUFDUixRQUFPLEVBQ1I7TUEvZlA7UUFrZ0JRLGlCQUFnQixFQUNqQjtFQW5nQlA7SUF3Z0JJLHlCQUF3QixFQXNCekI7SUE5aEJIO01BMmdCTSxzQkFBcUI7TUFDckIsbUJBQWtCO01BQ2xCLG9CQUFtQjtNQUNuQixvQkFBbUI7TUFDbkIsbUJBQWtCLEVBY25CO01BN2hCTDtRQWtoQlEsZUFBYztRQUNkLGlCQUFnQjtRQUNoQixtQ0FBa0M7UUFDbEMsbUJBQWtCO1FBQ2xCLFNBQVE7UUFDUixRQUFPLEVBQ1I7TUF4aEJQO1FBMmhCUSxpQkFBZ0IsRUFDakI7O0FmaGtCUDtFZ0JURSxvQkFBbUI7RUFDbkIsbUJBQWtCLEVBa0VuQjtFQXBFRDtJQUlJLHVEQUFzRDtJQUN0RCxtQkFBa0IsRUE2Q25CO0lBbERIO01BT00seUhBQXdIO01BQ3hILG1DQUFxQjtNQUFyQixzQkFBcUIsRUFDdEI7SUFUTDtNQVdNLDhEQUE2RDtNQUM3RCxlQUFjLEVBSWY7TUFoQkw7UUFjUSxVQUFTLEVBQ1Y7SUFmUDtNQWtCTSxjQUFhO01BQ2IsaUVBQWtFO01BQ2xFLHFCQUFhO01BQWIsc0JBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWE7TUFDYix5QkFBdUI7TUFBdkIsZ0NBQXVCO01BQXZCLHNCQUF1QjtNQUF2Qix3QkFBdUI7TUFDdkIsMEJBQW1CO01BQW5CLDRCQUFtQjtNQUFuQix1QkFBbUI7TUFBbkIsb0JBQW1CO01BQ25CLDZCQUFpQjtNQUFqQiw4QkFBaUI7TUFBakIsMEJBQWlCO01BQWpCLHNCQUFpQjtNQUFqQixrQkFBaUIsRUEwQmxCO01BakRMO1FBMEJRLFFBQU87UUFDUCxVQUFTO1FBQ1Qsb0NBQTJCO1FBQTNCLGdDQUEyQjtRQUEzQiw0QkFBMkIsRUFJNUI7UVI4Q0w7VVE5RUY7WUE4QlUsZUFBYyxFQUVqQixFQUFBO01BaENQO1FSaUhFLG1CUS9FZ0M7UVJvRjVCLHNCUXBGOEM7UVJvRjlDLFVRcEY0RDtRQUMxRCxvQ0FBMkI7UUFBM0IsZ0NBQTJCO1FBQTNCLDRCQUEyQjtRQUMzQixlQUFjO1FBQ2QsYUFBWTtRQUNaLGFBQVk7UUFDWixrQkFBaUI7UUFDakIsa0VBQWlFO1FSaEN2RSxlUWlDaUM7UVJoQ2pDLDBCUWdDa0Q7UVIvQmxELG1CUStCMEQ7UVI5QjFELG9CQUpzSDtRQU9wSCxnQlEyQnFDO1FBQ2pDLHVCQUFzQjtRQUN0Qix5Q0FBZ0M7UUFBaEMsb0NBQWdDO1FBQWhDLGlDQUFnQztRQUNoQyxpQ0FBZ0MsRUFJakM7UUFoRFA7VUE4Q1Usd0VBQXVFLEVBQ3hFO0VBL0NUO0lBb0RJLG1CQUFrQixFQUNuQjtFQXJESDtJQXVESSxtQkFBa0I7SUFDbEIsb0JBQW1CLEVBQ3BCO0VBekRIO0lBNERNLGNBQWE7SUFDYixxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2Isb0JBQW1CO0lBQ25CLGlCQUFnQjtJQUNoQix5REFBd0QsRUFDekQ7O0FBS0w7RUFDRSxhQUFZO0VBQ1osbUJBQWtCO0VBQ2xCLFdBQVU7RUFDVixtQkFBa0IsRUF3Q25CO0VBNUNEO0lBTUksaUJBQWdCO0lBQ2hCLGVBQWMsRUFVZjtJQWpCSDtNQVNNLGVBQWMsRUFPZjtFQWhCTDtJQW1CSSxVQUFTO0lBQ1Qsb0NBQTJCO0lBQTNCLGdDQUEyQjtJQUEzQiw0QkFBMkI7SUFDM0IsWUFBVyxFQWFaO0lBbENIO01BdUJNLFlBQVc7TUFDWCxhQUFZO01BQ1osc0VBQXFFO01BQ3JFLFdBQVU7TUFDVixZQUFXLEVBQ1o7SUE1Qkw7TUE4Qk0sWUFBVztNQUNYLGFBQVk7TUFDWiw0RUFBMkUsRUFDNUU7RUFqQ0w7SUFvQ0ksWUFBVztJQUNYLGFBQVk7SUFDWixxQ0FBb0M7SUFDcEMsc0JBQXFCLEVBQ3RCO0VBeENIO0lBMENJLHFDQUFvQyxFQUNyQzs7QUFHSDtFQUNFLGFBQVk7RUFDWixxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isd0JBQWU7RUFBZixvQkFBZTtFQUFmLGdCQUFlO0VBQ2YsMEJBQW1CO0VBQW5CLDRCQUFtQjtFQUFuQix1QkFBbUI7RUFBbkIsb0JBQW1CO0VBQ25CLHlCQUF1QjtFQUF2QixnQ0FBdUI7RUFBdkIsc0JBQXVCO0VBQXZCLHdCQUF1QjtFQUN2Qiw2QkFBaUI7RUFBakIsOEJBQWlCO0VBQWpCLDBCQUFpQjtFQUFqQixzQkFBaUI7RUFBakIsa0JBQWlCO0VBQ2pCLGlCQUFnQixFQU9qQjtFQWREO0lBU0ksb0JBQW1CLEVBQ3BCO0VBVkg7SUFZSSxpQ0FBd0I7SUFBeEIseUJBQXdCLEVBQ3pCOztBQUlILGdCQUFnQjtBQWlCaEI7RUFDRSxtQkFBa0I7RUFDbEIsYUFBWTtFQUVaLDZCQUE0QjtFQUM1QixtQkFBa0I7RUFDbEIsV0FBVSxFQXlDWDtFQXRDQztJQUNFLGlCQUFnQjtJQUNoQixpQkFBZ0I7SUFDaEIscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLHlCQUF1QjtJQUF2QixnQ0FBdUI7SUFBdkIsc0JBQXVCO0lBQXZCLHdCQUF1QjtJQUN2QixpQ0FBZ0MsRUE0QmpDO0lBakNBO01BVUssYUFBWTtNQUNaLGtCQUFpQjtNQUNqQixlQUFjO01BQ2QsMEJBQXlCO01ScEsvQixlUWtJc0I7TVJqSXRCLDBCUW9LbUU7TVJuS25FLG1CUW1LMkU7TVJsSzNFLG9CQUpzSDtNQU9wSCxnQlE4SGU7TUFrQ1gsd0JBeENrQjtNQXlDbEIscUJBQW9CO01BR3BCLGFBQVksRUFPYjtNQTFCSjtRQXVCTyxlQTNDb0I7UUE0Q3BCLGlDQTlDc0IsRUErQ3ZCO0lBekJOO01BNkJPLG1CQUFrQixFQUNuQjtFQXZDVDtJQTZDSSxnQkFBZSxFQUNoQjs7QUFFSDtFQUNFLGFBQVk7RUFDWixrQkFBaUI7RVJoTWpCLGVRaU0yQjtFUmhNM0IsMEJRZ000QztFUi9MNUMsbUJRK0xvRDtFUjlMcEQsa0JROEx5RDtFUjNMdkQsZ0JRMkwrQjtFQUNqQywwQkFBeUI7RUFDekIsc0JBQXFCLEVBQ3RCOztBQUdEO0VBQ0UsZUFBYyxFQStDZjtFQWhERDtJQUdJLGNBQWE7SUFDYixlQUFjO0lBQ2QsYUFBWTtJQUNaLGNBQWEsRUF5Q2Q7SUEvQ0g7TUFRTSxjQUFhLEVBQ2Q7SUFUTDtNQWVRLG1CQUFrQjtNQUNsQixXQUFVO01BQ1YseUNBQWdDO01BQWhDLG9DQUFnQztNQUFoQyxpQ0FBZ0MsRUFDakM7SUFsQlA7TUFxQlEsbUJBQWtCO01BQ2xCLE9BQU07TUFDTixRQUFPO01BRVAseUNBQWdDO01BQWhDLG9DQUFnQztNQUFoQyxpQ0FBZ0MsRUFDakM7SUExQlA7TUE0QlEsc0JBQXFCLEVBRXRCO0lBOUJQO01BZ0NRLDBEQUF5RCxFQWExRDtNQTdDUDtRQWtDVSxXQUFVO1FBQ1YsZUFBYyxFQUNmO01BcENUO1FBdUNVLFdBQVU7UUFDVixXQUFVO1FBQ1YsY0FBYSxFQUVkOztBQU9ULGlCQUFpQjtBQUNqQjtFQUNFLFVBQVM7RUFDVCxnQkFBZSxFQWtGaEI7RUFwRkQ7SUFJSSxZQUFXO0lBQ1gsaUJBQWdCO0lBQ2hCLGtCQUFpQjtJQUNqQixrQkFBaUI7SUFDakIsbUJBQWtCLEVBMkVuQjtJQW5GSDtNQVVNLGlDQUFnQyxFQUNqQztJQVhMO01BY00sb0JBQW1CO01BQ25CLG9CQUFtQixFQXlCcEI7TUF4Q0w7UUFpQlEsWUFBVztRQUNYLFlBQVc7UUFDWCxxQkFBYTtRQUFiLHNCQUFhO1FBQWIscUJBQWE7UUFBYixjQUFhO1FBQ2IsZUF2SXVCO1FBd0l2Qix1QkF6SWdDO1FBMEloQyxnQkFBZSxFQWlCaEI7UUF2Q1A7VUF3QlUsZUExSTJCLEVBOEk1QjtVQTVCVDtZQTBCWSxlQTVJeUIsRUE2STFCO1FBM0JYO1VBK0JVLGVBbEpxQjtVQW1KckIsVUFBUyxFQUNWO1FBakNUO1VBbUNVLG9CQUFtQjtVQUNuQiwwQkFBeUI7VUFDekIsa0JBQWlCLEVBQ2xCO0lBdENUO01BMkNNLFlBQVc7TUFDWCx1QkFBc0I7TUFDdEIsYUFBWSxFQUtiO01BbERMO1FBZ0RRLDBCQUF5QixFQUMxQjtJQWpEUDtNQXFETSwwQkFBeUI7TUFDekIsZUFwS2tCO01BcUtsQixZQUFXO01SalJmLHFCQUFvQjtNQUNwQiw2QkFBNEI7TUFDNUIsc0JRZ1I0QjtNUi9RNUIsaUJBQWdCO01BQ2hCLDZCQUE0QixFUStRekI7SUF6REw7TUE0RE0sZUE3S21CO01BOEtuQixZQUFXLEVBYVo7TUExRUw7O1FBZ0VRLGVBaEx1QixFQWlMeEI7TUFqRVA7UUFvRVEseUJBQXdCO1FBQ3hCLDJCQUF1QjtRQUF2Qix3QkFBdUI7UUFDdkIsaUJBQWdCO1FBQ2hCLGVBQWM7UUFDZCxvQkFBbUIsRUFDcEI7SUF6RVA7TUE2RU0sZUE5TG1CO01BK0xuQixtQkFBa0I7TUFDbEIsWUFBVztNQUNYLFNBQVE7TUFDUixrQkFBaUIsRUFDbEI7O0FBSUw7RUFDRSxzQkFBcUI7RUFDckIsZUFBYztFQUNkLGdCQUFlO0VBQ2YsYUFBWTtFQUNaLG9CQUFtQjtFQUVuQixxQkFBb0I7RUFDcEIsbUJBQWtCO0VBQ2xCLGtCQUFpQixFQVVsQjs7QUFFRDtFQUNFLHFCQUFhO0VBQWIsc0JBQWE7RUFBYixxQkFBYTtFQUFiLGNBQWE7RUFDYix5QkFBdUI7RUFBdkIsZ0NBQXVCO0VBQXZCLHNCQUF1QjtFQUF2Qix3QkFBdUI7RVI5UHZCLG1CUStQMEI7RVIxUHRCLFNRMFA4QjtFUjFQOUIsYVEwUG1DO0VSMVBuQyxRUTBQcUMsRUFRMUM7RUFYRDtJQUtJLGVBQWM7SUFDZCxjQUFhLEVBSWQ7SUFWSDtNQVFNLGlDQUF3QjtNQUF4Qix5QkFBd0IsRUFDekI7O0FBSUwscUJBQXFCO0FBQ3JCO0VBQ0UsbUJBQWtCO0VBQ2xCLGlCQUFnQixFQTBJakI7RUE1SUQ7SUFLSSxtQkFBa0IsRUFFbkI7RUFDRDtJQUNFLHFCQUFhO0lBQWIsc0JBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7SVJuUmYsbUJRb1I0QjtJUi9ReEIsV1ErUStCO0lSL1EvQixZUStRK0M7SUFDakQsV0FBVSxFQWtCWDtJQXJCQTtNQUtHLGNBQWEsRUFlZDtNQXBCRjtRQU9LLGVBQWM7UUFDZCxhQUFZO1FBQ1osYUFBWTtRQUNaLGtCQUFpQjtRQUNqQix3QkFBdUI7UVJ0WTdCLFlRdVk4QjtRUnRZOUIsMkJRc1lnRDtRUnJZaEQsbUJRcVl3RDtRUnBZeEQsb0JBSnNIO1FBT3BILGdCUWlZa0M7UUFDOUIsbUVBQWtFO1FBQ2xFLDhCQUE2QixFQUs5QjtRQW5CSjtVQWlCTyxpQ0FBd0I7VUFBeEIseUJBQXdCLEVBQ3pCO0VBMUJUO0lBZ0NJLG1CQUFrQixFQUNuQjtFQUdEO0lBQ0Usa0JBQWlCO0lBQ2pCLGVBQWM7SUFDZCxtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLFdBQVU7SUFDVixXQUFVLEVBdUNYO0lBN0NBO01BUUcsWUFBVztNQUNYLFlBQVc7TUFDWCxhQUFZO01BQ1osa0VBQWlFO01BQ2pFLFdBQVU7TVIxVGQsbUJRMlQ4QjtNUnRUMUIsT1FzVDZCO01SdFQ3QixVUXNUMkM7TUFDM0Msb0NBQTJCO01BQTNCLGdDQUEyQjtNQUEzQiw0QkFBMkIsRUFDNUI7SUFmRjtNQWlCRyxZQUFXO01BQ1gsWUFBVztNQUNYLGFBQVk7TUFDWixrRUFBaUU7TUFDakUsV0FBVTtNUm5VZCxtQlFvVThCO01SL1QxQixZUStUeUM7TVIvVHpDLFVRK1Q2QztNQUM3QyxtREFBMEM7TUFBMUMsK0NBQTBDO01BQTFDLDJDQUEwQyxFQUUzQztJQXpCRjtNQTJCRyxnQkFBZTtNQUNmLG1CQUFrQjtNQUNsQixpQkFBZ0IsRUFNakI7TUFuQ0Y7UUErQkssK0JBQThCO1FBQzlCLHNCQUFzQjtRQUN0Qix1QkFBc0IsRUFDdkI7SUFsQ0o7O01BdUNLLDhCQUE2QjtNQUM3QixzQkFBc0I7TUFDdEIsc0JBQXFCLEVBQ3RCO0VBS0w7SUFDRSxtQkFBa0I7SUFDbEIscUJBQW9CLEVBc0RyQjtJQXhEQTtNQVdHLHFCQUFhO01BQWIsc0JBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWE7TUFDYix3QkFBc0I7TUFBdEIsK0JBQXNCO01BQXRCLHFCQUFzQjtNQUF0Qix1QkFBc0IsRUEyQ3ZCO01BdkRGO1FBY0ssYUFBWTtRQUNaLGNBQWE7UVI1V25CLG1CUTZXZ0M7UVJ4VzVCLFdRd1dtQztRUnhXbkMsWVF3V21EO1FBQ2pELDBEQUF5RDtRQUN6RCx3QkFBdUI7UVJ0UzdCLHFCQURpRjtRQUVqRixpQ1FzUzBDO1FSdlIxQyxlQUFjLEVRMFRUO1FSeFVMO1VBQXVCLHVDQUF1QztVQUM1RCxXQUorRSxFQUtoRjtRQUVEO1VBQ0Usb0JRZ1N3QztVUi9SeEMsMkJBVCtFO1VBUy9FLG1CQVQrRSxFQVVoRjtRQUVEO1VBQ0UsMEJRMlIrQjtVUjFSL0IsMkJBZCtFO1VBYy9FLG1CQWQrRTtVQWUvRSwwQlF5UitCLEVSeFJoQztRUXFRQTtVQXFCTyw0Q0FBMkM7VVIzZG5ELGVRNGRtQztVUjNkbkMsMkJRMmRxRDtVUjFkckQsb0JBSGlHO1VBSWpHLG9CQUpzSDtVQU9wSCxnQlFzZHVDO1VBQ2pDLGlCQUFnQjtVQUNoQixvQkFBbUIsRUFDcEI7UUF6Qk47VVJ0Y0QsZVFpZW1DO1VSaGVuQywyQlFnZXFEO1VSL2RyRCxvQkFIaUc7VUFJakcsb0JBSnNIO1VBT3BILGdCUTJkdUM7VUFDakMsa0JBQWlCO1VBQ2pCLG1CQUFrQjtVQUNsQixhQUFZLEVBa0JiO1VBaEROO1lBZ0NTLG9CQUFtQixFQUNwQjtVQWpDUjtZQW1DUyxlQUFjO1lBQ2QsaUJBQWdCLEVBQ2pCO1VBckNSO1lBdUNTLHNCQUFxQjtZUjdlL0IsZVE4ZXFDO1lSNWVyQyxvQkFIaUc7WUFJakcsa0JRMmVvRTtZUnhlbEUsZ0JRd2V5QztZQUNqQyxtQkFBa0I7WUFDbEIsb0JBQW1CLEVBRXBCO1FBNUNSO1VSdGNELGVRd2ZtQztVUnZmbkMsd0JBRjRFO1VBRzVFLG9CQUhpRztVQUlqRyxvQkFKc0g7VUFPcEgsZ0JRa2Z1QztVQUNqQyxnQkFBZSxFQUVoQjs7QUFNVCxtQkFBbUI7QUFDbkI7RUFFSSxVQUFTLEVBQ1Y7O0FBRUg7RUFDRSxhQUFZO0VBQ1osY0FBYTtFQUNiLHdCQUF1QjtFQUN2Qiw2QkFBNEI7RUFDNUIsMERBQXlEO0VBQ3pELG1CQUFrQixFQTRDbkI7RUFsREQ7SUFRSSxZQUFXO0lBQ1gsYUFBWTtJQUNaLGFBQVk7SUFDWixvREFBbUQ7SUFDbkQsbUJBQWtCO0lBQ2xCLFVBQVM7SUFDVCxXQUFVO0lBQ1YsV0FBVSxFQUNYO0VBQ0Q7SUFDRSxnQkFBZTtJUmhiakIsbUJRaWI0QjtJUjVheEIsU1E0YTZCO0lSNWE3QixZUTRhNkM7SUFDL0MsV0FBVSxFQUlYO0lBUEE7TUFLRyxpQ0FBd0I7TUFBeEIseUJBQXdCLEVBQ3pCO0VBRUg7SUFDRSxnQkFBZTtJUnhiakIsbUJReWI0QjtJUnBieEIsU1FvYjZCO0lScGI3QixhUW9ibUM7SUFDckMsV0FBVSxFQUlYO0lBUEE7TUFLRyxpQ0FBd0I7TUFBeEIseUJBQXdCLEVBQ3pCO0VBL0JMO0lBa0NJLFVBQVM7SUFDVCxvQ0FBMkI7SUFBM0IsZ0NBQTJCO0lBQTNCLDRCQUEyQjtJQUMzQixjQUFhLEVBYWQ7SUFqREg7TUFzQ00sWUFBVztNQUNYLGFBQVk7TUFDWiwyREFBMEQ7TUFDMUQsV0FBVTtNQUNWLFlBQVcsRUFDWjtJQTNDTDtNQTZDTSxZQUFXO01BQ1gsYUFBWTtNQUNaLGlFQUFnRSxFQUNqRTs7QUFJTDtFQUNFLGNBQWE7RUFDYixvQkFBbUI7RUFDbkIsY0FBYTtFQUNiLHNDQUE2QjtFQUE3QiwwQkFBNkI7RUFBN0IsOEJBQTZCLEVBSTlCO0VSN2ZDO0lRcWZGO01BTUkscUJBQWE7TUFBYixzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYSxFQUVoQixFQUFBOztBQUVEO0VBQ0UsYUFBWTtFQUNaLGNBQWE7RVI5ZGIsZ0JRK2R1QjtFUjFkbkIsU1EwZHdCO0VSMWR4QixXUTBkNEI7RUFDaEMscURBQW9EO0VBQ3BELFlBQVc7RUFDWCxvQ0FBMkI7RUFBM0IsZ0NBQTJCO0VBQTNCLDRCQUEyQjtFQUMzQixzQkFBcUIsRUFzQnRCO0VBN0JEO0lBU0ksd0JBQXVCO0lSOWtCekIsZVEra0I2QjtJUjlrQjdCLDBCUThrQjhDO0lSN2tCOUMsbUJRNmtCc0Q7SVI1a0J0RCxvQkFKc0g7SUFPcEgsZ0JReWtCaUM7SUFDakMsZUFBYztJQUNkLHFFQUFvRTtJQUNwRSxpQkFBZ0I7SUFDaEIsZ0JBQWU7SUFDZixrQkFBaUI7SUFDakIsYUFBWSxFQVliO0lBNUJIO01Ba0JNLGVBQWM7TUFDZCxzRUFBcUUsRUFDdEU7SUFwQkw7TUFzQk0saUJBQWdCO01BQ2hCLGlCQUFnQixFQUlqQjtNQTNCTDtRQXlCUSw4QkFBcUI7UUFBckIsMEJBQXFCO1FBQXJCLHNCQUFxQixFQUN0Qjs7QUFJUCxvQkFBb0I7QUFDcEI7RUFDRSxxQkFBb0I7RUFDcEIsb0JBQW1CO0VBQ25CLCtMQUUwRDtFQUMxRCxtQkFBa0I7RUFDbEIsV0FBVSxFQTRDWDtFQW5ERDtJQVdNLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFDbkIsbUJBQWtCO0lBQ2xCLDZDQUE0QyxFQUM3QztFQWZMO0lBaUJNLGlCQUFnQixFQWdDakI7SUFqREw7TUFtQlEsZUFBYztNQUNkLGdCQUFlLEVBUWhCO01BNUJQO1FBc0JVLGVBQWMsRUFDZjtNQXZCVDtRQTBCVSxpQkFBZ0IsRUFDakI7SUEzQlQ7TUE4QlEsZUFBYztNQUNkLG1CQUFrQjtNQUNsQiwwQkFBeUI7TUFDekIsZUFBYyxFQWVmO01BaERQO1FBbUNVLFdBQVU7UUFDVixpQkFBZ0IsRUFDakI7TUFyQ1Q7UUF1Q1UsZUFBYztRQUNkLE9BQU0sRUFDUDtNQXpDVDtRQTJDVSxlQUFjLEVBSWY7UUEvQ1Q7VUE2Q1ksZUFBYyxFQUNmOztBQU1YO0VBQ0UsaUJBQWdCO0VBQ2hCLFdBQVU7RUFDVixtQkFBa0I7RUFDbEIscUJBQW9CO0VBQ3BCLG1CQUFrQixFQXNCbkI7RUEzQkQ7SUFPSSxZQUFXO0lBQ1gsa0JBQWlCLEVBQ2xCO0VBVEg7SUFZSSxzQkFBcUI7SUFDckIsWUFBVztJQUNYLGFBQVk7SUFDWixrQkFBaUI7SUFDakIsbURBQWtELEVBQ25EO0VBakJIO0lBb0JJLGdCQUFlO0lBQ2Ysa0JBQWlCO0lBQ2pCLGVBQWM7SUFDZCx1QkFBc0I7SUFDdEIsMEJBQXlCLEVBQzFCOztBQUdIO0VBQ0UsZ0JBQWU7RUFDZixlQUFjLEVBU2Y7RUFYRDtJQUtJLGVBQWM7SUFDZCxzQkFBcUIsRUFJdEI7SUFWSDtNQVFNLGVBQWMsRUFDZjs7QUFJTDtFQUNFLGlCQUFnQjtFQUNoQixtQkFBa0IsRUFtRW5CO0VBakVDO0lBQ0UsZUFBYztJQUNkLG1CQUFrQjtJQUNsQixpQkFBZ0I7SUFDaEIsY0FBYTtJUnpzQmYsZVEwc0I2QjtJUnpzQjdCLDBCUXlzQjhDO0lSeHNCOUMsaUJRd3NCb0Q7SVJ2c0JwRCxrQlF1c0IwRDtJUnBzQnhELGdCUW9zQmlDO0lSaGxCbkMsb0JRaWxCZ0Q7SVJobEJoRCwrRUFBK0U7SUFDL0Usc0ZBQXFEO0lBQXJELDREQUFxRDtJQUFyRCx1REFBcUQ7SUFBckQscURBQXFELEVRNmxCcEQ7SUFwQkE7TUFTRyxnQkFBZTtNQUNmLGlCQUFnQjtNQUNoQixtQ0FBa0M7TUFDbEMsbUJBQWtCO01BQ2xCLFVBQVM7TUFDVCxZQUFXLEVBQ1o7SUFmRjtNQWtCRyxlQUFjLEVBQ2Y7RUF2Qkw7SUEyQkksaUJBQWdCO0lBQ2hCLGlCQUFnQjtJQUNoQixtQkFBa0I7SUFDbEIsbUJBQWtCLEVBc0NuQjtJQXBFSDtNQWlDTSxpQkFBZ0I7TUFDaEIsaUNBQWdDO01BQ2hDLHlCQUF3QjtNQUV4QixtQkFBa0IsRUE4Qm5CO01BbkVMO1FBeUNRLG9CQUFtQixFQUNwQjtNQTFDUDtRQTZDUSxxQkFBYTtRQUFiLHNCQUFhO1FBQWIscUJBQWE7UUFBYixjQUFhO1FBQ2IsMEJBQThCO1FBQTlCLHVDQUE4QjtRQUE5Qix1QkFBOEI7UUFBOUIsK0JBQThCO1FBQzlCLGVBQWMsRUFXZjtRQTFEUDtVQWtEVSxlQUFjO1VBQ2Qsc0JBQXFCLEVBQ3RCO1FBcERUO1VBdURVLGVBQWM7VVJ4dEJ0QixxQkFBb0I7VUFDcEIsNkJBQTRCO1VBQzVCLHNCUXV0QmdDO1VSdHRCaEMsaUJBQWdCO1VBQ2hCLDZCQUE0QixFUXN0QnJCO01BekRUO1FBNkRRLGVBQWM7UVI5dkJwQixlUSt2QmlDO1FSOXZCakMsd0JBRjRFO1FBRzVFLG9CQUhpRztRQUlqRyxvQkFKc0g7UUFPcEgsZ0JReXZCcUM7UUFDakMsbUJBQWtCO1FBQ2xCLG1CQUFrQjtRQUNsQixrQkFBaUIsRUFDbEI7O0FBS1A7RUFDRSxtQkFBa0I7RUFDbEIsU0FBUTtFQUNSLFdBQVU7RUFDVixvQ0FBMkI7RUFBM0IsZ0NBQTJCO0VBQTNCLDRCQUEyQjtFQUMzQixXQUFVO0VBQ1Ysb0JBQW1CO0VBQ25CLDBCQUF5QjtFQUN6Qiw0QkFBbUI7RUFBbkIsb0JBQW1CO0VBQ25CLGFBQVksRUEwQmI7RUFuQ0Q7SUFXSSxhQUFZO0lBQ1osYUFBWSxFQUNiO0VBYkg7SUFlSSx3QkFBdUI7SUFDdkIsYUFBWTtJQUNaLGFBQVk7SUFDWixnQkFBZTtJQUNmLGlCQUFnQjtJQUNoQixlQUFjLEVBQ2Y7RUFyQkg7SUF3QkkseURBQXdEO0lBQ3hELFlBQVc7SUFDWCxhQUFZO0lBQ1osZUFBYztJQUNkLG1CQUFrQjtJQUNsQixVQUFTO0lBQ1QsWUFBVztJQUNYLGFBQVk7SUFDWixxQkFBb0IsRUFDckI7O0FBSUgsWUFBWTtBQUNaO0VBQ0UsbUJBQWtCO0VBQ2xCLHFCQUFvQixFQUNyQjs7QUFDRDtFQUNFLDZCQUE0QjtFQUM1QixtQkFBa0IsRUErQ25CO0VBakREO0lBSUksaUNBQWdDO0lBQ2hDLDBCQUF5QjtJQUN6QixxQkFBb0IsRUEwQ3JCO0lBaERIO01BU00sMEJBQXlCO01BQ3pCLGlDQUFnQztNQUNoQyxnQkFBZTtNQUNmLDBCQUF5QjtNQUN6QixlQUFjO01BQ2QsZ0JBQWU7TUFDZixrQkFBaUIsRUFnQmxCO01BL0JMO1FBa0JRLHVCQUFzQjtRQUN0QiwwQkFBeUI7UUFDekIsMEJBQXlCLEVBQzFCO01BckJQOztRQXlCUSxhQUFZO1FBQ1osZ0JBQWU7UUFDZixpQkFBZ0I7UUFDaEIsMEJBQXlCO1FBQ3pCLDBCQUF5QixFQUMxQjtJQTlCUDtNQWtDTSwwQkFBeUI7TUFDekIsMEJBQXlCO01BQ3pCLDBCQUF5QixFQUMxQjtJQXJDTDs7TUF5Q00sc0JBQXFCO01BQ3JCLGdCQUFlO01BQ2YsdUJBQXNCO01BQ3RCLFlBQVc7TUFDWCxhQUFZO01BQ1osbUJBQWtCLEVBQ25COztBQUlMLGlCQUFpQjtBQUNqQjtFQUNFLFdBQVU7RUFDVixnQkFBZTtFQUNmLE9BQU07RUFDTixRQUFPO0VBQ1AsWUFBVztFQUNYLGNBQWE7RUFDYixjQUFhO0VBQ2IscUJBQWE7RUFBYixzQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLDBCQUFtQjtFQUFuQiw0QkFBbUI7RUFBbkIsdUJBQW1CO0VBQW5CLG9CQUFtQjtFQUNuQix5QkFBdUI7RUFBdkIsZ0NBQXVCO0VBQXZCLHNCQUF1QjtFQUF2Qix3QkFBdUI7RUFDdkIsbUJBQWtCO0VBQ2xCLDZCQUFvQjtFQUFwQix3QkFBb0I7RUFBcEIscUJBQW9CLEVBaUNyQjtFQTdDRDtJUjd2QkUsbUJRMndCNEI7SVJ0d0J4QixPUXN3QjJCO0lSdHdCM0IsU1Fzd0I2QjtJUnR3QjdCLFVRc3dCK0I7SVJ0d0IvQixRUXN3QmlDO0lBQ25DLCtCQUE4QixFQUMvQjtFQWhCSDtJQWtCSSxvQkFBbUI7SUFDbkIsV0FBVSxFQUdYO0VBQ0Q7SUFDRSxjQUFhO0lBQ2IsZUFBYztJQUNkLG1CQUFrQjtJQUNsQixhQUFZO0lBQ1osV0FBVTtJQUNWLGdCQUFlLEVBSWhCO0lBVkE7TUFRRyxpQ0FBd0I7TUFBeEIseUJBQXdCLEVBQ3pCO0VBR0g7SUFDRSxXQUFVO0lBQ1YsNEJBQW1CO0lBQW5CLHdCQUFtQjtJQUFuQixvQkFBbUI7SUFDbkIsNkJBQW9CO0lBQXBCLHdCQUFvQjtJQUFwQixxQkFBb0I7SUFDcEIscUJBQW9CLEVBQ3JCO0VBeENIO0lBMENJLDRCQUFtQjtJQUFuQix3QkFBbUI7SUFBbkIsb0JBQW1CO0lBQ25CLG9CQUFtQixFQUNwQjs7QUFHSDtFQUNFLGFBQVk7RUFDWixjQUFhO0VBQ2IsZ0JBQWU7RUFDZiwwRUFBeUU7RUFFekUsMkJBQWtCO0VBQWxCLG1CQUFrQjtFQUNsQix1QkFBc0I7RUFDdEIsZUFBYztFQUNkLGtCQUFpQjtFQUNqQixtQkFBa0IsRUF5Qm5CO0VBbkNEO0lScjVCRSxlUXM2QjZCO0lScjZCN0IsdUJRcTZCMkM7SVJwNkIzQyxtQlFvNkJtRDtJUm42Qm5ELG9CQUpzSDtJQU9wSCxnQlFnNkJpQztJQUVqQyxpQkFBZ0I7SUh4ckJaLHNDQWY2QixFR3lzQmxDO0lINTFCQztNR3UwQko7UUg5cEJRLHFCQWxGNkIsRUdxd0JsQyxFQUFBO0VBckJIO0lBdUJJLGFBQVk7SUFFWixvQkFBbUI7SUFDbkIsV0FBVTtJQUNWLFlBQVc7SUFDWCwwQkFBeUI7SUFDekIsZ0JBQWU7SUFDZixtQkFBa0I7SUFDbEIsZUFBYyxFQUdmOztBQUlIO0VBQ0UsZUFBYztFUm4xQmQsZ0JRbzFCdUI7RVIvMEJuQixhUSswQm1DO0VSLzBCbkMsV1ErMEJ3QztFQUM1QyxjQUFhLEVBQ2Q7O0FBZ0JELDJCQUEyQjtBQUMzQjtFQUNFLGFBQVk7RUFDWixxQkFBYTtFQUFiLHNCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2IsMEJBQThCO0VBQTlCLHVDQUE4QjtFQUE5Qix1QkFBOEI7RUFBOUIsK0JBQThCO0VBQzlCLHVCQUFzQixFQWdCdkI7RUFwQkQ7SUFPTSxlQUFjO0lBQ2QsYUFBWTtJQUNaLGFBQVk7SUFDWixrQkFBaUI7SUFDakIsMkRBQTBEO0lBQzFELHdCQUF1QjtJUjU5QjNCLGVRNjlCK0I7SVI1OUIvQiwyQlE0OUJpRDtJUjM5QmpELG1CUTI5QnlEO0lSMTlCekQsb0JBSnNIO0lBT3BILGdCUXU5Qm1DLEVBS2xDO0lBbEJMO01BZ0JRLGlDQUF3QjtNQUF4Qix5QkFBd0IsRUFDekI7O0FBSVAsdUJBQXVCO0FBQ3ZCO0VBQ0UsbUJBQWtCO0VBQ2xCLGVBQWM7RUFDZCxpQkFBZ0I7RUFDaEIsa0JBQWlCO0VBQ2pCLGFBQVk7RUFDWixjQUFhO0VBQ2IsZ0JBQWU7RUFDZixrQkFBaUI7RUFDakIsZ0JBQWU7RUFDZiwrREFBOEQ7RUFDOUQsbUNBQTBCO0VBQTFCLCtCQUEwQjtFQUExQiwyQkFBMEIsRUF5UzNCO0VBcFREO0lBYUksbUJBQWtCO0lBQ2xCLGtCQUFpQixFQUNsQjtFQUNEO0lScC9CQSxtQlFxL0I4QztJUnAvQjlDLG9CQUpzSDtJQU9wSCxnQlFpL0I4QjtJQUM5Qix3QkFBdUI7SVJqK0J6QixvQlFrK0JzQztJUmorQnRDLDhFQUErRTtJQUMvRSx3RkFBcUQ7SUFBckQsOERBQXFEO0lBQXJELHlEQUFxRDtJQUFyRCxvREFBcUQ7SUFDckQsOEJBQTZCO0lBQzdCLHFDQUFvQztJUSs5QmxDLG9CQUFtQixFQUNwQjtFQXJCSDtJQXVCSSxhQUFZO0lBQ1osY0FBYTtJQUNiLG1CQUFrQjtJQUNsQixlQUFjO0lBQ2QsZ0JBQWU7SUFDZixvQkFBbUI7SUFDbkIsZ0JBQWUsRUE0QmhCO0lBekRIO01BK0JNLGtCQUFpQixFQU9sQjtNQXRDTDtRUnQrQkUsZVF1Z0NpQztRUnRnQ2pDLHdCQUY0RTtRQUc1RSxvQkFIaUc7UUFJakcsb0JBSnNIO1FBT3BILGdCUWlnQ3FDLEVBSWxDO1FBckNQO1VBbUNVLGVBQWMsRUFDZjtJQXBDVDtNQXlDTSxZQUFXO01BQ1gsaUJBQWdCO01BQ2hCLHFCQUFhO01BQWIsc0JBQWE7TUFBYixxQkFBYTtNQUFiLGNBQWEsRUFDZDtJQTVDTDtNUnQrQkUsZVFvaEMrQjtNUm5oQy9CLHdCQUY0RTtNQUc1RSxvQkFIaUc7TUFJakcsb0JBSnNIO01BT3BILGdCUThnQ21DLEVBSWxDO01BbERMO1FBZ0RRLHNDQUFxQyxFQUN0QztJQWpEUDtNQW9ETSxxQkFBYTtNQUFiLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsMEJBQThCO01BQTlCLHVDQUE4QjtNQUE5Qix1QkFBOEI7TUFBOUIsK0JBQThCO01BQzlCLG1CQUFrQjtNQUNsQixhQUFZLEVBQ2I7RUF4REw7SUE4REksb0JBQW1CO0lBQ25CLGFBQVk7SUFDWixhQUFZO0lBQ1osMEJBQXlCO0lBQ3pCLGFBQVk7SUFDWixhQUFZO0lBQ1osZUFBYztJQUNkLGdCQUFlLEVBQ2hCO0VBdEVIO0lBeUVJLGVBQWM7SUFDZCxnQkFBZTtJQUNmLGFBQVksRUFDYjtFQTVFSDtJQStFSSxhQUFZO0lBQ1osYUFBWTtJQUNaLDhDQUE2QztJQUM3QyxhQUFZO0lBQ1osYUFBWTtJQUNaLDZCQUFvQjtJQUFwQix3QkFBb0I7SUFBcEIscUJBQW9CO0lBQ3BCLGdCQUFlLEVBSWhCO0lBekZIO01BdUZNLCtCQUFzQjtNQUF0QiwyQkFBc0I7TUFBdEIsdUJBQXNCLEVBQ3ZCO0VBeEZMO0lSNzNCRSxtQlF3OUI0QjtJUm45QnhCLFVRbTlCOEI7SVJuOUI5QixhUW05Qm9DLEVBSXZDO0lBL0ZIO01BNkZNLGtCQUFpQixFQUNsQjtFQTlGTDtJQW9HSSxhQUFZO0lBQ1osY0FBYTtJQUNiLG1CQUFrQjtJQUNsQixlQUFjO0lBQ2QsZ0JBQWU7SUFDZixvQkFBbUI7SUFDbkIsZ0JBQWUsRUErRWhCO0lBekxIO01BNkdNLFVBQVM7TUFDVCxpQkFBZ0I7TUFDaEIsZ0JBQWU7TUFDZixxQkFBYTtNQUFiLHNCQUFhO01BQWIscUJBQWE7TUFBYixjQUFhO01BQ2IsMEJBQW1CO01BQW5CLDRCQUFtQjtNQUFuQix1QkFBbUI7TUFBbkIsb0JBQW1CLEVBRXBCO0lBbkhMO01Bc0hNLGFBQVk7TUFDWixzQkFBcUI7TUFDckIsb0JBQW1CO01SOWxDdkIsZVErbEMrQjtNUjVsQy9CLGtCUTRsQ3VEO01SemxDckQsZ0JReWxDbUM7TUFDakMsMkJBQXVCO01BQXZCLHdCQUF1QjtNQUN2QixpQkFBZ0I7TUFDaEIsb0JBQW1CLEVBQ3BCO0lBN0hMO01BK0hNLGVBQWM7TUFDZCxtQkFBa0IsRUFDbkI7SUFqSUw7TUFtSU0sc0JBQXFCO01BQ3JCLGdCQUFlO01SMW1DbkIsZVEybUMrQjtNUnhtQy9CLGtCUXdtQ3VEO01Scm1DckQsZ0JRcW1DbUM7TUFDakMsbUJBQWtCLEVBSW5CO01BMUlMO1FBd0lRLHNDQUFxQyxFQUN0QztJQXpJUDtNQTZJTSxtQkFBa0IsRUFnQm5CO01BN0pMO1FBK0lRLGVBQWM7UUFDZCxhQUFZO1FBQ1osYUFBWTtRQUNaLGtCQUFpQjtRUnhuQ3ZCLGVReW5DaUM7UVJ2bkNqQyxtQlF1bkNxRDtRUnRuQ3JELGtCUXNuQzJEO1FSbm5DekQsZ0JRbW5DcUM7UUFDakMsaUNBQWdDO1FBQ2hDLG9CQUFtQjtRQUNuQiw2QkFBb0I7UUFBcEIsd0JBQW9CO1FBQXBCLHFCQUFvQixFQUtyQjtRQTNKUDtVQXdKVSxvQkFBbUI7VUFDbkIsaUNBQWdDLEVBQ2pDO0lBMUpUO01SNzNCRSxtQlE0aEM4QjtNUnZoQzFCLFVRdWhDZ0M7TVJ2aENoQyxXUXVoQytDLEVBQ2hEO0lBaEtMO01SNzNCRSxtQlEraEM4QjtNUjFoQzFCLFVRMGhDZ0M7TVIxaENoQyxZUTBoQ3FDLEVBQ3RDO0VBbktMO0lSdCtCRSxlUWtxQzZCO0lSanFDN0Isd0JBRjRFO0lBRzVFLG9CQUhpRztJQUlqRyxvQkFKc0g7SUFPcEgsZ0JRNHBDaUM7SUFDakMscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLGdCQUFlLEVBb0RoQjtJQWxQSDtNQWdNTSxXQUFVO01BQ1YscUJBQWE7TUFBYixzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLDBCQUFtQjtNQUFuQiw0QkFBbUI7TUFBbkIsdUJBQW1CO01BQW5CLG9CQUFtQjtNQUNuQix5QkFBdUI7TUFBdkIsZ0NBQXVCO01BQXZCLHNCQUF1QjtNQUF2Qix3QkFBdUI7TUFDdkIsYUFBWSxFQUliO01BeE1MO1FBc01RLG1CQUFrQixFQUNuQjtJQXZNUDtNQTBNTSxhQUFZO01BQ1osaUJBQWdCO01BQ2hCLGdCQUFlO01BQ2YsMkVBQTBFO01BQzFFLFlBQVc7TUFDWCxhQUFZO01BQ1osa0JBQWlCLEVBQ2xCO0lBak5MO01BbU5NLGFBQVk7TUFDWixhQUFZO01BQ1osa0JBQWlCO01BQ2pCLGlCQUFnQjtNUjVyQ3BCLGVRNnJDK0I7TVI1ckMvQiwwQlE0ckNnRDtNUjNyQ2hELG1CUTJyQ3dEO01SMXJDeEQsa0JRMHJDOEQ7TVJ2ckM1RCxnQlF1ckNtQztNQUNqQyxhQUFZO01BQ1oscUJBQWE7TUFBYixzQkFBYTtNQUFiLHFCQUFhO01BQWIsY0FBYTtNQUNiLHlCQUF1QjtNQUF2QixnQ0FBdUI7TUFBdkIsc0JBQXVCO01BQXZCLHdCQUF1QixFQUN4QjtJQTNOTDtNQTZOTSxhQUFZO01BQ1oseUJBQWdCO01BQWhCLGlCQUFnQjtNQUNoQixlQUFjLEVBRWY7SUFqT0w7TUFtT00sY0FBYTtNQUNiLGlCQUFnQixFQWFqQjtNQWpQTDtRQXNPUSxhQUFZO1FBQ1osa0JBQWlCO1FBQ2pCLG9CQUFtQixFQUNwQjtNQXpPUDs7O1FBOE9RLGVBQWM7UUFDZCxvQkFBbUIsRUFDcEI7RUFoUFA7SUFxUEkscUJBQWE7SUFBYixzQkFBYTtJQUFiLHFCQUFhO0lBQWIsY0FBYTtJQUNiLHlCQUF1QjtJQUF2QixnQ0FBdUI7SUFBdkIsc0JBQXVCO0lBQXZCLHdCQUF1QjtJQUN2QixzQkFBcUI7SUFDckIsbUJBQWtCO0lBQ2xCLGFBQVk7SUFDWiwyQkFBa0I7SUFBbEIsbUJBQWtCLEVBeUJuQjtJQW5SSDtNQTRQTSxzQkFBcUI7TUFDckIsYUFBWTtNQUNaLGFBQVk7TUFDWixrQkFBaUI7TUFDakIsY0FBYTtNUnR1Q2pCLGVRdXVDK0I7TVJ0dUMvQiwyQlFzdUNpRDtNUnJ1Q2pELG1CUXF1Q3lEO01ScHVDekQsa0JRb3VDK0Q7TVJqdUM3RCxnQlFpdUNtQztNQUVqQyxzREFBcUQ7TUFDckQseUNBQWdDO01BQWhDLG9DQUFnQztNQUFoQyxpQ0FBZ0MsRUFjakM7TUFsUkw7UUF3UVEsaUNBQXdCO1FBQXhCLHlCQUF3QixFQUN6QjtFQWFMO0lBQ0UsWUFBVztJQUNYLGlCQUFnQjtJQUNoQixvQkFBbUI7SUFDbkIsZ0JBQWU7SUFDZixxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2Isd0JBQWU7SUFBZixvQkFBZTtJQUFmLGdCQUFlO0lBQ2YsMEJBQThCO0lBQTlCLHVDQUE4QjtJQUE5Qix1QkFBOEI7SUFBOUIsK0JBQThCO0lBQzlCLGNBQWE7SUFDYixpQkFBZ0I7SVJubENsQixxQlFvbEM0QztJUm5sQzVDLGlDUW1sQ3VDO0lScGtDdkMsZUFBYyxFUXVsQ2I7SVJybUNEO01BQXVCLHVDQUF1QztNQUM1RCxXUWlsQzBDLEVSaGxDM0M7SUFFRDtNQUNFLG9CUTZrQ3FDO01SNWtDckMsMkJRNGtDMEM7TVI1a0MxQyxtQlE0a0MwQyxFUjNrQzNDO0lBRUQ7TUFDRSwwQlF3a0MyQjtNUnZrQzNCLDJCUXVrQzBDO01SdmtDMUMsbUJRdWtDMEM7TVJ0a0MxQywwQlFza0MyQixFUnJrQzVCO0lRMmpDQTtNQVlHLG9CQUFtQixFQWdCcEI7TUE1QkY7UUFlSyxlQUFjO1FBQ2QsYUFBWTtRQUNaLGFBQVk7UUFDWixrQkFBaUI7UUFDakIsb0JBQW1CO1FSL3dDekIsZVFneENpQztRUi93Q2pDLDBCUSt3Q2tEO1FSOXdDbEQsbUJROHdDMEQ7UVI3d0MxRCxvQkFKc0g7UUFPcEgsZ0JRMHdDcUM7UUFDakMsdUJBQXNCO1FBQ3RCLHlDQUFnQztRQUFoQyxvQ0FBZ0M7UUFBaEMsaUNBQWdDO1FBQ2hDLGlDQUFnQyxFQUlqQztRQTNCSjtVQXlCTyxvQkFBbUIsRUFDcEI7O0FDNXhDVDtFQUNFLGVBSG9CO0VKb1BoQiw0QkF2RStCO0VJeEtuQyxtQkFBa0I7RUFDbEIsb0JBQW1CO0VBQ25CLGdCQUFlLEVBd0RoQjtFQXZEQztJQUNFLGVBQWM7SUFDZCxZQUFXO0lBQ1gsbUJBQWtCLEVBZ0JuQjtJQW5CQTtNQUtHLGVBYmdCO01BY2hCLHNCQUFxQixFQVl0QjtNQWxCRjtRQVFLLGdCQUFlO1FBQ2YsZUFBYztRQUNkLGtCQUFpQjtRQUNqQixlQUFjLEVBTWY7UUFqQko7VUFlTyxlQUFjLEVBQ2Y7RUF0QlQ7SUEyQkksWUFBVztJQUNYLGVBQWMsRUFLZjtJQWpDSDtNQStCTSxlQUFjLEVBQ2Y7RUFoQ0w7SUFtQ0ksWUFBVztJQUNYLGtCQUFpQixFQUNsQjtFQXJDSDtJQXVDSSxxQkFBYTtJQUFiLHNCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2IsZUExQ2tCO0lBMkNsQixnQkFBZTtJQUNmLHlCQUF1QjtJQUF2QixnQ0FBdUI7SUFBdkIsc0JBQXVCO0lBQXZCLHdCQUF1QjtJQUN2QiwwQkFBbUI7SUFBbkIsNEJBQW1CO0lBQW5CLHVCQUFtQjtJQUFuQixvQkFBbUI7SUFDbkIscUJBQW9CO0lBQ3BCLGVBQWMsRUFFZjtFQS9DSDtJQWtESSxlQUFjLEVBQ2Y7RUFuREg7SUF5REksWUFBVztJQUNYLGVBQWM7SUFDZCxtQkFBa0IsRUFDbkIiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyotIEdsb2JhbCBWYXJpYWJsZXMgLSovXHJcbiRtYWluQ29sb3I6ICMwMTAxMDE7XHJcbiRtYWluTGlua0NvbG9yOiAjMDQ0NTliO1xyXG4kbWFpbkxpbmtDb2xvci1ob3ZlcjogbGlnaHRlbigkbWFpbkxpbmtDb2xvciwgMTAlKTtcclxuJGJhY2tncm91bmRDb2xvcjogI2Y4ZjJmMDtcclxuJGZvbnRTaXplSHRtbFRhZzogMTZweDtcclxuJGZvbnRTaXplOiAxcmVtOyAvLyA9PSAxNnB4XHJcbiRmb250Tm9ybWFsOiA0MDA7XHJcbiRmb250Qm9sZDogNTAwO1xyXG4kZm9udEJvbGRlcjogNzAwO1xyXG4kbGluZUhlaWdodDogMS41O1xyXG4kZm9udEZhbWlseTogU0Y7XHJcblxyXG5cclxuJGdyaWQtZ3V0dGVyLXdpZHRoOiAyMHB4O1xyXG4kY29udGFpbmVyLXdpZHRoOiAxMTc2cHg7XHJcblxyXG4uY29udGFpbmVyIHtcclxuICBtYXgtd2lkdGg6ICRjb250YWluZXItd2lkdGggIWltcG9ydGFudDtcclxuICB3aWR0aDogJGNvbnRhaW5lci13aWR0aCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG59IiwiKiB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5cclxuYm9keSB7XHJcblxyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIG1hcmdpbjogMDtcclxufVxyXG5cclxubWFpbiB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbnByZSB7XHJcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxufVxyXG5cclxuYixcclxuc3Ryb25nIHtcclxuICBmb250LXdlaWdodDogYm9sZGVyO1xyXG59XHJcblxyXG46OnNlbGVjdGlvbiB7XHJcbiAgYmFja2dyb3VuZDogIzAwODhmZjtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICBib3JkZXI6IDA7XHJcbiAgb3V0bGluZTogbm9uZTtcclxufVxyXG5cclxuY29kZSxcclxua2JkLFxyXG5zYW1wIHtcclxuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XHJcbiAgZm9udC1zaXplOiAxcmVtO1xyXG59XHJcblxyXG5zbWFsbCB7XHJcbiAgZm9udC1zaXplOiA4MCU7XHJcbn1cclxuXHJcbnN1Yixcclxuc3VwIHtcclxuICBmb250LXNpemU6IDc1JTtcclxuICBsaW5lLWhlaWdodDogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG5zdWIge1xyXG4gIGJvdHRvbTogLTAuMjVlbTtcclxufVxyXG5cclxuc3VwIHtcclxuICB0b3A6IC0wLjVlbTtcclxufVxyXG5cclxuaW1nIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIGJvcmRlcjogMDtcclxufVxyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCxcclxub3B0Z3JvdXAsXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gIGZvbnQtc2l6ZTogMTAwJTtcclxuICBsaW5lLWhlaWdodDogMS4xNTtcclxuICBtYXJnaW46IDA7XHJcblxyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuYnV0dG9uLFxyXG5pbnB1dCB7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbn1cclxuXHJcbmJ1dHRvbixcclxuc2VsZWN0IHtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxufVxyXG5cclxuYnV0dG9uLFxyXG5bdHlwZT1cImJ1dHRvblwiXSxcclxuW3R5cGU9XCJyZXNldFwiXSxcclxuW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xyXG59XHJcblxyXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXHJcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxyXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcclxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXHJcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcclxuICBvdXRsaW5lOiAxcHggZG90dGVkICMwMDg4ZmY7XHJcbn1cclxuXHJcbmJ1dHRvbiB7XHJcblxyXG4gICY6YWN0aXZlLFxyXG4gICY6Zm9jdXMge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbmZpZWxkc2V0IHtcclxuICBwYWRkaW5nOiAwLjM1cmVtIDAuNzVyZW0gMC42MjVyZW07XHJcbn1cclxuXHJcbmxlZ2VuZCB7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICBjb2xvcjogaW5oZXJpdDtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogMDtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG59XHJcblxyXG5wcm9ncmVzcyB7XHJcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xyXG59XHJcblxyXG50ZXh0YXJlYSB7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcblt0eXBlPVwiY2hlY2tib3hcIl0sXHJcblt0eXBlPVwicmFkaW9cIl0ge1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgLyogMSAqL1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgLyogMiAqL1xyXG59XHJcblxyXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcclxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xyXG4gIGhlaWdodDogYXV0bztcclxufVxyXG5cclxuW3R5cGU9XCJzZWFyY2hcIl0ge1xyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xyXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xyXG59XHJcblxyXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcclxuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcclxuICBmb250OiBpbmhlcml0O1xyXG59XHJcblxyXG5kZXRhaWxzIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuc3VtbWFyeSB7XHJcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xyXG59XHJcblxyXG50ZW1wbGF0ZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuW2hpZGRlbl0ge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbmlmcmFtZSB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbn1cclxuXHJcblxyXG5cclxudWwge1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG5cclxuICBsaSB7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuZmlndXJlIHtcclxuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5bY2xhc3MgKj1cImljb25zLVwiXSB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG59IiwiLyotIEdsb2JhbCBWYXJpYWJsZXMgLSovXG4uY29udGFpbmVyLCAuaGVhZGVyLWNvbnRhaW5lciB7XG4gIG1heC13aWR0aDogMTE3NnB4ICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxMTc2cHggIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuKiB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmJvZHkge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplU3BlZWQ7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgbWFyZ2luOiAwOyB9XG5cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMwMDg4ZmY7XG4gIGNvbG9yOiAjZmZmZmZmO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgYm9yZGVyOiAwOyB9XG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICBtYXJnaW46IDA7IH1cbiAgYnV0dG9uOmZvY3VzLFxuICBpbnB1dDpmb2N1cyxcbiAgb3B0Z3JvdXA6Zm9jdXMsXG4gIHNlbGVjdDpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IH1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkICMwMDg4ZmY7IH1cblxuYnV0dG9uOmFjdGl2ZSwgYnV0dG9uLm5pY2Utc2VsZWN0Lm9wZW4sIGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTsgfVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVyZW0gMC43NXJlbSAwLjYyNXJlbTsgfVxuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgfVxuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgfVxuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIGZvbnQ6IGluaGVyaXQ7IH1cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07IH1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5pZnJhbWUge1xuICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxudWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgdWwgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuZmlndXJlIHtcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5bY2xhc3MqPVwiaWNvbnMtXCJdIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxyXG4gKiBTd2lwZXIgNS4yLjBcclxuICogTW9zdCBtb2Rlcm4gbW9iaWxlIHRvdWNoIHNsaWRlciBhbmQgZnJhbWV3b3JrIHdpdGggaGFyZHdhcmUgYWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnNcclxuICogaHR0cDovL3N3aXBlcmpzLmNvbVxyXG4gKlxyXG4gKiBDb3B5cmlnaHQgMjAxNC0yMDE5IFZsYWRpbWlyIEtoYXJsYW1waWRpXHJcbiAqXHJcbiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZVxyXG4gKlxyXG4gKiBSZWxlYXNlZCBvbjogT2N0b2JlciAyNiwgMjAxOVxyXG4gKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogc3dpcGVyLWljb25zO1xuICBzcmM6IHVybChcImRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCBkMDlHUmdBQkFBQUFBQVpnQUJBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBR1JBQUFBQm9BQUFBY2k2cUhrVWRFUlVZQUFBV2dBQUFBSXdBQUFDUUFZQUJYUjFCUFV3QUFCaFFBQUFBdUFBQUFOdUFZNyt4SFUxVkNBQUFGeEFBQUFGQUFBQUJtMmZQY3pVOVRMeklBQUFIY0FBQUFTZ0FBQUdCUDlWNVJZMjFoY0FBQUFrUUFBQUNJQUFBQll0NkYwY0JqZG5RZ0FBQUN6QUFBQUFRQUFBQUVBQkVCUkdkaGMzQUFBQVdZQUFBQUNBQUFBQWovL3dBRFoyeDVaZ0FBQXl3QUFBRE1BQUFEMk1IdHJ5Vm9aV0ZrQUFBQmJBQUFBREFBQUFBMkUyK2VvV2hvWldFQUFBR2NBQUFBSHdBQUFDUUM5Z0R6YUcxMGVBQUFBaWdBQUFBWkFBQUFyZ0prQUJGc2IyTmhBQUFDMEFBQUFGb0FBQUJhRlFBVUdHMWhlSEFBQUFHOEFBQUFId0FBQUNBQWNBQkFibUZ0WlFBQUEvZ0FBQUU1QUFBQ1h2RmRCd2x3YjNOMEFBQUZOQUFBQUdJQUFBQ0U1czc0aFhqYVkyQmtZR0FBWXBmNUh1L2orVzIrTW5Bek1ZREF6YVg2UWpENi80Ly9CeGo1R0E4QXVSd01ZR2tBUHl3TDEzamFZMkJrWUdBODhQOEFneDRqKy84ZlFEWWZBMUFFQldnREFJQjJCT29BZU5wallHUmdZTkJoNEdkZ1lnQUJFTW5JQUJKellOQURDUUFBQ1dnQXNRQjQybU5nWWZ6Q09JR0JsWUdCMFljeGpZR0J3UjFLZjJXUVpHaGhZR0JpWUdWbWdBRkdCaVFRa09hYXd0REFvTUJReFhqZy93RUdQY1lEREE0d05VQTJDQ2d3c0FBQU80RUw2Z0FBZU5wajJNMGd5QUFDcXhnR05XQmtaMkQ0L3dNQSt4a0RkZ0FBQUhqYVkyQmdZR2FBWUJrR1JnWVFpQUh5R01GOEZnWUhJTTNEd01IQUJHUXJNT2d5V0RMRU0xVDkvdzhVQmZFTWdMekUvLy8vUC81Ly9mL1YveHYrcjRlYUFBZU1iQXh3SVVZbUlNSEVnS1lBWWpVY3NEQXdzTEt4YzNCeWNmUHc4akVRQS9nWkJBU0ZoRVZFeGNRbEpLV2taV1RsNUJVVWxaUlZWTlhVTlRRWkJnTUFBTVIrRStnQUVRRkVBQUFBS2dBcUFDb0FOQUErQUVnQVVnQmNBR1lBY0FCNkFJUUFqZ0NZQUtJQXJBQzJBTUFBeWdEVUFONEE2QUR5QVB3QkJnRVFBUm9CSkFFdUFUZ0JRZ0ZNQVZZQllBRnFBWFFCZmdHSUFaSUJuQUdtQWJJQnpnSHNBQUI0MnUyTk1RNkNVQXlHVzU2OHg5QW5lWVlnbTRNSmJoS0ZhRXhJT0FWWDhBcGV3U3Q0QmljNEFmZUFpZDNWT0JpeER4ZlBZRXphNU8rWGZpMDRZQURnZ2lVSVVMQ3VFSks4VmhPNGJTdnBkbmt0SEk1UUNZdGRpMnNsOFpuWGFIbHFVck5LemRLY1Q4Y2pscStyd1pTdklWY3pOaWV6c2ZuUC91em5tZlBGQk5PRE0ySzdNVFE0NVlFQVpxR1A4MUFtR0djRjNpUHFPb3AwcjFTUFRhVGJWa2ZVZTRIWGo5N3dZRSt5TndXWXh3V3U0djF1Z1dIZ28zUzFYZFpFVnFXTTdFVDBjZm5MR3hXZmtnUjQybzJQdldyRE1CU0ZqL0lITGFGMHpLalJnZGlWTXdTY05SQW9XVW9INzhZMmljQi95SVkwOUFuNkFIMkJkdS9VQit5eG9wWXNoUWlFdm52dTBkVVJnRHQ4UWVDOFBEdzdGcGppM2ZFQTR6L1BFSjZZT0I1aEtoNGRqM0V2WGh4UHFIL1NLVVkzcko3c3JaNEZabmgxUE1BdFBod1A2ZmwyUE1KTVBEZ2VRNHJZOFlUNkd6YW8wZUFFQTQwOUR1Z2dtVG5Gbk9jU0NpRWlMTWd4Q2lUSTZDcTVEWlVkM1FtcDEwdk8wTGFMVGQyY2pONGZPdW1sYzdsVVliU1FjWkZrdXRSRzdnNkpLWkt5MFJtZExZNjgwQ0RuRUorVU1rcEZGZTFSTjdueGRWcFhyQzRhVHRuYXVyT25ZZXJjWmcyWVZtTE4vZC9nY3pmRWltckUvZnMvYk91cTI5Wm1uOHRsb09SYVhnWmdHYTc4eU85L2NuWG0yQnBhR3ZxMjVEdjlTNEU5KzVTSWM5UHF1cEpLaFlGU1NsNDcrUWNyMW1ZTkFBQUFlTnB0dzBjS3drQUFBTURaSkE4UTdPVUp2a0xzUGZaNnpGVkVSUHk4cUhoMllFUiszaS9CUDgzdklCTEx5U3NvS2ltcnFLcXBhMmhwNitqcTZSc1lHaG1ibUpxWlN5MHNyYXh0Yk8zc0hSeWRuRU1VNHVSNnl4N0pKWHZlUDdXckR5Y0FBQUFBQUFILy93QUNlTnBqWUdSZ1lPQUJZaGtnWmdKQ1pnWk5Ca1lHTFFadElKc0ZMTVlBQUF3M0FMZ0FlTm9saXpFS2dEQVFCQ2NoUmJDMnNGRVIwWUQ2cVZRaUJDdi9IOWV6R0k2WjVYQkF3OENCSy9tNWlRUVZhdVZiWExuT3JNWnYyb0xkS0ZhOFBqdXJ1MmhKekdhYm1PU0x6Tk16dnV0cEIzTjQybU5nWkdCZzRHS1FZekJoWU14SkxNbGo0R0JnQVlvdy9QL1BBSkpoTE02c1NvV0tmV0NBQXdEQWpnYlJBQUI0Mm1OZ1lHQmtBSUliQ1pvNUlQcm1VbjBoR0EwQU84RUZUUUFBXCIpIGZvcm1hdChcIndvZmZcIik7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG46cm9vdCB7XG4gIC0tc3dpcGVyLXRoZW1lLWNvbG9yOiMwMDdhZmY7IH1cblxuLnN3aXBlci1jb250YWluZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDE7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5zd2lwZXItd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hbmRyb2lkIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwLCAwKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdyA+IC5zd2lwZXItd3JhcHBlciB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1tdWx0aXJvdy1jb2x1bW4gPiAuc3dpcGVyLXdyYXBwZXIge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cblxuLnN3aXBlci1jb250YWluZXItZnJlZS1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uc3dpcGVyLXNsaWRlIHtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtOyB9XG5cbi5zd2lwZXItc2xpZGUtaW52aXNpYmxlLWJsYW5rIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQsIC5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZSB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0saGVpZ2h0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLTNkIHtcbiAgcGVyc3BlY3RpdmU6IDEyMDBweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLWN1YmUtc2hhZG93LCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3AsIC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItd3JhcHBlciB7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9tLCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGxlZnQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctcmlnaHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMCwgMCwgMCwgMC41KSwgcmdiYSgwLCAwLCAwLCAwKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctdG9wIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjUpLCByZ2JhKDAsIDAsIDAsIDApKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNSksIHJnYmEoMCwgMCwgMCwgMCkpOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWNzcy1tb2RlID4gLnN3aXBlci13cmFwcGVyOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIgPiAuc3dpcGVyLXNsaWRlIHtcbiAgc2Nyb2xsLXNuYXAtYWxpZ246IHN0YXJ0IHN0YXJ0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZSA+IC5zd2lwZXItd3JhcHBlciB7XG4gIHNjcm9sbC1zbmFwLXR5cGU6IHggbWFuZGF0b3J5OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsLnN3aXBlci1jb250YWluZXItY3NzLW1vZGUgPiAuc3dpcGVyLXdyYXBwZXIge1xuICBzY3JvbGwtc25hcC10eXBlOiB5IG1hbmRhdG9yeTsgfVxuXG46cm9vdCB7XG4gIC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZTo0NHB4OyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQsIC5zd2lwZXItYnV0dG9uLXByZXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB3aWR0aDogY2FsYyh2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKS8gNDQgKiAyNyk7XG4gIGhlaWdodDogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7XG4gIG1hcmdpbi10b3A6IGNhbGMoLTEgKiB2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKS8gMik7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCwgLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogLjM1O1xuICBjdXJzb3I6IGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQ6YWZ0ZXIsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICBmb250LWZhbWlseTogc3dpcGVyLWljb25zO1xuICBmb250LXNpemU6IHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZSAhaW1wb3J0YW50O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtdmFyaWFudDogaW5pdGlhbDsgfVxuXG4uc3dpcGVyLWJ1dHRvbi1wcmV2LCAuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dCB7XG4gIGxlZnQ6IDEwcHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIsIC5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyIHtcbiAgY29udGVudDogJ3ByZXYnOyB9XG5cbi5zd2lwZXItYnV0dG9uLW5leHQsIC5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1wcmV2IHtcbiAgcmlnaHQ6IDEwcHg7XG4gIGxlZnQ6IGF1dG87IH1cblxuLnN3aXBlci1idXR0b24tbmV4dDphZnRlciwgLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXIge1xuICBjb250ZW50OiAnbmV4dCc7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLXdoaXRlLCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24td2hpdGUge1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiNmZmZmZmY7IH1cblxuLnN3aXBlci1idXR0b24tbmV4dC5zd2lwZXItYnV0dG9uLWJsYWNrLCAuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tYmxhY2sge1xuICAtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yOiMwMDAwMDA7IH1cblxuLnN3aXBlci1idXR0b24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IC4zcyBvcGFjaXR5O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB6LWluZGV4OiAxMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24uc3dpcGVyLXBhZ2luYXRpb24taGlkZGVuIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMsIC5zd2lwZXItcGFnaW5hdGlvbi1jdXN0b20sIC5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbiB7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMzMpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWluIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXYge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtcHJldi1wcmV2IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLW5leHQge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNjYpOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0IHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjMzKTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgb3BhY2l0eTogLjI7IH1cblxuYnV0dG9uLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tY2xpY2thYmxlIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7IH1cblxuLnN3aXBlci1jb250YWluZXItdmVydGljYWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyB7XG4gIHJpZ2h0OiAxMHB4O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIC01MCUsIDApOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gIG1hcmdpbjogNnB4IDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIHtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgd2lkdGg6IDhweDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiAuMnMgdHJhbnNmb3JtLC4ycyB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICBtYXJnaW46IDAgNHB4OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMge1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB0cmFuc2l0aW9uOiAuMnMgdHJhbnNmb3JtLC4ycyBsZWZ0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwuc3dpcGVyLWNvbnRhaW5lci1ydGwgPiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICB0cmFuc2l0aW9uOiAuMnMgdHJhbnNmb3JtLC4ycyByaWdodDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxsIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsIHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7IH1cblxuLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IHRvcDsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyLCAuc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbCA+IC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDRweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWhvcml6b250YWwgPiAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGUsIC5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIHtcbiAgd2lkdGg6IDRweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnN3aXBlci1wYWdpbmF0aW9uLXdoaXRlIHtcbiAgLS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjojZmZmZmZmOyB9XG5cbi5zd2lwZXItcGFnaW5hdGlvbi1ibGFjayB7XG4gIC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3I6IzAwMDAwMDsgfVxuXG4uc3dpcGVyLXBhZ2luYXRpb24tbG9jayB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXBlci1zY3JvbGxiYXIge1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDElO1xuICBib3R0b206IDNweDtcbiAgei1pbmRleDogNTA7XG4gIGhlaWdodDogNXB4O1xuICB3aWR0aDogOTglOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsID4gLnN3aXBlci1zY3JvbGxiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAzcHg7XG4gIHRvcDogMSU7XG4gIHotaW5kZXg6IDUwO1xuICB3aWR0aDogNXB4O1xuICBoZWlnaHQ6IDk4JTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1kcmFnIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1jdXJzb3ItZHJhZyB7XG4gIGN1cnNvcjogbW92ZTsgfVxuXG4uc3dpcGVyLXNjcm9sbGJhci1sb2NrIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc3dpcGVyLXpvb20tY29udGFpbmVyID4gY2FudmFzLCAuc3dpcGVyLXpvb20tY29udGFpbmVyID4gaW1nLCAuc3dpcGVyLXpvb20tY29udGFpbmVyID4gc3ZnIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb250YWluOyB9XG5cbi5zd2lwZXItc2xpZGUtem9vbWVkIHtcbiAgY3Vyc29yOiBtb3ZlOyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXIge1xuICB3aWR0aDogNDJweDtcbiAgaGVpZ2h0OiA0MnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi1sZWZ0OiAtMjFweDtcbiAgbWFyZ2luLXRvcDogLTIxcHg7XG4gIHotaW5kZXg6IDEwO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCU7XG4gIGFuaW1hdGlvbjogc3dpcGVyLXByZWxvYWRlci1zcGluIDFzIGluZmluaXRlIGxpbmVhcjtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm9yZGVyOiA0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvciwgdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLnN3aXBlci1sYXp5LXByZWxvYWRlci13aGl0ZSB7XG4gIC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcjojZmZmOyB9XG5cbi5zd2lwZXItbGF6eS1wcmVsb2FkZXItYmxhY2sge1xuICAtLXN3aXBlci1wcmVsb2FkZXItY29sb3I6IzAwMDsgfVxuXG5Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbiB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uc3dpcGVyLWNvbnRhaW5lciAuc3dpcGVyLW5vdGlmaWNhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgb3BhY2l0eTogMDtcbiAgei1pbmRleDogLTEwMDA7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRlIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwgLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1jdWJlLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItc2xpZGUge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDA7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1uZXh0LCAuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtbmV4dCArIC5zd2lwZXItc2xpZGUsIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1wcmV2IHtcbiAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1ib3R0b20sIC5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdCwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwgLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy10b3Age1xuICB6LWluZGV4OiAwO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1jdWJlLXNoYWRvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG9wYWNpdHk6IC42O1xuICAtd2Via2l0LWZpbHRlcjogYmx1cig1MHB4KTtcbiAgZmlsdGVyOiBibHVyKDUwcHgpO1xuICB6LWluZGV4OiAwOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZSB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUsIC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xuICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuXG4uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwgLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LCAuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LCAuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCB7XG4gIHotaW5kZXg6IDA7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnBhbmEtYWNjb3JkaW9uIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjAzcHg7XG4gIG1hcmdpbjogMTBweCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlcjogMnB4IHNvbGlkICNiM2JkY2U7XG4gIGJvcmRlci1sZWZ0OiBub25lOyB9XG5cbi5wYW5hLWFjY29yZGlvbiAucGFuYS1hY2NvcmRpb24td3JhcCB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAzMDAlOyB9XG5cbi5wYW5hLWFjY29yZGlvbiAucGFuYS1hY2NvcmRpb24td3JhcCAucGFuYS1hY2NvcmRpb24taXRlbSB7XG4gIHdpZHRoOiA1MHB4O1xuICBoZWlnaHQ6IDIwM3B4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBmbG9hdDogbGVmdDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLnBhbmEtYWNjb3JkaW9uIC5wYW5hLWFjY29yZGlvbi13cmFwIC5wYW5hLWFjY29yZGlvbi1pdGVtIC5wYW5hLWFjY29yZGlvbi1tYXNrIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NDApO1xuICAtbXMtZmlsdGVyOiBcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTQwKVwiO1xuICAtd2Via2l0LW9wYWNpdHk6IDAuNDtcbiAgLWtodG1sLW9wYWNpdHk6IDAuNDtcbiAgLW1vei1vcGFjaXR5OiAwLjQ7XG4gIC1tcy1vcGFjaXR5OiAwLjQ7XG4gIC1vLW9wYWNpdHk6IDAuNDtcbiAgb3BhY2l0eTogMC40OyB9XG5cbi5wYW5hLWFjY29yZGlvbiAucGFuYS1hY2NvcmRpb24td3JhcCAucGFuYS1hY2NvcmRpb24taXRlbS5hY3RpdmUgLnBhbmEtYWNjb3JkaW9uLW1hc2sge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYW5jeWJveC1lbmFibGVkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtZW5hYmxlZCBib2R5IHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uZmFuY3lib3gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTkzO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi8qIE1ha2Ugc3VyZSB0aGF0IHRoZSBmaXJzdCBvbmUgaXMgb24gdGhlIHRvcCAqL1xuLmZhbmN5Ym94LWNvbnRhaW5lciB+IC5mYW5jeWJveC1jb250YWluZXIge1xuICB6LWluZGV4OiA5OTk5MjsgfVxuXG4uZmFuY3lib3gtYmcge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZDogIzBmMGYxMTtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA2LCAwLjY4LCAwLjE5KTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtY29udGFpbmVyLS1yZWFkeSAuZmFuY3lib3gtYmcge1xuICBvcGFjaXR5OiAwLjg3O1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjIsIDAuNjEsIDAuMzYsIDEpOyB9XG5cbi5mYW5jeWJveC1jb250cm9scyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiA5OTk5NDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMnM7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXJlY3Rpb246IGx0cjsgfVxuXG4uZmFuY3lib3gtc2hvdy1jb250cm9scyAuZmFuY3lib3gtY29udHJvbHMge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYW5jeWJveC1pbmZvYmFyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtc2hvdy1pbmZvYmFyIC5mYW5jeWJveC1pbmZvYmFyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG5cbi5mYW5jeWJveC1pbmZvYmFyX19ib2R5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogNzBweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2RkZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMCwgMzAsIDMwLCAwLjcpO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBzdWJwaXhlbC1hbnRpYWxpYXNlZDsgfVxuXG4uZmFuY3lib3gtYnV0dG9ucyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4uZmFuY3lib3gtc2hvdy1idXR0b25zIC5mYW5jeWJveC1idXR0b25zIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZhbmN5Ym94LXNsaWRlci13cmFwIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlyZWN0aW9uOiBsdHI7IH1cblxuLmZhbmN5Ym94LXNsaWRlci13cmFwLFxuLmZhbmN5Ym94LXNsaWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHotaW5kZXg6IDk5OTkzO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi5mYW5jeWJveC1zbGlkZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBvdXRsaW5lOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDk5OTk0O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuLmZhbmN5Ym94LXNsaWRlOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAwOyB9XG5cbi5mYW5jeWJveC1zbGlkZSA+ICoge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjRweDtcbiAgbWFyZ2luOiA0NHB4IDAgNDRweDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBvdmVyZmxvdzogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlOjpiZWZvcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYW5jeWJveC1jb250ZW50IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogNDRweCBhdXRvO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiA4MCU7XG4gIGhlaWdodDogY2FsYygxMDAlIC0gODhweCk7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBzYW5zLXNlcmlmO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cblxuLmZhbmN5Ym94LWlmcmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jb250ZW50LFxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtaWZyYW1lIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICB6LWluZGV4OiA5OTk5NTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1pbWFnZSxcbi5mYW5jeWJveC1zcGFjZWJhbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWF4LWhlaWdodDogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOyB9XG5cbi5mYW5jeWJveC1jb250cm9scy0tY2Fuem9vbU91dCAuZmFuY3lib3gtcGxhY2Vob2xkZXIge1xuICBjdXJzb3I6IC13ZWJraXQtem9vbS1vdXQ7XG4gIGN1cnNvcjogem9vbS1vdXQ7IH1cblxuLmZhbmN5Ym94LWNvbnRyb2xzLS1jYW56b29tSW4gLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4uZmFuY3lib3gtY29udHJvbHMtLWNhbkdyYWIgLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gIGN1cnNvcjogZ3JhYjsgfVxuXG4uZmFuY3lib3gtY29udHJvbHMtLWlzR3JhYmJpbmcgLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWJiaW5nO1xuICBjdXJzb3I6IGdyYWJiaW5nOyB9XG5cbi5mYW5jeWJveC1zcGFjZWJhbGwge1xuICB6LWluZGV4OiAxOyB9XG5cbi5mYW5jeWJveC10bXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgbGVmdDogLTk5OTlweDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5mYW5jeWJveC1lcnJvciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA0MHB4O1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB3aWR0aDogMzgwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5mYW5jeWJveC1lcnJvciBwIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBjb2xvcjogIzQ0NDtcbiAgZm9udDogMTZweC8yMHB4IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjsgfVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNHB4O1xuICByaWdodDogNHB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGZvbnQ6IDIxcHgvMSBBcmlhbCxcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjODg4O1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB6LWluZGV4OiAyOyB9XG5cbi5mYW5jeWJveC1jbG9zZS1zbWFsbDpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgIzg4ODsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jbG9zZS1zbWFsbCB7XG4gIHRvcDogLTM2cHg7XG4gIHJpZ2h0OiAtMzZweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyIHtcbiAgY29sb3I6ICM1NTU7XG4gIGJhY2tncm91bmQ6ICNlZWU7IH1cblxuLyogQ2FwdGlvbiAqL1xuLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZzogNjBweCAzMHB4IDAgMzBweDtcbiAgei1pbmRleDogOTk5OTg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkgMjAlLCByZ2JhKDAsIDAsIDAsIDAuMikgNDAlLCByZ2JhKDAsIDAsIDAsIDAuNikgODAlLCByZ2JhKDAsIDAsIDAsIDAuOCkgMTAwJSk7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uZmFuY3lib3gtc2hvdy1jYXB0aW9uIC5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIHtcbiAgcGFkZGluZzogMzBweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIGEsXG4uZmFuY3lib3gtY2FwdGlvbiBidXR0b24ge1xuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogQnV0dG9ucyAqL1xuLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZmZmO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5mYW5jeWJveC1idXR0b24tLWRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uZmFuY3lib3gtaW5mb2Jhcl9fYm9keSwgLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMCwgMC42KTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpOyB9XG5cbi5mYW5jeWJveC1idXR0b246OmJlZm9yZSxcbi5mYW5jeWJveC1idXR0b246OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xuICBjb2xvcjogY3VycmVudENvbG9yO1xuICBvcGFjaXR5OiAwLjk7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1kaXNhYmxlZDo6YmVmb3JlLFxuLmZhbmN5Ym94LWJ1dHRvbi0tZGlzYWJsZWQ6OmFmdGVyIHtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi5mYW5jeWJveC1idXR0b24tLWxlZnQ6OmFmdGVyIHtcbiAgbGVmdDogMjBweDtcbiAgdG9wOiAxOHB4O1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodDogc29saWQgMnB4IGN1cnJlbnRDb2xvcjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1yaWdodDo6YWZ0ZXIge1xuICByaWdodDogMjBweDtcbiAgdG9wOiAxOHB4O1xuICB3aWR0aDogNnB4O1xuICBoZWlnaHQ6IDZweDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XG4gIGJvcmRlci1yaWdodDogc29saWQgMnB4IGN1cnJlbnRDb2xvcjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1sZWZ0IHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4OyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXJpZ2h0IHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YmVmb3JlLCAuZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogMTZweDtcbiAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gOHB4KTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi8qIExvYWRpbmcgc3Bpbm5lciAqL1xuLmZhbmN5Ym94LWxvYWRpbmcge1xuICBib3JkZXI6IDZweCBzb2xpZCByZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNCk7XG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGhlaWdodDogNTBweDtcbiAgd2lkdGg6IDUwcHg7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTI1cHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgei1pbmRleDogOTk5OTk7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhbmN5Ym94LXJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xuICBmcm9tIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XG5cbi8qIFN0eWxpbmcgZm9yIFNtYWxsLVNjcmVlbiBEZXZpY2VzICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAuZmFuY3lib3gtY29udHJvbHMge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdCxcbiAgLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQsXG4gIC5mYW5jeWJveC1idXR0b25zIGJ1dHRvbjpub3QoLmZhbmN5Ym94LWJ1dHRvbi0tY2xvc2UpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmZhbmN5Ym94LWNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG4vKiBGdWxsc2NyZWVuICAqL1xuLmZhbmN5Ym94LWJ1dHRvbi0tZnVsbHNjcmVlbjo6YmVmb3JlIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTFweDtcbiAgbGVmdDogMTVweDtcbiAgdG9wOiAxNnB4O1xuICBib3JkZXI6IDJweCBzb2xpZDtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4vKiBTbGlkZXNob3cgYnV0dG9uICovXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5OjpiZWZvcmUge1xuICB0b3A6IDE2cHg7XG4gIGxlZnQ6IDE4cHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDZweCBpbnNldCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IGluc2V0IHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMTBweCBzb2xpZDtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1wYXVzZTo6YmVmb3JlIHtcbiAgdG9wOiAxNnB4O1xuICBsZWZ0OiAxOHB4O1xuICB3aWR0aDogN3B4O1xuICBoZWlnaHQ6IDExcHg7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogMCAycHggMCAycHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi8qIFRodW1icyAqL1xuLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzIHNwYW4ge1xuICBmb250LXNpemU6IDIzcHg7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzOjpiZWZvcmUge1xuICB0b3A6IDIwcHg7XG4gIGxlZnQ6IDIxcHg7XG4gIHdpZHRoOiAzcHg7XG4gIGhlaWdodDogM3B4O1xuICBib3gtc2hhZG93OiAwIC00cHggMCwgLTRweCAtNHB4IDAsIDRweCAtNHB4IDAsIDAgMCAwIDMycHggaW5zZXQsIC00cHggMCAwLCA0cHggMCAwLCAwIDRweCAwLCAtNHB4IDRweCAwLCA0cHggNHB4IDA7IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jb250cm9scyxcbi5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtc2xpZGVyLXdyYXAsXG4uZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIHJpZ2h0OiAyMjBweDsgfVxuXG4uZmFuY3lib3gtdGh1bWJzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IGF1dG87XG4gIHdpZHRoOiAyMjBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA1cHggNXB4IDAgMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgei1pbmRleDogOTk5OTM7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgZm9udC1zaXplOiAwOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1heC13aWR0aDogNTAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDVweDtcbiAgaGVpZ2h0OiA3NXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiA1cHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbmxpLmZhbmN5Ym94LXRodW1icy1sb2FkaW5nIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpID4gaW1nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGk6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGJvcmRlcjogNHB4IHNvbGlkICM0ZWE3Zjk7XG4gIHotaW5kZXg6IDk5OTkxO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkuZmFuY3lib3gtdGh1bWJzLWFjdGl2ZTpiZWZvcmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIFN0eWxpbmcgZm9yIFNtYWxsLVNjcmVlbiBEZXZpY2VzICovXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xuICAuZmFuY3lib3gtdGh1bWJzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jb250cm9scyxcbiAgLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1zbGlkZXItd3JhcCxcbiAgLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xuICAgIHJpZ2h0OiAwOyB9IH1cblxuLm5pY2Utc2VsZWN0IHtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogc29saWQgMXB4ICNkOGQ4ZDg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGNsZWFyOiBib3RoO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBoZWlnaHQ6IDM3cHg7XG4gIGxpbmUtaGVpZ2h0OiAzN3B4O1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5uaWNlLXNlbGVjdDpob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjY2JjYmNiOyB9XG4gIC5uaWNlLXNlbGVjdDphY3RpdmUsIC5uaWNlLXNlbGVjdC5vcGVuLCAubmljZS1zZWxlY3Q6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzc1NzU3NTsgfVxuICAubmljZS1zZWxlY3Q6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogM3B4O1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA2NiUgNjYlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMjZweDtcbiAgICBoZWlnaHQ6IDI2cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLWRvd24ucG5nKTsgfVxuICAubmljZS1zZWxlY3Qub3BlbjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTE4MGRlZyk7XG4gICAgdG9wOiAtMTBweDtcbiAgICByaWdodDogMTJweDsgfVxuICAubmljZS1zZWxlY3Qub3BlbiAubGlzdCB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7IH1cbiAgLm5pY2Utc2VsZWN0LmRpc2FibGVkIHtcbiAgICBib3JkZXItY29sb3I6ICNkZGRkZGQ7XG4gICAgY29sb3I6ICM3NTc1NzU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAubmljZS1zZWxlY3QuZGlzYWJsZWQ6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYThhOGE4OyB9XG4gIC5uaWNlLXNlbGVjdC53aWRlIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5uaWNlLXNlbGVjdC53aWRlIC5saXN0IHtcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm5pY2Utc2VsZWN0LnJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgICAubmljZS1zZWxlY3QucmlnaHQgLmxpc3Qge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAwOyB9XG4gIC5uaWNlLXNlbGVjdC5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGhlaWdodDogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMzRweDsgfVxuICAgIC5uaWNlLXNlbGVjdC5zbWFsbDphZnRlciB7XG4gICAgICBoZWlnaHQ6IDRweDtcbiAgICAgIHdpZHRoOiA0cHg7IH1cbiAgICAubmljZS1zZWxlY3Quc21hbGwgLm9wdGlvbiB7XG4gICAgICBsaW5lLWhlaWdodDogMzRweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDM0cHg7IH1cbiAgLm5pY2Utc2VsZWN0IC5saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSg2OCwgNjgsIDY4LCAwLjExKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KSB0cmFuc2xhdGVZKC0xOC41cHgpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGN1YmljLWJlemllcigwLjUsIDAsIDAsIDEuMjUpLCBvcGFjaXR5IDAuMTVzIGVhc2Utb3V0O1xuICAgIHotaW5kZXg6IDk7IH1cbiAgLm5pY2Utc2VsZWN0IC5vcHRpb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzN3B4O1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgaGVpZ2h0OiAzN3B4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDI5cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgICBiYWNrZ3JvdW5kOiAjMjk3Nzk3O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzEyZTJmO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLm5pY2Utc2VsZWN0IC5vcHRpb246bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICAgLm5pY2Utc2VsZWN0IC5vcHRpb246aG92ZXIsIC5uaWNlLXNlbGVjdCAub3B0aW9uLmZvY3VzLCAubmljZS1zZWxlY3QgLm9wdGlvbi5zZWxlY3RlZC5mb2N1cyB7XG4gICAgICBjb2xvcjogI2ZmYjAzNjsgfVxuICAgIC5uaWNlLXNlbGVjdCAub3B0aW9uLnNlbGVjdGVkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLm5pY2Utc2VsZWN0IC5vcHRpb24uZGlzYWJsZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgICAgIGNvbG9yOiAjNzU3NTc1O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5uby1jc3Nwb2ludGVyZXZlbnRzIC5uaWNlLXNlbGVjdCAubGlzdCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm5vLWNzc3BvaW50ZXJldmVudHMgLm5pY2Utc2VsZWN0Lm9wZW4gLmxpc3Qge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKmFuaW1hdGlvbnMqL1xuLyoqKioqKioqKioqKioqKioqKlxuKiBCb3VuY2UgaW4gcmlnaHQgKlxuKioqKioqKioqKioqKioqKioqKi9cbi5hbmltYXRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5zbG93IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi5zbG93ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsgfVxuXG4uc2xvd2VzdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOyB9XG5cbi8qIEFkZGVkIGJ5IEFuZHkgTWVldGFuICovXG4uZGVsYXktMjUwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuMjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMC4yNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC4yNXM7IH1cblxuLmRlbGF5LTUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMC41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDAuNXM7IH1cblxuLmRlbGF5LTc1MCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDAuNzVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDAuNzVzO1xuICBhbmltYXRpb24tZGVsYXk6IDAuNzVzOyB9XG5cbi5kZWxheS0xMDAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEuMHM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAxLjBzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDEuMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMS4wczsgfVxuXG4uZGVsYXktMTI1MCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjI1cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEuMjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDEuMjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuMjVzOyB9XG5cbi5kZWxheS0xNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDEuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMS41czsgfVxuXG4uZGVsYXktMTc1MCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjc1cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDEuNzVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDEuNzVzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuNzVzOyB9XG5cbi5kZWxheS0yMDAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMi4wczsgfVxuXG4uZGVsYXktMjUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuNXM7IH1cblxuLmRlbGF5LTIwMDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjBzOyB9XG5cbi5kZWxheS0yNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMi41czsgfVxuXG4uZGVsYXktMzAwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAzLjBzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMy4wcztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAzLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IDMuMHM7IH1cblxuLmRlbGF5LTM1MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMy41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDMuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMy41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAzLjVzOyB9XG5cbi5ib3VuY2VJblJpZ2h0LFxuLmJvdW5jZUluTGVmdCxcbi5ib3VuY2VJblVwLFxuLmJvdW5jZUluRG93biB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuXG4uZmFkZUluUmlnaHQsXG4uZmFkZUluTGVmdCxcbi5mYWRlSW5VcCxcbi5mYWRlSW5Eb3duIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9XG5cbi5mbGlwSW5YLFxuLmZsaXBJblksXG4ucm90YXRlSW4sXG4ucm90YXRlSW5VcExlZnQsXG4ucm90YXRlSW5VcFJpZ2h0LFxuLnJvdGF0ZUluRG93bkxlZnQsXG4ucm90YXRlRG93blVwUmlnaHQsXG4ucm9sbEluIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4ubGlnaHRTcGVlZEluUmlnaHQsXG4ubGlnaHRTcGVlZEluTGVmdCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuXG4vKioqKioqKioqKipcbiogYm91bmNlSW4gKlxuKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMyk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMyk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSB9XG5cbi5ib3VuY2VJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47IH1cblxuLyoqKioqKioqKioqKioqKipcbiogYm91bmNlSW5SaWdodCAqXG4qKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uYm91bmNlSW5SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0OyB9XG5cbi8qKioqKioqKioqKioqKioqKipcbiogQm91bmNlIGluIGxlZnQgKlxuKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLmJvdW5jZUluTGVmdC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluTGVmdDsgfVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiB1cCAqXG4qKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDQwMHB4KTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG4uYm91bmNlSW5VcC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOyB9XG5cbi8qKioqKioqKioqKioqKioqKipcbiogQm91bmNlIGluIGRvd24gKlxuKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7IH1cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmJvdW5jZUluRG93bi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluRG93bjsgfVxuXG4vKioqKioqKioqKlxuKiBGYWRlIEluICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5mYWRlSW4ge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mYWRlSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47IH1cblxuLyoqKioqKioqKipcbiogR3JvdyBpbiAqXG4qKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBncm93SW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gICAgb3BhY2l0eTogMDsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyBncm93SW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmdyb3dJbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmdyb3dJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGdyb3dJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGdyb3dJbjsgfVxuXG4vKioqKioqKipcbiogU2hha2UgKlxuKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2Uge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7IH0gfVxuXG4uc2hha2UuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlOyB9XG5cbi8qKioqKioqKlxuKiBTaGFrZVVwICpcbioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHNoYWtlVXAge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBzaGFrZVVwIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMCUsXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTsgfSB9XG5cbi5zaGFrZVVwLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VVcDtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXA7IH1cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluTGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5mYWRlSW5MZWZ0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC00MDBweCk7IH1cblxuLmZhZGVJbkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsgfVxuXG4vKioqKioqKioqKioqKlxuKiBGYWRlSW5SaWdodCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5mYWRlSW5SaWdodCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsgfVxuXG4uZmFkZUluUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0OyB9XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJblVwICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmZhZGVJblVwIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpOyB9XG5cbi5mYWRlSW5VcC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7IH1cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluRG93biAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTsgfVxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMzsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5Eb3duIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7IH1cblxuLmZhZGVJbkRvd24uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsgfVxuXG4vKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW4gKlxuKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjsgfVxuXG4vKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5VcExlZnQgKlxuKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluVXBMZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJbkRvd25MZWZ0ICpcbioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluRG93bkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDsgfVxuXG4vKioqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluVXBSaWdodCAqXG4qKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluVXBSaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLnJvdGF0ZUluVXBSaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5Eb3duUmlnaHQgKlxuKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5yb3RhdGVJbkRvd25SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7IH1cblxuLyoqKioqKioqKlxuKiByb2xsSW4gKlxuKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb2xsSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvbGxJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9IH1cblxuLnJvbGxJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvbGxJbjsgfVxuXG4vKioqKioqKioqXG4qIHdpZ2dsZSAqXG4qKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHdpZ2dsZSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goOWRlZyk7IH1cbiAgMTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLThkZWcpOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDdkZWcpOyB9XG4gIDMwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC02ZGVnKTsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTsgfVxuICA1MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goM2RlZyk7IH1cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTJkZWcpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDFkZWcpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goOWRlZyk7IH1cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC04ZGVnKTsgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goN2RlZyk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC02ZGVnKTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goNWRlZyk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC00ZGVnKTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goM2RlZyk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0yZGVnKTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMWRlZyk7IH1cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMGRlZyk7IH0gfVxuXG4ud2lnZ2xlLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd2lnZ2xlO1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlO1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH1cblxuLyoqKioqKioqXG4qIHN3aW5nICpcbioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyOyB9XG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgc3dpbmcge1xuICAyMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH1cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfSB9XG5cbi5zd2luZy5nbyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZzsgfVxuXG4vKioqKioqKlxuKiB0YWRhICpcbioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHRhZGEge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwJSxcbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpOyB9XG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpOyB9XG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgdGFkYSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDEwJSxcbiAgMjAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTsgfVxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7IH1cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7IH0gfVxuXG4udGFkYS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG4gIGFuaW1hdGlvbi1uYW1lOiB0YWRhOyB9XG5cbi8qKioqKioqKipcbiogd29iYmxlICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfVxuICAxNSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7IH1cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTsgfVxuICA0NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7IH1cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTsgfVxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9XG4gIDE1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7IH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSByb3RhdGUoM2RlZyk7IH1cbiAgNDUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKTsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTsgfVxuICA3NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNSUpIHJvdGF0ZSgtMWRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfSB9XG5cbi53b2JibGUuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7XG4gIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7IH1cblxuLyoqKioqKioqXG4qIHB1bHNlICpcbioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBwdWxzZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwLjcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTsgfSB9XG5cbi5wdWxzZS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHB1bHNlO1xuICBhbmltYXRpb24tbmFtZTogcHVsc2U7IH1cblxuLyoqKioqKioqKioqKioqKlxuKiBsaWdodFNwZWVkSW5SaWdodCAqXG4qKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKC0xNWRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5saWdodFNwZWVkSW5SaWdodC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJblJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluUmlnaHQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG5cbi8qKioqKioqKioqKioqKipcbiogbGlnaHRTcGVlZEluTGVmdCAqXG4qKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmxpZ2h0U3BlZWRJbkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluTGVmdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cblxuLyoqKioqKipcbiogRmxpcCAqXG4qKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0OyB9XG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoMC45NSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUoMSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSgwLjk1KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHNjYWxlKDEpO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47IH0gfVxuXG4uZmxpcC5nbyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwOyB9XG5cbi8qKioqKioqKioqXG4qIGZsaXBJblggKlxuKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmbGlwSW5YIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpOyB9XG4gIDcwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDEwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcEluWCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDQwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpOyB9XG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmZsaXBJblguZ28ge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDsgfVxuXG4vKioqKioqKioqKlxuKiBmbGlwSW5ZICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgNDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsaXBJblkge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTsgfVxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5mbGlwSW5ZLmdvIHtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7IH1cblxuLyoqKioqKioqKioqKioqKioqXG4qIE91dCBhbmltYXRpb25zICpcbioqKioqKioqKioqKioqKioqL1xuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9XG4gIDI1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOTUpOyB9XG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjMpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAyNSUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC4zKTsgfSB9XG5cbi5ib3VuY2VPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0OyB9XG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0VXAgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0VXAge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH0gfVxuXG4uYm91bmNlT3V0VXAuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDsgfVxuXG4vKioqKioqKioqKioqXG4qIGJvdW5jZU91dERvd24gKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOyB9IH1cblxuQGtleWZyYW1lcyBib3VuY2VPdXREb3duIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOyB9IH1cblxuLmJvdW5jZU91dERvd24uZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247IH1cblxuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXRMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsgfSB9XG5cbi5ib3VuY2VPdXRMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0OyB9XG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0UmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuXG4uYm91bmNlT3V0UmlnaHQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDsgfVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uZmFkZU91dC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsgfVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXRVcCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRVcCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsgfSB9XG5cbi5mYWRlT3V0VXAuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwOyB9XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dERvd24gKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsgfSB9XG5cbi5mYWRlT3V0RG93bi5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duOyB9XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dExlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOyB9IH1cblxuLmZhZGVPdXRMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7IH1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0UmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOyB9IH1cblxuLmZhZGVPdXRSaWdodC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7IH1cblxuLyoqKioqKioqKioqKlxuKiBmbGlwT3V0WCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4uZmxpcE91dFguZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsgfVxuXG4vKioqKioqKioqKioqXG4qIGZsaXBPdXRZICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmbGlwT3V0WSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5mbGlwT3V0WSB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFk7IH1cblxuLyoqKioqKioqKioqKlxuKiBsaWdodFNwZWVkT3V0UmlnaHQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkT3V0UmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG4ubGlnaHRTcGVlZE91dFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRSaWdodDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOyB9XG5cbi8qKioqKioqKioqKipcbiogbGlnaHRTcGVlZE91dExlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLmxpZ2h0U3BlZWRPdXRMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dExlZnQ7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsgfVxuXG4vKioqKioqKioqKioqXG4qIHJvdGF0ZU91dCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0OyB9XG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0VXBMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLnJvdGF0ZU91dFVwTGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7IH1cblxuLyoqKioqKioqKioqKlxuKiByb3RhdGVPdXREb3duTGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDsgfSB9XG5cbi5yb3RhdGVPdXREb3duTGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0OyB9XG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0VXBSaWdodCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZU91dFVwUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwOyB9IH1cblxuLnJvdGF0ZU91dFVwUmlnaHQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7IH1cblxuLyoqKioqKioqKioqKlxuKiByb2xsT3V0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7IH0gfVxuXG4ucm9sbE91dC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDsgfVxuXG4vKioqKioqKioqKioqKioqKipcbiogU2hvcnQgQW5pbWF0aW9uc1xuKioqKioqKioqKioqKioqKioqKi9cbi8qKioqKioqKioqKioqKioqKioqKipcbiogZmFkZUluVXBTaG9ydFxuKioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwU2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5VcFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9IH1cblxuLmZhZGVJblVwU2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOyB9XG5cbi5mYWRlSW5VcFNob3J0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluVXBTaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwU2hvcnQ7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5Eb3duU2hvcnRcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5Eb3duU2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93blNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfSB9XG5cbi5mYWRlSW5Eb3duU2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7IH1cblxuLmZhZGVJbkRvd25TaG9ydC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25TaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25TaG9ydDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJblJpZ2h0U2hvcnQgXG4qKioqKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHRTaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhZGVJblJpZ2h0U2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuXG4uZmFkZUluUmlnaHRTaG9ydCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7IH1cblxuLmZhZGVJblJpZ2h0U2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodFNob3J0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRTaG9ydDsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJbkxlZnRTaG9ydCBcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0U2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfSB9XG5cbi5mYWRlSW5MZWZ0U2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7IH1cblxuLmZhZGVJbkxlZnRTaG9ydC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRTaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRTaG9ydDsgfVxuXG4vKioqKioqKioqKlxuKiBab29tIGluICpcbioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIG9wYWNpdHk6IC44OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5Aa2V5ZnJhbWVzIHpvb21JbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIG9wYWNpdHk6IC44OyB9XG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOyB9XG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuXG4uem9vbUluIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uem9vbUluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tbmFtZTogem9vbUluO1xuICBhbmltYXRpb24tZHVyYXRpb246IC41czsgfVxuXG4vKioqKioqKipcbiogU2hha2VVcDIgKlxuU2hha2UgYW5kIHBhdXNlIFxuKioqKioqKiovXG5Aa2V5ZnJhbWVzIHNoYWtlVXAyIHtcbiAgMCUsXG4gIDUwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsgfVxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOyB9IH1cblxuLnNoYWtldXAyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VVcDI7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVVwMjsgfVxuXG4uc2hha2UyIHtcbiAgLyogU3RhcnQgdGhlIHNoYWtlIGFuaW1hdGlvbiBhbmQgbWFrZSB0aGUgYW5pbWF0aW9uIGxhc3QgZm9yIDAuNSBzZWNvbmRzICovXG4gIGFuaW1hdGlvbjogc2hha2UgMXM7XG4gIC8qIFdoZW4gdGhlIGFuaW1hdGlvbiBpcyBmaW5pc2hlZCwgc3RhcnQgYWdhaW4gKi9cbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDFweCkgcm90YXRlKDBkZWcpOyB9XG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgLTJweCkgcm90YXRlKC0xZGVnKTsgfVxuICAyMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zcHgsIDBweCkgcm90YXRlKDFkZWcpOyB9XG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoM3B4LCAycHgpIHJvdGF0ZSgwZGVnKTsgfVxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgLTFweCkgcm90YXRlKDFkZWcpOyB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgMnB4KSByb3RhdGUoLTFkZWcpOyB9XG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTNweCwgMXB4KSByb3RhdGUoMGRlZyk7IH1cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzcHgsIDFweCkgcm90YXRlKC0xZGVnKTsgfVxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0xcHgsIC0xcHgpIHJvdGF0ZSgxZGVnKTsgfVxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgMnB4KSByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAtMnB4KSByb3RhdGUoLTFkZWcpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNobGlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAtNDBweCkgc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZsYXNobGlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAtNDBweCkgc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMjBweCwgLTQwcHgpIHNjYWxlKDEuMSk7IH0gfVxuXG4ucm90YXRpbmcge1xuICBhbmltYXRpb246IHJvdGF0aW5nIDMwcyBsaW5lYXIgaW5maW5pdGU7IH1cblxuQGtleWZyYW1lcyByb3RhdGlvbiB7XG4gIGZyb20ge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuLyotLS0gQWJvdXQgVGV4dCAtLS0qL1xuLyogdGV4dCB0cnVuY2F0ZSBtdWx0aWxpbmUgKi9cbi8qLS0tIEFib3V0IEltYWdlcyAtLS0qL1xuLyotLS0gQWJvdXQgUG9zaXRpb24gLS0tKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qLS0tIEFib3V0IEJ1dHRvbiAtLS0qL1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyotLS0gQ3VzdG9taXplIFNjcm9sbGJhciAtLS0qL1xuLyotLS0gQWJvdXQgVGV4dCAtLS0qL1xuLyotLS0gU21vb3RoIFNjcm9sbCAtLS0qL1xuOjpzZWxlY3Rpb24ge1xuICBjb2xvcjogIzAwNENBMjtcbiAgYmFja2dyb3VuZDogI2MwYzBjMDsgfVxuXG4vKi0tLSBBbmltYXRlIGEgLS0tKi9cbmEge1xuICB0cmFuc2l0aW9uOiBhbGwgLjJzOyB9XG4gIGEgaW1nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuXG4vKi0tLSBDdXN0b21pemUgU2Nyb2xsYmFyIC0tLSovXG4qIHtcbiAgLyogV29yayBvbiBGaXJlZm94ICovXG4gIHNjcm9sbGJhci13aWR0aDogNXB4O1xuICBzY3JvbGxiYXItY29sb3I6ICMwMDRDQTIgI2MwYzBjMDsgfVxuXG4qOjotd2Via2l0LXNjcm9sbGJhciB7XG4gIC8qIFdvcmtzIG9uIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaSAqL1xuICB3aWR0aDogNXB4OyB9XG5cbio6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgYmFja2dyb3VuZDogI2MwYzBjMDtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG5cbio6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwNENBMjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjMDA0Q0EyOyB9XG5cbi8qLS0tIENvbW1vbiBDbGFzc05hbWUgLS0tKi9cbi5sb29wLWluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLmxvb3AtNSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDU7IH1cblxuLyotLS0gQWJvdXQgQnV0dG9uIC0tLSovXG4uYnRuLWltYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG4gIC5idG4taW1hZ2UgaW1nOmxhc3QtY2hpbGQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmJ0bi1pbWFnZTpob3ZlciBpbWc6bGFzdC1jaGlsZCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5idG4taG92ZXItem9vbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLmJ0bi1ob3Zlci16b29tOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH1cblxuLmJ0bi1ob3Zlci10cmFuc2xhdGVYIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlLWluLW91dDsgfVxuICAuYnRuLWhvdmVyLXRyYW5zbGF0ZVg6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7IH1cblxuLmJ0bi1ob3Zlci10cmFuc2xhdGVZIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlLWluLW91dDsgfVxuICAuYnRuLWhvdmVyLXRyYW5zbGF0ZVk6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsgfVxuXG4uYnRuLWhvdmVyLXVuZGVybGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmJ0bi1ob3Zlci11bmRlcmxpbmU6YmVmb3JlIHtcbiAgICB3aWR0aDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuYnRuLWhvdmVyLXVuZGVybGluZTpob3ZlcjpiZWZvcmUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5idG4taG92ZXItYm9yZGVyLXdyYXBwaW5nIHtcbiAgcGFkZGluZzogMjBweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAuYnRuLWhvdmVyLWJvcmRlci13cmFwcGluZzpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBib3JkZXI6ICNmZmYwMDAgZGFzaGVkO1xuICAgIGJvcmRlci13aWR0aDogMDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggMC4xcyBlYXNlLW91dDsgfVxuICAuYnRuLWhvdmVyLWJvcmRlci13cmFwcGluZzpob3ZlcjpiZWZvcmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIGJvcmRlci13aWR0aDogNXB4OyB9XG5cbi5idG4taG92ZXItc2hpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuYnRuLWhvdmVyLXNoaW5lOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdG9wOiAtMTEwJTtcbiAgICBsZWZ0OiAtMjEwJTtcbiAgICB3aWR0aDogMjAwJTtcbiAgICBoZWlnaHQ6IDIwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMykgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMykgNzclLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgOTIlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDMwZGVnKTsgfVxuICAuYnRuLWhvdmVyLXNoaW5lOmhvdmVyOmFmdGVyIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc2hpbmUgLjc1cztcbiAgICBhbmltYXRpb246IHNoaW5lIC43NXM7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0b3A6IC0zMCU7XG4gICAgbGVmdDogLTMwJTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBsZWZ0LCB0b3AsIG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMXMsIDFzLCAuMTVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOyB9XG5cbi8qLS0tIEFib3V0IFRleHQgLS0tKi9cbi50ZXh0LXRydW5jYXRlIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4udGV4dC1zdHJva2Uge1xuICBmb250LXNpemU6IDEwMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoOTBkZWcsICMwMDAgMjAlLCAjZjAwIDUwJSk7XG4gIC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG4gIC13ZWJraXQtdGV4dC1zdHJva2U6IDVweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDEpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDsgfVxuXG4udGV4dC1ncmFkaWVudCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMTAwcHg7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZ2FjeS1kaXJlY3Rpb24oMTgwZGVnKSwgIzAwMCwgI2YwMCwgI2ZmZjAwMCk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICMwMDAsICNmMDAsICNmZmYwMDApO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qLS0tIEFib3V0IEltYWdlIC0tLSovXG4uaW1hZ2UtZml0IHtcbiAgd2lkdGg6IDI1MHB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAzNTBweDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuXG4vKi0tLSBBYm91dCBFZmZlY3QgLS0tKi9cbi5lZmZlY3QtZ3JhZGllbnQtbGluZWFyIHtcbiAgYmFja2dyb3VuZDogIzc3RDdFNztcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbih0byBib3R0b20pLCAjNzdEN0U3IDUwJSwgI2ZmMDAwMCA1MCUsICNmZmYwMDAgMTAwJSk7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM3N0Q3RTcgNTAlLCAjZmYwMDAwIDUwJSwgI2ZmZjAwMCAxMDAlKTsgfVxuXG4vKi0tLSBBYm91dCBPdGhlciAtLS0qL1xuLmhvdmVyLXN0b3AtYW5pbWF0ZWQ6aG92ZXIge1xuICAtd2Via2l0LWFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gIC1tb3otYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgLW8tYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgLXdlYmtpdC1hbmltYXRpb246IHN0ZXAtZW5kO1xuICAtbW96LWFuaW1hdGlvbmFuaW1hdGlvbjogc3RlcC1lbmQ7XG4gIGFuaW1hdGlvbjogc3RlcC1lbmQ7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNGXCI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIuZW90KTtcbiAgc3JjOiB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci5lb3QjaWVmaXgpIGZvcm1hdChcImVvdFwiKSwgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIud29mZjIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci53b2ZmKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci5zdmcpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiU0YtQm9sZFwiO1xuICBzcmM6IHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1TZW1pQm9sZC5lb3QpO1xuICBzcmM6IHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1TZW1pQm9sZC5lb3QjaWVmaXgpIGZvcm1hdChcImVvdFwiKSwgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVNlbWlCb2xkLndvZmYyKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVNlbWlCb2xkLndvZmYpIGZvcm1hdChcIndvZmZcIiksIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1TZW1pQm9sZC50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktU2VtaUJvbGQuc3ZnKSBmb3JtYXQoXCJzdmdcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInJvYm90b3NsYWJcIjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvcm9ib3Rvc2xhYi1yZWd1bGFyLmVvdCk7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL3JvYm90b3NsYWItcmVndWxhci5lb3QjaWVmaXgpIGZvcm1hdChcImVvdFwiKSwgdXJsKC4uL2ZvbnRzL3JvYm90b3NsYWItcmVndWxhci53b2ZmMikgZm9ybWF0KFwid29mZjJcIiksIHVybCguLi9mb250cy9yb2JvdG9zbGFiLXJlZ3VsYXIud29mZikgZm9ybWF0KFwid29mZlwiKSwgdXJsKC4uL2ZvbnRzL3JvYm90b3NsYWItcmVndWxhci50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoLi4vZm9udHMvcm9ib3Rvc2xhYi1yZWd1bGFyLnN2ZykgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJmel9lZGdlLW9mLXRoZS1nYWxheHktcG9zdGVyXCI7XG4gIHNyYzogdXJsKC4uL2ZvbnRzL2Z6X2VkZ2Utb2YtdGhlLWdhbGF4eS1wb3N0ZXIuZW90KTtcbiAgc3JjOiB1cmwoLi4vZm9udHMvZnpfZWRnZS1vZi10aGUtZ2FsYXh5LXBvc3Rlci5lb3QjaWVmaXgpIGZvcm1hdChcImVvdFwiKSwgdXJsKC4uL2ZvbnRzL2Z6X2VkZ2Utb2YtdGhlLWdhbGF4eS1wb3N0ZXIud29mZjIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoLi4vZm9udHMvZnpfZWRnZS1vZi10aGUtZ2FsYXh5LXBvc3Rlci53b2ZmKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoLi4vZm9udHMvZnpfZWRnZS1vZi10aGUtZ2FsYXh5LXBvc3Rlci50dGYpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoLi4vZm9udHMvZnpfZWRnZS1vZi10aGUtZ2FsYXh5LXBvc3Rlci5zdmcpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwidXZudGhhbmhwaG9cIjtcbiAgc3JjOiB1cmwoLi4vZm9udHMvdXZudGhhbmhwaG9fci5lb3QpO1xuICBzcmM6IHVybCguLi9mb250cy91dm50aGFuaHBob19yLmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLCB1cmwoLi4vZm9udHMvdXZudGhhbmhwaG9fci53b2ZmMikgZm9ybWF0KFwid29mZjJcIiksIHVybCguLi9mb250cy91dm50aGFuaHBob19yLndvZmYpIGZvcm1hdChcIndvZmZcIiksIHVybCguLi9mb250cy91dm50aGFuaHBob19yLnR0ZikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybCguLi9mb250cy91dm50aGFuaHBob19yLnN2ZykgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi5sb2dvIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwcHg7XG4gIGxlZnQ6IDQ1JTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB6LWluZGV4OiAzOyB9XG5cbi5oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDkwMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB6LWluZGV4OiAyO1xuICBwYWRkaW5nOiAwIDA7IH1cbiAgLmhlYWRlciAuYWdlMTgge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDcwcHg7XG4gICAgbGVmdDogMTBweDtcbiAgICB3aWR0aDogMTg0cHg7XG4gICAgaGVpZ2h0OiA3MHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvMThwLmdpZikgbm8tcmVwZWF0O1xuICAgIHotaW5kZXg6IDY7IH1cbiAgLmhlYWRlciAuY29udGFpbmVyLCAuaGVhZGVyIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5oZWFkZXIgLm5hdmJhci1uYXYge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogNjBweDtcbiAgICBwYWRkaW5nOiAwIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICMxMDE0MTM7IH1cbiAgICAuaGVhZGVyIC5uYXZiYXItbmF2IHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMHB4IDAgMCAwcHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1mYW1pbHk6IHJvYm90b3NsYWI7IH1cbiAgICAgIC5oZWFkZXIgLm5hdmJhci1uYXYgdWwgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgLmhlYWRlciAubmF2YmFyLW5hdiB1bCBsaTpudGgtY2hpbGQoMykge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMjkwcHg7IH1cbiAgICAgICAgLmhlYWRlciAubmF2YmFyLW5hdiB1bCBsaSBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDU5cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDU5cHg7XG4gICAgICAgICAgYW5pbWF0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgIGNvbG9yOiAjZmNmM2QwO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7IH1cbiAgICAgICAgICAuaGVhZGVyIC5uYXZiYXItbmF2IHVsIGxpIGE6aG92ZXIsIC5oZWFkZXIgLm5hdmJhci1uYXYgdWwgbGkgYS5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6ICNiNDgzMDA7IH1cbiAgICAgICAgLmhlYWRlciAubmF2YmFyLW5hdiB1bCBsaSB1bCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWluLXdpZHRoOiAxODBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAxMTAlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgYmFja2dyb3VuZDogIzE4MTYxMztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAgICAgLmhlYWRlciAubmF2YmFyLW5hdiB1bCBsaSB1bCBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjNDU0MzQwOyB9XG4gIC5oZWFkZXIgLnRleHQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNDBweDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgLmhlYWRlciAucGxheS12aWRlbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAwcHg7XG4gICAgbGVmdDogNDQ1cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyOyB9XG4gICAgLmhlYWRlciAucGxheS12aWRlbzpob3ZlciB7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTUwJSk7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAuaGVhZGVyIC5wbGF5LXZpZGVvIHtcbiAgICAgICAgYm90dG9tOiAxMCU7IH0gfVxuICAuaGVhZGVyIC5hdmF0YXIge1xuICAgIG1hcmdpbjogMCAxMHB4IDAgMDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5oZWFkZXIgLmF2YXRhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuaGVhZGVyIC5zZWFyY2gge1xuICAgIHdpZHRoOiAxODBweDtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjNjU2MDVmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogIzExMTExMTsgfVxuICAgIC5oZWFkZXIgLnNlYXJjaCAua2V5d29yZCB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICBjb2xvcjogIzY1NjA1ZjtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIC5oZWFkZXIgLnNlYXJjaCAuc3VibWl0LWJ0biB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogIzY1NjA1ZjtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cblxuLmJ1dHRvbnMtYmxvY2sge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNjkzcHg7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDE3NXB4O1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2J1dHRvbnMtYmxvY2stYmcucG5nKSBuby1yZXBlYXQgMCAwOyB9XG4gIC5idXR0b25zLWJsb2NrIC5zZXJ2ZXItcGxhbiB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogNDE1cHg7XG4gICAgbWFyZ2luOiAwIDAgMHB4IDA7XG4gICAgcGFkZGluZzogMjBweCAwIDAgMDsgfVxuICAgIC5idXR0b25zLWJsb2NrIC5zZXJ2ZXItcGxhbiAudGl0bGUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICBmb250LWZhbWlseTogcm9ib3Rvc2xhYjsgfVxuICAgICAgLmJ1dHRvbnMtYmxvY2sgLnNlcnZlci1wbGFuIC50aXRsZSBpbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuICAgICAgLmJ1dHRvbnMtYmxvY2sgLnNlcnZlci1wbGFuIC50aXRsZSBzcGFuIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjODg1NTFkO1xuICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKDBkZWcpLCAjODg1NTFkLCAjODg1NTFkLCAjNDUyYjBlKTtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsICM4ODU1MWQsICM4ODU1MWQsICM0NTJiMGUpO1xuICAgICAgICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgICAgICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDFweCAxcHggMXB4IHJnYmEoNTEsIDUxLCA1MSwgMC42KSk7IH1cbiAgICAuYnV0dG9ucy1ibG9jayAuc2VydmVyLXBsYW4tbGlzdCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgcGFkZGluZzogMCAzNXB4O1xuICAgICAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gICAgICAuYnV0dG9ucy1ibG9jayAuc2VydmVyLXBsYW4tbGlzdCBsaSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUvMyk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IGRhc2hlZCAxcHggI2YyZWFjYTtcbiAgICAgICAgcGFkZGluZzogMnB4IDAgMnB4IDIwcHg7XG4gICAgICAgIGNvbG9yOiAjNjk0ZjMyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgICAgIC5idXR0b25zLWJsb2NrIC5zZXJ2ZXItcGxhbi1saXN0IGxpOm50aC1sYXN0LWNoaWxkKC1uKzMpIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgICAgLmJ1dHRvbnMtYmxvY2sgLnNlcnZlci1wbGFuLWxpc3QgbGkubmV3IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24tbmV3LnBuZykgbm8tcmVwZWF0IHJpZ2h0IDVweDsgfVxuICAgICAgICAuYnV0dG9ucy1ibG9jayAuc2VydmVyLXBsYW4tbGlzdCBsaS5mdWxsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24tZnVsbC5wbmcpIG5vLXJlcGVhdCByaWdodCA1cHg7IH1cbiAgICAgICAgLmJ1dHRvbnMtYmxvY2sgLnNlcnZlci1wbGFuLWxpc3QgbGkgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZzogMCAzNXB4IDAgMjVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24tZG90LnBuZykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xuICAgICAgICAgIGNvbG9yOiAjNjk0ZjMyOyB9XG4gICAgICAgICAgLmJ1dHRvbnMtYmxvY2sgLnNlcnZlci1wbGFuLWxpc3QgbGkgYS5hY3RpdmUsIC5idXR0b25zLWJsb2NrIC5zZXJ2ZXItcGxhbi1saXN0IGxpIGE6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLWRvdC1ob3Zlci5wbmcpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAjYTY3ODQ0OyB9XG4gICAgLmJ1dHRvbnMtYmxvY2sgLnNlcnZlci1wbGFuLW1vcmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjFzO1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAgICAgLmJ1dHRvbnMtYmxvY2sgLnNlcnZlci1wbGFuLW1vcmU6aG92ZXIge1xuICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTUwJSk7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLmJsb2NrLTEge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmJ1dHRvbnMtYmxvY2sgLmJsb2NrLTEgLmltYWdlLWJ0biB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5idXR0b25zLWJsb2NrIC5ibG9jay0xIC50YWlnYW1lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAtMzBweCAyMHB4IDAgMHB4OyB9XG4gICAgLmJ1dHRvbnMtYmxvY2sgLmJsb2NrLTEgLm5hcC1idG4ge1xuICAgICAgbWFyZ2luLXRvcDogNHB4OyB9XG4gIC5idXR0b25zLWJsb2NrIC5ibG9jay0yIHtcbiAgICB3aWR0aDogMjgwcHg7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAxMHB4IDBweCAwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgLmJ1dHRvbnMtYmxvY2sgLmJsb2NrLTIgLmltYWdlLWJ0biB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5idXR0b25zLWJsb2NrIC5ibG9jay0yIC5ib3gtaW5wdXQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDAgMCAwcHg7XG4gICAgICB3aWR0aDogMTc1cHg7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLmxvZ2luIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICMyMDFmMWY7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbjogOXB4IDAgMCAwOyB9XG4gICAgLmJ1dHRvbnMtYmxvY2sgLmxvZ2luIC5mb3Jnb3QtcGFzcyB7XG4gICAgICBjb2xvcjogIzIwMWYxZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDEycHg7IH1cbiAgICAgIC5idXR0b25zLWJsb2NrIC5sb2dpbiAuZm9yZ290LXBhc3M6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2JhNDQ0MjsgfVxuICAgIC5idXR0b25zLWJsb2NrIC5sb2dpbi1mb3JtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5idXR0b25zLWJsb2NrIC5sb2dpbiBhIHtcbiAgICAgIGNvbG9yOiAjYmE0NDQyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDsgfVxuICAgICAgLmJ1dHRvbnMtYmxvY2sgLmxvZ2luIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50OyB9XG4gIC5idXR0b25zLWJsb2NrIC5sb2dpbi1mb3JtLWlucHV0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZGNkY2RjO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICB3aWR0aDogMTY1cHg7XG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2E0OWE5MDtcbiAgICBwYWRkaW5nOiA2cHggNXB4O1xuICAgIGhlaWdodDogMzFweDtcbiAgICBjb2xvcjogIzFmMWUxZTtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLmVycm9yIHtcbiAgICBjb2xvcjogI2JhNDQ0MjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgaGVpZ2h0OiAxOHB4OyB9XG4gIC5idXR0b25zLWJsb2NrIC5mb3JtLXN1Ym1pdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDgzcHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGFuZ25oYXAtYnRuLmpwZyk7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAuYnV0dG9ucy1ibG9jayAuc29jaWFsLWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNzBweDtcbiAgICByaWdodDogMzJweDsgfVxuICAgIC5idXR0b25zLWJsb2NrIC5zb2NpYWwtYnRuIGE6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLmxvZ2dlZCB7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICBjb2xvcjogIzFmMWUxZTsgfVxuICAgIC5idXR0b25zLWJsb2NrIC5sb2dnZWQgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMnB4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuYnV0dG9ucy1ibG9jayAubG9nZ2VkIC51c2VybmFtZSB7XG4gICAgICB3aWR0aDogMTMwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICAgICAgY29sb3I6ICNjODQ0MWI7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuYnV0dG9ucy1ibG9jayAubG9nZ2VkIC5sb2dvdXQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgY29sb3I6ICMxZjFlMWU7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgICAgLmJ1dHRvbnMtYmxvY2sgLmxvZ2dlZCAubG9nb3V0OmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5idXR0b25zLWJsb2NrIC5sb2dnZWQgLnNlcnZlci1uZXcge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2ZXItbmV3LWJnLmpwZykgbm8tcmVwZWF0IDAgMDtcbiAgICAgIGNvbG9yOiAjM2QyYTIyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDVweDsgfVxuICAuYnV0dG9ucy1ibG9jayAubmFwdGhlLWJ0biB7XG4gICAgbWFyZ2luOiAyMHB4IDAgMCAwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7IH1cbiAgICAuYnV0dG9ucy1ibG9jayAubmFwdGhlLWJ0bjpob3ZlciB7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTMwJSk7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLmJnc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzZDJhMjI7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjZweDtcbiAgICBtYXJnaW46IDAgYXV0byA1cHg7IH1cbiAgICAuYnV0dG9ucy1ibG9jayAuYmdzZWxlY3Qgc3BhbiB7XG4gICAgICBjb2xvcjogIzNkMmEyMjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7IH1cbiAgLmJ1dHRvbnMtYmxvY2sgLm5pY2Utc2VsZWN0IC5saXN0IHtcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XG4gICAgaGVpZ2h0OiAxNzBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIC5idXR0b25zLWJsb2NrIC5uaWNlLXNlbGVjdCAub3B0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjNmE1YTQ5O1xuICAgIGNvbG9yOiAjZDdjNmI4OyB9XG4gIC5idXR0b25zLWJsb2NrIC5jaG9pbmdheS1idG4ge1xuICAgIHdpZHRoOiA4M3B4O1xuICAgIGhlaWdodDogMzBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jaG9pbmdheS1iZy5naWYpIG5vLXJlcGVhdCAwIDAvMTAwJSAxMDAlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuOnJvb3Qge1xuICAvKiBOb3QgbXkgZmF2b3JpdGUgdGhhdCBsaW5lLWhlaWdodCBoYXMgdG8gYmUgdW5pdGVkLCBidXQgbmVlZGVkICovXG4gIC0tbGg6IDEuNHJlbTsgfVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGgpOyB9XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmMmYwICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMDEwMTAxICFpbXBvcnRhbnQ7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgbGluZS1oZWlnaHQ6IDEuNSAhaW1wb3J0YW50O1xuICBmb250LWZhbWlseTogU0YgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbmEge1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICMwNDQ1OWI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGNvbG9yOiAjMDU1YmNkOyB9XG5cbi5zaG93LW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5zaG93LW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5zaG93LWRlc2t0b3Age1xuICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgLnNob3ctZGVza3RvcCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLmxvb3AtNSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDU7IH1cblxuLyotLS0tIENvbnRlbnQgQ1NTIFZhcmlibGVzIC0tLS0qL1xuLyotLS0gSW1hZ2UgLS0tLS0qL1xuLyotLS0gTm90aWNlIEJveCAtLS0qL1xuLyotLS0tIEVuZCBDb250ZW50IENTUyBWYXJpYmxlcyAtLS0tKi9cbi8qIEdlbmVyYWwgKi9cbi5TdGF0aWNNYWluIHtcbiAgbWFyZ2luOiBjYWxjKDEuMjgxMjVyZW0gKyAwLjM3NXZ3KSAwO1xuICBjbGVhcjogYm90aDtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgbWluLWhlaWdodDogOTMwcHg7XG4gIGNvbG9yOiAjMzUzNTNjO1xuICAvKiBUZXh0IHN0eWxlcyAqL1xuICAvKiBFTkQuIFRleHQgc3R5bGVzICovXG4gIC8qIEltYWdlIHN0eWxlcyAqL1xuICAvKiBOb3RpY2UgYm94ICovXG4gIC8qIExpc3Qgc3R5bGVzICovIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIC5TdGF0aWNNYWluIHtcbiAgICAgIG1hcmdpbjogMS41NjI1cmVtIDA7IH0gfVxuICAuU3RhdGljTWFpbiBoMyB7XG4gICAgZm9udC1mYW1pbHk6IFNGLUJvbGQ7XG4gICAgY29sb3I6ICNkN2M2Yjg7XG4gICAgZm9udC1zaXplOiAzZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMHB4IDAgMzBweCAwOyB9XG4gIC5TdGF0aWNNYWluIGEge1xuICAgIGNvbG9yOiAjYjQ4MzAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLlN0YXRpY01haW4gYTpob3ZlciB7XG4gICAgICBjb2xvcjogI2I0NTkwMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuU3RhdGljTWFpbiBwIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIC5TdGF0aWNNYWluIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgIHBhZGRpbmc6IDAgMCAwIDA7IH1cbiAgICAuU3RhdGljTWFpbiB1bCBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgcGFkZGluZzogMCAwIDAgMHB4O1xuICAgICAgbWFyZ2luOiAwIDAgNXB4IDIwcHg7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsIGxpIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogY2lyY2xlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweCAwOyB9XG4gIC5TdGF0aWNNYWluIG9sIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7IH1cbiAgICAuU3RhdGljTWFpbiBvbCBsaSB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgbGlzdC1zdHlsZTogZGVjaW1hbCAhaW1wb3J0YW50OyB9XG4gIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIHtcbiAgICBtYXJnaW46IDBweCAzMHB4IDIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGUgbm9uZTsgfVxuICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDQ5JTtcbiAgICAgIHBhZGRpbmc6IDAgMCA1cHggMXB4O1xuICAgICAgbWFyZ2luOiAwIDElIDAgMDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkge1xuICAgICAgICAgIHdpZHRoOiAzMSU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTsgfSB9XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIHtcbiAgICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMiU7IH0gfVxuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSB7XG4gICAgICAgICAgd2lkdGg6IDk4JTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlOyB9IH1cbiAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICNiNDgzMDA7IH1cbiAgICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkgYTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgaGVpZ2h0OiA4cHg7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2I0ODMwMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIGEuQWN0aXZlLFxuICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkgYS5BY3RpdmU6aG92ZXIsXG4gICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNiNDU5MDA7IH1cbiAgICAgICAgLlN0YXRpY01haW4gLkFuY2hvckxpbmsgbGkgYS5BY3RpdmU6YmVmb3JlLFxuICAgICAgICAuU3RhdGljTWFpbiAuQW5jaG9yTGluayBsaSBhLkFjdGl2ZTpob3ZlcjpiZWZvcmUsXG4gICAgICAgIC5TdGF0aWNNYWluIC5BbmNob3JMaW5rIGxpIGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjYjQ1OTAwO1xuICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICNiNDU5MDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgIGNvbG9yOiAjMDU1YmNkOyB9XG4gIC5TdGF0aWNNYWluIC5GaXJzdENoYXIge1xuICAgIHBhZGRpbmc6IDRweCA0cHggMCAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjb2xvcjogIzM1MzUzYzsgfVxuICAuU3RhdGljTWFpbiAuQ29udGVudEJsb2NrIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuU3RhdGljTWFpbiAuSW1hZ2VzQmxvY2sge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5TdGF0aWNNYWluIC5JbWdDZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDkwJTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgLlN0YXRpY01haW4gaDQge1xuICAgIGNvbG9yOiAjZjE5NDVhO1xuICAgIHBhZGRpbmc6IDEwcHggMCAxMHB4IDUwcHg7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbjogMCAwIDVweCAwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2NvbnRlbnQvaWNvbi1oNC5wbmdcIikgbm8tcmVwZWF0OyB9XG4gIC5TdGF0aWNNYWluIC5Db250ZW50SDQge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbjogMCAwIDEwcHggNTBweDtcbiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7IH1cbiAgICAuU3RhdGljTWFpbiAuQ29udGVudEg0IHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIC8qdGV4dC1hbGlnbjoganVzdGlmeTsqLyB9XG4gIC5TdGF0aWNNYWluIC5JbWFnZXNINCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMCAwIDIwcHggNTBweDsgfVxuICAuU3RhdGljTWFpbiBoNSB7XG4gICAgY29sb3I6ICNmMTk0NWE7XG4gICAgcGFkZGluZzogMTBweCAwIDEwcHggNDBweDtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDUwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9jb250ZW50L2ljb24taDUucG5nXCIpIG5vLXJlcGVhdCAwIDBweDsgfVxuICAuU3RhdGljTWFpbiAuQ29udGVudEg1IHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBtYXJnaW46IDAgMCAwIDkwcHg7XG4gICAgcGFkZGluZzogMCAwIDIwcHg7IH1cbiAgICAuU3RhdGljTWFpbiAuQ29udGVudEg1IHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbiAgLlN0YXRpY01haW4gLkltYWdlc0g1IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIDAgMjBweCA0MHB4OyB9XG4gIC5TdGF0aWNNYWluIHRhYmxlIHtcbiAgICBib3JkZXItdG9wOiBzb2xpZCAxcHggIzFmMDAyYjtcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH1cbiAgICAuU3RhdGljTWFpbiB0YWJsZSB0aGVhZCB0ciB0aCB7XG4gICAgICBjb2xvcjogI2Q3YzZiODtcbiAgICAgIGJhY2tncm91bmQ6ICMzOTI4MWY7XG4gICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzFmMDAyYjtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzFmMDAyYjtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMWYwMDJiO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLlN0YXRpY01haW4gdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RiZDBjNTsgfVxuICAgIC5TdGF0aWNNYWluIHRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlYmU4OyB9XG4gICAgLlN0YXRpY01haW4gdGFibGUgdGJvZHkgdHIgdGQge1xuICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzFmMDAyYjtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBjb2xvcjogIzM5MjgxZjsgfVxuICAgICAgLlN0YXRpY01haW4gdGFibGUgdGJvZHkgdHIgdGQgYSB7XG4gICAgICAgIGNvbG9yOiAjMzkyODFmOyB9XG4gICAgICAgIC5TdGF0aWNNYWluIHRhYmxlIHRib2R5IHRyIHRkIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjMDU1YmNkOyB9XG4gIC5TdGF0aWNNYWluIHRhYmxlLk5vdGljZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzFmMDAyYjsgfVxuICAgIC5TdGF0aWNNYWluIHRhYmxlLk5vdGljZSB0ciB0ZCB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMWYwMDJiOyB9XG4gICAgICAuU3RhdGljTWFpbiB0YWJsZS5Ob3RpY2UgdHIgdGQgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAgIC5TdGF0aWNNYWluIHRhYmxlLk5vdGljZSB0ciB0ZCB1bCxcbiAgICAgIC5TdGF0aWNNYWluIHRhYmxlLk5vdGljZSB0ciB0ZCBvbCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDsgfVxuICAuU3RhdGljTWFpbiAuVGV4dENlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5TdGF0aWNNYWluIC5UZXh0UmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5TdGF0aWNNYWluIC5TdHJvbmcwMSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICBjb2xvcjogI2YxOTQ1YTsgfVxuICAuU3RhdGljTWFpbiAuU3Ryb25nMDIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgY29sb3I6ICNhZjJlMjM7IH1cbiAgLlN0YXRpY01haW4gLlN0cm9uZzAzIHtcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIGNvbG9yOiAjNDhiOGY4OyB9XG4gIC5TdGF0aWNNYWluIC5UZXh0Rm9udDE3IHtcbiAgICBmb250LXNpemU6IDE3cHg7IH1cbiAgLlN0YXRpY01haW4gLlRleHRGb250MTkge1xuICAgIGZvbnQtc2l6ZTogMTlweDsgfVxuICAuU3RhdGljTWFpbiAuVGV4dEZvbnQyMSB7XG4gICAgZm9udC1zaXplOiAyMXB4OyB9XG4gIC5TdGF0aWNNYWluIC5Ob0JvcmRlckltZyB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICAuU3RhdGljTWFpbiAuQm9yZGVySW1nIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgcGFkZGluZzogMHB4OyB9XG4gIC5TdGF0aWNNYWluIC5JbWdMZWZ0IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDFweCAxMHB4IDVweCAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7IH1cbiAgLlN0YXRpY01haW4gLkltZ1JpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwIDAgNXB4IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDsgfVxuICAuU3RhdGljTWFpbiBibG9ja3F1b3RlIHtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICMxZjAwMmI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogMCAyMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggNDBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgIC5TdGF0aWNNYWluIGJsb2NrcXVvdGU6YmVmb3JlLCAuU3RhdGljTWFpbiBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBjb250ZW50OiAnJzsgfVxuICAgIC5TdGF0aWNNYWluIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgICAuU3RhdGljTWFpbiBibG9ja3F1b3RlOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIwcHggMDsgfVxuICAuU3RhdGljTWFpbiAuTm90aWNlQm94IHtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjOGQ4ZDhkO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI2VmZWJlODsgfVxuICAgIC5TdGF0aWNNYWluIC5Ob3RpY2VCb3ggcC5MZWdlbmQge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgYmFja2dyb3VuZDogI2FmMmUyMztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIG1hcmdpbjogLTIwcHggMCAxMHB4O1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBib3JkZXI6IHNvbGlkIDFweCAjYWYyZTIzOyB9XG4gICAgLlN0YXRpY01haW4gLk5vdGljZUJveCAuTm90ZUNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgIGNvbG9yOiAjMWUyYzE5OyB9XG4gICAgICAuU3RhdGljTWFpbiAuTm90aWNlQm94IC5Ob3RlQ29udGVudCBhIHtcbiAgICAgICAgY29sb3I6ICMxYzc2ZmQ7IH1cbiAgICAgICAgLlN0YXRpY01haW4gLk5vdGljZUJveCAuTm90ZUNvbnRlbnQgYTpob3ZlciB7XG4gICAgICAgICAgY29sb3I6ICNmZDRiMzY7IH1cbiAgLlN0YXRpY01haW4gdWwuRGVjaW1hbCB7XG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggMHB4OyB9XG4gICAgLlN0YXRpY01haW4gdWwuRGVjaW1hbCBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuICAgICAgLlN0YXRpY01haW4gdWwuRGVjaW1hbCBsaSB1bCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7IH1cbiAgLlN0YXRpY01haW4gdWwuVXBwZXJBbHBoYSB7XG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggMHB4OyB9XG4gICAgLlN0YXRpY01haW4gdWwuVXBwZXJBbHBoYSBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLlVwcGVyQWxwaGEgbGkgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XG4gIC5TdGF0aWNNYWluIHVsLkxvd2VyQWxwaGEge1xuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDBweDsgfVxuICAgIC5TdGF0aWNNYWluIHVsLkxvd2VyQWxwaGEgbGkge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5Mb3dlckFscGhhIGxpIHVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxuICAuU3RhdGljTWFpbiB1bC5JY29uIHtcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCA1cHg7IH1cbiAgICAuU3RhdGljTWFpbiB1bC5JY29uIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5JY29uIGxpOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICBjb250ZW50OiBcIlxcZTA3NFwiO1xuICAgICAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnNIYWxmbGluZ3MnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAgIC5TdGF0aWNNYWluIHVsLkljb24gbGkgdWwge1xuICAgICAgICBwYWRkaW5nLXRvcDogNXB4OyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5JY29uIGxpIHVsLkxvd2VyQWxwaGEgbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGxvd2VyLWFscGhhO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDsgfVxuICAuU3RhdGljTWFpbiB1bC5EYXNoIHtcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCA1cHg7IH1cbiAgICAuU3RhdGljTWFpbiB1bC5EYXNoIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5EYXNoIGxpOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICBjb250ZW50OiBcIlxcMjIxMlwiO1xuICAgICAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnNIYWxmbGluZ3MnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5EYXNoIGxpIHVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxuICAuU3RhdGljTWFpbiB1bC5EaXNjIHtcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCA1cHg7IH1cbiAgICAuU3RhdGljTWFpbiB1bC5EaXNjIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5EaXNjIGxpOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICBjb250ZW50OiBcIlxcZTE2NVwiO1xuICAgICAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnNIYWxmbGluZ3MnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNXB4O1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuU3RhdGljTWFpbiB1bC5EaXNjIGxpIHVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDsgfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZDogI2Y3ZmNmZTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG4gIGJvZHkgLndyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYmcuanBnKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47IH1cbiAgICBib2R5IC53cmFwcGVyLnN1YiB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JnLXRvcC5qcGcpIG5vLXJlcGVhdCB0b3AgY2VudGVyLCB1cmwoLi4vaW1hZ2VzL2JnLWJvdHRvbS5qcGcpIG5vLXJlcGVhdCBib3R0b20gY2VudGVyICNkZmRhY2Y7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87IH1cbiAgICBib2R5IC53cmFwcGVyLnN1Yi1zZXJ2ZXIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iZy1zZXJ2ZXIuanBnKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcbiAgICAgIGhlaWdodDogMTA4MHB4OyB9XG4gICAgICBib2R5IC53cmFwcGVyLnN1Yi1zZXJ2ZXIgLmxvZ28ge1xuICAgICAgICBsZWZ0OiAxNSU7IH1cbiAgICBib2R5IC53cmFwcGVyLTQwNCB7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iZy00MDQuanBnKSBuby1yZXBlYXQgY2VudGVyIHRvcC9jb3ZlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWZsb3c6IGNvbHVtbjsgfVxuICAgICAgYm9keSAud3JhcHBlci00MDQgLmxvZ28ge1xuICAgICAgICB0b3A6IDMlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgYm9keSAud3JhcHBlci00MDQgLmxvZ28ge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3MCU7IH0gfVxuICAgICAgYm9keSAud3JhcHBlci00MDQgLmhvbWUtYnRuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IGNhbGMoMyUgKyAyMDBweCk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwOHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZlci1idG4ucG5nKSBuby1yZXBlYXQgMCAwLzEwMCUgMTAwJTtcbiAgICAgICAgY29sb3I6ICNmZmZiZWU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LWZhbWlseTogJ1NGLUJvbGQnO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMnB4ICMzMzMzMzM7IH1cbiAgICAgICAgYm9keSAud3JhcHBlci00MDQgLmhvbWUtYnRuOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZlci1idG4taG92ZXIucG5nKSBuby1yZXBlYXQgMCAwLzEwMCUgMTAwJTsgfVxuICBib2R5IC5jb250YWluZXIsIGJvZHkgLmhlYWRlci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBib2R5IC5zZWN0aW9uLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG8gMzBweDsgfVxuICBib2R5IC5zZWN0aW9uLTEgLmNvbnRhaW5lciwgYm9keSAuc2VjdGlvbi0xIC5oZWFkZXItY29udGFpbmVyIHtcbiAgICBoZWlnaHQ6IDM2MnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIGF1dG8gNjBweDtcbiAgICBwYWRkaW5nOiA0cHggNHB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc2VjdGlvbjEtYmcuanBnKSBuby1yZXBlYXQgMCAwOyB9XG5cbi5iYW5uZXItc2xpZGVyIHtcbiAgd2lkdGg6IDUxOHB4O1xuICBtYXJnaW46IDAgMTRweCAwIDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYmFubmVyLXNsaWRlciAuc3dpcGVyLXNsaWRlIHtcbiAgICBsaW5lLWhlaWdodDogMC41O1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmJhbm5lci1zbGlkZXIgLnN3aXBlci1zbGlkZSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5iYW5uZXItc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBib3R0b206IDBweDsgfVxuICAgIC5iYW5uZXItc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcbiAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9kYWNzYWMtcGFnaW5nLnBuZykgbm8tcmVwZWF0IDAgMCAhaW1wb3J0YW50O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIG1hcmdpbjogNXB4OyB9XG4gICAgLmJhbm5lci1zbGlkZXIgLnN3aXBlci1wYWdpbmF0aW9uIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICAgIHdpZHRoOiAyOHB4O1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9kYWNzYWMtcGFnaW5nLWhvdmVyLnBuZykgbm8tcmVwZWF0IDAgMCAhaW1wb3J0YW50OyB9XG4gIC5iYW5uZXItc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGMxNDEwICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50OyB9XG4gIC5iYW5uZXItc2xpZGVyIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTgxOTE5ICFpbXBvcnRhbnQ7IH1cblxuLmJ1dHRvbnMge1xuICB3aWR0aDogMTAycHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtZmxvdzogY29sdW1uO1xuICBsaW5lLWhlaWdodDogMC43OyB9XG4gIC5idXR0b25zIGE6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAuYnV0dG9ucyBhOmhvdmVyIHtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTMwJSk7IH1cblxuLyotIFZhcmlhYmxlIC0qL1xuLm5ld3Mge1xuICBtYXJnaW46IDAgMTBweCAwIDA7XG4gIHdpZHRoOiA1MTVweDtcbiAgcGFkZGluZzogMTVweCAzMHB4IDE1cHggMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5uZXdzLXRhYiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDAgMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMzNTM1M2M7IH1cbiAgICAubmV3cy10YWIgbGkgYSB7XG4gICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6ICdyb2JvdG9zbGFiJztcbiAgICAgIGNvbG9yOiAjMzUzNTNjO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweCAzMHB4O1xuICAgICAgYm9yZGVyOiBub25lOyB9XG4gICAgICAubmV3cy10YWIgbGkgYS5hY3RpdmUsIC5uZXdzLXRhYiBsaSBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNiNDgzMDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDRweCAjNjk0ZjMyOyB9XG4gICAgLm5ld3MtdGFiIGxpOm5vdCg6bGFzdC1jaGlsZCkgYSB7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH1cbiAgLm5ld3MgLnRhYi1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cblxuLmhlYWRpbmcge1xuICBoZWlnaHQ6IDU2cHg7XG4gIGxpbmUtaGVpZ2h0OiA1NnB4O1xuICBjb2xvcjogI2RhYjk3OTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LWZhbWlseTogJ3JvYm90b3NsYWInO1xuICBtYXJnaW46IDBweCBhdXRvIDIwcHg7IH1cblxuLnNjcmVlbnNob3Qge1xuICBtYXJnaW46IDgwcHggMDsgfVxuICAuc2NyZWVuc2hvdCAjYWNjb3JkaW9uLXNjcmVlbnNob3Qge1xuICAgIHdpZHRoOiAxMTEwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGhlaWdodDogNDc0cHg7IH1cbiAgICAuc2NyZWVuc2hvdCAjYWNjb3JkaW9uLXNjcmVlbnNob3QgLnBhbmEtYWNjb3JkaW9uLWl0ZW0ge1xuICAgICAgaGVpZ2h0OiA0NzRweDsgfVxuICAgIC5zY3JlZW5zaG90ICNhY2NvcmRpb24tc2NyZWVuc2hvdCAucGFuYS1hY2NvcmRpb24taXRlbSBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAgIC5zY3JlZW5zaG90ICNhY2NvcmRpb24tc2NyZWVuc2hvdCAucGFuYS1hY2NvcmRpb24taXRlbSAudGh1bWIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgLnNjcmVlbnNob3QgI2FjY29yZGlvbi1zY3JlZW5zaG90IC5wYW5hLWFjY29yZGlvbi1pdGVtIC5pbWctbGFyZ2Uge1xuICAgICAgbWFyZ2luOiAxOXB4IDAgMCAyNnB4OyB9XG4gICAgLnNjcmVlbnNob3QgI2FjY29yZGlvbi1zY3JlZW5zaG90IC5wYW5hLWFjY29yZGlvbi1pdGVtLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NjcmVlbnNob3QtZnJhbWUucG5nKSBuby1yZXBlYXQ7IH1cbiAgICAgIC5zY3JlZW5zaG90ICNhY2NvcmRpb24tc2NyZWVuc2hvdCAucGFuYS1hY2NvcmRpb24taXRlbS5hY3RpdmUgYSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuc2NyZWVuc2hvdCAjYWNjb3JkaW9uLXNjcmVlbnNob3QgLnBhbmEtYWNjb3JkaW9uLWl0ZW0uYWN0aXZlIC50aHVtYiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLyotIG5ld3MgbGlzdCAtKi9cbnVsLm5ld3MtbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxNXB4OyB9XG4gIHVsLm5ld3MtbGlzdCBsaSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiA2cHggMTBweDtcbiAgICBtYXJnaW46IDAgMCAycHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICB1bC5uZXdzLWxpc3QgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VjZTVkYjsgfVxuICAgIHVsLm5ld3MtbGlzdCBsaS5oaWdobGlnaHQge1xuICAgICAgYmFja2dyb3VuZDogIzM1MzUzYztcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7IH1cbiAgICAgIHVsLm5ld3MtbGlzdCBsaS5oaWdobGlnaHQgLm5ld3MtdGl0bGUge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGNvbG9yOiAjYjQ4MzAwO1xuICAgICAgICBmb250LWZhbWlseTogXCJTRi1Cb2xkXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICAgICAgICB1bC5uZXdzLWxpc3QgbGkuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI2JhMDYwZjsgfVxuICAgICAgICAgIHVsLm5ld3MtbGlzdCBsaS5oaWdobGlnaHQgLm5ld3MtdGl0bGU6aG92ZXIgLm5ld3MtdGltZSB7XG4gICAgICAgICAgICBjb2xvcjogI2JhMDYwZjsgfVxuICAgICAgICB1bC5uZXdzLWxpc3QgbGkuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlIC5uZXdzLXRpbWUge1xuICAgICAgICAgIGNvbG9yOiAjYjQ4MzAwO1xuICAgICAgICAgIHRvcDogMTRweDsgfVxuICAgICAgICB1bC5uZXdzLWxpc3QgbGkuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlIHNwYW4ge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2M3B4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDhweDsgfVxuICAgIHVsLm5ld3MtbGlzdCBsaSAubmV3c19fdGh1bWIge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDJweCAxMHB4IDAgMXB4O1xuICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICB1bC5uZXdzLWxpc3QgbGkgLm5ld3NfX3RodW1iIGltZyB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICMzYzM2NWE7IH1cbiAgICB1bC5uZXdzLWxpc3QgbGkgLm5ld3MtZGVzIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMzVweCk7XG4gICAgICBjb2xvcjogIzM1MzUzYztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICB1bC5uZXdzLWxpc3QgbGkgLm5ld3MtdGl0bGUge1xuICAgICAgY29sb3I6ICMzNTM1M2M7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgdWwubmV3cy1saXN0IGxpIC5uZXdzLXRpdGxlOmhvdmVyLFxuICAgICAgdWwubmV3cy1saXN0IGxpIC5uZXdzLXRpdGxlOmhvdmVyIC5uZXdzLXRpbWUge1xuICAgICAgICBjb2xvcjogI2I0ODMwMDsgfVxuICAgICAgdWwubmV3cy1saXN0IGxpIC5uZXdzLXRpdGxlIHNwYW4ge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gOTBweCk7XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgIHVsLm5ld3MtbGlzdCBsaSAubmV3cy10aW1lIHtcbiAgICAgIGNvbG9yOiAjMzUzNTNjO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICB0b3A6IDZweDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5uZXdzLW1vcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGNvbG9yOiAjZTNlZGYxO1xuICBmb250LXNpemU6IDE1cHg7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAwcHggMCAwcHggMDtcbiAgcGFkZGluZzogMCAwcHggMCAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGluZS1oZWlnaHQ6IDI1cHg7IH1cblxuLmJ0bnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiAwOyB9XG4gIC5idG5zIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCA1cHg7IH1cbiAgICAuYnRucyBhOmhvdmVyIHtcbiAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMTAlKTsgfVxuXG4vKi0tLSBDaGFyYWN0ZXIgLS0tKi9cbi5jaGFyYWN0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgLmNoYXJhY3RlciAuc2VjdGlvbi10aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jaGFyYWN0ZXItdGFiIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDIxMHB4O1xuICAgIGxlZnQ6IDIwMHB4O1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICAuY2hhcmFjdGVyLXRhYiBsaSB7XG4gICAgICBtYXJnaW46IDAgMnB4OyB9XG4gICAgICAuY2hhcmFjdGVyLXRhYiBsaSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMzZweDtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IHJvYm90b3NsYWI7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY2hhci10YWItYmcucG5nKSBuby1yZXBlYXQgMCAwLzEwMCUgMTAwJTtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMnB4ICM2NjY7IH1cbiAgICAgICAgLmNoYXJhY3Rlci10YWIgbGkgYS5hY3RpdmUsIC5jaGFyYWN0ZXItdGFiIGxpIGE6aG92ZXIge1xuICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTsgfVxuICAuY2hhcmFjdGVyIFtjbGFzcyo9J2NoYXJhY3Rlci1zd2lwZXItbmF2J10ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2hhcmFjdGVyLXN3aXBlci1uYXYge1xuICAgIHBhZGRpbmc6IDUwcHggMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgei1pbmRleDogMzsgfVxuICAgIC5jaGFyYWN0ZXItc3dpcGVyLW5hdjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTFweDtcbiAgICAgIGhlaWdodDogNTBweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY2hhci1uYXYtbGluZS5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgIC5jaGFyYWN0ZXItc3dpcGVyLW5hdjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxMXB4O1xuICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jaGFyLW5hdi1saW5lLnBuZykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiA1cHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKDE4MGRlZyk7IH1cbiAgICAuY2hhcmFjdGVyLXN3aXBlci1uYXYgLnN3aXBlci1zbGlkZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAtN3B4OyB9XG4gICAgICAuY2hhcmFjdGVyLXN3aXBlci1uYXYgLnN3aXBlci1zbGlkZSBpbWcge1xuICAgICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDcwJSk7XG4gICAgICAgIC8qIFNhZmFyaSA2LjAgLSA5LjAgKi9cbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoNzAlKTsgfVxuICAgIC5jaGFyYWN0ZXItc3dpcGVyLW5hdiAuc3dpcGVyLXNsaWRlOmhvdmVyIGltZyxcbiAgICAuY2hhcmFjdGVyLXN3aXBlci1uYXYgLnN3aXBlci1zbGlkZS10aHVtYi1hY3RpdmUgaW1nIHtcbiAgICAgIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoMCUpO1xuICAgICAgLyogU2FmYXJpIDYuMCAtIDkuMCAqL1xuICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMCUpOyB9XG4gIC5jaGFyYWN0ZXItYmxvY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDBweCBhdXRvIDBweDsgfVxuICAgIC5jaGFyYWN0ZXItYmxvY2sgLmNoYXJhY3Rlci1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0OyB9XG4gICAgICAuY2hhcmFjdGVyLWJsb2NrIC5jaGFyYWN0ZXItY29udGVudCAuY2hhcmFjdGVyLWluZm8ge1xuICAgICAgICB3aWR0aDogNDcxcHg7XG4gICAgICAgIGhlaWdodDogMzA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAzMDBweDtcbiAgICAgICAgbGVmdDogMjUwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY2hhci1pbmZvLWJnLnBuZykgbm8tcmVwZWF0IDAgMDtcbiAgICAgICAgcGFkZGluZzogMTBweCAzMHB4IDMwcHg7XG4gICAgICAgIHNjcm9sbGJhci13aWR0aDogNXB4O1xuICAgICAgICBzY3JvbGxiYXItY29sb3I6ICM0NDMxMjggI2JjYjRhOTtcbiAgICAgICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgICAgICAgLmNoYXJhY3Rlci1ibG9jayAuY2hhcmFjdGVyLWNvbnRlbnQgLmNoYXJhY3Rlci1pbmZvOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgICAgLyogV29ya3Mgb24gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpICovXG4gICAgICAgICAgd2lkdGg6IDVweDsgfVxuICAgICAgICAuY2hhcmFjdGVyLWJsb2NrIC5jaGFyYWN0ZXItY29udGVudCAuY2hhcmFjdGVyLWluZm86Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjYmNiNGE5O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgICAgICAuY2hhcmFjdGVyLWJsb2NrIC5jaGFyYWN0ZXItY29udGVudCAuY2hhcmFjdGVyLWluZm86Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQzMTI4O1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDQzMTI4OyB9XG4gICAgICAgIC5jaGFyYWN0ZXItYmxvY2sgLmNoYXJhY3Rlci1jb250ZW50IC5jaGFyYWN0ZXItaW5mbyAuY2hhcmFjdGVyLW5hbWUge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnZnpfZWRnZS1vZi10aGUtZ2FsYXh5LXBvc3Rlcic7XG4gICAgICAgICAgY29sb3I6ICM0ZTQzMmQ7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtc2l6ZTogNThweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAgICAgLmNoYXJhY3Rlci1ibG9jayAuY2hhcmFjdGVyLWNvbnRlbnQgLmNoYXJhY3Rlci1pbmZvIC5ub3RlIHtcbiAgICAgICAgICBjb2xvcjogIzM5NTE3MztcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgIG1hcmdpbjogMCAwIDQwcHggMDtcbiAgICAgICAgICBoZWlnaHQ6IDgwcHg7IH1cbiAgICAgICAgICAuY2hhcmFjdGVyLWJsb2NrIC5jaGFyYWN0ZXItY29udGVudCAuY2hhcmFjdGVyLWluZm8gLm5vdGUgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAgICAgLmNoYXJhY3Rlci1ibG9jayAuY2hhcmFjdGVyLWNvbnRlbnQgLmNoYXJhY3Rlci1pbmZvIC5ub3RlIGltZyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDJweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgICAgICAgICAuY2hhcmFjdGVyLWJsb2NrIC5jaGFyYWN0ZXItY29udGVudCAuY2hhcmFjdGVyLWluZm8gLm5vdGUgLmxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAjMzk1MTczO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDsgfVxuICAgICAgICAuY2hhcmFjdGVyLWJsb2NrIC5jaGFyYWN0ZXItY29udGVudCAuY2hhcmFjdGVyLWluZm8gLmludHJvIHtcbiAgICAgICAgICBjb2xvcjogIzNkMmEyMjtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuXG4vKi0tLSBEYWMgc2FjIC0tLSovXG4uc2VjdGlvbi0zIC5zZWN0aW9uLXRpdGxlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5kYWNzYWMge1xuICB3aWR0aDogODUycHg7XG4gIGhlaWdodDogNTI0cHg7XG4gIG1hcmdpbjogLTEwcHggYXV0byA4MHB4O1xuICBwYWRkaW5nOiA0OXB4IDMxcHggMzVweCA1M3B4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RhY3NhYy1iZy5wbmcpIG5vLXJlcGVhdCAwIDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZGFjc2FjOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMzcwcHg7XG4gICAgaGVpZ2h0OiA2NXB4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcnViYW5nLnBuZykgbm8tcmVwZWF0IDAgMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDkwcHg7XG4gICAgei1pbmRleDogMjsgfVxuICAuZGFjc2FjLXByZXYge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0NSU7XG4gICAgbGVmdDogLTkwcHg7XG4gICAgei1pbmRleDogMzsgfVxuICAgIC5kYWNzYWMtcHJldjpob3ZlciB7XG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTIwJSk7IH1cbiAgLmRhY3NhYy1uZXh0IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNDUlO1xuICAgIHJpZ2h0OiAtOTBweDtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgLmRhY3NhYy1uZXh0OmhvdmVyIHtcbiAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTsgfVxuICAuZGFjc2FjIC5zd2lwZXItcGFnaW5hdGlvbiB7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBib3R0b206IC00MHB4OyB9XG4gICAgLmRhY3NhYyAuc3dpcGVyLXBhZ2luYXRpb24gLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIGhlaWdodDogMjhweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGFjc2FjLXBhZ2luZy5wbmcpIG5vLXJlcGVhdCAwIDA7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgbWFyZ2luOiA1cHg7IH1cbiAgICAuZGFjc2FjIC5zd2lwZXItcGFnaW5hdGlvbiAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XG4gICAgICB3aWR0aDogMjhweDtcbiAgICAgIGhlaWdodDogMjhweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGFjc2FjLXBhZ2luZy1ob3Zlci5wbmcpIG5vLXJlcGVhdCAwIDA7IH1cblxuLmJ1dHRvbnMtZm9vdGVyIHtcbiAgcGFkZGluZzogMTBweDtcbiAgYmFja2dyb3VuZDogIzIwMWMzMTtcbiAgZGlzcGxheTogbm9uZTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5idXR0b25zLWZvb3RlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLmZsb2F0aW5nIHtcbiAgd2lkdGg6IDE5N3B4O1xuICBoZWlnaHQ6IDM0NnB4O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICByaWdodDogMHB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2Zsb2F0aW5nLWJnLnBuZykgbm8tcmVwZWF0O1xuICB6LWluZGV4OiAxMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwYWRkaW5nOiA3MHB4IDAgMCAwcHg7IH1cbiAgLmZsb2F0aW5nIGEge1xuICAgIGZvbnQtZmFtaWx5OiByb2JvdG9zbGFiO1xuICAgIGNvbG9yOiAjNjk0ZjMyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZmxvYXRpbmctbGluZS5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgYm90dG9tO1xuICAgIHBhZGRpbmc6IDAgMCAwcHg7XG4gICAgbWFyZ2luOiAwIDAgMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgIGhlaWdodDogMjlweDsgfVxuICAgIC5mbG9hdGluZyBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZmYmVlO1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9mbG9hdGluZy1ob3Zlci5qcGcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyB9XG4gICAgLmZsb2F0aW5nIGEuZmxvYXRpbmctdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDU1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgICAuZmxvYXRpbmcgYS5mbG9hdGluZy10b3A6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cblxuLyotLS0gU3ViIHBhZ2UgLS0tKi9cbi5tYWluLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwIDgwcHggMjBweDtcbiAgbWFyZ2luOiAwcHggMCAxMjBweDtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tYWluY29udGVudC10b3AuanBnKSBuby1yZXBlYXQgdG9wIGNlbnRlciwgdXJsKC4uL2ltYWdlcy9tYWluY29udGVudC1ib3R0b20uanBnKSBuby1yZXBlYXQgYm90dG9tIGNlbnRlciwgdXJsKC4uL2ltYWdlcy9tYWluY29udGVudC1sb29wLmpwZykgcmVwZWF0LXkgY2VudGVyIGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5tYWluLWNvbnRlbnQgLm5ld3MtbGlzdCBsaSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDAgMTBweCAwO1xuICAgIG1hcmdpbjogMCAwIDEwcHggMDtcbiAgICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM5MDgwNzAgIWltcG9ydGFudDsgfVxuICAubWFpbi1jb250ZW50IC5uZXdzLWxpc3QgLmhpZ2hsaWdodCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIC5tYWluLWNvbnRlbnQgLm5ld3MtbGlzdCAuaGlnaGxpZ2h0IC5uZXdzLWRlcyB7XG4gICAgICBjb2xvcjogIzM1MzUzYztcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgLm1haW4tY29udGVudCAubmV3cy1saXN0IC5oaWdobGlnaHQgLm5ld3MtZGVzOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNiNDgzMDA7IH1cbiAgICAgIC5tYWluLWNvbnRlbnQgLm5ld3MtbGlzdCAuaGlnaGxpZ2h0IC5uZXdzLWRlczpiZWZvcmUsIC5tYWluLWNvbnRlbnQgLm5ld3MtbGlzdCAuaGlnaGxpZ2h0IC5uZXdzLWRlczphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAubWFpbi1jb250ZW50IC5uZXdzLWxpc3QgLmhpZ2hsaWdodCAubmV3cy10aXRsZSB7XG4gICAgICBjb2xvcjogI2I0ODMwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMzVweCk7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLm1haW4tY29udGVudCAubmV3cy1saXN0IC5oaWdobGlnaHQgLm5ld3MtdGl0bGUgc3BhbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7IH1cbiAgICAgIC5tYWluLWNvbnRlbnQgLm5ld3MtbGlzdCAuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlIC5uZXdzLXRpbWUge1xuICAgICAgICBjb2xvcjogI2I0ODMwMDtcbiAgICAgICAgdG9wOiAwOyB9XG4gICAgICAubWFpbi1jb250ZW50IC5uZXdzLWxpc3QgLmhpZ2hsaWdodCAubmV3cy10aXRsZTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjY2VhODYxOyB9XG4gICAgICAgIC5tYWluLWNvbnRlbnQgLm5ld3MtbGlzdCAuaGlnaGxpZ2h0IC5uZXdzLXRpdGxlOmhvdmVyIC5uZXdzLXRpbWUge1xuICAgICAgICAgIGNvbG9yOiAjY2VhODYxOyB9XG5cbi5zdGF0aWMge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMHB4IDBweCA1MHB4O1xuICBwYWRkaW5nOiA3cHggMCAwIDA7IH1cbiAgLnN0YXRpYyAuaWNvbi1zdGF0aWMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gIC5zdGF0aWMgLmljb24taG9tZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxNXB4O1xuICAgIGhlaWdodDogMTFweDtcbiAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24taG9tZS5wbmcpIG5vLXJlcGVhdDsgfVxuICAuc3RhdGljIGgyIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICNkN2M2Yjg7XG4gICAgbWFyZ2luOiAxMHB4IDAgMnB4IDVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5icmVhZGNydW1iLS1tYWluIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogI2Q3YzZiODsgfVxuICAuYnJlYWRjcnVtYi0tbWFpbiBhIHtcbiAgICBjb2xvcjogI2Q3YzZiODtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAuYnJlYWRjcnVtYi0tbWFpbiBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmZlNTk0OyB9XG5cbi5yZWxhdGl2ZSB7XG4gIHBhZGRpbmctdG9wOiA5cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucmVsYXRpdmUtdGl0bGUgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBjb2xvcjogI2Q3YzZiODtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICMzOTI4MWY7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbig5MGRlZyksICMzOTI4MWYsICMzOTI4MWYpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzM5MjgxZiwgIzM5MjgxZik7IH1cbiAgICAucmVsYXRpdmUtdGl0bGUgYTpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgY29udGVudDogXCJcXDAwMmJcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnR2x5cGhpY29uc0hhbGZsaW5ncyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0zcHg7XG4gICAgICByaWdodDogMTVweDsgfVxuICAgIC5yZWxhdGl2ZS10aXRsZSBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZmNmMGJjOyB9XG4gIC5yZWxhdGl2ZSB1bC5yZWxhdGl2ZS1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogNXB4IDBweCAwO1xuICAgIG1hcmdpbjogMCAwIDAgMjBweDsgfVxuICAgIC5yZWxhdGl2ZSB1bC5yZWxhdGl2ZS1saXN0IGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzY5NWI0ZDtcbiAgICAgIHBhZGRpbmc6IDEycHggMCAxMHB4IDVweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnJlbGF0aXZlIHVsLnJlbGF0aXZlLWxpc3QgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgICAgIC5yZWxhdGl2ZSB1bC5yZWxhdGl2ZS1saXN0IGxpIGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGNvbG9yOiAjMzUzNTNjOyB9XG4gICAgICAgIC5yZWxhdGl2ZSB1bC5yZWxhdGl2ZS1saXN0IGxpIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjYjQ4MzAwO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgICAgICAucmVsYXRpdmUgdWwucmVsYXRpdmUtbGlzdCBsaSBhIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAxO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgICAgLnJlbGF0aXZlIHVsLnJlbGF0aXZlLWxpc3QgbGkgLmRhdGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29sb3I6ICMzNTM1M2M7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjFweDsgfVxuXG4uYm94c2VhcmNoIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgcmlnaHQ6IDBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAyO1xuICBiYWNrZ3JvdW5kOiAjMTExMTExO1xuICBib3JkZXI6IDFweCBzb2xpZCAjNjU2MDVmO1xuICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB3aWR0aDogMTgwcHg7IH1cbiAgLmJveHNlYXJjaCBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmc6IDVweDsgfVxuICAuYm94c2VhcmNoIC5iZ3NlYXJjaCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiAxMzVweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogM3B4IDlweDtcbiAgICBjb2xvcjogIzlkYTNjMDsgfVxuICAuYm94c2VhcmNoIC5idHNlYXJjaCB7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLXNlYXJjaC5wbmcpIG5vLXJlcGVhdCAwIDA7XG4gICAgd2lkdGg6IDE1cHg7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwcHg7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4OyB9XG5cbi8qIFBhZ2luZyAqL1xuLnBhZ2luZyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDI1cHg7IH1cblxudWwucGFnZV9fbGlzdCB7XG4gIHBhZGRpbmc6IDIwcHggMCAwICFpbXBvcnRhbnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICB1bC5wYWdlX19saXN0IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIDJweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4gICAgdWwucGFnZV9fbGlzdCBsaSBhIHtcbiAgICAgIGNvbG9yOiAjY2VhODYxICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWE4NjE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gICAgICB1bC5wYWdlX19saXN0IGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2VhODYxO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2VhODYxOyB9XG4gICAgICB1bC5wYWdlX19saXN0IGxpIGEuZGlzYWJsZSxcbiAgICAgIHVsLnBhZ2VfX2xpc3QgbGkgYTpob3ZlciAuZGlzYWJsZSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjNjM2MzYzO1xuICAgICAgICBjb2xvcjogIzYzNjM2MyAhaW1wb3J0YW50OyB9XG4gICAgdWwucGFnZV9fbGlzdCBsaS5hY3RpdmUgYSB7XG4gICAgICBjb2xvcjogI2ZmZmZmZiAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NlYTg2MTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWE4NjE7IH1cbiAgICB1bC5wYWdlX19saXN0IGxpLnByZXYgYSxcbiAgICB1bC5wYWdlX19saXN0IGxpLm5leHQgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICBtYXJnaW46IC0ycHggMCAwIDA7IH1cblxuLyotLS0gUG9wdXAgLS0tKi9cbi5wb3B1cCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgei1pbmRleDogMTAwMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7IH1cbiAgLnBvcHVwIC5wb3B1cC1iZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgLnBvcHVwLmFjdGl2ZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5wb3B1cC1jbG9zZSB7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0yMHB4O1xuICAgIHRvcDogLTIwcHg7XG4gICAgZm9udC1zaXplOiAzMHB4OyB9XG4gICAgLnBvcHVwLWNsb3NlOmhvdmVyIHtcbiAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxNTAlKTsgfVxuICAucG9wdXAtY29udGVudCB7XG4gICAgei1pbmRleDogMjtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5wb3B1cC5hY3RpdmUgLnBvcHVwLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxuXG4ucG9wdXAtZ2lmdGNvZGUge1xuICB3aWR0aDogNjgwcHg7XG4gIGhlaWdodDogNTAwcHg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9wb3B1cC1iZy5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyLzEwMCUgMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBwYWRkaW5nOiAxNzZweCAxNjBweCAwO1xuICBjb2xvcjogIzMzMzMzMztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucG9wdXAtZ2lmdGNvZGUgLnBvcHVwLXRpdGxlIHtcbiAgICBjb2xvcjogIzNkMmEyMjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9ybWFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogY2FsYygxLjI4MTI1cmVtICsgMC4zNzV2dyk7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAucG9wdXAtZ2lmdGNvZGUgLnBvcHVwLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH0gfVxuICAucG9wdXAtZ2lmdGNvZGUgLnZhbHVlIHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYmFja2dyb3VuZDogIzJhMWYxYjtcbiAgICB3aWR0aDogOTAlO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuXG4udmFvZ2FtZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMjBweDtcbiAgbGVmdDogMjBweDtcbiAgei1pbmRleDogMTAwMjsgfVxuXG4vKi0tLSBOQVYgUEFHRSBTRVJWRVIgLS0tKi9cbi5zZXJ2ZXItbmF2IHtcbiAgd2lkdGg6IDczNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogMCAwIDQwcHggLTY1cHg7IH1cbiAgLnNlcnZlci1uYXYgbGkgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDE0MHB4O1xuICAgIGhlaWdodDogNTBweDtcbiAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZlci1uYXYtYmcucG5nKSBuby1yZXBlYXQgMCAwO1xuICAgIGZvbnQtZmFtaWx5OiByb2JvdG9zbGFiO1xuICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgIC5zZXJ2ZXItbmF2IGxpIGE6aG92ZXIge1xuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpOyB9XG5cbi8qLS0tIFNlcnZlciBsaXN0IC0tLSovXG4uc2VydmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWluLWhlaWdodDogNzEwcHg7XG4gIHdpZHRoOiA3MzZweDtcbiAgaGVpZ2h0OiA5MDBweDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW46IDkwcHggYXV0bztcbiAgcGFkZGluZzogMCA2NXB4O1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZlci1saXN0LWJnLnBuZykgbm8tcmVwZWF0IDAgNjhweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1JSk7IH1cbiAgLnNlcnZlciAuaGVhZGluZyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMHB4IDAgMCAwOyB9XG4gIC5zZXJ2ZXItc3ViIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC1mYW1pbHk6IHJvYm90b3NsYWI7XG4gICAgYmFja2dyb3VuZDogIzcyNDcxODtcbiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKDBkZWcpLCAjNzI0NzE4LCAjNGIyZjEwKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgIzcyNDcxOCwgIzRiMmYxMCk7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLnNlcnZlciAubG9naW4ge1xuICAgIHdpZHRoOiA1OTVweDtcbiAgICBoZWlnaHQ6IDEzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogI2ZmZjZkNTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcbiAgICBwYWRkaW5nOiAwIDY1cHg7IH1cbiAgICAuc2VydmVyIC5sb2dpbiAuZm9yZ290LXBhc3Mge1xuICAgICAgbWFyZ2luLXRvcDogLTM1cHg7IH1cbiAgICAgIC5zZXJ2ZXIgLmxvZ2luIC5mb3Jnb3QtcGFzcy1saW5rIHtcbiAgICAgICAgY29sb3I6ICNmZmY2ZDU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDEycHg7IH1cbiAgICAgICAgLnNlcnZlciAubG9naW4gLmZvcmdvdC1wYXNzLWxpbms6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjZmYwNDAwOyB9XG4gICAgLnNlcnZlciAubG9naW4tZm9ybSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLnNlcnZlciAubG9naW4gYSB7XG4gICAgICBjb2xvcjogI2ZmMDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDEycHg7IH1cbiAgICAgIC5zZXJ2ZXIgLmxvZ2luIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50OyB9XG4gICAgLnNlcnZlciAubG9naW4gLmJveC1pbnB1dCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgICAgd2lkdGg6IDM0MHB4OyB9XG4gIC5zZXJ2ZXIgLmxvZ2luLWZvcm0taW5wdXQge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHdpZHRoOiAxNjBweDtcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjMmIyMDFhO1xuICAgIHBhZGRpbmc6IDVweDtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gICAgY29sb3I6ICMyYjIwMWE7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5zZXJ2ZXIgLmVycm9yIHtcbiAgICBjb2xvcjogI2ZmMDQwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgaGVpZ2h0OiAxOHB4OyB9XG4gIC5zZXJ2ZXIgLmZvcm0tc3VibWl0IHtcbiAgICB3aWR0aDogMTE0cHg7XG4gICAgaGVpZ2h0OiA4N3B4O1xuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGFuZ25oYXAtYnRuLTIuanBnKTtcbiAgICBmb250LXNpemU6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5zZXJ2ZXIgLmZvcm0tc3VibWl0OmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgLnNlcnZlciAuc29jaWFsLWJ0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNjBweDtcbiAgICByaWdodDogMjAwcHg7IH1cbiAgICAuc2VydmVyIC5zb2NpYWwtYnRuIGE6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7IH1cbiAgLnNlcnZlciAubG9nZ2VkIHtcbiAgICB3aWR0aDogNTk1cHg7XG4gICAgaGVpZ2h0OiAxMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICNkN2M2Yjg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbjogMjVweCBhdXRvIDA7XG4gICAgcGFkZGluZzogMCA2NXB4OyB9XG4gICAgLnNlcnZlciAubG9nZ2VkIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAwIDJweDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnNlcnZlciAubG9nZ2VkIC51c2VybmFtZSB7XG4gICAgICB3aWR0aDogMjAwcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICAgICAgY29sb3I6ICNmMTk0NWE7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuc2VydmVyIC5sb2dnZWQgLnRleHQtY2VudGVyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNlcnZlciAubG9nZ2VkIC5sb2dvdXQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgY29sb3I6ICNkN2M2Yjg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAgICAgLnNlcnZlciAubG9nZ2VkIC5sb2dvdXQ6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50OyB9XG4gICAgLnNlcnZlciAubG9nZ2VkIC5zZXJ2ZXItcGxheS1yZWNlbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuc2VydmVyIC5sb2dnZWQgLnNlcnZlci1wbGF5LXJlY2VudCBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzhweDtcbiAgICAgICAgY29sb3I6ICNmZmZiZWU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4ICMzMzMzMzM7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyNjU4NDU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzOyB9XG4gICAgICAgIC5zZXJ2ZXIgLmxvZ2dlZCAuc2VydmVyLXBsYXktcmVjZW50IGE6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNhNjc4NDQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgNXB4ICNmZmU3YjQ7IH1cbiAgICAuc2VydmVyIC5sb2dnZWQgLnNlcnZlci1wcmV2IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTBweDtcbiAgICAgIGxlZnQ6IDQwcHg7IH1cbiAgICAuc2VydmVyIC5sb2dnZWQgLnNlcnZlci1uZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTBweDtcbiAgICAgIHJpZ2h0OiA0NXB4OyB9XG4gIC5zZXJ2ZXIgLnNlcnZlci1ncm91cCB7XG4gICAgY29sb3I6ICM0YjJmMTA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDAgMzBweDsgfVxuICAgIC5zZXJ2ZXIgLnNlcnZlci1ncm91cCBkaXYge1xuICAgICAgd2lkdGg6IDY1JTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAgIC5zZXJ2ZXIgLnNlcnZlci1ncm91cCBkaXYgc3BhbiB7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDsgfVxuICAgIC5zZXJ2ZXIgLnNlcnZlci1ncm91cCBidXR0b24ge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc2VydmVyLWNob2luZ2F5LWJ0bi5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgd2lkdGg6IDgzcHg7XG4gICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAgIC5zZXJ2ZXIgLnNlcnZlci1ncm91cCAuc2VydmVyLWN1cnJlbnQge1xuICAgICAgd2lkdGg6IDEzNXB4O1xuICAgICAgaGVpZ2h0OiAyNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgY29sb3I6ICMzZDJhMjI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuc2VydmVyIC5zZXJ2ZXItZ3JvdXAgLm5pY2Utc2VsZWN0IHtcbiAgICAgIGhlaWdodDogMjZweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBjb2xvcjogIzNkMmEyMjsgfVxuICAgIC5zZXJ2ZXIgLnNlcnZlci1ncm91cCAubmljZS1zZWxlY3Qub3BlbiAubGlzdCB7XG4gICAgICBoZWlnaHQ6IDMwMHB4O1xuICAgICAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAgICAgLnNlcnZlciAuc2VydmVyLWdyb3VwIC5uaWNlLXNlbGVjdC5vcGVuIC5saXN0IC5vcHRpb24ge1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNTgzZjNmOyB9XG4gICAgICAuc2VydmVyIC5zZXJ2ZXItZ3JvdXAgLm5pY2Utc2VsZWN0Lm9wZW4gLmxpc3QgLm9wdGlvbjpob3ZlcixcbiAgICAgIC5zZXJ2ZXIgLnNlcnZlci1ncm91cCAubmljZS1zZWxlY3Qub3BlbiAubGlzdCAub3B0aW9uLmZvY3VzLFxuICAgICAgLnNlcnZlciAuc2VydmVyLWdyb3VwIC5uaWNlLXNlbGVjdC5vcGVuIC5saXN0IC5vcHRpb24uc2VsZWN0ZWQuZm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZmZmJlZTtcbiAgICAgICAgYmFja2dyb3VuZDogI2E3OTU3MDsgfVxuICAuc2VydmVyIC5zZXJ2ZXItaG90IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMHB4IGF1dG8gNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuICAgIC5zZXJ2ZXIgLnNlcnZlci1ob3QgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMjY2cHg7XG4gICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNTZweDtcbiAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICBjb2xvcjogI2ZlZmZmZjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3NlcnZlcm1vaS1iZy5qcGcpIG5vLXJlcGVhdDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gICAgICAuc2VydmVyIC5zZXJ2ZXItaG90IGE6aG92ZXIge1xuICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTIwJSk7IH1cbiAgLnNlcnZlci1saXN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMTVweCBhdXRvIDA7XG4gICAgcGFkZGluZzogMCAyOHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgc2Nyb2xsYmFyLXdpZHRoOiAzcHg7XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiAjYWE5YTc2ICM0ZTRhNDA7XG4gICAgb3ZlcmZsb3c6IGF1dG87IH1cbiAgICAuc2VydmVyLWxpc3Q6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgIC8qIFdvcmtzIG9uIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaSAqL1xuICAgICAgd2lkdGg6IDNweDsgfVxuICAgIC5zZXJ2ZXItbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgICAgYmFja2dyb3VuZDogIzRlNGE0MDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuICAgIC5zZXJ2ZXItbGlzdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2FhOWE3NjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYTlhNzY7IH1cbiAgICAuc2VydmVyLWxpc3QgbGkge1xuICAgICAgbWFyZ2luOiAwIDNweCAzcHggMDsgfVxuICAgICAgLnNlcnZlci1saXN0IGxpIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDE3OHB4O1xuICAgICAgICBoZWlnaHQ6IDM4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjYTY3ODQ0O1xuICAgICAgICBjb2xvcjogI2ZmZmJlZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnU0YtQm9sZCc7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAycHggIzMzMzMzMzsgfVxuICAgICAgICAuc2VydmVyLWxpc3QgbGkgYTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzI2NTg0NTsgfVxuXG4uZm9vdGVyIHtcbiAgY29sb3I6ICM3YTdhN2E7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMCAwLjYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiAjMTkxOTE5O1xuICBmb250LXNpemU6IDE0cHg7IH1cbiAgLmZvb3Rlci1pdGVtIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZm9vdGVyLWl0ZW0gbGkge1xuICAgICAgY29sb3I6ICM3YTdhN2E7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgIC5mb290ZXItaXRlbSBsaSBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHBhZGRpbmc6IDAgOHB4OyB9XG4gICAgICAgIC5mb290ZXItaXRlbSBsaSBhOmhvdmVyLCAuZm9vdGVyLWl0ZW0gbGkgYTpmb2N1cyB7XG4gICAgICAgICAgY29sb3I6ICNmMDMyMDA7IH1cbiAgLmZvb3RlciBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAwIDhweDsgfVxuICAgIC5mb290ZXIgYTpob3ZlciwgLmZvb3RlciBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAjZjAzMjAwOyB9XG4gIC5mb290ZXIgLmNtbi1uYW1lIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuZm9vdGVyIC5jb3B5cmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgY29sb3I6ICM3YTdhN2E7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTBweCAxMHB4IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmZvb3RlciAuaW1nMTgge1xuICAgIG1hcmdpbjogMCAxMHB4OyB9XG4gIC5mb290ZXIgLmFkZHJlc3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMTAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuIiwiLyoqXHJcbiAqIFN3aXBlciA1LjIuMFxyXG4gKiBNb3N0IG1vZGVybiBtb2JpbGUgdG91Y2ggc2xpZGVyIGFuZCBmcmFtZXdvcmsgd2l0aCBoYXJkd2FyZSBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uc1xyXG4gKiBodHRwOi8vc3dpcGVyanMuY29tXHJcbiAqXHJcbiAqIENvcHlyaWdodCAyMDE0LTIwMTkgVmxhZGltaXIgS2hhcmxhbXBpZGlcclxuICpcclxuICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlXHJcbiAqXHJcbiAqIFJlbGVhc2VkIG9uOiBPY3RvYmVyIDI2LCAyMDE5XHJcbiAqL1xyXG5cclxuQGZvbnQtZmFjZXtmb250LWZhbWlseTpzd2lwZXItaWNvbnM7c3JjOnVybChcImRhdGE6YXBwbGljYXRpb24vZm9udC13b2ZmO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCBkMDlHUmdBQkFBQUFBQVpnQUJBQUFBQUFEQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkdSbFJOQUFBR1JBQUFBQm9BQUFBY2k2cUhrVWRFUlVZQUFBV2dBQUFBSXdBQUFDUUFZQUJYUjFCUFV3QUFCaFFBQUFBdUFBQUFOdUFZNyt4SFUxVkNBQUFGeEFBQUFGQUFBQUJtMmZQY3pVOVRMeklBQUFIY0FBQUFTZ0FBQUdCUDlWNVJZMjFoY0FBQUFrUUFBQUNJQUFBQll0NkYwY0JqZG5RZ0FBQUN6QUFBQUFRQUFBQUVBQkVCUkdkaGMzQUFBQVdZQUFBQUNBQUFBQWovL3dBRFoyeDVaZ0FBQXl3QUFBRE1BQUFEMk1IdHJ5Vm9aV0ZrQUFBQmJBQUFBREFBQUFBMkUyK2VvV2hvWldFQUFBR2NBQUFBSHdBQUFDUUM5Z0R6YUcxMGVBQUFBaWdBQUFBWkFBQUFyZ0prQUJGc2IyTmhBQUFDMEFBQUFGb0FBQUJhRlFBVUdHMWhlSEFBQUFHOEFBQUFId0FBQUNBQWNBQkFibUZ0WlFBQUEvZ0FBQUU1QUFBQ1h2RmRCd2x3YjNOMEFBQUZOQUFBQUdJQUFBQ0U1czc0aFhqYVkyQmtZR0FBWXBmNUh1L2orVzIrTW5Bek1ZREF6YVg2UWpENi80Ly9CeGo1R0E4QXVSd01ZR2tBUHl3TDEzamFZMkJrWUdBODhQOEFneDRqKy84ZlFEWWZBMUFFQldnREFJQjJCT29BZU5wallHUmdZTkJoNEdkZ1lnQUJFTW5JQUJKellOQURDUUFBQ1dnQXNRQjQybU5nWWZ6Q09JR0JsWUdCMFljeGpZR0J3UjFLZjJXUVpHaGhZR0JpWUdWbWdBRkdCaVFRa09hYXd0REFvTUJReFhqZy93RUdQY1lEREE0d05VQTJDQ2d3c0FBQU80RUw2Z0FBZU5wajJNMGd5QUFDcXhnR05XQmtaMkQ0L3dNQSt4a0RkZ0FBQUhqYVkyQmdZR2FBWUJrR1JnWVFpQUh5R01GOEZnWUhJTTNEd01IQUJHUXJNT2d5V0RMRU0xVDkvdzhVQmZFTWdMekUvLy8vUC81Ly9mL1YveHYrcjRlYUFBZU1iQXh3SVVZbUlNSEVnS1lBWWpVY3NEQXdzTEt4YzNCeWNmUHc4akVRQS9nWkJBU0ZoRVZFeGNRbEpLV2taV1RsNUJVVWxaUlZWTlhVTlRRWkJnTUFBTVIrRStnQUVRRkVBQUFBS2dBcUFDb0FOQUErQUVnQVVnQmNBR1lBY0FCNkFJUUFqZ0NZQUtJQXJBQzJBTUFBeWdEVUFONEE2QUR5QVB3QkJnRVFBUm9CSkFFdUFUZ0JRZ0ZNQVZZQllBRnFBWFFCZmdHSUFaSUJuQUdtQWJJQnpnSHNBQUI0MnUyTk1RNkNVQXlHVzU2OHg5QW5lWVlnbTRNSmJoS0ZhRXhJT0FWWDhBcGV3U3Q0QmljNEFmZUFpZDNWT0JpeER4ZlBZRXphNU8rWGZpMDRZQURnZ2lVSVVMQ3VFSks4VmhPNGJTdnBkbmt0SEk1UUNZdGRpMnNsOFpuWGFIbHFVck5LemRLY1Q4Y2pscStyd1pTdklWY3pOaWV6c2ZuUC91em5tZlBGQk5PRE0ySzdNVFE0NVlFQVpxR1A4MUFtR0djRjNpUHFPb3AwcjFTUFRhVGJWa2ZVZTRIWGo5N3dZRSt5TndXWXh3V3U0djF1Z1dIZ28zUzFYZFpFVnFXTTdFVDBjZm5MR3hXZmtnUjQybzJQdldyRE1CU0ZqL0lITGFGMHpLalJnZGlWTXdTY05SQW9XVW9INzhZMmljQi95SVkwOUFuNkFIMkJkdS9VQit5eG9wWXNoUWlFdm52dTBkVVJnRHQ4UWVDOFBEdzdGcGppM2ZFQTR6L1BFSjZZT0I1aEtoNGRqM0V2WGh4UHFIL1NLVVkzcko3c3JaNEZabmgxUE1BdFBod1A2ZmwyUE1KTVBEZ2VRNHJZOFlUNkd6YW8wZUFFQTQwOUR1Z2dtVG5Gbk9jU0NpRWlMTWd4Q2lUSTZDcTVEWlVkM1FtcDEwdk8wTGFMVGQyY2pONGZPdW1sYzdsVVliU1FjWkZrdXRSRzdnNkpLWkt5MFJtZExZNjgwQ0RuRUorVU1rcEZGZTFSTjdueGRWcFhyQzRhVHRuYXVyT25ZZXJjWmcyWVZtTE4vZC9nY3pmRWltckUvZnMvYk91cTI5Wm1uOHRsb09SYVhnWmdHYTc4eU85L2NuWG0yQnBhR3ZxMjVEdjlTNEU5KzVTSWM5UHF1cEpLaFlGU1NsNDcrUWNyMW1ZTkFBQUFlTnB0dzBjS3drQUFBTURaSkE4UTdPVUp2a0xzUGZaNnpGVkVSUHk4cUhoMllFUiszaS9CUDgzdklCTEx5U3NvS2ltcnFLcXBhMmhwNitqcTZSc1lHaG1ibUpxWlN5MHNyYXh0Yk8zc0hSeWRuRU1VNHVSNnl4N0pKWHZlUDdXckR5Y0FBQUFBQUFILy93QUNlTnBqWUdSZ1lPQUJZaGtnWmdKQ1pnWk5Ca1lHTFFadElKc0ZMTVlBQUF3M0FMZ0FlTm9saXpFS2dEQVFCQ2NoUmJDMnNGRVIwWUQ2cVZRaUJDdi9IOWV6R0k2WjVYQkF3OENCSy9tNWlRUVZhdVZiWExuT3JNWnYyb0xkS0ZhOFBqdXJ1MmhKekdhYm1PU0x6Tk16dnV0cEIzTjQybU5nWkdCZzRHS1FZekJoWU14SkxNbGo0R0JnQVlvdy9QL1BBSkpoTE02c1NvV0tmV0NBQXdEQWpnYlJBQUI0Mm1OZ1lHQmtBSUliQ1pvNUlQcm1VbjBoR0EwQU84RUZUUUFBXCIpIGZvcm1hdChcIndvZmZcIik7Zm9udC13ZWlnaHQ6NDAwO2ZvbnQtc3R5bGU6bm9ybWFsfTpyb290ey0tc3dpcGVyLXRoZW1lLWNvbG9yOiMwMDdhZmZ9LnN3aXBlci1jb250YWluZXJ7bWFyZ2luLWxlZnQ6YXV0bzttYXJnaW4tcmlnaHQ6YXV0bztwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW47bGlzdC1zdHlsZTpub25lO3BhZGRpbmc6MDt6LWluZGV4OjF9LnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci13cmFwcGVye2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uc3dpcGVyLXdyYXBwZXJ7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt6LWluZGV4OjE7ZGlzcGxheTpmbGV4O3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO2JveC1zaXppbmc6Y29udGVudC1ib3h9LnN3aXBlci1jb250YWluZXItYW5kcm9pZCAuc3dpcGVyLXNsaWRlLC5zd2lwZXItd3JhcHBlcnt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMHB4LDAsMCl9LnN3aXBlci1jb250YWluZXItbXVsdGlyb3c+LnN3aXBlci13cmFwcGVye2ZsZXgtd3JhcDp3cmFwfS5zd2lwZXItY29udGFpbmVyLW11bHRpcm93LWNvbHVtbj4uc3dpcGVyLXdyYXBwZXJ7ZmxleC13cmFwOndyYXA7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZT4uc3dpcGVyLXdyYXBwZXJ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7bWFyZ2luOjAgYXV0b30uc3dpcGVyLXNsaWRle2ZsZXgtc2hyaW5rOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjpyZWxhdGl2ZTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybX0uc3dpcGVyLXNsaWRlLWludmlzaWJsZS1ibGFua3t2aXNpYmlsaXR5OmhpZGRlbn0uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0LC5zd2lwZXItY29udGFpbmVyLWF1dG9oZWlnaHQgLnN3aXBlci1zbGlkZXtoZWlnaHQ6YXV0b30uc3dpcGVyLWNvbnRhaW5lci1hdXRvaGVpZ2h0IC5zd2lwZXItd3JhcHBlcnthbGlnbi1pdGVtczpmbGV4LXN0YXJ0O3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLGhlaWdodH0uc3dpcGVyLWNvbnRhaW5lci0zZHtwZXJzcGVjdGl2ZToxMjAwcHh9LnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1jdWJlLXNoYWRvdywuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcCwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXdyYXBwZXJ7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkfS5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwuc3dpcGVyLWNvbnRhaW5lci0zZCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1sZWZ0LC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0LC5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjA7dG9wOjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb2ludGVyLWV2ZW50czpub25lO3otaW5kZXg6MTB9LnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctbGVmdHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBsZWZ0LHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXJpZ2h0e2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LHJnYmEoMCwwLDAsLjUpLHJnYmEoMCwwLDAsMCkpfS5zd2lwZXItY29udGFpbmVyLTNkIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byB0b3AscmdiYSgwLDAsMCwuNSkscmdiYSgwLDAsMCwwKSl9LnN3aXBlci1jb250YWluZXItM2QgLnN3aXBlci1zbGlkZS1zaGFkb3ctYm90dG9te2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSxyZ2JhKDAsMCwwLC41KSxyZ2JhKDAsMCwwLDApKX0uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXJ7b3ZlcmZsb3c6YXV0bztzY3JvbGxiYXItd2lkdGg6bm9uZTstbXMtb3ZlcmZsb3ctc3R5bGU6bm9uZX0uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXI6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0uc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXI+LnN3aXBlci1zbGlkZXtzY3JvbGwtc25hcC1hbGlnbjpzdGFydCBzdGFydH0uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsLnN3aXBlci1jb250YWluZXItY3NzLW1vZGU+LnN3aXBlci13cmFwcGVye3Njcm9sbC1zbmFwLXR5cGU6eCBtYW5kYXRvcnl9LnN3aXBlci1jb250YWluZXItdmVydGljYWwuc3dpcGVyLWNvbnRhaW5lci1jc3MtbW9kZT4uc3dpcGVyLXdyYXBwZXJ7c2Nyb2xsLXNuYXAtdHlwZTp5IG1hbmRhdG9yeX06cm9vdHstLXN3aXBlci1uYXZpZ2F0aW9uLXNpemU6NDRweH0uc3dpcGVyLWJ1dHRvbi1uZXh0LC5zd2lwZXItYnV0dG9uLXByZXZ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJTt3aWR0aDpjYWxjKHZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLXNpemUpLyA0NCAqIDI3KTtoZWlnaHQ6dmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSk7bWFyZ2luLXRvcDpjYWxjKC0xICogdmFyKC0tc3dpcGVyLW5hdmlnYXRpb24tc2l6ZSkvIDIpO3otaW5kZXg6MTA7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO2NvbG9yOnZhcigtLXN3aXBlci1uYXZpZ2F0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpfS5zd2lwZXItYnV0dG9uLW5leHQuc3dpcGVyLWJ1dHRvbi1kaXNhYmxlZCwuc3dpcGVyLWJ1dHRvbi1wcmV2LnN3aXBlci1idXR0b24tZGlzYWJsZWR7b3BhY2l0eTouMzU7Y3Vyc29yOmF1dG87cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVyLC5zd2lwZXItYnV0dG9uLXByZXY6YWZ0ZXJ7Zm9udC1mYW1pbHk6c3dpcGVyLWljb25zO2ZvbnQtc2l6ZTp2YXIoLS1zd2lwZXItbmF2aWdhdGlvbi1zaXplKTt0ZXh0LXRyYW5zZm9ybTpub25lIWltcG9ydGFudDtsZXR0ZXItc3BhY2luZzowO3RleHQtdHJhbnNmb3JtOm5vbmU7Zm9udC12YXJpYW50OmluaXRpYWx9LnN3aXBlci1idXR0b24tcHJldiwuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tbmV4dHtsZWZ0OjEwcHg7cmlnaHQ6YXV0b30uc3dpcGVyLWJ1dHRvbi1wcmV2OmFmdGVyLC5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLWJ1dHRvbi1uZXh0OmFmdGVye2NvbnRlbnQ6J3ByZXYnfS5zd2lwZXItYnV0dG9uLW5leHQsLnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItYnV0dG9uLXByZXZ7cmlnaHQ6MTBweDtsZWZ0OmF1dG99LnN3aXBlci1idXR0b24tbmV4dDphZnRlciwuc3dpcGVyLWNvbnRhaW5lci1ydGwgLnN3aXBlci1idXR0b24tcHJldjphZnRlcntjb250ZW50OiduZXh0J30uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24td2hpdGUsLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLXdoaXRley0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3I6I2ZmZmZmZn0uc3dpcGVyLWJ1dHRvbi1uZXh0LnN3aXBlci1idXR0b24tYmxhY2ssLnN3aXBlci1idXR0b24tcHJldi5zd2lwZXItYnV0dG9uLWJsYWNrey0tc3dpcGVyLW5hdmlnYXRpb24tY29sb3I6IzAwMDAwMH0uc3dpcGVyLWJ1dHRvbi1sb2Nre2Rpc3BsYXk6bm9uZX0uc3dpcGVyLXBhZ2luYXRpb257cG9zaXRpb246YWJzb2x1dGU7dGV4dC1hbGlnbjpjZW50ZXI7dHJhbnNpdGlvbjouM3Mgb3BhY2l0eTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApO3otaW5kZXg6MTB9LnN3aXBlci1wYWdpbmF0aW9uLnN3aXBlci1wYWdpbmF0aW9uLWhpZGRlbntvcGFjaXR5OjB9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cywuc3dpcGVyLXBhZ2luYXRpb24tY3VzdG9tLC5zd2lwZXItcGFnaW5hdGlvbi1mcmFjdGlvbntib3R0b206MTBweDtsZWZ0OjA7d2lkdGg6MTAwJX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWlje292ZXJmbG93OmhpZGRlbjtmb250LXNpemU6MH0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7dHJhbnNmb3JtOnNjYWxlKC4zMyk7cG9zaXRpb246cmVsYXRpdmV9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZXt0cmFuc2Zvcm06c2NhbGUoMSl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1tYWlue3RyYW5zZm9ybTpzY2FsZSgxKX0uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlLXByZXZ7dHJhbnNmb3JtOnNjYWxlKC42Nil9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1wcmV2LXByZXZ7dHJhbnNmb3JtOnNjYWxlKC4zMyl9LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pYyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZS1uZXh0e3RyYW5zZm9ybTpzY2FsZSguNjYpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUtbmV4dC1uZXh0e3RyYW5zZm9ybTpzY2FsZSguMzMpfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7d2lkdGg6OHB4O2hlaWdodDo4cHg7ZGlzcGxheTppbmxpbmUtYmxvY2s7Ym9yZGVyLXJhZGl1czoxMDAlO2JhY2tncm91bmQ6IzAwMDtvcGFjaXR5Oi4yfWJ1dHRvbi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7Ym9yZGVyOm5vbmU7bWFyZ2luOjA7cGFkZGluZzowO2JveC1zaGFkb3c6bm9uZTstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTstbW96LWFwcGVhcmFuY2U6bm9uZTthcHBlYXJhbmNlOm5vbmV9LnN3aXBlci1wYWdpbmF0aW9uLWNsaWNrYWJsZSAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e2N1cnNvcjpwb2ludGVyfS5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZle29wYWNpdHk6MTtiYWNrZ3JvdW5kOnZhcigtLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yLHZhcigtLXN3aXBlci10aGVtZS1jb2xvcikpfS5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRze3JpZ2h0OjEwcHg7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlM2QoMHB4LC01MCUsMCl9LnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHttYXJnaW46NnB4IDA7ZGlzcGxheTpibG9ja30uc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWN7dG9wOjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTt3aWR0aDo4cHh9LnN3aXBlci1jb250YWluZXItdmVydGljYWw+LnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtLC4ycyB0b3B9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cyAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0e21hcmdpbjowIDRweH0uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHMtZHluYW1pY3tsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt3aGl0ZS1zcGFjZTpub3dyYXB9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXRzLWR5bmFtaWMgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldHt0cmFuc2l0aW9uOi4ycyB0cmFuc2Zvcm0sLjJzIGxlZnR9LnN3aXBlci1jb250YWluZXItaG9yaXpvbnRhbC5zd2lwZXItY29udGFpbmVyLXJ0bD4uc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0cy1keW5hbWljIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXR7dHJhbnNpdGlvbjouMnMgdHJhbnNmb3JtLC4ycyByaWdodH0uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4yNSk7cG9zaXRpb246YWJzb2x1dGV9LnN3aXBlci1wYWdpbmF0aW9uLXByb2dyZXNzYmFyIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1maWxse2JhY2tncm91bmQ6dmFyKC0tc3dpcGVyLXBhZ2luYXRpb24tY29sb3IsdmFyKC0tc3dpcGVyLXRoZW1lLWNvbG9yKSk7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybS1vcmlnaW46bGVmdCB0b3B9LnN3aXBlci1jb250YWluZXItcnRsIC5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2JhciAuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItZmlsbHt0cmFuc2Zvcm0tb3JpZ2luOnJpZ2h0IHRvcH0uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhciwuc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXIuc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXItb3Bwb3NpdGV7d2lkdGg6MTAwJTtoZWlnaHQ6NHB4O2xlZnQ6MDt0b3A6MH0uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsPi5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci5zd2lwZXItcGFnaW5hdGlvbi1wcm9ncmVzc2Jhci1vcHBvc2l0ZSwuc3dpcGVyLWNvbnRhaW5lci12ZXJ0aWNhbD4uc3dpcGVyLXBhZ2luYXRpb24tcHJvZ3Jlc3NiYXJ7d2lkdGg6NHB4O2hlaWdodDoxMDAlO2xlZnQ6MDt0b3A6MH0uc3dpcGVyLXBhZ2luYXRpb24td2hpdGV7LS1zd2lwZXItcGFnaW5hdGlvbi1jb2xvcjojZmZmZmZmfS5zd2lwZXItcGFnaW5hdGlvbi1ibGFja3stLXN3aXBlci1wYWdpbmF0aW9uLWNvbG9yOiMwMDAwMDB9LnN3aXBlci1wYWdpbmF0aW9uLWxvY2t7ZGlzcGxheTpub25lfS5zd2lwZXItc2Nyb2xsYmFye2JvcmRlci1yYWRpdXM6MTBweDtwb3NpdGlvbjpyZWxhdGl2ZTstbXMtdG91Y2gtYWN0aW9uOm5vbmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4xKX0uc3dpcGVyLWNvbnRhaW5lci1ob3Jpem9udGFsPi5zd2lwZXItc2Nyb2xsYmFye3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MSU7Ym90dG9tOjNweDt6LWluZGV4OjUwO2hlaWdodDo1cHg7d2lkdGg6OTglfS5zd2lwZXItY29udGFpbmVyLXZlcnRpY2FsPi5zd2lwZXItc2Nyb2xsYmFye3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjNweDt0b3A6MSU7ei1pbmRleDo1MDt3aWR0aDo1cHg7aGVpZ2h0Ojk4JX0uc3dpcGVyLXNjcm9sbGJhci1kcmFne2hlaWdodDoxMDAlO3dpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC41KTtib3JkZXItcmFkaXVzOjEwcHg7bGVmdDowO3RvcDowfS5zd2lwZXItc2Nyb2xsYmFyLWN1cnNvci1kcmFne2N1cnNvcjptb3ZlfS5zd2lwZXItc2Nyb2xsYmFyLWxvY2t7ZGlzcGxheTpub25lfS5zd2lwZXItem9vbS1jb250YWluZXJ7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtkaXNwbGF5OmZsZXg7anVzdGlmeS1jb250ZW50OmNlbnRlcjthbGlnbi1pdGVtczpjZW50ZXI7dGV4dC1hbGlnbjpjZW50ZXJ9LnN3aXBlci16b29tLWNvbnRhaW5lcj5jYW52YXMsLnN3aXBlci16b29tLWNvbnRhaW5lcj5pbWcsLnN3aXBlci16b29tLWNvbnRhaW5lcj5zdmd7bWF4LXdpZHRoOjEwMCU7bWF4LWhlaWdodDoxMDAlO29iamVjdC1maXQ6Y29udGFpbn0uc3dpcGVyLXNsaWRlLXpvb21lZHtjdXJzb3I6bW92ZX0uc3dpcGVyLWxhenktcHJlbG9hZGVye3dpZHRoOjQycHg7aGVpZ2h0OjQycHg7cG9zaXRpb246YWJzb2x1dGU7bGVmdDo1MCU7dG9wOjUwJTttYXJnaW4tbGVmdDotMjFweDttYXJnaW4tdG9wOi0yMXB4O3otaW5kZXg6MTA7dHJhbnNmb3JtLW9yaWdpbjo1MCU7YW5pbWF0aW9uOnN3aXBlci1wcmVsb2FkZXItc3BpbiAxcyBpbmZpbml0ZSBsaW5lYXI7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjo0cHggc29saWQgdmFyKC0tc3dpcGVyLXByZWxvYWRlci1jb2xvcix2YXIoLS1zd2lwZXItdGhlbWUtY29sb3IpKTtib3JkZXItcmFkaXVzOjUwJTtib3JkZXItdG9wLWNvbG9yOnRyYW5zcGFyZW50fS5zd2lwZXItbGF6eS1wcmVsb2FkZXItd2hpdGV7LS1zd2lwZXItcHJlbG9hZGVyLWNvbG9yOiNmZmZ9LnN3aXBlci1sYXp5LXByZWxvYWRlci1ibGFja3stLXN3aXBlci1wcmVsb2FkZXItY29sb3I6IzAwMH1Aa2V5ZnJhbWVzIHN3aXBlci1wcmVsb2FkZXItc3BpbnsxMDAle3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19LnN3aXBlci1jb250YWluZXIgLnN3aXBlci1ub3RpZmljYXRpb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3RvcDowO3BvaW50ZXItZXZlbnRzOm5vbmU7b3BhY2l0eTowO3otaW5kZXg6LTEwMDB9LnN3aXBlci1jb250YWluZXItZmFkZS5zd2lwZXItY29udGFpbmVyLWZyZWUtbW9kZSAuc3dpcGVyLXNsaWRle3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lO3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eX0uc3dpcGVyLWNvbnRhaW5lci1mYWRlIC5zd2lwZXItc2xpZGUgLnN3aXBlci1zbGlkZXtwb2ludGVyLWV2ZW50czpub25lfS5zd2lwZXItY29udGFpbmVyLWZhZGUgLnN3aXBlci1zbGlkZS1hY3RpdmUsLnN3aXBlci1jb250YWluZXItZmFkZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS5zd2lwZXItY29udGFpbmVyLWN1YmV7b3ZlcmZsb3c6dmlzaWJsZX0uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO3otaW5kZXg6MTt2aXNpYmlsaXR5OmhpZGRlbjt0cmFuc2Zvcm0tb3JpZ2luOjAgMDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZSAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmV9LnN3aXBlci1jb250YWluZXItY3ViZS5zd2lwZXItY29udGFpbmVyLXJ0bCAuc3dpcGVyLXNsaWRle3RyYW5zZm9ybS1vcmlnaW46MTAwJSAwfS5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZSAuc3dpcGVyLXNsaWRlLWFjdGl2ZXtwb2ludGVyLWV2ZW50czphdXRvfS5zd2lwZXItY29udGFpbmVyLWN1YmUgLnN3aXBlci1zbGlkZS1hY3RpdmUsLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQsLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLW5leHQrLnN3aXBlci1zbGlkZSwuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtcHJldntwb2ludGVyLWV2ZW50czphdXRvO3Zpc2liaWxpdHk6dmlzaWJsZX0uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1jb250YWluZXItY3ViZSAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHt6LWluZGV4OjA7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0uc3dpcGVyLWNvbnRhaW5lci1jdWJlIC5zd2lwZXItY3ViZS1zaGFkb3d7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO2JvdHRvbTowcHg7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiMwMDA7b3BhY2l0eTouNjstd2Via2l0LWZpbHRlcjpibHVyKDUwcHgpO2ZpbHRlcjpibHVyKDUwcHgpO3otaW5kZXg6MH0uc3dpcGVyLWNvbnRhaW5lci1mbGlwe292ZXJmbG93OnZpc2libGV9LnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRle3BvaW50ZXItZXZlbnRzOm5vbmU7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjt6LWluZGV4OjF9LnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlIC5zd2lwZXItc2xpZGV7cG9pbnRlci1ldmVudHM6bm9uZX0uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtYWN0aXZlLC5zd2lwZXItY29udGFpbmVyLWZsaXAgLnN3aXBlci1zbGlkZS1hY3RpdmUgLnN3aXBlci1zbGlkZS1hY3RpdmV7cG9pbnRlci1ldmVudHM6YXV0b30uc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWJvdHRvbSwuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LWxlZnQsLnN3aXBlci1jb250YWluZXItZmxpcCAuc3dpcGVyLXNsaWRlLXNoYWRvdy1yaWdodCwuc3dpcGVyLWNvbnRhaW5lci1mbGlwIC5zd2lwZXItc2xpZGUtc2hhZG93LXRvcHt6LWluZGV4OjA7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0iLCIucGFuYS1hY2NvcmRpb24ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMjAzcHg7XHJcbiAgbWFyZ2luOiAxMHB4IGF1dG87XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgYm9yZGVyOiAycHggc29saWQgI2IzYmRjZTtcclxuICBib3JkZXItbGVmdDogbm9uZTtcclxuICAvLyBiYWNrZ3JvdW5kOiAjZGFkMmVmO1xyXG59XHJcblxyXG4ucGFuYS1hY2NvcmRpb24gLnBhbmEtYWNjb3JkaW9uLXdyYXAge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMzAwJVxyXG59XHJcblxyXG4ucGFuYS1hY2NvcmRpb24gLnBhbmEtYWNjb3JkaW9uLXdyYXAgLnBhbmEtYWNjb3JkaW9uLWl0ZW0ge1xyXG4gIC8vIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2IzYmRjZTtcclxuICB3aWR0aDogNTBweDtcclxuICBoZWlnaHQ6IDIwM3B4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGxlZnQ6IDA7XHJcbiAgdG9wOiAwO1xyXG59XHJcblxyXG4ucGFuYS1hY2NvcmRpb24gLnBhbmEtYWNjb3JkaW9uLXdyYXAgLnBhbmEtYWNjb3JkaW9uLWl0ZW0gLnBhbmEtYWNjb3JkaW9uLW1hc2sge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogMTA7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcclxuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NDApO1xyXG4gIC1tcy1maWx0ZXI6IFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NDApXCI7XHJcbiAgLXdlYmtpdC1vcGFjaXR5OiAwLjQ7XHJcbiAgLWtodG1sLW9wYWNpdHk6IDAuNDtcclxuICAtbW96LW9wYWNpdHk6IDAuNDtcclxuICAtbXMtb3BhY2l0eTogMC40O1xyXG4gIC1vLW9wYWNpdHk6IDAuNDtcclxuICBvcGFjaXR5OiAwLjRcclxufVxyXG5cclxuLnBhbmEtYWNjb3JkaW9uIC5wYW5hLWFjY29yZGlvbi13cmFwIC5wYW5hLWFjY29yZGlvbi1pdGVtLmFjdGl2ZSAucGFuYS1hY2NvcmRpb24tbWFzayB7XHJcbiAgZGlzcGxheTogbm9uZVxyXG59IiwiLmZhbmN5Ym94LWVuYWJsZWQge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47IH1cclxuXHJcbi5mYW5jeWJveC1lbmFibGVkIGJvZHkge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIC1tcy10b3VjaC1hY3Rpb246IG5vbmU7XHJcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XHJcblxyXG4uZmFuY3lib3gtY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHotaW5kZXg6IDk5OTkzO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxyXG5cclxuLyogTWFrZSBzdXJlIHRoYXQgdGhlIGZpcnN0IG9uZSBpcyBvbiB0aGUgdG9wICovXHJcbi5mYW5jeWJveC1jb250YWluZXIgfiAuZmFuY3lib3gtY29udGFpbmVyIHtcclxuICB6LWluZGV4OiA5OTk5MjsgfVxyXG5cclxuLmZhbmN5Ym94LWJnIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGJhY2tncm91bmQ6ICMwZjBmMTE7XHJcbiAgb3BhY2l0eTogMDtcclxuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUsIDAuMDYsIDAuNjgsIDAuMTkpO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxyXG5cclxuLmZhbmN5Ym94LWNvbnRhaW5lci0tcmVhZHkgLmZhbmN5Ym94LWJnIHtcclxuICBvcGFjaXR5OiAwLjg3O1xyXG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7IH1cclxuXHJcbi5mYW5jeWJveC1jb250cm9scyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHotaW5kZXg6IDk5OTk0O1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBkaXJlY3Rpb246IGx0cjsgfVxyXG5cclxuLmZhbmN5Ym94LXNob3ctY29udHJvbHMgLmZhbmN5Ym94LWNvbnRyb2xzIHtcclxuICBvcGFjaXR5OiAxOyB9XHJcblxyXG4uZmFuY3lib3gtaW5mb2JhciB7XHJcbiAgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLmZhbmN5Ym94LXNob3ctaW5mb2JhciAuZmFuY3lib3gtaW5mb2JhciB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cclxuXHJcbi5mYW5jeWJveC1pbmZvYmFyX19ib2R5IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IDcwcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XHJcbiAgZm9udC1zaXplOiAxM3B4O1xyXG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGNvbG9yOiAjZGRkO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzAsIDMwLCAzMCwgMC43KTtcclxuICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9ucyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBhbGw7IH1cclxuXHJcbi5mYW5jeWJveC1zaG93LWJ1dHRvbnMgLmZhbmN5Ym94LWJ1dHRvbnMge1xyXG4gIGRpc3BsYXk6IGJsb2NrOyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGVyLXdyYXAge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgZGlyZWN0aW9uOiBsdHI7IH1cclxuXHJcbi5mYW5jeWJveC1zbGlkZXItd3JhcCxcclxuLmZhbmN5Ym94LXNsaWRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICByaWdodDogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICB6LWluZGV4OiA5OTk5MztcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB6LWluZGV4OiA5OTk5NDtcclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7IH1cclxuXHJcbi5mYW5jeWJveC1zbGlkZTo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnJztcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDA7IH1cclxuXHJcbi5mYW5jeWJveC1zbGlkZSA+ICoge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgcGFkZGluZzogMjRweDtcclxuICBtYXJnaW46IDQ0cHggMCA0NHB4O1xyXG4gIGJvcmRlci13aWR0aDogMDtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICBvdmVyZmxvdzogYXV0bztcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIHtcclxuICBvdmVyZmxvdzogaGlkZGVuOyB9XHJcblxyXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlOjpiZWZvcmUge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5mYW5jeWJveC1jb250ZW50IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogNDRweCBhdXRvO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIHdpZHRoOiA4MCU7XHJcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSA4OHB4KTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgZm9udC1zaXplOiAxNnB4O1xyXG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XHJcblxyXG4uZmFuY3lib3gtaWZyYW1lIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cclxuXHJcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWNvbnRlbnQsXHJcbi5mYW5jeWJveC1zbGlkZS0tdmlkZW8gLmZhbmN5Ym94LWlmcmFtZSB7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cclxuXHJcbi5mYW5jeWJveC1wbGFjZWhvbGRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIGJvcmRlcjogMDtcclxuICB6LWluZGV4OiA5OTk5NTtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBjdXJzb3I6IGRlZmF1bHQ7XHJcbiAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcclxuICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cclxuXHJcbi5mYW5jeWJveC1pbWFnZSxcclxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7XHJcbiAgbWF4LXdpZHRoOiBub25lO1xyXG4gIG1heC1oZWlnaHQ6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7IH1cclxuXHJcbi5mYW5jeWJveC1jb250cm9scy0tY2Fuem9vbU91dCAuZmFuY3lib3gtcGxhY2Vob2xkZXIge1xyXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLW91dDtcclxuICBjdXJzb3I6IHpvb20tb3V0OyB9XHJcblxyXG4uZmFuY3lib3gtY29udHJvbHMtLWNhbnpvb21JbiAuZmFuY3lib3gtcGxhY2Vob2xkZXIge1xyXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xyXG4gIGN1cnNvcjogem9vbS1pbjsgfVxyXG5cclxuLmZhbmN5Ym94LWNvbnRyb2xzLS1jYW5HcmFiIC5mYW5jeWJveC1wbGFjZWhvbGRlciB7XHJcbiAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XHJcbiAgY3Vyc29yOiBncmFiOyB9XHJcblxyXG4uZmFuY3lib3gtY29udHJvbHMtLWlzR3JhYmJpbmcgLmZhbmN5Ym94LXBsYWNlaG9sZGVyIHtcclxuICBjdXJzb3I6IC13ZWJraXQtZ3JhYmJpbmc7XHJcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxyXG5cclxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XHJcbiAgei1pbmRleDogMTsgfVxyXG5cclxuLmZhbmN5Ym94LXRtcCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTk5OTlweDtcclxuICBsZWZ0OiAtOTk5OXB4O1xyXG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxyXG5cclxuLmZhbmN5Ym94LWVycm9yIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDQwcHg7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHdpZHRoOiAzODBweDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICBjdXJzb3I6IGRlZmF1bHQ7IH1cclxuXHJcbi5mYW5jeWJveC1lcnJvciBwIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBjb2xvcjogIzQ0NDtcclxuICBmb250OiAxNnB4LzIwcHggXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmOyB9XHJcblxyXG4uZmFuY3lib3gtY2xvc2Utc21hbGwge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDRweDtcclxuICByaWdodDogNHB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHdpZHRoOiAzMHB4O1xyXG4gIGhlaWdodDogMzBweDtcclxuICBmb250OiAyMXB4LzEgQXJpYWwsXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxzYW5zLXNlcmlmO1xyXG4gIGNvbG9yOiAjODg4O1xyXG4gIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICBib3JkZXItd2lkdGg6IDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuMnM7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuICB6LWluZGV4OiAyOyB9XHJcblxyXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6Zm9jdXMge1xyXG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgIzg4ODsgfVxyXG5cclxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyAuZmFuY3lib3gtY2xvc2Utc21hbGwge1xyXG4gIHRvcDogLTM2cHg7XHJcbiAgcmlnaHQ6IC0zNnB4O1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XHJcblxyXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6aG92ZXIge1xyXG4gIGNvbG9yOiAjNTU1O1xyXG4gIGJhY2tncm91bmQ6ICNlZWU7IH1cclxuXHJcbi8qIENhcHRpb24gKi9cclxuLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHBhZGRpbmc6IDYwcHggMzBweCAwIDMwcHg7XHJcbiAgei1pbmRleDogOTk5OTg7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgdHJhbnNwYXJlbnQgMCUsIHJnYmEoMCwgMCwgMCwgMC4xKSAyMCUsIHJnYmEoMCwgMCwgMCwgMC4yKSA0MCUsIHJnYmEoMCwgMCwgMCwgMC42KSA4MCUsIHJnYmEoMCwgMCwgMCwgMC44KSAxMDAlKTtcclxuICBvcGFjaXR5OiAwO1xyXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XHJcblxyXG4uZmFuY3lib3gtc2hvdy1jYXB0aW9uIC5mYW5jeWJveC1jYXB0aW9uLXdyYXAge1xyXG4gIG9wYWNpdHk6IDE7IH1cclxuXHJcbi5mYW5jeWJveC1jYXB0aW9uIHtcclxuICBwYWRkaW5nOiAzMHB4IDA7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtcclxuICBjb2xvcjogI2ZmZjtcclxuICBsaW5lLWhlaWdodDogMjBweDtcclxuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7IH1cclxuXHJcbi5mYW5jeWJveC1jYXB0aW9uIGEsXHJcbi5mYW5jeWJveC1jYXB0aW9uIGJ1dHRvbiB7XHJcbiAgcG9pbnRlci1ldmVudHM6IGFsbDsgfVxyXG5cclxuLmZhbmN5Ym94LWNhcHRpb24gYSB7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cclxuXHJcbi8qIEJ1dHRvbnMgKi9cclxuLmZhbmN5Ym94LWJ1dHRvbiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogNDRweDtcclxuICBoZWlnaHQ6IDQ0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICBvdXRsaW5lOiBub25lOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1kaXNhYmxlZCB7XHJcbiAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XHJcblxyXG4uZmFuY3lib3gtaW5mb2Jhcl9fYm9keSwgLmZhbmN5Ym94LWJ1dHRvbiB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgzMCwgMzAsIDMwLCAwLjYpOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOCk7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b246OmJlZm9yZSxcclxuLmZhbmN5Ym94LWJ1dHRvbjo6YWZ0ZXIge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBib3JkZXItY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogY3VycmVudENvbG9yO1xyXG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XHJcbiAgb3BhY2l0eTogMC45O1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1kaXNhYmxlZDo6YmVmb3JlLFxyXG4uZmFuY3lib3gtYnV0dG9uLS1kaXNhYmxlZDo6YWZ0ZXIge1xyXG4gIG9wYWNpdHk6IDAuNTsgfVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdDo6YWZ0ZXIge1xyXG4gIGxlZnQ6IDIwcHg7XHJcbiAgdG9wOiAxOHB4O1xyXG4gIHdpZHRoOiA2cHg7XHJcbiAgaGVpZ2h0OiA2cHg7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXRvcDogc29saWQgMnB4IGN1cnJlbnRDb2xvcjtcclxuICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLXJpZ2h0OjphZnRlciB7XHJcbiAgcmlnaHQ6IDIwcHg7XHJcbiAgdG9wOiAxOHB4O1xyXG4gIHdpZHRoOiA2cHg7XHJcbiAgaGVpZ2h0OiA2cHg7XHJcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLXRvcDogc29saWQgMnB4IGN1cnJlbnRDb2xvcjtcclxuICBib3JkZXItcmlnaHQ6IHNvbGlkIDJweCBjdXJyZW50Q29sb3I7XHJcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLWxlZnQge1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDsgfVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQge1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1cHg7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLWNsb3NlIHtcclxuICBmbG9hdDogcmlnaHQ7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLWNsb3NlOjpiZWZvcmUsIC5mYW5jeWJveC1idXR0b24tLWNsb3NlOjphZnRlciB7XHJcbiAgY29udGVudDogJyc7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBoZWlnaHQ6IDJweDtcclxuICB3aWR0aDogMTZweDtcclxuICB0b3A6IGNhbGMoNTAlIC0gMXB4KTtcclxuICBsZWZ0OiBjYWxjKDUwJSAtIDhweCk7IH1cclxuXHJcbi5mYW5jeWJveC1idXR0b24tLWNsb3NlOjpiZWZvcmUge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOyB9XHJcblxyXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YWZ0ZXIge1xyXG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcclxuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XHJcblxyXG4vKiBMb2FkaW5nIHNwaW5uZXIgKi9cclxuLmZhbmN5Ym94LWxvYWRpbmcge1xyXG4gIGJvcmRlcjogNnB4IHNvbGlkIHJnYmEoMTAwLCAxMDAsIDEwMCwgMC40KTtcclxuICBib3JkZXItdG9wOiA2cHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgaGVpZ2h0OiA1MHB4O1xyXG4gIHdpZHRoOiA1MHB4O1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmYW5jeWJveC1yb3RhdGUgLjhzIGluZmluaXRlIGxpbmVhcjtcclxuICBhbmltYXRpb246IGZhbmN5Ym94LXJvdGF0ZSAuOHMgaW5maW5pdGUgbGluZWFyO1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDUwJTtcclxuICBsZWZ0OiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogLTI1cHg7XHJcbiAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xyXG4gIHotaW5kZXg6IDk5OTk5OyB9XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcclxuICBmcm9tIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XHJcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxyXG4gIHRvIHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxyXG5cclxuQGtleWZyYW1lcyBmYW5jeWJveC1yb3RhdGUge1xyXG4gIGZyb20ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcclxuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgdG8ge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTsgfSB9XHJcblxyXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xyXG4gIC5mYW5jeWJveC1jb250cm9scyB7XHJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XHJcbiAgLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdCxcclxuICAuZmFuY3lib3gtYnV0dG9uLS1yaWdodCxcclxuICAuZmFuY3lib3gtYnV0dG9ucyBidXR0b246bm90KC5mYW5jeWJveC1idXR0b24tLWNsb3NlKSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuICAuZmFuY3lib3gtY2FwdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICBtYXJnaW46IDA7IH0gfVxyXG5cclxuLyogRnVsbHNjcmVlbiAgKi9cclxuLmZhbmN5Ym94LWJ1dHRvbi0tZnVsbHNjcmVlbjo6YmVmb3JlIHtcclxuICB3aWR0aDogMTVweDtcclxuICBoZWlnaHQ6IDExcHg7XHJcbiAgbGVmdDogMTVweDtcclxuICB0b3A6IDE2cHg7XHJcbiAgYm9yZGVyOiAycHggc29saWQ7XHJcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxyXG5cclxuLyogU2xpZGVzaG93IGJ1dHRvbiAqL1xyXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5OjpiZWZvcmUge1xyXG4gIHRvcDogMTZweDtcclxuICBsZWZ0OiAxOHB4O1xyXG4gIHdpZHRoOiAwO1xyXG4gIGhlaWdodDogMDtcclxuICBib3JkZXItdG9wOiA2cHggaW5zZXQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogNnB4IGluc2V0IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkO1xyXG4gIGJvcmRlci1yYWRpdXM6IDFweDtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2U6OmJlZm9yZSB7XHJcbiAgdG9wOiAxNnB4O1xyXG4gIGxlZnQ6IDE4cHg7XHJcbiAgd2lkdGg6IDdweDtcclxuICBoZWlnaHQ6IDExcHg7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItd2lkdGg6IDAgMnB4IDAgMnB4O1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XHJcblxyXG4vKiBUaHVtYnMgKi9cclxuLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzIHNwYW4ge1xyXG4gIGZvbnQtc2l6ZTogMjNweDsgfVxyXG5cclxuLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzOjpiZWZvcmUge1xyXG4gIHRvcDogMjBweDtcclxuICBsZWZ0OiAyMXB4O1xyXG4gIHdpZHRoOiAzcHg7XHJcbiAgaGVpZ2h0OiAzcHg7XHJcbiAgYm94LXNoYWRvdzogMCAtNHB4IDAsIC00cHggLTRweCAwLCA0cHggLTRweCAwLCAwIDAgMCAzMnB4IGluc2V0LCAtNHB4IDAgMCwgNHB4IDAgMCwgMCA0cHggMCwgLTRweCA0cHggMCwgNHB4IDRweCAwOyB9XHJcblxyXG4uZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LWNvbnRyb2xzLFxyXG4uZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LXNsaWRlci13cmFwLFxyXG4uZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XHJcbiAgcmlnaHQ6IDIyMHB4OyB9XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiBhdXRvO1xyXG4gIHdpZHRoOiAyMjBweDtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogNXB4IDVweCAwIDA7XHJcbiAgYmFja2dyb3VuZDogI2ZmZjtcclxuICB6LWluZGV4OiA5OTk5MztcclxuICB3b3JkLWJyZWFrOiBub3JtYWw7XHJcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG5cclxuLmZhbmN5Ym94LXRodW1icyA+IHVsIHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIGZvbnQtc2l6ZTogMDsgfVxyXG5cclxuLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgd2lkdGg6IDEwNXB4O1xyXG4gIGhlaWdodDogNzVweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgYm9yZGVyOiA1cHggc29saWQgI2ZmZjtcclxuICBib3JkZXItdG9wLXdpZHRoOiAwO1xyXG4gIGJvcmRlci1yaWdodC13aWR0aDogMDtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xyXG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcblxyXG5saS5mYW5jeWJveC10aHVtYnMtbG9hZGluZyB7XHJcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSA+IGltZyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIG1pbi13aWR0aDogMTAwJTtcclxuICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gIG1heC13aWR0aDogbm9uZTtcclxuICBtYXgtaGVpZ2h0OiBub25lO1xyXG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcclxuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lOyB9XHJcblxyXG4uZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gIGJvcmRlcjogNHB4IHNvbGlkICM0ZWE3Zjk7XHJcbiAgei1pbmRleDogOTk5OTE7XHJcbiAgb3BhY2l0eTogMDtcclxuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cclxuXHJcbi5mYW5jeWJveC10aHVtYnMgPiB1bCA+IGxpLmZhbmN5Ym94LXRodW1icy1hY3RpdmU6YmVmb3JlIHtcclxuICBvcGFjaXR5OiAxOyB9XHJcblxyXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xyXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA4MDBweCkge1xyXG4gIC5mYW5jeWJveC10aHVtYnMge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XHJcbiAgLmZhbmN5Ym94LWNvbnRhaW5lci0tdGh1bWJzIC5mYW5jeWJveC1jb250cm9scyxcclxuICAuZmFuY3lib3gtY29udGFpbmVyLS10aHVtYnMgLmZhbmN5Ym94LXNsaWRlci13cmFwLFxyXG4gIC5mYW5jeWJveC1jb250YWluZXItLXRodW1icyAuZmFuY3lib3gtY2FwdGlvbi13cmFwIHtcclxuICAgIHJpZ2h0OiAwOyB9IH1cclxuIiwiLy8gRGVmYXVsdCB2YXJpYWJsZXNcclxuJGZvbnRfc2l6ZTogMTRweCAhZGVmYXVsdDtcclxuJGZvbnRfc2l6ZV9zbWFsbDogMTJweCAhZGVmYXVsdDtcclxuXHJcbiRpbnB1dF9ib3JkZXJfcmFkaXVzOiA1cHggIWRlZmF1bHQ7XHJcbiRpbnB1dF9oZWlnaHQ6IDM3cHggIWRlZmF1bHQ7XHJcbiRpbnB1dF9oZWlnaHRfc21hbGw6IDM2cHggIWRlZmF1bHQ7XHJcbiRkcm9wZG93bl9wYWRkaW5nOiAxOHB4ICFkZWZhdWx0O1xyXG5cclxuJGdyYXlfZGFyazogIzQ0NCAhZGVmYXVsdDtcclxuJGdyYXk6ICM3NTc1NzUgIWRlZmF1bHQ7XHJcbiRncmF5X2xpZ2h0OiAjZDhkOGQ4ICFkZWZhdWx0O1xyXG4kZ3JheV9saWdodGVyOiAjY2NjY2NjICFkZWZhdWx0O1xyXG4kcHJpbWFyeV9saWdodDogJGdyYXkgIWRlZmF1bHQ7XHJcbiRhcnJvd19jb2xvcjogJGdyYXkgIWRlZmF1bHQ7XHJcblxyXG4vLyBTdHlsZSB0aGUgZHJvcGRvd25cclxuLm5pY2Utc2VsZWN0IHtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcclxuICBib3JkZXItcmFkaXVzOiAkaW5wdXRfYm9yZGVyX3JhZGl1cztcclxuICBib3JkZXI6IHNvbGlkIDFweCAjZDhkOGQ4O1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIC8vIGZsb2F0OiBsZWZ0O1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gIGZvbnQtc2l6ZTogJGZvbnRfc2l6ZTtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGhlaWdodDogJGlucHV0X2hlaWdodDtcclxuICBsaW5lLWhlaWdodDogJGlucHV0X2hlaWdodDtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIHBhZGRpbmctbGVmdDogJGRyb3Bkb3duX3BhZGRpbmc7XHJcbiAgcGFkZGluZy1yaWdodDogJGRyb3Bkb3duX3BhZGRpbmcgKyAxMjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xyXG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgICBcclxuICAmOmhvdmVyIHtcclxuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRncmF5X2xpZ2h0LCA1JSk7XHJcbiAgfVxyXG4gICY6YWN0aXZlLCAmOmZvY3VzIHtcclxuICAgIGJvcmRlci1jb2xvcjogJHByaW1hcnlfbGlnaHQ7XHJcbiAgfVxyXG4gIC8vIEFycm93XHJcbiAgJjphZnRlciB7XHJcbiAgICAvLyBib3JkZXItYm90dG9tOiAycHggc29saWQgJGFycm93X2NvbG9yO1xyXG4gICAgLy8gYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJGFycm93X2NvbG9yO1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAzcHg7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiA2NiUgNjYlO1xyXG4gICAgLy90cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB3aWR0aDogMjZweDtcclxuICAgIGhlaWdodDogMjZweDtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1kb3duLnBuZyk7XHJcbiAgfVxyXG5cclxuICAmLm9wZW4ge1xyXG4gICAgQGV4dGVuZCA6YWN0aXZlO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xyXG4gICAgICB0b3A6IC0xMHB4O1xyXG4gICAgICByaWdodDogMTJweDtcclxuICAgIH1cclxuICAgIC5saXN0IHtcclxuICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcclxuICAgIH1cclxuICB9XHJcbiAgJi5kaXNhYmxlZCB7XHJcbiAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGdyYXlfbGlnaHQsIDIlKTtcclxuICAgIGNvbG9yOiAkZ3JheTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkYXJyb3dfY29sb3IsIDIwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBNb2RpZmllcnNcclxuICAmLndpZGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAubGlzdCB7XHJcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgcmlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgJi5yaWdodCB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAubGlzdCB7XHJcbiAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLnNtYWxsIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnRfc2l6ZV9zbWFsbDtcclxuICAgIGhlaWdodDogJGlucHV0X2hlaWdodF9zbWFsbDtcclxuICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXRfaGVpZ2h0X3NtYWxsIC0gMjtcclxuICAgICY6YWZ0ZXIge1xyXG4gICAgICBoZWlnaHQ6IDRweDtcclxuICAgICAgd2lkdGg6IDRweDtcclxuICAgIH1cclxuICAgIC5vcHRpb24ge1xyXG4gICAgICBsaW5lLWhlaWdodDogJGlucHV0X2hlaWdodF9zbWFsbCAtIDI7XHJcbiAgICAgIG1pbi1oZWlnaHQ6ICRpbnB1dF9oZWlnaHRfc21hbGwgLSAyO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTGlzdCBhbmQgb3B0aW9uc1xyXG4gIC5saXN0IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgLy9ib3JkZXItcmFkaXVzOiAkaW5wdXRfYm9yZGVyX3JhZGl1cztcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRncmF5X2RhcmssIC4xMSk7XHJcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4gICAgbWFyZ2luLXRvcDogNHB4O1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDEwMCU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKC43NSkgdHJhbnNsYXRlWSgtICRpbnB1dF9oZWlnaHQgLyAyKTtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuMnMgY3ViaWMtYmV6aWVyKDAuNSwgMCwgMCwgMS4yNSksIG9wYWNpdHkgLjE1cyBlYXNlLW91dDtcclxuICAgIHotaW5kZXg6IDk7XHJcbiAgICAmOmhvdmVyIC5vcHRpb246bm90KDpob3Zlcikge1xyXG5cclxuICAgIH1cclxuICB9XHJcbiAgLm9wdGlvbiB7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgbGluZS1oZWlnaHQ6ICRpbnB1dF9oZWlnaHQ7XHJcbiAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgaGVpZ2h0OiAkaW5wdXRfaGVpZ2h0O1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIHBhZGRpbmctbGVmdDogJGRyb3Bkb3duX3BhZGRpbmc7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZHJvcGRvd25fcGFkZGluZyArIDExO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG4gICAgYmFja2dyb3VuZDogIzI5Nzc5NztcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMzEyZTJmO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBcclxuICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIH1cclxuICAgICY6aG92ZXIsICYuZm9jdXMsICYuc2VsZWN0ZWQuZm9jdXMge1xyXG4gICAgICAgIC8vYmFja2dyb3VuZC1jb2xvcjogJGdyYXlfbGlnaHRlcjtcclxuICAgICAgICBjb2xvcjogI2ZmYjAzNjtcclxuICAgIH1cclxuICAgICYuc2VsZWN0ZWQge1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIH1cclxuICAgICYuZGlzYWJsZWQge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjY2NjO1xyXG4gICAgICBjb2xvcjogJGdyYXk7XHJcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxufVxyXG5cclxuLy8gVXNlIGRpc3BsYXkgaW5zdGVhZCBvZiBvcGFjaXR5IGZvciBJRSA8PSAxMFxyXG4ubm8tY3NzcG9pbnRlcmV2ZW50cyAubmljZS1zZWxlY3Qge1xyXG4gIC5saXN0IHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gICYub3BlbiB7XHJcbiAgICAubGlzdCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKmFuaW1hdGlvbnMqL1xuXG4vKioqKioqKioqKioqKioqKioqXG4qIEJvdW5jZSBpbiByaWdodCAqXG4qKioqKioqKioqKioqKioqKioqL1xuXG5cbi5hbmltYXRlZCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG4uc2xvdyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICBhbmltYXRpb24tZHVyYXRpb246IDEuNXM7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcbn1cblxuLnNsb3dlciB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG4uc2xvd2VzdCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAzcztcbiAgLXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG4vKiBBZGRlZCBieSBBbmR5IE1lZXRhbiAqL1xuLmRlbGF5LTI1MCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjI1cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDAuMjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDAuMjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDAuMjVzO1xufVxuXG4uZGVsYXktNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDAuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMC41cztcbn1cblxuLmRlbGF5LTc1MCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjc1cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDAuNzVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDAuNzVzO1xuICBhbmltYXRpb24tZGVsYXk6IDAuNzVzO1xufVxuXG4uZGVsYXktMTAwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjBzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS4wcztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IDEuMHM7XG59XG5cbi5kZWxheS0xMjUwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEuMjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS4yNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMS4yNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMS4yNXM7XG59XG5cbi5kZWxheS0xNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDEuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDEuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMS41cztcbn1cblxuLmRlbGF5LTE3NTAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMS43NXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAxLjc1cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAxLjc1cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAxLjc1cztcbn1cblxuLmRlbGF5LTIwMDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMi4wcztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xufVxuXG4uZGVsYXktMjUwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xuICBhbmltYXRpb24tZGVsYXk6IDIuNXM7XG59XG5cbi5kZWxheS0yMDAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAyLjBzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDIuMHM7XG4gIGFuaW1hdGlvbi1kZWxheTogMi4wcztcbn1cblxuLmRlbGF5LTI1MDAge1xuICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuNXM7XG4gIC1vLWFuaW1hdGlvbi1kZWxheTogMi41cztcbiAgYW5pbWF0aW9uLWRlbGF5OiAyLjVzO1xufVxuXG4uZGVsYXktMzAwMCB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAzLjBzO1xuICAtbW96LWFuaW1hdGlvbi1kZWxheTogMy4wcztcbiAgLW8tYW5pbWF0aW9uLWRlbGF5OiAzLjBzO1xuICBhbmltYXRpb24tZGVsYXk6IDMuMHM7XG59XG5cbi5kZWxheS0zNTAwIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDMuNXM7XG4gIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAzLjVzO1xuICAtby1hbmltYXRpb24tZGVsYXk6IDMuNXM7XG4gIGFuaW1hdGlvbi1kZWxheTogMy41cztcbn1cblxuLmJvdW5jZUluUmlnaHQsXG4uYm91bmNlSW5MZWZ0LFxuLmJvdW5jZUluVXAsXG4uYm91bmNlSW5Eb3duIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xufVxuXG4uZmFkZUluUmlnaHQsXG4uZmFkZUluTGVmdCxcbi5mYWRlSW5VcCxcbi5mYWRlSW5Eb3duIHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xufVxuXG4uZmxpcEluWCxcbi5mbGlwSW5ZLFxuLnJvdGF0ZUluLFxuLnJvdGF0ZUluVXBMZWZ0LFxuLnJvdGF0ZUluVXBSaWdodCxcbi5yb3RhdGVJbkRvd25MZWZ0LFxuLnJvdGF0ZURvd25VcFJpZ2h0LFxuLnJvbGxJbiB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5saWdodFNwZWVkSW5SaWdodCxcbi5saWdodFNwZWVkSW5MZWZ0IHtcbiAgb3BhY2l0eTogMDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNDAwcHgpO1xufVxuXG4vKioqKioqKioqKipcbiogYm91bmNlSW4gKlxuKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4zKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gIH1cblxuICA3MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjMpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gIH1cblxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjkpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG4uYm91bmNlSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluO1xufVxuXG4vKioqKioqKioqKioqKioqKlxuKiBib3VuY2VJblJpZ2h0ICpcbioqKioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIH1cblxuICA2MCUge1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIH1cblxuICA2MCUge1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5cbi5ib3VuY2VJblJpZ2h0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKipcbiogQm91bmNlIGluIGxlZnQgKlxuKioqKioqKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluTGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTtcbiAgfVxuXG4gIDYwJSB7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTtcbiAgfVxuXG4gIDYwJSB7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5ib3VuY2VJbkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKipcbiogQm91bmNlIGluIHVwICpcbioqKioqKioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7XG4gIH1cblxuICA2MCUge1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7XG4gIH1cblxuICA2MCUge1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uYm91bmNlSW5VcC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwO1xufVxuXG5cbi8qKioqKioqKioqKioqKioqKipcbiogQm91bmNlIGluIGRvd24gKlxuKioqKioqKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTtcbiAgfVxuXG4gIDYwJSB7XG5cbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTQwMHB4KTtcbiAgfVxuXG4gIDYwJSB7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7XG4gIH1cblxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbi5ib3VuY2VJbkRvd24uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247XG59XG5cblxuLyoqKioqKioqKipcbiogRmFkZSBJbiAqXG4qKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbiB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uZmFkZUluIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLmZhZGVJbi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbjtcbn1cblxuLyoqKioqKioqKipcbiogR3JvdyBpbiAqXG4qKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGdyb3dJbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4yKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTtcblxuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBncm93SW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcblxuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5ncm93SW4ge1xuXG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5ncm93SW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBncm93SW47XG4gIGFuaW1hdGlvbi1uYW1lOiBncm93SW47XG59XG5cbi8qKioqKioqKlxuKiBTaGFrZSAqXG4qKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7XG5cbiAgMCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzaGFrZSB7XG5cbiAgMCUsXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDEwJSxcbiAgMzAlLFxuICA1MCUsXG4gIDcwJSxcbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICB9XG5cbiAgMjAlLFxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7XG4gIH1cbn1cblxuLnNoYWtlLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZTtcbn1cblxuLyoqKioqKioqXG4qIFNoYWtlVXAgKlxuKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2hha2VVcCB7XG5cbiAgMCUsXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzaGFrZVVwIHtcblxuICAwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMTAlLFxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gIH1cblxuICAyMCUsXG4gIDQwJSxcbiAgNjAlLFxuICA4MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgfVxufVxuXG4uc2hha2VVcC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNoYWtlVXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVVwO1xufVxuXG4vKioqKioqKioqKioqKlxuKiBGYWRlSW5MZWZ0ICpcbioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbkxlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMC4zO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmZhZGVJbkxlZnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNDAwcHgpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTQwMHB4KTtcbn1cblxuLmZhZGVJbkxlZnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDtcbn1cblxuXG4vKioqKioqKioqKioqKlxuKiBGYWRlSW5SaWdodCAqXG4qKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluUmlnaHQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0MDBweCk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDAuMztcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5mYWRlSW5SaWdodCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTtcbn1cblxuLmZhZGVJblJpZ2h0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDtcbn1cblxuLyoqKioqKioqKioqKipcbiogRmFkZUluVXAgKlxuKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluVXAge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNDAwcHgpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uZmFkZUluVXAge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg0MDBweCk7XG59XG5cbi5mYWRlSW5VcC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwO1xuICBhbmltYXRpb24tbmFtZTogZmFkZUluVXA7XG59XG5cbi8qKioqKioqKioqKioqXG4qIEZhZGVJbkRvd24gKlxuKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluRG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxufVxuXG4uZmFkZUluRG93biB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC00MDBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNDAwcHgpO1xufVxuXG4uZmFkZUluRG93bi5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duO1xufVxuXG4vKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW4gKlxuKioqKioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW4ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjtcbn1cblxuLyoqKioqKioqKioqKioqKioqXG4qIHJvdGF0ZUluVXBMZWZ0ICpcbioqKioqKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnJvdGF0ZUluVXBMZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5Eb3duTGVmdCAqXG4qKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93bkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJbkRvd25MZWZ0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKipcbiogcm90YXRlSW5VcFJpZ2h0ICpcbioqKioqKioqKioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbi5yb3RhdGVJblVwUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwUmlnaHQ7XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKlxuKiByb3RhdGVJbkRvd25SaWdodCAqXG4qKioqKioqKioqKioqKioqKioqKi9cblxuQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVJbkRvd25SaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ucm90YXRlSW5Eb3duUmlnaHQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0O1xufVxuXG4vKioqKioqKioqXG4qIHJvbGxJbiAqXG4qKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb2xsSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHJvdGF0ZSgtMTIwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpO1xuICB9XG59XG5cbi5yb2xsSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG4gIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47XG59XG5cbi8qKioqKioqKipcbiogd2lnZ2xlICpcbioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB3aWdnbGUge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDlkZWcpO1xuICB9XG5cbiAgMTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLThkZWcpO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goN2RlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtNmRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg1ZGVnKTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC00ZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDNkZWcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTJkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMWRlZyk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDlkZWcpO1xuICB9XG5cbiAgMTAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC04ZGVnKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCg3ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgtNmRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goNWRlZyk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goLTRkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKDNkZWcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHNrZXdYKC0yZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgxZGVnKTtcbiAgfVxuXG4gIDkwJSB7XG4gICAgdHJhbnNmb3JtOiBza2V3WCgwZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2tld1goMGRlZyk7XG4gIH1cbn1cblxuLndpZ2dsZS5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZTtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZTtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG4vKioqKioqKipcbiogc3dpbmcgKlxuKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3dpbmcge1xuXG4gIDIwJSxcbiAgNDAlLFxuICA2MCUsXG4gIDgwJSxcbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICB9XG5cbiAgMjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDVkZWcpO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2luZyB7XG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpO1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpO1xuICB9XG5cbiAgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbn1cblxuLnN3aW5nLmdvIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgY2VudGVyO1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzd2luZztcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nO1xufVxuXG4vKioqKioqKlxuKiB0YWRhICpcbioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAxMCUsXG4gIDIwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTtcbiAgfVxuXG4gIDMwJSxcbiAgNTAlLFxuICA3MCUsXG4gIDkwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO1xuICB9XG5cbiAgNDAlLFxuICA2MCUsXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyB0YWRhIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cblxuICAxMCUsXG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7XG4gIH1cblxuICAzMCUsXG4gIDUwJSxcbiAgNzAlLFxuICA5MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoM2RlZyk7XG4gIH1cblxuICA0MCUsXG4gIDYwJSxcbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO1xuICB9XG59XG5cbi50YWRhLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogdGFkYTtcbiAgYW5pbWF0aW9uLW5hbWU6IHRhZGE7XG59XG5cbi8qKioqKioqKipcbiogd29iYmxlICpcbioqKioqKioqKiovXG5cbkAtd2Via2l0LWtleWZyYW1lcyB3b2JibGUge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG5cbiAgMTUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpO1xuICB9XG5cbiAgMzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTtcbiAgfVxuXG4gIDQ1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7XG4gIH1cblxuICA3NSUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHdvYmJsZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpO1xuICB9XG5cbiAgMTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTtcbiAgfVxuXG4gIDMwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpO1xuICB9XG5cbiAgNDUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKTtcbiAgfVxuXG4gIDYwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxufVxuXG4ud29iYmxlLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlO1xuICBhbmltYXRpb24tbmFtZTogd29iYmxlO1xufVxuXG4vKioqKioqKipcbiogcHVsc2UgKlxuKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcHVsc2Uge1xuICAvLyAwJSB7XG4gIC8vICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAvLyB9XG5cbiAgLy8gNTAlIHtcbiAgLy8gICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgLy8gfVxuXG4gIC8vIDEwMCUge1xuICAvLyAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgLy8gfVxuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLCAwLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgLy8gMCUge1xuICAvLyAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC8vIH1cblxuICAvLyA1MCUge1xuICAvLyAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgLy8gfVxuXG4gIC8vIDEwMCUge1xuICAvLyAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIC8vIH1cbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDAsIDAsIDAsIDAuNyk7XG4gIH1cblxuICA3MCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAwIHJnYmEoMCwgMCwgMCwgMCk7XG4gIH1cbn1cblxuLnB1bHNlLmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcHVsc2U7XG4gIGFuaW1hdGlvbi1uYW1lOiBwdWxzZTtcbn1cblxuLyoqKioqKioqKioqKioqKlxuKiBsaWdodFNwZWVkSW5SaWdodCAqXG4qKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDYwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRJblJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmxpZ2h0U3BlZWRJblJpZ2h0LmdvIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluUmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5SaWdodDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG59XG5cbi8qKioqKioqKioqKioqKipcbiogbGlnaHRTcGVlZEluTGVmdCAqXG4qKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRJbkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgNjAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDE1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBsaWdodFNwZWVkSW5MZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgc2tld1goMzBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgxNWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZEluTGVmdC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbkxlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW5MZWZ0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbn1cblxuXG4vKioqKioqKlxuKiBGbGlwICpcbioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMCk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDQwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZyk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIDUwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMzYwZGVnKSBzY2FsZSguOTUpO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUoMSk7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICB9XG5cbiAgNDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZyk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgODAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUoMSk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgfVxufVxuXG4uZmxpcC5nbyB7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwO1xufVxuXG4vKioqKioqKioqKlxuKiBmbGlwSW5YICpcbioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgtMTBkZWcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5YIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmZsaXBJblguZ28ge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWDtcbn1cblxuLyoqKioqKioqKipcbiogZmxpcEluWSAqXG4qKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmxpcEluWSB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgtMTBkZWcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwSW5ZIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTtcbiAgfVxuXG4gIDcwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmZsaXBJblkuZ28ge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcEluWTtcbn1cblxuLyoqKioqKioqKioqKioqKioqXG4qIE91dCBhbmltYXRpb25zICpcbioqKioqKioqKioqKioqKioqL1xuXG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDI1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC45NSk7XG4gIH1cblxuICA1MCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguMyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuXG4gIDI1JSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOTUpO1xuICB9XG5cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguMyk7XG4gIH1cbn1cblxuLmJvdW5jZU91dC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7XG59XG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0VXAgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRVcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dFVwLmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwO1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7XG59XG5cbi8qKioqKioqKioqKipcbiogYm91bmNlT3V0RG93biAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dERvd24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAyMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7XG4gIH1cbn1cblxuLmJvdW5jZU91dERvd24uZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247XG59XG5cblxuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXRMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VPdXRMZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTtcbiAgfVxufVxuXG4uYm91bmNlT3V0TGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0O1xuICBhbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDtcbn1cblxuLyoqKioqKioqKioqKlxuKiBib3VuY2VPdXRSaWdodCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMjAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgfVxufVxuXG4uYm91bmNlT3V0UmlnaHQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDtcbn1cblxuLyoqKioqKioqKioqKlxuKiBmYWRlT3V0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLmZhZGVPdXQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG59XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dFVwICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFVwIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7XG4gIH1cbn1cblxuLmZhZGVPdXRVcC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXA7XG59XG5cbi8qKioqKioqKioqKipcbiogZmFkZU91dERvd24gKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0RG93biB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dERvd24ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpO1xuICB9XG59XG5cbi5mYWRlT3V0RG93bi5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duO1xufVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXRMZWZ0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0TGVmdCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpO1xuICB9XG59XG5cbi5mYWRlT3V0TGVmdC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0O1xufVxuXG4vKioqKioqKioqKioqXG4qIGZhZGVPdXRSaWdodCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZU91dFJpZ2h0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTtcbiAgfVxufVxuXG4uZmFkZU91dFJpZ2h0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDtcbn1cblxuLyoqKioqKioqKioqKlxuKiBmbGlwT3V0WCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRYIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFgge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFguZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBhbmltYXRpb24tbmFtZTogZmxpcE91dFg7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLyoqKioqKioqKioqKlxuKiBmbGlwT3V0WSAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBPdXRZIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcE91dFkge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uZmxpcE91dFkge1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZO1xufVxuXG4vKioqKioqKioqKioqXG4qIGxpZ2h0U3BlZWRPdXRSaWdodCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRSaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi5saWdodFNwZWVkT3V0UmlnaHQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dFJpZ2h0O1xuICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG59XG5cblxuLyoqKioqKioqKioqKlxuKiBsaWdodFNwZWVkT3V0TGVmdCAqXG4qKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXRMZWZ0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpIHNrZXdYKDMwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgbGlnaHRTcGVlZE91dExlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSBza2V3WCgzMGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ubGlnaHRTcGVlZE91dExlZnQuZ29Bd2F5IHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZE91dExlZnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0TGVmdDtcbiAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xuXG59XG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0IHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7XG59XG5cblxuLyoqKioqKioqKioqKlxuKiByb3RhdGVPdXRVcExlZnQgKlxuKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBMZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwTGVmdDtcbn1cblxuLyoqKioqKioqKioqKlxuKiByb3RhdGVPdXREb3duTGVmdCAqXG4qKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGVPdXREb3duTGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuLnJvdGF0ZU91dERvd25MZWZ0LmdvQXdheSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7XG59XG5cbi8qKioqKioqKioqKipcbiogcm90YXRlT3V0VXBSaWdodCAqXG4qKioqKioqKioqKioqL1xuXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4ucm90YXRlT3V0VXBSaWdodC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0O1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDtcbn1cblxuLyoqKioqKioqKioqKlxuKiByb2xsT3V0ICpcbioqKioqKioqKioqKiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgcm9sbE91dCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvbGxPdXQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKTtcbiAgfVxufVxuXG4ucm9sbE91dC5nb0F3YXkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb2xsT3V0O1xuICBhbmltYXRpb24tbmFtZTogcm9sbE91dDtcbn1cblxuLyoqKioqKioqKioqKioqKioqXG4qIFNob3J0IEFuaW1hdGlvbnNcbioqKioqKioqKioqKioqKioqKiovXG5cbi8qKioqKioqKioqKioqKioqKioqKipcbiogZmFkZUluVXBTaG9ydFxuKioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblVwU2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5VcFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmZhZGVJblVwU2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xufVxuXG4uZmFkZUluVXBTaG9ydC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwU2hvcnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcFNob3J0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJbkRvd25TaG9ydFxuKioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd25TaG9ydCB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5Eb3duU2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuLmZhZGVJbkRvd25TaG9ydCB7XG4gIG9wYWNpdHk6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTtcbn1cblxuLmZhZGVJbkRvd25TaG9ydC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25TaG9ydDtcbiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25TaG9ydDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKlxuKiBmYWRlSW5SaWdodFNob3J0IFxuKioqKioqKioqKioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJblJpZ2h0U2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmYWRlSW5SaWdodFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cbn1cblxuLmZhZGVJblJpZ2h0U2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO1xufVxuXG4uZmFkZUluUmlnaHRTaG9ydC5nbyB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0U2hvcnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodFNob3J0O1xufVxuXG4vKioqKioqKioqKioqKioqKioqKioqXG4qIGZhZGVJbkxlZnRTaG9ydCBcbioqKioqKioqKioqKioqKioqKioqKi9cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5MZWZ0U2hvcnQge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gIH1cblxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmFkZUluTGVmdFNob3J0IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG59XG5cbi5mYWRlSW5MZWZ0U2hvcnQge1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7XG59XG5cbi5mYWRlSW5MZWZ0U2hvcnQuZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0U2hvcnQ7XG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0U2hvcnQ7XG59XG4iLCIvKioqKioqKioqKlxuKiBab29tIGluICpcbioqKioqKioqKioqL1xuQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbiB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgIG9wYWNpdHk6IC44O1xuICB9XG5cbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoLjgpO1xuICB9XG5cbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgem9vbUluIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDUpO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gICAgb3BhY2l0eTogLjg7XG4gIH1cblxuICA4MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSguOCk7XG4gIH1cblxuICA5MCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnpvb21JbiB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSg1KTtcbiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoNSk7XG4gIHRyYW5zZm9ybTogc2NhbGUoNSk7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi56b29tSW4uZ28ge1xuICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG4gIGFuaW1hdGlvbi1uYW1lOiB6b29tSW47XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogLjVzO1xufVxuXG5cbi8qKioqKioqKlxuKiBTaGFrZVVwMiAqXG5TaGFrZSBhbmQgcGF1c2UgXG4qKioqKioqKi9cbi8vIEAtd2Via2l0LWtleWZyYW1lcyBzaGFrZVVwMiB7XG5cbi8vICAgMCUsXG4vLyAgIDEwJSxcbi8vICAgMjAlLFxuLy8gICAzMCUsXG4vLyAgIDEwMCUge1xuLy8gICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuLy8gICB9XG5cblxuLy8gICA1MCUsXG4vLyAgIDcwJSxcbi8vICAgOTAlIHtcbi8vICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4vLyAgIH1cblxuLy8gICA0MCUsXG4vLyAgIDYwJSxcbi8vICAgODAlIHtcbi8vICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbi8vICAgfVxuLy8gfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlVXAyIHtcblxuICAwJSxcbiAgNTAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuXG4gIDcwJSxcbiAgOTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTtcbiAgfVxuXG4gIDYwJSxcbiAgODAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMHB4KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7XG4gIH1cbn1cblxuLnNoYWtldXAyIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2hha2VVcDI7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZVVwMjtcbn1cblxuLnNoYWtlMiB7XG4gIC8qIFN0YXJ0IHRoZSBzaGFrZSBhbmltYXRpb24gYW5kIG1ha2UgdGhlIGFuaW1hdGlvbiBsYXN0IGZvciAwLjUgc2Vjb25kcyAqL1xuICBhbmltYXRpb246IHNoYWtlIDFzO1xuXG4gIC8qIFdoZW4gdGhlIGFuaW1hdGlvbiBpcyBmaW5pc2hlZCwgc3RhcnQgYWdhaW4gKi9cbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgc2hha2Uge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAxcHgpIHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIDEwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgLTJweCkgcm90YXRlKC0xZGVnKTtcbiAgfVxuXG4gIDIwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTNweCwgMHB4KSByb3RhdGUoMWRlZyk7XG4gIH1cblxuICAzMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDNweCwgMnB4KSByb3RhdGUoMGRlZyk7XG4gIH1cblxuICA0MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDFweCwgLTFweCkgcm90YXRlKDFkZWcpO1xuICB9XG5cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMXB4LCAycHgpIHJvdGF0ZSgtMWRlZyk7XG4gIH1cblxuICA2MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0zcHgsIDFweCkgcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgNzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgzcHgsIDFweCkgcm90YXRlKC0xZGVnKTtcbiAgfVxuXG4gIDgwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTFweCwgLTFweCkgcm90YXRlKDFkZWcpO1xuICB9XG5cbiAgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgxcHgsIDJweCkgcm90YXRlKDBkZWcpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMXB4LCAtMnB4KSByb3RhdGUoLTFkZWcpO1xuICB9XG59XG5cblxuQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNobGlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAtNDBweCkgc2NhbGUoMS4xKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsYXNobGlnaHQge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKSBzY2FsZSgxKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgc2NhbGUoMSk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAtNDBweCkgc2NhbGUoMS4xKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTIwcHgsIC00MHB4KSBzY2FsZSgxLjEpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC0yMHB4LCAtNDBweCkgc2NhbGUoMS4xKTtcbiAgfVxufVxuXG4ucm90YXRpbmcge1xuICAvLyAtd2Via2l0LWFuaW1hdGlvbjogcm90YXRpbmcgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIC8vIC1tb3otYW5pbWF0aW9uOiByb3RhdGluZyAycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgLy8gLW1zLWFuaW1hdGlvbjogcm90YXRpbmcgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIC8vIC1vLWFuaW1hdGlvbjogcm90YXRpbmcgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG4gIGFuaW1hdGlvbjogcm90YXRpbmcgMzBzIGxpbmVhciBpbmZpbml0ZTtcbiAgXG59XG5cbkBrZXlmcmFtZXMgcm90YXRpb24ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuXG4gIHRvIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICB9XG59IiwiLyotLS0gQWJvdXQgVGV4dCAtLS0qL1xuQG1peGluIHRleHQtYWxpZ24oJGFsaWduSG9yaXpvdGFsOiBub3JtYWwsICRhbGlnblZlcnRpY2FsOiBub3JtYWwpIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiAkYWxpZ25Ib3Jpem90YWw7XG4gIGFsaWduLWl0ZW1zOiAkYWxpZ25WZXJ0aWNhbDtcbn1cblxuQG1peGluIHRleHQtZGVjb3IoJGNvbG9yOiBpbmhlcml0LCAkZm9udFNpemU6IGluaGVyaXQsICR0ZXh0VHJhbnNmb3JtOiBpbmhlcml0LCAkdGV4dEFsaWduOiBpbmhlcml0LCAkZm9udFdlaWdodDogbm9ybWFsKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRleHQtdHJhbnNmb3JtOiAkdGV4dFRyYW5zZm9ybTtcbiAgdGV4dC1hbGlnbjogJHRleHRBbGlnbjtcbiAgZm9udC13ZWlnaHQ6ICRmb250V2VpZ2h0O1xuXG4gIEBpZiAkZm9udFNpemUgIT1pbmhlcml0IHtcbiAgICBmb250LXNpemU6ICRmb250U2l6ZTtcbiAgfVxufVxuXG5AbWl4aW4gdGV4dC1zdHJva2UoJHN0cm9rZVRoaWNrLCAkc3Ryb2tlRGlyZWN0LCAkc3Ryb2tlQ29sb3IxLCAkc3Ryb2tlQ29sb3IyKSB7XG4gIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KCRzdHJva2VEaXJlY3QsICRzdHJva2VDb2xvcjEsICRzdHJva2VDb2xvcjIpO1xuICAvKiBDaHJvbWUxMCssU2FmYXJpNS4xKyAqL1xuICAtd2Via2l0LXRleHQtc3Ryb2tlOiAkc3Ryb2tlVGhpY2sgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMDEpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbn1cblxuQG1peGluIHRleHQtZ3JhZGllbnQoJGRpcmVjdGlvbjogdG8gYm90dG9tLCAkY29sb3Itc3RvcHMuLi4pIHtcbiAgLy8gVGhlIHZhbHVlcyB0byB0b3AsIHRvIGJvdHRvbSwgdG8gbGVmdCwgYW5kIHRvIHJpZ2h0IGFyZSBlcXVpdmFsZW50IHRvIHRoZSBhbmdsZXMgMGRlZywgMTgwZGVnLCAyNzBkZWcsIGFuZCA5MGRlZywgcmVzcGVjdGl2ZWx5LiBUaGUgb3RoZXIgdmFsdWVzIGFyZSB0cmFuc2xhdGVkIGludG8gYW4gYW5nbGUuXG4gIEBpZiBpcy1kaXJlY3Rpb24oJGRpcmVjdGlvbik9PWZhbHNlIHtcbiAgICAkY29sb3Itc3RvcHM6ICRkaXJlY3Rpb24sICRjb2xvci1zdG9wcztcbiAgICAkZGlyZWN0aW9uOiAxODBkZWc7XG4gIH1cbiAgYmFja2dyb3VuZDogbnRoKG50aCgkY29sb3Itc3RvcHMsIDEpLCAxKTtcbiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigkZGlyZWN0aW9uKSwgJGNvbG9yLXN0b3BzKTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KCRkaXJlY3Rpb24sICRjb2xvci1zdG9wcyk7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIHRleHQgdHJ1bmNhdGUgbXVsdGlsaW5lICovXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgkbGluZUNvdW50OiAyKSB7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWxpbmUtY2xhbXA6ICRsaW5lQ291bnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cbn1cblxuLy8gdGV4dCBlbGxpcHNpc1xuQG1peGluIHRleHQtZWxsaXBzaXMoJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG5cbi8vIHRleHQgc2hhZG93XG5AbWl4aW4gdGV4dC1zaGFkb3coJHgsICR5LCAkYmx1ciwgJGNvbG9yLCAkdHJhbnBhcmVudCkge1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KCR4ICR5ICRibHVyIHJnYmEoJGNvbG9yLCAkdHJhbnBhcmVudCkpO1xufVxuXG5cblxuLy8gQWJvdXQgUmVzcG9uc2l2ZVxuQG1peGluIG1xLW1pbi1tYXgoJG1pbiwgJG1heCkge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gbXEtbWluKCR2YWx1ZSkge1xuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR2YWx1ZSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBtcS1tYXgoJHZhbHVlKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJHZhbHVlKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLyotLS0gQWJvdXQgSW1hZ2VzIC0tLSovXG5AbWl4aW4gaW1hZ2UtZml0KCRoZWlnaHQpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbn1cblxuLy8tIEdyYXlzY2FsZTogMSAsIE5vbmU6IDBcbkBtaXhpbiBpbWFnZS1ncmF5c2NhbGUoJHZhbHVlOjEpIHtcbiAgZmlsdGVyOiBncmF5OyAgIC8qIElFNi05ICovXG4gIC13ZWJraXQtZmlsdGVyOiBncmF5c2NhbGUoJHZhbHVlKTsgIC8qIEdvb2dsZSBDaHJvbWUsIFNhZmFyaSA2KyAmIE9wZXJhIDE1KyAqL1xuICBmaWx0ZXI6IGdyYXlzY2FsZSgkdmFsdWUpOyAgIC8qIE1pY3Jvc29mdCBFZGdlIGFuZCBGaXJlZm94IDM1KyAqL1xufVxuXG5cblxuLyotLS0gQWJvdXQgUG9zaXRpb24gLS0tKi9cbkBtaXhpbiBwb3NpdGlvbigkcG9zaXRpb246IHJlbGF0aXZlLCAkY29vcmRpbmF0ZXM6IG51bGwgbnVsbCBudWxsIG51bGwpIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKT09bGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG4gICRvZmZzZXRzOiAodG9wOiBudGgoJGNvb3JkaW5hdGVzLCAxKSxcbiAgICByaWdodDogbnRoKCRjb29yZGluYXRlcywgMiksXG4gICAgYm90dG9tOiBudGgoJGNvb3JkaW5hdGVzLCAzKSxcbiAgICBsZWZ0OiBudGgoJGNvb3JkaW5hdGVzLCA0KSk7XG4gIHBvc2l0aW9uOiAkcG9zaXRpb247XG5cbiAgQGVhY2ggJG9mZnNldCxcbiAgJHZhbHVlIGluICRvZmZzZXRzIHtcbiAgICBAaWYgaXMtbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgI3skb2Zmc2V0fTogJHZhbHVlO1xuICAgIH1cbiAgfVxufVxuXG4vLy0tLSBBYm91dCBFZmZlY3QgSG92ZXIgLS0tKi9cbkBtaXhpbiBlZmZlY3QtZ3JhZGllbnQtbGluZWFyKCRkaXJlY3Rpb24sICRjb2xvci1zdG9wcy4uLikge1xuICAvLyBUaGUgdmFsdWVzIHRvIHRvcCwgdG8gYm90dG9tLCB0byBsZWZ0LCBhbmQgdG8gcmlnaHQgYXJlIGVxdWl2YWxlbnQgdG8gdGhlIGFuZ2xlcyAwZGVnLCAxODBkZWcsIDI3MGRlZywgYW5kIDkwZGVnLCByZXNwZWN0aXZlbHkuIFRoZSBvdGhlciB2YWx1ZXMgYXJlIHRyYW5zbGF0ZWQgaW50byBhbiBhbmdsZS5cbiAgQGlmIGlzLWRpcmVjdGlvbigkZGlyZWN0aW9uKT09ZmFsc2Uge1xuICAgICRjb2xvci1zdG9wczogJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzO1xuICAgICRkaXJlY3Rpb246IDE4MGRlZztcbiAgfVxuICBiYWNrZ3JvdW5kOiBudGgobnRoKCRjb2xvci1zdG9wcywgMSksIDEpO1xuICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWdhY3ktZGlyZWN0aW9uKCRkaXJlY3Rpb24pLCAkY29sb3Itc3RvcHMpO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzKTtcbn1cblxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKi0tLSBBYm91dCBCdXR0b24gLS0tKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi8vLS0tIEJUTiBFZmZlY3RcbkBtaXhpbiBob3Zlci1ib3JkZXItd3JhcHBpbmcoJGJvcmRlckNvbG9yOiAjMjA5OEQxLCAkYm9yZGVyU3R5bGU6IHNvbGlkLCAkYm9yZGVyV2lkdGg6IDVweCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBib3JkZXI6ICRib3JkZXJDb2xvciAkYm9yZGVyU3R5bGU7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjFzIGVhc2Utb3V0O1xuICB9XG5cbiAgJjpob3ZlcjpiZWZvcmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIGJvcmRlci13aWR0aDogJGJvcmRlcldpZHRoO1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci10cmFuc2xhdGVYKCR2YWx1ZSkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2UtaW4tb3V0O1xuXG4gICY6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkdmFsdWUpO1xuICB9XG59XG5AbWl4aW4gaG92ZXItdHJhbnNsYXRlWSgkdmFsdWUpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xcyBlYXNlLWluLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHZhbHVlKTtcbiAgfVxufVxuXG5cbi8qLS0tIEN1c3RvbWl6ZSBTY3JvbGxiYXIgLS0tKi9cbkBtaXhpbiBzY3JvbGwtYmFyKCRjb2xvci1zY3JvbGwtYmFyLCAkY29sb3Itc2Nyb2xsLWJhci10aHVtYiwgJHNjcm9sbGJhci13aWR0aDogNXB4KSB7XG4gIHNjcm9sbGJhci13aWR0aDogJHNjcm9sbGJhci13aWR0aDtcbiAgc2Nyb2xsYmFyLWNvbG9yOiAkY29sb3Itc2Nyb2xsLWJhciAkY29sb3Itc2Nyb2xsLWJhci10aHVtYjtcbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIgeyAvKiBXb3JrcyBvbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgKi9cbiAgICB3aWR0aDogJHNjcm9sbGJhci13aWR0aDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itc2Nyb2xsLWJhci10aHVtYjtcbiAgICBib3JkZXItcmFkaXVzOiAkc2Nyb2xsYmFyLXdpZHRoO1xuICB9XG5cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zY3JvbGwtYmFyO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzY3JvbGxiYXItd2lkdGg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXNjcm9sbC1iYXI7XG4gIH1cbiAgb3ZlcmZsb3c6IGF1dG87XG59IiwiLyotLS0gQWJvdXQgVGV4dCAtLS0qL1xuLy8gJXRleHQtY2VudGVyIHtcbi8vICAgZGlzcGxheTogZmxleDtcbi8vICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4vLyB9XG5cbi8vICV0ZXh0LW1pZGRsZSB7XG4vLyAgIGRpc3BsYXk6IGZsZXg7XG4vLyAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4vLyB9XG5cbi8vICV0ZXh0LWNlbnRlci1taWRkbGUge1xuLy8gICBkaXNwbGF5OiBmbGV4O1xuLy8gICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbi8vICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbi8vIH1cblxuXG4iLCIkY29sb3ItMTogIzAwNENBMjtcbiRjb2xvci0yOiAjYzBjMGMwO1xuXG4vKi0tLSBTbW9vdGggU2Nyb2xsIC0tLSovXG5odG1sIHtcbiAgLy8gc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG46OnNlbGVjdGlvbiB7XG4gIGNvbG9yOiAkY29sb3ItMTtcbiAgYmFja2dyb3VuZDogJGNvbG9yLTI7XG59XG5cbi8qLS0tIEFuaW1hdGUgYSAtLS0qL1xuYSB7XG4gIHRyYW5zaXRpb246IGFsbCAuMnM7XG4gIGltZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIH1cbn1cblxuLyotLS0gQ3VzdG9taXplIFNjcm9sbGJhciAtLS0qL1xuKiB7IC8qIFdvcmsgb24gRmlyZWZveCAqL1xuICBzY3JvbGxiYXItd2lkdGg6IDVweDtcbiAgc2Nyb2xsYmFyLWNvbG9yOiAkY29sb3ItMSAkY29sb3ItMjtcbn1cblxuKjo6LXdlYmtpdC1zY3JvbGxiYXIgeyAvKiBXb3JrcyBvbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgKi9cbiAgd2lkdGg6IDVweDtcbn1cblxuKjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItMjtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xufVxuXG4qOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci0xO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci0xO1xufVxuXG5cblxuLyotLS0gQ29tbW9uIENsYXNzTmFtZSAtLS0qL1xuLmxvb3AtaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTtcbn1cblxuLmxvb3AtNSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDU7XG59XG5cbi8vIC5mbGFzaC1saWdodCB7XG4vLyAgIGFuaW1hdGlvbjogZmxhc2hsaWdodCAzcyBlYXNlLWluLW91dCA1cyBpbmZpbml0ZSBhbHRlcm5hdGU7XG4vLyAgIC8vIC13ZWJraXQtYW5pbWF0aW9uOiBmbGFzaGxpZ2h0IDNzIGVhc2UtaW4tb3V0IDBzIGluZmluaXRlIGFsdGVybmF0ZTtcbi8vIH1cblxuXG5cbi8qLS0tIEFib3V0IEJ1dHRvbiAtLS0qL1xuLmJ0bi1pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgaW1nOmxhc3QtY2hpbGQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBpbWc6bGFzdC1jaGlsZCB7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi5idG4taG92ZXItem9vbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICY6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgfVxufVxuXG4uYnRuLWhvdmVyLXRyYW5zbGF0ZVgge1xuICBAaW5jbHVkZSBob3Zlci10cmFuc2xhdGVYKC0xMHB4KTtcbn1cblxuLmJ0bi1ob3Zlci10cmFuc2xhdGVZIHtcbiAgQGluY2x1ZGUgaG92ZXItdHJhbnNsYXRlWSgtNXB4KTtcbn1cblxuLmJ0bi1ob3Zlci11bmRlcmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6YmVmb3JlIHtcbiAgICB3aWR0aDogMDtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgfVxuXG4gICY6aG92ZXI6YmVmb3JlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uYnRuLWhvdmVyLWJvcmRlci13cmFwcGluZyB7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgQGluY2x1ZGUgaG92ZXItYm9yZGVyLXdyYXBwaW5nKCNmZmYwMDAsIGRhc2hlZCwgNXB4KTtcbn1cblxuLmJ0bi1ob3Zlci1zaGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgdG9wOiAtMTEwJTtcbiAgICBsZWZ0OiAtMjEwJTtcbiAgICB3aWR0aDogMjAwJTtcbiAgICBoZWlnaHQ6IDIwMCU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMykgMCUsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMykgNzclLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgOTIlLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMCkgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpO1xuICB9XG5cbiAgJjpob3ZlcjphZnRlciB7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNoaW5lIC43NXM7XG4gICAgYW5pbWF0aW9uOiBzaGluZSAuNzVzO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdG9wOiAtMzAlO1xuICAgIGxlZnQ6IC0zMCU7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogbGVmdCxcbiAgICAgIHRvcCxcbiAgICAgIG9wYWNpdHk7XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMXMsXG4gICAgICAxcyxcbiAgICAgIC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XG4gIH1cbn1cblxuLyotLS0gQWJvdXQgVGV4dCAtLS0qL1xuLnRleHQtdHJ1bmNhdGUge1xuICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKDIpO1xufVxuXG4udGV4dC1zdHJva2Uge1xuICBmb250LXNpemU6IDEwMHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgQGluY2x1ZGUgdGV4dC1zdHJva2UoNXB4LCA5MGRlZywgIzAwMCAyMCUsICNmMDAgNTAlKTtcbn1cblxuLnRleHQtZ3JhZGllbnQge1xuICBAaW5jbHVkZSB0ZXh0LWRlY29yKG51bGwsIDEwMHB4LCB1cHBlcmNhc2UsIG51bGwpO1xuICBAaW5jbHVkZSB0ZXh0LWdyYWRpZW50KDE4MGRlZywgIzAwMCwgI2YwMCwgI2ZmZjAwMCk7XG59XG5cblxuLyotLS0gQWJvdXQgSW1hZ2UgLS0tKi9cbi5pbWFnZS1maXQge1xuICB3aWR0aDogMjUwcHg7XG4gIEBpbmNsdWRlIGltYWdlLWZpdCgzNTBweCk7XG59XG5cbi8qLS0tIEFib3V0IEVmZmVjdCAtLS0qL1xuLmVmZmVjdC1ncmFkaWVudC1saW5lYXIge1xuICBAaW5jbHVkZSBlZmZlY3QtZ3JhZGllbnQtbGluZWFyKHRvIGJvdHRvbSwgIzc3RDdFNyA1MCUsICNmZjAwMDAgNTAlLCAjZmZmMDAwIDEwMCUpO1xufVxuXG4vKi0tLSBBYm91dCBPdGhlciAtLS0qL1xuLmhvdmVyLXN0b3AtYW5pbWF0ZWQge1xuICAmOmhvdmVyIHtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gICAgLW1vei1hbmltYXRpb24tcGxheS1zdGF0ZTogcGF1c2VkO1xuICAgIC1vLWFuaW1hdGlvbi1wbGF5LXN0YXRlOiBwYXVzZWQ7XG4gICAgYW5pbWF0aW9uLXBsYXktc3RhdGU6IHBhdXNlZDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3RlcC1lbmQ7XG4gICAgLW1vei1hbmltYXRpb25hbmltYXRpb246IHN0ZXAtZW5kO1xuICAgIGFuaW1hdGlvbjogc3RlcC1lbmQ7XG4gIH1cbn0iLCJAZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJTRlwiO1xyXG4gIHNyYzogdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIuZW90KTtcclxuICBzcmM6IHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIud29mZjIpIGZvcm1hdCgnd29mZjInKSxcclxuICAgIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1SZWd1bGFyLndvZmYpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVJlZ3VsYXIudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktUmVndWxhci5zdmcpIGZvcm1hdCgnc3ZnJyk7XHJcbn1cclxuXHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJTRi1Cb2xkXCI7XHJcbiAgc3JjOiB1cmwoLi4vZm9udHMvU0YtUHJvLURpc3BsYXktU2VtaUJvbGQuZW90KTtcclxuICBzcmM6IHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1TZW1pQm9sZC5lb3QjaWVmaXgpIGZvcm1hdChcImVvdFwiKSxcclxuICAgIHVybCguLi9mb250cy9TRi1Qcm8tRGlzcGxheS1TZW1pQm9sZC53b2ZmMikgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVNlbWlCb2xkLndvZmYpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVNlbWlCb2xkLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL1NGLVByby1EaXNwbGF5LVNlbWlCb2xkLnN2ZykgZm9ybWF0KCdzdmcnKTtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6IFwicm9ib3Rvc2xhYlwiO1xyXG4gIHNyYzogdXJsKC4uL2ZvbnRzL3JvYm90b3NsYWItcmVndWxhci5lb3QpO1xyXG4gIHNyYzogdXJsKC4uL2ZvbnRzL3JvYm90b3NsYWItcmVndWxhci5lb3QjaWVmaXgpIGZvcm1hdChcImVvdFwiKSxcclxuICAgIHVybCguLi9mb250cy9yb2JvdG9zbGFiLXJlZ3VsYXIud29mZjIpIGZvcm1hdCgnd29mZjInKSxcclxuICAgIHVybCguLi9mb250cy9yb2JvdG9zbGFiLXJlZ3VsYXIud29mZikgZm9ybWF0KCd3b2ZmJyksXHJcbiAgICB1cmwoLi4vZm9udHMvcm9ib3Rvc2xhYi1yZWd1bGFyLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL3JvYm90b3NsYWItcmVndWxhci5zdmcpIGZvcm1hdCgnc3ZnJyk7XHJcbn1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiBcImZ6X2VkZ2Utb2YtdGhlLWdhbGF4eS1wb3N0ZXJcIjtcclxuICBzcmM6IHVybCguLi9mb250cy9mel9lZGdlLW9mLXRoZS1nYWxheHktcG9zdGVyLmVvdCk7XHJcbiAgc3JjOiB1cmwoLi4vZm9udHMvZnpfZWRnZS1vZi10aGUtZ2FsYXh5LXBvc3Rlci5lb3QjaWVmaXgpIGZvcm1hdChcImVvdFwiKSxcclxuICAgIHVybCguLi9mb250cy9mel9lZGdlLW9mLXRoZS1nYWxheHktcG9zdGVyLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgICB1cmwoLi4vZm9udHMvZnpfZWRnZS1vZi10aGUtZ2FsYXh5LXBvc3Rlci53b2ZmKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgIHVybCguLi9mb250cy9mel9lZGdlLW9mLXRoZS1nYWxheHktcG9zdGVyLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL2Z6X2VkZ2Utb2YtdGhlLWdhbGF4eS1wb3N0ZXIuc3ZnKSBmb3JtYXQoJ3N2ZycpO1xyXG59XHJcblxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogXCJ1dm50aGFuaHBob1wiO1xyXG4gIHNyYzogdXJsKC4uL2ZvbnRzL3V2bnRoYW5ocGhvX3IuZW90KTtcclxuICBzcmM6IHVybCguLi9mb250cy91dm50aGFuaHBob19yLmVvdCNpZWZpeCkgZm9ybWF0KFwiZW90XCIpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL3V2bnRoYW5ocGhvX3Iud29mZjIpIGZvcm1hdCgnd29mZjInKSxcclxuICAgIHVybCguLi9mb250cy91dm50aGFuaHBob19yLndvZmYpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgdXJsKC4uL2ZvbnRzL3V2bnRoYW5ocGhvX3IudHRmKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICB1cmwoLi4vZm9udHMvdXZudGhhbmhwaG9fci5zdmcpIGZvcm1hdCgnc3ZnJyk7XHJcbn1cclxuXHJcbiIsIi5sb2dvIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwcHg7XHJcbiAgbGVmdDogNDUlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICB6LWluZGV4OiAzO1xyXG4gIFxyXG59XHJcblxyXG4uaGVhZGVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiA5MDBweDtcclxuICBcclxuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gIHotaW5kZXg6IDI7XHJcbiAgQGluY2x1ZGUgcGFkZGluZygwIDApO1xyXG4gIC5hZ2UxOCB7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNzBweCBudWxsIG51bGwgMTBweCk7XHJcbiAgICB3aWR0aDogMTg0cHg7XHJcbiAgICBoZWlnaHQ6IDcwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzLzE4cC5naWYpIG5vLXJlcGVhdDtcclxuICAgIHotaW5kZXg6IDY7XHJcbiAgfVxyXG5cclxuICAuY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG5cclxuICB9XHJcbiAgXHJcbiAgJi1jb250YWluZXIge1xyXG4gICAgQGV4dGVuZCAuY29udGFpbmVyO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgXHJcbiAgfVxyXG5cclxuICAubmF2YmFyLW5hdiB7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDYwcHg7XHJcbiAgICBwYWRkaW5nOiAwIDA7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGJhY2tncm91bmQ6ICMxMDE0MTM7XHJcbiAgICB1bCB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBtYXJnaW46IDBweCAwIDAgMHB4O1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBmb250LWZhbWlseTogcm9ib3Rvc2xhYjtcclxuICAgICAgbGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyOTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGhlaWdodDogNTlweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1OXB4O1xyXG4gICAgICAgICAgYW5pbWF0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjZmNmM2QwLCAxOHB4LCBjYXBpdGFsaXplLCBjZW50ZXIpO1xyXG4gICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xyXG4gICAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgY29sb3I6ICNiNDgzMDA7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBtaW4td2lkdGg6IDE4MHB4O1xyXG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDExMCUgbnVsbCBudWxsIDUwJSk7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICAgICAgICBvcGFjaXR5OiAwOyAgICAgICAgICBcclxuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgICAgIGJhY2tncm91bmQ6ICMxODE2MTM7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXM7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzQ1NDM0MDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gJjpob3ZlciB7XHJcbiAgICAgICAgLy8gICBhIHtcclxuICAgICAgICAvLyAgICAgY29sb3I6ICM4NGU3ZDM7XHJcbiAgICAgICAgLy8gICB9XHJcbiAgICAgICAgLy8gICB1bCB7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgIC8vICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIC8vICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgIC8vICAgICB0b3A6IDEwMCU7XHJcbiAgICAgICAgLy8gICAgIGEge1xyXG4gICAgICAgIC8vICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgIC8vICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAvLyAgICAgICAmOmhvdmVyLFxyXG4gICAgICAgIC8vICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAvLyAgICAgICAgIGNvbG9yOiAjODRlN2QzO1xyXG4gICAgICAgIC8vICAgICAgIH1cclxuICAgICAgICAvLyAgICAgfVxyXG4gICAgICAgIC8vICAgfVxyXG5cclxuICAgICAgICAvLyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxuXHJcbiAgXHJcblxyXG4gIC50ZXh0IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxNDBweCBudWxsIG51bGwgNTAlKTtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgfVxyXG4gIC5wbGF5LXZpZGVvIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgei1pbmRleDogNTtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MDBweCBudWxsIG51bGwgNDQ1cHgpO1xyXG4gICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxNTAlKTtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gICAgICBib3R0b206IDEwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hdmF0YXIge1xyXG4gICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgQGluY2x1ZGUgbXEtbWF4KDc2OHB4KSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2VhcmNoIHtcclxuICAgIHdpZHRoOiAxODBweDtcclxuICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIC8vIHRvcDogMTVweDtcclxuICAgIC8vIHJpZ2h0OiAwO1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggIzY1NjA1ZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMTExMTExO1xyXG4gICAgLmtleXdvcmQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICAgIGNvbG9yOiAjNjU2MDVmO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMHB4KTtcclxuICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5zdWJtaXQtYnRuIHtcclxuICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICBjb2xvcjogIzY1NjA1ZjtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuLmJ1dHRvbnMtYmxvY2sge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDY5M3B4IDAgMCAwKTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDE3NXB4O1xyXG4gIHotaW5kZXg6IDI7XHJcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9idXR0b25zLWJsb2NrLWJnLnBuZykgbm8tcmVwZWF0IDAgMDtcclxuXHJcbiAgLnNlcnZlci1wbGFuIHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdpZHRoOiA0MTVweDtcclxuICAgIG1hcmdpbjogMCAwIDBweCAwO1xyXG4gICAgcGFkZGluZzogMjBweCAwIDAgMDtcclxuICAgIC50aXRsZSB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICBmb250LWZhbWlseTogcm9ib3Rvc2xhYjtcclxuICAgICAgaW1nIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgfVxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKG51bGwsIDIycHgsIHVwcGVyY2FzZSwgY2VudGVyLGJvbGQpO1xyXG4gICAgICAgIEBpbmNsdWRlIHRleHQtZ3JhZGllbnQoMGRlZywgIzg4NTUxZCwjODg1NTFkLCAjNDUyYjBlKTtcclxuICAgICAgICBAaW5jbHVkZSB0ZXh0LXNoYWRvdygxcHgsIDFweCwxcHgsICMzMzMsLjYpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi1saXN0IHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICBwYWRkaW5nOiAwIDM1cHg7XHJcbiAgICAgIG1hcmdpbjogMCAwIDVweDtcclxuICAgICAgbGkge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUvMyk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogZGFzaGVkIDFweCAjZjJlYWNhO1xyXG4gICAgICAgIHBhZGRpbmc6IDJweCAwIDJweCAyMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoIzY5NGYzMiwgMThweCwgdXBwZXJjYXNlLCBudWxsLCBib2xkKTtcclxuICAgICAgICAmOm50aC1sYXN0LWNoaWxkKC1uKzMpIHtcclxuICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5uZXcge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLW5ldy5wbmcpIG5vLXJlcGVhdCByaWdodCA1cHg7XHJcbiAgICAgICAgICBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5mdWxsIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1mdWxsLnBuZykgbm8tcmVwZWF0IHJpZ2h0IDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHBhZGRpbmc6IDAgMzVweCAwIDI1cHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24tZG90LnBuZykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xyXG4gICAgICAgICAgY29sb3I6ICM2OTRmMzI7XHJcbiAgICAgICAgICAmLmFjdGl2ZSxcclxuICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2ljb24tZG90LWhvdmVyLnBuZykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xyXG4gICAgICAgICAgICAvLyB1cmwoLi4vaW1hZ2VzL3NlcnZlci1iZy1ob3Zlci5wbmcpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcclxuICAgICAgICAgICAgY29sb3I6ICNhNjc4NDQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLW1vcmUge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjFzO1xyXG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTUwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyAuc2VydmVyLXNsaWRlciB7XHJcbiAgICAvLyAgIGhlaWdodDogMTg1cHg7XHJcbiAgICAvLyAgIG1hcmdpbjogMCAzMHB4O1xyXG5cclxuICAgIC8vICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjNjk2OTY5LCAxNnB4LCBudWxsLCBudWxsLCBib2xkKTtcclxuICAgIC8vICAgYSB7XHJcbiAgICAvLyAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjNjk2OTY5LCAxNnB4LCBudWxsLCBudWxsLCBib2xkKTtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gICBpbWcge1xyXG4gICAgLy8gICAgIG1hcmdpbjogMCA1cHggMnB4IDA7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vICAgLnNlcnZlci1saXN0IGxpIHtcclxuICAgIC8vICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgLy8gICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAvLyAgICAgLmRhdGUge1xyXG4gICAgLy8gICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgLy8gICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLy8gLnNlcnZlci10YWJzIHtcclxuICAgIC8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLy8gICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAvLyAgIGJhY2tncm91bmQ6ICM0ZTQzMmQ7XHJcbiAgICAvLyAgIHBhZGRpbmc6IDAgMjVweDtcclxuICAgIC8vICAgbWFyZ2luOiAwIDMwcHg7XHJcbiAgICAvLyAgIC5zd2lwZXItc2xpZGUtdGh1bWItYWN0aXZlIHtcclxuICAgIC8vICAgICBhIHtcclxuICAgIC8vICAgICAgIGNvbG9yOiAjZGFiOTc5O1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgfVxyXG4gICAgLy8gICBhIHtcclxuICAgIC8vICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIC8vICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgIC8vICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNmZmYsIDE0cHgsIG5vcm1hbCwgY2VudGVyLCBib2xkKTtcclxuICAgIC8vICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgLy8gICAgICY6aG92ZXIge1xyXG4gICAgLy8gICAgICAgY29sb3I6ICNkYWI5Nzk7XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcbiAgICAvLyAuc2VydmVyLW5leHQge1xyXG4gICAgLy8gICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMnB4IDEwcHggbnVsbCBudWxsKTtcclxuICAgIC8vICAgY29sb3I6ICNmZmY7XHJcbiAgICAvLyAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIC8vICAgJjpmb2N1cyB7XHJcbiAgICAvLyAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gICAmOmhvdmVyIHtcclxuICAgIC8vICAgICBjb2xvcjogI2IzOTg2NDtcclxuICAgIC8vICAgfVxyXG4gICAgLy8gfVxyXG4gICAgLy8gLnNlcnZlci1wcmV2IHtcclxuICAgIC8vICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDJweCBudWxsIG51bGwgMTBweCk7XHJcbiAgICAvLyAgIGNvbG9yOiAjZmZmO1xyXG4gICAgLy8gICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAvLyAgICY6Zm9jdXMge1xyXG4gICAgLy8gICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vICAgJjpob3ZlciB7XHJcbiAgICAvLyAgICAgY29sb3I6ICNiMzk4NjQ7XHJcbiAgICAvLyAgIH1cclxuICAgIC8vIH1cclxuXHJcblxyXG4gIH1cclxuICBcclxuICAuYmxvY2stMSB7XHJcbiAgICAvLyB3aWR0aDogMzIwcHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIC5pbWFnZS1idG4ge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuXHJcbiAgICAudGFpZ2FtZSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBtYXJnaW46IC0zMHB4IDIwcHggMCAwcHg7ICAgICAgXHJcbiAgICB9XHJcbiAgICAubmFwLWJ0biB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG4gIC5ibG9jay0yIHtcclxuICAgIHdpZHRoOiAyODBweDtcclxuICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmc6IDEwcHggMHB4IDBweDtcclxuICAgIC8vIGJhY2tncm91bmQ6ICNlYmViZWE7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICAuaW1hZ2UtYnRuIHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB9XHJcbiAgICAuYm94LWlucHV0IHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIG1hcmdpbjogMCAwIDBweDtcclxuICAgICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAubG9naW4ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY29sb3I6ICMyMDFmMWY7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBtYXJnaW46IDlweCAwIDAgMDtcclxuICAgIC5mb3Jnb3QtcGFzcyB7XHJcbiAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoIzIwMWYxZiwgMTJweCk7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGNvbG9yOiAjYmE0NDQyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLWZvcm0ge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNiYTQ0NDIsIDEycHgpO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubG9naW4tZm9ybS1pbnB1dCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZGNkY2RjO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgd2lkdGg6IDE2NXB4O1xyXG4gICAgYm9yZGVyOiBzb2xpZCAxcHggI2E0OWE5MDtcclxuICAgIHBhZGRpbmc6IDZweCA1cHg7XHJcbiAgICBoZWlnaHQ6IDMxcHg7XHJcbiAgICBjb2xvcjogIzFmMWUxZTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICB9XHJcblxyXG4gIC5lcnJvciB7XHJcbiAgICBjb2xvcjogI2JhNDQ0MjtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGhlaWdodDogMThweDtcclxuICB9XHJcblxyXG4gIC5mb3JtLXN1Ym1pdCB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiA4M3B4O1xyXG4gICAgaGVpZ2h0OiA2NHB4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9kYW5nbmhhcC1idG4uanBnKTtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIFxyXG4gIH1cclxuICAuc29jaWFsLWJ0biB7XHJcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNzBweCAzMnB4IG51bGwgbnVsbCk7XHJcbiAgICBhOmZpcnN0LWNoaWxkIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubG9nZ2VkIHtcclxuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICAgIG1hcmdpbi1yaWdodDogMjVweDtcclxuICAgIGNvbG9yOiAjMWYxZTFlO1xyXG4gICAgcCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgcGFkZGluZzogMCAwIDJweDtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAudXNlcm5hbWUge1xyXG4gICAgICB3aWR0aDogMTMwcHg7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcclxuICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjYzg0NDFiLCAxNHB4LCBudWxsLCBudWxsLCBib2xkKTtcclxuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcbiAgICAubG9nb3V0IHtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjMWYxZTFlLCAxNHB4LCBudWxsLCBudWxsLCBib2xkKTtcclxuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2VydmVyLW5ldyB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc2VydmVyLW5ldy1iZy5qcGcpIG5vLXJlcGVhdCAwIDA7XHJcbiAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoIzNkMmEyMiwgMTRweCwgdXBwZXJjYXNlLCBjZW50ZXIsIGJvbGQpO1xyXG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDVweDtcclxuICAgICAgLy8gJjo6YmVmb3JlIHtcclxuICAgICAgLy8gICBjb250ZW50OiAnTkVXJztcclxuICAgICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIC8vICAgdG9wOiAycHg7XHJcbiAgICAgIC8vICAgbGVmdDogNXB4O1xyXG4gICAgICAvLyAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgLy8gICBjb2xvcjogI2ZlNjM2ZDtcclxuICAgICAgLy8gfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm5hcHRoZS1idG4ge1xyXG4gICAgbWFyZ2luOiAyMHB4IDAgMCAwcHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTMwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuYmdzZWxlY3Qge1xyXG4gICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzZDJhMjI7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMjZweDtcclxuICAgIG1hcmdpbjogMCBhdXRvIDVweDtcclxuICAgIHNwYW4ge1xyXG4gICAgICBjb2xvcjogIzNkMmEyMjtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAubmljZS1zZWxlY3QgLmxpc3Qge1xyXG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gICAgaGVpZ2h0OiAxNzBweDtcclxuICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICBcclxuICB9XHJcbiAgLm5pY2Utc2VsZWN0IC5vcHRpb24ge1xyXG4gICAgYmFja2dyb3VuZDogIzZhNWE0OTtcclxuICAgIGNvbG9yOiAjZDdjNmI4O1xyXG4gIH1cclxuXHJcbiAgLmNob2luZ2F5LWJ0biB7XHJcbiAgICB3aWR0aDogODNweDtcclxuICAgIGhlaWdodDogMzBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjZmZmLCAxNHB4LCBjYXBpdGFsaXplLCBjZW50ZXIpO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9jaG9pbmdheS1iZy5naWYpIG5vLXJlcGVhdCAwIDAvMTAwJSAxMDAlO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcbn1cclxuXHJcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCByZXNwb25zaXZlIHZhbHVlcyBmb3IgZm9udCBzaXplcywgcGFkZGluZ3MsIG1hcmdpbnMgYW5kIG11Y2ggbW9yZVxuLy9cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSB2YWx1ZVxuJHJmcy1iYXNlLXZhbHVlOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy11bml0OiByZW0gIWRlZmF1bHQ7XG5cbkBpZiAkcmZzLXVuaXQgIT0gcmVtIGFuZCAkcmZzLXVuaXQgIT0gcHgge1xuICBAZXJyb3IgXCJgI3skcmZzLXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xufVxuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIHZhbHVlcyBzdGFydCBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuQGlmICRyZnMtYnJlYWtwb2ludC11bml0ICE9IHB4IGFuZCAkcmZzLWJyZWFrcG9pbnQtdW5pdCAhPSBlbSBhbmQgJHJmcy1icmVha3BvaW50LXVuaXQgIT0gcmVtIHtcbiAgQGVycm9yIFwiYCN7JHJmcy1icmVha3BvaW50LXVuaXR9YCBpcyBub3QgYSB2YWxpZCB1bml0IGZvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC4gVXNlIGBweGAsIGBlbWAgb3IgYHJlbWAuXCI7XG59XG5cbi8vIFJlc2l6ZSB2YWx1ZXMgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBudW1iZXIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBNb2RlLiBQb3NzaWJpbGl0aWVzOiBcIm1pbi1tZWRpYS1xdWVyeVwiLCBcIm1heC1tZWRpYS1xdWVyeVwiXG4kcmZzLW1vZGU6IG1pbi1tZWRpYS1xdWVyeSAhZGVmYXVsdDtcblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJmcyB0byBmYWxzZVxuJGVuYWJsZS1yZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS12YWx1ZSB1bml0XG4kcmZzLWJhc2UtdmFsdWUtdW5pdDogdW5pdCgkcmZzLWJhc2UtdmFsdWUpO1xuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS12YWx1ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLXZhbHVlLXVuaXQgPT0gcHgge1xuICAkcmZzLWJhc2UtdmFsdWU6ICRyZnMtYmFzZS12YWx1ZSAvICgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtdmFsdWUtdW5pdCA9PSByZW0ge1xuICAkcmZzLWJhc2UtdmFsdWU6ICRyZnMtYmFzZS12YWx1ZSAvICgkcmZzLWJhc2UtdmFsdWUgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gQ2FjaGUgJHJmcy1icmVha3BvaW50IHVuaXQgdG8gcHJldmVudCBtdWx0aXBsZSBjYWxsc1xuJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGU6IHVuaXQoJHJmcy1icmVha3BvaW50KTtcblxuLy8gUmVtb3ZlIHVuaXQgZnJvbSAkcmZzLWJyZWFrcG9pbnQgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IHB4IHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gcmVtIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBDYWxjdWxhdGUgdGhlIG1lZGlhIHF1ZXJ5IHZhbHVlXG4kcmZzLW1xLXZhbHVlOiBpZigkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCwgI3skcmZzLWJyZWFrcG9pbnR9cHgsICN7JHJmcy1icmVha3BvaW50IC8gJHJmcy1yZW0tdmFsdWV9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH0pO1xuJHJmcy1tcS1wcm9wZXJ0eS13aWR0aDogaWYoJHJmcy1tb2RlID09IG1heC1tZWRpYS1xdWVyeSwgbWF4LXdpZHRoLCBtaW4td2lkdGgpO1xuJHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHQ6IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksIG1heC1oZWlnaHQsIG1pbi1oZWlnaHQpO1xuXG4vLyBJbnRlcm5hbCBtaXhpbiB1c2VkIHRvIGRldGVybWluZSB3aGljaCBtZWRpYSBxdWVyeSBuZWVkcyB0byBiZSB1c2VkXG5AbWl4aW4gX3Jmcy1tZWRpYS1xdWVyeSB7XG4gIEBpZiAkcmZzLXR3by1kaW1lbnNpb25hbCB7XG4gICAgQG1lZGlhICgjeyRyZnMtbXEtcHJvcGVydHktd2lkdGh9OiAjeyRyZnMtbXEtdmFsdWV9KSwgKCN7JHJmcy1tcS1wcm9wZXJ0eS1oZWlnaHR9OiAjeyRyZnMtbXEtdmFsdWV9KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBtZWRpYSAoI3skcmZzLW1xLXByb3BlcnR5LXdpZHRofTogI3skcmZzLW1xLXZhbHVlfSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIEludGVybmFsIG1peGluIHRoYXQgYWRkcyBkaXNhYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLXJ1bGUge1xuICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWF4LW1lZGlhLXF1ZXJ5IHtcbiAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LCB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIHByb3BlcnR5XG4gICAgJixcbiAgICAuZGlzYWJsZS1yZnMgJixcbiAgICAmLmRpc2FibGUtcmZzIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSBhbmQgJHJmcy1tb2RlID09IG1pbi1tZWRpYS1xdWVyeSB7XG4gICAgLmVuYWJsZS1yZnMgJixcbiAgICAmLmVuYWJsZS1yZnMge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBJbnRlcm5hbCBtaXhpbiB0aGF0IGFkZHMgZW5hYmxlIGNsYXNzZXMgdG8gdGhlIHNlbGVjdG9yIGlmIG5lZWRlZC5cbkBtaXhpbiBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUge1xuXG4gIEBpZiAkcmZzLWNsYXNzID09IGVuYWJsZSB7XG4gICAgQGlmICRyZnMtbW9kZSA9PSBtaW4tbWVkaWEtcXVlcnkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgX3Jmcy1tZWRpYS1xdWVyeSB7XG4gICAgICAuZW5hYmxlLXJmcyAmLFxuICAgICAgJi5lbmFibGUtcmZzIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaWYgJHJmcy1jbGFzcyA9PSBkaXNhYmxlIGFuZCAkcmZzLW1vZGUgPT0gbWluLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIC5kaXNhYmxlLXJmcyAmLFxuICAgICAgJi5kaXNhYmxlLXJmcyB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb24gdG8gZ2V0IHRoZSBmb3JtYXR0ZWQgbm9uLXJlc3BvbnNpdmUgdmFsdWVcbkBmdW5jdGlvbiByZnMtdmFsdWUoJHZhbHVlcykge1xuICAvLyBDb252ZXJ0IHRvIGxpc3RcbiAgJHZhbHVlczogaWYodHlwZS1vZigkdmFsdWVzKSAhPSBsaXN0LCAoJHZhbHVlcywpLCAkdmFsdWVzKTtcblxuICAkdmFsOiAnJztcblxuICAvLyBMb29wIG92ZXIgZWFjaCB2YWx1ZSBhbmQgY2FsY3VsYXRlIHZhbHVlXG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWVzIHtcbiAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgJHZhbDogJHZhbCArICcgMCc7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIENhY2hlICR2YWx1ZSB1bml0XG4gICAgICAkdW5pdDogaWYodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIsIHVuaXQoJHZhbHVlKSwgZmFsc2UpO1xuXG4gICAgICBAaWYgJHVuaXQgPT0gcHgge1xuICAgICAgICAvLyBDb252ZXJ0IHRvIHJlbSBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArIGlmKCRyZnMtdW5pdCA9PSByZW0sICN7JHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAkcmZzLXJlbS12YWx1ZSl9cmVtLCAkdmFsdWUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHVuaXQgPT0gcmVtIHtcbiAgICAgICAgLy8gQ29udmVydCB0byBweCBpZiBuZWVkZWRcbiAgICAgICAgJHZhbDogJHZhbCArICcgJyArIGlmKCRyZnMtdW5pdCA9PSBweCwgI3skdmFsdWUgLyAoJHZhbHVlICogMCArIDEpICogJHJmcy1yZW0tdmFsdWV9cHgsICR2YWx1ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIElmICR2YWx1ZSBpc24ndCBhIG51bWJlciAobGlrZSBpbmhlcml0KSBvciAkdmFsdWUgaGFzIGEgdW5pdCAobm90IHB4IG9yIHJlbSwgbGlrZSAxLjVlbSkgb3IgJCBpcyAwLCBqdXN0IHByaW50IHRoZSB2YWx1ZVxuICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgcmVzcG9uc2l2ZSB2YWx1ZSBjYWxjdWxhdGVkIGJ5IFJGU1xuQGZ1bmN0aW9uIHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKSB7XG4gIC8vIENvbnZlcnQgdG8gbGlzdFxuICAkdmFsdWVzOiBpZih0eXBlLW9mKCR2YWx1ZXMpICE9IGxpc3QsICgkdmFsdWVzLCksICR2YWx1ZXMpO1xuXG4gICR2YWw6ICcnO1xuXG4gIC8vIExvb3Agb3ZlciBlYWNoIHZhbHVlIGFuZCBjYWxjdWxhdGUgdmFsdWVcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiAkdmFsdWUgPT0gMCB7XG4gICAgICAkdmFsOiAkdmFsICsgJyAwJztcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAvLyBDYWNoZSAkdmFsdWUgdW5pdFxuICAgICAgJHVuaXQ6IGlmKHR5cGUtb2YoJHZhbHVlKSA9PSBcIm51bWJlclwiLCB1bml0KCR2YWx1ZSksIGZhbHNlKTtcblxuICAgICAgLy8gSWYgJHZhbHVlIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICR2YWx1ZSBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gICAgICBAaWYgbm90ICR1bml0IG9yICR1bml0ICE9IHB4IGFuZCAkdW5pdCAhPSByZW0ge1xuICAgICAgICAkdmFsOiAkdmFsICsgJyAnICsgJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgIC8vIFJlbW92ZSB1bml0IGZyb20gJHZhbHVlIGZvciBjYWxjdWxhdGlvbnNcbiAgICAgICAgJHZhbHVlOiAkdmFsdWUgLyAoJHZhbHVlICogMCArIGlmKCR1bml0ID09IHB4LCAxLCAxIC8gJHJmcy1yZW0tdmFsdWUpKTtcblxuICAgICAgICAvLyBPbmx5IGFkZCB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbiB0aGUgbWluaW11bSB2YWx1ZVxuICAgICAgICBAaWYgYWJzKCR2YWx1ZSkgPD0gJHJmcy1iYXNlLXZhbHVlIG9yIG5vdCAkZW5hYmxlLXJmcyB7XG4gICAgICAgICAgJHZhbDogJHZhbCArICcgJyArICBpZigkcmZzLXVuaXQgPT0gcmVtLCAjeyR2YWx1ZSAvICRyZnMtcmVtLXZhbHVlfXJlbSwgI3skdmFsdWV9cHgpO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtbWluOiAkcmZzLWJhc2UtdmFsdWUgKyAoYWJzKCR2YWx1ZSkgLSAkcmZzLWJhc2UtdmFsdWUpIC8gJHJmcy1mYWN0b3I7XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgZGlmZmVyZW5jZSBiZXR3ZWVuICR2YWx1ZSBhbmQgdGhlIG1pbmltdW0gdmFsdWVcbiAgICAgICAgICAkdmFsdWUtZGlmZjogYWJzKCR2YWx1ZSkgLSAkdmFsdWUtbWluO1xuXG4gICAgICAgICAgLy8gQmFzZSB2YWx1ZSBmb3JtYXR0aW5nXG4gICAgICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy11bml0ID09IHJlbSwgI3skdmFsdWUtbWluIC8gJHJmcy1yZW0tdmFsdWV9cmVtLCAjeyR2YWx1ZS1taW59cHgpO1xuXG4gICAgICAgICAgLy8gVXNlIG5lZ2F0aXZlIHZhbHVlIGlmIG5lZWRlZFxuICAgICAgICAgICRtaW4td2lkdGg6IGlmKCR2YWx1ZSA8IDAsIC0kbWluLXdpZHRoLCAkbWluLXdpZHRoKTtcblxuICAgICAgICAgIC8vIFVzZSBgdm1pbmAgaWYgdHdvLWRpbWVuc2lvbmFsIGlzIGVuYWJsZWRcbiAgICAgICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgdmFyaWFibGUgd2lkdGggYmV0d2VlbiAwIGFuZCAkcmZzLWJyZWFrcG9pbnRcbiAgICAgICAgICAkdmFyaWFibGUtd2lkdGg6ICN7JHZhbHVlLWRpZmYgKiAxMDAgLyAkcmZzLWJyZWFrcG9pbnR9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgICAgICAvLyBSZXR1cm4gdGhlIGNhbGN1bGF0ZWQgdmFsdWVcbiAgICAgICAgICAkdmFsOiAkdmFsICsgJyBjYWxjKCcgKyAkbWluLXdpZHRoICsgaWYoJHZhbHVlIDwgMCwgJyAtICcsICcgKyAnKSArICR2YXJpYWJsZS13aWR0aCArICcpJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFJlbW92ZSBmaXJzdCBzcGFjZVxuICBAcmV0dXJuIHVucXVvdGUoc3RyLXNsaWNlKCR2YWwsIDIpKTtcbn1cblxuLy8gUkZTIG1peGluXG5AbWl4aW4gcmZzKCR2YWx1ZXMsICRwcm9wZXJ0eTogZm9udC1zaXplKSB7XG4gIEBpZiAkdmFsdWVzICE9IG51bGwge1xuICAgICR2YWw6IHJmcy12YWx1ZSgkdmFsdWVzKTtcbiAgICAkZmx1aWRWYWw6IHJmcy1mbHVpZC12YWx1ZSgkdmFsdWVzKTtcblxuICAgIC8vIERvIG5vdCBwcmludCB0aGUgbWVkaWEgcXVlcnkgaWYgcmVzcG9uc2l2ZSAmIG5vbi1yZXNwb25zaXZlIHZhbHVlcyBhcmUgdGhlIHNhbWVcbiAgICBAaWYgJHZhbCA9PSAkZmx1aWRWYWwge1xuICAgICAgI3skcHJvcGVydHl9OiAkdmFsO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBfcmZzLXJ1bGUge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICR2YWwsICRmbHVpZFZhbCk7XG5cbiAgICAgICAgLy8gSW5jbHVkZSBzYWZhcmkgaWZyYW1lIHJlc2l6ZSBmaXggaWYgbmVlZGVkXG4gICAgICAgIG1pbi13aWR0aDogaWYoJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4LCAoMCAqIDF2dyksIG51bGwpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBfcmZzLW1lZGlhLXF1ZXJ5LXJ1bGUge1xuICAgICAgICAjeyRwcm9wZXJ0eX06IGlmKCRyZnMtbW9kZSA9PSBtYXgtbWVkaWEtcXVlcnksICRmbHVpZFZhbCwgJHZhbCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFNob3J0aGFuZCBoZWxwZXIgbWl4aW5zXG5AbWl4aW4gZm9udC1zaXplKCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlKTtcbn1cblxuQG1peGluIHBhZGRpbmcoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmcpO1xufVxuXG5AbWl4aW4gcGFkZGluZy10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctdG9wKTtcbn1cblxuQG1peGluIHBhZGRpbmctcmlnaHQoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctcmlnaHQpO1xufVxuXG5AbWl4aW4gcGFkZGluZy1ib3R0b20oJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIHBhZGRpbmctYm90dG9tKTtcbn1cblxuQG1peGluIHBhZGRpbmctbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgcGFkZGluZy1sZWZ0KTtcbn1cblxuQG1peGluIG1hcmdpbigkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luKTtcbn1cblxuQG1peGluIG1hcmdpbi10b3AoJHZhbHVlKSB7XG4gIEBpbmNsdWRlIHJmcygkdmFsdWUsIG1hcmdpbi10b3ApO1xufVxuXG5AbWl4aW4gbWFyZ2luLXJpZ2h0KCR2YWx1ZSkge1xuICBAaW5jbHVkZSByZnMoJHZhbHVlLCBtYXJnaW4tcmlnaHQpO1xufVxuXG5AbWl4aW4gbWFyZ2luLWJvdHRvbSgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWJvdHRvbSk7XG59XG5cbkBtaXhpbiBtYXJnaW4tbGVmdCgkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcmZzKCR2YWx1ZSwgbWFyZ2luLWxlZnQpO1xufVxuIiwiOnJvb3Qge1xyXG4gICAgLyogTm90IG15IGZhdm9yaXRlIHRoYXQgbGluZS1oZWlnaHQgaGFzIHRvIGJlIHVuaXRlZCwgYnV0IG5lZWRlZCAqL1xyXG4gICAgLS1saDogMS40cmVtO1xyXG59XHJcblxyXG5odG1sIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnRTaXplSHRtbFRhZztcclxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saCk7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmRDb2xvciAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6ICRtYWluQ29sb3IgIWltcG9ydGFudDtcclxuICAgIGZvbnQtd2VpZ2h0OiAkZm9udE5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lSGVpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LWZhbWlseTogJGZvbnRGYW1pbHkgIWltcG9ydGFudDtcclxuICAgIEBpbmNsdWRlIGZvbnQtc2l6ZSgxNnB4KTtcclxufVxyXG5cclxuXHJcbmEge1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOiAkbWFpbkxpbmtDb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgIGNvbG9yOiAkbWFpbkxpbmtDb2xvci1ob3ZlcjtcclxuICAgIH1cclxufVxyXG5cclxuLnNob3ctbW9iaWxlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLnNob3ctZGVza3RvcCB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5pbmZpbml0ZSB7XHJcbiAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO1xyXG59XHJcbi5sb29wLTUge1xyXG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogNTtcclxufSIsIi8qLS0tLSBDb250ZW50IENTUyBWYXJpYmxlcyAtLS0tKi9cclxuJHRleHQtY29sb3I6ICMzNTM1M2M7XHJcbiRjb2xvci1saW5rLWNvbnRlbnQ6ICNiNDgzMDA7XHJcbiRjb2xvci1saW5rLWNvbnRlbnQtaG92ZXI6ICNiNDU5MDA7XHJcblxyXG5cclxuJGNvbG9yLWZpcnN0LWxldHRlcjogIzM1MzUzYztcclxuJGNvbG9yLXN0cm9uZy0xOiAjZjE5NDVhO1xyXG4kY29sb3Itc3Ryb25nLTI6ICNhZjJlMjM7XHJcbiRjb2xvci1zdHJvbmctMzogIzQ4YjhmODtcclxuXHJcbiRoMy1jb2xvcjogI2Q3YzZiODtcclxuJGgzLWZvbnQtZmFtaWx5OiBTRi1Cb2xkO1xyXG5cclxuJGg0LWNvbG9yOiAjZjE5NDVhO1xyXG4kaDQtcGFkZGluZzogNTBweDtcclxuXHJcbiRoNS1jb2xvcjogI2YxOTQ1YTtcclxuJGg1LXBhZGRpbmc6IDQwcHg7XHJcblxyXG4kYmFja2dyb3VuZC10YWJsZS1oZWFkOiAjMzkyODFmO1xyXG4kY29sb3ItdGFibGUtaGVhZDogI2Q3YzZiODtcclxuJGNvbG9yLWJvcmRlci10YWJsZTogIzFmMDAyYjtcclxuJGJhY2tncm91bmQtcm93LTE6ICNkYmQwYzU7XHJcbiRiYWNrZ3JvdW5kLXJvdy0yOiAjZWZlYmU4O1xyXG4kY29sb3ItdGFibGUtdGV4dDogIzM5MjgxZjtcclxuJGNvbG9yLXRhYmxlLXRleHQtaG92ZXI6ICRtYWluTGlua0NvbG9yLWhvdmVyO1xyXG5cclxuLyotLS0gSW1hZ2UgLS0tLS0qL1xyXG4kY29sb3ItYm9yZGVyLWltYWdlOiAjMDAwO1xyXG4kY29sb3ItYmFja2dyb3VuZC1pbWFnZTogIzAwMDtcclxuXHJcblxyXG4vKi0tLSBOb3RpY2UgQm94IC0tLSovXHJcbiRsZWdlbmQtYmFja2dyb3VuZDogI2FmMmUyMztcclxuJGxlZ2VuZC1ib3JkZXI6ICNhZjJlMjM7XHJcbiRsZWdlbmQtY29sb3I6ICNmZmY7XHJcbiRub3RpY2UtYmFja2dyb3VuZDogI2VmZWJlODtcclxuJG5vdGljZS1ib3JkZXI6ICM4ZDhkOGQ7XHJcbiRub3RpY2UtY29sb3I6ICMxZTJjMTk7XHJcbiRub3RpY2UtbGluay1jb2xvcjogIzFjNzZmZDtcclxuJG5vdGljZS1saW5rLWNvbG9yLWhvdmVyOiAjZmQ0YjM2O1xyXG5cclxuLyotLS0tIEVuZCBDb250ZW50IENTUyBWYXJpYmxlcyAtLS0tKi9cclxuXHJcbi8qIEdlbmVyYWwgKi9cclxuLlN0YXRpY01haW4ge1xyXG4gIEBpbmNsdWRlIG1hcmdpbiAoMjVweCAwKTtcclxuICAvLyBAaW5jbHVkZSBwYWRkaW5nKDIwcHggMCk7XHJcbiAgY2xlYXI6IGJvdGg7XHJcbiAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuICBtaW4taGVpZ2h0OiA5MzBweDtcclxuICBjb2xvcjogJHRleHQtY29sb3I7XHJcbiAgXHJcblxyXG4gIGgzIHtcclxuICAgIGZvbnQtZmFtaWx5OiAkaDMtZm9udC1mYW1pbHk7XHJcbiAgICBjb2xvcjogJGgzLWNvbG9yO1xyXG4gICAgZm9udC1zaXplOiAzZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMHB4IDAgMzBweCAwO1xyXG5cclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgY29sb3I6ICRjb2xvci1saW5rLWNvbnRlbnQ7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICRjb2xvci1saW5rLWNvbnRlbnQtaG92ZXI7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCAwO1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgbGlzdC1zdHlsZTogZGlzYztcclxuICAgICAgcGFkZGluZzogMCAwIDAgMHB4O1xyXG4gICAgICBtYXJnaW46IDAgMCA1cHggMjBweDtcclxuXHJcbiAgICAgIHVsIHtcclxuICAgICAgICBsaXN0LXN0eWxlOiBjaXJjbGU7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHggMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb2wge1xyXG4gICAgbWFyZ2luOiAwIDAgMjBweDtcclxuICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xyXG4gICAgICBsaXN0LXN0eWxlOiBkZWNpbWFsICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuQW5jaG9yTGluayB7XHJcbiAgICBtYXJnaW46IDBweCAzMHB4IDIwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZSBvdXRzaWRlIG5vbmU7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgd2lkdGg6IDQ5JTtcclxuICAgICAgcGFkZGluZzogMCAwIDVweCAxcHg7XHJcbiAgICAgIG1hcmdpbjogMCAxJSAwIDA7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAgICAgICB3aWR0aDogMzElO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogMiU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIG1xLW1heCg0ODBweCkge1xyXG4gICAgICAgIHdpZHRoOiA0OCU7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgbXEtbWF4KDMyMHB4KSB7XHJcbiAgICAgICAgd2lkdGg6IDk4JTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWxpbmstY29udGVudDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDhweDtcclxuICAgICAgICAgIGJvcmRlcjogc29saWQgMXB4ICRjb2xvci1saW5rLWNvbnRlbnQ7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDZweDtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgYS5BY3RpdmUsXHJcbiAgICAgIGEuQWN0aXZlOmhvdmVyLFxyXG4gICAgICBhOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJGNvbG9yLWxpbmstY29udGVudC1ob3ZlcjtcclxuXHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDZweDtcclxuICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItbGluay1jb250ZW50LWhvdmVyO1xyXG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGNvbG9yLWxpbmstY29udGVudC1ob3ZlcjtcclxuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgICAgIGNvbG9yOiAkbWFpbkxpbmtDb2xvci1ob3ZlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5GaXJzdENoYXIge1xyXG4gICAgcGFkZGluZzogNHB4IDRweCAwIDA7XHJcbiAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgIGZvbnQtc2l6ZTogNDJweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBjb2xvcjogJGNvbG9yLWZpcnN0LWxldHRlcjtcclxuICB9XHJcblxyXG4gIC5Db250ZW50QmxvY2sge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICB9XHJcblxyXG4gIC5JbWFnZXNCbG9jayB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gIH1cclxuXHJcbiAgLkltZ0NlbnRlciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogOTAlO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIH1cclxuXHJcblxyXG5cclxuICBoNCB7XHJcbiAgICBjb2xvcjogJGg0LWNvbG9yO1xyXG4gICAgcGFkZGluZzogMTBweCAwIDEwcHggJGg0LXBhZGRpbmc7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIG1hcmdpbjogMCAwIDVweCAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy9jb250ZW50L2ljb24taDQucG5nJykgbm8tcmVwZWF0O1xyXG4gIH1cclxuXHJcbiAgLkNvbnRlbnRINCB7XHJcbiAgICBjbGVhcjogYm90aDtcclxuICAgIG1hcmdpbjogMCAwIDEwcHggJGg0LXBhZGRpbmc7XHJcbiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIC8qdGV4dC1hbGlnbjoganVzdGlmeTsqL1xyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5JbWFnZXNINCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDAgMCAyMHB4ICRoNC1wYWRkaW5nO1xyXG4gIH1cclxuXHJcblxyXG4gIGg1IHtcclxuICAgIGNvbG9yOiAkaDUtY29sb3I7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDAgMTBweCAkaDUtcGFkZGluZztcclxuICAgIG1hcmdpbjogMCAwIDEwcHggJGg0LXBhZGRpbmc7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1hZ2VzL2NvbnRlbnQvaWNvbi1oNS5wbmcnKSBuby1yZXBlYXQgMCAwcHg7XHJcbiAgfVxyXG5cclxuICAuQ29udGVudEg1IHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgbWFyZ2luOiAwIDAgMCAoJGg0LXBhZGRpbmcrJGg1LXBhZGRpbmcpO1xyXG4gICAgcGFkZGluZzogMCAwIDIwcHg7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLkltYWdlc0g1IHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCAwIDIwcHggJGg1LXBhZGRpbmc7XHJcbiAgfVxyXG5cclxuXHJcbiAgdGFibGUge1xyXG4gICAgYm9yZGVyLXRvcDogc29saWQgMXB4ICRjb2xvci1ib3JkZXItdGFibGU7XHJcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xyXG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuXHJcbiAgICB0aGVhZCB7XHJcbiAgICAgIHRyIHtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXRhYmxlLWhlYWQ7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC10YWJsZS1oZWFkO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTBweDtcclxuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItdGFibGU7XHJcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItdGFibGU7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci10YWJsZTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0Ym9keSB7XHJcbiAgICAgIHRyIHtcclxuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLXJvdy0xO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtcm93LTI7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XHJcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLXRhYmxlO1xyXG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcclxuICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGFibGUtdGV4dDtcclxuXHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10YWJsZS10ZXh0O1xyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10YWJsZS10ZXh0LWhvdmVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdGFibGUuTm90aWNlIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItdGFibGU7XHJcblxyXG4gICAgdHIge1xyXG4gICAgICB0ZCB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItdGFibGU7XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHVsLFxyXG4gICAgICAgIG9sIHtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwcHg7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcblxyXG4gIC8qIFRleHQgc3R5bGVzICovXHJcbiAgLlRleHRDZW50ZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLlRleHRSaWdodCB7XHJcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICB9XHJcblxyXG4gIC5TdHJvbmcwMSB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgY29sb3I6ICRjb2xvci1zdHJvbmctMTtcclxuICB9XHJcblxyXG4gIC5TdHJvbmcwMiB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgY29sb3I6ICRjb2xvci1zdHJvbmctMjtcclxuICB9XHJcblxyXG4gIC5TdHJvbmcwMyB7XHJcbiAgICBmb250LXdlaWdodDogYm9sZGVyO1xyXG4gICAgY29sb3I6ICRjb2xvci1zdHJvbmctMztcclxuICB9XHJcblxyXG4gIC5UZXh0Rm9udDE3IHtcclxuICAgIGZvbnQtc2l6ZTogMTdweDtcclxuXHJcbiAgfVxyXG5cclxuICAuVGV4dEZvbnQxOSB7XHJcbiAgICBmb250LXNpemU6IDE5cHg7XHJcblxyXG4gIH1cclxuXHJcbiAgLlRleHRGb250MjEge1xyXG4gICAgZm9udC1zaXplOiAyMXB4O1xyXG5cclxuICB9XHJcblxyXG4gIC8qIEVORC4gVGV4dCBzdHlsZXMgKi9cclxuXHJcbiAgLyogSW1hZ2Ugc3R5bGVzICovXHJcbiAgLk5vQm9yZGVySW1nIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgLkJvcmRlckltZyB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYmFja2dyb3VuZC1pbWFnZTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ib3JkZXItaW1hZ2U7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgfVxyXG5cclxuICAuSW1nTGVmdCB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbjogMXB4IDEwcHggNXB4IDA7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYm9yZGVyLWltYWdlO1xyXG4gIH1cclxuXHJcbiAgLkltZ1JpZ2h0IHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbjogMCAwIDVweCAxMHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJvcmRlci1pbWFnZTtcclxuICB9XHJcblxyXG5cclxuICBibG9ja3F1b3RlIHtcclxuICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgJGNvbG9yLWJvcmRlci10YWJsZTtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIG1hcmdpbjogMCAyMHB4O1xyXG4gICAgcGFkZGluZzogMTBweCA0MHB4O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG5cclxuICAgICY6YmVmb3JlLFxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAxMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBib3R0b206IDA7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0yMHB4IDA7XHJcbiAgICB9XHJcblxyXG5cclxuICB9XHJcblxyXG4gIC8qIE5vdGljZSBib3ggKi9cclxuICAuTm90aWNlQm94IHtcclxuICAgIGJvcmRlcjogc29saWQgMXB4ICRub3RpY2UtYm9yZGVyO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxuICAgIGJhY2tncm91bmQ6ICRub3RpY2UtYmFja2dyb3VuZDtcclxuXHJcbiAgICBwLkxlZ2VuZCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuICAgICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgICBjb2xvcjogJGxlZ2VuZC1jb2xvcjtcclxuICAgICAgYmFja2dyb3VuZDogJGxlZ2VuZC1iYWNrZ3JvdW5kO1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgIG1hcmdpbjogLTIwcHggMCAxMHB4O1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggJGxlZ2VuZC1ib3JkZXI7XHJcbiAgICB9XHJcblxyXG4gICAgLk5vdGVDb250ZW50IHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgICAgIGNvbG9yOiAkbm90aWNlLWNvbG9yO1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgQGlmICRub3RpY2UtbGluay1jb2xvciAhPW7GsGxsIHtcclxuICAgICAgICAgIGNvbG9yOiAkbm90aWNlLWxpbmstY29sb3I7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIEBpZiAkbm90aWNlLWxpbmstY29sb3ItaG92ZXIgIT1uxrBsbCB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkbm90aWNlLWxpbmstY29sb3ItaG92ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC8qIExpc3Qgc3R5bGVzICovXHJcbiAgdWwuRGVjaW1hbCB7XHJcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCAwcHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwuVXBwZXJBbHBoYSB7XHJcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCAwcHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IHVwcGVyLWFscGhhO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsLkxvd2VyQWxwaGEge1xyXG4gICAgbWFyZ2luOiAwcHggMHB4IDEwcHggMHB4O1xyXG5cclxuICAgIGxpIHtcclxuICAgICAgbGlzdC1zdHlsZS10eXBlOiBsb3dlci1hbHBoYTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuXHJcbiAgICAgIHVsIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1bC5JY29uIHtcclxuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDVweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICAgICAgY29udGVudDogXCJcXGUwNzRcIjtcclxuICAgICAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnNIYWxmbGluZ3MnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDRweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHVsLkxvd2VyQWxwaGEgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbG93ZXItYWxwaGE7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1bC5EYXNoIHtcclxuICAgIG1hcmdpbjogMHB4IDBweCAxMHB4IDVweDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcclxuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA4cHg7XHJcbiAgICAgICAgY29udGVudDogXCJcXDIyMTJcIjtcclxuICAgICAgICBmb250LWZhbWlseTogJ0dseXBoaWNvbnNIYWxmbGluZ3MnO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDVweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwuRGlzYyB7XHJcbiAgICBtYXJnaW46IDBweCAwcHggMTBweCA1cHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcclxuICAgICAgcGFkZGluZzogMCAwIDAgMTVweDtcclxuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlMTY1XCI7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zSGFsZmxpbmdzJztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiA1cHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgfVxyXG5cclxuICAgICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCJib2R5IHtcclxuICBiYWNrZ3JvdW5kOiAjZjdmY2ZlO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAud3JhcHBlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2JnLmpwZykgbm8tcmVwZWF0IHRvcCBjZW50ZXI7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgICAmLnN1YiB7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYmctdG9wLmpwZykgbm8tcmVwZWF0IHRvcCBjZW50ZXIsIHVybCguLi9pbWFnZXMvYmctYm90dG9tLmpwZykgbm8tcmVwZWF0IGJvdHRvbSBjZW50ZXIgI2RmZGFjZjtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xyXG4gICAgfVxyXG4gICAgJi5zdWItc2VydmVyIHtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iZy1zZXJ2ZXIuanBnKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcclxuICAgICAgaGVpZ2h0OiAxMDgwcHg7XHJcbiAgICAgIC5sb2dvIHtcclxuICAgICAgICBsZWZ0OiAxNSU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYtNDA0IHtcclxuICAgICAgaGVpZ2h0OiAxMDB2aDtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9iZy00MDQuanBnKSBuby1yZXBlYXQgY2VudGVyIHRvcCAvIGNvdmVyO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgZmxleC1mbG93OiBjb2x1bW47XHJcblxyXG4gICAgICAubG9nbyB7XHJcbiAgICAgICAgdG9wOiAzJTtcclxuICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgIEBpbmNsdWRlIG1xLW1heCg3NjhweCkge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiA3MCU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5ob21lLWJ0biB7XHJcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIGNhbGMoMyUgKyAyMDBweCkgbnVsbCBudWxsIDUwJSk7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxMDhweDtcclxuICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2ZXItYnRuLnBuZykgbm8tcmVwZWF0IDAgMC8xMDAlIDEwMCU7XHJcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjZmZmYmVlLCAxMnB4LCB1cHBlcmNhc2UsIGNlbnRlcik7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdTRi1Cb2xkJztcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAycHggIzMzMzMzMztcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc2VydmVyLWJ0bi1ob3Zlci5wbmcpIG5vLXJlcGVhdCAwIDAvMTAwJSAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcbiAgLnNlY3Rpb24tdGl0bGUge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcclxuICB9XHJcbiAgLnNlY3Rpb24tMSB7XHJcbiAgICAuY29udGFpbmVyIHtcclxuICAgICAgaGVpZ2h0OiAzNjJweDtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgbWFyZ2luOiAwIGF1dG8gNjBweDtcclxuICAgICAgcGFkZGluZzogNHB4IDRweDtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZWN0aW9uMS1iZy5qcGcpIG5vLXJlcGVhdCAwIDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG59XHJcblxyXG4uYmFubmVyLXNsaWRlciB7XHJcbiAgd2lkdGg6IDUxOHB4O1xyXG4gIG1hcmdpbjogMCAxNHB4IDAgMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAuc3dpcGVyLXNsaWRlIHtcclxuICAgIGxpbmUtaGVpZ2h0OiAwLjU7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIGEge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgLy8gJjphZnRlciB7XHJcbiAgICAgIC8vICAgY29udGVudDogJyc7XHJcbiAgICAgIC8vICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xyXG4gICAgICAvLyAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvYmFubmVyLWZyYW1lLnBuZykgbm8tcmVwZWF0IDAgMC8xMDAlIDEwMCU7XHJcbiAgICAgIC8vICAgei1pbmRleDogMjtcclxuICAgICAgLy8gfVxyXG4gICAgfVxyXG4gIH1cclxuICAuc3dpcGVyLXBhZ2luYXRpb24ge1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgYm90dG9tOiAwcHg7XHJcbiAgICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcclxuICAgICAgd2lkdGg6IDI4cHg7XHJcbiAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9kYWNzYWMtcGFnaW5nLnBuZykgbm8tcmVwZWF0IDAgMCAhaW1wb3J0YW50O1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICBtYXJnaW46IDVweDtcclxuICAgIH1cclxuICAgIC5zd2lwZXItcGFnaW5hdGlvbi1idWxsZXQtYWN0aXZlIHtcclxuICAgICAgd2lkdGg6IDI4cHg7XHJcbiAgICAgIGhlaWdodDogMjhweDtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9kYWNzYWMtcGFnaW5nLWhvdmVyLnBuZykgbm8tcmVwZWF0IDAgMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0IHtcclxuICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBjMTQxMCAhaW1wb3J0YW50O1xyXG4gICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAuc3dpcGVyLXBhZ2luYXRpb24tYnVsbGV0LWFjdGl2ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTgxOTE5ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uYnV0dG9ucyB7XHJcbiAgd2lkdGg6IDEwMnB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgZmxleC1mbG93OiBjb2x1bW47XHJcbiAgbGluZS1oZWlnaHQ6IDAuNztcclxuICBhOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICB9XHJcbiAgYTpob3ZlciB7XHJcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTMwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLyotIFZhcmlhYmxlIC0qL1xyXG4kdGFiLWJnLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuJHRhYi1iZy1jb2xvci1ob3ZlcjogdHJhbnNwYXJlbnQ7XHJcbiR0YWItYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuJHRhYi1ib3JkZXItY29sb3ItaG92ZXI6ICM2OTRmMzI7XHJcbiR0YWItbGluay1jb2xvcjogIzM1MzUzYztcclxuJHRhYi1saW5rLWNvbG9yLWhvdmVyOiAjYjQ4MzAwO1xyXG4kdGFiLWZvbnRzaXplOiAxNHB4O1xyXG5cclxuJG5ld3MtZmlyc3QtdGl0bGUtZm9udC1mYW1pbHk6ICdTRi1Cb2xkJztcclxuJG5ld3MtZmlyc3QtbGluay1jb2xvcjogI2I0ODMwMDtcclxuJG5ld3MtZmlyc3QtbGluay1jb2xvci1ob3ZlcjogI2JhMDYwZjtcclxuJG5ld3MtbGluay1jb2xvcjogIzM1MzUzYztcclxuJG5ld3MtbGluay1jb2xvci1ob3ZlcjogI2I0ODMwMDtcclxuXHJcbiRuZXdzLWRlcy1jb2xvcjogIzM1MzUzYztcclxuXHJcbi5uZXdzIHtcclxuICBtYXJnaW46IDAgMTBweCAwIDA7XHJcbiAgd2lkdGg6IDUxNXB4O1xyXG4gIC8vIGhlaWdodDogMzk3cHg7XHJcbiAgcGFkZGluZzogMTVweCAzMHB4IDE1cHggMTBweDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgei1pbmRleDogMTtcclxuICAvLyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL25ld3MtYmcucG5nKSBuby1yZXBlYXQ7XHJcblxyXG4gICYtdGFiIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiAwIDAgMHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICMzNTM1M2M7XHJcbiAgICBsaSB7XHJcbiAgICAgIFxyXG4gICAgICBhIHtcclxuICAgICAgICAvLyB3aWR0aDogMTA1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAyN3B4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAncm9ib3Rvc2xhYic7XHJcbiAgICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigkdGFiLWxpbmstY29sb3IsICR0YWItZm9udHNpemUsIHVwcGVyY2FzZSwgY2VudGVyKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAkdGFiLWJnLWNvbG9yO1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjBweCAzMHB4O1xyXG4gICAgICAgIFxyXG4gICAgICAgIC8vIGJvcmRlcjogc29saWQgMXB4ICR0YWItYm9yZGVyLWNvbG9yO1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICBcclxuICAgICAgICAmLmFjdGl2ZSxcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGNvbG9yOiAkdGFiLWxpbmstY29sb3ItaG92ZXI7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiBzb2xpZCA0cHggJHRhYi1ib3JkZXItY29sb3ItaG92ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAudGFiLWNvbnRlbnQge1xyXG4gICAgcGFkZGluZzogMTBweCAwO1xyXG4gIH1cclxufVxyXG4uaGVhZGluZyB7XHJcbiAgaGVpZ2h0OiA1NnB4O1xyXG4gIGxpbmUtaGVpZ2h0OiA1NnB4O1xyXG4gIEBpbmNsdWRlIHRleHQtZGVjb3IoI2RhYjk3OSwgMThweCwgdXBwZXJjYXNlLCBjZW50ZXIsYm9sZCk7XHJcbiAgZm9udC1mYW1pbHk6ICdyb2JvdG9zbGFiJztcclxuICBtYXJnaW46IDBweCBhdXRvIDIwcHg7XHJcbn1cclxuXHJcblxyXG4uc2NyZWVuc2hvdCB7XHJcbiAgbWFyZ2luOiA4MHB4IDA7XHJcbiAgI2FjY29yZGlvbi1zY3JlZW5zaG90IHtcclxuICAgIHdpZHRoOiAxMTEwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIGhlaWdodDogNDc0cHg7XHJcbiAgICAucGFuYS1hY2NvcmRpb24taXRlbSB7XHJcbiAgICAgIGhlaWdodDogNDc0cHg7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIC5wYW5hLWFjY29yZGlvbi1pdGVtIHtcclxuICAgICAgLy8gYm9yZGVyOiBzb2xpZCAxcHggIzAwMDtcclxuICAgICAgXHJcbiAgICAgIGEge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBvcGFjaXR5OiAwO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAudGh1bWIge1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAvLyB6LWluZGV4OiAyO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG4gICAgICB9XHJcbiAgICAgIC5pbWctbGFyZ2Uge1xyXG4gICAgICAgIG1hcmdpbjogMTlweCAwIDAgMjZweDtcclxuICAgICAgICBcclxuICAgICAgfVxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zY3JlZW5zaG90LWZyYW1lLnBuZykgbm8tcmVwZWF0O1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRodW1iIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8qLSBuZXdzIGxpc3QgLSovXHJcbnVsLm5ld3MtbGlzdCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZvbnQtc2l6ZTogMTVweDtcclxuICBsaSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBwYWRkaW5nOiA2cHggMTBweDtcclxuICAgIG1hcmdpbjogMCAwIDJweCAwO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlY2U1ZGI7XHJcbiAgICB9XHJcblxyXG4gICAgJi5oaWdobGlnaHQge1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjMzUzNTNjO1xyXG4gICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xyXG4gICAgICAubmV3cy10aXRsZSB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBjb2xvcjogJG5ld3MtZmlyc3QtbGluay1jb2xvcjtcclxuICAgICAgICBmb250LWZhbWlseTogJG5ld3MtZmlyc3QtdGl0bGUtZm9udC1mYW1pbHk7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgY29sb3I6ICRuZXdzLWZpcnN0LWxpbmstY29sb3ItaG92ZXI7XHJcbiAgICAgICAgICAubmV3cy10aW1lIHtcclxuICAgICAgICAgICAgY29sb3I6ICRuZXdzLWZpcnN0LWxpbmstY29sb3ItaG92ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmV3cy10aW1lIHtcclxuICAgICAgICAgIGNvbG9yOiAkbmV3cy1maXJzdC1saW5rLWNvbG9yO1xyXG4gICAgICAgICAgdG9wOiAxNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBzcGFuIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEwcHg7XHJcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTYzcHgpO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5ld3NfX3RodW1iIHtcclxuICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgIG1hcmdpbjogMnB4IDEwcHggMCAxcHg7XHJcbiAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgXHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgIzNjMzY1YTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5uZXdzLWRlcyB7XHJcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMzVweCk7XHJcbiAgICAgIGNvbG9yOiAkbmV3cy1kZXMtY29sb3I7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKDMpO1xyXG4gICAgfVxyXG5cclxuICAgIC5uZXdzLXRpdGxlIHtcclxuICAgICAgY29sb3I6ICRuZXdzLWxpbmstY29sb3I7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmhvdmVyIC5uZXdzLXRpbWUge1xyXG4gICAgICAgIGNvbG9yOiAkbmV3cy1saW5rLWNvbG9yLWhvdmVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBzcGFuIHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gOTBweCk7XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLm5ld3MtdGltZSB7XHJcbiAgICAgIGNvbG9yOiAkbmV3cy1saW5rLWNvbG9yO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHJpZ2h0OiAxNHB4O1xyXG4gICAgICB0b3A6IDZweDtcclxuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4ubmV3cy1tb3JlIHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgY29sb3I6ICNlM2VkZjE7XHJcbiAgZm9udC1zaXplOiAxNXB4O1xyXG4gIGZsb2F0OiByaWdodDtcclxuICBtYXJnaW46IDBweCAwIDBweCAwO1xyXG4gIC8vIGJhY2tncm91bmQ6ICM2OTY5Njk7XHJcbiAgcGFkZGluZzogMCAwcHggMCAwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xyXG4gIC8vICY6YWZ0ZXIge1xyXG4gIC8vICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0ycHggNXB4IG51bGwgbnVsbCk7XHJcbiAgLy8gICBjb250ZW50OiAnKyc7XHJcbiAgLy8gICBmb250LXNpemU6IDMwcHg7XHJcbiAgLy8gICBsaW5lLWhlaWdodDogLjg7XHJcbiAgLy8gfVxyXG4gICY6aG92ZXIge1xyXG4gICAgXHJcbiAgfVxyXG59XHJcblxyXG4uYnRucyB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAwIDEwcHggMCk7XHJcbiAgYSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDExMCUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyotLS0gQ2hhcmFjdGVyIC0tLSovXHJcbi5jaGFyYWN0ZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDAgMCAyMHB4O1xyXG4gIC5zZWN0aW9uLXRpdGxlIHtcclxuICAgIC8vIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwcHggbnVsbCBudWxsIDBweCk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gIH1cclxuICAmLXRhYiB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDIxMHB4IG51bGwgbnVsbCAyMDBweCk7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgbGkge1xyXG4gICAgICBtYXJnaW46IDAgMnB4O1xyXG4gICAgICBhIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTM2cHg7XHJcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiByb2JvdG9zbGFiO1xyXG4gICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoI2ZmZiwgMjBweCwgY2FwaXRhbGl6ZSwgY2VudGVyKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NoYXItdGFiLWJnLnBuZykgbm8tcmVwZWF0IDAgMC8xMDAlIDEwMCU7XHJcbiAgICAgICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMnB4ICM2NjY7XHJcbiAgICAgICAgJi5hY3RpdmUsXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTIwJSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBbY2xhc3MqPSdjaGFyYWN0ZXItc3dpcGVyLW5hdiddIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcblxyXG5cclxuICAmLXN3aXBlci1uYXYge1xyXG4gICAgcGFkZGluZzogNTBweCAwcHg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTAwcHg7XHJcbiAgICByaWdodDogMHB4O1xyXG4gICAgei1pbmRleDogMztcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHdpZHRoOiAxMXB4O1xyXG4gICAgICBoZWlnaHQ6IDUwcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY2hhci1uYXYtbGluZS5wbmcpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xyXG4gICAgfVxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICB3aWR0aDogMTFweDtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2NoYXItbmF2LWxpbmUucG5nKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcclxuICAgICAgei1pbmRleDogMjtcclxuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCA1cHggNTAlKTtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xyXG5cclxuICAgIH1cclxuICAgIC5zd2lwZXItc2xpZGUge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgbWFyZ2luLXRvcDogLTdweDtcclxuICAgICAgaW1nIHtcclxuICAgICAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDcwJSk7XHJcbiAgICAgICAgLyogU2FmYXJpIDYuMCAtIDkuMCAqL1xyXG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDcwJSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5zd2lwZXItc2xpZGU6aG92ZXIsXHJcbiAgICAuc3dpcGVyLXNsaWRlLXRodW1iLWFjdGl2ZSB7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgwJSk7XHJcbiAgICAgICAgLyogU2FmYXJpIDYuMCAtIDkuMCAqL1xyXG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG5cclxuICAmLWJsb2NrIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbjogMHB4IGF1dG8gMHB4O1xyXG4gICAgLnN3aXBlci1zbGlkZS1hY3RpdmUge1xyXG4gICAgICAuY2hhcmFjdGVyLWNvbnRlbnQge1xyXG4gICAgICAgIC8vIGFuaW1hdGlvbjogbGlnaHRTcGVlZEluTGVmdCAwLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIC8vIC13ZWJraXQtYW5pbWF0aW9uOiBsaWdodFNwZWVkSW5MZWZ0IDAuNXMgZWFzZS1pbi1vdXQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY2hhcmFjdGVyLWNvbnRlbnQge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xyXG4gICAgICAuY2hhcmFjdGVyLWluZm8ge1xyXG4gICAgICAgIHdpZHRoOiA0NzFweDtcclxuICAgICAgICBoZWlnaHQ6IDMwNXB4O1xyXG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAzMDBweCBudWxsIG51bGwgMjUwcHgpO1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvY2hhci1pbmZvLWJnLnBuZykgbm8tcmVwZWF0IDAgMDtcclxuICAgICAgICBwYWRkaW5nOiAxMHB4IDMwcHggMzBweDtcclxuICAgICAgICBAaW5jbHVkZSBzY3JvbGwtYmFyKCM0NDMxMjgsICNiY2I0YTkpO1xyXG4gICAgICAgIC5jaGFyYWN0ZXItbmFtZSB7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogJ2Z6X2VkZ2Utb2YtdGhlLWdhbGF4eS1wb3N0ZXInO1xyXG4gICAgICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjNGU0MzJkLCA1OHB4LCBjYXBpdGFsaXplKTtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAubm90ZSB7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCMzOTUxNzMsIDE2cHgsIGNhcGl0YWxpemUpO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XHJcbiAgICAgICAgICBtYXJnaW46IDAgMCA0MHB4IDA7XHJcbiAgICAgICAgICBoZWlnaHQ6IDgwcHg7XHJcbiAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMnB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtM3B4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLmxhYmVsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCMzOTUxNzMsIDE2cHgsIG51bGwsICRmb250V2VpZ2h0OiBib2xkKTtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xyXG4gICAgICAgICAgICAvLyB3aWR0aDogNzBweDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgICAuaW50cm8ge1xyXG4gICAgICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjM2QyYTIyLCAxOHB4KTtcclxuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgICAgIC8vIGxpbmUtaGVpZ2h0OiAxLjM7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLSBEYWMgc2FjIC0tLSovXHJcbi5zZWN0aW9uLTMge1xyXG4gIC5zZWN0aW9uLXRpdGxlIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbn1cclxuLmRhY3NhYyB7XHJcbiAgd2lkdGg6IDg1MnB4O1xyXG4gIGhlaWdodDogNTI0cHg7XHJcbiAgbWFyZ2luOiAtMTBweCBhdXRvIDgwcHg7XHJcbiAgcGFkZGluZzogNDlweCAzMXB4IDM1cHggNTNweDtcclxuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RhY3NhYy1iZy5wbmcpIG5vLXJlcGVhdCAwIDEwMCU7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICY6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB3aWR0aDogMzcwcHg7XHJcbiAgICBoZWlnaHQ6IDY1cHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3J1YmFuZy5wbmcpIG5vLXJlcGVhdCAwIDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBsZWZ0OiA5MHB4O1xyXG4gICAgei1pbmRleDogMjtcclxuICB9XHJcbiAgJi1wcmV2IHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA0NSUgbnVsbCBudWxsIC05MHB4KTtcclxuICAgIHotaW5kZXg6IDM7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDEyMCUpO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLW5leHQge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDQ1JSAtOTBweCBudWxsIG51bGwpO1xyXG4gICAgei1pbmRleDogMztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTIwJSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5zd2lwZXItcGFnaW5hdGlvbiB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBib3R0b206IC00MHB4O1xyXG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldCB7XHJcbiAgICAgIHdpZHRoOiAyOHB4O1xyXG4gICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZGFjc2FjLXBhZ2luZy5wbmcpIG5vLXJlcGVhdCAwIDA7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIG1hcmdpbjogNXB4O1xyXG4gICAgfVxyXG4gICAgLnN3aXBlci1wYWdpbmF0aW9uLWJ1bGxldC1hY3RpdmUge1xyXG4gICAgICB3aWR0aDogMjhweDtcclxuICAgICAgaGVpZ2h0OiAyOHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL2RhY3NhYy1wYWdpbmctaG92ZXIucG5nKSBuby1yZXBlYXQgMCAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJ1dHRvbnMtZm9vdGVyIHtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIGJhY2tncm91bmQ6ICMyMDFjMzE7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcclxuICBAaW5jbHVkZSBtcS1tYXgoNzY4cHgpIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgfVxyXG59XHJcblxyXG4uZmxvYXRpbmcge1xyXG4gIHdpZHRoOiAxOTdweDtcclxuICBoZWlnaHQ6IDM0NnB4O1xyXG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCA1MCUgMHB4IG51bGwgbnVsbCk7XHJcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9mbG9hdGluZy1iZy5wbmcpIG5vLXJlcGVhdDtcclxuICB6LWluZGV4OiAxMDtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XHJcbiAgcGFkZGluZzogNzBweCAwIDAgMHB4O1xyXG4gIGEge1xyXG4gICAgZm9udC1mYW1pbHk6IHJvYm90b3NsYWI7XHJcbiAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCM2OTRmMzIsIDE0cHgsIHVwcGVyY2FzZSwgY2VudGVyKTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9mbG9hdGluZy1saW5lLnBuZykgbm8tcmVwZWF0IGNlbnRlciBib3R0b207XHJcbiAgICBwYWRkaW5nOiAwIDAgMHB4O1xyXG4gICAgbWFyZ2luOiAwIDAgMXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XHJcbiAgICBoZWlnaHQ6IDI5cHg7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgY29sb3I6ICNmZmZiZWU7XHJcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvZmxvYXRpbmctaG92ZXIuanBnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcclxuICAgIH1cclxuICAgICYuZmxvYXRpbmctdG9wIHtcclxuICAgICAgbWFyZ2luLXRvcDogNTVweDtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi8qLS0tIFN1YiBwYWdlIC0tLSovXHJcbi5tYWluLWNvbnRlbnQge1xyXG4gIHBhZGRpbmc6IDAgODBweCAyMHB4O1xyXG4gIG1hcmdpbjogMHB4IDAgMTIwcHg7XHJcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9tYWluY29udGVudC10b3AuanBnKSBuby1yZXBlYXQgdG9wIGNlbnRlcixcclxuICB1cmwoLi4vaW1hZ2VzL21haW5jb250ZW50LWJvdHRvbS5qcGcpIG5vLXJlcGVhdCBib3R0b20gY2VudGVyLFxyXG4gIHVybCguLi9pbWFnZXMvbWFpbmNvbnRlbnQtbG9vcC5qcGcpIHJlcGVhdC15IGNlbnRlciBjZW50ZXI7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHotaW5kZXg6IDE7XHJcbiAgXHJcbiAgLm5ld3MtbGlzdCB7XHJcbiAgICBsaSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIHBhZGRpbmc6IDAgMCAxMHB4IDA7XHJcbiAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjOTA4MDcwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICAuaGlnaGxpZ2h0IHtcclxuICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgLm5ld3MtZGVzIHtcclxuICAgICAgICBjb2xvcjogIzM1MzUzYztcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogI2I0ODMwMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpiZWZvcmUsXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBcclxuICAgICAgLm5ld3MtdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiAjYjQ4MzAwO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjM1cHgpO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5uZXdzLXRpbWUge1xyXG4gICAgICAgICAgY29sb3I6ICNiNDgzMDA7XHJcbiAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgY29sb3I6ICNjZWE4NjE7XHJcbiAgICAgICAgICAubmV3cy10aW1lIHtcclxuICAgICAgICAgICAgY29sb3I6ICNjZWE4NjE7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbi5zdGF0aWMge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcGFkZGluZzogMDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAwcHggMHB4IDUwcHg7XHJcbiAgcGFkZGluZzogN3B4IDAgMCAwO1xyXG4gIC5pY29uLXN0YXRpYyB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gIH1cclxuXHJcbiAgLmljb24taG9tZSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMTVweDtcclxuICAgIGhlaWdodDogMTFweDtcclxuICAgIG1hcmdpbjogMCA1cHggMCAwO1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9pY29uLWhvbWUucG5nKSBuby1yZXBlYXQ7XHJcbiAgfVxyXG5cclxuICBoMiB7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGNvbG9yOiAjZDdjNmI4O1xyXG4gICAgbWFyZ2luOiAxMHB4IDAgMnB4IDVweDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG5cclxufVxyXG4uYnJlYWRjcnVtYi0tbWFpbiB7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGNvbG9yOiAjZDdjNmI4O1xyXG5cclxuICBhIHtcclxuICAgIGNvbG9yOiAjZDdjNmI4O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAjZmZlNTk0O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnJlbGF0aXZlIHtcclxuICBwYWRkaW5nLXRvcDogOXB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgJi10aXRsZSBhIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luOiAwIDAgMTBweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNkN2M2YjgsIDE4cHgsIHVwcGVyY2FzZSwgbGVmdCwgYm9sZCk7XHJcbiAgICBAaW5jbHVkZSBlZmZlY3QtZ3JhZGllbnQtbGluZWFyKDkwZGVnLCAjMzkyODFmLCAjMzkyODFmKTtcclxuXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzVweDtcclxuICAgICAgY29udGVudDogXCJcXDAwMmJcIjtcclxuICAgICAgZm9udC1mYW1pbHk6ICdHbHlwaGljb25zSGFsZmxpbmdzJztcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IC0zcHg7XHJcbiAgICAgIHJpZ2h0OiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogI2ZjZjBiYztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsLnJlbGF0aXZlLWxpc3Qge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiA1cHggMHB4IDA7XHJcbiAgICBtYXJnaW46IDAgMCAwIDIwcHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzY5NWI0ZDtcclxuICAgICAgcGFkZGluZzogMTJweCAwIDEwcHggNXB4O1xyXG4gICAgICAvLyBtYXJnaW4tbGVmdDogMjBweDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAvLyBsaXN0LXN0eWxlOiBkaXNjO1xyXG5cclxuICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBjb2xvcjogIzM1MzUzYztcclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogI2I0ODMwMDtcclxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlKDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmRhdGUge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoIzM1MzUzYywgMTRweCk7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmJveHNlYXJjaCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogNTAlO1xyXG4gIHJpZ2h0OiAwcHg7XHJcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xyXG4gIHotaW5kZXg6IDI7XHJcbiAgYmFja2dyb3VuZDogIzExMTExMTtcclxuICBib3JkZXI6IDFweCBzb2xpZCAjNjU2MDVmO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgd2lkdGg6IDE4MHB4O1xyXG4gIGZpZWxkc2V0IHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIHBhZGRpbmc6IDVweDtcclxuICB9XHJcbiAgLmJnc2VhcmNoIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgd2lkdGg6IDEzNXB4O1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgcGFkZGluZzogM3B4IDlweDtcclxuICAgIGNvbG9yOiAjOWRhM2MwO1xyXG4gIH1cclxuXHJcbiAgLmJ0c2VhcmNoIHtcclxuICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbi1zZWFyY2gucG5nKSBuby1yZXBlYXQgMCAwO1xyXG4gICAgd2lkdGg6IDE1cHg7XHJcbiAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMTBweDtcclxuICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLyogUGFnaW5nICovXHJcbi5wYWdpbmcge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBwYWRkaW5nLWJvdHRvbTogMjVweDtcclxufVxyXG51bC5wYWdlX19saXN0IHtcclxuICBwYWRkaW5nOiAyMHB4IDAgMCAhaW1wb3J0YW50O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBsaSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDAgMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcclxuXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6ICNjZWE4NjEgIWltcG9ydGFudDtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NlYTg2MTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTBweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcblxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWE4NjE7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NlYTg2MTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5kaXNhYmxlLFxyXG4gICAgICAmOmhvdmVyIC5kaXNhYmxlIHtcclxuICAgICAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzYzNjM2MztcclxuICAgICAgICBjb2xvcjogIzYzNjM2MyAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi5hY3RpdmUgYSB7XHJcbiAgICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjZWE4NjE7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjZWE4NjE7XHJcbiAgICB9XHJcblxyXG4gICAgJi5wcmV2IGEsXHJcbiAgICAmLm5leHQgYSB7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICB3aWR0aDogMjZweDtcclxuICAgICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgICBtYXJnaW46IC0ycHggMCAwIDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vKi0tLSBQb3B1cCAtLS0qL1xyXG4ucG9wdXAge1xyXG4gIG9wYWNpdHk6IDA7ICBcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuICB6LWluZGV4OiAxMDAxO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XHJcbiAgLnBvcHVwLWJnIHtcclxuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcclxuICB9XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAvLyBhbmltYXRpb246IGdyb3dJbiAwLjVzIGVhc2UtaW4tb3V0O1xyXG4gICAgLy8gLXdlYmtpdC1hbmltYXRpb246IGdyb3dJbiAwLjVzIGVhc2UtaW4tb3V0O1xyXG4gIH1cclxuICAmLWNsb3NlIHtcclxuICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHJpZ2h0OiAtMjBweDtcclxuICAgIHRvcDogLTIwcHg7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgZmlsdGVyOiBicmlnaHRuZXNzKDE1MCUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi1jb250ZW50IHtcclxuICAgIHotaW5kZXg6IDI7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICB9XHJcbiAgJi5hY3RpdmUgICYtY29udGVudCB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcclxuICB9XHJcbn1cclxuXHJcbi5wb3B1cC1naWZ0Y29kZSB7XHJcbiAgd2lkdGg6IDY4MHB4O1xyXG4gIGhlaWdodDogNTAwcHg7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvcG9wdXAtYmcucG5nKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlci8xMDAlIDEwMCU7XHJcbiAgLy8gYm9yZGVyOiBzb2xpZCAzcHggI2M3Yjc4MDtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgcGFkZGluZzogMTc2cHggMTYwcHggMDtcclxuICBjb2xvcjogIzMzMzMzMztcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgLy8gQGluY2x1ZGUgbXEtbWF4KDY0MHB4KSB7XHJcbiAgLy8gICBtYXgtd2lkdGg6IDkwJTtcclxuICAvLyAgIGhlaWdodDogNjQwcHg7XHJcbiAgLy8gfVxyXG4gIFxyXG4gIC5wb3B1cC10aXRsZSB7XHJcbiAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCMzZDJhMjIsIDI0cHgsIG5vcm1hbCwgY2VudGVyKTtcclxuICAgIC8vIGZvbnQtZmFtaWx5OiAncm9ib3Rvc2xhYi1yZWd1bGFyJztcclxuICAgIG1hcmdpbjogMCAwIDEwcHg7XHJcbiAgICBAaW5jbHVkZSBmb250LXNpemUoMjVweCk7XHJcbiAgfVxyXG4gIC52YWx1ZSB7XHJcbiAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICAvLyBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1hZ2VzL3BvcHVwLXZhbHVlLWJnLnBuZykgbm8tcmVwZWF0IDAgMC8xMDAlIDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMmExZjFiO1xyXG4gICAgd2lkdGg6IDkwJTtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgXHJcbiAgICBcclxuICB9XHJcbn1cclxuXHJcblxyXG4udmFvZ2FtZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIG51bGwgbnVsbCAyMHB4IDIwcHgpO1xyXG4gIHotaW5kZXg6IDEwMDI7XHJcbn1cclxuXHJcbi8vIC5iZ292ZXIge1xyXG4vLyAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcclxuLy8gICBwb3NpdGlvbjogZml4ZWQ7XHJcbi8vICAgd2lkdGg6IDEwMCU7XHJcbi8vICAgaGVpZ2h0OiAxMDAlO1xyXG4vLyAgIHotaW5kZXg6IDEwMDtcclxuLy8gICBsZWZ0OiAwO1xyXG4vLyAgIHRvcDogMDtcclxuLy8gICByaWdodDogMDtcclxuLy8gICBib3R0b206IDA7XHJcbi8vIH1cclxuXHJcblxyXG5cclxuLyotLS0gTkFWIFBBR0UgU0VSVkVSIC0tLSovXHJcbi5zZXJ2ZXItbmF2IHtcclxuICB3aWR0aDogNzM2cHg7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgbWFyZ2luOiAwIDAgNDBweCAtNjVweDtcclxuICBsaSB7XHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHdpZHRoOiAxNDBweDtcclxuICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogNDVweDtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2ZXItbmF2LWJnLnBuZykgbm8tcmVwZWF0IDAgMDtcclxuICAgICAgZm9udC1mYW1pbHk6IHJvYm90b3NsYWI7XHJcbiAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoIzAwMDAwMCwgMThweCwgY2FwaXRhbGl6ZSwgY2VudGVyKTtcclxuICAgICAgLy8gdGV4dC1zaGFkb3c6IDFweCAxcHggMnB4ICMxODE2MTM7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMjAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4vKi0tLSBTZXJ2ZXIgbGlzdCAtLS0qL1xyXG4uc2VydmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBtaW4taGVpZ2h0OiA3MTBweDtcclxuICB3aWR0aDogNzM2cHg7XHJcbiAgaGVpZ2h0OiA5MDBweDtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgbWFyZ2luOiA5MHB4IGF1dG87XHJcbiAgcGFkZGluZzogMCA2NXB4O1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvc2VydmVyLWxpc3QtYmcucG5nKSBuby1yZXBlYXQgMCA2OHB4O1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNSUpO1xyXG4gIC5oZWFkaW5nIHtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbjogMHB4IDAgMCAwO1xyXG4gIH1cclxuICAmLXN1YiB7XHJcbiAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKG51bGwsIDE4cHgsIG51bGwsIGNlbnRlcik7XHJcbiAgICBmb250LWZhbWlseTogcm9ib3Rvc2xhYjtcclxuICAgIEBpbmNsdWRlIHRleHQtZ3JhZGllbnQoMGRlZywgIzcyNDcxOCwgIzRiMmYxMCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gIH1cclxuICAubG9naW4ge1xyXG4gICAgd2lkdGg6IDU5NXB4O1xyXG4gICAgaGVpZ2h0OiAxMzBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGNvbG9yOiAjZmZmNmQ1O1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMDtcclxuICAgIHBhZGRpbmc6IDAgNjVweDtcclxuICAgIC5mb3Jnb3QtcGFzcyB7XHJcbiAgICAgIG1hcmdpbi10b3A6IC0zNXB4O1xyXG4gICAgICAmLWxpbmsge1xyXG4gICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoI2ZmZjZkNSwgMTJweCk7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogI2ZmMDQwMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgICYtZm9ybSB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgfVxyXG4gICAgYSB7XHJcbiAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoI2ZmMDQwMCwgMTJweCk7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5ib3gtaW5wdXQge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcclxuICAgICAgd2lkdGg6IDM0MHB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgXHJcblxyXG4gIC5sb2dpbi1mb3JtLWlucHV0IHtcclxuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICB3aWR0aDogMTYwcHg7XHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjMmIyMDFhO1xyXG4gICAgcGFkZGluZzogNXB4O1xyXG4gICAgaGVpZ2h0OiAyN3B4O1xyXG4gICAgY29sb3I6ICMyYjIwMWE7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgfVxyXG5cclxuICAuZXJyb3Ige1xyXG4gICAgY29sb3I6ICNmZjA0MDA7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgfVxyXG5cclxuICAuZm9ybS1zdWJtaXQge1xyXG4gICAgd2lkdGg6IDExNHB4O1xyXG4gICAgaGVpZ2h0OiA4N3B4O1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9kYW5nbmhhcC1idG4tMi5qcGcpO1xyXG4gICAgZm9udC1zaXplOiAwO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcclxuICAgIH1cclxuICB9XHJcbiAgLnNvY2lhbC1idG4ge1xyXG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDYwcHggMjAwcHggbnVsbCBudWxsKTtcclxuICAgIGE6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDdweDtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuXHJcbiAgLmxvZ2dlZCB7XHJcbiAgICB3aWR0aDogNTk1cHg7XHJcbiAgICBoZWlnaHQ6IDEzMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY29sb3I6ICNkN2M2Yjg7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBtYXJnaW46IDI1cHggYXV0byAwO1xyXG4gICAgcGFkZGluZzogMCA2NXB4O1xyXG4gICAgXHJcbiAgICBwIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBwYWRkaW5nOiAwIDAgMnB4O1xyXG4gICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIFxyXG4gICAgfVxyXG4gICAgXHJcbiAgICAudXNlcm5hbWUge1xyXG4gICAgICB3aWR0aDogMjAwcHg7XHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgcGFkZGluZzogMCAwIDAgMTBweDtcclxuICAgICAgQGluY2x1ZGUgdGV4dC1kZWNvcigjZjE5NDVhLCAxNHB4LCBudWxsLCBudWxsLCBib2xkKTtcclxuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICB9XHJcbiAgICAudGV4dC1jZW50ZXIge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG4gICAgLmxvZ291dCB7ICAgICAgXHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgcGFkZGluZzogMCAxMHB4O1xyXG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNkN2M2YjgsIDE0cHgsIG51bGwsIG51bGwsIGJvbGQpO1xyXG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuc2VydmVyLXBsYXktcmVjZW50IHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBhIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogMTEwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoI2ZmZmJlZSwgMThweCwgbnVsbCwgY2VudGVyLCBib2xkKTtcclxuICAgICAgICB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggIzMzMzMzMztcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjMjY1ODQ1O1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogI2E2Nzg0NDtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDVweCAjZmZlN2I0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH1cclxuICAgIC5zZXJ2ZXItcHJldiB7XHJcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MHB4IG51bGwgbnVsbCA0MHB4KTtcclxuICAgIH1cclxuICAgIC5zZXJ2ZXItbmV4dCB7XHJcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MHB4IDQ1cHggbnVsbCBudWxsKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyAuc2VydmVyLW5ldyB7XHJcbiAgICAvLyAgIGJhY2tncm91bmQ6ICNmZmY7XHJcbiAgICAvLyAgIEBpbmNsdWRlIHRleHQtZGVjb3IoIzNkMmEyMiwgMTRweCwgdXBwZXJjYXNlLCBjZW50ZXIsIGJvbGQpO1xyXG4gICAgLy8gICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgIC8vICAgaGVpZ2h0OiAyNnB4O1xyXG4gICAgLy8gICB3aWR0aDogMTAwJTtcclxuICAgIC8vICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAvLyAgIG1hcmdpbjogMCBhdXRvIDVweDtcclxuICAgIC8vICAgJjpiZWZvcmUge1xyXG4gICAgLy8gICAgIGNvbnRlbnQ6ICdORVcnO1xyXG4gICAgLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIC8vICAgICB0b3A6IDJweDtcclxuICAgIC8vICAgICBsZWZ0OiA1cHg7XHJcbiAgICAvLyAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgLy8gICAgIGNvbG9yOiAjZmU2MzZkO1xyXG4gICAgLy8gICB9XHJcbiAgICAvLyB9XHJcblxyXG4gICAgXHJcbiAgfVxyXG5cclxuICAuc2VydmVyLWdyb3VwIHtcclxuICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoIzRiMmYxMCwgMTJweCk7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgcGFkZGluZzogMCAzMHB4O1xyXG4gICAgZGl2IHtcclxuICAgICAgd2lkdGg6IDY1JTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgc3BhbiB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBidXR0b24ge1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2ZXItY2hvaW5nYXktYnRuLnBuZykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIHdpZHRoOiA4M3B4O1xyXG4gICAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLnNlcnZlci1jdXJyZW50IHtcclxuICAgICAgd2lkdGg6IDEzNXB4O1xyXG4gICAgICBoZWlnaHQ6IDI2cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG4gICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCMzZDJhMjIsIDE0cHgsIHVwcGVyY2FzZSwgY2VudGVyLCBib2xkKTtcclxuICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICAgIC5uaWNlLXNlbGVjdCB7XHJcbiAgICAgIGhlaWdodDogMjZweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgY29sb3I6ICMzZDJhMjI7XHJcblxyXG4gICAgfVxyXG4gICAgLm5pY2Utc2VsZWN0Lm9wZW4gLmxpc3Qge1xyXG4gICAgICBoZWlnaHQ6IDMwMHB4O1xyXG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAub3B0aW9uIHtcclxuICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzU4M2YzZjtcclxuICAgICAgfVxyXG4gICAgICAub3B0aW9uOmhvdmVyLFxyXG4gICAgICAub3B0aW9uLmZvY3VzLFxyXG4gICAgICAub3B0aW9uLnNlbGVjdGVkLmZvY3VzIHtcclxuICAgICAgICBcclxuICAgICAgICBjb2xvcjogI2ZmZmJlZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiAjYTc5NTcwO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2VydmVyLWhvdCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDBweCBhdXRvIDQwcHg7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgICBhIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB3aWR0aDogMjY2cHg7XHJcbiAgICAgIGhlaWdodDogNTZweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDU2cHg7XHJcbiAgICAgIG1hcmdpbjogMCA1cHg7XHJcbiAgICAgIEBpbmNsdWRlIHRleHQtZGVjb3IoI2ZlZmZmZiwgMzBweCwgY2FwaXRhbGl6ZSwgY2VudGVyLCBib2xkKTtcclxuICAgICAgLy8gZm9udC1mYW1pbHk6ICd1dm50aGFuaHBob19iJztcclxuICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2ZXJtb2ktYmcuanBnKSBuby1yZXBlYXQ7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgLy8gYmFja2dyb3VuZDogdXJsKC4uL2ltYWdlcy9zZXJ2ZXItYmctaG92ZXItMi5wbmcpIG5vLXJlcGVhdDtcclxuICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTIwJSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIC5uZXcge1xyXG4gICAgICAvLyAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgLy8gICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgIC8vICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMjBweCwgLTEwcHgpO1xyXG4gICAgICAvLyAgIGNvbG9yOiAjZTUxYjAwO1xyXG4gICAgICAvLyAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIC8vIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIFxyXG4gICYtbGlzdCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBtYXJnaW46IDE1cHggYXV0byAwO1xyXG4gICAgcGFkZGluZzogMCAyOHB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIGhlaWdodDogMzAwcHg7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgQGluY2x1ZGUgc2Nyb2xsLWJhcigjYWE5YTc2ICwgIzRlNGE0MCwgM3B4KTtcclxuICAgIGxpIHtcclxuICAgICAgbWFyZ2luOiAwIDNweCAzcHggMDtcclxuICAgICAgXHJcbiAgICAgIGEge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiAxNzhweDtcclxuICAgICAgICBoZWlnaHQ6IDM4cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM4cHg7XHJcbiAgICAgICAgYmFja2dyb3VuZDogI2E2Nzg0NDtcclxuICAgICAgICBAaW5jbHVkZSB0ZXh0LWRlY29yKCNmZmZiZWUsIDEycHgsIHVwcGVyY2FzZSwgY2VudGVyKTtcclxuICAgICAgICBmb250LWZhbWlseTogJ1NGLUJvbGQnO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDJweCAjMzMzMzMzO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogIzI2NTg0NTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIkZm9vdGVyLWNvbG9yOiAjN2E3YTdhO1xyXG5cclxuLmZvb3RlciB7XHJcbiAgY29sb3I6ICRmb290ZXItY29sb3I7XHJcbiAgQGluY2x1ZGUgcGFkZGluZygyMHB4IDAgMTBweCk7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJhY2tncm91bmQ6ICMxOTE5MTk7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gICYtaXRlbSB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbGkge1xyXG4gICAgICBjb2xvcjogJGZvb3Rlci1jb2xvcjtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBhIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgcGFkZGluZzogMCA4cHg7XHJcbiAgICAgICAgXHJcbiAgICAgICAgJjpob3ZlcixcclxuICAgICAgICAmOmZvY3VzIHtcclxuICAgICAgICAgIGNvbG9yOiAjZjAzMjAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBhIHtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgcGFkZGluZzogMCA4cHg7XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIGNvbG9yOiAjZjAzMjAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAuY21uLW5hbWUge1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICB9XHJcbiAgLmNvcHlyaWdodCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgY29sb3I6ICRmb290ZXItY29sb3I7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggMDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICB9XHJcbiAgLmltZzE4IHtcclxuICAgIC8vIGhlaWdodDogMTAwJTtcclxuICAgIG1hcmdpbjogMCAxMHB4O1xyXG4gIH1cclxuXHJcbiAgLmNtbiB7XHJcbiAgICBcclxuICB9XHJcbiAgLmFkZHJlc3Mge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwIDEwJTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB9XHJcbn0iXX0= */
