#main,
.home-top {
  position: relative;
}
.home-top {
  float: left;
}
#view-format {
  position: absolute;
  top: 10px;
  right: 10px;
  color: white;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.6);
  z-index: 1;
}
#view-format * {
  margin-bottom: 0;
}
#view-format h1 {
  display: inline-block;
  font-size: 12px;
  text-transform: uppercase;
}
#view-format h1:after {
  content: ":";
}
#view-format ul {
  display: inline-block;
  margin: 0 0 0 0;
  padding: 0 0 0 0;
  font-size: 12px;
}
#view-format li {
  display: inline-block;
  border-right: 1px solid white;
  padding: 0 6px;
}
#view-format li:last-child {
  border-right: 0;
}
#view-format a {
  color: white;
  font-family: sans-serif;
}
#view-format .active {
  font-weight: bold;
}
.view-list #view-format {
  color: #666666;
  text-shadow: none;
}
.view-list #view-format a {
  color: inherit;
}
.home .full-hero {
  min-height: 400px;
}
.home .full-hero img {
  max-width: 1170px;
  width: 100%;
  margin: 0 auto;
  display: block;
  float: left;
}
.home .full-hero.one-third-width img {
  width: 34.1%;
}
.home .full-hero.two-third-width img {
  width: 68.2%;
}
#dark-top {
  margin-top: -28px;
  color: white;
  background-color: black;
  font-family: sans-serif;
}
#dark-top .side-featured h5.byline,
#dark-top .side-featured h5.top-tag,
#dark-top .side-featured h4 {
  margin: 0;
}
#dark-top .side-featured h4 {
  font-size: 18px;
}
#dark-top .side-featured h4 a {
  color: white;
}
#dark-top .side-featured h5 {
  font-size: 80%;
}
#dark-top .side-featured h5.byline {
  color: #dddddd;
}
#dark-top .side-featured article {
  border-top: solid 3px rgba(108, 185, 225, 0.5);
  padding: 10px 0;
}
#dark-top .side-featured article:first-child {
  border-top: 0 none;
}
#dark-top .side-series h3 {
  color: #6cb9e1;
  font-size: 100%;
  text-transform: uppercase;
  margin: 0;
}
#dark-top .side-series h3 a {
  color: #6cb9e1;
}
#dark-top .side-series h4 {
  font-size: 18px;
}
#dark-top .side-series h4 a {
  color: #fff;
}
#dark-top .side-series article {
  padding: 5px 0;
}
#dark-top .side-series .read-more {
  text-align: right;
  font-size: 80%;
}
#dark-top .side-series .read-more a {
  color: #6cb9e1;
}
#dark-top .span10 {
  background-color: rgba(0, 0, 0, 0.85);
  margin: 0 8.510638302%;
  padding: 25px 30px;
}
#dark-top article {
  margin-bottom: 0;
  border-bottom: none;
}
#dark-top p {
  font-size: 93%;
  line-height: 1.4em;
  margin-bottom: 0;
}
#dark-top h2 {
  font-size: 38px;
  line-height: 1.1em;
  margin-bottom: 0.3em;
}
#dark-top h5 {
  font-size: 100%;
}
#dark-top h5 a {
  color: #6cb9e1;
}
#dark-top h2 a {
  color: white;
}
#dark-top .byline,
#dark-top .byline a,
#dark-top section {
  color: #dddddd;
}
#dark-top .byline {
  font-weight: bold;
  font-size: 110%;
}
#dark-top .byline a {
  text-transform: uppercase;
}
#dark-top .span4 .top-tag {
  margin-bottom: 0.7em;
}
#dark-top .related-story {
  font-size: 18px;
  line-height: 1.2em;
  margin-left: 0.2em;
  margin-bottom: 1em;
}
#dark-top .related-story a {
  color: white;
}
#dark-top .more {
  text-align: right;
  margin-bottom: 0;
  font-weight: bold;
  font-size: 16px;
}
#dark-top .more a {
  color: #6cb9e1;
}
#dark-top .more a:after {
  content: " »";
}
#dark-top.overlay {
  background-color: transparent;
  margin-top: 0;
  position: absolute;
  bottom: 50px;
}
#home-secondary {
  position: relative;
}
#home-secondary > div {
  background-color: white;
  padding: 20px;
  padding-bottom: 0;
}
#home-secondary .row-fluid > [class*='span'] .widget {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  border: none;
}
#home-secondary .row-fluid > [class*='span']:last-child .widget {
  border-right: none;
}
#home-river {
  display: none;
}
#home-river header {
  *zoom: 1;
}
#home-river header:before,
#home-river header:after {
  display: table;
  content: "";
}
#home-river header:after {
  clear: both;
}
#home-river .hero {
  text-align: center;
  background-color: #eee;
}
#home-river .span10 {
  margin: 0 auto;
  float: none;
  position: relative;
}
#home-river .span10:before {
  height: 25px;
  background-color: white;
  position: absolute;
  top: -25px;
  left: -4%;
  right: -4%;
  content: " ";
}
@media screen and (max-width: 980px) {
  #dark-top.overlay {
    bottom: 15px;
  }
}
@media screen and (max-width: 768px) {
  #dark-top {
    position: relative !important;
    margin-top: -140px !important;
    bottom: auto !important;
  }
  #dark-top .span10 {
    width: 100%;
    margin: 0 auto;
  }
  #dark-top .row-fluid [class*='span'] {
    /*float: none;*/
    width: 100%;
    margin: 0;
  }
  #dark-top .span4 {
    margin-top: 30px !important;
  }
  #dark-top .related-story {
    margin-left: 0;
  }
  #dark-top.overlay {
    background-color: black;
  }
  #home-secondary .row-fluid > [class*='span'] {
    float: none;
    width: 100%;
    margin-left: 0;
  }
}
@media screen and (max-width: 480px) {
  .home .full-hero {
    min-height: 50px;
  }
  #dark-top {
    margin-top: -40px !important;
  }
  #dark-top .span10 {
    padding: 15px 18px !important;
  }
  #home-river {
    margin-top: 24px;
  }
  #home-river h1 {
    font-size: 36px;
    line-height: 1.1;
  }
  #view-format {
    width: 100%;
    right: 0;
    left: 0;
    text-align: center;
  }
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhvbWVwYWdlcy9hc3NldHMvbGVzcy9zaW5nbGUubGVzcyIsImxlc3MvaW5jL21peGlucy5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQU1BO0FBQ0E7RUFDRSxrQkFBQTs7QUFHRjtFQUFZLFdBQUE7O0FBRVo7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHVDQUFBO0VBQ0EsVUFBQTs7QUFORixZQU9FO0VBQ0UsZ0JBQUE7O0FBUkosWUFVRTtFQUNFLHFCQUFBO0VBQ0EsZUFBQTtFQUNBLHlCQUFBOztBQUNBLFlBSkYsR0FJRztFQUNDLFNBQVMsR0FBVDs7QUFmTixZQWtCRTtFQUNFLHFCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTs7QUF0QkosWUF3QkU7RUFDRSxxQkFBQTtFQUNBLDZCQUFBO0VBQ0EsY0FBQTs7QUFDQSxZQUpGLEdBSUc7RUFDQyxlQUFBOztBQTdCTixZQWdDRTtFQUNFLFlBQUE7RUFDQSx1QkFBQTs7QUFsQ0osWUFvQ0U7RUFDRSxpQkFBQTs7QUFFRixVQUFXO0VBQ1QsY0FBQTtFQUNBLGlCQUFBOztBQUZGLFVBQVcsYUFHVDtFQUNFLGNBQUE7O0FBS04sS0FBTTtFQUNKLGlCQUFBOztBQURGLEtBQU0sV0FFSjtFQUNFLGlCQUFBO0VBQ0EsV0FBQTtFQUNBLGNBQUE7RUFDQSxjQUFBO0VBQ0EsV0FBQTs7QUFFRixLQVRJLFdBU0gsZ0JBQWlCO0VBQ2hCLFlBQUE7O0FBRUYsS0FaSSxXQVlILGdCQUFpQjtFQUNoQixZQUFBOztBQUlKO0VBQ0UsaUJBQUE7RUFDQSxZQUFBO0VBQ0EsdUJBQUE7RUFDQSx1QkFBQTs7QUFKRixTQU1FLGVBQ0UsR0FBRTtBQVBOLFNBTUUsZUFDYSxHQUFFO0FBUGpCLFNBTUUsZUFDeUI7RUFDckIsU0FBQTs7QUFSTixTQU1FLGVBSUU7RUFDRSxlQUFBOztBQVhOLFNBTUUsZUFPRSxHQUFHO0VBQ0QsWUFBQTs7QUFkTixTQU1FLGVBVUU7RUFD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QURGLFNBRUU7SUFDRSw2QkFBQTs7RUFHSjtJQUNFLGdCQUFBOztFQUVGLFdBQVk7SUFDVixlQUFBO0lBQ0EsZ0JBQUE7O0VBRUY7SUFDRSxXQUFBO0lBQ0EsUUFBQTtJQUNBLE9BQUE7SUFDQSxrQkFBQSIsInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgXCIuLi8uLi8uLi9sZXNzL2luYy9taXhpbnMubGVzc1wiO1xuXG5Ac2t5OiAjNmNiOWUxO1xuQGZvZzogI2RkZDtcbkBncmV5OiAjNjY2O1xuXG4jbWFpbixcbi5ob21lLXRvcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmhvbWUtdG9wIHsgZmxvYXQ6IGxlZnQ7IH1cblxuI3ZpZXctZm9ybWF0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICBjb2xvcjogd2hpdGU7XG4gIHRleHQtc2hhZG93OiAwIDAgNXB4IHJnYmEoMCwwLDAsIDAuNik7XG4gIHotaW5kZXg6IDE7XG4gICoge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgaDEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiOlwiO1xuICAgIH1cbiAgfVxuICB1bCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAwIDAgMDtcbiAgICBwYWRkaW5nOiAwIDAgMCAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHdoaXRlO1xuICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIGEge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgfVxuICAuYWN0aXZlIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAudmlldy1saXN0ICYge1xuICAgIGNvbG9yOiBAZ3JleTtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxufVxuXG4uaG9tZSAuZnVsbC1oZXJvIHtcbiAgbWluLWhlaWdodDogNDAwcHg7XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMTcwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgJi5vbmUtdGhpcmQtd2lkdGggaW1nIHtcbiAgICB3aWR0aDogMzQuMSU7XG4gIH1cbiAgJi50d28tdGhpcmQtd2lkdGggaW1nIHtcbiAgICB3aWR0aDogMzQuMSUgKiAyO1xuICB9XG59XG5cbiNkYXJrLXRvcCB7XG4gIG1hcmdpbi10b3A6IC0yOHB4O1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcblxuICAuc2lkZS1mZWF0dXJlZCB7XG4gICAgaDUuYnlsaW5lLCBoNS50b3AtdGFnLCBoNCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB9XG4gICAgaDQgYSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICAgIGg1IHtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgIH1cbiAgICBoNS5ieWxpbmUge1xuICAgICAgY29sb3I6IEBmb2c7XG4gICAgfVxuICAgIGFydGljbGUge1xuICAgICAgYm9yZGVyLXRvcDogc29saWQgM3B4IHJnYmEocmVkKEBza3kpLCBncmVlbihAc2t5KSwgYmx1ZShAc2t5KSwgMC41KTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wOiAwIG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNpZGUtc2VyaWVzIHtcbiAgICBoMyB7XG4gICAgICBjb2xvcjogQHNreTtcbiAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IEBza3k7XG4gICAgICB9XG4gICAgfVxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gICAgYXJ0aWNsZSB7XG4gICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICB9XG4gICAgLnJlYWQtbW9yZSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogODAlO1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiBAc2t5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zcGFuMTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44NSk7XG4gICAgbWFyZ2luOiAwIDguNTEwNjM4MzAyJTtcbiAgICBwYWRkaW5nOiAyNXB4IDMwcHg7XG4gIH1cbiAgYXJ0aWNsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICB9XG4gIHAge1xuICAgIGZvbnQtc2l6ZTogOTMlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjRlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDM4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuM2VtO1xuICB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEwMCU7XG4gICAgYSB7XG4gICAgICBjb2xvcjogQHNreTtcbiAgICB9XG4gIH1cbiAgaDIgYSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICB9XG4gIC5ieWxpbmUsXG4gIC5ieWxpbmUgYSxcbiAgc2VjdGlvbiB7XG4gICAgY29sb3I6IEBmb2c7XG4gIH1cbiAgLmJ5bGluZSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxMTAlO1xuICB9XG4gIC5ieWxpbmUgYSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuICAuc3BhbjQgLnRvcC10YWcge1xuICAgIG1hcmdpbi1ib3R0b206IDAuN2VtO1xuICB9XG4gIC5yZWxhdGVkLXN0b3J5IHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gICAgYSB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgfVxuICB9XG4gIC5tb3JlIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiBAc2t5O1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIMK7XCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDUwcHg7XG4gIH1cbn1cblxuI2hvbWUtc2Vjb25kYXJ5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICA+IGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgcGFkZGluZzogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAucm93LWZsdWlkPltjbGFzcyo9J3NwYW4nXSB7XG4gICAgLndpZGdldCB7XG4gICAgICAuYm9yZGVyLXJhZGl1cygwKTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIC53aWRnZXQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4jaG9tZS1yaXZlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlYWRlciB7XG4gICAgKnpvb206IDE7XG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICB9XG4gIC5oZXJvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgfVxuICAuc3BhbjEwIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpiZWZvcmUge1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC0yNXB4O1xuICAgICAgbGVmdDogLTQlO1xuICAgICAgcmlnaHQ6IC00JTtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5ODBweCkge1xuICAjZGFyay10b3Aub3ZlcmxheSB7XG4gICAgYm90dG9tOiAxNXB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNkYXJrLXRvcHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAtMTQwcHggIWltcG9ydGFudDtcbiAgICBib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICAuc3BhbjEwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuICAgIC5yb3ctZmx1aWQgW2NsYXNzKj0nc3BhbiddIHtcbiAgICAgIC8qZmxvYXQ6IG5vbmU7Ki9cbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAuc3BhbjQge1xuICAgICAgbWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAucmVsYXRlZC1zdG9yeSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gICAgJi5vdmVybGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIH1cbiAgfVxuXG4gICNob21lLXNlY29uZGFyeSAucm93LWZsdWlkPltjbGFzcyo9J3NwYW4nXSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgLmhvbWUgLmZ1bGwtaGVybyB7XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgfVxuICAjZGFyay10b3Age1xuICAgIG1hcmdpbi10b3A6IC00MHB4ICFpbXBvcnRhbnQ7XG4gICAgLnNwYW4xMCB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgI2hvbWUtcml2ZXIge1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gIH1cbiAgI2hvbWUtcml2ZXIgaDEge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICB9XG4gICN2aWV3LWZvcm1hdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbiIsIi8vIE1peGlucy5sZXNzXG4vLyBTbmlwcGV0cyBvZiByZXVzYWJsZSBDU1MgdG8gZGV2ZWxvcCBmYXN0ZXIgYW5kIGtlZXAgY29kZSByZWFkYWJsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gV2Via2l0LXN0eWxlIGZvY3VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cbi50YWItZm9jdXMoKSB7XG4gIC8vIERlZmF1bHRcbiAgb3V0bGluZTogdGhpbiBkb3R0ZWQgIzMzMztcbiAgLy8gV2Via2l0XG4gIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi8vIENlbnRlci1hbGlnbiBhIGJsb2NrIGxldmVsIGVsZW1lbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5jZW50ZXItYmxvY2soKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLyBJRTcgaW5saW5lLWJsb2NrXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG4uaWU3LWlubGluZS1ibG9jaygpIHtcbiAgKmRpc3BsYXk6IGlubGluZTsgLyogSUU3IGlubGluZS1ibG9jayBoYWNrICovXG4gICp6b29tOiAxO1xufVxuXG4vLyBJRTcgbGlrZXMgdG8gY29sbGFwc2Ugd2hpdGVzcGFjZSBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgaW5saW5lLWJsb2NrIGVsZW1lbnRzLlxuLy8gRW1zIGJlY2F1c2Ugd2UncmUgYXR0ZW1wdGluZyB0byBtYXRjaCB0aGUgd2lkdGggb2YgYSBzcGFjZSBjaGFyYWN0ZXIuIExlZnRcbi8vIHZlcnNpb24gaXMgZm9yIGZvcm0gYnV0dG9ucywgd2hpY2ggdHlwaWNhbGx5IGNvbWUgYWZ0ZXIgb3RoZXIgZWxlbWVudHMsIGFuZFxuLy8gcmlnaHQgdmVyc2lvbiBpcyBmb3IgaWNvbnMsIHdoaWNoIGNvbWUgYmVmb3JlLiBBcHBseWluZyBib3RoIGlzIG9rLCBidXQgaXQgd2lsbFxuLy8gbWVhbiB0aGF0IHNwYWNlIGJldHdlZW4gdGhvc2UgZWxlbWVudHMgd2lsbCBiZSAuNmVtICh+MiBzcGFjZSBjaGFyYWN0ZXJzKSBpbiBJRTcsXG4vLyBpbnN0ZWFkIG9mIHRoZSAxIHNwYWNlIGluIG90aGVyIGJyb3dzZXJzLlxuLmllNy1yZXN0b3JlLWxlZnQtd2hpdGVzcGFjZSgpIHtcbiAgKm1hcmdpbi1sZWZ0OiAuM2VtO1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgICptYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4uaWU3LXJlc3RvcmUtcmlnaHQtd2hpdGVzcGFjZSgpIHtcbiAgKm1hcmdpbi1yaWdodDogLjNlbTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgICptYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4vLyBTaXppbmcgc2hvcnRjdXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc2l6ZShAaGVpZ2h0LCBAd2lkdGgpIHtcbiAgd2lkdGg6IEB3aWR0aDtcbiAgaGVpZ2h0OiBAaGVpZ2h0O1xufVxuLnNxdWFyZShAc2l6ZSkge1xuICAuc2l6ZShAc2l6ZSwgQHNpemUpO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGxhY2Vob2xkZXIoQGNvbG9yOiBAcGxhY2Vob2xkZXJUZXh0KSB7XG4gICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgfVxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICB9XG59XG5cbi8vIFRleHQgb3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcbi50ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuXG4vLyBGT05UU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI2ZvbnQge1xuICAjZmFtaWx5IHtcbiAgICAuc2VyaWYoKSB7XG4gICAgICBmb250LWZhbWlseTogQHNlcmlmRm9udEZhbWlseTtcbiAgICB9XG4gICAgLnNhbnMtc2VyaWYoKSB7XG4gICAgICBmb250LWZhbWlseTogQHNhbnNGb250RmFtaWx5O1xuICAgIH1cbiAgICAubW9ub3NwYWNlKCkge1xuICAgICAgZm9udC1mYW1pbHk6IEBtb25vRm9udEZhbWlseTtcbiAgICB9XG4gIH1cbiAgLnNob3J0aGFuZChAc2l6ZTogQGJhc2VGb250U2l6ZSwgQHdlaWdodDogbm9ybWFsLCBAbGluZUhlaWdodDogQGJhc2VMaW5lSGVpZ2h0KSB7XG4gICAgZm9udC1zaXplOiBAc2l6ZTtcbiAgICBmb250LXdlaWdodDogQHdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmVIZWlnaHQ7XG4gIH1cbiAgLnNlcmlmKEBzaXplOiBAYmFzZUZvbnRTaXplLCBAd2VpZ2h0OiBub3JtYWwsIEBsaW5lSGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQpIHtcbiAgICAjZm9udCA+ICNmYW1pbHkgPiAuc2VyaWY7XG4gICAgI2ZvbnQgPiAuc2hvcnRoYW5kKEBzaXplLCBAd2VpZ2h0LCBAbGluZUhlaWdodCk7XG4gIH1cbiAgLnNhbnMtc2VyaWYoQHNpemU6IEBiYXNlRm9udFNpemUsIEB3ZWlnaHQ6IG5vcm1hbCwgQGxpbmVIZWlnaHQ6IEBiYXNlTGluZUhlaWdodCkge1xuICAgICNmb250ID4gI2ZhbWlseSA+IC5zYW5zLXNlcmlmO1xuICAgICNmb250ID4gLnNob3J0aGFuZChAc2l6ZSwgQHdlaWdodCwgQGxpbmVIZWlnaHQpO1xuICB9XG4gIC5tb25vc3BhY2UoQHNpemU6IEBiYXNlRm9udFNpemUsIEB3ZWlnaHQ6IG5vcm1hbCwgQGxpbmVIZWlnaHQ6IEBiYXNlTGluZUhlaWdodCkge1xuICAgICNmb250ID4gI2ZhbWlseSA+IC5tb25vc3BhY2U7XG4gICAgI2ZvbnQgPiAuc2hvcnRoYW5kKEBzaXplLCBAd2VpZ2h0LCBAbGluZUhlaWdodCk7XG4gIH1cbn1cblxuXG4vLyBGT1JNU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWl4aW4gZm9yIGZvcm0gZmllbGQgc3RhdGVzXG4uZm9ybUZpZWxkU3RhdGUoQHRleHRDb2xvcjogIzU1NSwgQGJvcmRlckNvbG9yOiAjY2NjLCBAYmFja2dyb3VuZENvbG9yOiAjZjVmNWY1KSB7XG4gIC8vIFNldCB0aGUgdGV4dCBjb2xvclxuICA+IGxhYmVsLFxuICAuaGVscC1ibG9jayxcbiAgLmhlbHAtaW5saW5lIHtcbiAgICBjb2xvcjogQHRleHRDb2xvcjtcbiAgfVxuICAvLyBTdHlsZSBpbnB1dHMgYWNjb3JkaW5nbHlcbiAgLmNoZWNrYm94LFxuICAucmFkaW8sXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBjb2xvcjogQHRleHRDb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBib3JkZXJDb2xvcjtcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXJDb2xvciwgMTAlKTtcbiAgICAgIC5ib3gtc2hhZG93KDAgMCA2cHggbGlnaHRlbihAYm9yZGVyQ29sb3IsIDIwJSkpO1xuICAgIH1cbiAgfVxuICAvLyBHaXZlIGEgc21hbGwgYmFja2dyb3VuZCBjb2xvciBmb3IgaW5wdXQtcHJlcGVuZC8tYXBwZW5kXG4gIC5pbnB1dC1wcmVwZW5kIC5hZGQtb24sXG4gIC5pbnB1dC1hcHBlbmQgLmFkZC1vbiB7XG4gICAgY29sb3I6IEB0ZXh0Q29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmRDb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEB0ZXh0Q29sb3I7XG4gIH1cbn1cblxuXG5cbi8vIENTUzMgUFJPUEVSVElFU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQm9yZGVyIFJhZGl1c1xuLmJvcmRlci1yYWRpdXMoQHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi5ib3gtc2hhZG93KEBzaGFkb3cpIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBAc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6IEBzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogQHNoYWRvdztcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi50cmFuc2l0aW9uKEB0cmFuc2l0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgIC1tb3otdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgICAtbXMtdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgICAgLW8tdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uc1xuLnJvdGF0ZShAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG59XG4uc2NhbGUoQHJhdGlvKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbn1cbi50cmFuc2xhdGUoQHgsIEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xufVxuLnNrZXcoQHgsIEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XG4gICAgIC1tb3otdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XG4gICAgICAgLW8tdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBza2V3KEB4LCBAeSk7XG59XG4udHJhbnNsYXRlM2QoQHgsIEB5LCBAeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSwgQHopO1xuICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSwgQHopO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSwgQHopO1xuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSwgQHopO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSwgQHopO1xufVxuXG4vLyBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyBQcmV2ZW50IGJyb3dzZXJzIGZyb20gZmxpY2tlcmluZyB3aGVuIHVzaW5nIENTUyAzRCB0cmFuc2Zvcm1zLlxuLy8gRGVmYXVsdCB2YWx1ZSBpcyBgdmlzaWJsZWAsIGJ1dCBjYW4gYmUgY2hhbmdlZCB0byBgaGlkZGVuXG4vLyBTZWUgZ2l0IHB1bGwgaHR0cHM6Ly9naXRodWIuY29tL2Rhbm55a2VhbmUvYm9vdHN0cmFwLmdpdCBiYWNrZmFjZS12aXNpYmlsaXR5IGZvciBleGFtcGxlc1xuLmJhY2tmYWNlLXZpc2liaWxpdHkoQHZpc2liaWxpdHkpe1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuICAgICAgLW1zLWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xufVxuXG4vLyBCYWNrZ3JvdW5kIGNsaXBwaW5nXG4vLyBIZWFkcyB1cDogRkYgMy42IGFuZCB1bmRlciBuZWVkIFwicGFkZGluZ1wiIGluc3RlYWQgb2YgXCJwYWRkaW5nLWJveFwiXG4uYmFja2dyb3VuZC1jbGlwKEBjbGlwKSB7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBAY2xpcDtcbiAgICAgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IEBjbGlwO1xuICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogQGNsaXA7XG59XG5cbi8vIEJhY2tncm91bmQgc2l6aW5nXG4uYmFja2dyb3VuZC1zaXplKEBzaXplKXtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xuICAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogQHNpemU7XG4gICAgICAgLW8tYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xufVxuXG5cbi8vIEJveCBzaXppbmdcbi5ib3gtc2l6aW5nKEBib3htb2RlbCkge1xuICAtd2Via2l0LWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgLW1vei1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XG4gICAgICAtbXMtYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6IEBib3htb2RlbDtcbn1cblxuLy8gVXNlciBzZWxlY3Rcbi8vIEZvciBzZWxlY3RpbmcgdGV4dCBvbiB0aGUgcGFnZVxuLnVzZXItc2VsZWN0KEBzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgICAtby11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogQHNlbGVjdDtcbn1cblxuLy8gUmVzaXplIGFueXRoaW5nXG4ucmVzaXphYmxlKEBkaXJlY3Rpb24pIHtcbiAgcmVzaXplOiBAZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxuICBvdmVyZmxvdzogYXV0bzsgLy8gU2FmYXJpIGZpeFxufVxuXG4vLyBDU1MzIENvbnRlbnQgQ29sdW1uc1xuLmNvbnRlbnQtY29sdW1ucyhAY29sdW1uQ291bnQsIEBjb2x1bW5HYXA6IEBncmlkR3V0dGVyV2lkdGgpIHtcbiAgLXdlYmtpdC1jb2x1bW4tY291bnQ6IEBjb2x1bW5Db3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6IEBjb2x1bW5Db3VudDtcbiAgICAgICAgICBjb2x1bW4tY291bnQ6IEBjb2x1bW5Db3VudDtcbiAgLXdlYmtpdC1jb2x1bW4tZ2FwOiBAY29sdW1uR2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6IEBjb2x1bW5HYXA7XG4gICAgICAgICAgY29sdW1uLWdhcDogQGNvbHVtbkdhcDtcbn1cblxuLy8gT3B0aW9uYWwgaHlwaGVuYXRpb25cbi5oeXBoZW5zKEBtb2RlOiBhdXRvKSB7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLXdlYmtpdC1oeXBoZW5zOiBAbW9kZTtcbiAgICAgLW1vei1oeXBoZW5zOiBAbW9kZTtcbiAgICAgIC1tcy1oeXBoZW5zOiBAbW9kZTtcbiAgICAgICAtby1oeXBoZW5zOiBAbW9kZTtcbiAgICAgICAgICBoeXBoZW5zOiBAbW9kZTtcbn1cblxuLy8gT3BhY2l0eVxuLm9wYWNpdHkoQG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogQG9wYWNpdHkgLyAxMDA7XG4gIGZpbHRlcjogflwiYWxwaGEob3BhY2l0eT1Ae29wYWNpdHl9KVwiO1xufVxuXG5cblxuLy8gQkFDS0dST1VORFNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEFkZCBhbiBhbHBoYXRyYW5zcGFyZW5jeSB2YWx1ZSB0byBhbnkgYmFja2dyb3VuZCBvciBib3JkZXIgY29sb3IgKHZpYSBFbHlzZSBIb2xsYWRheSlcbiN0cmFuc2x1Y2VudCB7XG4gIC5iYWNrZ3JvdW5kKEBjb2xvcjogQHdoaXRlLCBAYWxwaGE6IDEpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBoc2xhKGh1ZShAY29sb3IpLCBzYXR1cmF0aW9uKEBjb2xvciksIGxpZ2h0bmVzcyhAY29sb3IpLCBAYWxwaGEpO1xuICB9XG4gIC5ib3JkZXIoQGNvbG9yOiBAd2hpdGUsIEBhbHBoYTogMSkge1xuICAgIGJvcmRlci1jb2xvcjogaHNsYShodWUoQGNvbG9yKSwgc2F0dXJhdGlvbihAY29sb3IpLCBsaWdodG5lc3MoQGNvbG9yKSwgQGFscGhhKTtcbiAgICAuYmFja2dyb3VuZC1jbGlwKHBhZGRpbmctYm94KTtcbiAgfVxufVxuXG4vLyBHcmFkaWVudCBCYXIgQ29sb3JzIGZvciBidXR0b25zIGFuZCBhbGVydHNcbi5ncmFkaWVudEJhcihAcHJpbWFyeUNvbG9yLCBAc2Vjb25kYXJ5Q29sb3IpIHtcbiAgI2dyYWRpZW50ID4gLnZlcnRpY2FsKEBwcmltYXJ5Q29sb3IsIEBzZWNvbmRhcnlDb2xvcik7XG4gIGJvcmRlci1jb2xvcjogQHNlY29uZGFyeUNvbG9yIEBzZWNvbmRhcnlDb2xvciBkYXJrZW4oQHNlY29uZGFyeUNvbG9yLCAxNSUpO1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsLjEpIHJnYmEoMCwwLDAsLjEpIGZhZGVpbihyZ2JhKDAsMCwwLC4xKSwgMTUlKTtcbn1cblxuLy8gR3JhZGllbnRzXG4jZ3JhZGllbnQge1xuICAuaG9yaXpvbnRhbChAc3RhcnRDb2xvcjogIzU1NSwgQGVuZENvbG9yOiAjMzMzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGVuZENvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBGRiAzLjYrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gSUUxMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDEwMCUgMCwgZnJvbShAc3RhcnRDb2xvciksIHRvKEBlbmRDb2xvcikpOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gT3BlcmEgMTEuMTBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIExlIHN0YW5kYXJkXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTEpXCIsQHN0YXJ0Q29sb3IsQGVuZENvbG9yKSk7IC8vIElFOSBhbmQgZG93blxuICB9XG4gIC52ZXJ0aWNhbChAc3RhcnRDb2xvcjogIzU1NSwgQGVuZENvbG9yOiAjMzMzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KEBzdGFydENvbG9yLCBAZW5kQ29sb3IsIDYwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gRkYgMy42K1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gSUUxMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMTAwJSwgZnJvbShAc3RhcnRDb2xvciksIHRvKEBlbmRDb2xvcikpOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIE9wZXJhIDExLjEwXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFRoZSBzdGFuZGFyZFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLEBzdGFydENvbG9yLEBlbmRDb2xvcikpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuICAuZGlyZWN0aW9uYWwoQHN0YXJ0Q29sb3I6ICM1NTUsIEBlbmRDb2xvcjogIzMzMywgQGRlZzogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBGRiAzLjYrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gSUUxMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gT3BlcmEgMTEuMTBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFRoZSBzdGFuZGFyZFxuICB9XG4gIC52ZXJ0aWNhbC10aHJlZS1jb2xvcnMoQHN0YXJ0Q29sb3I6ICMwMGIzZWUsIEBtaWRDb2xvcjogIzdhNDNiNiwgQGNvbG9yU3RvcDogNTAlLCBAZW5kQ29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoQG1pZENvbG9yLCBAZW5kQ29sb3IsIDgwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKEBzdGFydENvbG9yKSwgY29sb3Itc3RvcChAY29sb3JTdG9wLCBAbWlkQ29sb3IpLCB0byhAZW5kQ29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciBAY29sb3JTdG9wLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIixAc3RhcnRDb2xvcixAZW5kQ29sb3IpKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbiAgfVxuICAucmFkaWFsKEBpbm5lckNvbG9yOiAjNTU1LCBAb3V0ZXJDb2xvcjogIzMzMykgIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAb3V0ZXJDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KHJhZGlhbCwgY2VudGVyIGNlbnRlciwgMCwgY2VudGVyIGNlbnRlciwgNDYwLCBmcm9tKEBpbm5lckNvbG9yKSwgdG8oQG91dGVyQ29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lckNvbG9yLCBAb3V0ZXJDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXJDb2xvciwgQG91dGVyQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tcy1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXJDb2xvciwgQG91dGVyQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lckNvbG9yLCBAb3V0ZXJDb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxuICAuc3RyaXBlZChAY29sb3IsIEBhbmdsZTogLTQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCguMjUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSksIGNvbG9yLXN0b3AoLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoLjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpKSwgY29sb3Itc3RvcCguNzUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSksIGNvbG9yLXN0b3AoLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICB9XG59XG4vLyBSZXNldCBmaWx0ZXJzIGZvciBJRVxuLnJlc2V0LWZpbHRlcigpIHtcbiAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZCA9IGZhbHNlKVwiKSk7XG59XG5cblxuXG4vLyBDT01QT05FTlQgTUlYSU5TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gZHJvcGRvd25zIGFuZCBuYXYgbGlzdHNcbi5uYXYtZGl2aWRlcihAdG9wOiAjZTVlNWU1LCBAYm90dG9tOiBAd2hpdGUpIHtcbiAgLy8gSUU3IG5lZWRzIGEgc2V0IHdpZHRoIHNpbmNlIHdlIGdhdmUgYSBoZWlnaHQuIFJlc3RyaWN0aW5nIGp1c3RcbiAgLy8gdG8gSUU3IHRvIGtlZXAgdGhlIDFweCBsZWZ0L3JpZ2h0IHNwYWNlIGluIG90aGVyIGJyb3dzZXJzLlxuICAvLyBJdCBpcyB1bmNsZWFyIHdoZXJlIElFIGlzIGdldHRpbmcgdGhlIGV4dHJhIHNwYWNlIHRoYXQgd2UgbmVlZFxuICAvLyB0byBuZWdhdGl2ZS1tYXJnaW4gYXdheSwgYnV0IHNvIGl0IGdvZXMuXG4gICp3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKChAYmFzZUxpbmVIZWlnaHQgLyAyKSAtIDEpIDFweDsgLy8gOHB4IDFweFxuICAqbWFyZ2luOiAtNXB4IDAgNXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdG9wO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGJvdHRvbTtcbn1cblxuLy8gQnV0dG9uIGJhY2tncm91bmRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cbi5idXR0b25CYWNrZ3JvdW5kKEBzdGFydENvbG9yLCBAZW5kQ29sb3IpIHtcbiAgLy8gZ3JhZGllbnRCYXIgd2lsbCBzZXQgdGhlIGJhY2tncm91bmQgdG8gYSBwbGVhc2luZyBibGVuZCBvZiB0aGVzZSwgdG8gc3VwcG9ydCBJRTw9OVxuICAuZ3JhZGllbnRCYXIoQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7XG4gICpiYWNrZ3JvdW5kLWNvbG9yOiBAZW5kQ29sb3I7IC8qIERhcmtlbiBJRTcgYnV0dG9ucyBieSBkZWZhdWx0IHNvIHRoZXkgc3RhbmQgb3V0IG1vcmUgZ2l2ZW4gdGhleSB3b24ndCBoYXZlIGJvcmRlcnMgKi9cbiAgLnJlc2V0LWZpbHRlcigpO1xuXG4gIC8vIGluIHRoZXNlIGNhc2VzIHRoZSBncmFkaWVudCB3b24ndCBjb3ZlciB0aGUgYmFja2dyb3VuZCwgc28gd2Ugb3ZlcnJpZGVcbiAgJjpob3ZlciwgJjphY3RpdmUsICYuYWN0aXZlLCAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGVuZENvbG9yO1xuICAgICpiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGVuZENvbG9yLCA1JSk7XG4gIH1cblxuICAvLyBJRSA3ICsgOCBjYW4ndCBoYW5kbGUgYm94LXNoYWRvdyB0byBzaG93IGFjdGl2ZSwgc28gd2UgZGFya2VuIGEgYml0IG91cnNlbHZlc1xuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAZW5kQ29sb3IsIDEwJSkgZShcIlxcOVwiKTtcbiAgfVxufVxuXG4vLyBOYXZiYXIgdmVydGljYWwgYWxpZ25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFZlcnRpY2FsbHkgY2VudGVyIGVsZW1lbnRzIGluIHRoZSBuYXZiYXIuXG4vLyBFeGFtcGxlOiBhbiBlbGVtZW50IGhhcyBhIGhlaWdodCBvZiAzMHB4LCBzbyB3cml0ZSBvdXQgYC5uYXZiYXJWZXJ0aWNhbEFsaWduKDMwcHgpO2AgdG8gY2FsY3VsYXRlIHRoZSBhcHByb3ByaWF0ZSB0b3AgbWFyZ2luLlxuLm5hdmJhclZlcnRpY2FsQWxpZ24oQGVsZW1lbnRIZWlnaHQpIHtcbiAgbWFyZ2luLXRvcDogKEBuYXZiYXJIZWlnaHQgLSBAZWxlbWVudEhlaWdodCkgLyAyO1xufVxuXG4vLyBQb3BvdmVyIGFycm93c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRm9yIHRpcHNpZXMgYW5kIHBvcG92ZXJzXG4jcG9wb3ZlckFycm93IHtcbiAgLnRvcChAYXJyb3dXaWR0aDogNXB4LCBAY29sb3I6IEBibGFjaykge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC1AYXJyb3dXaWR0aDtcbiAgICBib3JkZXItbGVmdDogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiBAYXJyb3dXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiBAYXJyb3dXaWR0aCBzb2xpZCBAY29sb3I7XG4gIH1cbiAgLmxlZnQoQGFycm93V2lkdGg6IDVweCwgQGNvbG9yOiBAYmxhY2spIHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtQGFycm93V2lkdGg7XG4gICAgYm9yZGVyLXRvcDogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IEBhcnJvd1dpZHRoIHNvbGlkIEBjb2xvcjtcbiAgfVxuICAuYm90dG9tKEBhcnJvd1dpZHRoOiA1cHgsIEBjb2xvcjogQGJsYWNrKSB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUBhcnJvd1dpZHRoO1xuICAgIGJvcmRlci1sZWZ0OiBAYXJyb3dXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IEBhcnJvd1dpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IEBhcnJvd1dpZHRoIHNvbGlkIEBjb2xvcjtcbiAgfVxuICAucmlnaHQoQGFycm93V2lkdGg6IDVweCwgQGNvbG9yOiBAYmxhY2spIHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC1AYXJyb3dXaWR0aDtcbiAgICBib3JkZXItdG9wOiBAYXJyb3dXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiBAYXJyb3dXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IEBhcnJvd1dpZHRoIHNvbGlkIEBjb2xvcjtcbiAgfVxufVxuXG4vLyBHcmlkIFN5c3RlbVxuLy8gLS0tLS0tLS0tLS1cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbi5jb250YWluZXItZml4ZWQoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIC5jbGVhcmZpeCgpO1xufVxuXG4vLyBUYWJsZSBjb2x1bW5zXG4udGFibGVDb2x1bW5zKEBjb2x1bW5TcGFuOiAxKSB7XG4gIGZsb2F0OiBub25lOyAvLyB1bmRvIGRlZmF1bHQgZ3JpZCBjb2x1bW4gc3R5bGVzXG4gIHdpZHRoOiAoKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCkgKiBAY29sdW1uU3BhbikgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5TcGFuIC0gMSkpIC0gMTY7IC8vIDE2IGlzIHRvdGFsIHBhZGRpbmcgb24gbGVmdCBhbmQgcmlnaHQgb2YgdGFibGUgY2VsbHNcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIHVuZG8gZGVmYXVsdCBncmlkIGNvbHVtbiBzdHlsZXNcbn1cblxuLy8gTWFrZSBhIEdyaWRcbi8vIFVzZSAubWFrZVJvdyBhbmQgLm1ha2VDb2x1bW4gdG8gYXNzaWduIHNlbWFudGljIGxheW91dHMgZ3JpZCBzeXN0ZW0gYmVoYXZpb3Jcbi5tYWtlUm93KCkge1xuICBtYXJnaW4tbGVmdDogQGdyaWRHdXR0ZXJXaWR0aCAqIC0xO1xuICAuY2xlYXJmaXgoKTtcbn1cbi5tYWtlQ29sdW1uKEBjb2x1bW5zOiAxLCBAb2Zmc2V0OiAwKSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogKEBncmlkQ29sdW1uV2lkdGggKiBAb2Zmc2V0KSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBvZmZzZXQgLSAxKSkgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIDIpO1xuICB3aWR0aDogKEBncmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyAtIDEpKTtcbn1cblxuLy8gVGhlIEdyaWRcbiNncmlkIHtcblxuICAuY29yZSAoQGdyaWRDb2x1bW5XaWR0aCwgQGdyaWRHdXR0ZXJXaWR0aCkge1xuXG4gICAgLnNwYW5YIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcbiAgICAgIC5zcGFuQHtpbmRleH0geyAuc3BhbihAaW5kZXgpOyB9XG4gICAgICAuc3BhblgoQGluZGV4IC0gMSk7XG4gICAgfVxuICAgIC5zcGFuWCAoMCkge31cblxuICAgIC5vZmZzZXRYIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcbiAgICAgIC5vZmZzZXRAe2luZGV4fSB7IC5vZmZzZXQoQGluZGV4KTsgfVxuICAgICAgLm9mZnNldFgoQGluZGV4IC0gMSk7XG4gICAgfVxuICAgIC5vZmZzZXRYICgwKSB7fVxuXG4gICAgLm9mZnNldCAoQGNvbHVtbnMpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoQGdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zICsgMSkpO1xuICAgIH1cblxuICAgIC5zcGFuIChAY29sdW1ucykge1xuICAgICAgd2lkdGg6IChAZ3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSk7XG4gICAgfVxuXG4gICAgLnJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogQGdyaWRHdXR0ZXJXaWR0aCAqIC0xO1xuICAgICAgLmNsZWFyZml4KCk7XG4gICAgfVxuXG4gICAgW2NsYXNzKj1cInNwYW5cIl0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogQGdyaWRHdXR0ZXJXaWR0aDtcbiAgICB9XG5cbiAgICAvLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXNcbiAgICAuY29udGFpbmVyLFxuICAgIC5uYXZiYXItZml4ZWQtdG9wIC5jb250YWluZXIsXG4gICAgLm5hdmJhci1maXhlZC1ib3R0b20gLmNvbnRhaW5lciB7IC5zcGFuKEBncmlkQ29sdW1ucyk7IH1cblxuICAgIC8vIGdlbmVyYXRlIC5zcGFuWCBhbmQgLm9mZnNldFhcbiAgICAuc3BhblggKEBncmlkQ29sdW1ucyk7XG4gICAgLm9mZnNldFggKEBncmlkQ29sdW1ucyk7XG5cbiAgfVxuXG4gIC5mbHVpZCAoQGZsdWlkR3JpZENvbHVtbldpZHRoLCBAZmx1aWRHcmlkR3V0dGVyV2lkdGgpIHtcblxuICAgIC5zcGFuWCAoQGluZGV4KSB3aGVuIChAaW5kZXggPiAwKSB7XG4gICAgICAuc3BhbkB7aW5kZXh9IHsgLnNwYW4oQGluZGV4KTsgfVxuICAgICAgLnNwYW5YKEBpbmRleCAtIDEpO1xuICAgIH1cbiAgICAuc3BhblggKDApIHt9XG5cbiAgICAuc3BhbiAoQGNvbHVtbnMpIHtcbiAgICAgIHdpZHRoOiAoQGZsdWlkR3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyAtIDEpKTtcbiAgICAgICp3aWR0aDogKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSkgLSAoLjUgLyBAZ3JpZFJvd1dpZHRoICogMTAwICogMSUpO1xuICAgIH1cblxuICAgIC5yb3ctZmx1aWQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAuY2xlYXJmaXgoKTtcbiAgICAgIFtjbGFzcyo9XCJzcGFuXCJdIHtcbiAgICAgICAgLmlucHV0LWJsb2NrLWxldmVsKCk7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogQGZsdWlkR3JpZEd1dHRlcldpZHRoO1xuICAgICAgICAqbWFyZ2luLWxlZnQ6IEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCAtICguNSAvIEBncmlkUm93V2lkdGggKiAxMDAgKiAxJSk7XG4gICAgICB9XG4gICAgICBbY2xhc3MqPVwic3BhblwiXTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuXG4gICAgICAvLyBnZW5lcmF0ZSAuc3BhblhcbiAgICAgIC5zcGFuWCAoQGdyaWRDb2x1bW5zKTtcbiAgICB9XG5cbiAgfVxuXG4gIC5pbnB1dChAZ3JpZENvbHVtbldpZHRoLCBAZ3JpZEd1dHRlcldpZHRoKSB7XG5cbiAgICAuc3BhblggKEBpbmRleCkgd2hlbiAoQGluZGV4ID4gMCkge1xuICAgICAgaW5wdXQuc3BhbkB7aW5kZXh9LCB0ZXh0YXJlYS5zcGFuQHtpbmRleH0sIC51bmVkaXRhYmxlLWlucHV0LnNwYW5Ae2luZGV4fSB7IC5zcGFuKEBpbmRleCk7IH1cbiAgICAgIC5zcGFuWChAaW5kZXggLSAxKTtcbiAgICB9XG4gICAgLnNwYW5YICgwKSB7fVxuXG4gICAgLnNwYW4oQGNvbHVtbnMpIHtcbiAgICAgIHdpZHRoOiAoKEBncmlkQ29sdW1uV2lkdGgpICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSkgLSAxMDtcbiAgICB9XG5cbiAgICBpbnB1dCxcbiAgICB0ZXh0YXJlYSxcbiAgICAudW5lZGl0YWJsZS1pbnB1dCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgLy8gb3ZlcnJpZGUgbWFyZ2luLWxlZnQgZnJvbSBjb3JlIGdyaWQgc3lzdGVtXG4gICAgfVxuXG4gICAgLy8gZ2VuZXJhdGUgLnNwYW5YXG4gICAgLnNwYW5YIChAZ3JpZENvbHVtbnMpO1xuXG4gIH1cblxufVxuXG4uZGFya0xpZ2h0IChAYSkgd2hlbiAobGlnaHRuZXNzKEBhKSA+PSA1MCUpIHtcbiAgY29sb3I6IEBncmF5RGFya2VyO1xufVxuLmRhcmtMaWdodCAoQGEpIHdoZW4gKGxpZ2h0bmVzcyhAYSkgPCA1MCUpIHtcbiAgY29sb3I6IEB3aGl0ZTtcbn0iXX0= */