@charset "UTF-8";
/**
 * Breakpoints
 */
/**
 * Input capabilities
 */
/********************************************************
* Touch devices
********************************************************/
body {
  visibility: inherit;
}

.col, .col * {
  visibility: hidden;
}

body.col-ready .col:after {
  display: none;
}

body.col-ready .col, body.col-ready .col * {
  visibility: visible;
}

body:not(.col-ready) .col {
  width: 100%;
}

body:not(.fullscreen) .col {
  position: relative;
}

.col::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -30px;
  margin-left: -30px;
  width: 50px;
  height: 50px;
  border-radius: 50px;
  border: 5px solid rgba(0, 0, 0, 0.25);
  border-top-color: black;
  animation: loading 1s ease infinite;
}

@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.col:after {
  visibility: visible;
}

.left.col {
  float: left;
}

.left.col .narrow.box {
  max-width: 536px;
}

.right.col {
  float: left;
  width: 376px;
}

.box[data-col-dual="right"] {
  padding-top: 4px;
}

body.col-single [data-role="button"]:not(.non-responsive) {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  color: #333 !important;
  background: #eee;
  border-color: #ddd;
  border-width: 1px;
  border-style: solid;
  border-radius: 5px;
  margin: .5em 0;
  padding: .7em 1em;
  display: inline-block;
  position: relative;
  overflow: hidden;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  text-align: center;
  text-overflow: ellipsis;
  text-decoration: none;
  font-weight: bold;
  font-size: 16px;
}

body.col-single [data-role="button"]:not(.non-responsive):hover, body.col-single [data-role="button"]:not(.non-responsive):active {
  background: #e8f0ff;
}

body.col-single [data-role="button"]:not(.non-responsive)[data-icon] {
  padding-left: 32px;
  padding-right: 8px;
}

body.col-single [data-role="button"]:not(.non-responsive)[data-icon] i {
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  left: 8px;
}

body.col-single [data-role="button"]:not(.non-responsive).green {
  background: linear-gradient(to bottom, #8ddda0 0%, #3ddb8c 50%, #8ddda0 100%);
  border-color: #2b6b37;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

body.col-single [data-role="button"]:not(.non-responsive).green:hover, body.col-single [data-role="button"]:not(.non-responsive).green:active {
  background: linear-gradient(to bottom, #dcf4e1 0%, #3ddb8c 50%, #dcf4e1 100%);
}

body.col-single [data-role="button"]:not(.non-responsive).blue {
  background: linear-gradient(to bottom, #8dc0dd 0%, #3dacdb 50%, #8dc0dd 100%);
  border-color: #126167;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

body.col-single [data-role="button"]:not(.non-responsive).blue:hover, body.col-single [data-role="button"]:not(.non-responsive).blue:active {
  background: linear-gradient(to bottom, #dce1f4 0%, #6eaceb 50%, #dce1f4 100%);
}

body.col-single [data-role="listview"]:not(.non-responsive) {
  background-color: #2f2f2f;
  border-radius: 4px;
  z-index: 0;
  position: relative;
  box-shadow: 4px 4px 4px #bbb;
  color: #eee;
  padding: 0 !important;
  list-style: none;
}

body.col-single [data-role="listview"]:not(.non-responsive), body.col-single [data-role="listview"]:not(.non-responsive) a {
  color: white;
}

body.col-single [data-role="listview"]:not(.non-responsive):before {
  content: '';
  position: absolute;
  width: 100%;
  height: 18px;
  left: 0;
  top: 0;
  background: linear-gradient(#717171, #424141);
  border-radius: 4px 4px 0 0;
  z-index: -1;
}

body.col-single [data-role="listview"]:not(.non-responsive):after {
  content: '';
  position: absolute;
  width: 100%;
  height: 18px;
  left: 0;
  top: 18px;
  background: linear-gradient(#404040, #2f2f2f);
  z-index: -1;
}

body.col-single [data-role="listview"]:not(.non-responsive) > * {
  z-index: 2;
}

body:not(.fullscreen) body.col-single [data-role="listview"]:not(.non-responsive) > * {
  position: relative;
}

body.col-single [data-role="listview"]:not(.non-responsive) a, body.col-single [data-role="listview"]:not(.non-responsive) strong {
  color: white;
}

body.col-single [data-role="listview"]:not(.non-responsive) h2 {
  border: none;
  margin: 0;
}

body.col-single [data-role="listview"]:not(.non-responsive) > li {
  display: block;
  position: relative;
  overflow: visible;
  margin: 0;
  padding: 8px 16px 8px 8px !important;
  list-style: none;
  font-weight: bold;
  border-color: #ddd;
  border-style: solid;
  border-width: 1px 1px 0 1px;
  font-size: 16px !important;
}

@media screen and (max-width: 37.49em) {
  body.col-single [data-role="listview"]:not(.non-responsive) > li {
    font-size: 14px !important;
  }
}

body.col-single [data-role="listview"]:not(.non-responsive) > li a {
  margin: 0;
  text-align: left;
  text-decoration: none;
  overflow: hidden;
  font-size: 16px !important;
}

@media screen and (max-width: 37.49em) {
  body.col-single [data-role="listview"]:not(.non-responsive) > li a {
    font-size: 14px !important;
  }
}

body.col-single [data-role="listview"]:not(.non-responsive) > li a:after {
  content: '>';
  position: absolute;
  right: 4px;
  font-size: 16px !important;
}

@media screen and (max-width: 37.49em) {
  body.col-single [data-role="listview"]:not(.non-responsive) > li a:after {
    font-size: 14px !important;
  }
}

body.col-single :not(.non-responsive):not([data-role]):not([role]) > li > a:only-child {
  padding: 8px 0;
  display: inline-block;
}

@media screen and (min-width: 46.25em) {
  body.col-single .right.col {
    width: calc(100% + 8px) !important;
    margin: 0 -4px;
  }
  body.col-single .right.col .box {
    width: calc(50% - 16px);
    margin: 0 8px;
  }
  body.col-single .right.col .box:nth-child(odd) {
    float: right;
  }
  body.col-single .right.col .box:nth-child(even) {
    float: left;
  }
}

body.col-single [data-role="listview"] {
  margin: 16px 0 0 0 !important;
}

body.col-single .left.col, body.col-single .right.col {
  width: 100%;
}

body.col-dual .left.col {
  width: 536px;
  margin-right: 16px;
}

.box {
  order: 100;
}

[data-role="listview"] > li {
  padding: 2px 0;
}

/******************************************************
* Promos
******************************************************/
.promo-container {
  margin: 0 auto;
  width: 100%;
  /******************************************************
* Slick Carousel default theme overrides
******************************************************/
}

.promo-container .slick-prev,
.promo-container .slick-next {
  z-index: 1;
  width: auto !important;
  height: auto !important;
}

.promo-container .slick-prev:before,
.promo-container .slick-next:before {
  background-color: black;
  border-radius: 20px;
}

.promo-container .slick-prev {
  left: 16px;
}

.promo-container .slick-prev:before {
  content: "\f104";
  font: 40px/1 'FontAwesome';
  padding: 0 16px 2px 12px;
}

.promo-container .slick-next {
  right: 16px;
  text-align: right;
}

.promo-container .slick-next:before {
  content: "\f105";
  font: 40px/1 'FontAwesome';
  padding: 0 12px 2px 16px;
}

.promo-container .slick-prev:hover:before,
.promo-container .slick-next:hover:before {
  color: #7e7e7e;
}

@media (pointer: coarse) and (hover: none) {
  .promo-container .slick-prev:hover:before,
  .promo-container .slick-next:hover:before {
    color: white;
    opacity: 0.75;
  }
}

@media screen and (max-width: 48.615em) {
  .promo-container .slick-prev:hover:before,
  .promo-container .slick-next:hover:before {
    color: white;
    opacity: 0.75;
  }
}

.promo-container .slick-list {
  margin: 0 -8px;
}

.promo-container .slick-slide {
  margin: 0 8px;
}

body:not(.fullscreen) .promo-container:not(.loaded), .promo-container:not(.displayed) {
  position: relative;
}

.promo-container:not(.loaded)::after, .promo-container:not(.displayed)::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -30px;
  margin-left: -30px;
  width: 50px;
  height: 50px;
  border-radius: 50px;
  border: 5px solid rgba(0, 0, 0, 0.25);
  border-top-color: black;
  animation: loading 1s ease infinite;
}

@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.promo-container:not(.displayed) .slick-arrow {
  display: none !important;
}

body:not(.col-ready) .promo-container .promo,
.promo-container:not(.loaded) .promo {
  display: none !important;
}

.promo-container .promos {
  padding: 8px 0 4px 0;
}

@media screen and (max-width: 22.75em) {
  .promo-container .promos {
    padding: 0;
  }
}

.promo-container .promo {
  position: relative;
  text-align: center;
}

.promo-container .promo .wrapper {
  display: inline-block;
  position: relative;
  left: -1px;
  border: 1px solid #999999;
}

.promo-container .promo img {
  box-shadow: 4px 4px 4px #bbb;
  margin: 0 auto;
  width: 100%;
}

.promo-container .promo .title, .promo-container .promo .message {
  position: absolute;
  width: 100%;
  left: 0;
}

.promo-container .promo .title h2, .promo-container .promo .title p, .promo-container .promo .message h2, .promo-container .promo .message p {
  color: white;
  margin: 0;
  z-index: 2;
  background-color: rgba(0, 0, 0, 0.5);
  text-shadow: 0 0 1px black;
}

.promo-container .promo .title {
  top: 0;
}

.promo-container .promo .title h2 {
  font-size: 14pt;
  border: none;
  padding: 2px;
}

.promo-container .promo .message {
  bottom: 0;
}

.promo-container .promo .message p {
  padding: 4px 0 4px 4px;
  font-size: 10pt;
  text-align: left;
}

/*****************************************************************
 Walk photos slideshow using lightgallery - walk leaf page
*****************************************************************/
/*
 * Lightgallery photo slideshow
 */
.lightgallery {
  position: relative;
}

.lightgallery.fullscreen {
  position: static !important;
}

.lightgallery.fullscreen .lightGallery-captions p {
  font-size: 16px !important;
}

.lightgallery:not(.fullscreen) .lg-next, .lightgallery:not(.fullscreen) .lg-prev {
  display: none;
}

.lightgallery .lightGallery-captions {
  position: relative;
  color: black !important;
  text-shadow: 0 0 1px rgba(0, 0, 0, 0.5);
}

.lightgallery .lightGallery-captions::before {
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
  border-radius: 4px;
  padding-bottom: 1px;
  background: white;
  opacity: 0.85;
}

body.col-dual #photos.lightgallery {
  width: 520px;
  height: 394px;
}

body.col-dual #photos.lightgallery:not(.fullscreen) .lg-container {
  width: 520px;
  height: 394px;
}

body.col-single #photos.lightgallery {
  width: auto;
  height: 0;
  padding-bottom: 75.7692307692%;
}

body.col-single #photos.lightgallery:not(.fullscreen) .lg-container {
  width: auto;
  height: 0;
  padding-bottom: 75.7692307692%;
}

#photos.lightgallery:after {
  display: none;
}

/*****************************************************************
 Walk location shown on outline map of Cornwall
*****************************************************************/
#outline-map {
  margin: 8px auto;
  position: relative;
  width: 320px;
  height: 320px;
}

#outline-map img {
  cursor: pointer;
}

#outline-map .indicator {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: red;
  box-shadow: 0 0 3px white;
  border: 1px solid white;
  transform: translate(-50%, -50%);
}

/******************************************************
* mystery walks banner above the title
******************************************************/
#sub-header {
  position: relative;
  filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.5));
}

#sub-header img {
  width: 100%;
  height: auto;
  border-radius: 0 0 4px 4px;
}

/******************************************************
* App promo
******************************************************/
/******************************************************
* App promo
******************************************************/
#app {
  background-color: #19424a;
  border-radius: 4px;
  z-index: 0;
  position: relative;
  /*
 * Responsive slideshow widget using Slick carousel
 */
  /******************************************************
* Slick Carousel default theme overrides
******************************************************/
  padding: 4px 0 0 0;
  margin-top: 16px;
}

#app, #app a {
  color: white;
}

