/**
 * @group Color
 * @label Base Color (used for navbar, widget titles, etc.)
 * @type color
 * @default_value #2275bb
 */
/**
 * @group Color
 * @label Header/Footer Color
 * @type color
 * @default_value #222
 */
/**
 * @group Color
 * @label Pre-Footer Color
 * @type color
 * @default_value #ddd
 */
/**
 * @group Color
 * @label Color of links
 * @type color
 * @default_value #2275bb
 */
/**
 * @group Color
 * @label Hover color of links
 * @type color
 * @default_value #2275bb
 */
/**
 * @group Color
 * @label Background color of post meta boxes (author bio, related posts, etc.)
 * @type color
 * @default_value #fff
 */
/**
 * @group Basics
 * @label Body Background Color
 * @type color
 * @default_value #fff
 */
/**
 * @group Basics
 * @label Page Background Color
 * @type color
 * @default_value #fff
 */
/**
 * @group Basics
 * @label Text Color
 * @type color
 * @default_value #333
 */
/**
 * @group Basics
 * @label Default Vertical Spacing
 * @type pixels
 * @default_value 24px
 */
/**
 * @group Typography
 * @label Sans Font Family
 * @type text
 * @default_value "Helvetica Neue", Helvetica, Arial, sans-serif
 */
/**
 * @group Typography
 * @label Serif Font Family
 * @type text
 */
/**
 * @group Typography
 * @label Base Font Size
 * @type pixels
 */
/**
 * @group Typography
 * @label Sans Font Family
 * @type dropdown
 * @options @serifFontFamily|@sansFontFamily
 * @default_value @serifFontFamily
 */
/**
 * @group Typography
 * @label Base Line Height
 * @type text
 * @default_value 1.5
 */
.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
}
.clearfix:after {
  clear: both;
}
.visuallyhidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}
.hide-text {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.input-block-level {
  display: block;
  width: 100%;
  min-height: 28px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
html.nav-open,
html.nav-open body {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: hidden;
}
.navbar {
  *position: relative;
  *z-index: 2;
  overflow: visible;
  margin-bottom: 4.8px;
  color: #484848;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.navbar .container {
  width: auto;
}
.navbar .toggle-nav-bar {
  display: none;
}
.navbar .navbar-inner {
  background-color: #ffffff;
}
.navbar .navbar-text {
  margin-bottom: 0;
}
.navbar #header-social li > a {
  padding-left: 4px;
  padding-right: 4px;
}
.navbar .nav {
  position: relative;
  left: 0;
  display: block;
  float: left;
  margin: 0;
  color: #484848;
}
.navbar .nav > li > a {
  color: #484848;
}
.navbar li {
  display: block;
  float: left;
  margin-bottom: 0;
}
.navbar li > a {
  display: block;
  text-decoration: none;
  line-height: 40px;
  padding-left: 10px;
  padding-right: 10px;
}
.navbar li.dropdown > a {
  padding-right: 0;
}
.navbar li.dropdown .dropdown-menu li a {
  color: #484848;
  padding-right: 10px;
  line-height: 1.5;
}
.navbar li.dropdown .dropdown-menu li a:hover {
  color: #3b3b3b;
}
.navbar li > a:hover {
  background-color: #f2f2f2;
  color: #3b3b3b;
}
.navbar li > a:hover .caret:before {
  border-top-color: #3b3b3b;
}
.navbar .sub-menu:before,
.navbar .sub-sub-menu:before {
  border-bottom: 9px solid transparent;
  border-left: none;
  border-right: 9px solid rgba(0, 0, 0, 0.2);
  border-top: 9px solid transparent;
  left: -9px;
  top: 30%;
}
.navbar .sub-menu:after,
.navbar .sub-sub-menu:after {
  border-top: 8px solid transparent;
  border-left: none;
  border-right: 8px solid #ffffff;
  border-bottom: 8px solid transparent;
  top: 31%;
  left: -8px;
}
.navbar li.home-icon a:hover,
.navbar li.home-link a:hover {
  background-color: transparent;
  color: #319ecf;
}
.navbar .home-icon:hover img,
.navbar li.home-link:hover i {
  opacity: 0.85;
  filter: alpha(opacity=85);
}
.navbar li.home-link {
  overflow: hidden;
}
.navbar li.home-link > a {
  display: block;
}
.navbar li.home-link > a:hover {
  background: none;
}
.navbar li.home-link > a img {
  display: block;
  height: 40px;
  width: 40px;
}
.navbar li.home-icon > a {
  padding: 0;
}
.navbar li.home-icon > a:hover {
  background: none;
}
.navbar li.home-icon > a img {
  display: inline-block;
  height: 24px;
  width: auto;
  margin-right: 1em;
}
.navbar .btn-navbar {
  display: none;
  float: left;
  margin-right: 10px;
  background-color: transparent;
  border: none;
  padding: 12.5px 10px;
}
.navbar .btn-navbar .label {
  float: right;
  color: white;
  line-height: 1;
  margin: -2px 0 0 5px;
  padding: 0;
  font-size: 15px;
}
.navbar .btn-navbar .navbar .btn-navbar .bars {
  float: left;
}
.navbar .btn-navbar .icon-bar {
  display: block;
  width: 18px;
  height: 3px;
}
.navbar .btn-navbar .icon-bar + .icon-bar {
  margin-top: 3px;
}
@media (min-width: 769px) {
  .navbar .nav-left {
    display: none;
  }
}
@media (max-width: 768px) {
  .navbar {
    position: relative;
    z-index: 9;
  }
  .navbar li.dropdown .dropdown-menu li a {
    line-height: 40px;
    padding-top: 0;
    padding-bottom: 0;
    padding-left: 40px;
  }
  .navbar .container {
    width: auto;
    padding: 0;
  }
  .navbar .toggle-nav-bar {
    display: block;
  }
  .navbar .nav-shelf {
    background: #ffffff;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    visibility: hidden;
    opacity: 0;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }
  .navbar .nav-shelf .site-name,
  .navbar .nav-shelf .home-icon,
  .navbar .nav-shelf .home-link {
    display: none;
  }
  .navbar .nav-shelf ul,
  .navbar .nav-shelf li {
    float: none;
  }
  .navbar .nav-shelf li.home-link {
    display: none;
  }
  .navbar .nav-shelf li b.caret {
    float: right;
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);
    transform: rotate(-90deg);
  }
  .navbar .nav-shelf li.open > a .caret {
    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  .navbar .nav-shelf li.open > ul.dropdown-menu {
    display: block;
    position: relative;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    border: none;
    padding: 0;
  }
  .navbar .nav-shelf li.open > ul.dropdown-menu:before,
  .navbar .nav-shelf li.open > ul.dropdown-menu:after {
    display: none;
  }
  .navbar .nav-shelf .nav > li:last-child {
    border-bottom: none;
    padding-bottom: none;
  }
  .navbar.open .nav-shelf {
    visibility: visible;
    opacity: 1;
    border-bottom: 1px solid #dddddd;
  }
  .navbar .nav li.home-link,
  .navbar .nav li.site-name {
    display: none;
  }
}
.navbar-inner {
  float: left;
  width: 100%;
}
.caret {
  display: inline-block;
  position: relative;
  width: 16px;
  padding: 0 8px;
  top: 2px;
}
.caret:before {
  display: block;
  position: relative;
  width: 0;
  height: 0;
  border-top: 6px solid #484848;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-bottom: 5px solid transparent;
  content: "";
}
.dropup,
.dropdown {
  position: relative;
}
.dropup .caret,
.dropdown .caret {
  border-top-color: #ffffff;
  border-bottom-color: #ffffff;
}
.dropup.active .caret,
.dropdown.active .caret {
  opacity: 1;
  filter: alpha(opacity=100);
}
.dropdown-toggle {
  *margin-bottom: -3px;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 3px 0;
  margin: 0;
  list-style: none;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border: 1px solid rgba(0, 0, 0, 0.2);
  *border-right-width: 2px;
  *border-bottom-width: 2px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
.dropdown-menu li {
  padding-top: 0;
  width: 100%;
}
.dropdown-menu li {
  margin-bottom: 0;
}
.dropdown-menu li > a {
  display: block;
  width: auto;
  padding: 3px 15px;
  clear: both;
  white-space: nowrap;
  text-shadow: none;
}
.dropdown-menu li > a:hover {
  text-decoration: none;
}
.dropdown-menu .active > a,
.dropdown-menu .active > a:hover {
  color: #484848;
  background-color: #ffffff;
}
.dropdown-menu:before {
  content: '';
  display: inline-block;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #dddddd;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  top: -10px;
  left: 9px;
}
.dropdown-menu:after {
  content: '';
  display: inline-block;
  border-left: 9px solid transparent;
  border-right: 9px solid transparent;
  border-bottom: 9px solid #ffffff;
  position: absolute;
  top: -9px;
  left: 10px;
}
.dropdown-menu .sub-menu,
.dropdown-menu .sub-sub-menu {
  position: absolute;
  top: -20%;
  left: 99%;
  visibility: hidden;
  margin-top: 0;
}
.dropdown-menu .icon-arrow-right {
  position: relative;
  top: 2px;
  left: 3px;
}
.dropdown-menu li:hover .sub-menu,
.dropdown-menu .sub-menu li:hover .sub-sub-menu {
  visibility: visible;
  display: block;
}
@media (max-width: 768px) {
  .dropdown-menu li:hover .sub-sub-menu,
  .dropdown-menu li:hover .sub-menu {
    display: none;
    visibility: hidden;
  }
  .dropdown-menu li:hover .sub-sub-menu:before,
  .dropdown-menu li:hover .sub-menu:before {
    display: none;
  }
}
@media (min-width: 769px) {
  html.no-touch ul.nav li.dropdown:hover ul.dropdown-menu,
  html.touch ul.nav li.dropdown.open ul.dropdown-menu {
    display: block;
  }
}
.open {
  *z-index: 1000;
}
.open > .dropdown-menu {
  display: block;
}
@media (min-width: 769px) {
  .open > .dropdown-menu {
    display: none;
  }
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px solid #000000;
  content: "\2191";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 1px;
}
#topics-bar {
  padding: 3px 0;
}
#topics-bar ul {
  margin: 0;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
#topics-bar ul li {
  display: inline;
  margin-right: 10px;
  white-space: nowrap;
  font-size: 14px;
}
#topics-bar ul li.menu-label {
  font-size: 15px;
  font-weight: bold;
}
#main-nav.navbar {
  border-top: 1px solid #aaaaaa;
  border-bottom: 1px solid #aaaaaa;
}
.sticky-nav-container {
  margin: 0 auto;
  position: relative;
}
.sticky-nav-holder {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 99998;
  visibility: hidden;
  opacity: 0;
  background-color: #ffffff;
  border-bottom: 1px solid #dddddd;
  -webkit-transition: opacity 0.3s;
  -moz-transition: opacity 0.3s;
  -ms-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.sticky-nav-holder.transitioning {
  overflow: hidden;
  height: 56px;
}
.sticky-nav-holder.transitioning .navbar {
  opacity: 0;
}
.sticky-nav-holder.show {
  visibility: visible;
  opacity: 1;
}
body.admin-bar .sticky-nav-holder {
  top: 32px;
}
@media (max-width: 782px) {
  body.admin-bar .sticky-nav-holder {
    top: 46px;
  }
}
@media (max-width: 600px) {
  body.admin-bar .sticky-nav-holder {
    top: 0;
  }
}
@media (min-width: 769px) {
  .sticky-nav-holder {
    display: none;
  }
  body .sticky-nav-holder.main_nav_hide_article,
  body .sticky-nav-holder.sticky_nav_display {
    display: block;
  }
}
.navbar.sticky-navbar {
  margin-bottom: 0;
  -webkit-transition: opacity 0.3s;
  -moz-transition: opacity 0.3s;
  -ms-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.navbar.sticky-navbar .nav {
  color: #484848;
}
.navbar.sticky-navbar li a {
  line-height: 56px;
  color: #484848;
}
.navbar.sticky-navbar li a:hover {
  color: #3b3b3b;
}
.navbar.sticky-navbar li a .caret:before {
  border-top-color: #484848;
}
.navbar.sticky-navbar li a:hover .caret:before {
  border-top-color: #3b3b3b;
}
.navbar.sticky-navbar li.home-link > a:hover {
  color: #555555;
}
.navbar.sticky-navbar li.dropdown .dropdown-menu li a {
  color: #484848;
}
.navbar.sticky-navbar li.dropdown .dropdown-menu li a:hover {
  color: #3b3b3b;
}
.navbar.sticky-navbar .social-icons {
  margin: 0;
  float: left;
}
.navbar.sticky-navbar .btn-navbar {
  padding: 0 10px 0 10px;
  margin-right: 0;
  line-height: 56px;
}
.navbar.sticky-navbar .btn-navbar .bars {
  display: inline-block;
}
.navbar.sticky-navbar .btn-navbar .icon-bar {
  background-color: #484848;
}
.navbar.sticky-navbar .btn-navbar:hover .icon-bar {
  background-color: #3b3b3b;
}
.navbar.sticky-navbar.home-link {
  min-width: 40px;
  text-align: center;
}
.navbar.sticky-navbar.home-link .nav > li a img {
  width: 1.49em;
  height: 1.49em;
}
.navbar.sticky-navbar.home-link .nav > li .icon-home:before {
  position: relative;
  top: 0;
}
.navbar.sticky-navbar .nav-right {
  float: right;
}
.navbar.sticky-navbar .nav-right #header-extras {
  float: left;
  margin: 0;
}
.navbar.sticky-navbar .nav-right #header-extras a.donate-link:hover {
  background: transparent;
}
.navbar.sticky-navbar .nav-right #header-extras .donate a span {
  padding: 4px 8px;
  color: #ffffff;
  background-color: #b43434;
}
.navbar.sticky-navbar .nav-right #header-extras .donate a span:hover {
  background-color: #c63b3b;
}
.navbar.sticky-navbar .nav-right #header-extras .donate a span i {
  display: none;
}
.navbar.sticky-navbar .nav-right .form-search {
  position: relative;
}
.navbar.sticky-navbar .nav-right .form-search .toggle {
  color: transparent;
  display: inline-block;
  text-align: center;
  cursor: pointer;
  position: relative;
  z-index: 91;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
}
.navbar.sticky-navbar .nav-right .form-search .input-append {
  position: absolute;
  right: 44px;
  top: 0;
  right: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: 0.3s;
  -moz-transition: 0.3s;
  -ms-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  padding: 10px;
  z-index: 90;
  width: 246px;
}
.navbar.sticky-navbar .nav-right .form-search .input-append .text-input-wrapper {
  display: block;
  float: left;
  width: 196px;
}
.navbar.sticky-navbar .nav-right .form-search .input-append input {
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  height: 36px !important;
}
.navbar.sticky-navbar .nav-right .form-search .input-append button {
  width: 50px !important;
  height: 36px !important;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
.navbar.sticky-navbar .nav-right #sticky-nav-search.show .input-append {
  position: absolute;
  opacity: 1;
  visibility: visible;
}
.navbar.sticky-navbar .nav-right #sticky-nav-search.show .input-append,
.navbar.sticky-navbar .nav-right #sticky-nav-search.show .toggle {
  background-color: #343434;
  color: #ffffff;
}
.navbar.sticky-navbar .nav-left > ul {
  margin: 0;
  padding: 0;
}
@media (min-width: 769px) {
  .navbar.sticky-navbar .nav-left {
    display: none;
  }
}
.navbar.sticky-navbar .site-name {
  display: block;
  color: #343434;
}
.navbar.sticky-navbar .site-name a {
  font-weight: bold;
  padding: 0 10px 0 0;
  color: #484848;
  max-width: 214px;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.navbar.sticky-navbar .site-name a:hover {
  background-color: transparent;
  color: #3b3b3b;
  text-decoration: none;
}
.navbar.sticky-navbar .nav-right {
  float: right;
}
.navbar.sticky-navbar .nav-right #header-extras {
  float: left;
  margin: 0;
}
.navbar.sticky-navbar .nav-right #header-extras a.donate-link:hover {
  background: transparent;
}
@media (max-width: 768px) {
  .navbar.sticky-navbar li.dropdown .dropdown-menu li a {
    line-height: 56px;
  }
  .navbar.sticky-navbar .nav-shelf b.caret {
    padding: 22px;
  }
}
#menu-overflow > ul {
  overflow-y: scroll;
  max-height: 80vh;
}
#menu-overflow > ul .caret::before,
#menu-overflow > ul .caret::after {
  display: none;
}
#menu-overflow > ul ul.dropdown-menu {
  position: relative;
  border: none;
  float: none;
  box-shadow: none;
}
#menu-overflow > ul ul.dropdown-menu li a {
  padding-left: 1.5em;
}
#menu-overflow > ul ul.dropdown-menu::before,
#menu-overflow > ul ul.dropdown-menu::after {
  display: none;
}
#menu-overflow > ul ul.dropdown-menu .sub-menu,
#menu-overflow > ul ul.dropdown-menu .sub-sub-menu {
  display: none;
}
/**
 * Before Footer, Site Footer
 *
 * #before-footer - a dynamic widget area prior to #site-footer
 * #site-footer
 *   #supplementary - primary widget zones for site footer
 *   #boilerplate - social icons, copyright, INN logo and footer links
 *
 * @since 0.5.3
 */
.before-footer-wrapper {
  background-color: #dddddd;
}
#before-footer .widget:last-child {
  margin-bottom: 0;
}
.footer-bg {
  background-color: #222222;
  padding: 0 0 18px;
  margin-bottom: 0;
}
#supplementary {
  padding: 24px 0 0 0;
}
#supplementary._1col aside {
  text-align: center;
}
/* specific to the one column footer layout */
._1col .widget_nav_menu li {
  display: inline;
  margin-right: 1em;
}
/*
 * image displays 300px wide, but is physically 1699x385 px^2
 * We'll use math to get the padding top and bottom correct, according to the brand guidelines
 * margin top and margin bottom should be equal to the height of one of the squares.
 * By cropping the image to the outer boundary of the lower-left square in inn_logo_reversetype.png, we get a square height of 184px.
 * 184/1669 = x/300
 */
#inn-logo {
  margin-top: 22.04913122px;
  margin-bottom: 16.53684841px;
  max-width: 200px;
}
#footer-logos-bg {
  background-color: #ffffff;
  padding: 10px 0;
}
#footer-logos {
  overflow: hidden;
}
#footer-logos a {
  display: block;
  float: left;
  width: 16.666666667%;
}
#footer-logos a img {
  display: block;
  width: 100%;
  max-width: 180px;
  margin: 0 auto;
}
#footer-logos h6 {
  margin-bottom: 4px;
  padding-bottom: 3px;
  border-bottom: 1px solid #dddddd;
  font-size: 12px;
  color: #7d8185;
  text-transform: uppercase;
  font-weight: normal;
}
#footer-logos h6 a {
  float: right;
  text-align: right;
}
ul#footer-social {
  padding-top: 22.04913122px;
  padding-bottom: 16.53684841px;
  margin: 0 auto;
  width: 100%;
}
@media (max-width: 768px) {
  ul#footer-social {
    text-align: left;
  }
}
ul#footer-social li {
  height: 46.13541043px;
  display: table-cell;
  vertical-align: middle;
  font-size: 18px;
}
@media (max-width: 768px) {
  ul#footer-social li {
    margin-top: 0;
  }
}
ul#footer-social li a {
  padding-right: 10px;
  padding-top: 16.07737739px;
}
ul#footer-social li i {
  position: relative;
  top: 0;
  padding: 5px;
  margin-top: 27.56141402;
  font-size: 18px;
  color: #ffffff;
}
ul#footer-social li i:hover {
  color: #bfbfbf;
}
ul#footer-social li:last-child a {
  padding-right: 0;
}
#boilerplate {
  width: 100%;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
