/**
 * Breakpoints
 */
/**
 * Input capabilities
 */
/********************************************************
* Touch devices
********************************************************/
.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%;
}

.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="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) > * {
  position: relative;
  z-index: 2;
}

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

/******************************************************
* Top section (single column)
******************************************************/
section.top .overview {
  background-color: rgba(124, 197, 149, 0.65);
  border-radius: 4px;
  box-shadow: 4px 4px 4px #bbb;
  margin-bottom: 16px;
  padding: 8px;
}

section.top .overview, section.top .overview a {
  color: white;
}

section.top .overview, section.top .overview a {
  color: black;
}

section.top .overview p {
  margin: 0;
}

section.top p {
  margin-top: 0;
}

section.top .apps {
  margin-top: 16px;
}

section.top .apps p {
  margin-bottom: 0;
}

section.top #instruction {
  padding-top: 8px;
}

/******************************************************
* Google map
******************************************************/
#map-container {
  position: relative;
  width: 532px;
}

@media screen and (max-width: 59.99em) {
  #map-container {
    width: 100%;
  }
}

#map {
  max-width: 100% !important;
  width: 532px;
  height: 480px;
}

@media screen and (max-width: 59.99em) {
  #map {
    width: 100%;
    order: 1;
  }
  #map, #map * {
    pointer-events: none !important;
  }
}

#map .info-content {
  cursor: pointer;
}

#map.hide-walk-polys .walk-poly {
  display: none;
}

#static-map {
  width: 100%;
}

#static-map img {
  display: block;
  width: 100%;
  max-width: 532px;
}

#full-screen-map {
  position: absolute !important;
  right: 10px;
  top: 10px;
  width: 120px;
  height: 20px;
  z-index: 9000 !important;
  background: #ffffff;
  border-radius: 4px;
  padding: 4px;
  text-align: center;
  box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.4);
}

@media screen and (max-width: 59.99em) {
  #full-screen-map {
    background-color: #2f2f2f;
    border-radius: 4px;
    z-index: 0;
    position: relative;
    box-shadow: 4px 4px 4px #bbb;
    color: #eee;
    background-color: transparent;
    color: white;
  }
  #full-screen-map, #full-screen-map a {
    color: white;
  }
  #full-screen-map: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;
  }
  #full-screen-map:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 18px;
    left: 0;
    top: 18px;
    background: linear-gradient(#404040, #2f2f2f);
    z-index: 1;
  }
  #full-screen-map > * {
    position: relative;
    z-index: 2;
  }
  #full-screen-map a, #full-screen-map strong {
    color: white;
  }
  #full-screen-map h2 {
    border: none;
    margin: 0;
  }
  #full-screen-map:after {
    height: 12px;
    border-radius: 0 0 4px 4px;
  }
}

#full-screen-map a {
  text-decoration: none;
  position: relative;
  top: 1px;
}

#full-screen-map a:hover {
  text-decoration: underline;
}

/******************************************************
* Browse form
******************************************************/
#browse {
  padding: 8px 16px;
}

#browse form {
  margin: 0;
}

#browse .filter {
  display: inline-block;
  margin-bottom: 8px;
}

#browse h3 {
  margin: 0 0 16px 0;
  text-decoration: none;
}

#browse label {
  font-size: 11pt;
  width: 72px;
  margin-right: 8px;
  display: block;
}

@media screen and (min-width: 60em) {
  #browse label {
    float: left;
    position: relative;
    top: 2px;
  }
}

@media screen and (min-width: 60em) and (pointer: coarse) and (hover: none) {
  #browse label {
    clear: left;
    padding: 0;
  }
}

@media screen and (min-width: 60em) and (max-width: 48.615em) {
  #browse label {
    clear: left;
    padding: 0;
  }
}

@media screen and (max-width: 59.99em) {
  #browse label {
    margin-bottom: 4px;
  }
}

#browse select {
  width: 204px;
}

@media screen and (max-width: 59.99em) {
  #browse select {
    margin-right: 16px;
    margin-bottom: 16px;
  }
}

@media screen and (min-width: 60em) {
  .submit {
    transform: translateX(-50%);
    margin-left: 282px;
  }
}

@media screen and (min-width: 60em) and (pointer: coarse) and (hover: none) {
  .submit {
    margin-left: 268px;
  }
}

@media screen and (min-width: 60em) and (max-width: 48.615em) {
  .submit {
    margin-left: 268px;
  }
}

@media screen and (max-width: 59.99em) {
  .submit {
    display: inline-block;
  }
}

mi.filter {
  padding-top: 4px;
  padding-bottom: 4px;
}

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

.promo-container:not(.loaded) {
  position: relative;
}

.promo-container:not(.loaded)::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);
  }
}

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

/******************************************************
* Reviews
******************************************************/
#reviews {
  background-color: rgba(124, 197, 149, 0.65);
  border-radius: 4px;
  margin: 16px 0 8px 0;
  padding: 8px 16px;
  height: 80px;
}

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

#reviews, #reviews a {
  color: black;
}

@media screen and (max-width: 59.99em) {
  #reviews {
    height: 120px;
  }
}

@media screen and (max-width: 37.49em) {
  #reviews {
    height: 160px;
  }
}

#reviews #review-list {
  overflow-y: visible !important;
}

#reviews .arrow-icon {
  display: none;
}

#reviews blockquote {
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  position: relative !important;
  font-size: 14px !important;
  text-align: center;
  display: none;
}

#reviews blockquote.showReview {
  display: block;
}

/******************************************************
* App promo
******************************************************/
#app {
  background-color: #131;
  border-radius: 4px;
  z-index: 0;
  position: relative;
  /*
 * Responsive slideshow widget
 */
  /******************************************************
* 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(#2e802e, #174517);
  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(#184719, #113311);
  z-index: 1;
}

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

#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 {
  position: relative;
  width: 100%;
}

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

#app .slideshow {
  background-color: #131;
}

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

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

#app-ad {
  background-color: #285d1e;
  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;
}

/********************************************************
* Column layout
********************************************************/
#right-column {
  float: right;
  margin-left: 16px;
  width: 360px;
}

/******************************************************
* box styling
******************************************************/
.box {
  box-shadow: 4px 4px 4px #bbb;
}

.box.gradient {
  background-color: #131;
  border-radius: 4px;
  z-index: 0;
  position: relative;
  padding: 8px;
  color: white;
}

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

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

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

.box.gradient > * {
  position: relative;
  z-index: 2;
}

.box.gradient a {
  color: white !important;
}

.box > h2, .box > h3 {
  text-decoration: none;
  margin: 0;
}

/*****************************************************************
 Single column box order
*****************************************************************/
#map-container {
  order: 1;
}

.information {
  order: 2;
}

#browse {
  order: 3;
}

/******************************************************
* Information
******************************************************/
.information {
  height: 310px;
  margin-top: 16px;
  display: table;
  font-family: Coming Soon;
  font-size: 13pt;
  padding: 0 16px !important;
}

@media (pointer: coarse) and (hover: none) {
  .information {
    height: 226px;
    font-size: 11pt;
  }
}

@media screen and (max-width: 48.615em) {
  .information {
    height: 226px;
    font-size: 11pt;
  }
}

@media screen and (max-width: 59.99em) {
  .information {
    height: auto;
    display: block;
    margin-bottom: 16px;
  }
}

@media screen and (max-width: 37.49em) {
  .information .not-phone {
    display: none;
  }
}

.information .wrapper {
  display: table-cell;
  vertical-align: middle;
}

/******************************************************
* Walk promo slideshow
******************************************************/
.promo-container:not(.loaded) {
  padding-top: 26.29%;
}

@media screen and (max-width: 60em) {
  .promo-container:not(.loaded) {
    padding-top: 39.44%;
  }
}

@media screen and (max-width: 39.625em) {
  .promo-container:not(.loaded) {
    padding-top: 78.88%;
  }
}

/******************************************************
* Search form
******************************************************/
#search {
  margin-top: 8px;
  display: none;
  /* make map taller - about 540px when shown */
}

#search h3 {
  margin-top: 0;
}

/******************************************************
* Announcements when we need them
******************************************************/
.announce {
  background-color: rgba(124, 197, 149, 0.65);
  border-radius: 4px;
  box-shadow: 4px 4px 4px #bbb;
  margin-top: 16px;
  padding: 8px;
}

.announce, .announce a {
  color: white;
}

.announce, .announce a {
  color: black;
}

.announce p {
  margin: 0;
}