#app:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 18px;
  left: 0;
  top: 0;
  background: linear-gradient(#126167, #19424a);
  border-radius: 4px 4px 0 0;
  z-index: -1;
}

#app:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 18px;
  left: 0;
  top: 18px;
  background: linear-gradient(#19424a, #19424a);
  z-index: -1;
}

#app > * {
  z-index: 2;
}

body:not(.fullscreen) #app > * {
  position: relative;
}

#app .slick-prev,
#app .slick-next {
  z-index: 1;
  width: auto !important;
  height: auto !important;
}

#app .slick-prev:before,
#app .slick-next:before {
  background-color: black;
  border-radius: 20px;
}

#app .slick-prev {
  left: 16px;
}

#app .slick-prev:before {
  content: "\f104";
  font: 40px/1 'FontAwesome';
  padding: 0 16px 2px 12px;
}

#app .slick-next {
  right: 16px;
  text-align: right;
}

#app .slick-next:before {
  content: "\f105";
  font: 40px/1 'FontAwesome';
  padding: 0 12px 2px 16px;
}

#app .slick-prev:hover:before,
#app .slick-next:hover:before {
  color: #7e7e7e;
}

@media (pointer: coarse) and (hover: none) {
  #app .slick-prev:hover:before,
  #app .slick-next:hover:before {
    color: white;
    opacity: 0.75;
  }
}

@media screen and (max-width: 48.615em) {
  #app .slick-prev:hover:before,
  #app .slick-next:hover:before {
    color: white;
    opacity: 0.75;
  }
}

#app .slideshow {
  margin: 0 auto 0 auto;
  width: 100%;
}

#app .slideshow:not(.initialised) .slide {
  display: none !important;
}

#app .slideshow:not(.initialised) .slide:first-child {
  display: block !important;
}

#app .slideshow.loading {
  width: 100%;
}

body:not(.fullscreen) #app .slideshow.loading {
  position: relative;
}

#app .slideshow.loading::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -30px;
  margin-left: -30px;
  width: 50px;
  height: 50px;
  border-radius: 50px;
  border: 5px solid rgba(255, 255, 255, 0.25);
  border-top-color: white;
  animation: loading 1s ease infinite;
}

@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

#app .slideshow.loading .caption {
  display: none !important;
}

#app .slideshow.loading .slide {
  visibility: hidden;
}

#app .slideshow.loading .slide:first-child .caption {
  display: block !important;
}

#app .slideshow.loading .slide img {
  display: none;
}

#app .slideshow.initialised:not(.loading) .wrapper:not(.evaluating) {
  position: relative;
}

#app .slideshow.initialised:not(.loading) .wrapper:not(.evaluating) .caption {
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
}

#app .slideshow .slide img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

#app .slideshow .slide .caption {
  font-family: "Coming Soon";
  color: #ddd;
  padding: 8px 16px;
  display: block;
  vertical-align: middle;
  font-size: 16pt;
}

@media screen and (max-width: 37.49em) {
  #app .slideshow .slide .caption {
    font-size: 12pt;
    line-height: 14pt;
  }
}

@media screen and (max-width: 59.99em) {
  #app {
    margin-top: 8px;
  }
}

#app .slideshow {
  background-color: #19424a;
}

#app .slideshow.loading {
  padding-top: 37.72%;
}

#app h2 {
  border-bottom: none;
  padding: 0 8px 8px 8px;
}

#app-ad {
  background-color: #19424a;
  border-radius: 4px;
  padding: 0 4px 8px 4px;
  border-radius: 0 0 4px 4px;
}

#app-ad, #app-ad a {
  color: white;
}

#app-ad .app-formats {
  display: table;
  margin: 0 auto;
  width: 100%;
}

@media screen and (min-width: 60em) {
  #app-ad .app-formats .app-button {
    display: none !important;
  }
}

@media screen and (max-width: 59.99em) {
  #app-ad .app-formats .text {
    display: none !important;
  }
}

@media screen and (min-width: 37.5em) and (max-width: 59.99em) {
  #app-ad .app-formats .icon {
    visibility: hidden;
  }
}

@media screen and (max-width: 37.49em) {
  #app-ad .app-formats {
    display: block;
    width: 100%;
  }
  #app-ad .app-formats .icon {
    display: none !important;
  }
}

#app-ad .app-formats > div.store-link {
  display: table-cell;
}

#app-ad .app-formats > div.store-link .inner {
  left: 50%;
  transform: translateX(-50%);
  position: relative;
  width: 98%;
  width: calc(100% - 12px);
  border-radius: 10px;
  display: table;
  table-layout: fixed;
}

@media screen and (min-width: 37.5em) {
  #app-ad .app-formats > div.store-link .inner {
    margin: 8px 0 0 0;
    padding: 8px 0 4px 0;
    border: 1px solid #aaaaaa;
  }
}

@media screen and (min-width: 37.5em) and (max-width: 59.99em) {
  #app-ad .app-formats > div.store-link .inner {
    position: relative;
  }
}

@media screen and (min-width: 37.5em) and (max-width: 46.24em) {
  #app-ad .app-formats > div.store-link .inner {
    padding: 4px 0 8px 0;
  }
}

@media screen and (min-width: 60em) {
  #app-ad .app-formats > div.store-link:hover {
    cursor: pointer;
  }
  #app-ad .app-formats > div.store-link:hover a {
    text-decoration: underline;
  }
}

#app-ad .app-formats > div.store-link.ios .icon {
  padding-left: 42px;
}

@media screen and (min-width: 46.25em) {
  #app-ad .app-formats > div.store-link.android .icon img {
    margin-left: 12px;
  }
}

#app-ad .app-formats > div.store-link.android .icon {
  padding-left: 24px !important;
}

#app-ad .app-formats > div.store-link .inner > div {
  display: table-cell;
  vertical-align: middle;
}

@media screen and (max-width: 46.24em) {
  #app-ad .app-formats > div.store-link .inner > div {
    display: block;
  }
}

#app-ad .app-formats > div.store-link .inner > div.icon {
  text-align: left;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-right: 16px;
}

@media screen and (max-width: 59.99em) {
  #app-ad .app-formats > div.store-link .inner > div.icon {
    display: none;
  }
}

#app-ad .app-formats > div.store-link .inner > div.text {
  text-align: center;
  font-size: 17px;
  font-variant: small-caps;
  color: white;
}

#app-ad .app-formats > div.store-link .inner > div.text a {
  color: white;
  text-decoration: none;
}

#app-ad .app-formats > div.store-link .inner > div.qr {
  text-align: right;
  padding-left: 18px;
  padding-right: 8px;
}

@media screen and (max-width: 46.24em) {
  #app-ad .app-formats > div.store-link .inner > div.qr {
    text-align: center;
  }
}

@media screen and (max-width: 37.49em) {
  #app-ad .app-formats > div.store-link .inner > div.qr {
    display: none !important;
  }
}

#app-ad .app-formats > div.store-link .inner > div.qr img {
  max-width: 100px;
}

@media screen and (max-width: 59.99em) {
  #app-ad .app-formats > div.store-link .inner > div.qr img {
    width: 100%;
  }
}

@media screen and (min-width: 46.25em) and (max-width: 59.99em) {
  #app-ad .app-formats > div.store-link .inner > div.app-button {
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    left: 8px;
    text-align: left;
  }
}

@media screen and (max-width: 46.24em) {
  #app-ad .app-formats > div.store-link .inner > div.app-button {
    text-align: center;
  }
}

#app-ad .app-formats > div.store-link .inner > div.app-button a {
  padding-left: 42px;
}

@media screen and (max-width: 37.49em) {
  #app-ad .app-formats > div.store-link .inner > div.app-button a {
    margin: 12px 0 0 0;
  }
}

#app-ad:before {
  border-radius: 0;
}

/*****************************************************************
 Locations
*****************************************************************/
#locations {
  background-color: #19424a;
  border-radius: 4px;
  z-index: 0;
  position: relative;
  padding: 8px;
  margin-bottom: 8px;
}

#locations, #locations a {
  color: white;
}

#locations:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 18px;
  left: 0;
  top: 0;
  background: linear-gradient(#126167, #19424a);
  border-radius: 4px 4px 0 0;
  z-index: -1;
}

#locations:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 18px;
  left: 0;
  top: 18px;
  background: linear-gradient(#19424a, #19424a);
  z-index: -1;
}

#locations > * {
  z-index: 2;
}

body:not(.fullscreen) #locations > * {
  position: relative;
}

#locations h2 {
  border: 0;
  margin-bottom: 8px;
}

#locations ul {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

#locations li {
  display: inline;
}

#locations li:not(:last-child)::after {
  content: " • ";
  /* Unicode dot separator */
  margin: 0 8px;
  /* Adjust spacing */
}

/*****************************************************************
 Box layout
*****************************************************************/
.box {
  margin-bottom: 16px;
}

@media screen and (min-width: 60em) {
  .box {
    background-color: #19424a;
    border-radius: 4px;
    z-index: 0;
    position: relative;
    box-shadow: 4px 4px 4px #bbb;
    padding: 8px;
  }
  .box, .box a {
    color: white;
  }
  .box:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 18px;
    left: 0;
    top: 0;
    background: linear-gradient(#126167, #19424a);
    border-radius: 4px 4px 0 0;
    z-index: -1;
  }
  .box:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 18px;
    left: 0;
    top: 18px;
    background: linear-gradient(#19424a, #19424a);
    z-index: -1;
  }
  .box > * {
    z-index: 2;
  }
  body:not(.fullscreen) .box > * {
    position: relative;
  }
  body:not(.fullscreen) .box {
    position: relative;
  }
  .box > p {
    margin: 0;
  }
  .box a, .box strong {
    color: white;
  }
  .box h2 {
    border: none;
    margin: 0;
  }
}

.box.always {
  background-color: #19424a;
  border-radius: 4px;
  z-index: 0;
  position: relative;
  box-shadow: 4px 4px 4px #bbb;
  padding: 8px;
}

.box.always, .box.always a {
  color: white;
}

.box.always:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 18px;
  left: 0;
  top: 0;
  background: linear-gradient(#126167, #19424a);
  border-radius: 4px 4px 0 0;
  z-index: -1;
}

.box.always:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 18px;
  left: 0;
  top: 18px;
  background: linear-gradient(#19424a, #19424a);
  z-index: -1;
}

.box.always > * {
  z-index: 2;
}

body:not(.fullscreen) .box.always > * {
  position: relative;
}

body:not(.fullscreen) .box.always {
  position: relative;
}

.box.always > p {
  margin: 0;
}

.box.always a, .box.always strong {
  color: white;
}

.box.always h2 {
  border: none;
  margin: 0;
}

.box h2 {
  font-weight: normal;
  font-size: 16pt;
  margin-bottom: 8px !important;
}

@media screen and (max-width: 59.99em) {
  .box h2 {
    margin-top: 0;
  }
}

.box ul {
  padding-left: 16px;
}

#app-ad {
  background-color: #19424a;
  border-radius: 4px;
  padding: 0 4px 8px 4px;
  border-radius: 0 0 4px 4px;
}

#app-ad, #app-ad a {
  color: white;
}

#app-ad .app-formats {
  display: table;
  margin: 0 auto;
  width: 100%;
}

@media screen and (min-width: 60em) {
  #app-ad .app-formats .app-button {
    display: none !important;
  }
}

@media screen and (max-width: 59.99em) {
  #app-ad .app-formats .text {
    display: none !important;
  }
}

@media screen and (min-width: 37.5em) and (max-width: 59.99em) {
  #app-ad .app-formats .icon {
    visibility: hidden;
  }
}

@media screen and (max-width: 37.49em) {
  #app-ad .app-formats {
    display: block;
    width: 100%;
  }
  #app-ad .app-formats .icon {
    display: none !important;
  }
}

#app-ad .app-formats > div.store-link {
  display: table-cell;
}

#app-ad .app-formats > div.store-link .inner {
  left: 50%;
  transform: translateX(-50%);
  position: relative;
  width: 98%;
  width: calc(100% - 12px);
  border-radius: 10px;
  display: table;
  table-layout: fixed;
}

@media screen and (min-width: 37.5em) {
  #app-ad .app-formats > div.store-link .inner {
    margin: 8px 0 0 0;
    padding: 8px 0 4px 0;
    border: 1px solid #aaaaaa;
  }
}