#boilerplate p {
  margin-bottom: 0;
  color: #9F9FA3;
}
#boilerplate .menu {
  display: inline;
  margin: 0;
  font-size: 10.672px;
}
#boilerplate .menu li {
  display: inline;
  padding-right: 10px;
}
#boilerplate .menu {
  clear: none;
}
footer #boilerplate p {
  color: #9F9FA3;
}
footer #boilerplate a {
  color: #dddddd;
}
footer #boilerplate a:hover {
  color: #09C9FF;
}
@media (min-width: 769px) {
  #boilerplate .span6.right {
    text-align: right;
    margin-top: 0;
    margin-bottom: 0;
  }
}
@media (min-width: 979px) {
  .footer-credit-padding-inn-logo-missing {
    margin-top: 84.72139005px;
  }
}
@media (max-width: 979px) {
  #boilerplate .row-fluid .span6 {
    width: 100%;
    clear: both;
    margin-left: 0;
    text-align: center;
  }
  ul#footer-social {
    display: inline-block;
    width: auto;
    margin: 0 auto;
  }
  .footer-credit span {
    display: block;
  }
}
.back-to-top {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
}
body.normal.single-post article.post > header .entry-date,
body.normal.single-post article.post > header .sep {
  display: inline;
}
.top-date {
  display: none;
}
.byline .twitter {
  margin-left: 0.3em;
}
.byline .twitter a:hover {
  color: #55acee;
}
p.wp-caption-text {
  font-family: "helvetica neue", helvetica, sans-serif;
  font-size: 14px !important;
  font-weight: 400;
  letter-spacing: 0.0125em;
}
figcaption cite {
  font-style: normal;
}
/* Typography */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "tablet-gothic-condensed", sans-serif;
  font-weight: 700;
  color: #484848;
}
h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
  color: #484848;
}
/*  Nats changes to heading sizes  */
.entry-content h1,
entry-content h2 {
  font-size: 30px;
}
.entry-content h3 {
  font-size: 24px;
}
.entry-content h4,
.entry-content h5 .entry-content h6 {
  font-size: 20px;
}
.entry-content h5,
.entry-content h6 {
  color: gray;
}
#topics-bar ul li {
  text-transform: capitalize;
}
/* end nat's changes */
a {
  color: #b43434;
}
a:hover {
  color: #b43434;
  text-decoration: underline;
}
p,
button,
input,
select,
textarea {
  font-family: "leitura-news", Georgia, serif;
  font-weight: 300;
}
h5.byline {
  font-family: "helvetica neue", helvetica, sans-serif;
}
/* Largo Helvetica Overrides */
.top-tag,
.nav,
.top-date,
.load-more,
.post-social > span,
.rss-subscribe-link,
.tags,
.related-items p,
.subscribe,
.widget.largo-series-posts li a,
ul.staff-roster .staff-name,
.archive-background .related-topics,
.labels,
.navbar,
.pager,
.post-pagination a,
.post-pagination span,
#sidebar .widget_analytic-bridge-popular-posts ol li::before {
  font-family: "tablet-gothic-condensed", sans-serif;
  font-weight: 300;
}
.widgettitle,
.stories h3.widgettitle {
  font-size: 32px;
  text-align: left;
  color: #226f91;
  padding-bottom: 0.3em;
  border-bottom: 2px solid #226f91;
}
.widgettitle a,
.stories h3.widgettitle a {
  color: #226f91;
}
.widget {
  padding: 0;
}
.widget h5 {
  font-weight: 400;
}
.widget img.attachment-large,
.widget img.attachment-medium {
  padding-bottom: 0;
  margin-bottom: 0.66em;
}
#sidebar .widget {
  margin-top: 24px;
}
#sidebar .widget:first-child {
  margin-top: 0;
}
#sidebar .widgettitle {
  font-size: 24px;
}
.author-box ul li a {
  background-color: #226f91;
}
.author-box ul li a:hover {
  background-color: #2c8fba;
}
.article-bottom .author-box .widgettitle {
  font-size: 24px;
  border-bottom: none;
  padding-bottom: 0;
}
.widget-area .largo-taxonomy-list h5 {
  margin-bottom: 0;
}
.largo-taxonomy-list a {
  color: #484848;
  font-family: "tablet-gothic-condensed", sans-serif;
  font-weight: 300;
}
.largo-taxonomy-list a:hover {
  color: #226f91;
}
.largo-taxonomy-list img {
  margin-bottom: 1em;
}
.largo-taxonomy-list li {
  margin-bottom: 20px;
}
.saved-links {
  border: 1px solid #aaaaaa;
  padding: 24px;
}
.source {
  font-family: "tablet-gothic-condensed", sans-serif;
  font-weight: 300;
}
.widget.saved-links .post-lead p {
  font-size: 12px;
}
.widget.saved-links .post-lead h5 {
  padding: 0;
}
.widget.saved-links .post-lead p.description {
  margin-bottom: 6px;
}
.dfw-unit {
  text-align: center;
}
.dfw-unit:before {
  content: "Advertisement";
  text-align: center;
  font-family: "helvetica neue", helvetica, sans-serif;
  text-transform: uppercase;
  font-size: 10px;
  width: 100%;
  color: #7d8185;
  display: block;
}
#header-ad-zone-container div div,
#before-footer div div,
.ad-zone.center div div {
  margin: 0 auto;
}
#header-ad-zone-container .dfw-unit:before,
#before-footer .dfw-unit:before,
.ad-zone.center .dfw-unit:before {
  content: none;
}
#header-ad-zone-container {
  width: 100%;
  border-bottom: 1px solid #ccc;
  padding: 5px 0;
}
.before-footer-wrapper {
  background-color: #fff;
}
#before-footer {
  padding: 4px 0 8px;
}
#sidebar .widget_analytic-bridge-popular-posts li + li {
  border-top: none;
  margin-top: 0;
  padding-top: 12px;
}
#site-footer li {
  letter-spacing: 0.1em;
  font-weight: 300;
}
#site-footer li a {
  color: #ffffff;
}
#site-footer li a:hover {
  color: #b43434;
  text-decoration: underline;
}
#site-footer li ul {
  margin-top: 12px;
}
@media (max-width: 768px) {
  #site-footer li li:last-child,
  #site-footer .widget,
  #site-footer div[class^="span"] {
    margin-bottom: 0;
  }
}
#boilerplate p {
  font-family: "helvetica neue", helvetica, sans-serif;
}
#site-footer .span5 ul li:last-child a {
  padding: 12px;
  display: inline-block;
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
}
#site-footer .span5 ul li:last-child a a,
#site-footer .span5 ul li:last-child a a:hover {
  color: #fff;
  text-decoration: none;
}
#site-footer .span5 ul li:last-child a:hover {
  background-color: #cc4f4f;
  color: #fff;
}
header .newsletter-signup {
  position: absolute;
  top: 127px;
  right: 0;
  margin-left: 20px;
  font-size: 20px;
}
.newsletter-signup {
  z-index: 999;
}
.newsletter-signup a {
  color: #000000;
  font-family: "tablet-gothic-condensed", sans-serif;
}
.newsletter-signup a:hover {
  text-decoration: none;
  color: #4d4d4d;
}
.newsletter-signup a:hover span {
  background-color: #cc4f4f;
  color: #ffffff;
}
.newsletter-signup span {
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
  padding: 5px 8px 8px 8px;
  margin-left: 6px;
}
.newsletter-signup span a,
.newsletter-signup span a:hover {
  color: #fff;
  text-decoration: none;
}
.newsletter-signup span:hover {
  background-color: #cc4f4f;
  color: #fff;
}
.article-bottom .newsletter-signup {
  font-size: 24px;
  margin-bottom: 2em;
}
.global-nav #header-search {
  display: none;
}
#header-search {
  float: right;
  margin-top: 12px;
}
.donate-btn {
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
}
.donate-btn a,
.donate-btn a:hover {
  color: #fff;
  text-decoration: none;
}
.donate-btn:hover {
  background-color: #cc4f4f;
  color: #fff;
}
#site-header {
  position: relative;
  margin: 10px 0;
}
#site-header .header_img {
  max-width: 208px;
  width: 100%;
  height: auto;
}
#main-nav.navbar {
  border-top: 2px solid #aaa;
  border-bottom: 2px solid #aaa;
}
#main-nav.navbar li {
  font-size: 20px;
}
#main-nav.navbar li > a {
  line-height: 52px;
}
#main-nav.navbar .dropdown-menu li > a {
  line-height: 40px;
}
#topics-bar a {
  color: #226f91;
}
/* Base styles for section and widget titles */
.section-title {
  font-size: 32px;
  text-align: left;
  color: #226f91;
  padding-bottom: 0.3em;
  border-bottom: 2px solid #226f91;
}
.text-align-center {
  text-align: center;
}
.cta-button {
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
}
.cta-button a,
.cta-button a:hover {
  color: #fff;
  text-decoration: none;
}
.cta-button:hover {
  background-color: #cc4f4f;
  color: #fff;
}
/**
 * Define the various paddings and heights around the flag
 */
/**
 * Increase the height of the padding on post headlines
 */
body.normal.single-post .post-type-press-releases h1.entry-title,
body.normal.single-post .post-type-sponsored h1.entry-title {
  padding-top: 62px;
  clear: both;
}
@media (max-width: 768px) {
  body.normal.single-post .post-type-press-releases h1.entry-title,
  body.normal.single-post .post-type-sponsored h1.entry-title {
    padding-top: 1.25em;
  }
}
/**
 * A mixin to set up the basic ::before and ::after and background and padding for the Press Releases and Sponsored post types.
 *
 * Doesn't set the background color or the border colors. Does set their widths and padding.
 */
.flag-mixin {
  color: #fff;
  padding: 0.625em;
  position: relative;
  display: inline-block;
  font-weight: bold;
  font-family: "helvetica neue", helvetica, sans-serif;
  letter-spacing: 0.02em;
  box-sizing: border-box;
}
.flag-mixin::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin-right: -1.275em;
  background: transparent;
  border-left-width: 1px;
  border-left-style: solid;
  border-top-width: 1.275em;
  border-top-style: solid ;
  border-right: 1.275em solid transparent;
  border-bottom-width: 1.275em;
  border-bottom-style: solid;
}
/*
 * General post styles
 */
.post-type-press-releases .top-tag span,
.post-type-sponsored .top-tag span {
  z-index: 10;
}
.post-type-press-releases .top-tag a,
.post-type-sponsored .top-tag a {
  color: #fff;
  padding: 0.625em;
  position: relative;
  display: inline-block;
  font-weight: bold;
  font-family: "helvetica neue", helvetica, sans-serif;
  letter-spacing: 0.02em;
  box-sizing: border-box;
  font-size: 20px;
}
.post-type-press-releases .top-tag a::after,
.post-type-sponsored .top-tag a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  margin-right: -1.275em;
  background: transparent;
  border-left-width: 1px;
  border-left-style: solid;
  border-top-width: 1.275em;
  border-top-style: solid ;
  border-right: 1.275em solid transparent;
  border-bottom-width: 1.275em;
  border-bottom-style: solid;
}
/*
 * Specific color styles
 */
.post-type-press-releases .top-tag a {
  background-color: #f0b956;
}
.post-type-press-releases .top-tag a::after {
  border-top-color: #f0b956;
  border-left-color: #f0b956;
  border-bottom-color: #f0b956;
}
.post-type-sponsored .top-tag a {
  background-color: #50c5f7;
}
.post-type-sponsored .top-tag a:after {
  border-top-color: #50c5f7;
  border-left-color: #50c5f7;
  border-bottom-color: #50c5f7;
}
.topstory-below .has-thumbnail.post-type-press-releases .top-tag,
.topstory-below .has-thumbnail.post-type-sponsored .top-tag {
  padding: 0;
}
.topstory-below .has-thumbnail.post-type-press-releases .top-tag a,
.topstory-below .has-thumbnail.post-type-sponsored .top-tag a {
  font-size: 16px;
  color: #ffffff;
}
.topstory-below .has-thumbnail.post-type-press-releases .top-tag a::after,
.topstory-below .has-thumbnail.post-type-sponsored .top-tag a::after {
  z-index: 0;
}
.post-type-press-releases .entry-content h5.top-tag,
.post-type-sponsored .entry-content h5.top-tag {
  display: inline-block;
  clear: both;
  margin-bottom: 1em;
}
.post-type-press-releases .entry-content h5.top-tag a,
.post-type-sponsored .entry-content h5.top-tag a {
  font-size: 16px;
  color: #fff;
}
/**
 * The hierarchical header doesn't display a top term (used in categories), so we fake it with a ::before
 */
.primary-featured-post .post-type-press-releases::before,
.secondary-featured-post .post-type-press-releases::before,
.primary-featured-post .post-type-sponsored::before,
.secondary-featured-post .post-type-sponsored::before {
  height: 40px;
  display: inline-block;
  color: #fff;
  font-weight: bold;
  font-family: "helvetica neue", helvetica, sans-serif;
  letter-spacing: 0.02em;
  background-color: #f0b956;
  padding-bottom: 0;
  padding-top: 0;
  padding-right: 10px;
  padding-left: 10px;
  z-index: 0;
  box-sizing: border-box;
  line-height: 0;
  border-top: 20px solid #f0b956;
  border-bottom: 20px solid #f0b956;
  border-right: 20px solid white;
  margin-bottom: 10px;
}
@media (min-width: 769px) {
  .secondary-featured-post .span8 .post-type-press-releases::before,
  .secondary-featured-post .span8 .post-type-sponsored::before {
    margin-left: 2.12765957%;
  }
}
.primary-featured-post .post-type-sponsored::before,
.secondary-featured-post .post-type-sponsored::before {
  content: "SPONSORED";
  border-top-color: #50c5f7;
  border-bottom-color: #50c5f7;
}
.primary-featured-post .post-type-press-releases::before,
.secondary-featured-post .post-type-press-releases::before {
  content: "PRESS RELEASE";
}
h5.top-tag {
  margin-bottom: 12px;
}
/**
 * Styles for the sponsored content div that can be pasted into the top of stories.
 *
 * .sponcon-sponsor-before-wrapper is for legacy HTML.
 */
.sponcon-sponsor-before-wrapper,
.sponsored-by {
  background-color: #f5f5f5;
  padding: 0.5em 0.75em 0.75em;
  border: 1px solid #e3e3e3;
  margin-bottom: 15px;
  *zoom: 1;
}
.sponcon-sponsor-before-wrapper:before,
.sponsored-by:before,
.sponcon-sponsor-before-wrapper:after,
.sponsored-by:after {
  display: table;
  content: "";
}
.sponcon-sponsor-before-wrapper:after,
.sponsored-by:after {
  clear: both;
}
.sponcon-sponsor-before-wrapper h3,
.sponsored-by h3,
.sponcon-sponsor-before-wrapper p,
.sponsored-by p {
  font-family: "tablet-gothic-condensed", sans-serif;
}
.sponcon-sponsor-before-wrapper h3,
.sponsored-by h3 {
  margin-bottom: 8px;
  font-size: 16px;
}
.sponcon-sponsor-before-wrapper p,
.sponsored-by p {
  margin-top: 1.5em;
  margin-bottom: 0;
  font-size: 18px;
}
.sponcon-sponsor-before-wrapper .align-left,
.sponsored-by .align-left {
  max-width: 50%;
  margin-top: 0;
  margin-bottom: 0;
}
.sponcon-sponsor-before-wrapper .sponcon-sponsor-before-sponsored-by,
.sponsored-by .sponcon-sponsor-before-sponsored-by {
  float: left;
  margin: 6px 20px 12px 0;
}
.sponcon-sponsor-before-wrapper figure,
.sponsored-by figure {
  margin: 0;
}
/**
 * Press release posts menu, inserted into posts
 * 
 * @see rns_press_release_menu
 */
#press-release-menu ul {
  border: 1px solid #999;
  padding-top: 1em;
  padding-right: 1em;
  padding-bottom: 1em;
  padding-left: 2em;
  font-family: "tablet-gothic-condensed", sans-serif;
}
@media (max-width: 1079px) {
  #sidebar #press-release-menu.widget {
    min-width: 100%;
    box-sizing: border-box;
  }
}
@media (min-width: 1080px) {
  #sidebar #press-release-menu.widget {
    width: 300px;
    max-width: 100%;
  }
}
/**
 * Add a margin-bottom to the press release featured image in the main body of the post
 */
@media (max-width: 768px) {
  #feat-img-press-releases {
    margin-bottom: 24px;
  }
}
.single-roundup article header,
.single-roundup .article-bottom,
.single-roundup .entry-content {
  padding: 0 17.021276594%;
}
.single-roundup .entry-content h3 {
  font-size: 32px;
  text-align: left;
  color: #226f91;
  padding-bottom: 0.3em;
  border-bottom: 2px solid #226f91;
  text-transform: uppercase;
}
.single-roundup .entry-content .headline-excerpt h4.top-tag {
  text-transform: uppercase;
  font-family: "tablet-gothic-condensed", sans-serif;
  font-size: 16px;
  font-weight: 400;
  margin-bottom: 2px;
  color: #aaa;
}
.single-roundup .entry-content .headline-excerpt h3 {
  padding: 0;
  border-bottom: none;
  font-size: 24px;
  margin-bottom: 6px;
}
.single-roundup .entry-content .headline-excerpt .article-content {
  margin-bottom: 1.5em;
}
@media only screen and (max-width: 979px) {
  .single-roundup .article-bottom,
  .single-roundup .entry-content {
    padding: 0 6.38297872%;
  }
}
@media only screen and (max-width: 529px) {
  .single-roundup .article-bottom,
  .single-roundup .entry-content {
    padding: 0;
  }
}
body.normal.page .entry-content .entry-content {
  padding: 0 10%;
  margin-top: 24px;
}
.columns-header + header {
  margin-top: 2em;
}
body.tax-columns #main .hero.is-image img,
body.single-format-standard #main .hero.is-image img {
  border: none;
}
.entry-content .tax-term-listing img.thumb {
  max-width: 80px;
}
.entry-content .tax-term-listing h3 {
  font-size: 32px;
  margin-bottom: 8px;
}
.entry-content .tax-term-listing h3.widgettitle {
  border-bottom: 1px solid #aaa;
}
.entry-content .tax-term-listing h3.widgettitle a {
  color: #333;
}
.entry-content .tax-term-listing h3.entry-title {
  font-size: 24px;
  margin-bottom: 0;
}
.entry-content .tax-term-listing h5.byline {
  margin-bottom: 8px;
  margin-top: 8px;
  font-size: 15px;
}
.entry-content .tax-term-listing p {
  font-size: 18px;
  margin-bottom: 8px;
}
.entry-content .tax-term-listing p.recent {
  font-size: 15px;
}
.entry-content .tax-term-listing p.recent span {
  font-size: 11px;
  font-style: italic;
}
.entry-content .tax-term-listing article {
  margin-bottom: 8px;
}
.entry-content .tax-term-listing .item {
  margin-top: 36px;
  margin-bottom: 36px;
}
.entry-content .tax-term-listing .item::after {
  content: "";
  visibility: hidden;
  display: block;
  height: 0;
  clear: both;
  opacity: 0;
}
.gform_button {
  padding: 12px;
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
}
.gform_button a,
.gform_button a:hover {
  color: #fff;
  text-decoration: none;
}
.gform_button:hover {
  background-color: #cc4f4f;
  color: #fff;
}
.ui-datepicker {
  width: 260px;
}
.ui-datepicker td a {
  width: 36px;
}
.ui-datepicker-header {
  padding: 10px 20px 20px;
}
.gform_wrapper .gfield_checkbox li label {
  display: block;
  margin-bottom: 5px;
  font-size: 16px;
  float: left;
  padding-left: 3%;
  position: relative;
}
.gform_wrapper .gfield_checkbox li input[type='checkbox'] {
  position: absolute;
  left: 0;
}
.gform_wrapper input[type=text] {
  margin-bottom: 0;
}
.gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label {
  margin-bottom: 24px;
}
.gform_wrapper.gf_browser_chrome .ginput_complex .ginput_right select,
.gform_wrapper.gf_browser_chrome .ginput_complex select {
  height: 41px;
  margin-bottom: 0 !important;
}
#gform_wrapper_17 ul.gfield_radio li {
  display: inline;
  margin-right: 20px;
}
#gform_wrapper_17 ul.gfield_radio li input {
  display: none;
}
#gform_wrapper_17 ul.gfield_radio li label {
  padding: 12px 24px;
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 18px;
}
#gform_wrapper_17 ul.gfield_radio li label a,
#gform_wrapper_17 ul.gfield_radio li label a:hover {
  color: #fff;
  text-decoration: none;
}
#gform_wrapper_17 ul.gfield_radio li label:hover {
  background-color: #cc4f4f;
  color: #fff;
}
#gform_wrapper_17 ul.gfield_radio li input[type=radio]:checked + label {
  background-color: #7d8185;
  font-weight: 500;
}
#gform_wrapper_24 .gfield_description {
  padding-top: 8px;
}
#gform_wrapper_24 .gform_next_button,
#gform_wrapper_24 .gform_previous_button {
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
  padding: 12px 24px;
}
#gform_wrapper_24 .gform_next_button a,
#gform_wrapper_24 .gform_previous_button a,
#gform_wrapper_24 .gform_next_button a:hover,
#gform_wrapper_24 .gform_previous_button a:hover {
  color: #fff;
  text-decoration: none;
}
#gform_wrapper_24 .gform_next_button:hover,
#gform_wrapper_24 .gform_previous_button:hover {
  background-color: #cc4f4f;
  color: #fff;
}
#gform_wrapper_24 .gform_previous_button {
  background-color: #7d8185;
  margin-top: 8px;
}
/**
 * Styles for the searchwp shortcode, when used with the 'photo' engine
 */