/********************************************************
* Print mods
********************************************************/
@media print {
  #browse {
    display: none;
  }
  #right-column {
    display: none;
  }
  #google-map {
    width: 100%;
  }
  #content {
    margin-top: 100px;
  }
  #banner {
    position: relative;
    top: -100px;
  }
}

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiaG9tZS5jc3MiLAoJInNvdXJjZXMiOiBbCgkJIi4uL3Njc3MvaG9tZS5zY3NzIiwKCQkiLi4vc2Nzcy9AaW5jbHVkZS9fY29tbW9uLnNjc3MiLAoJCSIuLi9zY3NzL0BpbmNsdWRlL192YXJpYWJsZXMuc2NzcyIsCgkJIi4uL3Njc3MvQGluY2x1ZGUvX2dlbmVyYWxfbWl4aW5zLnNjc3MiLAoJCSIuLi9zY3NzL0BpbmNsdWRlL19tZWRpYS5zY3NzIiwKCQkiLi4vc2Nzcy9AaW5jbHVkZS9fbXEuc2NzcyIsCgkJIi4uL3Njc3MvQGluY2x1ZGUvX3RvdWNoLnNjc3MiLAoJCSIuLi9zY3NzL0BpbmNsdWRlL19yZXNwb25zaXZlX2NvbHVtbnMuc2NzcyIsCgkJIi4uL3Njc3MvQGluY2x1ZGUvY29tcG9uZW50L19sb2FkZXIuc2NzcyIsCgkJIi4uL3Njc3MvQGhvbWUvX3RvcF9zZWN0aW9uLnNjc3MiLAoJCSIuLi9zY3NzL0Bob21lL19tYXAuc2NzcyIsCgkJIi4uL3Njc3MvQGhvbWUvX2Jyb3dzZV9mb3JtLnNjc3MiLAoJCSIuLi9zY3NzL0BpbmNsdWRlL2NvbXBvbmVudC9fcHJvbW9zLnNjc3MiLAoJCSIuLi9zY3NzL0BpbmNsdWRlL2NvbXBvbmVudC9fc2xpY2tfb3ZlcnJpZGVzLnNjc3MiLAoJCSIuLi9zY3NzL0Bob21lL19yZXZpZXdzLnNjc3MiLAoJCSIuLi9zY3NzL0Bob21lL19hcHBfcHJvbW8uc2NzcyIsCgkJIi4uL3Njc3MvQGluY2x1ZGUvY29tcG9uZW50L19zbGlkZXNob3cuc2NzcyIsCgkJIi4uL3Njc3MvQGluY2x1ZGUvX2FwcF9hZF9mb3JtYXRzLnNjc3MiCgldLAoJInNvdXJjZXNDb250ZW50IjogWwoJCSIvLyBJbXBvcnQgY29tcG9uZW50c1xuQGltcG9ydCBcIkBpbmNsdWRlL2NvbW1vblwiO1xuQGltcG9ydCBcIkBpbmNsdWRlL3Jlc3BvbnNpdmVfY29sdW1uc1wiO1xuQGltcG9ydCBcIkBob21lL3RvcF9zZWN0aW9uXCI7XG5AaW1wb3J0IFwiQGhvbWUvbWFwXCI7XG5AaW1wb3J0IFwiQGhvbWUvYnJvd3NlX2Zvcm1cIjtcbkBpbXBvcnQgXCJAaW5jbHVkZS9jb21wb25lbnQvcHJvbW9zXCI7XG5AaW1wb3J0IFwiQGhvbWUvcmV2aWV3c1wiO1xuQGltcG9ydCBcIkBob21lL2FwcF9wcm9tb1wiO1xuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogQ29sdW1uIGxheW91dFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiNyaWdodC1jb2x1bW4ge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAxNnB4O1xuICB3aWR0aDozNjBweDtcbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKiBib3ggc3R5bGluZ1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4uYm94e1xuICBAaW5jbHVkZSBib3hTaGFkb3c7XG4gICYuZ3JhZGllbnR7XG4gICAgQGluY2x1ZGUgYm94R3JhZGllbnREYXJrR3JlZW47XG4gICAgcGFkZGluZzo4cHg7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGF7XG4gICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICA+IGgyLCA+IGgze1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gU2luZ2xlIGNvbHVtbiBib3ggb3JkZXJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuI21hcC1jb250YWluZXJ7XG4gIG9yZGVyOiAxO1xufVxuXG4uaW5mb3JtYXRpb257XG4gIG9yZGVyOiAyO1xufVxuXG4jYnJvd3Nle1xuICBvcmRlcjogMztcbn1cblxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogSW5mb3JtYXRpb25cbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5pbmZvcm1hdGlvbntcbiAgaGVpZ2h0OiAzMTBweDtcbiAgbWFyZ2luLXRvcDogMTZweDtcbiAgZGlzcGxheTogdGFibGU7XG4gIGZvbnQtZmFtaWx5OiBDb21pbmcgU29vbjtcbiAgZm9udC1zaXplOiAxM3B0O1xuICBwYWRkaW5nOiAwIDE2cHggIWltcG9ydGFudDtcblxuICBAaW5jbHVkZSB0b3VjaC1zY3JlZW4tZGV2aWNlcyB7XG4gICAgaGVpZ2h0OiAyMjZweDtcbiAgICBmb250LXNpemU6IDExcHQ7XG4gIH1cbiAgQGluY2x1ZGUgbXFzKCR1bnRpbDogcGFnZSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICB9XG4gIEBpbmNsdWRlIG1xcygkdW50aWw6IHRhYmxldDdpbmNoKSB7XG4gICAgLm5vdC1waG9uZXtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIC53cmFwcGVye1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIFdhbGsgcHJvbW8gc2xpZGVzaG93XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ucHJvbW8tY29udGFpbmVyIHtcbiAgJjpub3QoLmxvYWRlZCl7XG4gICAgcGFkZGluZy10b3A6IDI2LjI5JTsgLy8gYXNwZWN0IGZvciAzNDR4MjU4IC8gM1xuICAgIEBpbmNsdWRlIG1xcygkdW50aWw6IDk2MHB4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogMzkuNDQlOyAvLyBhc3BlY3QgZm9yIDM0NHgyNTggLyAyXG4gICAgfVxuICAgIEBpbmNsdWRlIG1xcygkdW50aWw6IDYzNHB4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogNzguODglOyAvLyBhc3BlY3QgZm9yIDM0NHgyNTggLyAxXG4gICAgfVxuICB9XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKiBTZWFyY2ggZm9ybVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4jc2VhcmNoIHtcbiAgbWFyZ2luLXRvcDogOHB4O1xuICBkaXNwbGF5Om5vbmU7IC8qIG1ha2UgbWFwIHRhbGxlciAtIGFib3V0IDU0MHB4IHdoZW4gc2hvd24gKi9cblxuICBoMyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogQW5ub3VuY2VtZW50cyB3aGVuIHdlIG5lZWQgdGhlbVxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4uYW5ub3VuY2Uge1xuICAgIEBpbmNsdWRlIGxpZ2h0R3JlZW5Cb3g7XG4gICAgQGluY2x1ZGUgYm94U2hhZG93O1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgcGFkZGluZzogOHB4O1xuICAgIHB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogUHJpbnQgbW9kc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbkBtZWRpYSBwcmludCB7XG4gICNicm93c2Uge1xuICAgIGRpc3BsYXk6IG5vbmVcbiAgfVxuICAjcmlnaHQtY29sdW1uIHtcbiAgICBkaXNwbGF5OiBub25lXG4gIH1cbiAgI2dvb2dsZS1tYXAge1xuICAgIHdpZHRoOiAxMDAlXG4gIH1cbiAgI2NvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICB9XG4gICNiYW5uZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0xMDBweDtcbiAgfVxufVxuIiwKCQkiLy8gQ29tbW9uIHN0eWxlc1xyXG5cclxuQGltcG9ydCBcInZhcmlhYmxlc1wiO1xyXG5AaW1wb3J0IFwiZ2VuZXJhbF9taXhpbnNcIjtcclxuQGltcG9ydCBcIm1lZGlhXCI7XHJcbkBpbXBvcnQgXCJ0b3VjaFwiO1xyXG5cclxuIiwKCQkiLy8gVmFyaWFibGVzXG5cbiRwYWdlLXdpZHRoOiA5NjBweDtcbiRyZXNwb25zaXZlLW1lbnU6IDc3OHB4O1xuXG4kZ3JleTogIzJmMmYyZjtcbiRkYXJrLWdyZWVuOiAjMTMxO1xuJGdyZWVuOiAjMjg1ZDFlO1xuJGxpZ2h0LWdyZWVuOiByZ2JhKDEyNCwgMTk3LCAxNDksIDAuNjUpO1xuJHJlZDogIzVjMWUxZTtcbiRkYXJrLXJlZDogIzY2MDAwMDtcblxuLy8gQm94IGdyYWRpZW50c1xuJGJveC1HcmFkLUhlaWdodDogMThweDtcblxuJGJveC1CRy1HcmV5OiAkZ3JleTtcbiRib3gtR3JhZC1VcHBlci1Ub3AtR3JleTogIzcxNzE3MTtcbiRib3gtR3JhZC1VcHBlci1Cb3R0b20tR3JleTogIzQyNDE0MTtcbiRib3gtR3JhZC1Mb3dlci1Ub3AtR3JleTogIzQwNDA0MDtcbiRib3gtR3JhZC1Mb3dlci1Cb3R0b20tR3JleTogIzJmMmYyZjtcblxuJGJveC1CRy1HcmVlbjogJGdyZWVuO1xuJGJveC1HcmFkLVVwcGVyLVRvcC1HcmVlbjogIzQ2OTkzNjtcbiRib3gtR3JhZC1VcHBlci1Cb3R0b20tR3JlZW46ICMzMDcwMjU7XG4kYm94LUdyYWQtTG93ZXItVG9wLUdyZWVuOiAjMzA3MjI1O1xuJGJveC1HcmFkLUxvd2VyLUJvdHRvbS1HcmVlbjogIzI4NWQxZTtcblxuJGJveC1CRy1EYXJrLUdyZWVuOiAkZGFyay1ncmVlbjtcbiRib3gtR3JhZC1VcHBlci1Ub3AtRGFyay1HcmVlbjogIzJlODAyZTtcbiRib3gtR3JhZC1VcHBlci1Cb3R0b20tRGFyay1HcmVlbjogIzE3NDUxNztcbiRib3gtR3JhZC1Mb3dlci1Ub3AtRGFyay1HcmVlbjogIzE4NDcxOTtcbiRib3gtR3JhZC1Mb3dlci1Cb3R0b20tRGFyay1HcmVlbjogIzExMzMxMTtcblxuJGJveC1CRy1SZWQ6ICRyZWQ7XG4kYm94LUdyYWQtVXBwZXItVG9wLVJlZDogI2E4M2IzYjtcbiRib3gtR3JhZC1VcHBlci1Cb3R0b20tUmVkOiAjNmUyNTI1O1xuJGJveC1HcmFkLUxvd2VyLVRvcC1SZWQ6ICM3MDI1MjU7XG4kYm94LUdyYWQtTG93ZXItQm90dG9tLVJlZDogIzVjMWUxZTtcblxuJG1xLWJyZWFrcG9pbnQtbW9iaWxlOiAzMjBweDtcbiRtcS1icmVha3BvaW50LXRhYmxldDdpbmNoOiA2MDBweDtcbiRtcS1icmVha3BvaW50LXRhYmxldDogNzQwcHg7XG4kbXEtYnJlYWtwb2ludC1kZXNrdG9wOiA5ODBweDtcbiRtcS1icmVha3BvaW50LXdpZGU6IDEzMDBweDtcbiRtcS1icmVha3BvaW50LWRlc2t0b3BBZDogODEwcHg7XG4kbXEtYnJlYWtwb2ludC1tb2JpbGVMYW5kc2NhcGU6IDQ4MHB4O1xuJG1xLWJyZWFrcG9pbnQtbWVkaXVtTG9nbzogNDQwcHg7XG4kbXEtYnJlYWtwb2ludC1zbWFsbExvZ286IDMyMHB4O1xuJG1xLWJyZWFrcG9pbnQtaGVhZGVyU29jaWFsSWNvbnM6IDk1NHB4O1xuJG1xLWJyZWFrcG9pbnQtcGFnZTogJHBhZ2Utd2lkdGg7XG4kbXEtYnJlYWtwb2ludC1yZXNwb25zaXZlTWVudTogJHJlc3BvbnNpdmUtbWVudTtcblxuXG4vLyBCcmVha3BvaW50c1xuJG1xLWJyZWFrcG9pbnRzOiAoXG4gICAgICAgIG1vYmlsZTogICRtcS1icmVha3BvaW50LW1vYmlsZSxcbiAgICAgICAgdGFibGV0N2luY2g6ICAkbXEtYnJlYWtwb2ludC10YWJsZXQ3aW5jaCxcbiAgICAgICAgdGFibGV0OiAgJG1xLWJyZWFrcG9pbnQtdGFibGV0LFxuICAgICAgICBkZXNrdG9wOiAkbXEtYnJlYWtwb2ludC1kZXNrdG9wLFxuICAgICAgICB3aWRlOiAkbXEtYnJlYWtwb2ludC13aWRlLFxuXG4gIC8vIFR3ZWFrcG9pbnRzXG4gICAgICAgIGRlc2t0b3BBZDogJG1xLWJyZWFrcG9pbnQtZGVza3RvcEFkLFxuICAgICAgICBtb2JpbGVMYW5kc2NhcGU6ICRtcS1icmVha3BvaW50LW1vYmlsZUxhbmRzY2FwZSxcbiAgICAgICAgc21hbGxMb2dvOiAkbXEtYnJlYWtwb2ludC1zbWFsbExvZ28sXG4gICAgICAgIHBhZ2U6ICRtcS1icmVha3BvaW50LXBhZ2UsXG4gICAgICAgIHJlc3BvbnNpdmVNZW51OiAkbXEtYnJlYWtwb2ludC1yZXNwb25zaXZlTWVudSxcbiAgICAgICAgaGVhZGVyU29jaWFsSWNvbnM6ICRtcS1icmVha3BvaW50LWhlYWRlclNvY2lhbEljb25zXG4pO1xuXG5cbi8vIFRvIGVuYWJsZSBzdXBwb3J0IGZvciBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IEBtZWRpYSBxdWVyaWVzLFxuLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSkgc2V0ICRtcS1yZXNwb25zaXZlIHRvIGZhbHNlXG4vLyBDcmVhdGUgYSBzZXBhcmF0ZSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byB0aGVzZSBicm93c2Vycyxcbi8vIG1lYW5pbmcgQG1lZGlhIHF1ZXJpZXMgd2lsbCBiZSByYXN0ZXJpemVkLCByZWx5aW5nIG9uIHRoZSBjYXNjYWRlIGl0c2VsZlxuJG1xLXJlc3BvbnNpdmU6IHRydWU7XG5cbi8vIElmIHlvdSB3YW50IHRvIGRpc3BsYXkgdGhlIGN1cnJlbnRseSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wXG4vLyByaWdodCBjb3JuZXIgb2YgeW91ciBzaXRlIGR1cmluZyBkZXZlbG9wbWVudCwgYWRkIHRoZSBicmVha3BvaW50c1xuLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLyRtcS1zaG93LWJyZWFrcG9pbnRzOiAobW9iaWxlLCBtb2JpbGVMYW5kc2NhcGUsIHRhYmxldCwgZGVza3RvcCwgd2lkZSk7XG4iLAoJCSJAbWl4aW4gaVdhbGtNb2JpbGVHcmFkaWVudHtcclxuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjYzlkY2Y0IDAlLCM4MmI1ZWMgMjIlLCMyOThhZTMgNDYlLCMzZWMxZjcgNzAlLCMzZWMxZjcgMTAwJSk7XHJcbn1cclxuXHJcbkBtaXhpbiBjZW50cmVZe1xyXG4gIHRvcDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxufVxyXG5cclxuQG1peGluIGNlbnRyZVh7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxufVxyXG5cclxuQG1peGluIGNlbnRyZVhZe1xyXG4gIHRvcDogNTAlO1xyXG4gIGxlZnQ6IDUwJTtcclxuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgIHRyYW5zbGF0ZVkoLTUwJSk7XHJcbn1cclxuXHJcbkBtaXhpbiBncmV5X2dyYWRpZW50e1xyXG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMTgxLCAxODksIDIwMCwgMSkgMCUsIHJnYmEoMTMwLCAxNDAsIDE0OSwgMSkgMzYlLCByZ2JhKDQwLCA1MiwgNTksIDEpIDEwMCUpO1xyXG59XHJcblxyXG5AbWl4aW4gZ3JlZW5fZ3JhZGllbnR7XHJcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgIzRlYjk0ZSAwJSwgIzEwOTAxMCAzNiUsICMwOTNlMDkgMTAwJSk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3goJGJnKXtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XHJcbiAgYm9yZGVyLXJhZGl1czo0cHg7XHJcbiAgJiwgYXtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICB9XHJcbn1cclxuXHJcbkBtaXhpbiBib3hHcmFkaWVudCgkYmcsICR1cHBlci10b3AsICR1cHBlci1ib3R0b20sICRsb3dlci10b3AsICRsb3dlci1ib3R0b20sICRoZWlnaHQ6ICRib3gtR3JhZC1IZWlnaHQpe1xyXG4gIEBpbmNsdWRlIGJveCgkYmcpO1xyXG4gIHotaW5kZXg6IDA7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAmOmJlZm9yZXtcclxuICAgIGNvbnRlbnQ6Jyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogJGhlaWdodDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoJHVwcGVyLXRvcCwgJHVwcGVyLWJvdHRvbSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDAgMDtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgfVxyXG5cclxuICAmOmFmdGVye1xyXG4gICAgY29udGVudDonJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogJGhlaWdodDtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkbG93ZXItdG9wLCAkbG93ZXItYm90dG9tKTtcclxuICAgIHotaW5kZXg6IDE7XHJcbiAgfVxyXG5cclxuICA+ICp7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGJveEdyYWRpZW50R3JleXtcclxuICBAaW5jbHVkZSBib3hHcmFkaWVudCgkYm94LUJHLUdyZXksICRib3gtR3JhZC1VcHBlci1Ub3AtR3JleSwgJGJveC1HcmFkLVVwcGVyLUJvdHRvbS1HcmV5LCAkYm94LUdyYWQtTG93ZXItVG9wLUdyZXksICRib3gtR3JhZC1Mb3dlci1Cb3R0b20tR3JleSk7XHJcbn1cclxuXHJcbkBtaXhpbiBib3hHcmFkaWVudEdyZWVue1xyXG4gIEBpbmNsdWRlIGJveEdyYWRpZW50KCRib3gtQkctR3JlZW4sICRib3gtR3JhZC1VcHBlci1Ub3AtR3JlZW4sICRib3gtR3JhZC1VcHBlci1Cb3R0b20tR3JlZW4sICRib3gtR3JhZC1Mb3dlci1Ub3AtR3JlZW4sICRib3gtR3JhZC1Mb3dlci1Cb3R0b20tR3JlZW4pO1xyXG59XHJcblxyXG5AbWl4aW4gYm94R3JhZGllbnREYXJrR3JlZW57XHJcbiAgQGluY2x1ZGUgYm94R3JhZGllbnQoJGJveC1CRy1EYXJrLUdyZWVuLCAkYm94LUdyYWQtVXBwZXItVG9wLURhcmstR3JlZW4sICRib3gtR3JhZC1VcHBlci1Cb3R0b20tRGFyay1HcmVlbiwgJGJveC1HcmFkLUxvd2VyLVRvcC1EYXJrLUdyZWVuLCAkYm94LUdyYWQtTG93ZXItQm90dG9tLURhcmstR3JlZW4pO1xyXG59XHJcblxyXG5AbWl4aW4gYm94R3JhZGllbnRSZWR7XHJcbiAgQGluY2x1ZGUgYm94R3JhZGllbnQoJGJveC1CRy1SZWQsICRib3gtR3JhZC1VcHBlci1Ub3AtUmVkLCAkYm94LUdyYWQtVXBwZXItQm90dG9tLVJlZCwgJGJveC1HcmFkLUxvd2VyLVRvcC1SZWQsICRib3gtR3JhZC1Mb3dlci1Cb3R0b20tUmVkKTtcclxufVxyXG5cclxuQG1peGluIGJveFNoYWRvd3tcclxuICBib3gtc2hhZG93OiA0cHggNHB4IDRweCAjYmJiO1xyXG59XHJcblxyXG5AbWl4aW4gYm94eXtcclxuICBAaW5jbHVkZSBib3hHcmFkaWVudEdyZXk7XHJcbiAgQGluY2x1ZGUgYm94U2hhZG93O1xyXG4gIGNvbG9yOiAjZWVlO1xyXG5cclxuICBhLCBzdHJvbmcge1xyXG4gICAgY29sb3I6IHdoaXRlO1xyXG4gIH1cclxuXHJcbiAgaDIge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gIH1cclxufVxyXG5cclxuQG1peGluIGxpZ2h0R3JlZW5Cb3h7XHJcbiAgQGluY2x1ZGUgYm94KCRsaWdodC1ncmVlbik7XHJcbiAgJixhe1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gIH1cclxufVxyXG5cclxuIiwKCQkiXG4vKipcbiAqIEJyZWFrcG9pbnRzXG4gKi9cblxuQGltcG9ydCBcIm1xXCI7XG5cblxuQG1peGluIG1xcygkZnJvbTogZmFsc2UsICR1bnRpbDogZmFsc2Upe1xuICBAaW5jbHVkZSBtcSgkZnJvbSwgJHVudGlsLCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLyoqXG4gKiBJbnB1dCBjYXBhYmlsaXRpZXNcbiAqL1xuXG4vLyBzbWFydHBob25lcyBhbmQgdGFibGV0c1xuQG1peGluIHRvdWNoLXNjcmVlbi1pbnB1dCB7XG4gIEBtZWRpYSAocG9pbnRlcjogY29hcnNlKVxuICBhbmQgKGhvdmVyOiBub25lKXtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNb3VzZSBvciB0b3VjaCBwYWRcbkBtaXhpbiBtb3VzZS1pbnB1dCB7XG4gIEBtZWRpYSAocG9pbnRlcjogZmluZSlcbiAgYW5kIChob3ZlcjogaG92ZXIpe1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIFNob3cgZm9yIHRvdWNoIHNjcmVlbnNcbi8vIGFuZCB1cCB1bnRpbCB0YWJsZXQgZGV2aWNlIHdpZHRoIGZvciB0YWJsZXRzIG5vdCBzdXBwb3J0aW5nIGlucHV0IG1lZGlhIHF1ZXJpZXMgaWUuIG9sZCBBbmRyb2lkIDQueFxuQG1peGluIHRvdWNoLXNjcmVlbi1kZXZpY2Vze1xuICBAaW5jbHVkZSB0b3VjaC1zY3JlZW4taW5wdXQge1xuICAgIEBjb250ZW50O1xuICB9XG4gIEBpbmNsdWRlIG1xcygkdW50aWw6IHJlc3BvbnNpdmVNZW51KSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTmludGVuZG8gV2lpIGNvbnRyb2xsZXIsIEtpbmVjdCwgZXRjLlxuQG1peGluIGNvbnNvbGUtaW5wdXQge1xuICBAbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSlcbiAgYW5kIChob3ZlcjogaG92ZXIpe1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIHN0eWx1cy1iYXNlZCBzY3JlZW5zIChDaW50aXEsIFdhY29tLCBldGMpXG5AbWl4aW4gY29uc29sZS1pbnB1dCB7XG4gIEBtZWRpYSAocG9pbnRlcjogZmluZSlcbiAgYW5kIChob3Zlcjogbm9uZSl7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gUmV0aW5hIGRpc3BsYXlzICgyeClcbkBtaXhpbiByZXRpbmEge1xuICBAbWVkaWEgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS41KSwoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMy8yKSxcbiAgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSwobWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSwobWluLXJlc29sdXRpb246IDEuNWRwcHgpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwKCQkiQGNoYXJzZXQgXCJVVEYtOFwiOyAvLyBGaXhlcyBhbiBpc3N1ZSB3aGVyZSBSdWJ5IGxvY2FsZSBpcyBub3Qgc2V0IHByb3Blcmx5XG4gICAgICAgICAgICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3Nhc3MtbXEvc2Fzcy1tcS9wdWxsLzEwXG5cbi8vLyBCYXNlIGZvbnQgc2l6ZSBvbiB0aGUgYDxib2R5PmAgZWxlbWVudFxuLy8vIEB0eXBlIE51bWJlciAodW5pdClcbiRtcS1iYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8vIFJlc3BvbnNpdmUgbW9kZVxuLy8vXG4vLy8gU2V0IHRvIGBmYWxzZWAgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQG1lZGlhIHF1ZXJpZXMsXG4vLy8gKElFIDw9IDgsIEZpcmVmb3ggPD0gMywgT3BlcmEgPD0gOSlcbi8vL1xuLy8vIFlvdSBjb3VsZCBjcmVhdGUgYSBzdHlsZXNoZWV0IHNlcnZlZCBleGNsdXNpdmVseSB0byBvbGRlciBicm93c2Vycyxcbi8vLyB3aGVyZSBAbWVkaWEgcXVlcmllcyBhcmUgcmFzdGVyaXplZFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAvLyBvbGQtaWUuc2Nzc1xuLy8vICAkbXEtcmVzcG9uc2l2ZTogZmFsc2U7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3Jlc3BvbnNpdmUtbW9kZS1vZmYgRGlzYWJsZWQgcmVzcG9uc2l2ZSBtb2RlIGRvY3VtZW50YXRpb25cbiRtcS1yZXNwb25zaXZlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBsaXN0XG4vLy9cbi8vLyBOYW1lIHlvdXIgYnJlYWtwb2ludHMgaW4gYSB3YXkgdGhhdCBjcmVhdGVzIGEgdWJpcXVpdG91cyBsYW5ndWFnZVxuLy8vIGFjcm9zcyB0ZWFtIG1lbWJlcnMuIEl0IHdpbGwgaW1wcm92ZSBjb21tdW5pY2F0aW9uIGJldHdlZW5cbi8vLyBzdGFrZWhvbGRlcnMsIGRlc2lnbmVycywgZGV2ZWxvcGVycywgYW5kIHRlc3RlcnMuXG4vLy9cbi8vLyBAdHlwZSBNYXBcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50IEZ1bGwgZG9jdW1lbnRhdGlvbiBhbmQgZXhhbXBsZXNcbiRtcS1icmVha3BvaW50czogKFxuICAgIG1vYmlsZTogIDMyMHB4LFxuICAgIHRhYmxldDogIDc0MHB4LFxuICAgIGRlc2t0b3A6IDk4MHB4LFxuICAgIHdpZGU6ICAgIDEzMDBweFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRpYyBicmVha3BvaW50IChmb3IgZml4ZWQtd2lkdGggbGF5b3V0cylcbi8vL1xuLy8vIERlZmluZSB0aGUgYnJlYWtwb2ludCBmcm9tICRtcS1icmVha3BvaW50cyB0aGF0IHNob3VsZFxuLy8vIGJlIHVzZWQgYXMgdGhlIHRhcmdldCB3aWR0aCBmb3IgdGhlIGZpeGVkLXdpZHRoIGxheW91dFxuLy8vIChpLmUuIHdoZW4gJG1xLXJlc3BvbnNpdmUgaXMgc2V0IHRvICdmYWxzZScpIGluIGEgb2xkLWllLnNjc3Ncbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgLy8gdGFibGV0LW9ubHkuc2Nzc1xuLy8vICAvL1xuLy8vICAvLyBJZ25vcmUgYWxsIHN0eWxlcyBhYm92ZSB0YWJsZXQgYnJlYWtwb2ludCxcbi8vLyAgLy8gYW5kIGZpeCB0aGUgc3R5bGVzIChlLmcuIGxheW91dCkgYXQgdGFibGV0IHdpZHRoXG4vLy8gICRtcS1yZXNwb25zaXZlOiBmYWxzZTtcbi8vLyAgJG1xLXN0YXRpYy1icmVha3BvaW50OiB0YWJsZXQ7XG4vLy8gIEBpbXBvcnQgJ21haW4nOyAvLyBAbWVkaWEgcXVlcmllcyBpbiB0aGlzIGZpbGUgd2lsbCBiZSByYXN0ZXJpemVkIHVwIHRvIHRhYmxldFxuLy8vICAgICAgICAgICAgICAgICAgIC8vIGxhcmdlciBicmVha3BvaW50cyB3aWxsIGJlIGlnbm9yZWRcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjYWRkaW5nLWN1c3RvbS1icmVha3BvaW50cyBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtc3RhdGljLWJyZWFrcG9pbnQ6IGRlc2t0b3AgIWRlZmF1bHQ7XG5cbi8vLyBTaG93IGJyZWFrcG9pbnRzIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyXG4vLy9cbi8vLyBJZiB5b3Ugd2FudCB0byBkaXNwbGF5IHRoZSBjdXJyZW50bHkgYWN0aXZlIGJyZWFrcG9pbnQgaW4gdGhlIHRvcFxuLy8vIHJpZ2h0IGNvcm5lciBvZiB5b3VyIHNpdGUgZHVyaW5nIGRldmVsb3BtZW50LCBhZGQgdGhlIGJyZWFrcG9pbnRzXG4vLy8gdG8gdGhpcyBsaXN0LCBvcmRlcmVkIGJ5IHdpZHRoLCBlLmcuIChtb2JpbGUsIHRhYmxldCwgZGVza3RvcCkuXG4vLy9cbi8vLyBAdHlwZSBtYXBcbiRtcS1zaG93LWJyZWFrcG9pbnRzOiAoKSAhZGVmYXVsdDtcblxuLy8vIEN1c3RvbWl6ZSB0aGUgbWVkaWEgdHlwZSAoZS5nLiBgQG1lZGlhIHNjcmVlbmAgb3IgYEBtZWRpYSBwcmludGApXG4vLy8gQnkgZGVmYXVsdCBzYXNzLW1xIHVzZXMgYW4gXCJhbGxcIiBtZWRpYSB0eXBlIChgQG1lZGlhIGFsbCBhbmQg4oCmYClcbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjY2hhbmdpbmctbWVkaWEtdHlwZSBGdWxsIGRvY3VtZW50YXRpb24gYW5kIGV4YW1wbGVzXG4kbXEtbWVkaWEtdHlwZTogYWxsICFkZWZhdWx0O1xuXG4vLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHB4IC0gdmFsdWUgdG8gY29udmVydFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZS1mb250LXNpemUgKCRtcS1iYXNlLWZvbnQtc2l6ZSkgLSBgPGJvZHk+YCBmb250IHNpemVcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJGZvbnQtc2l6ZS1pbi1lbXM6IG1xLXB4MmVtKDE2cHgpO1xuLy8vICBwIHsgZm9udC1zaXplOiBtcS1weDJlbSgxNnB4KTsgfVxuLy8vXG4vLy8gQHJlcXVpcmVzICRtcS1iYXNlLWZvbnQtc2l6ZVxuLy8vIEByZXR1cm5zIHtOdW1iZXJ9XG5AZnVuY3Rpb24gbXEtcHgyZW0oJHB4LCAkYmFzZS1mb250LXNpemU6ICRtcS1iYXNlLWZvbnQtc2l6ZSkge1xuICAgIEBpZiB1bml0bGVzcygkcHgpIHtcbiAgICAgICAgQHdhcm4gXCJBc3N1bWluZyAjeyRweH0gdG8gYmUgaW4gcGl4ZWxzLCBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgaXQgaW50byBwaXhlbHMuXCI7XG4gICAgICAgIEByZXR1cm4gbXEtcHgyZW0oJHB4ICogMXB4LCAkYmFzZS1mb250LXNpemUpO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkcHgpID09IGVtIHtcbiAgICAgICAgQHJldHVybiAkcHg7XG4gICAgfVxuICAgIEByZXR1cm4gKCRweCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07XG59XG5cbi8vLyBHZXQgYSBicmVha3BvaW50J3Mgd2lkdGhcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGJyZWFrcG9pbnQuIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgJHRhYmxldC13aWR0aDogbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGgodGFibGV0KTtcbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKGRlc2t0b3ApKSB7fVxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBWYWx1ZSBpbiBwaXhlbHNcbkBmdW5jdGlvbiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMpIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkbmFtZSkge1xuICAgICAgICBAcmV0dXJuIG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEB3YXJuIFwiQnJlYWtwb2ludCAjeyRuYW1lfSB3YXNuJ3QgZm91bmQgaW4gJGJyZWFrcG9pbnRzLlwiO1xuICAgIH1cbn1cblxuLy8vIE1lZGlhIFF1ZXJ5IG1peGluXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRmcm9tIChmYWxzZSkgLSBPbmUgb2YgJG1xLWJyZWFrcG9pbnRzXG4vLy8gQHBhcmFtIHtTdHJpbmcgfCBCb29sZWFufSAkdW50aWwgKGZhbHNlKSAtIE9uZSBvZiAkbXEtYnJlYWtwb2ludHNcbi8vLyBAcGFyYW0ge1N0cmluZyB8IEJvb2xlYW59ICRhbmQgKGZhbHNlKSAtIEFkZGl0aW9uYWwgbWVkaWEgcXVlcnkgcGFyYW1ldGVyc1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVkaWEtdHlwZSAoJG1xLW1lZGlhLXR5cGUpIC0gTWVkaWEgdHlwZTogc2NyZWVuLCBwcmludOKAplxuLy8vXG4vLy8gQGlnbm9yZSBVbmRvY3VtZW50ZWQgQVBJLCBmb3IgYWR2YW5jZWQgdXNlIG9ubHk6XG4vLy8gQGlnbm9yZSBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpXG4vLy8gQGlnbm9yZSBAcGFyYW0ge1N0cmluZ30gJHN0YXRpYy1icmVha3BvaW50ICgkbXEtc3RhdGljLWJyZWFrcG9pbnQpXG4vLy9cbi8vLyBAY29udGVudCBzdHlsaW5nIHJ1bGVzLCB3cmFwcGVkIGludG8gYSBAbWVkaWEgcXVlcnkgd2hlbiAkcmVzcG9uc2l2ZSBpcyB0cnVlXG4vLy9cbi8vLyBAcmVxdWlyZXMge1ZhcmlhYmxlfSAkbXEtbWVkaWEtdHlwZVxuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zdGF0aWMtYnJlYWtwb2ludFxuLy8vIEByZXF1aXJlcyB7ZnVuY3Rpb259IG1xLXB4MmVtXG4vLy8gQHJlcXVpcmVzIHtmdW5jdGlvbn0gbXEtZ2V0LWJyZWFrcG9pbnQtd2lkdGhcbi8vL1xuLy8vIEBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzLW1xL3Nhc3MtbXEjcmVzcG9uc2l2ZS1tb2RlLW9uLWRlZmF1bHQgRnVsbCBkb2N1bWVudGF0aW9uIGFuZCBleGFtcGxlc1xuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbXEoJGZyb206IG1vYmlsZSkge1xuLy8vICAgICAgY29sb3I6IHJlZDtcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEoJHVudGlsOiB0YWJsZXQpIHtcbi8vLyAgICAgIGNvbG9yOiBibHVlO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcShtb2JpbGUsIHRhYmxldCkge1xuLy8vICAgICAgY29sb3I6IGdyZWVuO1xuLy8vICAgIH1cbi8vLyAgICBAaW5jbHVkZSBtcSgkZnJvbTogdGFibGV0LCAkYW5kOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJykge1xuLy8vICAgICAgY29sb3I6IHRlYWw7XG4vLy8gICAgfVxuLy8vICAgIEBpbmNsdWRlIG1xKDk1MHB4KSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgQGluY2x1ZGUgbXEodGFibGV0LCAkbWVkaWEtdHlwZTogc2NyZWVuKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gICAgLy8gQWR2YW5jZWQgdXNlOlxuLy8vICAgICRteS1icmVha3BvaW50czogKEw6IDkwMHB4LCBYTDogMTIwMHB4KTtcbi8vLyAgICBAaW5jbHVkZSBtcShMLCAkYnJlYWtwb2ludHM6ICRteS1icmVha3BvaW50cywgJHN0YXRpYy1icmVha3BvaW50OiBMKSB7XG4vLy8gICAgICBjb2xvcjogaG90cGluaztcbi8vLyAgICB9XG4vLy8gIH1cbkBtaXhpbiBtcShcbiAgICAkZnJvbTogZmFsc2UsXG4gICAgJHVudGlsOiBmYWxzZSxcbiAgICAkYW5kOiBmYWxzZSxcbiAgICAkbWVkaWEtdHlwZTogJG1xLW1lZGlhLXR5cGUsXG4gICAgJGJyZWFrcG9pbnRzOiAkbXEtYnJlYWtwb2ludHMsXG4gICAgJHJlc3BvbnNpdmU6ICRtcS1yZXNwb25zaXZlLFxuICAgICRzdGF0aWMtYnJlYWtwb2ludDogJG1xLXN0YXRpYy1icmVha3BvaW50XG4pIHtcbiAgICAkbWluLXdpZHRoOiAwO1xuICAgICRtYXgtd2lkdGg6IDA7XG4gICAgJG1lZGlhLXF1ZXJ5OiAnJztcblxuICAgIC8vIEZyb206IHRoaXMgYnJlYWtwb2ludCAoaW5jbHVzaXZlKVxuICAgIEBpZiAkZnJvbSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1pbi13aWR0aDogbXEtcHgyZW0oJGZyb20pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRtaW4td2lkdGg6IG1xLXB4MmVtKG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRmcm9tLCAkYnJlYWtwb2ludHMpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVudGlsOiB0aGF0IGJyZWFrcG9pbnQgKGV4Y2x1c2l2ZSlcbiAgICBAaWYgJHVudGlsIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHVudGlsKSA9PSBudW1iZXIge1xuICAgICAgICAgICAgJG1heC13aWR0aDogbXEtcHgyZW0oJHVudGlsKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkbWF4LXdpZHRoOiBtcS1weDJlbShtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkdW50aWwsICRicmVha3BvaW50cykpIC0gLjAxZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIHN1cHBvcnQgaXMgZGlzYWJsZWQsIHJhc3Rlcml6ZSB0aGUgb3V0cHV0IG91dHNpZGUgQG1lZGlhIGJsb2Nrc1xuICAgIC8vIFRoZSBicm93c2VyIHdpbGwgcmVseSBvbiB0aGUgY2FzY2FkZSBpdHNlbGYuXG4gICAgQGlmICRyZXNwb25zaXZlID09IGZhbHNlIHtcbiAgICAgICAgJHN0YXRpYy1icmVha3BvaW50LXdpZHRoOiBtcS1nZXQtYnJlYWtwb2ludC13aWR0aCgkc3RhdGljLWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICR0YXJnZXQtd2lkdGg6IG1xLXB4MmVtKCRzdGF0aWMtYnJlYWtwb2ludC13aWR0aCk7XG5cbiAgICAgICAgLy8gT3V0cHV0IG9ubHkgcnVsZXMgdGhhdCBzdGFydCBhdCBvciBzcGFuIG91ciB0YXJnZXQgd2lkdGhcbiAgICAgICAgQGlmIChcbiAgICAgICAgICAgICRhbmQgPT0gZmFsc2VcbiAgICAgICAgICAgIGFuZCAkbWluLXdpZHRoIDw9ICR0YXJnZXQtd2lkdGhcbiAgICAgICAgICAgIGFuZCAoXG4gICAgICAgICAgICAgICAgJHVudGlsID09IGZhbHNlIG9yICRtYXgtd2lkdGggPj0gJHRhcmdldC13aWR0aFxuICAgICAgICAgICAgKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7IC8vIFJlc3BvbnNpdmUgc3VwcG9ydCBpcyBlbmFibGVkLCBvdXRwdXQgcnVsZXMgaW5zaWRlIEBtZWRpYSBxdWVyaWVzXG4gICAgICAgIEBpZiAkbWluLXdpZHRoICE9IDAgeyAkbWVkaWEtcXVlcnk6ICcjeyRtZWRpYS1xdWVyeX0gYW5kIChtaW4td2lkdGg6ICN7JG1pbi13aWR0aH0pJzsgfVxuICAgICAgICBAaWYgJG1heC13aWR0aCAhPSAwIHsgJG1lZGlhLXF1ZXJ5OiAnI3skbWVkaWEtcXVlcnl9IGFuZCAobWF4LXdpZHRoOiAjeyRtYXgtd2lkdGh9KSc7IH1cbiAgICAgICAgQGlmICRhbmQgICAgICAgICAgICB7ICRtZWRpYS1xdWVyeTogJyN7JG1lZGlhLXF1ZXJ5fSBhbmQgI3skYW5kfSc7IH1cblxuICAgICAgICAvLyBSZW1vdmUgdW5uZWNlc3NhcnkgbWVkaWEgcXVlcnkgcHJlZml4ICdhbGwgYW5kICdcbiAgICAgICAgQGlmICgkbWVkaWEtdHlwZSA9PSAnYWxsJyBhbmQgJG1lZGlhLXF1ZXJ5ICE9ICcnKSB7XG4gICAgICAgICAgICAkbWVkaWEtdHlwZTogJyc7XG4gICAgICAgICAgICAkbWVkaWEtcXVlcnk6IHN0ci1zbGljZSh1bnF1b3RlKCRtZWRpYS1xdWVyeSksIDYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGUgKyAkbWVkaWEtcXVlcnl9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gQWRkIGEgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUgYnJlYWtwb2ludFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgYnJlYWtwb2ludFxuLy8vXG4vLy8gQHJlcXVpcmVzIHtWYXJpYWJsZX0gJG1xLWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIEBpbmNsdWRlIG1xLWFkZC1icmVha3BvaW50KHR2c2NyZWVuLCAxOTIwcHgpO1xuLy8vICBAaW5jbHVkZSBtcSh0dnNjcmVlbikge31cbkBtaXhpbiBtcS1hZGQtYnJlYWtwb2ludCgkbmFtZSwgJHdpZHRoKSB7XG4gICAgJG5ldy1icmVha3BvaW50OiAoJG5hbWU6ICR3aWR0aCk7XG4gICAgJG1xLWJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJG1xLWJyZWFrcG9pbnRzLCAkbmV3LWJyZWFrcG9pbnQpICFnbG9iYWw7XG59XG5cbi8vLyBTaG93IHRoZSBhY3RpdmUgYnJlYWtwb2ludCBpbiB0aGUgdG9wIHJpZ2h0IGNvcm5lciBvZiB0aGUgdmlld3BvcnRcbi8vLyBAbGluayBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy1tcS9zYXNzLW1xI3NlZWluZy10aGUtY3VycmVudGx5LWFjdGl2ZS1icmVha3BvaW50XG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzaG93LWJyZWFrcG9pbnRzICgkbXEtc2hvdy1icmVha3BvaW50cykgLSBMaXN0IG9mIGJyZWFrcG9pbnRzIHRvIHNob3cgaW4gdGhlIHRvcCByaWdodCBjb3JuZXJcbi8vLyBAcGFyYW0ge01hcH0gJGJyZWFrcG9pbnRzICgkbXEtYnJlYWtwb2ludHMpIC0gQnJlYWtwb2ludCBuYW1lcyBhbmQgc2l6ZXNcbi8vL1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1icmVha3BvaW50c1xuLy8vIEByZXF1aXJlcyB7VmFyaWFibGV9ICRtcS1zaG93LWJyZWFrcG9pbnRzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gIC8vIFNob3cgYnJlYWtwb2ludHMgdXNpbmcgZ2xvYmFsIHNldHRpbmdzXG4vLy8gIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG4vLy9cbi8vLyAgLy8gU2hvdyBicmVha3BvaW50cyB1c2luZyBjdXN0b20gc2V0dGluZ3Ncbi8vLyAgQGluY2x1ZGUgbXEtc2hvdy1icmVha3BvaW50cygoTCwgWEwpLCAoUzogMzAwcHgsIEw6IDgwMHB4LCBYTDogMTIwMHB4KSk7XG5AbWl4aW4gbXEtc2hvdy1icmVha3BvaW50cygkc2hvdy1icmVha3BvaW50czogJG1xLXNob3ctYnJlYWtwb2ludHMsICRicmVha3BvaW50czogJG1xLWJyZWFrcG9pbnRzKSB7XG4gICAgYm9keTpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkNGOEUzO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0ZCRUVENTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRkJFRUQ1O1xuICAgICAgICBjb2xvcjogI0MwOTg1MztcbiAgICAgICAgZm9udDogc21hbGwtY2FwdGlvbjtcbiAgICAgICAgcGFkZGluZzogM3B4IDZweDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuXG4gICAgICAgIC8vIExvb3AgdGhyb3VnaCB0aGUgYnJlYWtwb2ludHMgdGhhdCBzaG91bGQgYmUgc2hvd25cbiAgICAgICAgQGVhY2ggJHNob3ctYnJlYWtwb2ludCBpbiAkc2hvdy1icmVha3BvaW50cyB7XG4gICAgICAgICAgICAkd2lkdGg6IG1xLWdldC1icmVha3BvaW50LXdpZHRoKCRzaG93LWJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG4gICAgICAgICAgICBAaW5jbHVkZSBtcSgkc2hvdy1icmVha3BvaW50LCAkYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiI3skc2hvdy1icmVha3BvaW50fSDiiaUgI3skd2lkdGh9ICgje21xLXB4MmVtKCR3aWR0aCl9KVwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaWYgbGVuZ3RoKCRtcS1zaG93LWJyZWFrcG9pbnRzKSA+IDAge1xuICAgIEBpbmNsdWRlIG1xLXNob3ctYnJlYWtwb2ludHM7XG59XG4iLAoJCSIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKiBUb3VjaCBkZXZpY2VzXHJcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5AaW1wb3J0IFwiZ2VuZXJhbF9taXhpbnNcIjtcclxuXHJcbkBtaXhpbiBib3gtc2hhZG93e1xyXG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsMCwwLC4xNSk7XHJcbn1cclxuXHJcbkBtaXhpbiB0b3VjaC1zY3JlZW4tc3R5bGVzIHtcclxuXHJcbiAgLy8gQnV0dG9uc1xyXG4gIFtkYXRhLXJvbGU9XCJidXR0b25cIl06bm90KC5ub24tcmVzcG9uc2l2ZSl7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93O1xyXG5cclxuICAgIGNvbG9yOiAjMzMzICFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWVlO1xyXG5cclxuICAgIGJvcmRlci1jb2xvcjogI2RkZDtcclxuICAgIGJvcmRlci13aWR0aDogMXB4O1xyXG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHJcblxyXG4gICAgbWFyZ2luOiAuNWVtIDA7XHJcbiAgICBwYWRkaW5nOiAuN2VtIDFlbTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHVzZXItc2VsZWN0OiBub25lO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuXHJcbiAgICAmOmhvdmVyLCAmOmFjdGl2ZXtcclxuICAgICAgYmFja2dyb3VuZDogI2U4ZjBmZjtcclxuICAgIH1cclxuXHJcbiAgICAmW2RhdGEtaWNvbl17XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMzJweDtcclxuICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xyXG4gICAgICBpe1xyXG4gICAgICAgIEBpbmNsdWRlIGNlbnRyZVk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6IDhweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuZ3JlZW57XHJcbiAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICM4ZGRkYTAgMCUsIzNkZGI4YyA1MCUsIzhkZGRhMCAxMDAlKTtcclxuICAgICAgYm9yZGVyLWNvbG9yOiAjMmI2YjM3O1xyXG4gICAgICBib3gtc2hhZG93OiAwIDFweCAzcHggcmdiYSgwLCAwLCAwLCAwLjUpOyAvL2hlYXZpZXIgc2hhZG93IG9uIGRhcmsgZ3JlZW4gYmdcclxuICAgICAgJjpob3ZlciwgJjphY3RpdmV7XHJcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2RjZjRlMSAwJSwjM2RkYjhjIDUwJSwjZGNmNGUxIDEwMCUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBMaXN0dmlld3NcclxuICBbZGF0YS1yb2xlPVwibGlzdHZpZXdcIl06bm90KC5ub24tcmVzcG9uc2l2ZSl7XHJcbiAgICBAaW5jbHVkZSBib3h5O1xyXG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHJcblxyXG4gICAgPmxpe1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICBwYWRkaW5nOiA4cHggMTZweCA4cHggOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICBib3JkZXItY29sb3I6ICNkZGQ7XHJcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDFweDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIEBpbmNsdWRlIG1xcygkdW50aWw6IHRhYmxldDdpbmNoKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGF7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgQGluY2x1ZGUgbXFzKCR1bnRpbDogdGFibGV0N2luY2gpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICY6YWZ0ZXJ7XHJcbiAgICAgICAgICBjb250ZW50OiAnPic7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICByaWdodDogNHB4O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBAaW5jbHVkZSBtcXMoJHVudGlsOiB0YWJsZXQ3aW5jaCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIExpbmsgbGlzdHNcclxuICA6bm90KC5ub24tcmVzcG9uc2l2ZSk6bm90KFtkYXRhLXJvbGVdKTpub3QoW3JvbGVdKSA+IGxpID4gYTpvbmx5LWNoaWxke1xyXG4gICAgcGFkZGluZzogOHB4IDA7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuIiwKCQkiQGltcG9ydCBcImNvbXBvbmVudC9sb2FkZXJcIjtcclxuXHJcbiRsZWZ0Q29sV2lkdGg6IDUzNnB4O1xyXG4kcmlnaHRDb2xXaWR0aDogMzc2cHg7XHJcblxyXG4uY29sLCAuY29sICp7XHJcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG59XHJcblxyXG5ib2R5LmNvbC1yZWFkeXtcclxuICAuY29se1xyXG4gICAgJjphZnRlcntcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbiAgLmNvbCwgLmNvbCAqe1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB9XHJcbn1cclxuXHJcbmJvZHk6bm90KC5jb2wtcmVhZHkpe1xyXG4gIC5jb2x7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi5jb2x7XHJcbiAgQGluY2x1ZGUgbG9hZGVyLWludmVydGVkO1xyXG4gICY6YWZ0ZXJ7XHJcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gIH1cclxufVxyXG5cclxuLmxlZnQuY29sIHtcclxuICBmbG9hdDpsZWZ0O1xyXG4gIC5uYXJyb3cuYm94e1xyXG4gICAgbWF4LXdpZHRoOiAkbGVmdENvbFdpZHRoO1xyXG4gIH1cclxufVxyXG5cclxuLnJpZ2h0LmNvbCB7XHJcbiAgZmxvYXQ6bGVmdDtcclxuICB3aWR0aDogJHJpZ2h0Q29sV2lkdGg7XHJcbn1cclxuXHJcbi5ib3hbZGF0YS1jb2wtZHVhbD1cInJpZ2h0XCJdIHtcclxuICBwYWRkaW5nLXRvcDogNHB4O1xyXG59XHJcblxyXG4vLyBTaW5nbGUgY29sIGxheW91dFxyXG5ib2R5LmNvbC1zaW5nbGV7XHJcbiAgQGluY2x1ZGUgdG91Y2gtc2NyZWVuLXN0eWxlcztcclxuICBAaW5jbHVkZSBtcXMoJGZyb206IHRhYmxldCkge1xyXG4gICAgLnJpZ2h0LmNvbHtcclxuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDhweCkgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luOiAwIC00cHg7XHJcbiAgICAgIC5ib3gge1xyXG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE2cHgpO1xyXG4gICAgICAgIG1hcmdpbjogMCA4cHg7XHJcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKXtcclxuICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbil7XHJcbiAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIFtkYXRhLXJvbGU9XCJsaXN0dmlld1wiXXtcclxuICAgIG1hcmdpbjogMTZweCAwIDAgMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmxlZnQuY29sLCAucmlnaHQuY29se1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBEdWFsIGNvbCBsYXlvdXRcclxuYm9keS5jb2wtZHVhbHtcclxuICAubGVmdC5jb2x7XHJcbiAgICB3aWR0aDogJGxlZnRDb2xXaWR0aDtcclxuICAgIG1hcmdpbi1yaWdodDoxNnB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIGRlZmF1bHQgc2luZ2xlIGNvbHVtbiBvcmRlcjogYXQgdGhlIGJvdHRvbVxyXG4uYm94IHtcclxuICBvcmRlcjogMTAwO1xyXG59XHJcblxyXG5bZGF0YS1yb2xlPVwibGlzdHZpZXdcIl17XHJcbiAgPmxpe1xyXG4gICAgcGFkZGluZzogMnB4IDA7XHJcbiAgfVxyXG59XHJcbiIsCgkJIi8vIExvYWRpbmcgYW5pbWF0aW9uXG5cbiRsb2FkZXItZGVmYXVsdC1zaXplOiA1MHB4O1xuJGxvYWRlci1kZWZhdWx0LXRoaWNrbmVzczogNXB4O1xuJGxvYWRlci1kZWZhdWx0LWZvcmVncm91bmQ6IHdoaXRlO1xuJGxvYWRlci1kZWZhdWx0LWJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7XG4kbG9hZGVyLWRlZmF1bHQtZm9yZWdyb3VuZC1pbnZlcnRlZDogYmxhY2s7XG4kbG9hZGVyLWRlZmF1bHQtYmFja2dyb3VuZC1pbnZlcnRlZDogcmdiYSgwLDAsMCwwLjI1KTtcblxuQG1peGluIGxvYWRlcihcbiAgJHNpemU6ICRsb2FkZXItZGVmYXVsdC1zaXplLFxuICAkdGhpY2tuZXNzOiAkbG9hZGVyLWRlZmF1bHQtdGhpY2tuZXNzLFxuICAkZm9yZWdyb3VuZDogJGxvYWRlci1kZWZhdWx0LWZvcmVncm91bmQsXG4gICRiYWNrZ3JvdW5kOiAkbG9hZGVyLWRlZmF1bHQtYmFja2dyb3VuZFxuKXtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0oJHNpemUgLyAyICsgJHRoaWNrbmVzcyk7XG4gICAgbWFyZ2luLWxlZnQ6IC0oJHNpemUgLyAyICsgJHRoaWNrbmVzcyk7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogJHNpemU7XG4gICAgYm9yZGVyOiAkdGhpY2tuZXNzIHNvbGlkICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRmb3JlZ3JvdW5kO1xuICAgIGFuaW1hdGlvbjogbG9hZGluZyAxcyBlYXNlIGluZmluaXRlO1xuICB9XG4gIEBrZXlmcmFtZXMgbG9hZGluZyB7XG4gICAgMCUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGxvYWRlci1pbnZlcnRlZChcbiAgJHNpemU6ICRsb2FkZXItZGVmYXVsdC1zaXplLFxuICAkdGhpY2tuZXNzOiAkbG9hZGVyLWRlZmF1bHQtdGhpY2tuZXNzLFxuICAkZm9yZWdyb3VuZDogJGxvYWRlci1kZWZhdWx0LWZvcmVncm91bmQtaW52ZXJ0ZWQsXG4gICRiYWNrZ3JvdW5kOiAkbG9hZGVyLWRlZmF1bHQtYmFja2dyb3VuZC1pbnZlcnRlZFxuKXtcbiAgQGluY2x1ZGUgbG9hZGVyKFxuICAgICRzaXplOiAkc2l6ZSxcbiAgICAkdGhpY2tuZXNzOiAkdGhpY2tuZXNzLFxuICAgICRmb3JlZ3JvdW5kOiAkZm9yZWdyb3VuZCxcbiAgICAkYmFja2dyb3VuZDogJGJhY2tncm91bmRcbiAgKTtcbn1cbiIsCgkJIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKiBUb3Agc2VjdGlvbiAoc2luZ2xlIGNvbHVtbilcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xyXG5cclxuc2VjdGlvbi50b3B7XHJcblxyXG4gIC5vdmVydmlld3tcclxuICAgIEBpbmNsdWRlIGxpZ2h0R3JlZW5Cb3g7XHJcbiAgICBAaW5jbHVkZSBib3hTaGFkb3c7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICAgcGFkZGluZzogOHB4O1xyXG4gICAgcHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcCB7XHJcbiAgICBtYXJnaW4tdG9wOiAwO1xyXG4gIH1cclxuXHJcbiAgLmFwcHMge1xyXG4gICAgbWFyZ2luLXRvcDogMTZweDtcclxuXHJcbiAgICBwe1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgI2luc3RydWN0aW9uIHtcclxuICAgIHBhZGRpbmctdG9wOjhweDtcclxuICB9XHJcbn0iLAoJCSIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcbiogR29vZ2xlIG1hcFxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4kbWFwV2lkdGg6ICRsZWZ0Q29sV2lkdGggLSA0cHg7XHJcbiRtYXBIZWlnaHQ6IDQ4MHB4O1xyXG5cclxuI21hcC1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogJG1hcFdpZHRoO1xyXG4gIEBpbmNsdWRlIG1xcygkdW50aWw6IHBhZ2UpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuI21hcCB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgd2lkdGg6ICRtYXBXaWR0aDtcclxuICBoZWlnaHQ6ICRtYXBIZWlnaHQ7XHJcblxyXG4gIEBpbmNsdWRlIG1xcygkdW50aWw6IHBhZ2UpIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgb3JkZXI6IDE7XHJcbiAgICAmLCAqe1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmluZm8tY29udGVudHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcblxyXG4gICYuaGlkZS13YWxrLXBvbHlze1xyXG4gICAgLndhbGstcG9seXtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiNzdGF0aWMtbWFwIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRpbWd7XHJcblx0XHRkaXNwbGF5OmJsb2NrO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXgtd2lkdGg6IDUzMnB4O1xyXG5cdH1cclxufVxyXG5cclxuI2Z1bGwtc2NyZWVuLW1hcCB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgcmlnaHQ6IDEwcHg7XHJcbiAgdG9wOiAxMHB4O1xyXG4gIHdpZHRoOiAxMjBweDtcclxuICBoZWlnaHQ6IDIwcHg7XHJcbiAgei1pbmRleDogOTAwMCAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gIHBhZGRpbmc6IDRweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgYm94LXNoYWRvdzogMCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjQpO1xyXG5cclxuICBAaW5jbHVkZSBtcXMoJHVudGlsOiBwYWdlKSB7XHJcbiAgICBAaW5jbHVkZSBib3h5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcblxyXG4gICAgJjphZnRlcntcclxuICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgdG9wOiAxcHg7XHJcbiAgfVxyXG5cclxuICBhOmhvdmVyIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gIH1cclxufSIsCgkJIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuKiBCcm93c2UgZm9ybVxyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG4kbGFiZWxXaWR0aDogNzJweDtcclxuJHNlbGVjdFdpZHRoOiAyMDRweDtcclxuXHJcbiNicm93c2Uge1xyXG4gIHBhZGRpbmc6IDhweCAxNnB4O1xyXG5cclxuXHJcbiAgZm9ybSB7XHJcbiAgICBtYXJnaW46MDtcclxuICB9XHJcblxyXG4gIC5maWx0ZXJ7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgfVxyXG5cclxuICBoMyB7XHJcbiAgICBtYXJnaW46IDAgMCAxNnB4IDA7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG5cclxuICBsYWJlbCB7XHJcbiAgICBmb250LXNpemU6IDExcHQ7XHJcbiAgICB3aWR0aDogJGxhYmVsV2lkdGg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxuICAgIEBpbmNsdWRlIG1xcygkZnJvbTogcGFnZSkge1xyXG4gICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHRvcDogMnB4O1xyXG5cclxuICAgICAgQGluY2x1ZGUgdG91Y2gtc2NyZWVuLWRldmljZXMge1xyXG4gICAgICAgIGNsZWFyOiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmc6MDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1xcygkdW50aWw6IHBhZ2UpIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xyXG4gICAgfVxyXG5cclxuXHJcbiAgfVxyXG5cclxuICBzZWxlY3Qge1xyXG4gICAgd2lkdGg6ICRzZWxlY3RXaWR0aDtcclxuXHJcbiAgICBAaW5jbHVkZSBtcXMoJHVudGlsOiBwYWdlKSB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zdWJtaXR7XHJcbiAgQGluY2x1ZGUgbXFzKCRmcm9tOiBwYWdlKSB7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgICBtYXJnaW4tbGVmdDogMjgycHg7XHJcbiAgICBAaW5jbHVkZSB0b3VjaC1zY3JlZW4tZGV2aWNlcyB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNjhweDtcclxuICAgIH1cclxuICB9XHJcbiAgQGluY2x1ZGUgbXFzKCR1bnRpbDogcGFnZSkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbm1pLmZpbHRlciB7XHJcbiAgcGFkZGluZy10b3A6IDRweDtcclxuICBwYWRkaW5nLWJvdHRvbTogNHB4O1xyXG59IiwKCQkiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKiBQcm9tb3NcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBpbXBvcnQgXCJsb2FkZXJcIjtcblxuLnByb21vLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcblxuICBAaW1wb3J0IFwic2xpY2tfb3ZlcnJpZGVzXCI7XG5cbiAgLnNsaWNrLWxpc3R7XG4gICAgbWFyZ2luOiAwIC04cHg7XG4gIH1cblxuICAuc2xpY2stc2xpZGV7XG4gICAgbWFyZ2luOiAwIDhweDtcbiAgfVxuXG4gICY6bm90KC5sb2FkZWQpe1xuICAgIEBpbmNsdWRlIGxvYWRlcihcbiAgICAgICAgJHNpemU6IDUwcHgsXG4gICAgICAgICR0aGlja25lc3M6IDVweCxcbiAgICAgICAgJGZvcmVncm91bmQ6IGJsYWNrLFxuICAgICAgICAkYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjI1KVxuICAgIClcbiAgfVxuXG4gIEBhdC1yb290IHtcbiAgICBib2R5Om5vdCguY29sLXJlYWR5KSAjeyZ9LFxuICAgICN7Jn06bm90KC5sb2FkZWQpe1xuICAgICAgLnByb21ve1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnByb21vc3tcbiAgICBwYWRkaW5nOiA4cHggMCA0cHggMDtcbiAgICBAaW5jbHVkZSBtcXMoJHVudGlsOiAzNjRweCkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbiAgLnByb21ve1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLndyYXBwZXJ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAtMXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcbiAgICB9XG4gICAgaW1ne1xuICAgICAgQGluY2x1ZGUgYm94U2hhZG93O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudGl0bGUsIC5tZXNzYWdle1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgaDIsIHB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNSk7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDAgMXB4IGJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgICAudGl0bGV7XG4gICAgICB0b3A6IDA7XG4gICAgICBoMntcbiAgICAgICAgZm9udC1zaXplOiAxNHB0O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVzc2FnZXtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHB7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwIDRweCA0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBwdDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsCgkJIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogU2xpY2sgQ2Fyb3VzZWwgZGVmYXVsdCB0aGVtZSBvdmVycmlkZXNcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXG4gICY6YmVmb3Jle1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIH1cbn1cblxuLnNsaWNrLXByZXYge1xuICBsZWZ0OiAxNnB4O1xufVxuXG4uc2xpY2stcHJldjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNFwiO1xuICBmb250OiA0MHB4LzEgJ0ZvbnRBd2Vzb21lJztcbiAgcGFkZGluZzogMCAxNnB4IDJweCAxMnB4O1xufVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAxNnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnNsaWNrLW5leHQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgZm9udDogNDBweC8xICdGb250QXdlc29tZSc7XG4gIHBhZGRpbmc6IDAgMTJweCAycHggMTZweDtcbn1cblxuLnNsaWNrLXByZXY6aG92ZXI6YmVmb3JlLFxuLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlIHtcbiAgY29sb3I6ICM3ZTdlN2U7XG4gIEBpbmNsdWRlIHRvdWNoLXNjcmVlbi1kZXZpY2Vze1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBvcGFjaXR5OiAwLjc1O1xuICB9XG59IiwKCQkiLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKiBSZXZpZXdzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiNyZXZpZXdzIHtcbiAgQGluY2x1ZGUgbGlnaHRHcmVlbkJveDtcbiAgbWFyZ2luOiAxNnB4IDAgOHB4IDA7XG4gIHBhZGRpbmc6IDhweCAxNnB4O1xuXG4gIGhlaWdodDogODBweDtcbiAgQGluY2x1ZGUgbXFzKCR1bnRpbDogcGFnZSkge1xuICAgIGhlaWdodDogMTIwcHg7XG5cbiAgfVxuICBAaW5jbHVkZSBtcXMoJHVudGlsOiB0YWJsZXQ3aW5jaCkge1xuICAgIGhlaWdodDogMTYwcHg7XG4gIH1cblxuXG4gICNyZXZpZXctbGlzdHtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuYXJyb3ctaWNvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGJsb2NrcXVvdGUge1xuICAgIEBpbmNsdWRlIGNlbnRyZVhZO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5zaG93UmV2aWV3IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4iLAoJCSIvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIEFwcCBwcm9tb1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4jYXBwe1xuICBAaW5jbHVkZSBib3hHcmFkaWVudERhcmtHcmVlbjtcbiAgQGltcG9ydCBcIi4uL0BpbmNsdWRlL2NvbXBvbmVudC9zbGlkZXNob3dcIjtcbiAgcGFkZGluZzogNHB4IDAgMCAwO1xuICBtYXJnaW4tdG9wOiAxNnB4O1xuICAuc2xpZGVzaG93e1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyZWVuO1xuICAgICYubG9hZGluZ3tcbiAgICAgIHBhZGRpbmctdG9wOiAzNy43MiU7IC8vIDM1MC85MjggYXNwZWN0IHJhdGlvXG4gICAgfVxuICB9XG4gIGgye1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgcGFkZGluZzogMCA4cHggOHB4IDhweDtcbiAgfVxufVxuXG4jYXBwLWFke1xuICBAaW5jbHVkZSBib3goJGdyZWVuKTtcbiAgQGltcG9ydCBcIi4uL0BpbmNsdWRlL2FwcF9hZF9mb3JtYXRzXCI7XG4gIHBhZGRpbmc6IDAgNHB4IDhweCA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA0cHggNHB4O1xuICAmOmJlZm9yZXtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbiIsCgkJIi8qXHJcbiAqIFJlc3BvbnNpdmUgc2xpZGVzaG93IHdpZGdldFxyXG4gKi9cclxuXHJcbkBpbXBvcnQgXCJzbGlja19vdmVycmlkZXNcIjtcclxuQGltcG9ydCBcImxvYWRlclwiO1xyXG5cclxuLnNsaWRlc2hvdyB7XHJcbiAgbWFyZ2luOiAwIGF1dG8gMCBhdXRvO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gICY6bm90KC5pbml0aWFsaXNlZCl7XHJcbiAgICAuc2xpZGV7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgJjpmaXJzdC1jaGlsZHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmxvYWRpbmd7XHJcbiAgICBAaW5jbHVkZSBsb2FkZXI7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAuY2FwdGlvbntcclxuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5zbGlkZXtcclxuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICAgICAgJjpmaXJzdC1jaGlsZCAuY2FwdGlvbntcclxuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpbWd7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi5pbml0aWFsaXNlZDpub3QoLmxvYWRpbmcpe1xyXG4gICAgLndyYXBwZXI6bm90KC5ldmFsdWF0aW5nKXtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgLmNhcHRpb24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGNlbnRyZVk7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuc2xpZGUge1xyXG5cclxuICAgIGltZyB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgLmNhcHRpb24ge1xyXG4gICAgICBmb250LWZhbWlseTogXCJDb21pbmcgU29vblwiO1xyXG4gICAgICBjb2xvcjogI2RkZDtcclxuICAgICAgcGFkZGluZzogOHB4IDE2cHg7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICBmb250LXNpemU6IDE2cHQ7XHJcbiAgICAgIEBpbmNsdWRlIG1xcygkdW50aWw6IHRhYmxldDdpbmNoKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMnB0O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsCgkJIi5hcHAtZm9ybWF0cyB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLy9kZXNrdG9wXG4gIEBpbmNsdWRlIG1xcygkZnJvbTogcGFnZSkge1xuICAgIC5hcHAtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvL3RhYmxldFxuICBAaW5jbHVkZSBtcXMoJHVudGlsOiBwYWdlKSB7XG4gICAgLnRleHQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xcygkZnJvbTogdGFibGV0N2luY2gsICR1bnRpbDogcGFnZSkge1xuICAgIC5pY29ue1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1xcygkdW50aWw6IHRhYmxldDdpbmNoKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLmljb24ge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gID4gZGl2LnN0b3JlLWxpbmsge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgICAuaW5uZXJ7XG4gICAgICBAaW5jbHVkZSBjZW50cmVYO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDk4JTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMnB4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG5cbiAgICAgIEBpbmNsdWRlIG1xcygkZnJvbTogdGFibGV0N2luY2gpe1xuICAgICAgICBtYXJnaW46IDhweCAwIDAgMDtcbiAgICAgICAgcGFkZGluZzogOHB4IDAgNHB4IDA7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWFhYWE7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1xcygkZnJvbTogdGFibGV0N2luY2gsICR1bnRpbDogcGFnZSkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1xcygkZnJvbTogdGFibGV0N2luY2gsICR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmc6IDRweCAwIDhweCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgbXFzKCRmcm9tOiBwYWdlKSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgYSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlvc3tcbiAgICAgIC5pY29ue1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbmRyb2lke1xuICAgICAgQGluY2x1ZGUgbXFzKCRmcm9tOiB0YWJsZXQpIHtcbiAgICAgICAgLmljb24gaW1ne1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pY29ue1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5uZXIgPiBkaXYge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgIEBpbmNsdWRlIG1xcygkdW50aWw6IHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJi5pY29uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZy10b3A6IDRweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTZweDtcbiAgICAgICAgQGluY2x1ZGUgbXFzKCR1bnRpbDogcGFnZSkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi50ZXh0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGZvbnQtdmFyaWFudDogc21hbGwtY2FwcztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBhe1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5xcntcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMThweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogOHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1xcygkdW50aWw6IHRhYmxldCkge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1xcygkdW50aWw6IHRhYmxldDdpbmNoKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1ne1xuICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgbXFzKCR1bnRpbDogcGFnZSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuYXBwLWJ1dHRvbntcbiAgICAgICAgQGluY2x1ZGUgbXFzKCRmcm9tOiB0YWJsZXQsICR1bnRpbDogcGFnZSkge1xuICAgICAgICAgIEBpbmNsdWRlIGNlbnRyZVk7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbXFzKCR1bnRpbDogdGFibGV0KSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgYXtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQycHg7XG4gICAgICAgICAgQGluY2x1ZGUgbXFzKCR1bnRpbDogdGFibGV0N2luY2gpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTJweCAwIDAgMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIKCV0sCgkibmFtZXMiOiBbXSwKCSJtYXBwaW5ncyI6ICJBSUNBOztHQUVHO0FBV0g7O0dBRUc7QUVoQkg7O3lEQUV5RDtBQ0d6RCxBQUFBLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFBO0VBQ1YsVUFBVSxFQUFFLE1BQU07Q0FDbkI7O0FBRUQsQUFFSSxJQUZBLEFBQUEsVUFBVSxDQUNaLElBQUksQUFDRCxNQUFNLENBQUE7RUFDTCxPQUFPLEVBQUUsSUFBSTtDQUNkOztBQUpMLEFBTUUsSUFORSxBQUFBLFVBQVUsQ0FNWixJQUFJLEVBTk4sSUFBSSxBQUFBLFVBQVUsQ0FNTixJQUFJLENBQUMsQ0FBQyxDQUFBO0VBQ1YsVUFBVSxFQUFFLE9BQU87Q0FDcEI7O0FBR0gsQUFDRSxJQURFLEFBQUEsSUFBSyxDQUFBLFVBQVUsRUFDakIsSUFBSSxDQUFBO0VBQ0YsS0FBSyxFQUFFLElBQUk7Q0FDWjs7QUFHSCxBQUFBLElBQUksQ0FBQTtFQ1hGLFFBQVEsRUFBRSxRQUFRO0NEZ0JuQjs7QUFMRCxBQ1RFLElEU0UsQUNURCxPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLEdBQUc7RUFDVCxVQUFVLEVBQUksS0FBc0I7RUFDcEMsV0FBVyxFQUFJLEtBQXNCO0VBQ3JDLEtBQUssRUF0QmEsSUFBSTtFQXVCdEIsTUFBTSxFQXZCWSxJQUFJO0VBd0J0QixhQUFhLEVBeEJLLElBQUk7RUF5QnRCLE1BQU0sRUF4QmlCLEdBQUcsQ0F3QlAsS0FBSyxDQXBCUyxtQkFBZ0I7RUFxQmpELGdCQUFnQixFQXRCaUIsS0FBSztFQXVCdEMsU0FBUyxFQUFFLHdCQUF3QjtDQUNwQzs7QUFDRCxVQUFVLENBQVYsT0FBVTtFQUNSLEVBQUU7SUFDQSxTQUFTLEVBQUUsWUFBWTs7RUFFekIsSUFBSTtJQUNGLFNBQVMsRUFBRSxjQUFjOzs7O0FEVi9CLEFBRUUsSUFGRSxBQUVELE1BQU0sQ0FBQTtFQUNMLFVBQVUsRUFBRSxPQUFPO0NBQ3BCOztBQUdILEFBQUEsS0FBSyxBQUFBLElBQUksQ0FBQztFQUNSLEtBQUssRUFBQyxJQUFJO0NBSVg7O0FBTEQsQUFFRSxLQUZHLEFBQUEsSUFBSSxDQUVQLE9BQU8sQUFBQSxJQUFJLENBQUE7RUFDVCxTQUFTLEVBbENFLEtBQUs7Q0FtQ2pCOztBQUdILEFBQUEsTUFBTSxBQUFBLElBQUksQ0FBQztFQUNULEtBQUssRUFBQyxJQUFJO0VBQ1YsS0FBSyxFQXZDUyxLQUFLO0NBd0NwQjs7QUFFRCxBQUFBLElBQUksQ0FBQSxBQUFBLGFBQUMsQ0FBYyxPQUFPLEFBQXJCLEVBQXVCO0VBQzFCLFdBQVcsRUFBRSxHQUFHO0NBQ2pCOztBQUdELEFEdENFLElDc0NFLEFBQUEsV0FBVyxFRHRDYixBQUFBLFNBQUMsQ0FBVSxRQUFRLEFBQWxCLENBQW1CLElBQUssQ0FBQSxlQUFlLEVBQUM7RUFOekMsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1CQUFlO0VBU25DLEtBQUssRUFBRSxlQUFlO0VBQ3RCLFVBQVUsRUFBRSxJQUFJO0VBRWhCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFlBQVksRUFBRSxHQUFHO0VBQ2pCLFlBQVksRUFBRSxLQUFLO0VBQ25CLGFBQWEsRUFBRSxHQUFHO0VBR2xCLE1BQU0sRUFBRSxNQUFNO0VBQ2QsT0FBTyxFQUFFLFFBQVE7RUFDakIsT0FBTyxFQUFFLFlBQVk7RUFDckIsUUFBUSxFQUFFLFFBQVE7RUFFbEIsUUFBUSxFQUFFLE1BQU07RUFDaEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsTUFBTSxFQUFFLE9BQU87RUFDZixXQUFXLEVBQUUsSUFBSTtFQUNqQixVQUFVLEVBQUUsTUFBTTtFQUNsQixhQUFhLEVBQUUsUUFBUTtFQUN2QixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSTtFQUNqQixTQUFTLEVBQUUsSUFBSTtDQXdCaEI7O0FDWEgsQURYSSxJQ1dBLEFBQUEsV0FBVyxFRHRDYixBQUFBLFNBQUMsQ0FBVSxRQUFRLEFBQWxCLENBQW1CLElBQUssQ0FBQSxlQUFlLENBMkJyQyxNQUFNLEVDV1gsSUFBSSxBQUFBLFdBQVcsRUR0Q2IsQUFBQSxTQUFDLENBQVUsUUFBUSxBQUFsQixDQUFtQixJQUFLLENBQUEsZUFBZSxDQTJCNUIsT0FBTyxDQUFBO0VBQ2YsVUFBVSxFQUFFLE9BQU87Q0FDcEI7O0FDU0wsQURQSSxJQ09BLEFBQUEsV0FBVyxFRHRDYixBQUFBLFNBQUMsQ0FBVSxRQUFRLEFBQWxCLENBQW1CLElBQUssQ0FBQSxlQUFlLEVBK0JyQyxBQUFBLFNBQUMsQUFBQSxFQUFVO0VBQ1YsWUFBWSxFQUFFLElBQUk7RUFDbEIsYUFBYSxFQUFFLEdBQUc7Q0FNbkI7O0FDREwsQURKTSxJQ0lGLEFBQUEsV0FBVyxFRHRDYixBQUFBLFNBQUMsQ0FBVSxRQUFRLEFBQWxCLENBQW1CLElBQUssQ0FBQSxlQUFlLEVBK0JyQyxBQUFBLFNBQUMsQUFBQSxFQUdBLENBQUMsQ0FBQTtFSHpDTCxHQUFHLEVBQUUsR0FBRztFQUNSLFNBQVMsRUFBRSxnQkFBZ0I7RUcwQ3JCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxHQUFHO0NBQ1Y7O0FDQVAsQURHSSxJQ0hBLEFBQUEsV0FBVyxFRHRDYixBQUFBLFNBQUMsQ0FBVSxRQUFRLEFBQWxCLENBQW1CLElBQUssQ0FBQSxlQUFlLENBeUNyQyxNQUFNLENBQUE7RUFDTCxVQUFVLEVBQUUsaUVBQStEO0VBQzNFLFlBQVksRUFBRSxPQUFPO0VBQ3JCLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0I7Q0FJekM7O0FDVkwsQURPTSxJQ1BGLEFBQUEsV0FBVyxFRHRDYixBQUFBLFNBQUMsQ0FBVSxRQUFRLEFBQWxCLENBQW1CLElBQUssQ0FBQSxlQUFlLENBeUNyQyxNQUFNLEFBSUosTUFBTSxFQ1BiLElBQUksQUFBQSxXQUFXLEVEdENiLEFBQUEsU0FBQyxDQUFVLFFBQVEsQUFBbEIsQ0FBbUIsSUFBSyxDQUFBLGVBQWUsQ0F5Q3JDLE1BQU0sQUFJSyxPQUFPLENBQUE7RUFDZixVQUFVLEVBQUUsaUVBQStEO0NBQzVFOztBQ1RQLEFEY0UsSUNkRSxBQUFBLFdBQVcsRURjYixBQUFBLFNBQUMsQ0FBVSxVQUFVLEFBQXBCLENBQXFCLElBQUssQ0FBQSxlQUFlLEVBQUM7RUhuQzNDLGdCQUFnQixFRHhCWCxPQUFPO0VDeUJaLGFBQWEsRUFBQyxHQUFHO0VBUWpCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFnRGxCLFVBQVUsRUFBRSxnQkFBZ0I7RUFNNUIsS0FBSyxFQUFFLElBQUk7RUczQlQsT0FBTyxFQUFFLFlBQVk7RUFDckIsVUFBVSxFQUFFLElBQUk7Q0F5Q2pCOztBQzFESCxBSm5CRSxJSW1CRSxBQUFBLFdBQVcsRURjYixBQUFBLFNBQUMsQ0FBVSxVQUFVLEFBQXBCLENBQXFCLElBQUssQ0FBQSxlQUFlLEdDZDVDLElBQUksQUFBQSxXQUFXLEVEY2IsQUFBQSxTQUFDLENBQVUsVUFBVSxBQUFwQixDQUFxQixJQUFLLENBQUEsZUFBZSxFSGpDdkMsQ0FBQyxDQUFBO0VBQ0YsS0FBSyxFQUFFLEtBQUs7Q0FDYjs7QUlpQkgsQUpURSxJSVNFLEFBQUEsV0FBVyxFRGNiLEFBQUEsU0FBQyxDQUFVLFVBQVUsQUFBcEIsQ0FBcUIsSUFBSyxDQUFBLGVBQWUsQ0h2QnpDLE9BQU8sQ0FBQTtFQUNOLE9BQU8sRUFBQyxFQUFFO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVEaENRLElBQUk7RUNpQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsR0FBRyxFQUFFLENBQUM7RUFDTixVQUFVLEVBQUUsaUNBQTBDO0VBQ3RELGFBQWEsRUFBRSxXQUFXO0VBQzFCLE9BQU8sRUFBRSxDQUFDO0NBQ1g7O0FJREgsQUpHRSxJSUhFLEFBQUEsV0FBVyxFRGNiLEFBQUEsU0FBQyxDQUFVLFVBQVUsQUFBcEIsQ0FBcUIsSUFBSyxDQUFBLGVBQWUsQ0hYekMsTUFBTSxDQUFBO0VBQ0wsT0FBTyxFQUFDLEVBQUU7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUQ1Q1EsSUFBSTtFQzZDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVEOUNXLElBQUk7RUMrQ2xCLFVBQVUsRUFBRSxpQ0FBMEM7RUFDdEQsT0FBTyxFQUFFLENBQUM7Q0FDWDs7QUlaSCxBSmNFLElJZEUsQUFBQSxXQUFXLEVEY2IsQUFBQSxTQUFDLENBQVUsVUFBVSxBQUFwQixDQUFxQixJQUFLLENBQUEsZUFBZSxJSEF4QyxDQUFDLENBQUE7RUFDRCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQztDQUNYOztBSWpCSCxBSjZDRSxJSTdDRSxBQUFBLFdBQVcsRURjYixBQUFBLFNBQUMsQ0FBVSxVQUFVLEFBQXBCLENBQXFCLElBQUssQ0FBQSxlQUFlLEVIK0IxQyxDQUFDLEVJN0NILElBQUksQUFBQSxXQUFXLEVEY2IsQUFBQSxTQUFDLENBQVUsVUFBVSxBQUFwQixDQUFxQixJQUFLLENBQUEsZUFBZSxFSCtCdkMsTUFBTSxDQUFDO0VBQ1IsS0FBSyxFQUFFLEtBQUs7Q0FDYjs7QUkvQ0gsQUppREUsSUlqREUsQUFBQSxXQUFXLEVEY2IsQUFBQSxTQUFDLENBQVUsVUFBVSxBQUFwQixDQUFxQixJQUFLLENBQUEsZUFBZSxFSG1DMUMsRUFBRSxDQUFDO0VBQ0QsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsQ0FBQztDQUNWOztBSXBESCxBRG9CSSxJQ3BCQSxBQUFBLFdBQVcsRURjYixBQUFBLFNBQUMsQ0FBVSxVQUFVLEFBQXBCLENBQXFCLElBQUssQ0FBQSxlQUFlLElBTXZDLEVBQUUsQ0FBQTtFQUNELE9BQU8sRUFBRSxLQUFLO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsUUFBUSxFQUFFLE9BQU87RUFDakIsTUFBTSxFQUFFLENBQUM7RUFDVCxPQUFPLEVBQUUsMkJBQTJCO0VBQ3BDLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLFlBQVksRUFBRSxLQUFLO0VBQ25CLFlBQVksRUFBRSxhQUFhO0VBQzNCLFNBQVMsRUFBRSxlQUFlO0NBMEIzQjs7QURrSEcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsT0FBTztFRTNLN0MsQURvQkksSUNwQkEsQUFBQSxXQUFXLEVEY2IsQUFBQSxTQUFDLENBQVUsVUFBVSxBQUFwQixDQUFxQixJQUFLLENBQUEsZUFBZSxJQU12QyxFQUFFLENBQUE7SUFhQyxTQUFTLEVBQUUsZUFBZTtHQXdCN0I7OztBQ3pETCxBRG9DTSxJQ3BDRixBQUFBLFdBQVcsRURjYixBQUFBLFNBQUMsQ0FBVSxVQUFVLEFBQXBCLENBQXFCLElBQUssQ0FBQSxlQUFlLElBTXZDLEVBQUUsQ0FnQkQsQ0FBQyxDQUFBO0VBQ0MsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsSUFBSTtFQUNoQixlQUFlLEVBQUUsSUFBSTtFQUNyQixRQUFRLEVBQUUsTUFBTTtFQUNoQixTQUFTLEVBQUUsZUFBZTtDQWUzQjs7QURtSEMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsT0FBTztFRTNLN0MsQURvQ00sSUNwQ0YsQUFBQSxXQUFXLEVEY2IsQUFBQSxTQUFDLENBQVUsVUFBVSxBQUFwQixDQUFxQixJQUFLLENBQUEsZUFBZSxJQU12QyxFQUFFLENBZ0JELENBQUMsQ0FBQTtJQU9HLFNBQVMsRUFBRSxlQUFlO0dBYTdCOzs7QUN4RFAsQUQrQ1EsSUMvQ0osQUFBQSxXQUFXLEVEY2IsQUFBQSxTQUFDLENBQVUsVUFBVSxBQUFwQixDQUFxQixJQUFLLENBQUEsZUFBZSxJQU12QyxFQUFFLENBZ0JELENBQUMsQUFXRSxNQUFNLENBQUE7RUFDTCxPQUFPLEVBQUUsR0FBRztFQUNaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxHQUFHO0VBQ1YsU0FBUyxFQUFFLGVBQWU7Q0FJM0I7O0FEb0hELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE9BQU87RUUzSzdDLEFEK0NRLElDL0NKLEFBQUEsV0FBVyxFRGNiLEFBQUEsU0FBQyxDQUFVLFVBQVUsQUFBcEIsQ0FBcUIsSUFBSyxDQUFBLGVBQWUsSUFNdkMsRUFBRSxDQWdCRCxDQUFDLEFBV0UsTUFBTSxDQUFBO0lBTUgsU0FBUyxFQUFFLGVBQWU7R0FFN0I7OztBQ3ZEVCxBRDZERSxJQzdERSxBQUFBLFdBQVcsQ0Q2RGIsSUFBSyxDQUFBLGVBQWUsQ0FBQyxJQUFLLEVBQUEsQUFBQSxTQUFDLEFBQUEsRUFBVyxJQUFLLEVBQUEsQUFBQSxJQUFDLEFBQUEsS0FBUyxFQUFFLEdBQUcsQ0FBQyxBQUFBLFdBQVcsQ0FBQTtFQUNwRSxPQUFPLEVBQUUsS0FBSztFQUNkLE9BQU8sRUFBRSxZQUFZO0NBQ3RCOztBRDJHSyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxPQUFPO0VFM0s3QyxBQUdJLElBSEEsQUFBQSxXQUFXLENBR1gsTUFBTSxBQUFBLElBQUksQ0FBQTtJQUNSLEtBQUssRUFBRSxnQkFBZ0IsQ0FBQyxVQUFVO0lBQ2xDLE1BQU0sRUFBRSxNQUFNO0dBV2Y7RUFoQkwsQUFNTSxJQU5GLEFBQUEsV0FBVyxDQUdYLE1BQU0sQUFBQSxJQUFJLENBR1IsSUFBSSxDQUFDO0lBQ0gsS0FBSyxFQUFFLGdCQUFnQjtJQUN2QixNQUFNLEVBQUUsS0FBSztHQU9kO0VBZlAsQUFTUSxJQVRKLEFBQUEsV0FBVyxDQUdYLE1BQU0sQUFBQSxJQUFJLENBR1IsSUFBSSxBQUdELFVBQVcsQ0FBQSxHQUFHLEVBQUM7SUFDZCxLQUFLLEVBQUUsS0FBSztHQUNiO0VBWFQsQUFZUSxJQVpKLEFBQUEsV0FBVyxDQUdYLE1BQU0sQUFBQSxJQUFJLENBR1IsSUFBSSxBQU1ELFVBQVcsQ0FBQSxJQUFJLEVBQUM7SUFDZixLQUFLLEVBQUUsSUFBSTtHQUNaOzs7QUFkVCxBQW1CRSxJQW5CRSxBQUFBLFdBQVcsRUFtQmIsQUFBQSxTQUFDLENBQVUsVUFBVSxBQUFwQixFQUFxQjtFQUNwQixNQUFNLEVBQUUscUJBQXFCO0NBQzlCOztBQXJCSCxBQXVCRSxJQXZCRSxBQUFBLFdBQVcsQ0F1QmIsS0FBSyxBQUFBLElBQUksRUF2QlgsSUFBSSxBQUFBLFdBQVcsQ0F1QkYsTUFBTSxBQUFBLElBQUksQ0FBQTtFQUNuQixLQUFLLEVBQUUsSUFBSTtDQUNaOztBQUlILEFBQ0UsSUFERSxBQUFBLFNBQVMsQ0FDWCxLQUFLLEFBQUEsSUFBSSxDQUFBO0VBQ1AsS0FBSyxFQS9FTSxLQUFLO0VBZ0ZoQixZQUFZLEVBQUMsSUFBSTtDQUNsQjs7QUFLSCxBQUFBLElBQUksQ0FBQztFQUNILEtBQUssRUFBRSxHQUFHO0NBQ1g7O0NBRUQsQUFBQSxBQUNFLFNBREQsQ0FBVSxVQUFVLEFBQXBCLElBQ0UsRUFBRSxDQUFBO0VBQ0QsT0FBTyxFQUFFLEtBQUs7Q0FDZjs7QUUvRkg7O3VEQUV1RDtBQUV2RCxBQUVFLE9BRkssQUFBQSxJQUFJLENBRVQsU0FBUyxDQUFBO0VOdUJULGdCQUFnQixFRHJCSix5QkFBeUI7RUNzQnJDLGFBQWEsRUFBQyxHQUFHO0VBeURqQixVQUFVLEVBQUUsZ0JBQWdCO0VNOUUxQixhQUFhLEVBQUUsSUFBSTtFQUNuQixPQUFPLEVBQUUsR0FBRztDQUliOztBQVZILEFOMkJFLE9NM0JLLEFBQUEsSUFBSSxDQUVULFNBQVMsRUFGWCxPQUFPLEFBQUEsSUFBSSxDQUVULFNBQVMsQ055Qk4sQ0FBQyxDQUFBO0VBQ0YsS0FBSyxFQUFFLEtBQUs7Q0FDYjs7QU03QkgsQU51R0UsT012R0ssQUFBQSxJQUFJLENBRVQsU0FBUyxFQUZYLE9BQU8sQUFBQSxJQUFJLENBRVQsU0FBUyxDTnFHUCxDQUFDLENBQUE7RUFDRCxLQUFLLEVBQUUsS0FBSztDQUNiOztBTXpHSCxBQU9JLE9BUEcsQUFBQSxJQUFJLENBRVQsU0FBUyxDQUtQLENBQUMsQ0FBQTtFQUNDLE1BQU0sRUFBRSxDQUFDO0NBQ1Y7O0FBVEwsQUFZRSxPQVpLLEFBQUEsSUFBSSxDQVlULENBQUMsQ0FBQztFQUNBLFVBQVUsRUFBRSxDQUFDO0NBQ2Q7O0FBZEgsQUFnQkUsT0FoQkssQUFBQSxJQUFJLENBZ0JULEtBQUssQ0FBQztFQUNKLFVBQVUsRUFBRSxJQUFJO0NBS2pCOztBQXRCSCxBQW1CSSxPQW5CRyxBQUFBLElBQUksQ0FnQlQsS0FBSyxDQUdILENBQUMsQ0FBQTtFQUNDLGFBQWEsRUFBRSxDQUFDO0NBQ2pCOztBQXJCTCxBQXdCRSxPQXhCSyxBQUFBLElBQUksQ0F3QlQsWUFBWSxDQUFDO0VBQ1gsV0FBVyxFQUFDLEdBQUc7Q0FDaEI7O0FDOUJIOzt1REFFdUQ7QUFLdkQsQUFBQSxjQUFjLENBQUM7RUFDYixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBTEksS0FBbUI7Q0FTN0I7O0FMZ05PLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE9BQU87RUt0TjdDLEFBQUEsY0FBYyxDQUFDO0lBSVgsS0FBSyxFQUFFLElBQUk7R0FFZDs7O0FBRUQsQUFBQSxJQUFJLENBQUM7RUFDSCxTQUFTLEVBQUUsZUFBZTtFQUMxQixLQUFLLEVBYkksS0FBbUI7RUFjNUIsTUFBTSxFQWJJLEtBQUs7Q0FnQ2hCOztBTHdMTyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxPQUFPO0VLOU03QyxBQUFBLElBQUksQ0FBQztJQU1ELEtBQUssRUFBRSxJQUFJO0lBQ1gsS0FBSyxFQUFFLENBQUM7R0FlWDtFQXRCRCxBQVFJLElBUkEsRUFBSixJQUFJLENBUUcsQ0FBQyxDQUFBO0lBQ0YsY0FBYyxFQUFFLGVBQWU7R0FDaEM7OztBQVZMLEFBYUUsSUFiRSxDQWFGLGFBQWEsQ0FBQTtFQUNYLE1BQU0sRUFBRSxPQUFPO0NBQ2hCOztBQWZILEFBa0JJLElBbEJBLEFBaUJELGdCQUFnQixDQUNmLFVBQVUsQ0FBQTtFQUNSLE9BQU8sRUFBRSxJQUFJO0NBQ2Q7O0FBSUwsQUFBQSxXQUFXLENBQUM7RUFDWCxLQUFLLEVBQUUsSUFBSTtDQU1YOztBQVBELEFBRUMsV0FGVSxDQUVWLEdBQUcsQ0FBQTtFQUNGLE9BQU8sRUFBQyxLQUFLO0VBQ2IsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsS0FBSztDQUNoQjs7QUFHRixBQUFBLGdCQUFnQixDQUFDO0VBQ2YsUUFBUSxFQUFFLG1CQUFtQjtFQUM3QixLQUFLLEVBQUUsSUFBSTtFQUNYLEdBQUcsRUFBRSxJQUFJO0VBQ1QsS0FBSyxFQUFFLEtBQUs7RUFDWixNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxlQUFlO0VBQ3hCLFVBQVUsRUFBRSxPQUFPO0VBQ25CLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE9BQU8sRUFBRSxHQUFHO0VBQ1osVUFBVSxFQUFFLE1BQU07RUFDbEIsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0I7Q0FzQjNDOztBTDRJTyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxPQUFPO0VLN0s3QyxBQUFBLGdCQUFnQixDQUFDO0lQbkJmLGdCQUFnQixFRHhCWCxPQUFPO0lDeUJaLGFBQWEsRUFBQyxHQUFHO0lBUWpCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsUUFBUSxFQUFFLFFBQVE7SUFnRGxCLFVBQVUsRUFBRSxnQkFBZ0I7SUFNNUIsS0FBSyxFQUFFLElBQUk7SU85QlQsZ0JBQWdCLEVBQUUsV0FBVztJQUM3QixLQUFLLEVBQUUsS0FBSztHQWlCZjtFQWpDRCxBUGpCRSxnQk9pQmMsRUFBaEIsZ0JBQWdCLENQakJYLENBQUMsQ0FBQTtJQUNGLEtBQUssRUFBRSxLQUFLO0dBQ2I7RU9lSCxBUFBFLGdCT09jLEFQUGIsT0FBTyxDQUFBO0lBQ04sT0FBTyxFQUFDLEVBQUU7SUFDVixRQUFRLEVBQUUsUUFBUTtJQUNsQixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRURoQ1EsSUFBSTtJQ2lDbEIsSUFBSSxFQUFFLENBQUM7SUFDUCxHQUFHLEVBQUUsQ0FBQztJQUNOLFVBQVUsRUFBRSxpQ0FBMEM7SUFDdEQsYUFBYSxFQUFFLFdBQVc7SUFDMUIsT0FBTyxFQUFFLENBQUM7R0FDWDtFT0hILEFQS0UsZ0JPTGMsQVBLYixNQUFNLENBQUE7SUFDTCxPQUFPLEVBQUMsRUFBRTtJQUNWLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFRDVDUSxJQUFJO0lDNkNsQixJQUFJLEVBQUUsQ0FBQztJQUNQLEdBQUcsRUQ5Q1csSUFBSTtJQytDbEIsVUFBVSxFQUFFLGlDQUEwQztJQUN0RCxPQUFPLEVBQUUsQ0FBQztHQUNYO0VPZEgsQVBnQkUsZ0JPaEJjLEdQZ0JaLENBQUMsQ0FBQTtJQUNELFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxDQUFDO0dBQ1g7RU9uQkgsQVArQ0UsZ0JPL0NjLENQK0NkLENBQUMsRU8vQ0gsZ0JBQWdCLENQK0NYLE1BQU0sQ0FBQztJQUNSLEtBQUssRUFBRSxLQUFLO0dBQ2I7RU9qREgsQVBtREUsZ0JPbkRjLENQbURkLEVBQUUsQ0FBQztJQUNELE1BQU0sRUFBRSxJQUFJO0lBQ1osTUFBTSxFQUFFLENBQUM7R0FDVjtFT3RESCxBQWtCSSxnQkFsQlksQUFrQlgsTUFBTSxDQUFBO0lBQ0wsTUFBTSxFQUFFLElBQUk7SUFDWixhQUFhLEVBQUUsV0FBVztHQUMzQjs7O0FBckJMLEFBd0JFLGdCQXhCYyxDQXdCZCxDQUFDLENBQUM7RUFDQSxlQUFlLEVBQUUsSUFBSTtFQUNyQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsR0FBRztDQUNUOztBQTVCSCxBQThCRSxnQkE5QmMsQ0E4QmQsQ0FBQyxBQUFBLE1BQU0sQ0FBQztFQUNOLGVBQWUsRUFBRSxTQUFTO0NBQzNCOztBQ2hGSDs7dURBRXVEO0FBS3ZELEFBQUEsT0FBTyxDQUFDO0VBQ04sT0FBTyxFQUFFLFFBQVE7Q0FpRGxCOztBQWxERCxBQUlFLE9BSkssQ0FJTCxJQUFJLENBQUM7RUFDSCxNQUFNLEVBQUMsQ0FBQztDQUNUOztBQU5ILEFBUUUsT0FSSyxDQVFMLE9BQU8sQ0FBQTtFQUNMLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLGFBQWEsRUFBRSxHQUFHO0NBQ25COztBQVhILEFBYUUsT0FiSyxDQWFMLEVBQUUsQ0FBQztFQUNELE1BQU0sRUFBRSxVQUFVO0VBQ2xCLGVBQWUsRUFBRSxJQUFJO0NBQ3RCOztBQWhCSCxBQWtCRSxPQWxCSyxDQWtCTCxLQUFLLENBQUM7RUFDSixTQUFTLEVBQUUsSUFBSTtFQUNmLEtBQUssRUF2QkksSUFBSTtFQXdCYixZQUFZLEVBQUUsR0FBRztFQUNqQixPQUFPLEVBQUUsS0FBSztDQWtCZjs7QU44S0ssTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFTXROMUMsQUFrQkUsT0FsQkssQ0FrQkwsS0FBSyxDQUFDO0lBT0YsS0FBSyxFQUFDLElBQUk7SUFDVixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztHQWFYOzs7QVAzQkQsTUFBTSxDQUFDLE1BQW1DLE1DeU1qQixTQUFTLEVBQUUsSUFBSSxPRHpNaEMsT0FBTyxFQUFFLE1BQU0sT0FBTyxLQUFLLEVBQUUsSUFBSTtFT2IzQyxBQWtCRSxPQWxCSyxDQWtCTCxLQUFLLENBQUM7SUFZQSxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBQyxDQUFDO0dBU2Q7OztBTjhLSyxNQUFNLENBQUMsTUFBZ0MsTUFBcEIsU0FBUyxFQUFFLElBQUksT0FBZixTQUFTLEVBQUUsUUFBUTtFTXROOUMsQUFrQkUsT0FsQkssQ0FrQkwsS0FBSyxDQUFDO0lBWUEsS0FBSyxFQUFFLElBQUk7SUFDWCxPQUFPLEVBQUMsQ0FBQztHQVNkOzs7QU44S0ssTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsT0FBTztFTXRON0MsQUFrQkUsT0FsQkssQ0FrQkwsS0FBSyxDQUFDO0lBa0JGLGFBQWEsRUFBRSxHQUFHO0dBSXJCOzs7QUF4Q0gsQUEwQ0UsT0ExQ0ssQ0EwQ0wsTUFBTSxDQUFDO0VBQ0wsS0FBSyxFQTdDSyxLQUFLO0NBbURoQjs7QU5xS0ssTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsT0FBTztFTXRON0MsQUEwQ0UsT0ExQ0ssQ0EwQ0wsTUFBTSxDQUFDO0lBSUgsWUFBWSxFQUFFLElBQUk7SUFDbEIsYUFBYSxFQUFFLElBQUk7R0FFdEI7OztBTnFLSyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxJQUFJO0VNbEsxQyxBQUFBLE9BQU8sQ0FBQTtJQUVILFNBQVMsRUFBRSxnQkFBZ0I7SUFDM0IsV0FBVyxFQUFFLEtBQUs7R0FRckI7OztBUGxEQyxNQUFNLENBQUMsTUFBbUMsTUN5TWpCLFNBQVMsRUFBRSxJQUFJLE9Eek1oQyxPQUFPLEVBQUUsTUFBTSxPQUFPLEtBQUssRUFBRSxJQUFJO0VPdUMzQyxBQUFBLE9BQU8sQ0FBQTtJQUtELFdBQVcsRUFBRSxLQUFLO0dBTXZCOzs7QU51Sk8sTUFBTSxDQUFDLE1BQWdDLE1BQXBCLFNBQVMsRUFBRSxJQUFJLE9BQWYsU0FBUyxFQUFFLFFBQVE7RU1sSzlDLEFBQUEsT0FBTyxDQUFBO0lBS0QsV0FBVyxFQUFFLEtBQUs7R0FNdkI7OztBTnVKTyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxPQUFPO0VNbEs3QyxBQUFBLE9BQU8sQ0FBQTtJQVNILE9BQU8sRUFBRSxZQUFZO0dBRXhCOzs7QUFHRCxBQUFBLEVBQUUsQUFBQSxPQUFPLENBQUM7RUFDUixXQUFXLEVBQUUsR0FBRztFQUNoQixjQUFjLEVBQUUsR0FBRztDQUNwQjs7QUM1RUQ7O3VEQUV1RDtBQUd2RCxBQUFBLGdCQUFnQixDQUFDO0VBQ2YsTUFBTSxFQUFFLE1BQU07RUFDZCxLQUFLLEVBQUUsSUFBSTtFQ1BiOzt1REFFdUQ7Q0RzRnREOztBQW5GRCxBQ0RBLGdCRENnQixDQ0RoQixXQUFXO0FEQ1gsZ0JBQWdCLENDQWhCLFdBQVcsQ0FBQztFQUNWLE9BQU8sRUFBRSxDQUFDO0VBQ1YsS0FBSyxFQUFFLGVBQWU7RUFDdEIsTUFBTSxFQUFFLGVBQWU7Q0FNeEI7O0FEVEQsQUNLRSxnQkRMYyxDQ0RoQixXQUFXLEFBTVIsT0FBTztBRExWLGdCQUFnQixDQ0FoQixXQUFXLEFBS1IsT0FBTyxDQUFBO0VBQ04sZ0JBQWdCLEVBQUUsS0FBSztFQUN2QixhQUFhLEVBQUUsSUFBSTtDQUNwQjs7QURSSCxBQ1dBLGdCRFhnQixDQ1doQixXQUFXLENBQUM7RUFDVixJQUFJLEVBQUUsSUFBSTtDQUNYOztBRGJELEFDZUEsZ0JEZmdCLENDZWhCLFdBQVcsQUFBQSxPQUFPLENBQUM7RUFDakIsT0FBTyxFQUFFLE9BQU87RUFDaEIsSUFBSSxFQUFFLG9CQUFvQjtFQUMxQixPQUFPLEVBQUUsZUFBZTtDQUN6Qjs7QURuQkQsQUNxQkEsZ0JEckJnQixDQ3FCaEIsV0FBVyxDQUFDO0VBQ1YsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsS0FBSztDQUNsQjs7QUR4QkQsQUMwQkEsZ0JEMUJnQixDQzBCaEIsV0FBVyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTztFQUNoQixJQUFJLEVBQUUsb0JBQW9CO0VBQzFCLE9BQU8sRUFBRSxlQUFlO0NBQ3pCOztBRDlCRCxBQ2dDQSxnQkRoQ2dCLENDZ0NoQixXQUFXLEFBQUEsTUFBTSxBQUFBLE9BQU87QURoQ3hCLGdCQUFnQixDQ2lDaEIsV0FBVyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7RUFDdkIsS0FBSyxFQUFFLE9BQU87Q0FLZjs7QVR4QkMsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sS0FBSyxFQUFFLElBQUk7RVFmM0MsQUNnQ0EsZ0JEaENnQixDQ2dDaEIsV0FBVyxBQUFBLE1BQU0sQUFBQSxPQUFPO0VEaEN4QixnQkFBZ0IsQ0NpQ2hCLFdBQVcsQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0lBR3JCLEtBQUssRUFBRSxLQUFLO0lBQ1osT0FBTyxFQUFFLElBQUk7R0FFaEI7OztBUmlMTyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0VPeE45QyxBQ2dDQSxnQkRoQ2dCLENDZ0NoQixXQUFXLEFBQUEsTUFBTSxBQUFBLE9BQU87RURoQ3hCLGdCQUFnQixDQ2lDaEIsV0FBVyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7SUFHckIsS0FBSyxFQUFFLEtBQUs7SUFDWixPQUFPLEVBQUUsSUFBSTtHQUVoQjs7O0FEdkNELEFBTUUsZ0JBTmMsQ0FNZCxXQUFXLENBQUE7RUFDVCxNQUFNLEVBQUUsTUFBTTtDQUNmOztBQVJILEFBVUUsZ0JBVmMsQ0FVZCxZQUFZLENBQUE7RUFDVixNQUFNLEVBQUUsS0FBSztDQUNkOztBQVpILEFBY0UsZ0JBZGMsQUFjYixJQUFLLENBQUEsT0FBTyxFQUFDO0VKSmQsUUFBUSxFQUFFLFFBQVE7Q0lXakI7O0FBckJILEFKWUUsZ0JJWmMsQUFjYixJQUFLLENBQUEsT0FBTyxDSkZaLE9BQU8sQ0FBQztFQUNQLE9BQU8sRUFBRSxFQUFFO0VBQ1gsUUFBUSxFQUFFLFFBQVE7RUFDbEIsR0FBRyxFQUFFLEdBQUc7RUFDUixJQUFJLEVBQUUsR0FBRztFQUNULFVBQVUsRUFBSSxLQUFzQjtFQUNwQyxXQUFXLEVBQUksS0FBc0I7RUFDckMsS0FBSyxFSUhNLElBQUk7RUpJZixNQUFNLEVJSkssSUFBSTtFSktmLGFBQWEsRUlMRixJQUFJO0VKTWYsTUFBTSxFSUxVLEdBQUcsQ0pLQSxLQUFLLENJSFAsbUJBQWdCO0VKSWpDLGdCQUFnQixFSUxDLEtBQUs7RUpNdEIsU0FBUyxFQUFFLHdCQUF3QjtDQUNwQzs7QUFDRCxVQUFVLENBQVYsT0FBVTtFQUNSLEVBQUU7SUFDQSxTQUFTLEVBQUUsWUFBWTs7RUFFekIsSUFBSTtJQUNGLFNBQVMsRUFBRSxjQUFjOzs7O0FJUDNCLEFBRUUsSUFGRSxBQUFBLElBQUssQ0FBQSxVQUFVLEVBQUUsZ0JBQWdCLENBRW5DLE1BQU07QUFEUixnQkFBZ0IsQUFBQSxJQUFLLENBQUEsT0FBTyxFQUMxQixNQUFNLENBQUE7RUFDSixPQUFPLEVBQUUsZUFBZTtDQUN6Qjs7QUE1QlAsQUFnQ0UsZ0JBaENjLENBZ0NkLE9BQU8sQ0FBQTtFQUNMLE9BQU8sRUFBRSxXQUFXO0NBSXJCOztBUG1MSyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxPQUFPO0VPeE43QyxBQWdDRSxnQkFoQ2MsQ0FnQ2QsT0FBTyxDQUFBO0lBR0gsT0FBTyxFQUFFLENBQUM7R0FFYjs7O0FBckNILEFBc0NFLGdCQXRDYyxDQXNDZCxNQUFNLENBQUE7RUFDSixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsTUFBTTtDQTBDbkI7O0FBbEZILEFBeUNJLGdCQXpDWSxDQXNDZCxNQUFNLENBR0osUUFBUSxDQUFBO0VBQ04sT0FBTyxFQUFFLFlBQVk7RUFDckIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLElBQUk7RUFDVixNQUFNLEVBQUUsaUJBQWlCO0NBQzFCOztBQTlDTCxBQStDSSxnQkEvQ1ksQ0FzQ2QsTUFBTSxDQVNKLEdBQUcsQ0FBQTtFVG1DTCxVQUFVLEVBQUUsZ0JBQWdCO0VTakN4QixNQUFNLEVBQUUsTUFBTTtFQUNkLEtBQUssRUFBRSxJQUFJO0NBQ1o7O0FBbkRMLEFBcURJLGdCQXJEWSxDQXNDZCxNQUFNLENBZUosTUFBTSxFQXJEVixnQkFBZ0IsQ0FzQ2QsTUFBTSxDQWVJLFFBQVEsQ0FBQTtFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxJQUFJO0VBQ1gsSUFBSSxFQUFFLENBQUM7Q0FRUjs7QUFoRUwsQUF5RE0sZ0JBekRVLENBc0NkLE1BQU0sQ0FlSixNQUFNLENBSUosRUFBRSxFQXpEUixnQkFBZ0IsQ0FzQ2QsTUFBTSxDQWVKLE1BQU0sQ0FJQSxDQUFDLEVBekRYLGdCQUFnQixDQXNDZCxNQUFNLENBZUksUUFBUSxDQUlkLEVBQUUsRUF6RFIsZ0JBQWdCLENBc0NkLE1BQU0sQ0FlSSxRQUFRLENBSVYsQ0FBQyxDQUFBO0VBQ0gsS0FBSyxFQUFFLEtBQUs7RUFDWixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDO0VBQ1YsZ0JBQWdCLEVBQUUsa0JBQWU7RUFDakMsV0FBVyxFQUFFLGFBQWE7Q0FDM0I7O0FBL0RQLEFBaUVJLGdCQWpFWSxDQXNDZCxNQUFNLENBMkJKLE1BQU0sQ0FBQTtFQUNKLEdBQUcsRUFBRSxDQUFDO0NBTVA7O0FBeEVMLEFBbUVNLGdCQW5FVSxDQXNDZCxNQUFNLENBMkJKLE1BQU0sQ0FFSixFQUFFLENBQUE7RUFDQSxTQUFTLEVBQUUsSUFBSTtFQUNmLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLEdBQUc7Q0FDYjs7QUF2RVAsQUEwRUksZ0JBMUVZLENBc0NkLE1BQU0sQ0FvQ0osUUFBUSxDQUFBO0VBQ04sTUFBTSxFQUFFLENBQUM7Q0FNVjs7QUFqRkwsQUE0RU0sZ0JBNUVVLENBc0NkLE1BQU0sQ0FvQ0osUUFBUSxDQUVOLENBQUMsQ0FBQTtFQUNDLE9BQU8sRUFBRSxhQUFhO0VBQ3RCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLElBQUk7Q0FDakI7O0FFckZQOzt1REFFdUQ7QUFFdkQsQUFBQSxRQUFRLENBQUM7RVh5QlAsZ0JBQWdCLEVEckJKLHlCQUF5QjtFQ3NCckMsYUFBYSxFQUFDLEdBQUc7RVd4QmpCLE1BQU0sRUFBRSxZQUFZO0VBQ3BCLE9BQU8sRUFBRSxRQUFRO0VBRWpCLE1BQU0sRUFBRSxJQUFJO0NBNkJiOztBQWxDRCxBWDJCRSxRVzNCTSxFQUFSLFFBQVEsQ1gyQkgsQ0FBQyxDQUFBO0VBQ0YsS0FBSyxFQUFFLEtBQUs7Q0FDYjs7QVc3QkgsQVh1R0UsUVd2R00sRUFBUixRQUFRLENYdUdKLENBQUMsQ0FBQTtFQUNELEtBQUssRUFBRSxLQUFLO0NBQ2I7O0FFZ0hLLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE9BQU87RVN6TjdDLEFBQUEsUUFBUSxDQUFDO0lBT0wsTUFBTSxFQUFFLEtBQUs7R0EyQmhCOzs7QVR1TE8sTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsT0FBTztFU3pON0MsQUFBQSxRQUFRLENBQUM7SUFXTCxNQUFNLEVBQUUsS0FBSztHQXVCaEI7OztBQWxDRCxBQWVFLFFBZk0sQ0FlTixZQUFZLENBQUE7RUFDVixVQUFVLEVBQUUsa0JBQWtCO0NBQy9COztBQWpCSCxBQW1CRSxRQW5CTSxDQW1CTixXQUFXLENBQUM7RUFDVixPQUFPLEVBQUUsSUFBSTtDQUNkOztBQXJCSCxBQXVCRSxRQXZCTSxDQXVCTixVQUFVLENBQUM7RVhaWCxHQUFHLEVBQUUsR0FBRztFQUNSLElBQUksRUFBRSxHQUFHO0VBQ1QsU0FBUyxFQUFFLGdCQUFnQixDQUFFLGdCQUFnQjtFV1kzQyxRQUFRLEVBQUUsbUJBQW1CO0VBQzdCLFNBQVMsRUFBRSxlQUFlO0VBQzFCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0NBS2Q7O0FBakNILEFBOEJJLFFBOUJJLENBdUJOLFVBQVUsQUFPUCxXQUFXLENBQUM7RUFDWCxPQUFPLEVBQUUsS0FBSztDQUNmOztBQ3BDTDs7dURBRXVEO0FBRXZELEFBQUEsSUFBSSxDQUFBO0VaeUJGLGdCQUFnQixFRHZCTCxJQUFJO0VDd0JmLGFBQWEsRUFBQyxHQUFHO0VBUWpCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RWF2Q3BCOztHQUVHO0VIRkg7O3VEQUV1RDtFRUtyRCxPQUFPLEVBQUUsU0FBUztFQUNsQixVQUFVLEVBQUUsSUFBSTtDQVdqQjs7QUFmRCxBWjJCRSxJWTNCRSxFQUFKLElBQUksQ1oyQkMsQ0FBQyxDQUFBO0VBQ0YsS0FBSyxFQUFFLEtBQUs7Q0FDYjs7QVk3QkgsQVpxQ0UsSVlyQ0UsQVpxQ0QsT0FBTyxDQUFBO0VBQ04sT0FBTyxFQUFDLEVBQUU7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRURoQ1EsSUFBSTtFQ2lDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVBQUUsQ0FBQztFQUNOLFVBQVUsRUFBRSxpQ0FBMEM7RUFDdEQsYUFBYSxFQUFFLFdBQVc7RUFDMUIsT0FBTyxFQUFFLENBQUM7Q0FDWDs7QVkvQ0gsQVppREUsSVlqREUsQVppREQsTUFBTSxDQUFBO0VBQ0wsT0FBTyxFQUFDLEVBQUU7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUQ1Q1EsSUFBSTtFQzZDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVEOUNXLElBQUk7RUMrQ2xCLFVBQVUsRUFBRSxpQ0FBMEM7RUFDdEQsT0FBTyxFQUFFLENBQUM7Q0FDWDs7QVkxREgsQVo0REUsSVk1REUsR1o0REEsQ0FBQyxDQUFBO0VBQ0QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLENBQUM7Q0FDWDs7QVkvREgsQUZBQSxJRUFJLENGQUosV0FBVztBRUFYLElBQUksQ0ZDSixXQUFXLENBQUM7RUFDVixPQUFPLEVBQUUsQ0FBQztFQUNWLEtBQUssRUFBRSxlQUFlO0VBQ3RCLE1BQU0sRUFBRSxlQUFlO0NBTXhCOztBRVZELEFGTUUsSUVORSxDRkFKLFdBQVcsQUFNUixPQUFPO0FFTlYsSUFBSSxDRkNKLFdBQVcsQUFLUixPQUFPLENBQUE7RUFDTixnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLGFBQWEsRUFBRSxJQUFJO0NBQ3BCOztBRVRILEFGWUEsSUVaSSxDRllKLFdBQVcsQ0FBQztFQUNWLElBQUksRUFBRSxJQUFJO0NBQ1g7O0FFZEQsQUZnQkEsSUVoQkksQ0ZnQkosV0FBVyxBQUFBLE9BQU8sQ0FBQztFQUNqQixPQUFPLEVBQUUsT0FBTztFQUNoQixJQUFJLEVBQUUsb0JBQW9CO0VBQzFCLE9BQU8sRUFBRSxlQUFlO0NBQ3pCOztBRXBCRCxBRnNCQSxJRXRCSSxDRnNCSixXQUFXLENBQUM7RUFDVixLQUFLLEVBQUUsSUFBSTtFQUNYLFVBQVUsRUFBRSxLQUFLO0NBQ2xCOztBRXpCRCxBRjJCQSxJRTNCSSxDRjJCSixXQUFXLEFBQUEsT0FBTyxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxPQUFPO0VBQ2hCLElBQUksRUFBRSxvQkFBb0I7RUFDMUIsT0FBTyxFQUFFLGVBQWU7Q0FDekI7O0FFL0JELEFGaUNBLElFakNJLENGaUNKLFdBQVcsQUFBQSxNQUFNLEFBQUEsT0FBTztBRWpDeEIsSUFBSSxDRmtDSixXQUFXLEFBQUEsTUFBTSxBQUFBLE9BQU8sQ0FBQztFQUN2QixLQUFLLEVBQUUsT0FBTztDQUtmOztBVHhCQyxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxLQUFLLEVBQUUsSUFBSTtFV2hCM0MsQUZpQ0EsSUVqQ0ksQ0ZpQ0osV0FBVyxBQUFBLE1BQU0sQUFBQSxPQUFPO0VFakN4QixJQUFJLENGa0NKLFdBQVcsQUFBQSxNQUFNLEFBQUEsT0FBTyxDQUFDO0lBR3JCLEtBQUssRUFBRSxLQUFLO0lBQ1osT0FBTyxFQUFFLElBQUk7R0FFaEI7OztBUmlMTyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxRQUFRO0VVek45QyxBRmlDQSxJRWpDSSxDRmlDSixXQUFXLEFBQUEsTUFBTSxBQUFBLE9BQU87RUVqQ3hCLElBQUksQ0ZrQ0osV0FBVyxBQUFBLE1BQU0sQUFBQSxPQUFPLENBQUM7SUFHckIsS0FBSyxFQUFFLEtBQUs7SUFDWixPQUFPLEVBQUUsSUFBSTtHQUVoQjs7O0FFeENELEFDR0EsSURISSxDQ0dKLFVBQVUsQ0FBQztFQUNULE1BQU0sRUFBRSxhQUFhO0VBQ3JCLEtBQUssRUFBRSxJQUFJO0NBZ0VaOztBRHJFRCxBQ09JLElEUEEsQ0NHSixVQUFVLEFBR1AsSUFBSyxDQUFBLFlBQVksRUFDaEIsTUFBTSxDQUFBO0VBQ0osT0FBTyxFQUFFLGVBQWU7Q0FJekI7O0FEWkwsQUNTTSxJRFRGLENDR0osVUFBVSxBQUdQLElBQUssQ0FBQSxZQUFZLEVBQ2hCLE1BQU0sQUFFSCxZQUFZLENBQUE7RUFDWCxPQUFPLEVBQUUsZ0JBQWdCO0NBQzFCOztBRFhQLEFDZUUsSURmRSxDQ0dKLFVBQVUsQUFZUCxRQUFRLENBQUE7RVJKVCxRQUFRLEVBQUUsUUFBUTtFUU1oQixLQUFLLEVBQUUsSUFBSTtDQWlCWjs7QURsQ0gsQVBhRSxJT2JFLENDR0osVUFBVSxBQVlQLFFBQVEsQVJGUixPQUFPLENBQUM7RUFDUCxPQUFPLEVBQUUsRUFBRTtFQUNYLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLEdBQUc7RUFDVCxVQUFVLEVBQUksS0FBc0I7RUFDcEMsV0FBVyxFQUFJLEtBQXNCO0VBQ3JDLEtBQUssRUF0QmEsSUFBSTtFQXVCdEIsTUFBTSxFQXZCWSxJQUFJO0VBd0J0QixhQUFhLEVBeEJLLElBQUk7RUF5QnRCLE1BQU0sRUF4QmlCLEdBQUcsQ0F3QlAsS0FBSyxDQXRCQSx5QkFBc0I7RUF1QjlDLGdCQUFnQixFQXhCUSxLQUFLO0VBeUI3QixTQUFTLEVBQUUsd0JBQXdCO0NBQ3BDOztBQUNELFVBQVUsQ0FBVixPQUFVO0VBQ1IsRUFBRTtJQUNBLFNBQVMsRUFBRSxZQUFZOztFQUV6QixJQUFJO0lBQ0YsU0FBUyxFQUFFLGNBQWM7Ozs7QU9oQy9CLEFDbUJJLElEbkJBLENDR0osVUFBVSxBQVlQLFFBQVEsQ0FJUCxRQUFRLENBQUE7RUFDTixPQUFPLEVBQUUsZUFBZTtDQUN6Qjs7QURyQkwsQUN1QkksSUR2QkEsQ0NHSixVQUFVLEFBWVAsUUFBUSxDQVFQLE1BQU0sQ0FBQTtFQUNKLFVBQVUsRUFBRSxNQUFNO0NBU25COztBRGpDTCxBQzBCTSxJRDFCRixDQ0dKLFVBQVUsQUFZUCxRQUFRLENBUVAsTUFBTSxBQUdILFlBQVksQ0FBQyxRQUFRLENBQUE7RUFDcEIsT0FBTyxFQUFFLGdCQUFnQjtDQUMxQjs7QUQ1QlAsQUM4Qk0sSUQ5QkYsQ0NHSixVQUFVLEFBWVAsUUFBUSxDQVFQLE1BQU0sQ0FPSixHQUFHLENBQUE7RUFDRCxPQUFPLEVBQUUsSUFBSTtDQUNkOztBRGhDUCxBQ3FDSSxJRHJDQSxDQ0dKLFVBQVUsQUFpQ1AsWUFBWSxBQUFBLElBQUssQ0FBQSxRQUFRLEVBQ3hCLFFBQVEsQUFBQSxJQUFLLENBQUEsV0FBVyxFQUFDO0VBQ3ZCLFFBQVEsRUFBRSxRQUFRO0NBTW5COztBRDVDTCxBQ3dDTSxJRHhDRixDQ0dKLFVBQVUsQUFpQ1AsWUFBWSxBQUFBLElBQUssQ0FBQSxRQUFRLEVBQ3hCLFFBQVEsQUFBQSxJQUFLLENBQUEsV0FBVyxFQUd0QixRQUFRLENBQUM7RWJ2Q2IsR0FBRyxFQUFFLEdBQUc7RUFDUixTQUFTLEVBQUUsZ0JBQWdCO0Vhd0NyQixRQUFRLEVBQUUsUUFBUTtDQUNuQjs7QUQzQ1AsQUNpREksSURqREEsQ0NHSixVQUFVLENBNENSLE1BQU0sQ0FFSixHQUFHLENBQUM7RUFDRixPQUFPLEVBQUUsS0FBSztFQUNkLEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFQUFFLElBQUk7RUFDZixNQUFNLEVBQUUsSUFBSTtDQUNiOztBRHRETCxBQ3dESSxJRHhEQSxDQ0dKLFVBQVUsQ0E0Q1IsTUFBTSxDQVNKLFFBQVEsQ0FBQztFQUNQLFdBQVcsRUFBRSxhQUFhO0VBQzFCLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLFFBQVE7RUFDakIsT0FBTyxFQUFFLEtBQUs7RUFDZCxjQUFjLEVBQUUsTUFBTTtFQUN0QixTQUFTLEVBQUUsSUFBSTtDQUtoQjs7QVhzSkcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsT0FBTztFVXpON0MsQUN3REksSUR4REEsQ0NHSixVQUFVLENBNENSLE1BQU0sQ0FTSixRQUFRLENBQUM7SUFRTCxTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxJQUFJO0dBRXBCOzs7QURuRUwsQUFLRSxJQUxFLENBS0YsVUFBVSxDQUFBO0VBQ1IsZ0JBQWdCLEViSlAsSUFBSTtDYVFkOztBQVZILEFBT0ksSUFQQSxDQUtGLFVBQVUsQUFFUCxRQUFRLENBQUE7RUFDUCxXQUFXLEVBQUUsTUFBTTtDQUNwQjs7QUFUTCxBQVdFLElBWEUsQ0FXRixFQUFFLENBQUE7RUFDQSxhQUFhLEVBQUUsSUFBSTtFQUNuQixPQUFPLEVBQUUsYUFBYTtDQUN2Qjs7QUFHSCxBQUFBLE9BQU8sQ0FBQTtFWlFMLGdCQUFnQixFRHRCVixPQUFPO0VDdUJiLGFBQWEsRUFBQyxHQUFHO0VZTmpCLE9BQU8sRUFBRSxhQUFhO0VBQ3RCLGFBQWEsRUFBRSxXQUFXO0NBSTNCOztBQVJELEFaVUUsT1lWSyxFQUFQLE9BQU8sQ1pVRixDQUFDLENBQUE7RUFDRixLQUFLLEVBQUUsS0FBSztDQUNiOztBWVpILEFFckJBLE9GcUJPLENFckJQLFlBQVksQ0FBQztFQUNYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsTUFBTSxFQUFFLE1BQU07RUFDZCxLQUFLLEVBQUUsSUFBSTtDQTJKWjs7QVorRE8sTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFVXhNMUMsQUVkSSxPRmNHLENFckJQLFlBQVksQ0FPUixXQUFXLENBQUM7SUFDVixPQUFPLEVBQUUsZUFBZTtHQUN6Qjs7O0Fab05HLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE9BQU87RVV4TTdDLEFFUEksT0ZPRyxDRXJCUCxZQUFZLENBY1IsS0FBSyxDQUFDO0lBQ0osT0FBTyxFQUFFLGVBQWU7R0FDekI7OztBWjZNRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE9BQU87RVV4TXJFLEFFREksT0ZDRyxDRXJCUCxZQUFZLENBb0JSLEtBQUssQ0FBQTtJQUNILFVBQVUsRUFBRSxNQUFNO0dBQ25COzs7QVp1TUcsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsT0FBTztFVXhNN0MsQUVyQkEsT0ZxQk8sQ0VyQlAsWUFBWSxDQUFDO0lBMEJULE9BQU8sRUFBRSxLQUFLO0lBQ2QsS0FBSyxFQUFFLElBQUk7R0FtSWQ7RUZ6SUQsQUVPSSxPRlBHLENFckJQLFlBQVksQ0E0QlIsS0FBSyxDQUFDO0lBQ0osT0FBTyxFQUFFLGVBQWU7R0FDekI7OztBRlRMLEFFWUUsT0ZaSyxDRXJCUCxZQUFZLEdBaUNSLEdBQUcsQUFBQSxXQUFXLENBQUM7RUFDZixPQUFPLEVBQUUsVUFBVTtDQTJIcEI7O0FGeElILEFFZUksT0ZmRyxDRXJCUCxZQUFZLEdBaUNSLEdBQUcsQUFBQSxXQUFXLENBR2QsTUFBTSxDQUFBO0VkMUJSLElBQUksRUFBRSxHQUFHO0VBQ1QsU0FBUyxFQUFFLGdCQUFnQjtFYzJCdkIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLEdBQUc7RUFDVixLQUFLLEVBQUUsaUJBQWlCO0VBQ3hCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLE9BQU8sRUFBRSxLQUFLO0VBQ2QsWUFBWSxFQUFFLEtBQUs7Q0FlcEI7O0FabUtHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU07RVV4TTVDLEFFZUksT0ZmRyxDRXJCUCxZQUFZLEdBaUNSLEdBQUcsQUFBQSxXQUFXLENBR2QsTUFBTSxDQUFBO0lBVUYsTUFBTSxFQUFFLFNBQVM7SUFDakIsT0FBTyxFQUFFLFdBQVc7SUFDcEIsTUFBTSxFQUFFLGlCQUFpQjtHQVU1Qjs7O0FabUtHLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE1BQU0sT0FBTyxTQUFTLEVBQUUsT0FBTztFVXhNckUsQUVlSSxPRmZHLENFckJQLFlBQVksR0FpQ1IsR0FBRyxBQUFBLFdBQVcsQ0FHZCxNQUFNLENBQUE7SUFnQkYsUUFBUSxFQUFFLFFBQVE7R0FNckI7OztBWm1LRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLE9BQU87RVV4TXJFLEFFZUksT0ZmRyxDRXJCUCxZQUFZLEdBaUNSLEdBQUcsQUFBQSxXQUFXLENBR2QsTUFBTSxDQUFBO0lBb0JGLE9BQU8sRUFBRSxXQUFXO0dBRXZCOzs7QVptS0csTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFVXhNMUMsQUV1Q0ksT0Z2Q0csQ0VyQlAsWUFBWSxHQWlDUixHQUFHLEFBQUEsV0FBVyxBQTJCYixNQUFNLENBQUM7SUFFSixNQUFNLEVBQUUsT0FBTztHQUtsQjtFRjlDTCxBRTBDUSxPRjFDRCxDRXJCUCxZQUFZLEdBaUNSLEdBQUcsQUFBQSxXQUFXLEFBMkJiLE1BQU0sQ0FHSCxDQUFDLENBQUM7SUFDQSxlQUFlLEVBQUUsU0FBUztHQUMzQjs7O0FGNUNULEFFaURNLE9GakRDLENFckJQLFlBQVksR0FpQ1IsR0FBRyxBQUFBLFdBQVcsQUFvQ2IsSUFBSSxDQUNILEtBQUssQ0FBQTtFQUNILFlBQVksRUFBRSxJQUFJO0NBQ25COztBWnFKQyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxPQUFPO0VVeE03QyxBRXdEUSxPRnhERCxDRXJCUCxZQUFZLEdBaUNSLEdBQUcsQUFBQSxXQUFXLEFBMENiLFFBQVEsQ0FFTCxLQUFLLENBQUMsR0FBRyxDQUFBO0lBQ1AsV0FBVyxFQUFFLElBQUk7R0FDbEI7OztBRjFEVCxBRTZETSxPRjdEQyxDRXJCUCxZQUFZLEdBaUNSLEdBQUcsQUFBQSxXQUFXLEFBMENiLFFBQVEsQ0FPUCxLQUFLLENBQUE7RUFDSCxZQUFZLEVBQUUsZUFBZTtDQUM5Qjs7QUYvRFAsQUVrRUksT0ZsRUcsQ0VyQlAsWUFBWSxHQWlDUixHQUFHLEFBQUEsV0FBVyxDQXNEZCxNQUFNLEdBQUcsR0FBRyxDQUFDO0VBQ1gsT0FBTyxFQUFFLFVBQVU7RUFDbkIsY0FBYyxFQUFFLE1BQU07Q0FtRXZCOztBWmlFRyxNQUFNLENBQUMsTUFBTSxNQUFNLFNBQVMsRUFBRSxPQUFPO0VVeE03QyxBRWtFSSxPRmxFRyxDRXJCUCxZQUFZLEdBaUNSLEdBQUcsQUFBQSxXQUFXLENBc0RkLE1BQU0sR0FBRyxHQUFHLENBQUM7SUFLVCxPQUFPLEVBQUUsS0FBSztHQWdFakI7OztBRnZJTCxBRTBFTSxPRjFFQyxDRXJCUCxZQUFZLEdBaUNSLEdBQUcsQUFBQSxXQUFXLENBc0RkLE1BQU0sR0FBRyxHQUFHLEFBUVQsS0FBSyxDQUFDO0VBQ0wsVUFBVSxFQUFFLElBQUk7RUFDaEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsY0FBYyxFQUFFLEdBQUc7RUFDbkIsYUFBYSxFQUFFLElBQUk7Q0FJcEI7O0Fac0hDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE9BQU87RVV4TTdDLEFFMEVNLE9GMUVDLENFckJQLFlBQVksR0FpQ1IsR0FBRyxBQUFBLFdBQVcsQ0FzRGQsTUFBTSxHQUFHLEdBQUcsQUFRVCxLQUFLLENBQUM7SUFNSCxPQUFPLEVBQUUsSUFBSTtHQUVoQjs7O0FGbEZQLEFFb0ZNLE9GcEZDLENFckJQLFlBQVksR0FpQ1IsR0FBRyxBQUFBLFdBQVcsQ0FzRGQsTUFBTSxHQUFHLEdBQUcsQUFrQlQsS0FBSyxDQUFDO0VBQ0wsVUFBVSxFQUFFLE1BQU07RUFDbEIsU0FBUyxFQUFFLElBQUk7RUFDZixZQUFZLEVBQUUsVUFBVTtFQUN4QixLQUFLLEVBQUUsS0FBSztDQUtiOztBRjdGUCxBRXlGUSxPRnpGRCxDRXJCUCxZQUFZLEdBaUNSLEdBQUcsQUFBQSxXQUFXLENBc0RkLE1BQU0sR0FBRyxHQUFHLEFBa0JULEtBQUssQ0FLSixDQUFDLENBQUE7RUFDQyxLQUFLLEVBQUUsS0FBSztFQUNaLGVBQWUsRUFBRSxJQUFJO0NBQ3RCOztBRjVGVCxBRStGTSxPRi9GQyxDRXJCUCxZQUFZLEdBaUNSLEdBQUcsQUFBQSxXQUFXLENBc0RkLE1BQU0sR0FBRyxHQUFHLEFBNkJULEdBQUcsQ0FBQTtFQUNGLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLFlBQVksRUFBRSxJQUFJO0VBQ2xCLGFBQWEsRUFBRSxHQUFHO0NBZ0JuQjs7QVpzRkMsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsT0FBTztFVXhNN0MsQUUrRk0sT0YvRkMsQ0VyQlAsWUFBWSxHQWlDUixHQUFHLEFBQUEsV0FBVyxDQXNEZCxNQUFNLEdBQUcsR0FBRyxBQTZCVCxHQUFHLENBQUE7SUFNQSxVQUFVLEVBQUUsTUFBTTtHQWFyQjs7O0Fac0ZDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE9BQU87RVV4TTdDLEFFK0ZNLE9GL0ZDLENFckJQLFlBQVksR0FpQ1IsR0FBRyxBQUFBLFdBQVcsQ0FzRGQsTUFBTSxHQUFHLEdBQUcsQUE2QlQsR0FBRyxDQUFBO0lBVUEsT0FBTyxFQUFFLGVBQWU7R0FTM0I7OztBRmxIUCxBRTRHUSxPRjVHRCxDRXJCUCxZQUFZLEdBaUNSLEdBQUcsQUFBQSxXQUFXLENBc0RkLE1BQU0sR0FBRyxHQUFHLEFBNkJULEdBQUcsQ0FhRixHQUFHLENBQUE7RUFDRCxTQUFTLEVBQUUsS0FBSztDQUlqQjs7QVp1RkQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsT0FBTztFVXhNN0MsQUU0R1EsT0Y1R0QsQ0VyQlAsWUFBWSxHQWlDUixHQUFHLEFBQUEsV0FBVyxDQXNEZCxNQUFNLEdBQUcsR0FBRyxBQTZCVCxHQUFHLENBYUYsR0FBRyxDQUFBO0lBR0MsS0FBSyxFQUFFLElBQUk7R0FFZDs7O0FadUZELE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE9BQU8sT0FBTyxTQUFTLEVBQUUsT0FBTztFVXhNdEUsQUVvSE0sT0ZwSEMsQ0VyQlAsWUFBWSxHQWlDUixHQUFHLEFBQUEsV0FBVyxDQXNEZCxNQUFNLEdBQUcsR0FBRyxBQWtEVCxXQUFXLENBQUE7SWRwSWhCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsU0FBUyxFQUFFLGdCQUFnQjtJY3NJbkIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsSUFBSSxFQUFFLEdBQUc7SUFDVCxVQUFVLEVBQUUsSUFBSTtHQWFuQjs7O0Faa0VDLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE9BQU87RVV4TTdDLEFFb0hNLE9GcEhDLENFckJQLFlBQVksR0FpQ1IsR0FBRyxBQUFBLFdBQVcsQ0FzRGQsTUFBTSxHQUFHLEdBQUcsQUFrRFQsV0FBVyxDQUFBO0lBU1IsVUFBVSxFQUFFLE1BQU07R0FTckI7OztBRnRJUCxBRWdJUSxPRmhJRCxDRXJCUCxZQUFZLEdBaUNSLEdBQUcsQUFBQSxXQUFXLENBc0RkLE1BQU0sR0FBRyxHQUFHLEFBa0RULFdBQVcsQ0FZVixDQUFDLENBQUE7RUFDQyxZQUFZLEVBQUUsSUFBSTtDQUluQjs7QVptRUQsTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsT0FBTztFVXhNN0MsQUVnSVEsT0ZoSUQsQ0VyQlAsWUFBWSxHQWlDUixHQUFHLEFBQUEsV0FBVyxDQXNEZCxNQUFNLEdBQUcsR0FBRyxBQWtEVCxXQUFXLENBWVYsQ0FBQyxDQUFBO0lBR0csTUFBTSxFQUFFLFVBQVU7R0FFckI7OztBRnJJVCxBQUtFLE9BTEssQUFLSixPQUFPLENBQUE7RUFDTixhQUFhLEVBQUUsQ0FBQztDQUNqQjs7QWZsQkg7O3lEQUV5RDtBQUV6RCxBQUFBLGFBQWEsQ0FBQztFQUNaLEtBQUssRUFBRSxLQUFLO0VBQ1osV0FBVyxFQUFFLElBQUk7RUFDakIsS0FBSyxFQUFDLEtBQUs7Q0FDWjs7QUFFRDs7dURBRXVEO0FBRXZELEFBQUEsSUFBSSxDQUFBO0VHK0RGLFVBQVUsRUFBRSxnQkFBZ0I7Q0hoRDdCOztBQWZELEFBRUUsSUFGRSxBQUVELFNBQVMsQ0FBQTtFR0dWLGdCQUFnQixFRHZCTCxJQUFJO0VDd0JmLGFBQWEsRUFBQyxHQUFHO0VBUWpCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUhYaEIsT0FBTyxFQUFDLEdBQUc7RUFDWCxLQUFLLEVBQUUsS0FBSztDQUliOztBQVRILEFHT0UsSUhQRSxBQUVELFNBQVMsRUFGWixJQUFJLEFBRUQsU0FBUyxDR0tQLENBQUMsQ0FBQTtFQUNGLEtBQUssRUFBRSxLQUFLO0NBQ2I7O0FIVEgsQUdpQkUsSUhqQkUsQUFFRCxTQUFTLEFHZVQsT0FBTyxDQUFBO0VBQ04sT0FBTyxFQUFDLEVBQUU7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRURoQ1EsSUFBSTtFQ2lDbEIsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVBQUUsQ0FBQztFQUNOLFVBQVUsRUFBRSxpQ0FBMEM7RUFDdEQsYUFBYSxFQUFFLFdBQVc7RUFDMUIsT0FBTyxFQUFFLENBQUM7Q0FDWDs7QUgzQkgsQUc2QkUsSUg3QkUsQUFFRCxTQUFTLEFHMkJULE1BQU0sQ0FBQTtFQUNMLE9BQU8sRUFBQyxFQUFFO0VBQ1YsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVENUNRLElBQUk7RUM2Q2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsR0FBRyxFRDlDVyxJQUFJO0VDK0NsQixVQUFVLEVBQUUsaUNBQTBDO0VBQ3RELE9BQU8sRUFBRSxDQUFDO0NBQ1g7O0FIdENILEFHd0NFLElIeENFLEFBRUQsU0FBUyxHR3NDUixDQUFDLENBQUE7RUFDRCxRQUFRLEVBQUUsUUFBUTtFQUNsQixPQUFPLEVBQUUsQ0FBQztDQUNYOztBSDNDSCxBQU1JLElBTkEsQUFFRCxTQUFTLENBSVIsQ0FBQyxDQUFBO0VBQ0MsS0FBSyxFQUFFLGdCQUFnQjtDQUN4Qjs7QUFSTCxBQVdFLElBWEUsR0FXQSxFQUFFLEVBWE4sSUFBSSxHQVdNLEVBQUUsQ0FBQTtFQUNSLGVBQWUsRUFBRSxJQUFJO0VBQ3JCLE1BQU0sRUFBRSxDQUFDO0NBQ1Y7O0FBR0g7O2tFQUVrRTtBQUNsRSxBQUFBLGNBQWMsQ0FBQTtFQUNaLEtBQUssRUFBRSxDQUFDO0NBQ1Q7O0FBRUQsQUFBQSxZQUFZLENBQUE7RUFDVixLQUFLLEVBQUUsQ0FBQztDQUNUOztBQUVELEFBQUEsT0FBTyxDQUFBO0VBQ0wsS0FBSyxFQUFFLENBQUM7Q0FDVDs7QUFJRDs7dURBRXVEO0FBQ3ZELEFBQUEsWUFBWSxDQUFBO0VBQ1YsTUFBTSxFQUFFLEtBQUs7RUFDYixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsS0FBSztFQUNkLFdBQVcsRUFBRSxXQUFXO0VBQ3hCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsT0FBTyxFQUFFLGlCQUFpQjtDQW9CM0I7O0FJbkVDLE1BQU0sRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLEtBQUssRUFBRSxJQUFJO0VKeUMzQyxBQUFBLFlBQVksQ0FBQTtJQVNSLE1BQU0sRUFBRSxLQUFLO0lBQ2IsU0FBUyxFQUFFLElBQUk7R0FnQmxCOzs7QUtzSU8sTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsUUFBUTtFTGhLOUMsQUFBQSxZQUFZLENBQUE7SUFTUixNQUFNLEVBQUUsS0FBSztJQUNiLFNBQVMsRUFBRSxJQUFJO0dBZ0JsQjs7O0FLc0lPLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLE9BQU87RUxoSzdDLEFBQUEsWUFBWSxDQUFBO0lBYVIsTUFBTSxFQUFFLElBQUk7SUFDWixPQUFPLEVBQUUsS0FBSztJQUNkLGFBQWEsRUFBRSxJQUFJO0dBV3RCOzs7QUtzSU8sTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsT0FBTztFTGhLN0MsQUFrQkksWUFsQlEsQ0FrQlIsVUFBVSxDQUFBO0lBQ1IsT0FBTyxFQUFFLElBQUk7R0FDZDs7O0FBcEJMLEFBc0JFLFlBdEJVLENBc0JWLFFBQVEsQ0FBQTtFQUNOLE9BQU8sRUFBRSxVQUFVO0VBQ25CLGNBQWMsRUFBRSxNQUFNO0NBQ3ZCOztBQUdIOzt1REFFdUQ7QUFDdkQsQUFDRSxnQkFEYyxBQUNiLElBQUssQ0FBQSxPQUFPLEVBQUM7RUFDWixXQUFXLEVBQUUsTUFBTTtDQU9wQjs7QUt3SEssTUFBTSxDQUFDLE1BQU0sTUFBTSxTQUFTLEVBQUUsSUFBSTtFTGpJMUMsQUFDRSxnQkFEYyxBQUNiLElBQUssQ0FBQSxPQUFPLEVBQUM7SUFHVixXQUFXLEVBQUUsTUFBTTtHQUt0Qjs7O0FLd0hLLE1BQU0sQ0FBQyxNQUFNLE1BQU0sU0FBUyxFQUFFLFFBQVE7RUxqSTlDLEFBQ0UsZ0JBRGMsQUFDYixJQUFLLENBQUEsT0FBTyxFQUFDO0lBTVYsV0FBVyxFQUFFLE1BQU07R0FFdEI7OztBQUlIOzt1REFFdUQ7QUFFdkQsQUFBQSxPQUFPLENBQUM7RUFDTixVQUFVLEVBQUUsR0FBRztFQUNmLE9BQU8sRUFBQyxJQUFJO0VBQUUsOENBQThDO0NBSzdEOztBQVBELEFBSUUsT0FKSyxDQUlMLEVBQUUsQ0FBQztFQUNELFVBQVUsRUFBRSxDQUFDO0NBQ2Q7O0FBSUg7O3VEQUV1RDtBQUV2RCxBQUFBLFNBQVMsQ0FBQztFRzlGUixnQkFBZ0IsRURyQkoseUJBQXlCO0VDc0JyQyxhQUFhLEVBQUMsR0FBRztFQXlEakIsVUFBVSxFQUFFLGdCQUFnQjtFSHVDMUIsVUFBVSxFQUFFLElBQUk7RUFDaEIsT0FBTyxFQUFFLEdBQUc7Q0FJZjs7QUFSRCxBRzVGRSxTSDRGTyxFQUFULFNBQVMsQ0c1RkosQ0FBQyxDQUFBO0VBQ0YsS0FBSyxFQUFFLEtBQUs7Q0FDYjs7QUgwRkgsQUdoQkUsU0hnQk8sRUFBVCxTQUFTLENHaEJMLENBQUMsQ0FBQTtFQUNELEtBQUssRUFBRSxLQUFLO0NBQ2I7O0FIY0gsQUFLSSxTQUxLLENBS0wsQ0FBQyxDQUFBO0VBQ0MsTUFBTSxFQUFFLENBQUM7Q0FDVjs7QUFHTDs7eURBRXlEO0FBRXpELE1BQU0sQ0FBQyxLQUFLO0VBQ1YsQUFBQSxPQUFPLENBQUM7SUFDTixPQUFPLEVBQUUsSUFDWDtHQUFDO0VBQ0QsQUFBQSxhQUFhLENBQUM7SUFDWixPQUFPLEVBQUUsSUFDWDtHQUFDO0VBQ0QsQUFBQSxXQUFXLENBQUM7SUFDVixLQUFLLEVBQUUsSUFDVDtHQUFDO0VBQ0QsQUFBQSxRQUFRLENBQUM7SUFDUCxVQUFVLEVBQUUsS0FBSztHQUNsQjtFQUNELEFBQUEsT0FBTyxDQUFDO0lBQ04sUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLE1BQU07R0FDWiIKfQ== */