@media screen and (min-width: 37.5em) and (max-width: 59.99em) {
  #app-ad .app-formats > div.store-link .inner {
    position: relative;
  }
}

@media screen and (min-width: 37.5em) and (max-width: 46.24em) {
  #app-ad .app-formats > div.store-link .inner {
    padding: 4px 0 8px 0;
  }
}

@media screen and (min-width: 60em) {
  #app-ad .app-formats > div.store-link:hover {
    cursor: pointer;
  }
  #app-ad .app-formats > div.store-link:hover a {
    text-decoration: underline;
  }
}

#app-ad .app-formats > div.store-link.ios .icon {
  padding-left: 42px;
}

@media screen and (min-width: 46.25em) {
  #app-ad .app-formats > div.store-link.android .icon img {
    margin-left: 12px;
  }
}

#app-ad .app-formats > div.store-link.android .icon {
  padding-left: 24px !important;
}

#app-ad .app-formats > div.store-link .inner > div {
  display: table-cell;
  vertical-align: middle;
}

@media screen and (max-width: 46.24em) {
  #app-ad .app-formats > div.store-link .inner > div {
    display: block;
  }
}

#app-ad .app-formats > div.store-link .inner > div.icon {
  text-align: left;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-right: 16px;
}

@media screen and (max-width: 59.99em) {
  #app-ad .app-formats > div.store-link .inner > div.icon {
    display: none;
  }
}

#app-ad .app-formats > div.store-link .inner > div.text {
  text-align: center;
  font-size: 17px;
  font-variant: small-caps;
  color: white;
}

#app-ad .app-formats > div.store-link .inner > div.text a {
  color: white;
  text-decoration: none;
}

#app-ad .app-formats > div.store-link .inner > div.qr {
  text-align: right;
  padding-left: 18px;
  padding-right: 8px;
}

@media screen and (max-width: 46.24em) {
  #app-ad .app-formats > div.store-link .inner > div.qr {
    text-align: center;
  }
}

@media screen and (max-width: 37.49em) {
  #app-ad .app-formats > div.store-link .inner > div.qr {
    display: none !important;
  }
}

#app-ad .app-formats > div.store-link .inner > div.qr img {
  max-width: 100px;
}

@media screen and (max-width: 59.99em) {
  #app-ad .app-formats > div.store-link .inner > div.qr img {
    width: 100%;
  }
}

@media screen and (min-width: 46.25em) and (max-width: 59.99em) {
  #app-ad .app-formats > div.store-link .inner > div.app-button {
    top: 50%;
    transform: translateY(-50%);
    position: absolute;
    left: 8px;
    text-align: left;
  }
}

@media screen and (max-width: 46.24em) {
  #app-ad .app-formats > div.store-link .inner > div.app-button {
    text-align: center;
  }
}

#app-ad .app-formats > div.store-link .inner > div.app-button a {
  padding-left: 42px;
}

@media screen and (max-width: 37.49em) {
  #app-ad .app-formats > div.store-link .inner > div.app-button a {
    margin: 12px 0 0 0;
  }
}

#app-ad:before {
  border-radius: 0;
}

@media screen and (max-width: 59.99em) {
  #stats {
    padding: 0;
  }
  #stats h2 {
    display: none;
  }
}

/*****************************************************************
 Apply blue box gradient on mobile devices
*****************************************************************/
body.col-single [data-role="listview"]:not(.non-responsive) {
  background-color: #19424a;
  border-radius: 4px;
  z-index: 0;
  position: relative;
}

body.col-single [data-role="listview"]:not(.non-responsive), body.col-single [data-role="listview"]:not(.non-responsive) a {
  color: white;
}

body.col-single [data-role="listview"]:not(.non-responsive):before {
  content: '';
  position: absolute;
  width: 100%;
  height: 18px;
  left: 0;
  top: 0;
  background: linear-gradient(#126167, #19424a);
  border-radius: 4px 4px 0 0;
  z-index: -1;
}

body.col-single [data-role="listview"]:not(.non-responsive):after {
  content: '';
  position: absolute;
  width: 100%;
  height: 18px;
  left: 0;
  top: 18px;
  background: linear-gradient(#19424a, #19424a);
  z-index: -1;
}

body.col-single [data-role="listview"]:not(.non-responsive) > * {
  z-index: 2;
}

body:not(.fullscreen) body.col-single [data-role="listview"]:not(.non-responsive) > * {
  position: relative;
}

/*****************************************************************
 Single column box order
*****************************************************************/
#overview {
  order: 1;
}

#issues {
  order: 2;
}

#synopsis {
  order: 3;
}

#stats {
  order: 4;
}

#considerations {
  order: 5;
}

#gradients {
  order: 6;
}

#photos {
  order: 7;
}

#location {
  order: 8;
}

#app {
  order: 9;
}

h1 {
  font-family: Mali, sans-serif;
  word-spacing: -3px;
}

#main-photo {
  display: inline-block;
  position: relative;
}

#main-photo img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid black;
}

#overview .description {
  margin-bottom: 8px;
}

#issues {
  background-color: #5c1e1e;
  border-radius: 4px;
  z-index: 0;
  position: relative;
}

#issues, #issues a {
  color: white;
}

#issues:before {
  content: '';
  position: absolute;
  width: 100%;
  height: 18px;
  left: 0;
  top: 0;
  background: linear-gradient(#a83b3b, #6e2525);
  border-radius: 4px 4px 0 0;
  z-index: -1;
}

#issues:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 18px;
  left: 0;
  top: 18px;
  background: linear-gradient(#702525, #5c1e1e);
  z-index: -1;
}

#issues > * {
  z-index: 2;
}

body:not(.fullscreen) #issues > * {
  position: relative;
}

.slideshow-button {
  margin: 8px;
}

.featherlight-close {
  display: none;
}