.searchwp-shortcode-results.photo .span3 {
  margin-bottom: 1em;
}
.searchwp-shortcode-results.photo .span3 .btn,
.searchwp-shortcode-results.photo .span3 .size,
.searchwp-shortcode-results.photo .span3 .wp-caption-text p {
  font-size: 14px;
  margin-bottom: 0.5em;
  font-family: "tablet-gothic-condensed", sans-serif;
}
@media (min-width: 769px) {
  .searchwp-shortcode-results.photo .span3:nth-child(4n+1) {
    clear: left;
    margin-left: 0;
  }
}
@media (min-width: 420px) and (max-width: 768px) {
  .searchwp-shortcode-results.photo .span3 {
    width: 48.93617021%;
    margin-left: 2.12765957%;
  }
  .searchwp-shortcode-results.photo .span3:nth-child(2n+1) {
    clear: left;
    margin-left: 0;
  }
}
@media (max-width: 419px) {
  .searchwp-shortcode-results.photo .span3 {
    width: 100%;
    margin-left: 0;
    clear: both;
  }
}
.searchwp-shortcode-results.photo .date-link {
  display: none;
}
/**
 * The advanced photo search button
 */
#advanced-search {
  margin-bottom: 0.5em;
  text-align: right;
}
/**
 * Styles for the 'download' post type registered by Easy Digital Downloads
 */
/**
 * Styles for single-download.php and partials/content-download.php
 */
.type-download h1.entry-title {
  font-size: 28px;
}
.type-download .download-contents-title {
  margin-top: 1em;
  margin-bottom: 12px;
}
.type-download .download-contents li {
  list-style-type: none;
}
.type-download .download-contents .size {
  display: inline-block;
  font-family: "tablet-gothic-condensed", sans-serif;
  padding: 0 2px;
  margin-left: 0.5em;
  font-size: 0.8em;
  outline: 1px solid #b43434;
}
@media only screen and (min-width: 768px) {
  .type-download .entry-content {
    padding: 0 17.021276594%;
  }
  .type-download > header {
    clear: both;
    margin: 24px 17.0213%;
    position: relative;
  }
}
.edd-add-to-cart.button.blue {
  background-color: #b43434;
  border-radius: 3px;
  border: none;
  color: #fff;
  font-family: "tablet-gothic-condensed", sans-serif;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 1.3em;
}
.edd-add-to-cart.button.blue a,
.edd-add-to-cart.button.blue a:hover {
  color: #fff;
  text-decoration: none;
}
.edd-add-to-cart.button.blue:hover {
  background-color: #cc4f4f;
  color: #fff;
}
/* General Styles */
body p {
  color: #151719;
}
.textwidget {
  font-family: "leitura-news", Georgia, serif;
  font-size: 16px;
}
.btn {
  text-transform: uppercase;
}
.btn.btn-primary {
  background-color: #226f91;
  color: #ffffff;
  border: none;
}
.btn.btn-primary:hover {
  background-color: #1d5f7c;
}
#main img {
  border: 1px solid #eee;
}
#nav-below,
.morelink,
#nav-below.pager {
  text-align: center;
  display: block;
  clear: both;
  margin: 24px 0;
  font-family: "tablet-gothic-condensed", sans-serif;
  font-weight: 300;
}
#nav-below a,
.morelink a,
#nav-below.pager a {
  padding: 12px 24px;
  font-size: 20px;
  color: #fff;
  background-color: #226f91;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
#nav-below a:hover,
.morelink a:hover,
#nav-below.pager a:hover {
  background-color: #aaa;
  color: #fff;
  text-decoration: none;
}
#nav-below.pager a,
#nav-below .morelink a {
  padding: 24px 48px;
}
.page-template-page-clean header.text-align-center {
  margin-top: 10px;
}
body.normal.page-template-page-clean article.page > header.entry-header {
  margin: 24px 0;
}
/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL2xhcmdvL2xlc3MvaW5jL21peGlucy5sZXNzIiwiLi4vbGFyZ28vbGVzcy9pbmMvbmF2YmFyLWNvbW1vbi5sZXNzIiwiLi4vbGFyZ28vbGVzcy9pbmMvdmFyaWFibGVzLmxlc3MiLCIuLi9sYXJnby9sZXNzL2luYy9uYXZiYXItc3RpY2t5Lmxlc3MiLCIuLi9sYXJnby9sZXNzL2luYy9mb290ZXIubGVzcyIsImxlc3Mvc2luZ2xlLmxlc3MiLCJsZXNzL3ZhcnMubGVzcyIsImxlc3MvX3R5cG9ncmFwaHkubGVzcyIsImxlc3MvX3dpZGdldHMubGVzcyIsImxlc3MvX21peGlucy5sZXNzIiwibGVzcy9faGVhZGVyLmxlc3MiLCJsZXNzL3Nwb25zb3JlZC5sZXNzIiwibGVzcy9zbGluZ3Nob3RzLmxlc3MiLCJsZXNzL2NvbHVtbnMubGVzcyIsImxlc3MvdGF4Lmxlc3MiLCJsZXNzL2Zvcm1zLmxlc3MiLCJsZXNzL3NlYXJjaC5sZXNzIiwibGVzcy9kb3dubG9hZHMubGVzcyIsImxlc3Mvc3R5bGUubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVVBO0VBQ0UsUUFBQTs7QUFDQSxTQUFDO0FBQ0QsU0FBQztFQUNDLGNBQUE7RUFDQSxTQUFTLEVBQVQ7O0FBRUYsU0FBQztFQUNDLFdBQUE7O0FBT0o7RUFDRSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsTUFBTSxhQUFOO0VBQ0EsV0FBQTtFQUFhLFVBQUE7RUFDYixZQUFBO0VBQWMsVUFBQTtFQUFZLFNBQUE7O0FBTTVCO0VBQ0UsV0FBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSw2QkFBQTtFQUNBLFNBQUE7O0FBSUY7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBO0VBd1BBLDhCQUFBO0VBQ0csMkJBQUE7RUFDQywwQkFBQTtF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LFVBU0U7QUFSRixTQVFFO0FBUEYsVUFBVSxNQU9SO0VBQ0Usa0JBQUE7RUFDQSxlQUFBO0VBQ0EsV0FBQTtFQUNBLHlCQUFBO0VsQnNJRiwwQkFBQTtFQUNHLHVCQUFBO0VBQ0ssa0JBQUE7O0FrQnRJTixVQU5GLEVBTUc7QUFBRCxTQU5GLEVBTUc7QUFBRCxVQWJNLE1BT1IsRUFNRztFQUNGLHNCQUFBO0VBQ0EsV0FBQTtFQUNBLHFCQUFBOztBQUlILFVBQVUsTUFBTztBQUNqQixVQUFXLFVBQVU7RUFDbkIsa0JBQUE7O0FBR0YseUJBQTBCLE9BQU07RUFDOUIsZ0JBQUE7O0FBRUYsSUFBSSxPQUFPLHlCQUEwQixRQUFPLEtBQU0sU0FBUTtFQUN4RCxjQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gTWl4aW5zLmxlc3Ncbi8vIFNuaXBwZXRzIG9mIHJldXNhYmxlIENTUyB0byBkZXZlbG9wIGZhc3RlciBhbmQga2VlcCBjb2RlIHJlYWRhYmxlXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVVElMSVRZIE1JWElOU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ2xlYXJmaXhcbi8vIC0tLS0tLS0tXG4vLyBGb3IgY2xlYXJpbmcgZmxvYXRzIGxpa2UgYSBib3NzIGg1YnAuY29tL3Fcbi5jbGVhcmZpeCB7XG4gICp6b29tOiAxO1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhpZGUgYW4gaXRlbSB2aXN1YWxseSBvbmx5XG4udmlzdWFsbHloaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4OyB3aWR0aDogMXB4O1xuICBtYXJnaW46IC0xcHg7IHBhZGRpbmc6IDA7IGJvcmRlcjogMDtcbn1cblxuLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcbi5oaWRlLXRleHQge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gQmxvY2sgbGV2ZWwgZm9ybSBpbnB1dHNcbi5pbnB1dC1ibG9jay1sZXZlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMjhweDsgICAgICAgIC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0XG4gIC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpOyAvLyBNYWtlcyBpbnB1dHMgYmVoYXZlIGxpa2UgdHJ1ZSBibG9jay1sZXZlbCBlbGVtZW50c1xufVxuXG4vLyBXZWJraXQtc3R5bGUgZm9jdXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuLnRhYi1mb2N1cygpIHtcbiAgLy8gRGVmYXVsdFxuICBvdXRsaW5lOiB0aGluIGRvdHRlZCAjMzMzO1xuICAvLyBXZWJraXRcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vIElFNyBpbmxpbmUtYmxvY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi5pZTctaW5saW5lLWJsb2NrKCkge1xuICAqZGlzcGxheTogaW5saW5lOyAvKiBJRTcgaW5saW5lLWJsb2NrIGhhY2sgKi9cbiAgKnpvb206IDE7XG59XG5cbi8vIElFNyBsaWtlcyB0byBjb2xsYXBzZSB3aGl0ZXNwYWNlIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBpbmxpbmUtYmxvY2sgZWxlbWVudHMuXG4vLyBFbXMgYmVjYXVzZSB3ZSdyZSBhdHRlbXB0aW5nIHRvIG1hdGNoIHRoZSB3aWR0aCBvZiBhIHNwYWNlIGNoYXJhY3Rlci4gTGVmdFxuLy8gdmVyc2lvbiBpcyBmb3IgZm9ybSBidXR0b25zLCB3aGljaCB0eXBpY2FsbHkgY29tZSBhZnRlciBvdGhlciBlbGVtZW50cywgYW5kXG4vLyByaWdodCB2ZXJzaW9uIGlzIGZvciBpY29ucywgd2hpY2ggY29tZSBiZWZvcmUuIEFwcGx5aW5nIGJvdGggaXMgb2ssIGJ1dCBpdCB3aWxsXG4vLyBtZWFuIHRoYXQgc3BhY2UgYmV0d2VlbiB0aG9zZSBlbGVtZW50cyB3aWxsIGJlIC42ZW0gKH4yIHNwYWNlIGNoYXJhY3RlcnMpIGluIElFNyxcbi8vIGluc3RlYWQgb2YgdGhlIDEgc3BhY2UgaW4gb3RoZXIgYnJvd3NlcnMuXG4uaWU3LXJlc3RvcmUtbGVmdC13aGl0ZXNwYWNlKCkge1xuICAqbWFyZ2luLWxlZnQ6IC4zZW07XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgKm1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5pZTctcmVzdG9yZS1yaWdodC13aGl0ZXNwYWNlKCkge1xuICAqbWFyZ2luLXJpZ2h0OiAuM2VtO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgKm1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi8vIFNpemluZyBzaG9ydGN1dHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zaXplKEBoZWlnaHQsIEB3aWR0aCkge1xuICB3aWR0aDogQHdpZHRoO1xuICBoZWlnaHQ6IEBoZWlnaHQ7XG59XG4uc3F1YXJlKEBzaXplKSB7XG4gIC5zaXplKEBzaXplLCBAc2l6ZSk7XG59XG5cbi8vIFBsYWNlaG9sZGVyIHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wbGFjZWhvbGRlcihAY29sb3I6IEBwbGFjZWhvbGRlclRleHQpIHtcbiAgJjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICB9XG4gICY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICB9XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBAY29sb3I7XG4gIH1cbn1cblxuLy8gVGV4dCBvdmVyZmxvd1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuLnRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5cbi8vIEZPTlRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4jZm9udCB7XG4gICNmYW1pbHkge1xuICAgIC5zZXJpZigpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBAc2VyaWZGb250RmFtaWx5O1xuICAgIH1cbiAgICAuc2Fucy1zZXJpZigpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBAc2Fuc0ZvbnRGYW1pbHk7XG4gICAgfVxuICAgIC5tb25vc3BhY2UoKSB7XG4gICAgICBmb250LWZhbWlseTogQG1vbm9Gb250RmFtaWx5O1xuICAgIH1cbiAgfVxuICAuc2hvcnRoYW5kKEBzaXplOiBAYmFzZUZvbnRTaXplLCBAd2VpZ2h0OiBub3JtYWwsIEBsaW5lSGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQpIHtcbiAgICBmb250LXNpemU6IEBzaXplO1xuICAgIGZvbnQtd2VpZ2h0OiBAd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZUhlaWdodDtcbiAgfVxuICAuc2VyaWYoQHNpemU6IEBiYXNlRm9udFNpemUsIEB3ZWlnaHQ6IG5vcm1hbCwgQGxpbmVIZWlnaHQ6IEBiYXNlTGluZUhlaWdodCkge1xuICAgICNmb250ID4gI2ZhbWlseSA+IC5zZXJpZjtcbiAgICAjZm9udCA+IC5zaG9ydGhhbmQoQHNpemUsIEB3ZWlnaHQsIEBsaW5lSGVpZ2h0KTtcbiAgfVxuICAuc2Fucy1zZXJpZihAc2l6ZTogQGJhc2VGb250U2l6ZSwgQHdlaWdodDogbm9ybWFsLCBAbGluZUhlaWdodDogQGJhc2VMaW5lSGVpZ2h0KSB7XG4gICAgI2ZvbnQgPiAjZmFtaWx5ID4gLnNhbnMtc2VyaWY7XG4gICAgI2ZvbnQgPiAuc2hvcnRoYW5kKEBzaXplLCBAd2VpZ2h0LCBAbGluZUhlaWdodCk7XG4gIH1cbiAgLm1vbm9zcGFjZShAc2l6ZTogQGJhc2VGb250U2l6ZSwgQHdlaWdodDogbm9ybWFsLCBAbGluZUhlaWdodDogQGJhc2VMaW5lSGVpZ2h0KSB7XG4gICAgI2ZvbnQgPiAjZmFtaWx5ID4gLm1vbm9zcGFjZTtcbiAgICAjZm9udCA+IC5zaG9ydGhhbmQoQHNpemUsIEB3ZWlnaHQsIEBsaW5lSGVpZ2h0KTtcbiAgfVxufVxuXG5cbi8vIEZPUk1TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNaXhpbiBmb3IgZm9ybSBmaWVsZCBzdGF0ZXNcbi5mb3JtRmllbGRTdGF0ZShAdGV4dENvbG9yOiAjNTU1LCBAYm9yZGVyQ29sb3I6ICNjY2MsIEBiYWNrZ3JvdW5kQ29sb3I6ICNmNWY1ZjUpIHtcbiAgLy8gU2V0IHRoZSB0ZXh0IGNvbG9yXG4gID4gbGFiZWwsXG4gIC5oZWxwLWJsb2NrLFxuICAuaGVscC1pbmxpbmUge1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICB9XG4gIC8vIFN0eWxlIGlucHV0cyBhY2NvcmRpbmdseVxuICAuY2hlY2tib3gsXG4gIC5yYWRpbyxcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQGJvcmRlckNvbG9yO1xuICAgICY6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlckNvbG9yLCAxMCUpO1xuICAgICAgLmJveC1zaGFkb3coMCAwIDZweCBsaWdodGVuKEBib3JkZXJDb2xvciwgMjAlKSk7XG4gICAgfVxuICB9XG4gIC8vIEdpdmUgYSBzbWFsbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBpbnB1dC1wcmVwZW5kLy1hcHBlbmRcbiAgLmlucHV0LXByZXBlbmQgLmFkZC1vbixcbiAgLmlucHV0LWFwcGVuZCAuYWRkLW9uIHtcbiAgICBjb2xvcjogQHRleHRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZENvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogQHRleHRDb2xvcjtcbiAgfVxufVxuXG5cblxuLy8gQ1NTMyBQUk9QRVJUSUVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBCb3JkZXIgUmFkaXVzXG4uYm9yZGVyLXJhZGl1cyhAcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbiAgICAgLW1vei1ib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG59XG5cbi8vIERyb3Agc2hhZG93c1xuLmJveC1zaGFkb3coQHNoYWRvdykge1xuICAtd2Via2l0LWJveC1zaGFkb3c6IEBzaGFkb3c7XG4gICAgIC1tb3otYm94LXNoYWRvdzogQHNoYWRvdztcbiAgICAgICAgICBib3gtc2hhZG93OiBAc2hhZG93O1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLnRyYW5zaXRpb24oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgIC1tcy10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG4ucm90YXRlKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbn1cbi5zY2FsZShAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xufVxuLnRyYW5zbGF0ZShAeCwgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG59XG4uc2tldyhAeCwgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgICAtby10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbn1cbi50cmFuc2xhdGUzZChAeCwgQHksIEB6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5LCBAeik7XG4gICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5LCBAeik7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5LCBAeik7XG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5LCBAeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5LCBAeik7XG59XG5cbi8vIEJhY2tmYWNlIHZpc2liaWxpdHlcbi8vIFByZXZlbnQgYnJvd3NlcnMgZnJvbSBmbGlja2VyaW5nIHdoZW4gdXNpbmcgQ1NTIDNEIHRyYW5zZm9ybXMuXG4vLyBEZWZhdWx0IHZhbHVlIGlzIGB2aXNpYmxlYCwgYnV0IGNhbiBiZSBjaGFuZ2VkIHRvIGBoaWRkZW5cbi8vIFNlZSBnaXQgcHVsbCBodHRwczovL2dpdGh1Yi5jb20vZGFubnlrZWFuZS9ib290c3RyYXAuZ2l0IGJhY2tmYWNlLXZpc2liaWxpdHkgZm9yIGV4YW1wbGVzXG4uYmFja2ZhY2UtdmlzaWJpbGl0eShAdmlzaWJpbGl0eSl7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgICAtbXMtYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogQHZpc2liaWxpdHk7XG59XG5cbi8vIEJhY2tncm91bmQgY2xpcHBpbmdcbi8vIEhlYWRzIHVwOiBGRiAzLjYgYW5kIHVuZGVyIG5lZWQgXCJwYWRkaW5nXCIgaW5zdGVhZCBvZiBcInBhZGRpbmctYm94XCJcbi5iYWNrZ3JvdW5kLWNsaXAoQGNsaXApIHtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IEBjbGlwO1xuICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogQGNsaXA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBAY2xpcDtcbn1cblxuLy8gQmFja2dyb3VuZCBzaXppbmdcbi5iYWNrZ3JvdW5kLXNpemUoQHNpemUpe1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogQHNpemU7XG4gICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcbiAgICAgICAtby1iYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogQHNpemU7XG59XG5cblxuLy8gQm94IHNpemluZ1xuLmJveC1zaXppbmcoQGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgIC1tcy1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XG4gICAgICAgICAgYm94LXNpemluZzogQGJveG1vZGVsO1xufVxuXG4vLyBVc2VyIHNlbGVjdFxuLy8gRm9yIHNlbGVjdGluZyB0ZXh0IG9uIHRoZSBwYWdlXG4udXNlci1zZWxlY3QoQHNlbGVjdCkge1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAtbW96LXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgLW1zLXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgIC1vLXVzZXItc2VsZWN0OiBAc2VsZWN0O1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBAc2VsZWN0O1xufVxuXG4vLyBSZXNpemUgYW55dGhpbmdcbi5yZXNpemFibGUoQGRpcmVjdGlvbikge1xuICByZXNpemU6IEBkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG4gIG92ZXJmbG93OiBhdXRvOyAvLyBTYWZhcmkgZml4XG59XG5cbi8vIENTUzMgQ29udGVudCBDb2x1bW5zXG4uY29udGVudC1jb2x1bW5zKEBjb2x1bW5Db3VudCwgQGNvbHVtbkdhcDogQGdyaWRHdXR0ZXJXaWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogQGNvbHVtbkNvdW50O1xuICAgICAtbW96LWNvbHVtbi1jb3VudDogQGNvbHVtbkNvdW50O1xuICAgICAgICAgIGNvbHVtbi1jb3VudDogQGNvbHVtbkNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6IEBjb2x1bW5HYXA7XG4gICAgIC1tb3otY29sdW1uLWdhcDogQGNvbHVtbkdhcDtcbiAgICAgICAgICBjb2x1bW4tZ2FwOiBAY29sdW1uR2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuLmh5cGhlbnMoQG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IEBtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6IEBtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6IEBtb2RlO1xuICAgICAgIC1vLWh5cGhlbnM6IEBtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6IEBtb2RlO1xufVxuXG4vLyBPcGFjaXR5XG4ub3BhY2l0eShAb3BhY2l0eSkge1xuICBvcGFjaXR5OiBAb3BhY2l0eSAvIDEwMDtcbiAgZmlsdGVyOiB+XCJhbHBoYShvcGFjaXR5PUB7b3BhY2l0eX0pXCI7XG59XG5cblxuXG4vLyBCQUNLR1JPVU5EU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQWRkIGFuIGFscGhhdHJhbnNwYXJlbmN5IHZhbHVlIHRvIGFueSBiYWNrZ3JvdW5kIG9yIGJvcmRlciBjb2xvciAodmlhIEVseXNlIEhvbGxhZGF5KVxuI3RyYW5zbHVjZW50IHtcbiAgLmJhY2tncm91bmQoQGNvbG9yOiBAd2hpdGUsIEBhbHBoYTogMSkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGhzbGEoaHVlKEBjb2xvciksIHNhdHVyYXRpb24oQGNvbG9yKSwgbGlnaHRuZXNzKEBjb2xvciksIEBhbHBoYSk7XG4gIH1cbiAgLmJvcmRlcihAY29sb3I6IEB3aGl0ZSwgQGFscGhhOiAxKSB7XG4gICAgYm9yZGVyLWNvbG9yOiBoc2xhKGh1ZShAY29sb3IpLCBzYXR1cmF0aW9uKEBjb2xvciksIGxpZ2h0bmVzcyhAY29sb3IpLCBAYWxwaGEpO1xuICAgIC5iYWNrZ3JvdW5kLWNsaXAocGFkZGluZy1ib3gpO1xuICB9XG59XG5cbi8vIEdyYWRpZW50IEJhciBDb2xvcnMgZm9yIGJ1dHRvbnMgYW5kIGFsZXJ0c1xuLmdyYWRpZW50QmFyKEBwcmltYXJ5Q29sb3IsIEBzZWNvbmRhcnlDb2xvcikge1xuICAjZ3JhZGllbnQgPiAudmVydGljYWwoQHByaW1hcnlDb2xvciwgQHNlY29uZGFyeUNvbG9yKTtcbiAgYm9yZGVyLWNvbG9yOiBAc2Vjb25kYXJ5Q29sb3IgQHNlY29uZGFyeUNvbG9yIGRhcmtlbihAc2Vjb25kYXJ5Q29sb3IsIDE1JSk7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLDAsMCwuMSkgcmdiYSgwLDAsMCwuMSkgZmFkZWluKHJnYmEoMCwwLDAsLjEpLCAxNSUpO1xufVxuXG4vLyBHcmFkaWVudHNcbiNncmFkaWVudCB7XG4gIC5ob3Jpem9udGFsKEBzdGFydENvbG9yOiAjNTU1LCBAZW5kQ29sb3I6ICMzMzMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIEZGIDMuNitcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBJRTEwXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMTAwJSAwLCBmcm9tKEBzdGFydENvbG9yKSwgdG8oQGVuZENvbG9yKSk7IC8vIFNhZmFyaSA0KywgQ2hyb21lIDIrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gTGUgc3RhbmRhcmRcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIixAc3RhcnRDb2xvcixAZW5kQ29sb3IpKTsgLy8gSUU5IGFuZCBkb3duXG4gIH1cbiAgLnZlcnRpY2FsKEBzdGFydENvbG9yOiAjNTU1LCBAZW5kQ29sb3I6ICMzMzMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoQHN0YXJ0Q29sb3IsIEBlbmRDb2xvciwgNjAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBGRiAzLjYrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBJRTEwXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKEBzdGFydENvbG9yKSwgdG8oQGVuZENvbG9yKSk7IC8vIFNhZmFyaSA0KywgQ2hyb21lIDIrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gU2FmYXJpIDUuMSssIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gT3BlcmEgMTEuMTBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gVGhlIHN0YW5kYXJkXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsQHN0YXJ0Q29sb3IsQGVuZENvbG9yKSk7IC8vIElFOSBhbmQgZG93blxuICB9XG4gIC5kaXJlY3Rpb25hbChAc3RhcnRDb2xvcjogIzU1NSwgQGVuZENvbG9yOiAjMzMzLCBAZGVnOiA0NWRlZykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBlbmRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIEZGIDMuNitcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBJRTEwXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gVGhlIHN0YW5kYXJkXG4gIH1cbiAgLnZlcnRpY2FsLXRocmVlLWNvbG9ycyhAc3RhcnRDb2xvcjogIzAwYjNlZSwgQG1pZENvbG9yOiAjN2E0M2I2LCBAY29sb3JTdG9wOiA1MCUsIEBlbmRDb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peChAbWlkQ29sb3IsIEBlbmRDb2xvciwgODAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oQHN0YXJ0Q29sb3IpLCBjb2xvci1zdG9wKEBjb2xvclN0b3AsIEBtaWRDb2xvciksIHRvKEBlbmRDb2xvcikpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciBAY29sb3JTdG9wLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLEBzdGFydENvbG9yLEBlbmRDb2xvcikpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICB9XG4gIC5yYWRpYWwoQGlubmVyQ29sb3I6ICM1NTUsIEBvdXRlckNvbG9yOiAjMzMzKSAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBvdXRlckNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQocmFkaWFsLCBjZW50ZXIgY2VudGVyLCAwLCBjZW50ZXIgY2VudGVyLCA0NjAsIGZyb20oQGlubmVyQ29sb3IpLCB0byhAb3V0ZXJDb2xvcikpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyQ29sb3IsIEBvdXRlckNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lckNvbG9yLCBAb3V0ZXJDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1zLXJhZGlhbC1ncmFkaWVudChjaXJjbGUsIEBpbm5lckNvbG9yLCBAb3V0ZXJDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyQ29sb3IsIEBvdXRlckNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICB9XG4gIC5zdHJpcGVkKEBjb2xvciwgQGFuZ2xlOiAtNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMTAwJSwgMTAwJSAwLCBjb2xvci1zdG9wKC4yNSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpKSwgY29sb3Itc3RvcCguMjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNSwgdHJhbnNwYXJlbnQpLCBjb2xvci1zdG9wKC41LCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkpLCBjb2xvci1zdG9wKC43NSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpKSwgY29sb3Itc3RvcCguNzUsIHRyYW5zcGFyZW50KSwgdG8odHJhbnNwYXJlbnQpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gIH1cbn1cbi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4ucmVzZXQtZmlsdGVyKCkge1xuICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpXCIpKTtcbn1cblxuXG5cbi8vIENPTVBPTkVOVCBNSVhJTlNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJ1dHRvbiBiYWNrZ3JvdW5kc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4uYnV0dG9uQmFja2dyb3VuZChAc3RhcnRDb2xvciwgQGVuZENvbG9yKSB7XG4gIC8vIGdyYWRpZW50QmFyIHdpbGwgc2V0IHRoZSBiYWNrZ3JvdW5kIHRvIGEgcGxlYXNpbmcgYmxlbmQgb2YgdGhlc2UsIHRvIHN1cHBvcnQgSUU8PTlcbiAgLmdyYWRpZW50QmFyKEBzdGFydENvbG9yLCBAZW5kQ29sb3IpO1xuICAqYmFja2dyb3VuZC1jb2xvcjogQGVuZENvbG9yOyAvKiBEYXJrZW4gSUU3IGJ1dHRvbnMgYnkgZGVmYXVsdCBzbyB0aGV5IHN0YW5kIG91dCBtb3JlIGdpdmVuIHRoZXkgd29uJ3QgaGF2ZSBib3JkZXJzICovXG4gIC5yZXNldC1maWx0ZXIoKTtcblxuICAvLyBpbiB0aGVzZSBjYXNlcyB0aGUgZ3JhZGllbnQgd29uJ3QgY292ZXIgdGhlIGJhY2tncm91bmQsIHNvIHdlIG92ZXJyaWRlXG4gICY6aG92ZXIsICY6YWN0aXZlLCAmLmFjdGl2ZSwgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBlbmRDb2xvcjtcbiAgICAqYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBlbmRDb2xvciwgNSUpO1xuICB9XG5cbiAgLy8gSUUgNyArIDggY2FuJ3QgaGFuZGxlIGJveC1zaGFkb3cgdG8gc2hvdyBhY3RpdmUsIHNvIHdlIGRhcmtlbiBhIGJpdCBvdXJzZWx2ZXNcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGVuZENvbG9yLCAxMCUpIGUoXCJcXDlcIik7XG4gIH1cbn1cblxuLy8gTmF2YmFyIHZlcnRpY2FsIGFsaWduXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyVmVydGljYWxBbGlnbigzMHB4KTtgIHRvIGNhbGN1bGF0ZSB0aGUgYXBwcm9wcmlhdGUgdG9wIG1hcmdpbi5cbi5uYXZiYXJWZXJ0aWNhbEFsaWduKEBlbGVtZW50SGVpZ2h0KSB7XG4gIG1hcmdpbi10b3A6IChAbmF2YmFySGVpZ2h0IC0gQGVsZW1lbnRIZWlnaHQpIC8gMjtcbn1cblxuLy8gUG9wb3ZlciBhcnJvd3Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZvciB0aXBzaWVzIGFuZCBwb3BvdmVyc1xuI3BvcG92ZXJBcnJvdyB7XG4gIC50b3AoQGFycm93V2lkdGg6IDVweCwgQGNvbG9yOiBAYmxhY2spIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtQGFycm93V2lkdGg7XG4gICAgYm9yZGVyLWxlZnQ6IEBhcnJvd1dpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogQGFycm93V2lkdGggc29saWQgQGNvbG9yO1xuICB9XG4gIC5sZWZ0KEBhcnJvd1dpZHRoOiA1cHgsIEBjb2xvcjogQGJsYWNrKSB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogLUBhcnJvd1dpZHRoO1xuICAgIGJvcmRlci10b3A6IEBhcnJvd1dpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IEBhcnJvd1dpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiBAYXJyb3dXaWR0aCBzb2xpZCBAY29sb3I7XG4gIH1cbiAgLmJvdHRvbShAYXJyb3dXaWR0aDogNXB4LCBAY29sb3I6IEBibGFjaykge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC1AYXJyb3dXaWR0aDtcbiAgICBib3JkZXItbGVmdDogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiBAYXJyb3dXaWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiBAYXJyb3dXaWR0aCBzb2xpZCBAY29sb3I7XG4gIH1cbiAgLnJpZ2h0KEBhcnJvd1dpZHRoOiA1cHgsIEBjb2xvcjogQGJsYWNrKSB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtQGFycm93V2lkdGg7XG4gICAgYm9yZGVyLXRvcDogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogQGFycm93V2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiBAYXJyb3dXaWR0aCBzb2xpZCBAY29sb3I7XG4gIH1cbn1cblxuLy8gR3JpZCBTeXN0ZW1cbi8vIC0tLS0tLS0tLS0tXG5cbi8vIENlbnRlcmVkIGNvbnRhaW5lciBlbGVtZW50XG4uY29udGFpbmVyLWZpeGVkKCkge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAuY2xlYXJmaXgoKTtcbn1cblxuLy8gVGFibGUgY29sdW1uc1xuLnRhYmxlQ29sdW1ucyhAY29sdW1uU3BhbjogMSkge1xuICBmbG9hdDogbm9uZTsgLy8gdW5kbyBkZWZhdWx0IGdyaWQgY29sdW1uIHN0eWxlc1xuICB3aWR0aDogKChAZmx1aWRHcmlkQ29sdW1uV2lkdGgpICogQGNvbHVtblNwYW4pICsgKEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1uU3BhbiAtIDEpKSAtIDE2OyAvLyAxNiBpcyB0b3RhbCBwYWRkaW5nIG9uIGxlZnQgYW5kIHJpZ2h0IG9mIHRhYmxlIGNlbGxzXG4gIG1hcmdpbi1sZWZ0OiAwOyAvLyB1bmRvIGRlZmF1bHQgZ3JpZCBjb2x1bW4gc3R5bGVzXG59XG5cbi8vIE1ha2UgYSBHcmlkXG4vLyBVc2UgLm1ha2VSb3cgYW5kIC5tYWtlQ29sdW1uIHRvIGFzc2lnbiBzZW1hbnRpYyBsYXlvdXRzIGdyaWQgc3lzdGVtIGJlaGF2aW9yXG4ubWFrZVJvdygpIHtcbiAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGggKiAtMTtcbiAgLmNsZWFyZml4KCk7XG59XG4ubWFrZUNvbHVtbihAY29sdW1uczogMSwgQG9mZnNldDogMCkge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IChAZ3JpZENvbHVtbldpZHRoICogQG9mZnNldCkgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAb2Zmc2V0IC0gMSkpICsgKEBncmlkR3V0dGVyV2lkdGggKiAyKTtcbiAgd2lkdGg6IChAZ3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSk7XG59XG5cbi8vIFRoZSBHcmlkXG4jZ3JpZCB7XG5cbiAgLmNvcmUgKEBncmlkQ29sdW1uV2lkdGgsIEBncmlkR3V0dGVyV2lkdGgpIHtcblxuICAgIC5zcGFuWCAoQGluZGV4KSB3aGVuIChAaW5kZXggPiAwKSB7XG4gICAgICAuc3BhbkB7aW5kZXh9IHsgLnNwYW4oQGluZGV4KTsgfVxuICAgICAgLnNwYW5YKEBpbmRleCAtIDEpO1xuICAgIH1cbiAgICAuc3BhblggKDApIHt9XG5cbiAgICAub2Zmc2V0WCAoQGluZGV4KSB3aGVuIChAaW5kZXggPiAwKSB7XG4gICAgICAub2Zmc2V0QHtpbmRleH0geyAub2Zmc2V0KEBpbmRleCk7IH1cbiAgICAgIC5vZmZzZXRYKEBpbmRleCAtIDEpO1xuICAgIH1cbiAgICAub2Zmc2V0WCAoMCkge31cblxuICAgIC5vZmZzZXQgKEBjb2x1bW5zKSB7XG4gICAgICBtYXJnaW4tbGVmdDogKEBncmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyArIDEpKTtcbiAgICB9XG5cbiAgICAuc3BhbiAoQGNvbHVtbnMpIHtcbiAgICAgIHdpZHRoOiAoQGdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpO1xuICAgIH1cblxuICAgIC5yb3cge1xuICAgICAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGggKiAtMTtcbiAgICAgIC5jbGVhcmZpeCgpO1xuICAgIH1cblxuICAgIFtjbGFzcyo9XCJzcGFuXCJdIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGg7XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzXG4gICAgLmNvbnRhaW5lcixcbiAgICAubmF2YmFyLWZpeGVkLXRvcCAuY29udGFpbmVyLFxuICAgIC5uYXZiYXItZml4ZWQtYm90dG9tIC5jb250YWluZXIgeyAuc3BhbihAZ3JpZENvbHVtbnMpOyB9XG5cbiAgICAvLyBnZW5lcmF0ZSAuc3BhblggYW5kIC5vZmZzZXRYXG4gICAgLnNwYW5YIChAZ3JpZENvbHVtbnMpO1xuICAgIC5vZmZzZXRYIChAZ3JpZENvbHVtbnMpO1xuXG4gIH1cblxuICAuZmx1aWQgKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCwgQGZsdWlkR3JpZEd1dHRlcldpZHRoKSB7XG5cbiAgICAuc3BhblggKEBpbmRleCkgd2hlbiAoQGluZGV4ID4gMCkge1xuICAgICAgLnNwYW5Ae2luZGV4fSB7IC5zcGFuKEBpbmRleCk7IH1cbiAgICAgIC5zcGFuWChAaW5kZXggLSAxKTtcbiAgICB9XG4gICAgLnNwYW5YICgwKSB7fVxuXG4gICAgLnNwYW4gKEBjb2x1bW5zKSB7XG4gICAgICB3aWR0aDogKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSk7XG4gICAgICAqd2lkdGg6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKTtcbiAgICB9XG5cbiAgICAucm93LWZsdWlkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLmNsZWFyZml4KCk7XG4gICAgICBbY2xhc3MqPVwic3BhblwiXSB7XG4gICAgICAgIC5pbnB1dC1ibG9jay1sZXZlbCgpO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmbHVpZEdyaWRHdXR0ZXJXaWR0aDtcbiAgICAgICAgKm1hcmdpbi1sZWZ0OiBAZmx1aWRHcmlkR3V0dGVyV2lkdGggLSAoLjUgLyBAZ3JpZFJvd1dpZHRoICogMTAwICogMSUpO1xuICAgICAgfVxuICAgICAgW2NsYXNzKj1cInNwYW5cIl06Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gZ2VuZXJhdGUgLnNwYW5YXG4gICAgICAuc3BhblggKEBncmlkQ29sdW1ucyk7XG4gICAgfVxuXG4gIH1cblxuICAuaW5wdXQoQGdyaWRDb2x1bW5XaWR0aCwgQGdyaWRHdXR0ZXJXaWR0aCkge1xuXG4gICAgLnNwYW5YIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcbiAgICAgIGlucHV0LnNwYW5Ae2luZGV4fSwgdGV4dGFyZWEuc3BhbkB7aW5kZXh9LCAudW5lZGl0YWJsZS1pbnB1dC5zcGFuQHtpbmRleH0geyAuc3BhbihAaW5kZXgpOyB9XG4gICAgICAuc3BhblgoQGluZGV4IC0gMSk7XG4gICAgfVxuICAgIC5zcGFuWCAoMCkge31cblxuICAgIC5zcGFuKEBjb2x1bW5zKSB7XG4gICAgICB3aWR0aDogKChAZ3JpZENvbHVtbldpZHRoKSAqIEBjb2x1bW5zKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpIC0gMTA7XG4gICAgfVxuXG4gICAgaW5wdXQsXG4gICAgdGV4dGFyZWEsXG4gICAgLnVuZWRpdGFibGUtaW5wdXQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIG1hcmdpbi1sZWZ0IGZyb20gY29yZSBncmlkIHN5c3RlbVxuICAgIH1cblxuICAgIC8vIGdlbmVyYXRlIC5zcGFuWFxuICAgIC5zcGFuWCAoQGdyaWRDb2x1bW5zKTtcblxuICB9XG5cbn1cblxuLmRhcmtMaWdodCAoQGEpIHdoZW4gKGxpZ2h0bmVzcyhAYSkgPj0gNTAlKSB7XG4gIGNvbG9yOiBAZ3JheURhcmtlcjtcbn1cbi5kYXJrTGlnaHQgKEBhKSB3aGVuIChsaWdodG5lc3MoQGEpIDwgNTAlKSB7XG4gIGNvbG9yOiBAd2hpdGU7XG59XG4iLCJodG1sLm5hdi1vcGVuLFxuaHRtbC5uYXYtb3BlbiBib2R5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5uYXZiYXIge1xuICAvLyBGaXggZm9yIElFNydzIGJhZCB6LWluZGV4aW5nIHNvIGRyb3Bkb3ducyBkb24ndFxuICAvLyBhcHBlYXIgYmVsb3cgY29udGVudCB0aGF0IGZvbGxvd3MgdGhlIG5hdmJhclxuICAqcG9zaXRpb246IHJlbGF0aXZlO1xuICAqei1pbmRleDogMjtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlbGluZSAvIDU7XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAudG9nZ2xlLW5hdi1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAubmF2YmFyLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyQmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIEJyYW5kLCBsaW5rcywgdGV4dCwgYW5kIGJ1dHRvbnNcbiAgY29sb3I6IEBuYXZiYXJUZXh0O1xuICBmb250LWZhbWlseTogQHNhbnNGb250RmFtaWx5O1xuXG4gIC8vIEhvdmVyIGFuZCBhY3RpdmUgc3RhdGVzXG4gIC8vIFBsYWluIHRleHQgaW4gdG9wYmFyXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8vIFNvY2lhbCBpY29ucyBhcHBlYXJpbmcgaW4gbWFpbiBvciBzdGlja3kgbmF2XG4gICNoZWFkZXItc29jaWFsIGxpID4gYSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gICAgcGFkZGluZy1yaWdodDogNHB4O1xuICB9XG5cbiAgLy8gQ29tbW9uIG5hdiBsYXlvdXRcbiAgLm5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiBAbmF2YmFyVGV4dDtcblxuICAgICYgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IEBuYXZiYXJMaW5rQ29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSW5kaXZpZHVhbCBuYXYgbGlua3NcbiAgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBAbmF2YmFySGVpZ2h0O1xuICAgICAgcGFkZGluZy1sZWZ0OiBAbmF2YmFySGVpZ2h0IC8gNDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IEBuYXZiYXJIZWlnaHQgLyA0O1xuICAgIH1cbiAgfVxuXG4gIC8vIERyb3Bkb3ducyB3aXRoaW4gbmF2XG4gIGxpLmRyb3Bkb3duID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICBsaS5kcm9wZG93biAuZHJvcGRvd24tbWVudSBsaSBhIHtcbiAgICBjb2xvcjogQG5hdmJhckxpbmtDb2xvcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyTGlua0NvbG9ySG92ZXI7XG4gICAgfVxuICB9XG5cbiAgbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyTGlua0JhY2tncm91bmRBY3RpdmU7XG4gICAgY29sb3I6IEBuYXZiYXJMaW5rQ29sb3JIb3ZlcjtcblxuICAgIC5jYXJldDpiZWZvcmUge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQG5hdmJhckRyb3Bkb3duQ2FyZXRDb2xvckhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN1YiBtZW51c1xuICAuc3ViLW1lbnU6YmVmb3JlLFxuICAuc3ViLXN1Yi1tZW51OmJlZm9yZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogOXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJvcmRlci1yaWdodDogOXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBib3JkZXItdG9wOiA5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgbGVmdDogLTlweDtcbiAgICB0b3A6IDMwJTtcbiAgfVxuICAuc3ViLW1lbnU6YWZ0ZXIsXG4gIC5zdWItc3ViLW1lbnU6YWZ0ZXIge1xuICAgIGJvcmRlci10b3A6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCBAd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbTogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHRvcDogMzElO1xuICAgIGxlZnQ6IC04cHg7XG4gIH1cblxuICAvLyBIb21lIGxpbmsgYW5kIGhvbWUgaWNvblxuICBsaS5ob21lLWljb24sXG4gIGxpLmhvbWUtbGluayB7XG4gICAgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiBsaWdodGVuKEBsaW5rQ29sb3JIb3ZlciwgNSUpO1xuICAgIH1cbiAgfVxuXG4gIC5ob21lLWljb246aG92ZXIgaW1nLFxuICBsaS5ob21lLWxpbms6aG92ZXIgaSB7XG4gICAgLm9wYWNpdHkoODUpO1xuICB9XG5cbiAgbGkuaG9tZS1saW5rIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJiA+IGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogQG5hdmJhckhlaWdodDtcbiAgICAgICAgd2lkdGg6IEBuYXZiYXJIZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGkuaG9tZS1pY29uID4gYSB7XG4gICAgcGFkZGluZzogMDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGhlaWdodDogKEBuYXZiYXJIZWlnaHQgLSAxNnB4KTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XG4gICAgfVxuICB9XG5cbiAgLy8gTmF2IHRvZ2dsZSAoYnVyZ2VyIGJ1dHRvbilcbiAgLmJ0bi1uYXZiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTtcblxuICAgIC8vIEBpY29uYmFySGVpZ2h0IGlzIHVzZWQgNXg6IDN4IGZvciB0aGUgYmFycywgMnggZm9yIHRoZSBtYXJnaW4gYmV0d2VlbiB0aGVtLlxuICAgIHBhZGRpbmc6IChmbG9vcihAbmF2YmFySGVpZ2h0IC0gKDUgKiBAaWNvbmJhckhlaWdodCkpKSAvIDIgMTBweDtcblxuICAgIC5sYWJlbCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbjogLTJweCAwIDAgNXB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogQG5hdmJhckZvbnRTaXplO1xuICAgIH1cblxuICAgIC5uYXZiYXIgLmJ0bi1uYXZiYXIgLmJhcnMge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLmljb24tYmFyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICBoZWlnaHQ6IEBpY29uYmFySGVpZ2h0O1xuICAgIH1cblxuICAgIC5pY29uLWJhciArIC5pY29uLWJhciB7XG4gICAgICBtYXJnaW4tdG9wOiBAaWNvbmJhckhlaWdodDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAubmF2LWxlZnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHN0eWxlcyBmb3IgLm5hdmJhclxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogOTtcblxuICAgIGxpLmRyb3Bkb3duIHtcbiAgICAgIC5kcm9wZG93bi1tZW51IGxpIGEge1xuICAgICAgICBsaW5lLWhlaWdodDogQG5hdmJhckhlaWdodDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IEBuYXZiYXJIZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRvZ2dsZS1uYXYtYmFyIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5uYXYtc2hlbGYge1xuICAgICAgYmFja2dyb3VuZDogQGRyb3Bkb3duQmFja2dyb3VuZDtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgICAgIC5zaXRlLW5hbWUsIC5ob21lLWljb24sIC5ob21lLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICB1bCwgbGkge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgbGkuaG9tZS1saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgbGkgYi5jYXJldCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgLnJvdGF0ZSggLTkwZGVnICk7XG4gICAgICB9XG5cbiAgICAgIGxpLm9wZW4gPiBhIC5jYXJldCB7XG4gICAgICAgIC5yb3RhdGUoIDBkZWcgKTtcbiAgICAgIH1cblxuICAgICAgbGkub3BlbiA+IHVsLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAuYm94LXNoYWRvdyggbm9uZSApO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5uYXYgPiBsaSB7XG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5vcGVuIC5uYXYtc2hlbGYge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGdyYXlMaWdodGVyO1xuICAgIH1cblxuICAgIC5uYXYgbGkge1xuICAgICAgJi5ob21lLWxpbmssXG4gICAgICAmLnNpdGUtbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEdyYWRpZW50IGlzIGFwcGxpZWQgdG8gaXQncyBvd24gZWxlbWVudCBiZWNhdXNlIG92ZXJmbG93XG4vLyB2aXNpYmxlIGlzIG5vdCBob25vcmVkIGJ5IElFIHdoZW4gZmlsdGVyIGlzIHByZXNlbnRcbi5uYXZiYXItaW5uZXIge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8vIERyb3Bkb3duIGFycm93L2NhcmV0XG4uY2FyZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IEBiYXNlRm9udFNpemU7XG4gIHBhZGRpbmc6IDAgKEBiYXNlRm9udFNpemUgLyAyKTtcbiAgdG9wOiAycHg7XG5cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgQG5hdmJhckRyb3Bkb3duQ2FyZXRDb2xvcjtcbiAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuXG4vLyBHZW5lcmFsIGRyb3Bkb3duL2Ryb3B1cCBzdHlsZXNcbi5kcm9wdXAsXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmNhcmV0IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHdoaXRlO1xuICB9XG5cbiAgJi5hY3RpdmUgLmNhcmV0IHtcbiAgICAub3BhY2l0eSgxMDApO1xuICB9XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICAvLyBUaGUgY2FyZXQgbWFrZXMgdGhlIHRvZ2dsZSBhIGJpdCB0b28gdGFsbCBpbiBJRTdcbiAgKm1hcmdpbi1ib3R0b206IC0zcHg7XG59XG5cbi8vIERyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXhEcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIHBhZGRpbmc6IDNweCAwO1xuICBtYXJnaW46IDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGRyb3Bkb3duQmFja2dyb3VuZDtcbiAgYm9yZGVyOiAxcHggc29saWQgQGdyYXlMaWdodGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4yKTtcbiAgKmJvcmRlci1yaWdodC13aWR0aDogMnB4O1xuICAqYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAuYm94LXNoYWRvdygwIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpKTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAtbW96LWJhY2tncm91bmQtY2xpcDogcGFkZGluZztcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcblxuICBsaSB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBMaW5rcyB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmID4gYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgcGFkZGluZzogM3B4IDE1cHg7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBBY3RpdmUgbGlua3MvbWVudXMgd2l0aGluIGRyb3Bkb3duc1xuICAuYWN0aXZlID4gYSxcbiAgLmFjdGl2ZSA+IGE6aG92ZXIge1xuICAgIGNvbG9yOiBAbmF2YmFyTGlua0NvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBkcm9wZG93bkJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBUT0RPOiBXaGF0IGlzIHRoaXM/XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgQGdyYXlMaWdodGVyO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBkcm9wZG93bkJvcmRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTBweDtcbiAgICBsZWZ0OiA5cHg7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiA5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA5cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogOXB4IHNvbGlkIEBkcm9wZG93bkJhY2tncm91bmQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTlweDtcbiAgICBsZWZ0OiAxMHB4O1xuICB9XG5cbiAgLy8gQWRkIHN1cHBvcnQgZm9yIHNlY29uZCBsZXZlbCBkcm9wZG93biBtZW51c1xuICAuc3ViLW1lbnUsXG4gIC5zdWItc3ViLW1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yMCU7XG4gICAgbGVmdDogOTklO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gIC5pY29uLWFycm93LXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAycHg7XG4gICAgbGVmdDogM3B4O1xuICB9XG4gIGxpOmhvdmVyIC5zdWItbWVudSxcbiAgLnN1Yi1tZW51IGxpOmhvdmVyIC5zdWItc3ViLW1lbnUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBsaTpob3ZlciAuc3ViLXN1Yi1tZW51LFxuICAgIGxpOmhvdmVyIC5zdWItbWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgaHRtbC5uby10b3VjaCB1bC5uYXYgbGkuZHJvcGRvd246aG92ZXIgdWwuZHJvcGRvd24tbWVudSxcbiAgaHRtbC50b3VjaCB1bC5uYXYgbGkuZHJvcGRvd24ub3BlbiB1bC5kcm9wZG93bi1tZW51IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vIE9wZW4gc3RhdGUgZm9yIHRoZSBkcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ub3BlbiB7XG4gIC8vIElFNydzIHotaW5kZXggb25seSBnb2VzIHRvIHRoZSBuZWFyZXN0IHBvc2l0aW9uZWQgYW5jZXN0b3IsIHdoaWNoIHdvdWxkXG4gIC8vIG1ha2UgdGhlIG1lbnUgYXBwZWFyIGJlbG93IGJ1dHRvbnMgdGhhdCBhcHBlYXJlZCBsYXRlciBvbiB0aGUgcGFnZVxuICAqei1pbmRleDogQHppbmRleERyb3Bkb3duO1xuXG4gICYgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLmRyb3B1cCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biB7XG4gIC8vIFJldmVyc2UgdGhlIGNhcmV0XG4gIC5jYXJldCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgQGJsYWNrO1xuICAgIGNvbnRlbnQ6IFwiXFwyMTkxXCI7XG4gIH1cbiAgLy8gRGlmZmVyZW50IHBvc2l0aW9uaW5nIGZvciBib3R0b20gdXAgbWVudVxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgdG9wOiBhdXRvO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gIH1cbn1cblxuLy8gXCJEb24ndCBtaXNzXCIvdG9waWNzIGJhclxuI3RvcGljcy1iYXIge1xuICBwYWRkaW5nOiAzcHggMDtcbiAgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LWZhbWlseTogQHNhbnNGb250RmFtaWx5O1xuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAmLm1lbnUtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBOYXZiYXIgc2VhcmNoIGZvcm1cbiNtYWluLW5hdi5uYXZiYXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgQG5hdmJhclJ1bGVDb2xvcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBuYXZiYXJSdWxlQ29sb3I7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ09MT1Jcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdyYXlzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AYmxhY2s6ICAgICAgICAgICAgICAgICAjMDAwO1xuQGdyYXlEYXJrZXI6ICAgICAgICAgICAgIzIyMjtcbkBncmF5RGFyazogICAgICAgICAgICAgICM0ODQ4NDg7XG5AZ3JheTogICAgICAgICAgICAgICAgICAjN0Q4MTg1O1xuQGdyYXlMaWdodDogICAgICAgICAgICAgI2FhYTtcbkBncmF5TGlnaHRlcjogICAgICAgICAgICNkZGQ7XG5Ad2hpdGU6ICAgICAgICAgICAgICAgICAjZmZmO1xuXG5cbi8vIEFjY2VudCBjb2xvcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBibHVlOiAgICAgICAgICAgICAgICAgICMyMjc1YmI7XG5AYmx1ZURhcms6ICAgICAgICAgICAgICAjMDA2NGNkO1xuQGdyZWVuOiAgICAgICAgICAgICAgICAgIzQ2YTU0NjtcbkByZWQ6ICAgICAgICAgICAgICAgICAgICNiZDI2MWQ7XG5AeWVsbG93OiAgICAgICAgICAgICAgICAjZmZjNDBkO1xuQG9yYW5nZTogICAgICAgICAgICAgICAgI2Y4OTQwNjtcbkBwaW5rOiAgICAgICAgICAgICAgICAgICNjMzMyNWY7XG5AcHVycGxlOiAgICAgICAgICAgICAgICAjN2E0M2I2O1xuXG4vKipcbiAqIEBncm91cCBDb2xvclxuICogQGxhYmVsIEJhc2UgQ29sb3IgKHVzZWQgZm9yIG5hdmJhciwgd2lkZ2V0IHRpdGxlcywgZXRjLilcbiAqIEB0eXBlIGNvbG9yXG4gKiBAZGVmYXVsdF92YWx1ZSAjMjI3NWJiXG4gKi9cbkBiYXNlQ29sb3I6XHRcdFx0XHRAYmx1ZTtcblxuLyoqXG4gKiBAZ3JvdXAgQ29sb3JcbiAqIEBsYWJlbCBIZWFkZXIvRm9vdGVyIENvbG9yXG4gKiBAdHlwZSBjb2xvclxuICogQGRlZmF1bHRfdmFsdWUgIzIyMlxuICovXG5AaGVhZGVyRm9vdGVyQ29sb3I6XHRcdEBncmF5RGFya2VyO1xuXG4vKipcbiAqIEBncm91cCBDb2xvclxuICogQGxhYmVsIFByZS1Gb290ZXIgQ29sb3JcbiAqIEB0eXBlIGNvbG9yXG4gKiBAZGVmYXVsdF92YWx1ZSAjZGRkXG4gKi9cbkBwcmVGb290ZXJDb2xvcjpcdFx0QGdyYXlMaWdodGVyO1xuXG4vKipcbiAqIEBncm91cCBDb2xvclxuICogQGxhYmVsIENvbG9yIG9mIGxpbmtzXG4gKiBAdHlwZSBjb2xvclxuICogQGRlZmF1bHRfdmFsdWUgIzIyNzViYlxuICovXG5AbGlua0NvbG9yOiAgICAgICAgICAgICBAYmx1ZTtcblxuLyoqXG4gKiBAZ3JvdXAgQ29sb3JcbiAqIEBsYWJlbCBIb3ZlciBjb2xvciBvZiBsaW5rc1xuICogQHR5cGUgY29sb3JcbiAqIEBkZWZhdWx0X3ZhbHVlICMyMjc1YmJcbiAqL1xuQGxpbmtDb2xvckhvdmVyOiAgICAgICAgbGlnaHRlbihAbGlua0NvbG9yLCAxMCUpO1xuXG4vKipcbiAqIEBncm91cCBDb2xvclxuICogQGxhYmVsIEJhY2tncm91bmQgY29sb3Igb2YgcG9zdCBtZXRhIGJveGVzIChhdXRob3IgYmlvLCByZWxhdGVkIHBvc3RzLCBldGMuKVxuICogQHR5cGUgY29sb3JcbiAqIEBkZWZhdWx0X3ZhbHVlICNmZmZcbiAqL1xuQHBvc3RCb3hCYWNrZ3JvdW5kQ29sb3I6XHQjZmZmO1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBMQVlPVVRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBjb250YWluZXJNYXhXaWR0aDpcdFx0MTE3MHB4O1xuXG4vKipcbiAqIEBncm91cCBCYXNpY3NcbiAqIEBsYWJlbCBCb2R5IEJhY2tncm91bmQgQ29sb3JcbiAqIEB0eXBlIGNvbG9yXG4gKiBAZGVmYXVsdF92YWx1ZSAjZmZmXG4gKi9cbkBib2R5QmFja2dyb3VuZDogICAgICAgIEB3aGl0ZTtcblxuLyoqXG4gKiBAZ3JvdXAgQmFzaWNzXG4gKiBAbGFiZWwgUGFnZSBCYWNrZ3JvdW5kIENvbG9yXG4gKiBAdHlwZSBjb2xvclxuICogQGRlZmF1bHRfdmFsdWUgI2ZmZlxuICovXG5AcGFnZUJhY2tncm91bmQ6ICAgICAgICBAd2hpdGU7XG5cbi8qKlxuICogQGdyb3VwIEJhc2ljc1xuICogQGxhYmVsIFRleHQgQ29sb3JcbiAqIEB0eXBlIGNvbG9yXG4gKiBAZGVmYXVsdF92YWx1ZSAjMzMzXG4gKi9cbkB0ZXh0Q29sb3I6ICAgICAgICAgICAgIEBncmF5RGFyaztcbi8qKlxuICogQGdyb3VwIEJhc2ljc1xuICogQGxhYmVsIERlZmF1bHQgVmVydGljYWwgU3BhY2luZ1xuICogQHR5cGUgcGl4ZWxzXG4gKiBAZGVmYXVsdF92YWx1ZSAyNHB4XG4gKi9cbkBiYXNlbGluZTpcdFx0XHRcdDI0cHg7XG5cbi8vIEdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBncmlkQ29sdW1uczogICAgICAgICAgICAgMTI7XG5AZmx1aWRHcmlkQ29sdW1uV2lkdGg6ICAgIDYuMzgyOTc4NzIzJTtcbkBmbHVpZEdyaWRHdXR0ZXJXaWR0aDogICAgMi4xMjc2NTk1NzQlO1xuQGdyaWRSb3dXaWR0aDogICAgICAgICAgICAxMDAlO1xuXG4vLyBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGhpZ2hkZW5zaXR5OiB+XCJvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KVwiLFxuICAgICAgICAgICAgICB+XCJvbmx5IHNjcmVlbiBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS41KVwiLFxuICAgICAgICAgICAgICB+XCJvbmx5IHNjcmVlbiBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMvMiApXCIsXG4gICAgICAgICAgICAgIH5cIm9ubHkgc2NyZWVuIGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KVwiO1xuXG5AbW9iaWxlOiAgICAgIH5cIm9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MjlweClcIjtcblxuQHRhYmxldDogICAgICB+XCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5NzlweClcIjtcbkB0YWJsZXREb3duOiAgflwib25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk3OXB4KVwiO1xuQHRhYmxldFVwOiAgICB+XCJvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpXCI7XG5cbkBkZXNrdG9wOiAgICAgflwib25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk4MHB4KSBhbmQgKG1heC13aWR0aDogMTEyOHB4KVwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVFlQT0dSQVBIWVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLyoqXG4gKiBAZ3JvdXAgVHlwb2dyYXBoeVxuICogQGxhYmVsIFNhbnMgRm9udCBGYW1pbHlcbiAqIEB0eXBlIHRleHRcbiAqIEBkZWZhdWx0X3ZhbHVlIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZlxuICovXG5Ac2Fuc0ZvbnRGYW1pbHk6ICAgICAgICBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cbi8qKlxuICogQGdyb3VwIFR5cG9ncmFwaHlcbiAqIEBsYWJlbCBTZXJpZiBGb250IEZhbWlseVxuICogQHR5cGUgdGV4dFxuICovXG5Ac2VyaWZGb250RmFtaWx5OiAgICAgICBHZW9yZ2lhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWY7XG5AbW9ub0ZvbnRGYW1pbHk6ICAgICAgICBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2U7XG5cbi8qKlxuICogQGdyb3VwIFR5cG9ncmFwaHlcbiAqIEBsYWJlbCBCYXNlIEZvbnQgU2l6ZVxuICogQHR5cGUgcGl4ZWxzXG4gKi9cbkBiYXNlRm9udFNpemU6ICAgICAgICAgIDE2cHg7XG5cbi8qKlxuICogQGdyb3VwIFR5cG9ncmFwaHlcbiAqIEBsYWJlbCBTYW5zIEZvbnQgRmFtaWx5XG4gKiBAdHlwZSBkcm9wZG93blxuICogQG9wdGlvbnMgQHNlcmlmRm9udEZhbWlseXxAc2Fuc0ZvbnRGYW1pbHlcbiAqIEBkZWZhdWx0X3ZhbHVlIEBzZXJpZkZvbnRGYW1pbHlcbiAqL1xuQGJhc2VGb250RmFtaWx5OiAgICAgICAgQHNlcmlmRm9udEZhbWlseTtcbi8qKlxuICogQGdyb3VwIFR5cG9ncmFwaHlcbiAqIEBsYWJlbCBCYXNlIExpbmUgSGVpZ2h0XG4gKiBAdHlwZSB0ZXh0XG4gKiBAZGVmYXVsdF92YWx1ZSAxLjVcbiAqL1xuQGJhc2VMaW5lSGVpZ2h0OiAgICAgICAgMS41O1xuXG5AYWx0Rm9udEZhbWlseTogICAgICAgICBAc2Fuc0ZvbnRGYW1pbHk7XG5AYmFzZUZvbnRXZWlnaHQ6XHRcdG5vcm1hbDtcblxuQGhlYWRpbmdzRm9udEZhbWlseTogICAgQHNhbnNGb250RmFtaWx5OyAvLyBlbXB0eSB0byB1c2UgZGVmYXVsdCwgQGJhc2VGb250RmFtaWx5XG5AaGVhZGluZ3NGb250V2VpZ2h0OiAgICBib2xkOyAvLyBlbXB0eSB0byB1c2UgZGVmYXVsdCwgQGJhc2VGb250V2VpZ2h0XG5AaGVhZGluZ3NDb2xvcjogICAgICAgICBpbmhlcml0OyAvLyBlbXB0eSB0byB1c2UgZGVmYXVsdCwgQHRleHRDb2xvclxuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGT1JNUywgVEFCTEVTIEFORCBCVVRUT05TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBUYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB0YWJsZUJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50OyAvLyBvdmVyYWxsIGJhY2tncm91bmQtY29sb3JcbkB0YWJsZUJhY2tncm91bmRBY2NlbnQ6ICAgICAgICAgICAgICNmOWY5Zjk7IC8vIGZvciBzdHJpcGluZ1xuQHRhYmxlQmFja2dyb3VuZEhvdmVyOiAgICAgICAgICAgICAgI2Y1ZjVmNTsgLy8gZm9yIGhvdmVyXG5AdGFibGVCb3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAjZGRkOyAvLyB0YWJsZSBhbmQgY2VsbCBib3JkZXJcblxuXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AYnRuQmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICBAd2hpdGU7XG5AYnRuQmFja2dyb3VuZEhpZ2hsaWdodDogICAgICAgICAgICBkYXJrZW4oQHdoaXRlLCAxMCUpO1xuQGJ0bkJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgI2NjYztcblxuQGJ0blByaW1hcnlCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgQGJhc2VDb2xvcjtcbkBidG5QcmltYXJ5QmFja2dyb3VuZEhpZ2hsaWdodDogICAgIHNwaW4oQGJ0blByaW1hcnlCYWNrZ3JvdW5kLCAxNSUpO1xuXG5cbi8vIEZvcm1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW5wdXRCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIEB3aGl0ZTtcbkBpbnB1dEJvcmRlcjogICAgICAgICAgICAgICAgICAgI2NjYztcbkBpbnB1dEJvcmRlclJhZGl1czogICAgICAgICAgICAgM3B4O1xuQGlucHV0RGlzYWJsZWRCYWNrZ3JvdW5kOiAgICAgICBAZ3JheUxpZ2h0ZXI7XG5AZm9ybUFjdGlvbnNCYWNrZ3JvdW5kOiAgICAgICAgICNmNWY1ZjU7XG5cbkBwbGFjZWhvbGRlclRleHQ6ICAgICAgICAgQGdyYXlMaWdodDtcblxuXG4vLyBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5Ad2FybmluZ1RleHQ6ICAgICAgICAgICAgICNjMDk4NTM7XG5Ad2FybmluZ0JhY2tncm91bmQ6ICAgICAgICNmY2Y4ZTM7XG5Ad2FybmluZ0JvcmRlcjogICAgICAgICAgIGRhcmtlbihzcGluKEB3YXJuaW5nQmFja2dyb3VuZCwgLTEwKSwgMyUpO1xuXG5AZXJyb3JUZXh0OiAgICAgICAgICAgICAgICNiOTRhNDg7XG5AZXJyb3JCYWNrZ3JvdW5kOiAgICAgICAgICNmMmRlZGU7XG5AZXJyb3JCb3JkZXI6ICAgICAgICAgICAgIGRhcmtlbihzcGluKEBlcnJvckJhY2tncm91bmQsIC0xMCksIDMlKTtcblxuQHN1Y2Nlc3NUZXh0OiAgICAgICAgICAgICAjNDY4ODQ3O1xuQHN1Y2Nlc3NCYWNrZ3JvdW5kOiAgICAgICAjZGZmMGQ4O1xuQHN1Y2Nlc3NCb3JkZXI6ICAgICAgICAgICBkYXJrZW4oc3BpbihAc3VjY2Vzc0JhY2tncm91bmQsIC0xMCksIDUlKTtcblxuQGluZm9UZXh0OiAgICAgICAgICAgICAgICAjM2E4N2FkO1xuQGluZm9CYWNrZ3JvdW5kOiAgICAgICAgICAjZDllZGY3O1xuQGluZm9Cb3JkZXI6ICAgICAgICAgICAgICBkYXJrZW4oc3BpbihAaW5mb0JhY2tncm91bmQsIC0xMCksIDclKTtcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHppbmRleERyb3Bkb3duOiAgICAgICAgICAxMDAwO1xuQHppbmRleFBvcG92ZXI6ICAgICAgICAgICAxMDEwO1xuQHppbmRleFRvb2x0aXA6ICAgICAgICAgICAxMDIwO1xuQHppbmRleEZpeGVkTmF2YmFyOiAgICAgICAxMDMwO1xuQHppbmRleE1vZGFsQmFja2Ryb3A6ICAgICAxMDQwO1xuQHppbmRleE1vZGFsOiAgICAgICAgICAgICAxMDUwO1xuXG4vLyBOYXZiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBuYXZiYXJIZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA0MHB4O1xuQG5hdmJhckZvbnRTaXplOiAgICAgICAgICAgICAgICAgIDE1cHg7XG5AbmF2YmFyQmFja2dyb3VuZDogICAgICAgICAgICAgICAgQGJvZHlCYWNrZ3JvdW5kO1xuLy8gTmF2YmFyIGJ1dHRvbiAoYnVyZ2VyKSBmb3IgdG9nZ2xpbmcgbmF2YmFyIGl0ZW1zIGluIHJlc3BvbnNpdmUgbGF5b3V0c1xuQGljb25iYXJIZWlnaHQ6IDNweDtcblxuICAgIC8vIE5hdmJhciBkcm9wZG93bnNcbiAgICBAZHJvcGRvd25CYWNrZ3JvdW5kOiBAd2hpdGU7XG4gICAgQGRyb3Bkb3duQm9yZGVyOiByZ2JhKDAsMCwwLC4yKTtcbiAgICBAZHJvcGRvd25EaXZpZGVyVG9wOiAjZTVlNWU1O1xuICAgIEBkcm9wZG93bkRpdmlkZXJCb3R0b206IEB3aGl0ZTtcblxuICAgIC8vIE1haW4gbmF2YmFyXG4gICAgQG5hdmJhclRleHQ6IEB0ZXh0Q29sb3I7XG4gICAgQG5hdmJhckxpbmtDb2xvcjogQG5hdmJhclRleHQ7XG4gICAgQG5hdmJhckxpbmtDb2xvckhvdmVyOiBkYXJrZW4oQG5hdmJhckxpbmtDb2xvciwgNSUpO1xuICAgIEBuYXZiYXJMaW5rQmFja2dyb3VuZEFjdGl2ZTogZGFya2VuKEBuYXZiYXJCYWNrZ3JvdW5kLCA1JSk7XG4gICAgQG5hdmJhckRyb3Bkb3duQ2FyZXRDb2xvcjogQG5hdmJhckxpbmtDb2xvcjtcbiAgICBAbmF2YmFyRHJvcGRvd25DYXJldENvbG9ySG92ZXI6IEBuYXZiYXJMaW5rQ29sb3JIb3ZlcjtcbiAgICBAbmF2YmFyUnVsZUNvbG9yOiBAZ3JheUxpZ2h0O1xuXG4gICAgLy8gU3RpY2t5IG5hdmJhclxuICAgIEBzdGlja3lOYXZiYXJUZXh0OiBAdGV4dENvbG9yO1xuICAgIEBzdGlja3lOYXZiYXJMaW5rQ29sb3I6IEBzdGlja3lOYXZiYXJUZXh0O1xuICAgIEBzdGlja3lOYXZiYXJMaW5rQ29sb3JIb3ZlcjogZGFya2VuKEBzdGlja3lOYXZiYXJMaW5rQ29sb3IsIDUlKTtcbiAgICBAc3RpY2t5TmF2YmFyQmFja2dyb3VuZENvbG9yOiBAd2hpdGU7XG4gICAgQHN0aWNreU5hdmJhckRyb3Bkb3duQ2FyZXRDb2xvcjogQHN0aWNreU5hdmJhckxpbmtDb2xvcjtcbiAgICBAc3RpY2t5TmF2YmFyRHJvcGRvd25DYXJldENvbG9ySG92ZXI6IEBzdGlja3lOYXZiYXJMaW5rQ29sb3JIb3ZlcjtcblxuXG4vLyBTb2NpYWwgQnJhbmRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcnNzOiAjZjg5NDA2O1xuQGZhY2Vib29rOiAjM2E1Nzk1O1xuQHR3aXR0ZXI6ICM1NWFjZWU7XG5AeW91dHViZTogI2U1MmQyNztcbkBncGx1czogI2RkNGIzOTtcbkBmbGlja3I6ICNmZjAwODQ7XG5AbGlua2VkaW46ICMwMDdiYjY7XG5AdHVtYmxyOiAjMzU0NjVjO1xuIiwiQHN0aWNreU5hdkxpbmVIZWlnaHQ6IDU2cHg7XG5cbi5zdGlja3ktbmF2LWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zdGlja3ktbmF2LWhvbGRlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogOTk5OTg7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3RpY2t5TmF2YmFyQmFja2dyb3VuZENvbG9yO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGdyYXlMaWdodGVyO1xuICAudHJhbnNpdGlvbihvcGFjaXR5IDAuM3MpO1xuXG4gICYudHJhbnNpdGlvbmluZyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IEBzdGlja3lOYXZMaW5lSGVpZ2h0O1xuXG4gICAgLm5hdmJhciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gICYuc2hvdyB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgYm9keS5hZG1pbi1iYXIgJiB7XG4gICAgdG9wOiAzMnB4O1xuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc4MnB4KSB7XG4gICAgICB0b3A6IDQ2cHg7XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm9keSAmLm1haW5fbmF2X2hpZGVfYXJ0aWNsZSxcbiAgICBib2R5ICYuc3RpY2t5X25hdl9kaXNwbGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4vLyBFeHRlbmQgdGhlIGNvbW1vbiBuYXZiYXIgc3R5bGVzXG4ubmF2YmFyLnN0aWNreS1uYXZiYXIge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICAudHJhbnNpdGlvbihvcGFjaXR5IDAuM3MpO1xuXG4gIC5uYXYge1xuICAgIGNvbG9yOiBAc3RpY2t5TmF2YmFyVGV4dDtcbiAgfVxuXG4gIGxpIHtcbiAgICBhIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBAc3RpY2t5TmF2TGluZUhlaWdodDtcbiAgICAgIGNvbG9yOiBAc3RpY2t5TmF2YmFyTGlua0NvbG9yO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IEBzdGlja3lOYXZiYXJMaW5rQ29sb3JIb3ZlcjtcbiAgICAgIH1cblxuICAgICAgLmNhcmV0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IEBzdGlja3lOYXZiYXJEcm9wZG93bkNhcmV0Q29sb3I7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIgLmNhcmV0OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IEBzdGlja3lOYXZiYXJEcm9wZG93bkNhcmV0Q29sb3JIb3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmhvbWUtbGluayA+IGE6aG92ZXIge1xuICAgICAgY29sb3I6IGxpZ2h0ZW4oQHN0aWNreU5hdmJhckxpbmtDb2xvciwgNSUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERyb3Bkb3ducyB3aXRoaW4gbmF2XG4gIGxpLmRyb3Bkb3duIC5kcm9wZG93bi1tZW51IGxpIGEge1xuICAgIGNvbG9yOiBAc3RpY2t5TmF2YmFyTGlua0NvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogQHN0aWNreU5hdmJhckxpbmtDb2xvckhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIC5zb2NpYWwtaWNvbnMge1xuICAgIG1hcmdpbjogMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC5idG4tbmF2YmFyIHtcbiAgICBwYWRkaW5nOiAwIDEwcHggMCAxMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBsaW5lLWhlaWdodDogQHN0aWNreU5hdkxpbmVIZWlnaHQ7XG5cbiAgICAuYmFycyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3RpY2t5TmF2YmFyTGlua0NvbG9yO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgLmljb24tYmFyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHN0aWNreU5hdmJhckxpbmtDb2xvckhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaG9tZS1saW5rIHtcbiAgICAvLyBUT0RPOiBzaG91bGQgYmUgYmFzZWQgb24gYSB2YXJpYWJsZVxuICAgIG1pbi13aWR0aDogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAubmF2ID4gbGkge1xuICAgICAgYSB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgLy8gVE9ETzogc2hvdWxkIGJlIGJhc2VkIG9uIHZhcmlhYmxlXG4gICAgICAgICAgd2lkdGg6IDEuNDllbTtcbiAgICAgICAgICBoZWlnaHQ6IDEuNDllbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaWNvbi1ob21lOmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbnRhaW5zIHNvY2lhbCBpY29ucywgc2VhcmNoLCBkb25hdGUgbGlua1xuICAubmF2LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAjaGVhZGVyLWV4dHJhcyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGEuZG9uYXRlLWxpbms6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuICAgICAgLmRvbmF0ZSB7XG4gICAgICAgIGEgc3BhbiB7XG4gICAgICAgICAgLy8gVE9ETzogc2hvdWxkIGJlIGJhc2VkIG9uIHZhcnNcbiAgICAgICAgICBwYWRkaW5nOiA0cHggOHB4O1xuXG4gICAgICAgICAgY29sb3I6IEB3aGl0ZTtcblxuICAgICAgICAgIC8vIFRPRE86IGlzIHRoaXMgc3BlY2lmaWMgdG8gdGhlIGRvbmF0ZSBsaW5rP1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEByZWQ7XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEByZWQsIDUlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBUT0RPOiB3aGF0IGlzIHRoaXMgZm9yP1xuICAgICAgICAgIGkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIC8vIE5hdmJhciBzZWFyY2ggZm9ybVxuICAuZm9ybS1zZWFyY2gge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAudG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGNvbG9yOiBAYmFzZUNvbG9yO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogOTE7XG4gICAgICAudHJhbnNpdGlvbiggMC4zcyApO1xuICAgIH1cbiAgICAuaW5wdXQtYXBwZW5kIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiA0NHB4O1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgLnRyYW5zaXRpb24oIDAuM3MgKTtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICB6LWluZGV4OiA5MDtcbiAgICAgIHdpZHRoOiAyNDZweDtcbiAgICAgIC50ZXh0LWlucHV0LXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxOTZweDtcbiAgICAgIH1cbiAgICAgIGlucHV0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC5ib3gtc2l6aW5nKCBib3JkZXItYm94ICk7XG4gICAgICAgIGhlaWdodDogMzZweCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDUwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAuYm94LXNpemluZyggYm9yZGVyLWJveCApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICAgI3N0aWNreS1uYXYtc2VhcmNoLnNob3cge1xuICAgICAgLmlucHV0LWFwcGVuZCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIH1cbiAgICAgIC5pbnB1dC1hcHBlbmQsXG4gICAgICAudG9nZ2xlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM0MzQzNDtcbiAgICAgICAgY29sb3I6IEBib2R5QmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2LWxlZnQge1xuICAgICYgPiB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBzZWNvbmQgc2l0ZSBuYW1lIGluIHRoZSBzdGlja3kgaGVhZGVyXG4gIC8vIHdoZW4gLm5hdi1zaGVsZiBpcyB2aXNpYmxlXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5uYXYtbGVmdCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNpdGUgbmFtZVxuICAuc2l0ZS1uYW1lIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogIzM0MzQzNDtcblxuICAgIGEge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICAgICAgY29sb3I6IEBzdGlja3lOYXZiYXJMaW5rQ29sb3I7XG4gICAgICBtYXgtd2lkdGg6IDIxNHB4O1xuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogQHN0aWNreU5hdmJhckxpbmtDb2xvckhvdmVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmlnaHQgc2lkZSBvZiBuYXYsIHNlYXJjaCwgZG9uYXRlLCBzb2NpYWwgaWNvbnNcbiAgLm5hdi1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgICNoZWFkZXItZXh0cmFzIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgYS5kb25hdGUtbGluazpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0aWNreSBuYXYgZHJvcGRvd24gbW9kc1xuICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBsaS5kcm9wZG93biB7XG4gICAgICAuZHJvcGRvd24tbWVudSBsaSBhIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBzdGlja3lOYXZMaW5lSGVpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5uYXYtc2hlbGYgYi5jYXJldCB7XG4gICAgICBwYWRkaW5nOiAyMnB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBGb3JtYXQgdGhlIHN0aWNreSBuYXYgb3ZlcmZsb3cgbWVudVxuI21lbnUtb3ZlcmZsb3cgPiB1bCB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgbWF4LWhlaWdodDogODB2aDtcbiAgLmNhcmV0OjpiZWZvcmUsIC5jYXJldDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgfVxuICB1bC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgbGkgYSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuNWVtO1xuICAgIH1cbiAgICAmOjpiZWZvcmUsICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIC5zdWItbWVudSxcbiAgICAuc3ViLXN1Yi1tZW51IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIEJlZm9yZSBGb290ZXIsIFNpdGUgRm9vdGVyXG4gKlxuICogI2JlZm9yZS1mb290ZXIgLSBhIGR5bmFtaWMgd2lkZ2V0IGFyZWEgcHJpb3IgdG8gI3NpdGUtZm9vdGVyXG4gKiAjc2l0ZS1mb290ZXJcbiAqICAgI3N1cHBsZW1lbnRhcnkgLSBwcmltYXJ5IHdpZGdldCB6b25lcyBmb3Igc2l0ZSBmb290ZXJcbiAqICAgI2JvaWxlcnBsYXRlIC0gc29jaWFsIGljb25zLCBjb3B5cmlnaHQsIElOTiBsb2dvIGFuZCBmb290ZXIgbGlua3NcbiAqXG4gKiBAc2luY2UgMC41LjNcbiAqL1xuIFxuLmJlZm9yZS1mb290ZXItd3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwcmVGb290ZXJDb2xvcjtcbn1cblxuI2JlZm9yZS1mb290ZXIge1xuICAud2lkZ2V0Omxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLmZvb3Rlci1iZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBoZWFkZXJGb290ZXJDb2xvcjtcbiAgcGFkZGluZzogMCAwIDE4cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbiNzdXBwbGVtZW50YXJ5IHtcbiAgcGFkZGluZzogQGJhc2VsaW5lIDAgMCAwO1xuICAmLl8xY29sIGFzaWRlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLyogc3BlY2lmaWMgdG8gdGhlIG9uZSBjb2x1bW4gZm9vdGVyIGxheW91dCAqL1xuLl8xY29sIC53aWRnZXRfbmF2X21lbnUgbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbi1yaWdodDogMWVtO1xufVxuXG4vKlxuICogaW1hZ2UgZGlzcGxheXMgMzAwcHggd2lkZSwgYnV0IGlzIHBoeXNpY2FsbHkgMTY5OXgzODUgcHheMlxuICogV2UnbGwgdXNlIG1hdGggdG8gZ2V0IHRoZSBwYWRkaW5nIHRvcCBhbmQgYm90dG9tIGNvcnJlY3QsIGFjY29yZGluZyB0byB0aGUgYnJhbmQgZ3VpZGVsaW5lc1xuICogbWFyZ2luIHRvcCBhbmQgbWFyZ2luIGJvdHRvbSBzaG91bGQgYmUgZXF1YWwgdG8gdGhlIGhlaWdodCBvZiBvbmUgb2YgdGhlIHNxdWFyZXMuXG4gKiBCeSBjcm9wcGluZyB0aGUgaW1hZ2UgdG8gdGhlIG91dGVyIGJvdW5kYXJ5IG9mIHRoZSBsb3dlci1sZWZ0IHNxdWFyZSBpbiBpbm5fbG9nb19yZXZlcnNldHlwZS5wbmcsIHdlIGdldCBhIHNxdWFyZSBoZWlnaHQgb2YgMTg0cHguXG4gKiAxODQvMTY2OSA9IHgvMzAwXG4gKi9cbkBpbm4tbG9nby1waHlzaWNhbC13aWR0aDogMTY2OXB4O1xuQGlubi1sb2dvLXBoeXNpY2FsLWhlaWdodDogMzg1cHg7XG5AaW5uLWxvZ28td2lkdGg6IDIwMHB4O1xuQGlubi1sb2dvLXNxdWFyZTogKEBpbm4tbG9nby13aWR0aCoxODQvQGlubi1sb2dvLXBoeXNpY2FsLXdpZHRoKTsgLy8gMTg0IGNvbWVzIGZvcm0gdGhlIHdpZHRoIG9mIG9uZSBzcXVhcmUgaW4gSU5OJ3MgMjAxNSBsb2dvXG5AaW5uLWxvZ28taGVpZ2h0OiAoQGlubi1sb2dvLXdpZHRoKkBpbm4tbG9nby1waHlzaWNhbC1oZWlnaHQvQGlubi1sb2dvLXBoeXNpY2FsLXdpZHRoKTsgLy8gdGhlIHJlbmRlcmVkIGhlaWdodCBvZiB0aGUgbG9nbyBpbWFnZVxuQGZvb3Rlci1zb2NpYWwtbG9nby1mb250LXNpemU6IEBiYXNlRm9udFNpemUgKyAyO1xuXG4jaW5uLWxvZ28ge1xuICBtYXJnaW4tdG9wOiBAaW5uLWxvZ28tc3F1YXJlO1xuICBtYXJnaW4tYm90dG9tOiBAaW5uLWxvZ28tc3F1YXJlKjAuNzU7XG4gIG1heC13aWR0aDogQGlubi1sb2dvLXdpZHRoO1xufVxuXG4jZm9vdGVyLWxvZ29zLWJnIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHdoaXRlO1xuICBwYWRkaW5nOiAxMHB4IDA7XG59XG5cbiNmb290ZXItbG9nb3Mge1xuICBvdmVyZmxvdzpoaWRkZW47XG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICBcdGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NjY2NjclO1xuICAgIGltZyB7XG5cdCAgZGlzcGxheTogYmxvY2s7XG5cdCAgd2lkdGg6IDEwMCU7XG5cdCAgbWF4LXdpZHRoOiAxODBweDtcblx0ICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cbiAgaDYge1xuICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAZ3JheUxpZ2h0ZXI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiBAZ3JheTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgYSB7XG5cdCAgZmxvYXQ6IHJpZ2h0O1xuXHQgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG51bCNmb290ZXItc29jaWFsIHtcbiAgcGFkZGluZy10b3A6IEBpbm4tbG9nby1zcXVhcmU7XG4gIHBhZGRpbmctYm90dG9tOiBAaW5uLWxvZ28tc3F1YXJlKjAuNzU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuICBsaSB7XG4gICAgaGVpZ2h0OiBAaW5uLWxvZ28taGVpZ2h0O1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogKChAaW5uLWxvZ28taGVpZ2h0IC0gQGZvb3Rlci1zb2NpYWwtbG9nby1mb250LXNpemUpLzEuNzUpO1xuICAgIH1cbiAgICBpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1KkBpbm4tbG9nby1zcXVhcmU7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbihAd2hpdGUsIDI1JSk7XG4gICAgICB9XG4gICAgICBmb250LXNpemU6IEBmb290ZXItc29jaWFsLWxvZ28tZm9udC1zaXplO1xuICAgICAgLmRhcmtMaWdodChAaGVhZGVyRm9vdGVyQ29sb3IpO1xuICAgIH1cbiAgfVxuICBsaTpsYXN0LWNoaWxkIGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuI2JvaWxlcnBsYXRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiBAc2Fuc0ZvbnRGYW1pbHk7XG4gIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6IzlGOUZBMztcbiAgfVxuICAubWVudSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IEBiYXNlRm9udFNpemUgKiAwLjY2NztcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgfVxuICAubWVudSB7XG4gICAgY2xlYXI6IG5vbmU7XG4gIH1cbn1cblxuZm9vdGVyICNib2lsZXJwbGF0ZSB7XG4gIHAge1xuICAgIGNvbG9yOiM5RjlGQTM7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6QGdyYXlMaWdodGVyO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IzA5QzlGRjsgLy8gVGhpcyBibHVlIGlzIElOTidzIFByaW1hcnkgQnJhbmQgY29sb3IhXG4gICAgfVxuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjlweCkge1xuICAjYm9pbGVycGxhdGUgLnNwYW42LnJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk3OXB4KSB7XG4gIC8vIElmIHRoZSBJTk4gbG9nbyBpcyBub3QgZGlzcGxheWVkLCB0aGUgZm9vdGVyIGNyZWRpdCBnZXRzIHNvbWUgcGFkZGluZyB1cCB0b3BcbiAgLmZvb3Rlci1jcmVkaXQtcGFkZGluZy1pbm4tbG9nby1taXNzaW5nIHtcbiAgICBtYXJnaW4tdG9wOiBAaW5uLWxvZ28taGVpZ2h0ICsgMS43NSpAaW5uLWxvZ28tc3F1YXJlO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5NzlweCkge1xuICAjYm9pbGVycGxhdGUgLnJvdy1mbHVpZCB7XG4gICAgLnNwYW42IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgdWwjZm9vdGVyLXNvY2lhbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC5mb290ZXItY3JlZGl0IHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5iYWNrLXRvLXRvcCB7XG4gIC52aXN1YWxseWhpZGRlblxufVxuIiwiLy9PdmVycmlkZSBMYXJnbyBzdHlsZXMsIGh0dHA6Ly9qaXJhLmlubi5vcmcvYnJvd3NlL1JOUy0xMDZcbmJvZHkubm9ybWFsLnNpbmdsZS1wb3N0IGFydGljbGUucG9zdCA+IGhlYWRlciAuZW50cnktZGF0ZSxcbmJvZHkubm9ybWFsLnNpbmdsZS1wb3N0IGFydGljbGUucG9zdCA+IGhlYWRlciAuc2VwIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuXG4udG9wLWRhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLmJ5bGluZSAudHdpdHRlciB7XG4gIG1hcmdpbi1sZWZ0OiAwLjNlbTtcbiAgYTpob3ZlciB7XG4gICAgY29sb3I6ICM1NWFjZWU7XG4gIH1cbn1cbnAud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IEBzbWFsbHRleHQ7XG4gIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsZXR0ZXItc3BhY2luZzogMC4wMTI1ZW07XG59XG5cbmZpZ2NhcHRpb24gY2l0ZSB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbiIsIi8vIFRoZW1lIGNvbG9yc1xuQGJhc2VDb2xvcjogdHJhbnNwYXJlbnQ7XG5AbGlnaHRibHVlOiAjNTBjNWY3O1xuQGJsdWU6ICMyMjZGOTE7XG5AcmVkOiAjQjQzNDM0O1xuQHllbGxvdzogI0YwQjk1NjtcblxuQHRyYW5zcGFyZW50YmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpO1xuXG4vLyBUeXBvZ3JhcGh5XG5Ac2FuczogXCJ0YWJsZXQtZ290aGljLWNvbmRlbnNlZFwiLHNhbnMtc2VyaWY7XG5AYm9keTogXCJsZWl0dXJhLW5ld3NcIixHZW9yZ2lhLHNlcmlmO1xuQHNtYWxsdGV4dDogXCJoZWx2ZXRpY2EgbmV1ZVwiLGhlbHZldGljYSxzYW5zLXNlcmlmO1xuIiwiLyogVHlwb2dyYXBoeSAqL1xuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogQHNhbnM7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiBAZ3JheURhcms7XG4gIGEge1xuICAgIGNvbG9yOiBAZ3JheURhcms7XG4gIH1cbn1cblxuLyogIE5hdHMgY2hhbmdlcyB0byBoZWFkaW5nIHNpemVzICAqL1xuXG4uZW50cnktY29udGVudCBoMSxcbmVudHJ5LWNvbnRlbnQgaDIge1x0XG4gICAgZm9udC1zaXplOiAzMHB4O1xufVxuLmVudHJ5LWNvbnRlbnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbn1cbi5lbnRyeS1jb250ZW50IGg0LCBcbi5lbnRyeS1jb250ZW50IGg1XG4uZW50cnktY29udGVudCBoNntcbiAgICBmb250LXNpemU6IDIwcHg7XG59XG4uZW50cnktY29udGVudCBoNSxcbi5lbnRyeS1jb250ZW50IGg2e1xuXHRjb2xvcjogZ3JheTt9XG5cdFxuI3RvcGljcy1iYXIgdWwgbGkge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVx0XG5cdFxuLyogZW5kIG5hdCdzIGNoYW5nZXMgKi9cblxuYSB7XG4gIGNvbG9yOiBAcmVkO1xuICAmOmhvdmVyIHtcbiAgXHRjb2xvcjogQHJlZDtcbiAgXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICB9XG5cblx0XHRcbnAsXG5idXR0b24sXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IEBib2R5O1xuICBmb250LXdlaWdodDogMzAwO1xufVxuaDUuYnlsaW5lIHtcbiAgZm9udC1mYW1pbHk6IEBzbWFsbHRleHQ7XG59XG5cbi8qIExhcmdvIEhlbHZldGljYSBPdmVycmlkZXMgKi9cbi50b3AtdGFnLCBcbi5uYXYsIFxuLnRvcC1kYXRlLCBcbi5sb2FkLW1vcmUsIFxuLnBvc3Qtc29jaWFsPnNwYW4sXG4ucnNzLXN1YnNjcmliZS1saW5rLFxuLnRhZ3MsXG4ucmVsYXRlZC1pdGVtcyBwLFxuLnN1YnNjcmliZSxcbi53aWRnZXQubGFyZ28tc2VyaWVzLXBvc3RzIGxpIGEsXG51bC5zdGFmZi1yb3N0ZXIgLnN0YWZmLW5hbWUsXG4uYXJjaGl2ZS1iYWNrZ3JvdW5kIC5yZWxhdGVkLXRvcGljcyxcbi5sYWJlbHMsXG4ubmF2YmFyLFxuLnBhZ2VyLFxuLnBvc3QtcGFnaW5hdGlvbiBhLFxuLnBvc3QtcGFnaW5hdGlvbiBzcGFuLFxuLyogQU5BTFlUSUMgQlJJREdFICovXG4jc2lkZWJhciAud2lkZ2V0X2FuYWx5dGljLWJyaWRnZS1wb3B1bGFyLXBvc3RzIG9sIGxpOjpiZWZvcmUge1xuICBmb250LWZhbWlseTogQHNhbnM7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59IiwiLndpZGdldHRpdGxlLFxuLnN0b3JpZXMgaDMud2lkZ2V0dGl0bGUge1xuICAuc2VjdGlvbi10aXRsZTtcbiAgYSB7XG4gICAgY29sb3I6IEBibHVlO1xuICB9XG59XG5cbi53aWRnZXQge1xuICBwYWRkaW5nOiAwO1xuICBoNSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxuICAvLyBkZWZhdWx0IGFkZHMgLjY2ZW0gYm90dG9tIHBhZGRpbmdcbiAgLy8gbmVlZCB0byByZXBsYWNlIHRoaXMgd2l0aCBhIGJvdHRvbSBtYXJnaW4gZHVlIHRvIHRoZSBncmF5IGJvcmRlciBhcm91bmQgaW1hZ2VzXG4gIGltZy5hdHRhY2htZW50LWxhcmdlLFxuICBpbWcuYXR0YWNobWVudC1tZWRpdW0ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjZlbTtcbiAgfVxufVxuXG4jc2lkZWJhciB7XG4gIC53aWRnZXQge1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuICAud2lkZ2V0dGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjRweDsgIFxuICB9XG59XG4uYXV0aG9yLWJveCB1bCBsaSB7XG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBibHVlO1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbihAYmx1ZSwxMCUpO1xuICAgIH0gXG4gIH1cbn1cbi5hcnRpY2xlLWJvdHRvbSAuYXV0aG9yLWJveCB7XG4gIC53aWRnZXR0aXRsZSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8gTGFyZ28gdGF4IGxpc3Qgd2lkZ2V0XG4ud2lkZ2V0LWFyZWEgLmxhcmdvLXRheG9ub215LWxpc3QgaDUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLmxhcmdvLXRheG9ub215LWxpc3QgIHtcbiAgYSB7XG4gICAgY29sb3I6IEBncmF5RGFyaztcbiAgICBmb250LWZhbWlseTogQHNhbnM7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBAYmx1ZTtcbiAgICB9XG4gIH1cbiAgaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuLy8gU2F2ZWQgTGlua3Mgd2lkZ2V0XG4uc2F2ZWQtbGlua3Mge1xuICBib3JkZXI6IDFweCBzb2xpZCBAZ3JheUxpZ2h0O1xuICBwYWRkaW5nOiAyNHB4O1xufVxuLnNvdXJjZSB7XG4gIGZvbnQtZmFtaWx5OiBAc2FucztcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbi8vIE92ZXJyaWRlIHNvbWUgc3R5bGVzIHNldCBpbiB0aGUgU2F2ZWQgTGlua3MgV2lkZ2V0IENTUywgd2hpY2ggaXMgZW5xdWV1ZWQgYWZ0ZXIgdGhpcyB0aGVtZVxuLndpZGdldC5zYXZlZC1saW5rcyAucG9zdC1sZWFkIHtcbiAgcCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG4gIGg1IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIHAuZGVzY3JpcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgfVxufVxuXG4vLyBEb3VibGVjbGljayBhZHNcbi5kZnctdW5pdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiQWR2ZXJ0aXNlbWVudFwiO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogQHNtYWxsdGV4dDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogQGdyYXk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiNoZWFkZXItYWQtem9uZS1jb250YWluZXIsXG4jYmVmb3JlLWZvb3Rlcixcbi5hZC16b25lLmNlbnRlciB7XG4gIGRpdiBkaXYge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG4gIC5kZnctdW5pdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbn1cbiNoZWFkZXItYWQtem9uZS1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIHBhZGRpbmc6IDVweCAwO1xufVxuLmJlZm9yZS1mb290ZXItd3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG4jYmVmb3JlLWZvb3RlciB7XG4gIHBhZGRpbmc6IDRweCAwIDhweDtcbn1cblxuI3NpZGViYXIgLndpZGdldF9hbmFseXRpYy1icmlkZ2UtcG9wdWxhci1wb3N0cyBsaStsaSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmctdG9wOiAxMnB4O1xufVxuXG4vLyBGb290ZXIgXG4jc2l0ZS1mb290ZXIgbGkge1xuICBsZXR0ZXItc3BhY2luZzogMC4xZW07XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGEge1xuICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogQHJlZDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxuICB1bCB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICNzaXRlLWZvb3RlciBsaSBsaTpsYXN0LWNoaWxkLFxuICAjc2l0ZS1mb290ZXIgLndpZGdldCxcbiAgI3NpdGUtZm9vdGVyIGRpdltjbGFzc149XCJzcGFuXCJdIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4jYm9pbGVycGxhdGUgcCB7XG4gIGZvbnQtZmFtaWx5OiBAc21hbGx0ZXh0O1xufVxuI3NpdGUtZm9vdGVyIC5zcGFuNSB1bCBsaTpsYXN0LWNoaWxkIGEge1xuICBwYWRkaW5nOiAxMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC5jdGEtYnV0dG9uO1xufVxuaGVhZGVyIC5uZXdzbGV0dGVyLXNpZ251cCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMjdweDtcbiAgcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICBmb250LXNpemU6IDIwcHg7XG59XG4ubmV3c2xldHRlci1zaWdudXAge1xuICB6LWluZGV4OiA5OTk7XG4gIGEge1xuICAgIGNvbG9yOiBAYmxhY2s7XG4gICAgZm9udC1mYW1pbHk6IEBzYW5zO1xuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgY29sb3I6IGxpZ2h0ZW4oQGJsYWNrLCAzMCUpO1xuICAgICAgc3BhbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oQHJlZCwgMTAlKTtcbiAgICAgICAgY29sb3I6IEB3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgc3BhbiB7XG4gICAgLmN0YS1idXR0b247XG4gICAgcGFkZGluZzogNXB4IDhweCA4cHggOHB4O1xuICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gIH1cbn1cbi5hcnRpY2xlLWJvdHRvbSAubmV3c2xldHRlci1zaWdudXAge1xuICBmb250LXNpemU6IDI0cHg7XG4gIG1hcmdpbi1ib3R0b206IDJlbTtcbn1cbiIsIi8qIEJhc2Ugc3R5bGVzIGZvciBzZWN0aW9uIGFuZCB3aWRnZXQgdGl0bGVzICovXG4uc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6IEBibHVlO1xuICBwYWRkaW5nLWJvdHRvbTogMC4zZW07XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBAYmx1ZTtcbn1cblxuLnRleHQtYWxpZ24tY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uY3RhLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEByZWQ7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1mYW1pbHk6IEBzYW5zO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgLy8gRm9yIGxpbmtzXG4gIGEsIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEByZWQsMTAlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxufVxuIiwiLmdsb2JhbC1uYXYge1xuICAjaGVhZGVyLXNlYXJjaCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuI2hlYWRlci1zZWFyY2gge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi10b3A6IDEycHg7XG59XG5cbi5kb25hdGUtYnRuIHtcbiAgLmN0YS1idXR0b25cbn1cblxuI3NpdGUtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDEwcHggMDtcbiAgLmhlYWRlcl9pbWcge1xuICAgIG1heC13aWR0aDogMjA4cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG59XG5cbiNtYWluLW5hdi5uYXZiYXIge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2FhYTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNhYWE7XG4gIGxpIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgJiA+IGEge1xuICAgICAgbGluZS1oZWlnaHQ6IDUycHg7XG4gICAgfVxuICB9XG59XG4jbWFpbi1uYXYubmF2YmFyIC5kcm9wZG93bi1tZW51IGxpID4gYSB7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4O1xufVxuXG4jdG9waWNzLWJhciBhIHtcbiAgY29sb3I6IEBibHVlO1xufVxuIiwiLyoqXG4gKiBEZWZpbmUgdGhlIHZhcmlvdXMgcGFkZGluZ3MgYW5kIGhlaWdodHMgYXJvdW5kIHRoZSBmbGFnXG4gKi9cbkBmbGFnQmFzZTogMWVtO1xuQGZsYWdMaW5lSGVpZ2h0OiAxLjM7IC8vIFRoaXMgaXMgdGhlIGxhcmdvIGhlYWRpbmcgZGVmYXVsdC5cbkBmbGFnUGFkZGluZzogMTAvMTYqQGZsYWdCYXNlO1xuQGZsYWdIZWlnaHQ6IChAZmxhZ0xpbmVIZWlnaHQgKiBAZmxhZ0Jhc2UpICsgQGZsYWdQYWRkaW5nICsgQGZsYWdQYWRkaW5nO1xuXG4vKipcbiAqIEluY3JlYXNlIHRoZSBoZWlnaHQgb2YgdGhlIHBhZGRpbmcgb24gcG9zdCBoZWFkbGluZXNcbiAqL1xuYm9keS5ub3JtYWwuc2luZ2xlLXBvc3Qge1xuICAucG9zdC10eXBlLXByZXNzLXJlbGVhc2VzIGgxLmVudHJ5LXRpdGxlLFxuICAucG9zdC10eXBlLXNwb25zb3JlZCBoMS5lbnRyeS10aXRsZSB7XG4gICAgcGFkZGluZy10b3A6IDUwcHggKyAxMnB4OyAvLyBlc3RpbWF0ZWQgZmxhZyBoZWlnaHQgcGx1cyB0aGUgbWFyZ2luLWJvdHRvbSBmcm9tIHRoaXMgaDEuZW50cnktdGl0bGUsIGZvciB1bmlmb3JtIHNwYWNpbmcgaW4gdGhlIGhlYWRlci5cbiAgICBjbGVhcjogYm90aDtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjI1ZW07XG4gICAgfVxuICB9XG59XG5cblxuLyoqXG4gKiBBIG1peGluIHRvIHNldCB1cCB0aGUgYmFzaWMgOjpiZWZvcmUgYW5kIDo6YWZ0ZXIgYW5kIGJhY2tncm91bmQgYW5kIHBhZGRpbmcgZm9yIHRoZSBQcmVzcyBSZWxlYXNlcyBhbmQgU3BvbnNvcmVkIHBvc3QgdHlwZXMuXG4gKlxuICogRG9lc24ndCBzZXQgdGhlIGJhY2tncm91bmQgY29sb3Igb3IgdGhlIGJvcmRlciBjb2xvcnMuIERvZXMgc2V0IHRoZWlyIHdpZHRocyBhbmQgcGFkZGluZy5cbiAqL1xuLmZsYWctbWl4aW57XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwLjYyNWVtOyAvLyAxMC8xNlxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtZmFtaWx5OiBAc21hbGx0ZXh0O1xuICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xICogKCAwLjUgKiBAZmxhZ0hlaWdodCApO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6ICggMC41ICogQGZsYWdIZWlnaHQgKTtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZCA7XG4gICAgYm9yZGVyLXJpZ2h0OiAoMC41ICogQGZsYWdIZWlnaHQpIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICggMC41ICogQGZsYWdIZWlnaHQgKTtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuXG4vKlxuICogR2VuZXJhbCBwb3N0IHN0eWxlc1xuICovXG4ucG9zdC10eXBlLXByZXNzLXJlbGVhc2VzLFxuLnBvc3QtdHlwZS1zcG9uc29yZWQge1xuICAudG9wLXRhZyB7XG4gICAgc3BhbiB7XG4gICAgICB6LWluZGV4OiAxMDtcbiAgICB9XG4gICAgYSB7XG4gICAgICAuZmxhZy1taXhpbjtcbiAgICAgIC8vXG4gICAgICAvLyBDaGFuZ2luZyB0aGlzIGZvbnQgc2l6ZSB3aWxsIGNoYW5nZSB0aGUgZmxhZyBzaXplIHByb3BvcnRpb25hbGx5IVxuICAgICAgLy9cbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG4gIH1cbn1cblxuLypcbiAqIFNwZWNpZmljIGNvbG9yIHN0eWxlc1xuICovXG4ucG9zdC10eXBlLXByZXNzLXJlbGVhc2VzIC50b3AtdGFnIGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAeWVsbG93O1xuICAmOjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQHllbGxvdztcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQHllbGxvdztcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAeWVsbG93O1xuICB9XG59XG4ucG9zdC10eXBlLXNwb25zb3JlZCAudG9wLXRhZyBhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpZ2h0Ymx1ZTtcbiAgJjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQGxpZ2h0Ymx1ZTtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQGxpZ2h0Ymx1ZTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAbGlnaHRibHVlO1xuICB9XG59XG5cbi8vIGZpeCBmb3IgaG9tZXBhZ2UgYmVsb3ctdG9wc3Rvcnlcbi50b3BzdG9yeS1iZWxvdyAuaGFzLXRodW1ibmFpbC5wb3N0LXR5cGUtcHJlc3MtcmVsZWFzZXMsXG4udG9wc3RvcnktYmVsb3cgLmhhcy10aHVtYm5haWwucG9zdC10eXBlLXNwb25zb3JlZCB7XG4gIC50b3AtdGFnIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAvLyBpbiBob21lcGFnZXMvYXNzZXRzL2xlc3MvaG9tZXBhZ2UubGVzcyB0aGVyZSBpcyBhIGJveC1zaGFkb3cgb24gdGhpcyBlbGVtZW50LCBidXQgaXQgaXMgbm90IGFwcGxpZWQgaGVyZSBiZWNhdXNlIHRoZSBzaGFkb3cgZHJhd3MgYSBib3ggYXJvdW5kIHRoZSB0cmFuc3BhcmVudCBlbGVtZW50cyBhbmQgaXQgbG9va3Mgd2VpcmQuXG4gICAgICB9XG4gICAgICBjb2xvcjogQHdoaXRlO1xuICAgIH1cbiAgfVxufVxuLy8gQW5kIGZvciBhcmNoaXZlIHBhZ2VzXG4ucG9zdC10eXBlLXByZXNzLXJlbGVhc2VzLFxuLnBvc3QtdHlwZS1zcG9uc29yZWQge1xuICAuZW50cnktY29udGVudCBoNS50b3AtdGFnIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vbm90IHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBjb2x1bW4uXG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVGhlIGhpZXJhcmNoaWNhbCBoZWFkZXIgZG9lc24ndCBkaXNwbGF5IGEgdG9wIHRlcm0gKHVzZWQgaW4gY2F0ZWdvcmllcyksIHNvIHdlIGZha2UgaXQgd2l0aCBhIDo6YmVmb3JlXG4gKi9cbi5wcmltYXJ5LWZlYXR1cmVkLXBvc3QsXG4uc2Vjb25kYXJ5LWZlYXR1cmVkLXBvc3Qge1xuICAucG9zdC10eXBlLXByZXNzLXJlbGVhc2VzLFxuICAucG9zdC10eXBlLXNwb25zb3JlZCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogNDBweDsgLy8gaW5zdXJhbmNlIGFnYWluc3QgZm9udC1mYW1pbHkgc2hlbmFuaWdhbnNcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy9ub3QgdGhlIGZ1bGwgd2lkdGggb2YgdGhlIGNvbHVtbi5cbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBmb250LWZhbWlseTogQHNtYWxsdGV4dDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAeWVsbG93O1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBib3JkZXItdG9wOiAyMHB4IHNvbGlkIEB5ZWxsb3c7XG4gICAgICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkIEB5ZWxsb3c7XG4gICAgICBib3JkZXItcmlnaHQ6IDIwcHggc29saWQgd2hpdGU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuLy8gRml4IG1hcmdpbnMgb24gdGhlIDo6YmVmb3JlIGlmZiB0aGVyZSBpcyBhIGZlYXR1cmVkIG1lZGlhLCB1c2luZyB0aGUgc3BhbjggY2xhcyBzdGhhdCBpcyBvbmx5IHVzZWQgaWYgdGhlcmUgaXMgYSBmZWF0dXJlZCBtZWRpYS5cbkBtZWRpYSAoIG1pbi13aWR0aDogNzY5cHggKSB7XG4gIC5zZWNvbmRhcnktZmVhdHVyZWQtcG9zdCAuc3Bhbjgge1xuICAgIC5wb3N0LXR5cGUtcHJlc3MtcmVsZWFzZXMsXG4gICAgLnBvc3QtdHlwZS1zcG9uc29yZWQge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIuMTI3NjU5NTclO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLnByaW1hcnktZmVhdHVyZWQtcG9zdCxcbi5zZWNvbmRhcnktZmVhdHVyZWQtcG9zdCB7XG4gIC5wb3N0LXR5cGUtc3BvbnNvcmVkIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJTUE9OU09SRURcIjtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IEBsaWdodGJsdWU7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAbGlnaHRibHVlO1xuICAgIH1cbiAgfVxufVxuLnByaW1hcnktZmVhdHVyZWQtcG9zdCxcbi5zZWNvbmRhcnktZmVhdHVyZWQtcG9zdCB7XG4gIC5wb3N0LXR5cGUtcHJlc3MtcmVsZWFzZXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlBSRVNTIFJFTEVBU0VcIjtcbiAgICB9XG4gIH1cbn1cblxuaDUudG9wLXRhZyB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi8qKlxuICogU3R5bGVzIGZvciB0aGUgc3BvbnNvcmVkIGNvbnRlbnQgZGl2IHRoYXQgY2FuIGJlIHBhc3RlZCBpbnRvIHRoZSB0b3Agb2Ygc3Rvcmllcy5cbiAqXG4gKiAuc3BvbmNvbi1zcG9uc29yLWJlZm9yZS13cmFwcGVyIGlzIGZvciBsZWdhY3kgSFRNTC5cbiAqL1xuLnNwb25jb24tc3BvbnNvci1iZWZvcmUtd3JhcHBlcixcbi5zcG9uc29yZWQtYnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBwYWRkaW5nOiAwLjVlbSAwLjc1ZW0gMC43NWVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTNlM2UzO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAuY2xlYXJmaXg7XG4gIGgzLFxuICBwIHtcbiAgICBmb250LWZhbWlseTogQHNhbnM7XG4gIH1cbiAgaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gIH1cbiAgcCB7XG4gICAgbWFyZ2luLXRvcDogMS41ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbiAgLmFsaWduLWxlZnQge1xuICAgIG1heC13aWR0aDogNTAlO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuc3BvbmNvbi1zcG9uc29yLWJlZm9yZS1zcG9uc29yZWQtYnkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogNnB4IDIwcHggMTJweCAwO1xuICB9XG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi8qKlxuICogUHJlc3MgcmVsZWFzZSBwb3N0cyBtZW51LCBpbnNlcnRlZCBpbnRvIHBvc3RzXG4gKiBcbiAqIEBzZWUgcm5zX3ByZXNzX3JlbGVhc2VfbWVudVxuICovXG4jcHJlc3MtcmVsZWFzZS1tZW51IHtcbiAgdWwge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgcGFkZGluZy10b3A6IDFlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxZW07XG4gICAgcGFkZGluZy1ib3R0b206IDFlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDJlbTtcbiAgICBmb250LWZhbWlseTogQHNhbnM7XG4gIH1cbn1cbi8vIFNvbWUgc2hpbXMgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIGJveCBpcyAxMDAlIHRoZSB3aWR0aCBvZiB0aGUgc2lkZWJhciwgZXZlbiB0aG91Z2ggbm9uZSBvZiBpdHMgY29uc3RpdHVlbnQgZWxlbWVudHMgYXJlIHdpZGUgZW5vdWdoIHRvIGZvcmNlIHRoZWlyIHJlc3BlY3RpdmUgYmxvY2sgZWxlbWVudHMgb3V0IHRvIHRoZSB3aWR0aCBvZiB0aGUgc2lkZWJhci5cbkBtZWRpYSAobWF4LXdpZHRoOiAxMDc5cHgpIHtcbiAgI3NpZGViYXIgI3ByZXNzLXJlbGVhc2UtbWVudS53aWRnZXQge1xuICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTA4MHB4KSB7XG4gICNzaWRlYmFyICNwcmVzcy1yZWxlYXNlLW1lbnUud2lkZ2V0IHtcbiAgICB3aWR0aDogMzAwcHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8qKlxuICogQWRkIGEgbWFyZ2luLWJvdHRvbSB0byB0aGUgcHJlc3MgcmVsZWFzZSBmZWF0dXJlZCBpbWFnZSBpbiB0aGUgbWFpbiBib2R5IG9mIHRoZSBwb3N0XG4gKi9cbkBtZWRpYSAoIG1heC13aWR0aDogNzY4cHggKSB7XG4gICNmZWF0LWltZy1wcmVzcy1yZWxlYXNlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogQGJhc2VMaW5lSGVpZ2h0ICogQGJhc2VGb250U2l6ZTsgLy8gbWFrZSB0aGUgcGFkZGluZyBlcXVhbCB0byBvbmUgbGluZSBvZiB0ZXh0XG4gIH1cbn1cbiIsIi5zaW5nbGUtcm91bmR1cCB7XG4gIGFydGljbGUgaGVhZGVyLFxuICAuYXJ0aWNsZS1ib3R0b20sXG4gIC5lbnRyeS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDE3LjAyMTI3NjU5NCU7XG4gIH1cbiAgLmVudHJ5LWNvbnRlbnQge1xuICAgIGgzIHtcbiAgICAuc2VjdGlvbi10aXRsZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICAuaGVhZGxpbmUtZXhjZXJwdCB7XG4gICAgaDQudG9wLXRhZyB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LWZhbWlseTogQHNhbnM7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgICBjb2xvcjogI2FhYTtcbiAgICB9XG4gICAgaDMge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgfVxuICAgIC5hcnRpY2xlLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG4gICAgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBAdGFibGV0RG93biB7XG4gICAgLmFydGljbGUtYm90dG9tLFxuICAgIC5lbnRyeS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDAgQGZsdWlkR3JpZENvbHVtbldpZHRoO1xuICAgIH1cbiAgfVxuICBAbWVkaWEgQG1vYmlsZSB7XG4gICAgLmFydGljbGUtYm90dG9tLFxuICAgIC5lbnRyeS1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG59XG4iLCJib2R5Lm5vcm1hbC5wYWdlIC5lbnRyeS1jb250ZW50IHtcbiAgLmVudHJ5LWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgMTAlO1xuICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gIH1cbn1cblxuLy8gTWFyZ2luIGJldHdlZW4gdGhlIGNvbHVtbiBoZWFkZXIgb24gdHdvLWNvbHVtbiBwb3N0cyBhbmQgdGhlIHBvc3QgaGVhZGxpbmVcbi5jb2x1bW5zLWhlYWRlciArIGhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDJlbTtcbn1cblxuLy8gcmVtb3ZlIGdyYXkgYm9yZGVyIGFyb3VuZCBoZWFkZXIgaW1hZ2VzXG5ib2R5LnRheC1jb2x1bW5zICNtYWluLFxuYm9keS5zaW5nbGUtZm9ybWF0LXN0YW5kYXJkICNtYWluIHtcbiAgLmhlcm8uaXMtaW1hZ2UgaW1nIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gIH1cbn1cbiIsIi5lbnRyeS1jb250ZW50IC50YXgtdGVybS1saXN0aW5nIHtcbiAgaW1nLnRodW1iIHtcbiAgICBtYXgtd2lkdGg6IDgwcHg7XG4gIH1cbiAgaDMge1xuXHRmb250LXNpemU6IDMycHg7XG5cdG1hcmdpbi1ib3R0b206IDhweDtcblx0Ji53aWRnZXR0aXRsZSB7XG5cdCAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNhYWE7XG5cdCAgYSB7XG5cdCAgICBjb2xvcjogIzMzMztcblx0ICB9XG5cdH1cbiAgICAmLmVudHJ5LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG4gIGg1LmJ5bGluZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gIH1cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAmLnJlY2VudCB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGFydGljbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgfVxuICAuaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMzZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHVzZSBDVEEgYnV0dG9uIHN0eWxlcyBmb3IgZ3Jhdml0eSBmb3JtcyBidXR0b25zXG4uZ2Zvcm1fYnV0dG9uIHtcbiAgcGFkZGluZzogMTJweDtcbiAgLmN0YS1idXR0b247XG59XG5cbi8vIGRhdGVwaWNrZXIgZml4ZXMsIHRoZXNlIG1heSBuZWVkIHRvIGJlIHNjb3BlZCBtb3JlIG5hcnJvd2x5Li4uXG4udWktZGF0ZXBpY2tlciB7XG4gIHdpZHRoOiAyNjBweDtcbiAgdGQgYSB7XG4gICAgd2lkdGg6IDM2cHg7XG4gIH1cbn1cbi51aS1kYXRlcGlja2VyLWhlYWRlciB7XG4gIHBhZGRpbmc6IDEwcHggMjBweCAyMHB4O1xufVxuXG4uZ2Zvcm1fd3JhcHBlciB7XG4gIFxuICAvLyBjaGVja2JveGVzIGFuZCBsYWJlbHNcbiAgLmdmaWVsZF9jaGVja2JveCBsaSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctbGVmdDogMyU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIGZpeCB3ZWlyZCBzcGFjaW5nIG9mIGZpZWxkIGxhYmVscyBmb3IgYWRkcmVzc2VzXG4gIGlucHV0W3R5cGU9dGV4dF0ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLmZpZWxkX3N1YmxhYmVsX2JlbG93IC5naW5wdXRfY29tcGxleC5naW5wdXRfY29udGFpbmVyIGxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICB9XG4gIFxuICAvLyB0cnkgdG8gc2V0IHRoZSBoZWlnaHQgb2YgZHJvcGRvd24gbWVudXMgdG8gbWF0Y2ggdGV4dCBmaWVsZHNcbiAgJi5nZl9icm93c2VyX2Nocm9tZSAuZ2lucHV0X2NvbXBsZXggLmdpbnB1dF9yaWdodCBzZWxlY3QsXG4gICYuZ2ZfYnJvd3Nlcl9jaHJvbWUgLmdpbnB1dF9jb21wbGV4IHNlbGVjdCB7XG4gICAgaGVpZ2h0OiA0MXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxuICBcbn1cblxuLy8gbWFrZSB0aGUgcmFkaW8gYnV0dG9ucyBpbnRvIHJlYWwgYnV0dG9ucyBvbiBkb25hdGlvbiBmb3JtIFxuI2dmb3JtX3dyYXBwZXJfMTcge1xuICB1bC5nZmllbGRfcmFkaW8gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgaW5wdXQge1xuXHQgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGxhYmVsIHtcblx0ICBwYWRkaW5nOiAxMnB4IDI0cHg7XG5cdCAgLmN0YS1idXR0b247XG5cdCAgZm9udC1zaXplOiAxOHB4O1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkK2xhYmVsIHtcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheTtcblx0ICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBzdHlsZXMgdHdlYWtzIGZvciB0aGUgcHJlc3MgcmVsZWFzZSBzdWJtaXNzaW9uIGZvcm1cbiNnZm9ybV93cmFwcGVyXzI0IHtcbiAgLmdmaWVsZF9kZXNjcmlwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDhweDtcbiAgfVxuICAuZ2Zvcm1fbmV4dF9idXR0b24sXG4gIC5nZm9ybV9wcmV2aW91c19idXR0b24ge1xuICAgIC5jdGEtYnV0dG9uO1xuICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgfVxuICAuZ2Zvcm1fcHJldmlvdXNfYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheTtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gIH1cbn0iLCIvKipcbiAqIFN0eWxlcyBmb3IgdGhlIHNlYXJjaHdwIHNob3J0Y29kZSwgd2hlbiB1c2VkIHdpdGggdGhlICdwaG90bycgZW5naW5lXG4gKi9cbi5zZWFyY2h3cC1zaG9ydGNvZGUtcmVzdWx0cy5waG90byB7XG4gIC5zcGFuMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xuXG4gICAgLmJ0bixcbiAgICAuc2l6ZSxcbiAgICAud3AtY2FwdGlvbi10ZXh0IHAge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gICAgICBmb250LWZhbWlseTogQHNhbnM7XG4gICAgfVxuXG4gICAgLy8gZm91ciBjb2x1bW5zXG4gICAgQG1lZGlhICggbWluLXdpZHRoOiA3NjlweCApIHtcbiAgICAgICY6bnRoLWNoaWxkKDRuKzEpIHtcbiAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHR3byBjb2x1bW5zXG4gICAgQG1lZGlhICggbWluLXdpZHRoOiA0MjBweCApIGFuZCAoIG1heC13aWR0aDogNzY4cHggKSB7XG4gICAgICB3aWR0aDogNDguOTM2MTcwMjElO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIuMTI3NjU5NTclO1xuICAgICAgJjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBvbmUgY29sdW1uXG4gICAgQG1lZGlhICggbWF4LXdpZHRoOiA0MTlweCApIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG4gIH1cbiAgLmRhdGUtbGluayB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vKipcbiAqIFRoZSBhZHZhbmNlZCBwaG90byBzZWFyY2ggYnV0dG9uXG4gKi9cbiNhZHZhbmNlZC1zZWFyY2gge1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGEge1xuICB9XG59XG4iLCIvKipcbiAqIFN0eWxlcyBmb3IgdGhlICdkb3dubG9hZCcgcG9zdCB0eXBlIHJlZ2lzdGVyZWQgYnkgRWFzeSBEaWdpdGFsIERvd25sb2Fkc1xuICovXG5cbi8qKlxuICogU3R5bGVzIGZvciBzaW5nbGUtZG93bmxvYWQucGhwIGFuZCBwYXJ0aWFscy9jb250ZW50LWRvd25sb2FkLnBocFxuICovXG4udHlwZS1kb3dubG9hZCB7XG4gIGgxLmVudHJ5LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gIH1cblxuICAuZG93bmxvYWQtY29udGVudHMtdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICB9XG5cbiAgLmRvd25sb2FkLWNvbnRlbnRzIHtcbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgfVxuICAgIC5zaXplIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBAc2FucztcbiAgICAgIHBhZGRpbmc6IDAgMnB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNWVtO1xuICAgICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICAgIG91dGxpbmU6IDFweCBzb2xpZCBAcmVkO1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSBAdGFibGV0VXAgIHtcbiAgICAuZW50cnktY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwIDE3LjAyMTI3NjU5NCU7XG4gICAgfVxuXG4gICAgPiBoZWFkZXIge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBtYXJnaW46IDI0cHggMTcuMDIxMyU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICB9XG59XG5cbi5lZGQtYWRkLXRvLWNhcnQuYnV0dG9uLmJsdWUge1xuICAuY3RhLWJ1dHRvbjtcbiAgZm9udC1zaXplOiAxLjNlbTtcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGUgYmFzaWNzLCBpbXBvcnRlZCBmcm9tIExhcmdvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcInZhcmlhYmxlcy5sZXNzXCI7XG5AaW1wb3J0IFwibWl4aW5zLmxlc3NcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJOUyBjdXN0b20gdmFyaWFibGVzIHVzZWQgaW4gdGhlIG5hdmJhciBhbmQgZm9vdGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcInZhcnMubGVzc1wiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTGF5b3V0IGFuZCBwYWdlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJuYXZiYXItY29tbW9uLmxlc3NcIjtcbkBpbXBvcnQgXCJuYXZiYXItc3RpY2t5Lmxlc3NcIjtcbkBpbXBvcnQgXCJmb290ZXIubGVzc1wiO1xuQGltcG9ydCBcInNpbmdsZS5sZXNzXCI7XG5cbkBpbXBvcnQgXCJfdHlwb2dyYXBoeS5sZXNzXCI7XG5AaW1wb3J0IFwiX3dpZGdldHMubGVzc1wiO1xuQGltcG9ydCBcIl9oZWFkZXIubGVzc1wiO1xuQGltcG9ydCBcIl9taXhpbnMubGVzc1wiO1xuXG5AaW1wb3J0IFwic3BvbnNvcmVkLmxlc3NcIjtcbkBpbXBvcnQgXCJzbGluZ3Nob3RzLmxlc3NcIjtcbkBpbXBvcnQgXCJjb2x1bW5zLmxlc3NcIjtcbkBpbXBvcnQgXCJ0YXgubGVzc1wiO1xuQGltcG9ydCBcImZvcm1zLmxlc3NcIjtcbkBpbXBvcnQgXCJzZWFyY2gubGVzc1wiO1xuQGltcG9ydCBcImRvd25sb2Fkcy5sZXNzXCI7XG5cblxuLyogR2VuZXJhbCBTdHlsZXMgKi9cbmJvZHkge1xuICBwIHtcbiAgICBjb2xvcjogIzE1MTcxOTtcbiAgfVxufVxuXG4udGV4dHdpZGdldCB7XG4gIGZvbnQtZmFtaWx5OiBAYm9keTtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG4uYnRuIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgJi5idG4tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJsdWU7XG4gICAgY29sb3I6IEB3aGl0ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJsdWUsIDUlKTtcbiAgICB9XG4gIH1cbn1cblxuI21haW4gaW1nIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbn1cblxuI25hdi1iZWxvdyxcbi5tb3JlbGluayxcbiNuYXYtYmVsb3cucGFnZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luOiAyNHB4IDA7XG4gIGZvbnQtZmFtaWx5OiBAc2FucztcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgYSB7XG4gICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmx1ZTtcbiAgICAuYm9yZGVyLXJhZGl1cyg0cHgpO1xuICAgICY6aG92ZXIge1xuXHQgIGJhY2tncm91bmQtY29sb3I6ICNhYWE7XG5cdCAgY29sb3I6ICNmZmY7XG5cdCAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuI25hdi1iZWxvdy5wYWdlciBhLFxuI25hdi1iZWxvdyAubW9yZWxpbmsgYSB7XG4gIHBhZGRpbmc6IDI0cHggNDhweDtcbn1cblxuLnBhZ2UtdGVtcGxhdGUtcGFnZS1jbGVhbiBoZWFkZXIudGV4dC1hbGlnbi1jZW50ZXIge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuYm9keS5ub3JtYWwucGFnZS10ZW1wbGF0ZS1wYWdlLWNsZWFuIGFydGljbGUucGFnZSA+IGhlYWRlci5lbnRyeS1oZWFkZXIge1xuICBtYXJnaW46IDI0cHggMDtcbn1cbiJdfQ== */