.featherlight-inner {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 1024px;
  width: 393px;
  height: 851px;
}

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiLi4vd3d3L2Nzcy9teXN0ZXJpZXMvcGFnZS9sZWFmLmNzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vd3d3L3Njc3MvbXlzdGVyaWVzL3BhZ2UvbGVhZi5zY3NzIiwKCQkiLi4vd3d3L3Njc3MvQGluY2x1ZGUvX2NvbW1vbi5zY3NzIiwKCQkiLi4vd3d3L3Njc3MvQGluY2x1ZGUvX3ZhcmlhYmxlcy5zY3NzIiwKCQkiLi4vd3d3L3Njc3MvQGluY2x1ZGUvX2dlbmVyYWxfbWl4aW5zLnNjc3MiLAoJCSIuLi93d3cvc2Nzcy9AaW5jbHVkZS9fbWVkaWEuc2NzcyIsCgkJIi4uL3d3dy9zY3NzL0BpbmNsdWRlL19tcS5zY3NzIiwKCQkiLi4vd3d3L3Njc3MvQGluY2x1ZGUvX3RvdWNoLnNjc3MiLAoJCSIuLi93d3cvc2Nzcy9AaW5jbHVkZS9fcmVzcG9uc2l2ZV9jb2x1bW5zLnNjc3MiLAoJCSIuLi93d3cvc2Nzcy9AaW5jbHVkZS9jb21wb25lbnQvX2xvYWRlci5zY3NzIiwKCQkiLi4vd3d3L3Njc3MvQGluY2x1ZGUvY29tcG9uZW50L19wcm9tb3Muc2NzcyIsCgkJIi4uL3d3dy9zY3NzL0BpbmNsdWRlL2NvbXBvbmVudC9fc2xpY2tfb3ZlcnJpZGVzLnNjc3MiLAoJCSIuLi93d3cvc2Nzcy9Ad2Fsay9fcGhvdG9zLnNjc3MiLAoJCSIuLi93d3cvc2Nzcy9AaW5jbHVkZS9jb21wb25lbnQvX2xpZ2h0Z2FsbGVyeS5zY3NzIiwKCQkiLi4vd3d3L3Njc3MvQHdhbGsvX291dGxpbmVfbWFwLnNjc3MiLAoJCSIuLi93d3cvc2Nzcy9teXN0ZXJpZXMvQGluY2x1ZGUvX2FwcF9hZHZlcnRfc2xpZGVzaG93LnNjc3MiLAoJCSIuLi93d3cvc2Nzcy9AaW5jbHVkZS9jb21wb25lbnQvX3NsaWRlc2hvdy5zY3NzIiwKCQkiLi4vd3d3L3Njc3MvQGluY2x1ZGUvX2FwcF9hZF9mb3JtYXRzLnNjc3MiLAoJCSIuLi93d3cvc2Nzcy9teXN0ZXJpZXMvQGluY2x1ZGUvX2xvY2F0aW9ucy5zY3NzIgoJXSwKCSJzb3VyY2VzQ29udGVudCI6IFsKCQkiQGltcG9ydCBcIi4uLy4uL0BpbmNsdWRlL2NvbW1vblwiO1xuQGltcG9ydCBcIi4uLy4uL0BpbmNsdWRlL3Jlc3BvbnNpdmVfY29sdW1uc1wiO1xuQGltcG9ydCBcIi4uLy4uL0BpbmNsdWRlL2NvbXBvbmVudC9wcm9tb3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9Ad2Fsay9waG90b3NcIjtcbkBpbXBvcnQgXCIuLi8uLi9Ad2Fsay9vdXRsaW5lX21hcFwiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIG15c3Rlcnkgd2Fsa3MgYmFubmVyIGFib3ZlIHRoZSB0aXRsZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuI3N1Yi1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAwIDRweCByZ2JhKDAsMCwwLDAuNSkpO1xuICBpbWd7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogQXBwIHByb21vXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBpbXBvcnQgXCIuLi9AaW5jbHVkZS9hcHBfYWR2ZXJ0X3NsaWRlc2hvd1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiBMb2NhdGlvbnNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuQGltcG9ydCBcIi4uL0BpbmNsdWRlL2xvY2F0aW9uc1wiO1xuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIEJveCBsYXlvdXRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5cbkBtaXhpbiB3YWxrLWJveHtcbiAgQGluY2x1ZGUgYm94R3JhZGllbnRCbHVlO1xuICBAaW5jbHVkZSBib3hTaGFkb3c7XG5cbiAgcGFkZGluZzogOHB4O1xuXG4gIEBhdC1yb290e1xuICAgIGJvZHk6bm90KC5mdWxsc2NyZWVuKSAjeyZ9IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gIH1cblxuICA+IHB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgYSwgc3Ryb25nIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cblxuICBoMiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4uYm94IHtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcblxuICBAaW5jbHVkZSBtcXMoJGZyb206IHBhZ2UpIHtcbiAgICBAaW5jbHVkZSB3YWxrLWJveDtcbiAgfVxuXG4gICYuYWx3YXlze1xuICAgIEBpbmNsdWRlIHdhbGstYm94O1xuICB9XG5cbiAgaDIge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAxNnB0O1xuICAgIG1hcmdpbi1ib3R0b206IDhweCAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIG1xcygkdW50aWw6IHBhZ2UpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgdWwge1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgfVxufVxuXG5cbiNhcHAtYWR7XG4gIEBpbmNsdWRlIGJveCgjMTk0MjRhKTtcbiAgQGltcG9ydCBcIi4uLy4uL0BpbmNsdWRlL2FwcF9hZF9mb3JtYXRzXCI7XG4gIHBhZGRpbmc6IDAgNHB4IDhweCA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xuICAmOmJlZm9yZXtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbiNzdGF0cyB7XG4gIEBpbmNsdWRlIG1xcygkdW50aWw6IHBhZ2UpIHtcblx0cGFkZGluZzogMDtcbiAgICBoMiB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIEFwcGx5IGJsdWUgYm94IGdyYWRpZW50IG9uIG1vYmlsZSBkZXZpY2VzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbmJvZHkuY29sLXNpbmdsZSBbZGF0YS1yb2xlPVwibGlzdHZpZXdcIl06bm90KC5ub24tcmVzcG9uc2l2ZSkge1xuICAgIEBpbmNsdWRlIGJveEdyYWRpZW50Qmx1ZTtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU2luZ2xlIGNvbHVtbiBib3ggb3JkZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuI292ZXJ2aWV3IHtcbiAgb3JkZXI6IDE7XG59XG4jaXNzdWVze1xuICBvcmRlcjogMjtcbn1cbiNzeW5vcHNpc3tcbiAgb3JkZXI6IDM7XG59XG4jc3RhdHMge1xuICBvcmRlcjogNDtcbn1cbiNjb25zaWRlcmF0aW9ucyB7XG4gIG9yZGVyOiA1O1xufVxuI2dyYWRpZW50c3tcbiAgb3JkZXI6IDY7XG59XG4jcGhvdG9ze1xuICBvcmRlcjogNztcbn1cbiNsb2NhdGlvbiB7XG4gIG9yZGVyOiA4O1xufVxuI2FwcHtcbiAgb3JkZXI6IDk7XG59XG5cbmgxIHtcbiAgZm9udC1mYW1pbHk6IE1hbGksIHNhbnMtc2VyaWY7XG4gIHdvcmQtc3BhY2luZzogLTNweDtcbn1cblxuI21haW4tcGhvdG8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjaztcbiAgfVxufVxuXG4jb3ZlcnZpZXcgLmRlc2NyaXB0aW9ue1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbiNpc3N1ZXN7XG4gIEBpbmNsdWRlIGJveEdyYWRpZW50UmVkO1xufVxuXG4vLyBvdGhlciBzdHlsZXNcblxuLnNsaWRlc2hvdy1idXR0b257XG4gIG1hcmdpbjogOHB4O1xufVxuXG4uZmVhdGhlcmxpZ2h0LWNsb3Nle1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmVhdGhlcmxpZ2h0LWlubmVye1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBtYXgtd2lkdGg6IDEwMjRweDtcblxuICAvLyBFbXVsYXRlIFBpeGVsIDUgc2NyZWVuIGRpbWVuc2lvbnNcbiAgd2lkdGg6IDM5M3B4O1xuICBoZWlnaHQ6IDg1MXB4O1xufVxuIiwKCQkiLy8gQ29tbW9uIHN0eWxlc1xuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xuQGltcG9ydCBcImdlbmVyYWxfbWl4aW5zXCI7XG5AaW1wb3J0IFwibWVkaWFcIjtcbkBpbXBvcnQgXCJ0b3VjaFwiO1xuXG5ib2R5e1xuICB2aXNpYmlsaXR5OiBpbmhlcml0O1xufVxuIiwKCQkiLy8gVmFyaWFibGVzXG5cbiRwYWdlLXdpZHRoOiA5NjBweDtcbiRyZXNwb25zaXZlLW1lbnU6IDc3OHB4O1xuXG4kZ3JleTogIzJmMmYyZjtcbiRkYXJrLWdyZWVuOiAjMTMxO1xuJGdyZWVuOiAjMjg1ZDFlO1xuJGJsdWU6ICMxOTQyNGE7XG4kbGlnaHQtZ3JlZW46IHJnYmEoMTI0LCAxOTcsIDE0OSwgMC42NSk7XG4kcmVkOiAjNWMxZTFlO1xuJGRhcmstcmVkOiAjNjYwMDAwO1xuXG4vLyBCb3ggZ3JhZGllbnRzXG4kYm94LUdyYWQtSGVpZ2h0OiAxOHB4O1xuXG4kYm94LUJHLUdyZXk6ICRncmV5O1xuJGJveC1HcmFkLVVwcGVyLVRvcC1HcmV5OiAjNzE3MTcxO1xuJGJveC1HcmFkLVVwcGVyLUJvdHRvbS1HcmV5OiAjNDI0MTQxO1xuJGJveC1HcmFkLUxvd2VyLVRvcC1HcmV5OiAjNDA0MDQwO1xuJGJveC1HcmFkLUxvd2VyLUJvdHRvbS1HcmV5OiAjMmYyZjJmO1xuXG4kYm94LUJHLUdyZWVuOiAkZ3JlZW47XG4kYm94LUdyYWQtVXBwZXItVG9wLUdyZWVuOiAjNDY5OTM2O1xuJGJveC1HcmFkLVVwcGVyLUJvdHRvbS1HcmVlbjogIzMwNzAyNTtcbiRib3gtR3JhZC1Mb3dlci1Ub3AtR3JlZW46ICMzMDcyMjU7XG4kYm94LUdyYWQtTG93ZXItQm90dG9tLUdyZWVuOiAjMjg1ZDFlO1xuXG4kYm94LUJHLUJsdWU6ICMxOTQyNGE7XG4kYm94LUdyYWQtVXBwZXItVG9wLUJsdWU6ICMxMjYxNjc7XG4kYm94LUdyYWQtVXBwZXItQm90dG9tLUJsdWU6ICMxOTQyNGE7XG4kYm94LUdyYWQtTG93ZXItVG9wLUJsdWU6ICMxOTQyNGE7XG4kYm94LUdyYWQtTG93ZXItQm90dG9tLUJsdWU6ICMxOTQyNGE7XG5cblxuJGJveC1CRy1EYXJrLUdyZWVuOiAkZGFyay1ncmVlbjtcbiRib3gtR3JhZC1VcHBlci1Ub3AtRGFyay1HcmVlbjogIzJlODAyZTtcbiRib3gtR3JhZC1VcHBlci1Cb3R0b20tRGFyay1HcmVlbjogIzE3NDUxNztcbiRib3gtR3JhZC1Mb3dlci1Ub3AtRGFyay1HcmVlbjogIzE4NDcxOTtcbiRib3gtR3JhZC1Mb3dlci1Cb3R0b20tRGFyay1HcmVlbjogIzExMzMxMTtcblxuJGJveC1CRy1SZWQ6ICRyZWQ7XG4kYm94LUdyYWQtVXBwZXItVG9wLVJlZDogI2E4M2IzYjtcbiRib3gtR3JhZC1VcHBlci1Cb3R0b20tUmVkOiAjNmUyNTI1O1xuJGJveC1HcmFkLUxvd2VyLVRvcC1SZWQ6ICM3MDI1MjU7XG4kYm94LUdyYWQtTG93ZXItQm90dG9tLVJlZDogIzVjMWUxZTtcblxuJG1xLWJyZWFrcG9pbnQtbW9iaWxlOiAzMjBweDtcbiRtcS1icmVha3BvaW50LXRhYmxldDdpbmNoOiA2MDBweDtcbiRtcS1icmVha3BvaW50LXRhYmxldDogNzQwcHg7XG4kbXEtYnJlYWtwb2ludC1kZXNrdG9wOiA5ODBweDtcbiRtcS1icmVha3BvaW50LXdpZGU6IDEzMDBweDtcbiRtcS1icmVha3BvaW50LWRlc2t0b3BBZDogODEwcHg7XG4kbXEtYnJlYWtwb2ludC1tb2JpbGVMYW5kc2NhcGU6IDQ4MHB4O1xuJG1xLWJyZWFrcG9pbnQtbWVkaXVtTG9nbzogNDQwcHg7XG4kbXEtYnJlYWtwb2ludC1zbWFsbExvZ286IDMyMHB4O1xuJG1xLWJyZWFrcG9pbnQtaGVhZGVyU29jaWFsSWNvbnM6IDk1NHB4O1xuJG1xLWJyZWFrcG9pbnQtcGFnZTogJHBhZ2Utd2lkdGg7XG4kbXEtYnJlYWtwb2ludC1yZXNwb25zaXZlTWVudTogJHJlc3BvbnNpdmUtbWVudTtcblxuXG4vLyBCcmVha3BvaW50c1xuJG1xLWJyZWFrcG9pbnRzOiAoXG4gICAgICAgIG1vYmlsZTogICRtcS1icmVha3BvaW50LW1vYmlsZSxcbiAgICAgICAgdGFibGV0N2luY2g6ICAkbXEtYnJlYWtwb2ludC10YWJsZXQ3aW5jaCxcbiAgICAgICAgdGFibGV0OiAgJG1xLWJyZWFrcG9pbnQtdGFibGV0LFxuICAgICAgICBkZXNrdG9wOiAkbXEtYnJlYWtwb2ludC1kZXNrdG9wLFxuICAgICAgICB3aWRlOiAkbXEtYnJlYWtwb2ludC13aWRlLFxuXG4gIC8vIFR3ZWFrcG9pbnRzXG4gICAgICAgIGRlc2t0b3BBZDogJG1xLWJyZWFrcG9pbnQtZGVza3RvcEFkLFxuICAgICAgICBtb2JpbGVMYW5kc2NhcGU6ICRtcS1icmVha3BvaW50LW1vYmlsZUxhbmRzY2FwZSxcbiAgICAgICAgc21hbGxMb2dvOiAkbXEtYnJlYWtwb2ludC1zbWFsbExvZ28sXG4gICAgICAgIHBhZ2U6ICRtcS1icmVha3BvaW50LXBhZ2UsXG4gICAgICAgIHJlc3BvbnNpdmVNZW51OiAkbXEtYnJlYWtwb2ludC1yZXNwb25zaXZlTWVudSxcbiAgICAgICAgaGVhZGVyU29jaWFsSWNvbnM6ICRtcS1icmVha3BvaW50LWhlYWRlclNvY2lhbEljb25zXG4pO1xuXG5cbi8vIFRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxuLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSkgc2V0ICRtcS1yZXNwb25zaXZlIHRvIGZhbHNlXG4vLyBDcmVhdGUgYSBzZXBhcmF0ZSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byB0aGVzZSBicm93c2Vycyxcbi8vIG1lYW5pbmcgQG1lZGlhIHF1ZXJpZXMgd2lsbCBiZSByYXN0ZXJpemVkLCByZWx5aW5nIG9uIHRoZSBjYXNjYWRlIGl0c2VsZlxuJG1xLXJlc3BvbnNpdmU6IHRydWU7XG5cbi8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXG4vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLyRtcS1zaG93LWJyZWFrcG9pbnRzOiAobW9iaWxlLCBtb2JpbGVMYW5kc2NhcGUsIHRhYmxldCwgZGVza3RvcCwgd2lkZSk7XG4iLAoJCSJAbWl4aW4gaVdhbGtNb2JpbGVHcmFkaWVudHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2M5ZGNmNCAwJSwjODJiNWVjIDIyJSwjMjk4YWUzIDQ2JSwjM2VjMWY3IDcwJSwjM2VjMWY3IDEwMCUpO1xufVxuXG5AbWl4aW4gY2VudHJlWXtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuQG1peGluIGNlbnRyZVh7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG5AbWl4aW4gY2VudHJlWFl7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSAgdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuQG1peGluIGdyZXlfZ3JhZGllbnR7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMTgxLCAxODksIDIwMCwgMSkgMCUsIHJnYmEoMTMwLCAxNDAsIDE0OSwgMSkgMzYlLCByZ2JhKDQwLCA1MiwgNTksIDEpIDEwMCUpO1xufVxuXG5AbWl4aW4gZ3JlZW5fZ3JhZGllbnR7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM0ZWI5NGUgMCUsICMxMDkwMTAgMzYlLCAjMDkzZTA5IDEwMCUpO1xufVxuXG5AbWl4aW4gYm94KCRiZyl7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgYm9yZGVyLXJhZGl1czo0cHg7XG4gICYsIGF7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG59XG5cbkBtaXhpbiBib3hHcmFkaWVudCgkYmcsICR1cHBlci10b3AsICR1cHBlci1ib3R0b20sICRsb3dlci10b3AsICRsb3dlci1ib3R0b20sICRoZWlnaHQ6ICRib3gtR3JhZC1IZWlnaHQpe1xuICBAaW5jbHVkZSBib3goJGJnKTtcbiAgei1pbmRleDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6YmVmb3Jle1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJHVwcGVyLXRvcCwgJHVwcGVyLWJvdHRvbSk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAmOmFmdGVye1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogJGhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJGxvd2VyLXRvcCwgJGxvd2VyLWJvdHRvbSk7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICA+ICp7XG4gICAgei1pbmRleDogMjtcblxuICAgIEBhdC1yb290IHtcbiAgICAgIGJvZHk6bm90KC5mdWxsc2NyZWVuKSAjeyZ9IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYm94R3JhZGllbnRHcmV5e1xuICBAaW5jbHVkZSBib3hHcmFkaWVudCgkYm94LUJHLUdyZXksICRib3gtR3JhZC1VcHBlci1Ub3AtR3JleSwgJGJveC1HcmFkLVVwcGVyLUJvdHRvbS1HcmV5LCAkYm94LUdyYWQtTG93ZXItVG9wLUdyZXksICRib3gtR3JhZC1Mb3dlci1Cb3R0b20tR3JleSk7XG59XG5cbkBtaXhpbiBib3hHcmFkaWVudEdyZWVue1xuICBAaW5jbHVkZSBib3hHcmFkaWVudCgkYm94LUJHLUdyZWVuLCAkYm94LUdyYWQtVXBwZXItVG9wLUdyZWVuLCAkYm94LUdyYWQtVXBwZXItQm90dG9tLUdyZWVuLCAkYm94LUdyYWQtTG93ZXItVG9wLUdyZWVuLCAkYm94LUdyYWQtTG93ZXItQm90dG9tLUdyZWVuKTtcbn1cblxuQG1peGluIGJveEdyYWRpZW50Qmx1ZXtcbiAgQGluY2x1ZGUgYm94R3JhZGllbnQoJGJveC1CRy1CbHVlLCAkYm94LUdyYWQtVXBwZXItVG9wLUJsdWUsICRib3gtR3JhZC1VcHBlci1Cb3R0b20tQmx1ZSwgJGJveC1HcmFkLUxvd2VyLVRvcC1CbHVlLCAkYm94LUdyYWQtTG93ZXItQm90dG9tLUJsdWUpO1xufVxuXG5AbWl4aW4gYm94R3JhZGllbnREYXJrR3JlZW57XG4gIEBpbmNsdWRlIGJveEdyYWRpZW50KCRib3gtQkctRGFyay1HcmVlbiwgJGJveC1HcmFkLVVwcGVyLVRvcC1EYXJrLUdyZWVuLCAkYm94LUdyYWQtVXBwZXItQm90dG9tLURhcmstR3JlZW4sICRib3gtR3JhZC1Mb3dlci1Ub3AtRGFyay1HcmVlbiwgJGJveC1HcmFkLUxvd2VyLUJvdHRvbS1EYXJrLUdyZWVuKTtcbn1cblxuQG1peGluIGJveEdyYWRpZW50UmVke1xuICBAaW5jbHVkZSBib3hHcmFkaWVudCgkYm94LUJHLVJlZCwgJGJveC1HcmFkLVVwcGVyLVRvcC1SZWQsICRib3gtR3JhZC1VcHBlci1Cb3R0b20tUmVkLCAkYm94LUdyYWQtTG93ZXItVG9wLVJlZCwgJGJveC1HcmFkLUxvd2VyLUJvdHRvbS1SZWQpO1xufVxuXG5AbWl4aW4gYm94U2hhZG93e1xuICBib3gtc2hhZG93OiA0cHggNHB4IDRweCAjYmJiO1xufVxuXG5AbWl4aW4gYm94eXtcbiAgQGluY2x1ZGUgYm94R3JhZGllbnRHcmV5O1xuICBAaW5jbHVkZSBib3hTaGFkb3c7XG4gIGNvbG9yOiAjZWVlO1xuXG4gIGEsIHN0cm9uZyB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgaDIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuQG1peGluIGxpZ2h0R3JlZW5Cb3h7XG4gIEBpbmNsdWRlIGJveCgkbGlnaHQtZ3JlZW4pO1xuICAmLGF7XG4gICAgY29sb3I6IGJsYWNrO1xuICB9XG59XG5cbiIsCgkJIlxuLyoqXG4gKiBCcmVha3BvaW50c1xuICovXG5cbkBpbXBvcnQgXCJtcVwiO1xuXG5cbkBtaXhpbiBtcXMoJGZyb206IGZhbHNlLCAkdW50aWw6IGZhbHNlKXtcbiAgQGluY2x1ZGUgbXEoJGZyb20sICR1bnRpbCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8qKlxuICogSW5wdXQgY2FwYWJpbGl0aWVzXG4gKi9cblxuLy8gc21hcnRwaG9uZXMgYW5kIHRhYmxldHNcbkBtaXhpbiB0b3VjaC1zY3JlZW4taW5wdXQge1xuICBAbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSlcbiAgYW5kIChob3Zlcjogbm9uZSl7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTW91c2Ugb3IgdG91Y2ggcGFkXG5AbWl4aW4gbW91c2UtaW5wdXQge1xuICBAbWVkaWEgKHBvaW50ZXI6IGZpbmUpXG4gIGFuZCAoaG92ZXI6IGhvdmVyKXtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBTaG93IGZvciB0b3VjaCBzY3JlZW5zXG4vLyBhbmQgdXAgdW50aWwgdGFibGV0IGRldmljZSB3aWR0aCBmb3IgdGFibGV0cyBub3Qgc3VwcG9ydGluZyBpbnB1dCBtZWRpYSBxdWVyaWVzIGllLiBvbGQgQW5kcm9pZCA0LnhcbkBtaXhpbiB0b3VjaC1zY3JlZW4tZGV2aWNlc3tcbiAgQGluY2x1ZGUgdG91Y2gtc2NyZWVuLWlucHV0IHtcbiAgICBAY29udGVudDtcbiAgfVxuICBAaW5jbHVkZSBtcXMoJHVudGlsOiByZXNwb25zaXZlTWVudSkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE5pbnRlbmRvIFdpaSBjb250cm9sbGVyLCBLaW5lY3QsIGV0Yy5cbkBtaXhpbiBjb25zb2xlLWlucHV0IHtcbiAgQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpXG4gIGFuZCAoaG92ZXI6IGhvdmVyKXtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBzdHlsdXMtYmFzZWQgc2NyZWVucyAoQ2ludGlxLCBXYWNvbSwgZXRjKVxuQG1peGluIGNvbnNvbGUtaW5wdXQge1xuICBAbWVkaWEgKHBvaW50ZXI6IGZpbmUpXG4gIGFuZCAoaG92ZXI6IG5vbmUpe1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIFJldGluYSBkaXNwbGF5cyAoMngpXG5AbWl4aW4gcmV0aW5hIHtcbiAgQG1lZGlhIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMvMiksXG4gICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsCgkJIkBjaGFyc2V0IFwiVVRGLThcIjsgLy8gRml4ZXMgYW4gaXNzdWUgd2hlcmUgUnVieSBsb2NhbGUgaXMgbm90IHNldCBwcm9wZXJseVxuICAgICAgICAgICAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEvcHVsbC8xMFxuXG4vLy8gQmFzZSBmb250IHNpemUgb24gdGhlIGA8Ym9keT5gIGVsZW1lbnRcbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXQpXG4kbXEtYmFzZS1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG5cbi8vLyBSZXNwb25zaXZlIG1vZGVcbi8vL1xuLy8vIFNldCB0byBgZmFsc2VgIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxuLy8vIChJRSA8PSA4LCBGaXJlZm94IDw9IDMsIE9wZXJhIDw9IDkpXG4vLy9cbi8vLyBZb3UgY291bGQgY3JlYXRlIGEgc3R5bGVzaGVldCBzZXJ2ZWQgZXhjbHVzaXZlbHkgdG8gb2xkZXIgYnJvd3NlcnMsXG4vLy8gd2hlcmUgQG1lZGlhIHF1ZXJpZXMgYXJlIHJhc3Rlcml6ZWRcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gb2xkLWllLnNjc3Ncbi8vLyAgJG1xLXJlc3BvbnNpdmU6IGZhbHNlO1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBCb29sZWFuXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNyZXNwb25zaXZlLW1vZGUtb2ZmIERpc2FibGVkIHJlc3BvbnNpdmUgbW9kZSBkb2N1bWVudGF0aW9uXG4kbXEtcmVzcG9uc2l2ZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgbGlzdFxuLy8vXG4vLy8gTmFtZSB5b3VyIGJyZWFrcG9pbnRzIGluIGEgd2F5IHRoYXQgY3JlYXRlcyBhIHViaXF1aXRvdXMgbGFuZ3VhZ2Vcbi8vLyBhY3Jvc3MgdGVhbSBtZW1iZXJzLiBJdCB3aWxsIGltcHJvdmUgY29tbXVuaWNhdGlvbiBiZXR3ZWVuXG4vLy8gc3Rha2Vob2xkZXJzLCBkZXNpZ25lcnMsIGRldmVsb3BlcnMsIGFuZCB0ZXN0ZXJzLlxuLy8vXG4vLy8gQHR5cGUgTWFwXG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludCBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtYnJlYWtwb2ludHM6IChcbiAgICBtb2JpbGU6ICAzMjBweCxcbiAgICB0YWJsZXQ6ICA3NDBweCxcbiAgICBkZXNrdG9wOiA5ODBweCxcbiAgICB3aWRlOiAgICAxMzAwcHhcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0aWMgYnJlYWtwb2ludCAoZm9yIGZpeGVkLXdpZHRoIGxheW91dHMpXG4vLy9cbi8vLyBEZWZpbmUgdGhlIGJyZWFrcG9pbnQgZnJvbSAkbXEtYnJlYWtwb2ludHMgdGhhdCBzaG91bGRcbi8vLyBiZSB1c2VkIGFzIHRoZSB0YXJnZXQgd2lkdGggZm9yIHRoZSBmaXhlZC13aWR0aCBsYXlvdXRcbi8vLyAoaS5lLiB3aGVuICRtcS1yZXNwb25zaXZlIGlzIHNldCB0byAnZmFsc2UnKSBpbiBhIG9sZC1pZS5zY3NzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIHRhYmxldC1vbmx5LnNjc3Ncbi8vLyAgLy9cbi8vLyAgLy8gSWdub3JlIGFsbCBzdHlsZXMgYWJvdmUgdGFibGV0IGJyZWFrcG9pbnQsXG4vLy8gIC8vIGFuZCBmaXggdGhlIHN0eWxlcyAoZS5nLiBsYXlvdXQpIGF0IHRhYmxldCB3aWR0aFxuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gICRtcS1zdGF0aWMtYnJlYWtwb2ludDogdGFibGV0O1xuLy8vICBAaW1wb3J0ICdtYWluJzsgLy8gQG1lZGlhIHF1ZXJpZXMgaW4gdGhpcyBmaWxlIHdpbGwgYmUgcmFzdGVyaXplZCB1cCB0byB0YWJsZXRcbi8vLyAgICAgICAgICAgICAgICAgICAvLyBsYXJnZXIgYnJlYWtwb2ludHMgd2lsbCBiZSBpZ25vcmVkXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2FkZGluZy1jdXN0b20tYnJlYWtwb2ludHMgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLXN0YXRpYy1icmVha3BvaW50OiBkZXNrdG9wICFkZWZhdWx0O1xuXG4vLy8gU2hvdyBicmVha3BvaW50cyBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lclxuLy8vXG4vLy8gSWYgeW91IHdhbnQgdG8gZGlzcGxheSB0aGUgY3VycmVudGx5IGFjdGl2ZSBicmVha3BvaW50IGluIHRoZSB0b3Bcbi8vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8vIHRvIHRoaXMgbGlzdCwgb3JkZXJlZCBieSB3aWR0aCwgZS5nLiAobW9iaWxlLCB0YWJsZXQsIGRlc2t0b3ApLlxuLy8vXG4vLy8gQHR5cGUgbWFwXG4kbXEtc2hvdy1icmVha3BvaW50czogKCkgIWRlZmF1bHQ7XG5cbi8vLyBDdXN0b21pemUgdGhlIG1lZGlhIHR5cGUgKGUuZy4gYEBtZWRpYSBzY3JlZW5gIG9yIGBAbWVkaWEgcHJpbnRgKVxuLy8vIEJ5IGRlZmF1bHQgc2Fzcy1tcSB1c2VzIGFuIFwiYWxsXCIgbWVkaWEgdHlwZSAoYEBtZWRpYSBhbGwgYW5kIOKApmApXG4vLy9cbi8vLyBAdHlwZSBTdHJpbmdcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI2NoYW5naW5nLW1lZGlhLXR5cGUgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuJG1xLW1lZGlhLXR5cGU6IGFsbCAhZGVmYXVsdDtcblxuLy8vIENvbnZlcnQgcGl4ZWxzIHRvIGVtc1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRweCAtIHZhbHVlIHRvIGNvbnZlcnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UtZm9udC1zaXplICgkbXEtYmFzZS1mb250LXNpemUpIC0gYDxib2R5PmAgZm9udCBzaXplXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICRmb250LXNpemUtaW4tZW1zOiBtcS1weDJlbSgxNnB4KTtcbi8vLyAgcCB7IGZvbnQtc2l6ZTogbXEtcHgyZW0oMTZweCk7IH1cbi8vL1xuLy8vIEByZXF1aXJlcyAkbXEtYmFzZS1mb250LXNpemVcbi8vLyBAcmV0dXJucyB7TnVtYmVyfVxuQGZ1bmN0aW9uIG1xLXB4MmVtKCRweCwgJGJhc2UtZm9udC1zaXplOiAkbXEtYmFzZS1mb250LXNpemUpIHtcbiAgICBAaWYgdW5pdGxlc3MoJHB4KSB7XG4gICAgICAgIEB3YXJuIFwiQXNzdW1pbmcgI3skcHh9IHRvIGJlIGluIHBpeGVscywgYXR0ZW1wdGluZyB0byBjb252ZXJ0IGl0IGludG8gcGl4ZWxzLlwiO1xuICAgICAgICBAcmV0dXJuIG1xLXB4MmVtKCRweCAqIDFweCwgJGJhc2UtZm9udC1zaXplKTtcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHB4KSA9PSBlbSB7XG4gICAgICAgIEByZXR1cm4gJHB4O1xuICAgIH1cbiAgICBAcmV0dXJuICgkcHggLyAkYmFzZS1mb250LXNpemUpICogMWVtO1xufVxuXG4vLy8gR2V0IGEgYnJlYWtwb2ludCdzIHdpZHRoXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBicmVha3BvaW50LiBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICR0YWJsZXQtd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKHRhYmxldCk7XG4vLy8gIEBtZWRpYSAobWluLXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aChkZXNrdG9wKSkge31cbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVmFsdWUgaW4gcGl4ZWxzXG5AZnVuY3Rpb24gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJG5hbWUsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJG5hbWUpIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAd2FybiBcIkJyZWFrcG9pbnQgI3skbmFtZX0gd2Fzbid0IGZvdW5kIGluICRicmVha3BvaW50cy5cIjtcbiAgICB9XG59XG5cbi8vLyBNZWRpYSBRdWVyeSBtaXhpblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkZnJvbSAoZmFsc2UpIC0gT25lIG9mICRtcS1icmVha3BvaW50c1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgQm9vbGVhbn0gJHVudGlsIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkYW5kIChmYWxzZSkgLSBBZGRpdGlvbmFsIG1lZGlhIHF1ZXJ5IHBhcmFtZXRlcnNcbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lZGlhLXR5cGUgKCRtcS1tZWRpYS10eXBlKSAtIE1lZGlhIHR5cGU6IHNjcmVlbiwgcHJpbnTigKZcbi8vL1xuLy8vIEBpZ25vcmUgVW5kb2N1bWVudGVkIEFQSSwgZm9yIGFkdmFuY2VkIHVzZSBvbmx5OlxuLy8vIEBpZ25vcmUgQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKVxuLy8vIEBpZ25vcmUgQHBhcmFtIHtTdHJpbmd9ICRzdGF0aWMtYnJlYWtwb2ludCAoJG1xLXN0YXRpYy1icmVha3BvaW50KVxuLy8vXG4vLy8gQGNvbnRlbnQgc3R5bGluZyBydWxlcywgd3JhcHBlZCBpbnRvIGEgQG1lZGlhIHF1ZXJ5IHdoZW4gJHJlc3BvbnNpdmUgaXMgdHJ1ZVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLW1lZGlhLXR5cGVcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc3RhdGljLWJyZWFrcG9pbnRcbi8vLyBAcmVxdWlyZXMge2Z1bmN0aW9ufSBtcS1weDJlbVxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLWdldC1icmVha3BvaW50LXdpZHRoXG4vLy9cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vbi1kZWZhdWx0IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1xKCRmcm9tOiBtb2JpbGUpIHtcbi8vLyAgICAgIGNvbG9yOiByZWQ7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKCR1bnRpbDogdGFibGV0KSB7XG4vLy8gICAgICBjb2xvcjogYmx1ZTtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEobW9iaWxlLCB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBncmVlbjtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IHRhYmxldCwgJGFuZDogJyhvcmllbnRhdGlvbjogbGFuZHNjYXBlKScpIHtcbi8vLyAgICAgIGNvbG9yOiB0ZWFsO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSg5NTBweCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKHRhYmxldCwgJG1lZGlhLXR5cGU6IHNjcmVlbikge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICAgIC8vIEFkdmFuY2VkIHVzZTpcbi8vLyAgICAkbXktYnJlYWtwb2ludHM6IChMOiA5MDBweCwgWEw6IDEyMDBweCk7XG4vLy8gICAgQGluY2x1ZGUgbXEoTCwgJGJyZWFrcG9pbnRzOiAkbXktYnJlYWtwb2ludHMsICRzdGF0aWMtYnJlYWtwb2ludDogTCkge1xuLy8vICAgICAgY29sb3I6IGhvdHBpbms7XG4vLy8gICAgfVxuLy8vICB9XG5AbWl4aW4gbXEoXG4gICAgJGZyb206IGZhbHNlLFxuICAgICR1bnRpbDogZmFsc2UsXG4gICAgJGFuZDogZmFsc2UsXG4gICAgJG1lZGlhLXR5cGU6ICRtcS1tZWRpYS10eXBlLFxuICAgICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzLFxuICAgICRyZXNwb25zaXZlOiAkbXEtcmVzcG9uc2l2ZSxcbiAgICAkc3RhdGljLWJyZWFrcG9pbnQ6ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuKSB7XG4gICAgJG1pbi13aWR0aDogMDtcbiAgICAkbWF4LXdpZHRoOiAwO1xuICAgICRtZWRpYS1xdWVyeTogJyc7XG5cbiAgICAvLyBGcm9tOiB0aGlzIGJyZWFrcG9pbnQgKGluY2x1c2l2ZSlcbiAgICBAaWYgJGZyb20ge1xuICAgICAgICBAaWYgdHlwZS1vZigkZnJvbSkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKCRmcm9tKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWluLXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkZnJvbSwgJGJyZWFrcG9pbnRzKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBVbnRpbDogdGhhdCBicmVha3BvaW50IChleGNsdXNpdmUpXG4gICAgQGlmICR1bnRpbCB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCR1bnRpbCkgPT0gbnVtYmVyIHtcbiAgICAgICAgICAgICRtYXgtd2lkdGg6IG1xLXB4MmVtKCR1bnRpbCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0obXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHVudGlsLCAkYnJlYWtwb2ludHMpKSAtIC4wMWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBzdXBwb3J0IGlzIGRpc2FibGVkLCByYXN0ZXJpemUgdGhlIG91dHB1dCBvdXRzaWRlIEBtZWRpYSBibG9ja3NcbiAgICAvLyBUaGUgYnJvd3NlciB3aWxsIHJlbHkgb24gdGhlIGNhc2NhZGUgaXRzZWxmLlxuICAgIEBpZiAkcmVzcG9uc2l2ZSA9PSBmYWxzZSB7XG4gICAgICAgICRzdGF0aWMtYnJlYWtwb2ludC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgoJHN0YXRpYy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAkdGFyZ2V0LXdpZHRoOiBtcS1weDJlbSgkc3RhdGljLWJyZWFrcG9pbnQtd2lkdGgpO1xuXG4gICAgICAgIC8vIE91dHB1dCBvbmx5IHJ1bGVzIHRoYXQgc3RhcnQgYXQgb3Igc3BhbiBvdXIgdGFyZ2V0IHdpZHRoXG4gICAgICAgIEBpZiAoXG4gICAgICAgICAgICAkYW5kID09IGZhbHNlXG4gICAgICAgICAgICBhbmQgJG1pbi13aWR0aCA8PSAkdGFyZ2V0LXdpZHRoXG4gICAgICAgICAgICBhbmQgKFxuICAgICAgICAgICAgICAgICR1bnRpbCA9PSBmYWxzZSBvciAkbWF4LXdpZHRoID49ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH0gQGVsc2UgeyAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZW5hYmxlZCwgb3V0cHV0IHJ1bGVzIGluc2lkZSBAbWVkaWEgcXVlcmllc1xuICAgICAgICBAaWYgJG1pbi13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWluLXdpZHRoOiAjeyRtaW4td2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRtYXgtd2lkdGggIT0gMCB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgKG1heC13aWR0aDogI3skbWF4LXdpZHRofSknOyB9XG4gICAgICAgIEBpZiAkYW5kICAgICAgICAgICAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kICN7JGFuZH0nOyB9XG5cbiAgICAgICAgLy8gUmVtb3ZlIHVubmVjZXNzYXJ5IG1lZGlhIHF1ZXJ5IHByZWZpeCAnYWxsIGFuZCAnXG4gICAgICAgIEBpZiAoJG1lZGlhLXR5cGUgPT0gJ2FsbCcgYW5kICRtZWRpYS1xdWVyeSAhPSAnJykge1xuICAgICAgICAgICAgJG1lZGlhLXR5cGU6ICcnO1xuICAgICAgICAgICAgJG1lZGlhLXF1ZXJ5OiBzdHItc2xpY2UodW5xdW90ZSgkbWVkaWEtcXVlcnkpLCA2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAjeyRtZWRpYS10eXBlICsgJG1lZGlhLXF1ZXJ5fSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIEFkZCBhIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnRcbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIGJyZWFrcG9pbnRcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICBAaW5jbHVkZSBtcS1hZGQtYnJlYWtwb2ludCh0dnNjcmVlbiwgMTkyMHB4KTtcbi8vLyAgQGluY2x1ZGUgbXEodHZzY3JlZW4pIHt9XG5AbWl4aW4gbXEtYWRkLWJyZWFrcG9pbnQoJG5hbWUsICR3aWR0aCkge1xuICAgICRuZXctYnJlYWtwb2ludDogKCRuYW1lOiAkd2lkdGgpO1xuICAgICRtcS1icmVha3BvaW50czogbWFwLW1lcmdlKCRtcS1icmVha3BvaW50cywgJG5ldy1icmVha3BvaW50KSAhZ2xvYmFsO1xufVxuXG4vLy8gU2hvdyB0aGUgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcCByaWdodCBjb3JuZXIgb2YgdGhlIHZpZXdwb3J0XG4vLy8gQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcSNzZWVpbmctdGhlLWN1cnJlbnRseS1hY3RpdmUtYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hvdy1icmVha3BvaW50cyAoJG1xLXNob3ctYnJlYWtwb2ludHMpIC0gTGlzdCBvZiBicmVha3BvaW50cyB0byBzaG93IGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy8gQHBhcmFtIHtNYXB9ICRicmVha3BvaW50cyAoJG1xLWJyZWFrcG9pbnRzKSAtIEJyZWFrcG9pbnQgbmFtZXMgYW5kIHNpemVzXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtc2hvdy1icmVha3BvaW50c1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBTaG93IGJyZWFrcG9pbnRzIHVzaW5nIGdsb2JhbCBzZXR0aW5nc1xuLy8vICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xuLy8vXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgY3VzdG9tIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHMoKEwsIFhMKSwgKFM6IDMwMHB4LCBMOiA4MDBweCwgWEw6IDEyMDBweCkpO1xuQG1peGluIG1xLXNob3ctYnJlYWtwb2ludHMoJHNob3ctYnJlYWtwb2ludHM6ICRtcS1zaG93LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludHM6ICRtcS1icmVha3BvaW50cykge1xuICAgIGJvZHk6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZDRjhFMztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGQkVFRDU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgY29sb3I6ICNDMDk4NTM7XG4gICAgICAgIGZvbnQ6IHNtYWxsLWNhcHRpb247XG4gICAgICAgIHBhZGRpbmc6IDNweCA2cHg7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcblxuICAgICAgICAvLyBMb29wIHRocm91Z2ggdGhlIGJyZWFrcG9pbnRzIHRoYXQgc2hvdWxkIGJlIHNob3duXG4gICAgICAgIEBlYWNoICRzaG93LWJyZWFrcG9pbnQgaW4gJHNob3ctYnJlYWtwb2ludHMge1xuICAgICAgICAgICAgJHdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgbXEoJHNob3ctYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiN7JHNob3ctYnJlYWtwb2ludH0g4omlICN7JHdpZHRofSAoI3ttcS1weDJlbSgkd2lkdGgpfSlcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGlmIGxlbmd0aCgkbXEtc2hvdy1icmVha3BvaW50cykgPiAwIHtcbiAgICBAaW5jbHVkZSBtcS1zaG93LWJyZWFrcG9pbnRzO1xufVxuIiwKCQkiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiogVG91Y2ggZGV2aWNlc1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cclxuQGltcG9ydCBcImdlbmVyYWxfbWl4aW5zXCI7XHJcblxyXG5AbWl4aW4gYm94LXNoYWRvd3tcclxuICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLDAsMCwuMTUpO1xyXG59XHJcblxyXG5AbWl4aW4gdG91Y2gtc2NyZWVuLXN0eWxlcyB7XHJcblxyXG4gIC8vIEJ1dHRvbnNcclxuICBbZGF0YS1yb2xlPVwiYnV0dG9uXCJdOm5vdCgubm9uLXJlc3BvbnNpdmUpe1xyXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdztcclxuXHJcbiAgICBjb2xvcjogIzMzMyAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogI2VlZTtcclxuXHJcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7XHJcbiAgICBib3JkZXItd2lkdGg6IDFweDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XHJcblxyXG5cclxuICAgIG1hcmdpbjogLjVlbSAwO1xyXG4gICAgcGFkZGluZzogLjdlbSAxZW07XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcblxyXG4gICAgJjpob3ZlciwgJjphY3RpdmV7XHJcbiAgICAgIGJhY2tncm91bmQ6ICNlOGYwZmY7XHJcbiAgICB9XHJcblxyXG4gICAgJltkYXRhLWljb25de1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcclxuICAgICAgaXtcclxuICAgICAgICBAaW5jbHVkZSBjZW50cmVZO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICBsZWZ0OiA4cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmdyZWVuIHtcclxuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzhkZGRhMCAwJSwgIzNkZGI4YyA1MCUsICM4ZGRkYTAgMTAwJSk7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogIzJiNmIzNztcclxuICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC41KTsgLy9oZWF2aWVyIHNoYWRvdyBvbiBkYXJrIGdyZWVuIGJnXHJcbiAgICAgICY6aG92ZXIsICY6YWN0aXZlIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZGNmNGUxIDAlLCAjM2RkYjhjIDUwJSwgI2RjZjRlMSAxMDAlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5ibHVle1xyXG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM4ZGMwZGQgMCUsIzNkYWNkYiA1MCUsIzhkYzBkZCAxMDAlKTtcclxuICAgICAgICBib3JkZXItY29sb3I6ICMxMjYxNjc7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4zKTtcclxuICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZXtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNkY2UxZjQgMCUsIzZlYWNlYiA1MCUsI2RjZTFmNCAxMDAlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBMaXN0dmlld3NcclxuICBbZGF0YS1yb2xlPVwibGlzdHZpZXdcIl06bm90KC5ub24tcmVzcG9uc2l2ZSl7XHJcbiAgICBAaW5jbHVkZSBib3h5O1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHJcblxyXG4gICAgPmxpe1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBwYWRkaW5nOiA4cHggMTZweCA4cHggOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBib3JkZXItY29sb3I6ICNkZGQ7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIEBpbmNsdWRlIG1xcygkdW50aWw6IHRhYmxldDdpbmNoKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGF7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgbXFzKCR1bnRpbDogdGFibGV0N2luY2gpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICBjb250ZW50OiAnPic7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICByaWdodDogNHB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBAaW5jbHVkZSBtcXMoJHVudGlsOiB0YWJsZXQ3aW5jaCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIExpbmsgbGlzdHNcclxuICA6bm90KC5ub24tcmVzcG9uc2l2ZSk6bm90KFtkYXRhLXJvbGVdKTpub3QoW3JvbGVdKSA+IGxpID4gYTpvbmx5LWNoaWxke1xyXG4gICAgcGFkZGluZzogOHB4IDA7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIiwKCQkiQGltcG9ydCBcImNvbXBvbmVudC9sb2FkZXJcIjtcclxuXHJcbiRsZWZ0Q29sV2lkdGg6IDUzNnB4O1xyXG4kcmlnaHRDb2xXaWR0aDogMzc2cHg7XHJcblxyXG4uY29sLCAuY29sICp7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG5ib2R5LmNvbC1yZWFkeXtcclxuICAuY29se1xyXG4gICAgJjphZnRlcntcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbiAgLmNvbCwgLmNvbCAqe1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB9XHJcbn1cclxuXHJcbmJvZHk6bm90KC5jb2wtcmVhZHkpe1xyXG4gIC5jb2x7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi5jb2x7XHJcbiAgQGluY2x1ZGUgbG9hZGVyLWludmVydGVkO1xyXG4gICY6YWZ0ZXJ7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxufVxyXG5cclxuLmxlZnQuY29sIHtcclxuICBmbG9hdDpsZWZ0O1xyXG4gIC5uYXJyb3cuYm94e1xyXG4gICAgbWF4LXdpZHRoOiAkbGVmdENvbFdpZHRoO1xyXG4gIH1cclxufVxyXG5cclxuLnJpZ2h0LmNvbCB7XHJcbiAgZmxvYXQ6bGVmdDtcclxuICB3aWR0aDogJHJpZ2h0Q29sV2lkdGg7XHJcbn1cclxuXHJcbi5ib3hbZGF0YS1jb2wtZHVhbD1cInJpZ2h0XCJdIHtcclxuICBwYWRkaW5nLXRvcDogNHB4O1xyXG59XHJcblxyXG4vLyBTaW5nbGUgY29sIGxheW91dFxyXG5ib2R5LmNvbC1zaW5nbGV7XHJcbiAgQGluY2x1ZGUgdG91Y2gtc2NyZWVuLXN0eWxlcztcclxuICBAaW5jbHVkZSBtcXMoJGZyb206IHRhYmxldCkge1xyXG4gICAgLnJpZ2h0LmNvbHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDhweCkgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luOiAwIC00cHg7XHJcbiAgICAgIC5ib3gge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE2cHgpO1xyXG4gICAgICAgIG1hcmdpbjogMCA4cHg7XHJcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKXtcclxuICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbil7XHJcbiAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIFtkYXRhLXJvbGU9XCJsaXN0dmlld1wiXXtcclxuICAgIG1hcmdpbjogMTZweCAwIDAgMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmxlZnQuY29sLCAucmlnaHQuY29se1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBEdWFsIGNvbCBsYXlvdXRcclxuYm9keS5jb2wtZHVhbHtcclxuICAubGVmdC5jb2x7XHJcbiAgICB3aWR0aDogJGxlZnRDb2xXaWR0aDtcclxuICAgIG1hcmdpbi1yaWdodDoxNnB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIGRlZmF1bHQgc2luZ2xlIGNvbHVtbiBvcmRlcjogYXQgdGhlIGJvdHRvbVxyXG4uYm94IHtcclxuICBvcmRlcjogMTAwO1xyXG59XHJcblxyXG5bZGF0YS1yb2xlPVwibGlzdHZpZXdcIl17XHJcbiAgPmxpe1xyXG4gICAgcGFkZGluZzogMnB4IDA7XHJcbiAgfVxyXG59XHJcbiIsCgkJIi8vIExvYWRpbmcgYW5pbWF0aW9uXG5cbiRsb2FkZXItZGVmYXVsdC1zaXplOiA1MHB4O1xuJGxvYWRlci1kZWZhdWx0LXRoaWNrbmVzczogNXB4O1xuJGxvYWRlci1kZWZhdWx0LWZvcmVncm91bmQ6IHdoaXRlO1xuJGxvYWRlci1kZWZhdWx0LWJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7XG4kbG9hZGVyLWRlZmF1bHQtZm9yZWdyb3VuZC1pbnZlcnRlZDogYmxhY2s7XG4kbG9hZGVyLWRlZmF1bHQtYmFja2dyb3VuZC1pbnZlcnRlZDogcmdiYSgwLDAsMCwwLjI1KTtcblxuQG1peGluIGxvYWRlcihcbiAgJHNpemU6ICRsb2FkZXItZGVmYXVsdC1zaXplLFxuICAkdGhpY2tuZXNzOiAkbG9hZGVyLWRlZmF1bHQtdGhpY2tuZXNzLFxuICAkZm9yZWdyb3VuZDogJGxvYWRlci1kZWZhdWx0LWZvcmVncm91bmQsXG4gICRiYWNrZ3JvdW5kOiAkbG9hZGVyLWRlZmF1bHQtYmFja2dyb3VuZFxuKXtcblxuICBAYXQtcm9vdHtcbiAgICBib2R5Om5vdCguZnVsbHNjcmVlbikgI3smfSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLSgkc2l6ZSAvIDIgKyAkdGhpY2tuZXNzKTtcbiAgICBtYXJnaW4tbGVmdDogLSgkc2l6ZSAvIDIgKyAkdGhpY2tuZXNzKTtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkc2l6ZTtcbiAgICBib3JkZXI6ICR0aGlja25lc3Mgc29saWQgJGJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJGZvcmVncm91bmQ7XG4gICAgYW5pbWF0aW9uOiBsb2FkaW5nIDFzIGVhc2UgaW5maW5pdGU7XG4gIH1cbiAgQGtleWZyYW1lcyBsb2FkaW5nIHtcbiAgICAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbG9hZGVyLWludmVydGVkKFxuICAkc2l6ZTogJGxvYWRlci1kZWZhdWx0LXNpemUsXG4gICR0aGlja25lc3M6ICRsb2FkZXItZGVmYXVsdC10aGlja25lc3MsXG4gICRmb3JlZ3JvdW5kOiAkbG9hZGVyLWRlZmF1bHQtZm9yZWdyb3VuZC1pbnZlcnRlZCxcbiAgJGJhY2tncm91bmQ6ICRsb2FkZXItZGVmYXVsdC1iYWNrZ3JvdW5kLWludmVydGVkXG4pe1xuICBAaW5jbHVkZSBsb2FkZXIoXG4gICAgJHNpemU6ICRzaXplLFxuICAgICR0aGlja25lc3M6ICR0aGlja25lc3MsXG4gICAgJGZvcmVncm91bmQ6ICRmb3JlZ3JvdW5kLFxuICAgICRiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZFxuICApO1xufVxuIiwKCQkiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKiBQcm9tb3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBpbXBvcnQgXCJsb2FkZXJcIjtcblxuLnByb21vLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW1wb3J0IFwic2xpY2tfb3ZlcnJpZGVzXCI7XG5cbiAgLnNsaWNrLWxpc3R7XG4gICAgbWFyZ2luOiAwIC04cHg7XG4gIH1cblxuICAuc2xpY2stc2xpZGV7XG4gICAgbWFyZ2luOiAwIDhweDtcbiAgfVxuXG4gICY6bm90KC5sb2FkZWQpLCAmOm5vdCguZGlzcGxheWVkKXtcbiAgICBAaW5jbHVkZSBsb2FkZXIoXG4gICAgICAgICAgICAkc2l6ZTogNTBweCxcbiAgICAgICAgICAgICR0aGlja25lc3M6IDVweCxcbiAgICAgICAgICAgICRmb3JlZ3JvdW5kOiBibGFjayxcbiAgICAgICAgICAgICRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuMjUpXG4gICAgKTtcbiAgfVxuXG4gICY6bm90KC5kaXNwbGF5ZWQpe1xuICAgIC5zbGljay1hcnJvd3tcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBAYXQtcm9vdCB7XG4gICAgYm9keTpub3QoLmNvbC1yZWFkeSkgI3smfSxcbiAgICAjeyZ9Om5vdCgubG9hZGVkKXtcbiAgICAgIC5wcm9tb3tcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9tb3N7XG4gICAgcGFkZGluZzogOHB4IDAgNHB4IDA7XG4gICAgQGluY2x1ZGUgbXFzKCR1bnRpbDogMzY0cHgpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG4gIC5wcm9tb3tcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC53cmFwcGVye1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGVmdDogLTFweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk5OTk7XG4gICAgfVxuICAgIGltZ3tcbiAgICAgIEBpbmNsdWRlIGJveFNoYWRvdztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnRpdGxlLCAubWVzc2FnZXtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGgyLCBwe1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwwLjUpO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDFweCBibGFjaztcbiAgICAgIH1cbiAgICB9XG4gICAgLnRpdGxle1xuICAgICAgdG9wOiAwO1xuICAgICAgaDJ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRwdDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lc3NhZ2V7XG4gICAgICBib3R0b206IDA7XG4gICAgICBwe1xuICAgICAgICBwYWRkaW5nOiA0cHggMCA0cHggNHB4O1xuICAgICAgICBmb250LXNpemU6IDEwcHQ7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIFNsaWNrIENhcm91c2VsIGRlZmF1bHQgdGhlbWUgb3ZlcnJpZGVzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcblxuICAmOmJlZm9yZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogMTZweDtcbn1cblxuLnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDRcIjtcbiAgZm9udDogNDBweC8xICdGb250QXdlc29tZSc7XG4gIHBhZGRpbmc6IDAgMTZweCAycHggMTJweDtcbn1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogMTZweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5zbGljay1uZXh0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gIGZvbnQ6IDQwcHgvMSAnRm9udEF3ZXNvbWUnO1xuICBwYWRkaW5nOiAwIDEycHggMnB4IDE2cHg7XG59XG5cbi5zbGljay1wcmV2OmhvdmVyOmJlZm9yZSxcbi5zbGljay1uZXh0OmhvdmVyOmJlZm9yZSB7XG4gIGNvbG9yOiAjN2U3ZTdlO1xuICBAaW5jbHVkZSB0b3VjaC1zY3JlZW4tZGV2aWNlc3tcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgb3BhY2l0eTogMC43NTtcbiAgfVxufSIsCgkJIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFdhbGsgcGhvdG9zIHNsaWRlc2hvdyB1c2luZyBsaWdodGdhbGxlcnkgLSB3YWxrIGxlYWYgcGFnZVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5AaW1wb3J0IFwiLi4vQGluY2x1ZGUvY29tcG9uZW50L2xpZ2h0Z2FsbGVyeVwiO1xuXG4kd2lkdGg6IDUyMHB4O1xuJGhlaWdodDogMzk0cHg7XG4kYXNwZWN0OiBwZXJjZW50YWdlKCRoZWlnaHQgLyAkd2lkdGgpO1xuXG5cbkBtaXhpbiBkdWFsQ29se1xuICB3aWR0aDogNTIwcHg7XG4gIGhlaWdodDogMzk0cHg7XG59XG5cbkBtaXhpbiBzaW5nbGVDb2x7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkYXNwZWN0O1xufVxuXG4jcGhvdG9zLmxpZ2h0Z2FsbGVyeXtcbiAgQGF0LXJvb3R7XG4gICAgYm9keS5jb2wtZHVhbCAjeyZ9IHtcbiAgICAgIEBpbmNsdWRlIGR1YWxDb2w7XG5cbiAgICAgICY6bm90KC5mdWxsc2NyZWVuKSAubGctY29udGFpbmVye1xuICAgICAgICBAaW5jbHVkZSBkdWFsQ29sO1xuICAgICAgfVxuICAgIH1cblxuICAgIGJvZHkuY29sLXNpbmdsZSAjeyZ9IHtcbiAgICAgIEBpbmNsdWRlIHNpbmdsZUNvbDtcbiAgICAgICY6bm90KC5mdWxsc2NyZWVuKSAubGctY29udGFpbmVye1xuICAgICAgICBAaW5jbHVkZSBzaW5nbGVDb2w7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjphZnRlcntcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbn1cbiIsCgkJIi8qXG4gKiBMaWdodGdhbGxlcnkgcGhvdG8gc2xpZGVzaG93XG4gKi9cbi5saWdodGdhbGxlcnl7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLmZ1bGxzY3JlZW57XG4gICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuXG4gICAgLmxpZ2h0R2FsbGVyeS1jYXB0aW9ucyBwe1xuICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoLmZ1bGxzY3JlZW4pe1xuICAgIC5sZy1uZXh0LCAubGctcHJldntcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmxpZ2h0R2FsbGVyeS1jYXB0aW9uc3tcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICY6OmJlZm9yZXtcbiAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIG9wYWNpdHk6IDAuODU7XG4gICAgfVxuICB9XG59XG5cbiIsCgkJIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuIFdhbGsgbG9jYXRpb24gc2hvd24gb24gb3V0bGluZSBtYXAgb2YgQ29ybndhbGxcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuI291dGxpbmUtbWFwe1xuICBtYXJnaW46IDhweCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gc2V0IHRvIG1hcCBpbWFnZSBkaW1lbnNpb25cbiAgd2lkdGg6IDMyMHB4O1xuICBoZWlnaHQ6IDMyMHB4O1xuXG4gIGltZ3tcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAuaW5kaWNhdG9ye1xuICAgICRzaXplOiA4cHg7XG4gICAgJGNvbG9yOiByZWQ7XG4gICAgJGJvcmRlci1jb2xvcjogd2hpdGU7XG4gICAgJHNoYWRvdy1jb2xvcjogd2hpdGU7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAwIDAgM3B4ICRzaGFkb3ctY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgfVxufVxuIiwKCQkiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4qIEFwcCBwcm9tb1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4jYXBwe1xyXG4gIEBpbmNsdWRlIGJveEdyYWRpZW50Qmx1ZTtcclxuICBAaW1wb3J0IFwiLi4vLi4vQGluY2x1ZGUvY29tcG9uZW50L3NsaWRlc2hvd1wiO1xyXG4gIHBhZGRpbmc6IDRweCAwIDAgMDtcclxuICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gIEBpbmNsdWRlIG1xcygkdW50aWw6IHBhZ2UpIHtcclxuICAgIG1hcmdpbi10b3A6IDhweDtcclxuICB9XHJcblxyXG4gIC5zbGlkZXNob3d7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZTtcclxuICAgICYubG9hZGluZ3tcclxuICAgICAgcGFkZGluZy10b3A6IDM3LjcyJTsgLy8gMzUwLzkyOCBhc3BlY3QgcmF0aW9cclxuICAgIH1cclxuICB9XHJcbiAgaDJ7XHJcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgcGFkZGluZzogMCA4cHggOHB4IDhweDtcclxuICB9XHJcbn1cclxuXHJcbiNhcHAtYWR7XHJcbiAgQGluY2x1ZGUgYm94KCRibHVlKTtcclxuICBAaW1wb3J0IFwiLi4vLi4vQGluY2x1ZGUvYXBwX2FkX2Zvcm1hdHNcIjtcclxuICBwYWRkaW5nOiAwIDRweCA4cHggNHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xyXG4gICY6YmVmb3Jle1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICB9XHJcbn1cclxuIiwKCQkiLypcbiAqIFJlc3BvbnNpdmUgc2xpZGVzaG93IHdpZGdldCB1c2luZyBTbGljayBjYXJvdXNlbFxuICovXG5cbkBpbXBvcnQgXCJzbGlja19vdmVycmlkZXNcIjtcbkBpbXBvcnQgXCJsb2FkZXJcIjtcblxuLnNsaWRlc2hvdyB7XG4gIG1hcmdpbjogMCBhdXRvIDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG4gICY6bm90KC5pbml0aWFsaXNlZCl7XG4gICAgLnNsaWRle1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmxvYWRpbmd7XG4gICAgQGluY2x1ZGUgbG9hZGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmNhcHRpb257XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNsaWRle1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIC5jYXB0aW9ue1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICBpbWd7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pbml0aWFsaXNlZDpub3QoLmxvYWRpbmcpe1xuICAgIC53cmFwcGVyOm5vdCguZXZhbHVhdGluZyl7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5jYXB0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgY2VudHJlWTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zbGlkZSB7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAuY2FwdGlvbiB7XG4gICAgICBmb250LWZhbWlseTogXCJDb21pbmcgU29vblwiO1xuICAgICAgY29sb3I6ICNkZGQ7XG4gICAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIGZvbnQtc2l6ZTogMTZwdDtcbiAgICAgIEBpbmNsdWRlIG1xcygkdW50aWw6IHRhYmxldDdpbmNoKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJwdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIuYXBwLWZvcm1hdHMge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC8vZGVza3RvcFxuICBAaW5jbHVkZSBtcXMoJGZyb206IHBhZ2UpIHtcbiAgICAuYXBwLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy90YWJsZXRcbiAgQGluY2x1ZGUgbXFzKCR1bnRpbDogcGFnZSkge1xuICAgIC50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtcXMoJGZyb206IHRhYmxldDdpbmNoLCAkdW50aWw6IHBhZ2UpIHtcbiAgICAuaWNvbntcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtcXMoJHVudGlsOiB0YWJsZXQ3aW5jaCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICA+IGRpdi5zdG9yZS1saW5rIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXG4gICAgLmlubmVye1xuICAgICAgQGluY2x1ZGUgY2VudHJlWDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiA5OCU7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTJweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuXG4gICAgICBAaW5jbHVkZSBtcXMoJGZyb206IHRhYmxldDdpbmNoKXtcbiAgICAgICAgbWFyZ2luOiA4cHggMCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDhweCAwIDRweCAwO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWFhYWFhO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtcXMoJGZyb206IHRhYmxldDdpbmNoLCAkdW50aWw6IHBhZ2UpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtcXMoJGZyb206IHRhYmxldDdpbmNoLCAkdW50aWw6IHRhYmxldCkge1xuICAgICAgICBwYWRkaW5nOiA0cHggMCA4cHggMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIG1xcygkZnJvbTogcGFnZSkge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGEge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pb3N7XG4gICAgICAuaWNvbntcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuYW5kcm9pZHtcbiAgICAgIEBpbmNsdWRlIG1xcygkZnJvbTogdGFibGV0KSB7XG4gICAgICAgIC5pY29uIGltZ3tcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaWNvbntcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlubmVyID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICBAaW5jbHVkZSBtcXMoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICYuaWNvbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE2cHg7XG4gICAgICAgIEBpbmNsdWRlIG1xcygkdW50aWw6IHBhZ2UpIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudGV4dCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICBmb250LXZhcmlhbnQ6IHNtYWxsLWNhcHM7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgYXtcbiAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucXJ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcblxuICAgICAgICBAaW5jbHVkZSBtcXMoJHVudGlsOiB0YWJsZXQpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtcXMoJHVudGlsOiB0YWJsZXQ3aW5jaCkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZ3tcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgICAgIEBpbmNsdWRlIG1xcygkdW50aWw6IHBhZ2UpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLmFwcC1idXR0b257XG4gICAgICAgIEBpbmNsdWRlIG1xcygkZnJvbTogdGFibGV0LCAkdW50aWw6IHBhZ2UpIHtcbiAgICAgICAgICBAaW5jbHVkZSBjZW50cmVZO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xcygkdW50aWw6IHRhYmxldCkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGF7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MnB4O1xuICAgICAgICAgIEBpbmNsdWRlIG1xcygkdW50aWw6IHRhYmxldDdpbmNoKSB7XG4gICAgICAgICAgICBtYXJnaW46IDEycHggMCAwIDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLAoJCSIjbG9jYXRpb25zIHtcclxuICBAaW5jbHVkZSBib3hHcmFkaWVudEJsdWU7XHJcbiAgcGFkZGluZzogOHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDhweDtcclxuXHJcbiAgaDIge1xyXG4gICAgYm9yZGVyOjA7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgfVxyXG4gIHVsIHtcclxuICAgIG1hcmdpbjowO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG4gIGxpIHtcclxuICAgIGRpc3BsYXk6IGlubGluZTtcclxuICB9XHJcbiAgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCIg4oCiIFwiOyAvKiBVbmljb2RlIGRvdCBzZXBhcmF0b3IgKi9cclxuICAgIG1hcmdpbjogMCA4cHg7IC8qIEFkanVzdCBzcGFjaW5nICovXHJcbiAgfVxyXG59IgoJXSwKCSJuYW1lcyI6IFtdLAoJIm1hcHBpbmdzIjogIjtBSUNBOztHQUVHO0FBV0g7O0dBRUc7QUVoQkg7O3lEQUV5RDtBTEl6RCxBQUFBLElBQUksQ0FBQTtFQUNGLFVBQVUsRUFBRSxPQUFPO0NBQ3BCOztBTUhELEFBQUEsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7RUFD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 */