@font-face {
  font-family: "SS Standard";
  src: url("/assets/fonts/SS-Standard/ss-standard.woff") format("woff"), url("/assets/fonts/SS-Standard/ss-standard.eot");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Torque";
  src: url("/assets/fonts/Torque/torqueweb-medium.woff") format("woff"), url("/assets/fonts/Torque/torqueweb-medium.eot");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Calibre";
  src: url("/assets/fonts/Calibre/CalibreWeb-Regular.woff2") format("woff2"), url("/assets/fonts/Calibre/CalibreWeb-Regular.woff") format("woff"), url("/assets/fonts/Calibre/CalibreWeb-Regular.eot");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Calibre";
  src: url("/assets/fonts/Calibre/CalibreWeb-Bold.woff2") format("woff2"), url("/assets/fonts/Calibre/CalibreWeb-Bold.woff") format("woff"), url("/assets/fonts/Calibre/CalibreWeb-Bold.eot");
  font-weight: 600;
  font-style: normal;
}
html {
  background: #222222;
}
body {
  font-size: 16px;
  font-family: "Calibre", Helvetica, Arial, sans-serif;
  color: #222222;
}
body.Body--Locked {
  overflow: hidden;
  position: fixed;
}
a {
  color: #2661c6;
  cursor: pointer;
}
@media (min-width: 50rem) {
  html.no-touchevents a {
    -webkit-transition: color 0.2s, opacity 0.2s;
    transition: color 0.2s, opacity 0.2s;
  }
  html.no-touchevents a:hover {
    color: #1e4c9b;
  }
}
html.touchevents a:active {
  opacity: 0.75;
}
a:focus {
  outline: none;
}
strong {
  font-weight: 600;
}
.SiteContent {
  background: #fff;
}
.SiteContent .Layer:first-of-type {
  padding-top: 1.25rem;
}
.SiteContent .Layer:last-of-type {
  padding-bottom: 1.25rem;
}
@media (max-width: 50rem) {
  .SiteContent .Layer:first-of-type {
    padding-top: 1.5rem;
  }
  .SiteContent .Layer:last-of-type {
    padding-bottom: 1.5rem;
  }
}
.SiteFooter {
  font-size: 7px;
  background: #222222;
  color: #aaaaaa;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.SiteFooter a {
  color: #aaaaaa;
  text-decoration: underline;
}
html.no-touchevents .SiteFooter a:hover {
  color: #888888;
}
@media (min-width: 24rem) {
  .SiteFooter {
    font-size: 8px;
  }
}
@media (min-width: 50rem) {
  .SiteFooter {
    font-size: 11px;
  }
}
.SiteFooter__Inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 2rem;
}
.SiteFooter__Logo {
  margin-right: auto;
}
.SiteFooter__Logo svg {
  stroke: #fff;
  width: 64px;
  height: auto;
}
@media (min-width: 50rem) {
  .SiteFooter__Logo svg {
    width: 78px;
  }
}
.SiteFooter__Trademarks {
  margin-left: 0.5rem;
}
@media (min-width: 50rem) {
  .SiteFooter__Trademarks svg {
    margin-left: 1rem;
  }
}
/*
 * Site Header Dropdowns
 * Mostly just extend the mobile nav
 * Lots of !important in here, beware. Probably the only way to get this done cleanly, but not ideal
 */
.JS__SiteHeader__Dropdown {
  display: none;
}
.SiteHeader__Dropdown {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  background: #fff;
  -webkit-box-shadow: 2px 2px 24px rgba(0, 0, 0, 0.2);
          box-shadow: 2px 2px 24px rgba(0, 0, 0, 0.2);
  max-width: 18rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  overflow: hidden;
}
a.SiteHeader__Dropdown__Link {
  height: 44px !important;
}
html.no-touchevents a.SiteHeader__Dropdown__Link:hover {
  color: #666666 !important;
}
html.no-touchevents a.SiteHeader__Dropdown__Link:hover .SiteHeader__Dropdown__Link__Image {
  left: 0 !important;
  opacity: 0.9;
}
.SiteHeader__Dropdown__Link__Image {
  opacity: 1;
  border-top-right-radius: 4px !important;
  border-bottom-right-radius: 4px !important;
  width: 10px !important;
  left: -2px !important;
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
}
/*
 * Site Header
 * The "Site" Header is the main header element on the page, with the navigation, logo, and page title. The styles we use to define an element like this do not need to be reusable or systemitized, merely sensible.
 */
.SiteHeader {
  color: #fff;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.SiteHeader::after,
.SiteHeader::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 0;
}
.SiteHeader::after {
  height: 60px;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.3)));
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.3));
}
.SiteHeader::before {
  top: 0;
  background: -webkit-gradient(linear, left top, right top, from(rgba(12, 31, 65, 0.75)), to(rgba(12, 31, 65, 0)));
  background: linear-gradient(to right, rgba(12, 31, 65, 0.75), rgba(12, 31, 65, 0));
}
.SiteHeader__Background {
  -o-object-fit: cover;
     object-fit: cover;
  z-index: -1;
  background: #222222;
}
.SiteHeader__Wrapper {
  overflow: hidden;
}
.SiteHeader__Inner {
  min-height: 140px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
/*
 * Nav Area
 */
.SiteHeader__Navs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.SiteHeader__Logo {
  margin-top: 16px;
  width: 78px;
  position: relative;
  z-index: 1;
}
.SiteHeader__Logo svg {
  stroke: #fff;
}
html.no-touchevents .SiteHeader__Logo:hover {
  opacity: 0.75;
}
html.no-touchevents .SiteHeader__Logo:active {
  opacity: 0.5;
}
/*
 * Main Area
 */
.SiteHeader__Main {
  margin-top: auto;
  padding: 1.25rem 0;
  position: relative;
  z-index: 1;
}
.SiteHeader__Superhead {
  margin-bottom: 0.75rem;
  max-width: 45rem;
  color: rgba(255, 255, 255, 0.5) !important;
}
.SiteHeader__Headline {
  margin-bottom: -6px;
}
.SiteHeader__Subhead {
  margin-top: 1rem;
  max-width: 45rem;
}
.SiteHeader__CTA--Mobile {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}
.SiteHeader__CTA--Mobile .Button {
  padding-left: 0.875rem;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.SiteHeader__CTA--Desktop {
  margin-top: 1rem;
}
@media (max-width: 49.99999rem) {
  .SiteHeader--HasPrimaryCTA .SiteHeader__Main {
    padding-bottom: 2.25rem;
  }
}
/*
 * Mobile Menu Trigger
 */
.SiteHeader__MobileMenuTrigger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-left: auto;
  text-transform: uppercase;
  letter-spacing: 2px;
  position: relative;
  z-index: 3;
  height: 40px;
  color: #fff;
  font-weight: 600;
  font-size: 10px;
  padding-left: 68px;
}
html.no-touchevents .SiteHeader__MobileMenuTrigger:hover {
  color: inherit;
}
html.touchevents .SiteHeader__MobileMenuTrigger:active {
  color: #cccccc;
  opacity: 1;
}
html.touchevents .SiteHeader__MobileMenuTrigger:active svg {
  fill: #cccccc;
}
html.touchevents .SiteHeader__MobileMenuTrigger:active .SiteHeader__MobileMenuTrigger__Notch {
  fill: #363636;
}
body.Body--Locked .SiteHeader__MobileMenuTrigger {
  position: fixed;
  top: 0;
  right: 0.75rem;
}
.SiteHeader__MobileMenuTrigger__Hamburger {
  margin-right: 0.5rem;
}
.SiteHeader__MobileMenuTrigger__Notch {
  fill: #222222;
  height: 40px;
  width: auto;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
/*
 * Desktop Menu
 * Special style with notch on each side. Has custom behavior to use the same notch BG element all the time, but resize and position it appropriately.
 */
.SiteHeader__DesktopMenu {
  margin-left: auto;
  position: relative;
  z-index: 1;
  height: 40px;
  max-width: 1040px;
  padding-left: 84px;
}
.SiteHeader__DesktopMenu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0 -0.5rem;
}
.SiteHeader__DesktopMenu__Link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  height: 40px;
  font-size: 12px;
  letter-spacing: 0.05px;
  padding: 2px 6px 0;
  white-space: nowrap;
  font-weight: 600;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
html.no-touchevents .SiteHeader__DesktopMenu__Link:hover {
  color: rgba(255, 255, 255, 0.75);
}
.SiteHeader__DesktopMenu__Link.SiteHeader__DropdownTrigger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
}
.SiteHeader__DesktopMenu__Link.SiteHeader__DropdownTrigger::before {
  content: "";
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  opacity: 0;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0)), to(rgba(255, 255, 255, 0.2)));
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.2));
}
.SiteHeader__DesktopMenu__Link.SiteHeader__DropdownTrigger::after {
  content: "";
  display: block;
  border-top: 5px solid rgba(255, 255, 255, 0.2);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  margin-left: 5px;
}
.SiteHeader__DesktopMenu__Link.SiteHeader__DropdownTrigger--IsActive {
  color: rgba(255, 255, 255, 0.75);
}
.SiteHeader__DesktopMenu__Link.SiteHeader__DropdownTrigger--IsActive::after {
  border-top-color: rgba(255, 255, 255, 0.4);
}
.SiteHeader__DesktopMenu__Link.SiteHeader__DropdownTrigger--IsActive::before {
  opacity: 1;
}
.SiteHeader__DesktopMenu__Notch {
  fill: #222222;
  height: 100%;
  width: auto;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
}
.SiteHeader--HasSimpleHeader .SiteHeader__Inner {
  min-height: 91px;
}
.SiteHeader.SiteHeader--HasSimpleHeader::before {
  background: -webkit-gradient(linear, left top, right top, from(rgba(12, 31, 65, 0.75)), to(#2661c6));
  background: linear-gradient(to right, rgba(12, 31, 65, 0.75), #2661c6);
}
/*
 * Responsive Breakpoints
 */
@media (max-width: 49.99999rem) {
  .SiteHeader__DesktopMenu {
    display: none;
  }
  .SiteHeader {
    background-size: 200% 200%;
  }
}
@media (max-width: 49.99999rem) and (-webkit-min-device-pixel-ratio: 2), (max-width: 49.99999rem) and (min-resolution: 192dpi) {
  .SiteHeader {
    background-size: 100% 100%;
  }
}
@media (min-width: 50rem) {
  .SiteHeader__Inner {
    min-height: 240px;
  }
  .SiteHeader__MobileMenuTrigger {
    display: none;
  }
}
@media (min-width: 52rem) {
  .SiteHeader__DesktopMenu__Link {
    padding-left: 8px;
    padding-right: 8px;
  }
}
@media (min-width: 58rem) {
  .SiteHeader__Logo {
    width: 104px;
    margin-top: 20px;
  }
  .SiteHeader__DesktopMenu {
    height: 50px;
    padding-left: 105px;
  }
  .SiteHeader__DesktopMenu ul {
    margin: 0 -0.75rem;
  }
  .SiteHeader__DesktopMenu__Link {
    font-size: 13px;
    height: 50px;
  }
}
@media (min-width: 62rem) {
  .SiteHeader__DesktopMenu__Link {
    font-size: 14px;
  }
}
@media (min-width: 68rem) {
  .SiteHeader__DesktopMenu {
    padding-right: 105px;
    margin-right: -105px;
    width: 1040px;
  }
  .SiteHeader__DesktopMenu ul {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .SiteHeader__DesktopMenu::after {
    content: "";
    width: 100px;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
    background: #222222;
    -webkit-transition: top 0.2s;
    transition: top 0.2s;
  }
  .SiteHeader__DesktopMenu__Link {
    font-size: 1rem;
    padding-bottom: 0;
  }
}
@media (min-width: 76rem) {
  .SiteHeader__DesktopMenu::after {
    top: -100%;
    -webkit-transition: top 0.2s;
    transition: top 0.2s;
  }
}
@media (min-width: 1920px) {
  .SiteHeader {
    background-size: contain;
  }
}
/*
 * Alternative Headers
 */
.SiteHeader--Special .SiteHeader__Inner {
  min-height: 240px;
}
@media (min-width: 50rem) {
  .SiteHeader--Special .SiteHeader__Inner {
    min-height: 320px;
  }
}
.SiteHeader--ExtraSpecial .SiteHeader__Inner {
  min-height: 320px;
}
@media (min-width: 50rem) {
  .SiteHeader--ExtraSpecial .SiteHeader__Inner {
    min-height: 400px;
  }
}
/*
 * Home Styles
 * Styles for the disc are under the .StatCarousel object
 */
@media (max-width: 49.99999rem) {
  .SiteHeader--Home .SiteHeader__Inner {
    height: calc(100vh - 4rem);
    min-height: 400px;
    max-height: 600px;
  }
  .SiteHeader--Home.SiteHeader--AnimationTakeover .SiteHeader__Inner {
    height: auto;
    max-height: none;
  }
  .SiteHeader--Home.SiteHeader--AnimationTakeover .StatCarousel {
    height: auto;
  }
  .SiteHeader--Home.SiteHeader--AnimationTakeover .StatCarousel__Stat__Wrapper {
    position: static;
    top: auto;
    left: auto;
  }
  .SiteHeader--Home.SiteHeader--AnimationTakeover .StatCarousel__Stat:not(.StatCarousel__Stat--Video) {
    max-width: 75%;
    margin-left: auto;
    margin-right: auto;
  }
  .SiteHeader--Home.SiteHeader--AnimationTakeover .StatCarousel__Stat--Video {
    position: relative;
    height: 120px;
    max-height: 120px;
  }
  .SiteHeader--Home.SiteHeader--AnimationTakeover .StatCarousel__Stat--Video video {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    opacity: 0.9999;
  }
  .SiteHeader--Home.SiteHeader--AnimationTakeover .StatCarousel__Stripe {
    z-index: 10;
  }
  .SiteHeader--Home .SiteHeader__Main {
    padding-bottom: 0;
  }
  .SiteHeader--Home .SiteHeader__CTA--Mobile {
    left: auto;
    right: 0;
  }
  .SiteHeader--Home .SiteHeader__CTA--Mobile .Button {
    border-radius: 99px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    padding-left: 1.5rem;
    padding-right: 0.875rem;
  }
  .SiteHeader--Home .SiteHeader--Home__Stats {
    margin: 1.25rem -0.75rem 0;
  }
}
@media (min-width: 50rem) {
  .SiteHeader--Home {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .SiteHeader--Home .SiteHeader__Wrapper {
    height: 100%;
  }
  .SiteHeader--Home .SiteHeader__Inner {
    height: 100%;
    min-height: 350px;
  }
  .SiteHeader--Home .SiteHeader__Main {
    margin-bottom: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 0 3rem;
  }
}
@media (min-width: 50rem) and (max-height: 680px) and (min-width: 50rem) {
  .SiteHeader--Home .SiteHeader--Home__Stats .StatCarousel {
    height: 200px;
    width: 200px;
  }
  .SiteHeader--Home .SiteHeader--Home__Stats .StatCarousel .StatCarousel__Stat {
    top: 2.75rem;
  }
  .SiteHeader--Home .SiteHeader--Home__Stats .StatCarousel .StatCarousel__Stat__Value {
    font-size: 80px !important;
  }
}
@media (min-width: 50rem) {
  body.Body--HasHomeHeader {
    height: 100vh;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  body.Body--HasHomeHeader pre.Special__Debug {
    display: none;
  }
}
/*
 * Small Text style
 * Used for text-heavy, but short headers
 */
/*
 * Bare style
 * Used for browser unsupported page where nav should not be visible
 */
.SiteHeader--Bare {
  background: #1d4996;
}
.SiteHeader--Bare .SiteHeader__DesktopMenu,
.SiteHeader--Bare .SiteHeader__MobileMenuTrigger {
  display: none;
}
.SiteHeader--Bare .SiteHeader__Background {
  display: none;
}
.JS__SiteMobileNav {
  display: none;
}
.SiteMobileNav {
  background: #fff;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  padding-bottom: 1.25rem;
  z-index: 2;
}
.SiteMobileNav__Logo {
  display: block;
  width: 120px;
  margin: 1rem 1.25rem;
}
.SiteMobileNav__Logo svg {
  stroke: #2661c6;
}
.SiteMobileNav__Menu,
.SiteHeader__Dropdown__Section {
  padding-left: 1.25rem;
  margin-top: 1.25rem;
}
.SiteMobileNav__Menu ul,
.SiteHeader__Dropdown__Section ul {
  margin-top: 4px;
}
a.SiteMobileNav__Link,
a.SiteHeader__Dropdown__Link {
  font-weight: 600;
  color: #222222;
  font-size: 1rem;
  letter-spacing: 0.03rem;
  line-height: 1.5rem;
}
.SiteMobileNav__Menu--Primary,
.SiteHeader__Dropdown__Section {
  padding-left: 0;
}
.SiteMobileNav__Menu--Primary ul,
.SiteHeader__Dropdown__Section ul {
  margin-top: 10px;
}
.SiteMobileNav__Menu--Primary ul::before,
.SiteHeader__Dropdown__Section ul::before {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#f8f8f8), to(#eee));
  background: linear-gradient(to right, #f8f8f8, #eee);
}
.SiteMobileNav__Menu--Primary ul li::after,
.SiteHeader__Dropdown__Section ul li::after {
  content: "";
  display: block;
  height: 1px;
  width: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#f8f8f8), to(#eee));
  background: linear-gradient(to right, #f8f8f8, #eee);
  -webkit-transform-origin: 0% 0%;
          transform-origin: 0% 0%;
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .SiteMobileNav__Menu--Primary ul li::after,
  .SiteHeader__Dropdown__Section ul li::after {
    -webkit-transform: scaleY(0.5);
            transform: scaleY(0.5);
  }
}
.SiteMobileNav__Menu--Primary .SiteMobileNav__Menu__Title,
.SiteHeader__Dropdown__Section .SiteMobileNav__Menu__Title,
.SiteMobileNav__Menu--Primary .SiteHeader__Dropdown__Section__Title,
.SiteHeader__Dropdown__Section__Title {
  padding: 0 1.25rem;
}
.SiteMobileNav__Menu--Primary a.SiteMobileNav__Link,
.SiteHeader__Dropdown__Section a.SiteMobileNav__Link,
.SiteMobileNav__Menu--Primary a.SiteHeader__Dropdown__Link,
a.SiteHeader__Dropdown__Link {
  position: relative;
  display: block;
  height: 42px;
  line-height: 42px;
  padding: 0 1.25rem;
  font-size: 1.125rem;
}
.SiteMobileNav__Menu--Primary .SiteMobileNav__Link__Image__Wrapper,
.SiteHeader__Dropdown__Section .SiteMobileNav__Link__Image__Wrapper,
.SiteHeader__Dropdown__Link__Image__Wrapper {
  position: absolute;
  left: 0;
  top: 2px;
  bottom: 2px;
  overflow: hidden;
  width: 8px;
  border-top-right-radius: 2px;
  border-bottom-right-radius: 2px;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.25);
}
.SiteMobileNav__Menu--Primary .SiteMobileNav__Link__Image,
.SiteHeader__Dropdown__Section .SiteMobileNav__Link__Image,
.SiteHeader__Dropdown__Link__Image {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (min-width: 50rem) {
  .SiteMobileNav {
    display: none;
  }
}
.JS__SiteMobileTray {
  display: none;
}
.SiteMobileTray {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  background: #222222;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0.25rem;
  height: 30px;
  z-index: 9;
}
@media (min-width: 50rem) {
  .SiteMobileTray {
    display: none !important;
  }
}
.SiteMobileTray__Logo svg {
  width: 80px;
  height: auto;
  stroke: #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.SiteMobileTray__MenuTrigger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-transform: uppercase;
  letter-spacing: 2px;
  font-weight: 600;
  font-size: 10px;
  color: #fff;
  margin-left: auto;
}
.SiteMobileTray__MenuTrigger__Hamburger {
  margin-right: 0.375rem;
}
.SiteMobileTray__CTA {
  margin-left: -0.25rem;
}
.SiteMobileTray__CTA .Button {
  font-size: 8px;
  padding: 7px 1rem 7px 0.75rem;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}
.Grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: -1rem 0 0 -1rem;
}
.Grid > .Grid__Cell {
  padding: 1rem 0 0 1rem;
}
.Grid--JustifyContentCentered {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.Grid--JustifyContentSpaceBetween {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.Grid--JustifyContentSpaceBetween .Grid__Cell {
  -webkit-box-flex: 1;
      -ms-flex: auto;
          flex: auto;
}
.Grid--JustifyContentFlexEnd {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media (max-width: 24rem) {
  .Grid--FlexDirectionColumnReverse__Small {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media (max-width: 50rem) {
  .Grid--FlexDirectionColumnReverse__Medium {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
/* *
 * Extensions: Spacing
 */
.Grid--SpacingSmall {
  margin: -0.25rem 0 0 -0.25rem;
}
.Grid--SpacingSmall > .Grid__Cell {
  padding: 0.25rem 0 0 0.25rem;
}
.Grid--SpacingSmall > .Grid__Cell--MBorderLeft::after {
  left: 0.125rem;
  top: 0.25rem;
}
.Grid--SpacingMedium {
  margin: -1rem 0 0 -1rem;
}
.Grid--SpacingMedium > .Grid__Cell {
  padding: 1rem 0 0 1rem;
}
.Grid--SpacingMedium > .Grid__Cell--MBorderLeft::after {
  left: 0.5rem;
  top: 1rem;
}
.Grid--SpacingLarge {
  margin: -2rem 0 0 -2rem;
}
.Grid--SpacingLarge > .Grid__Cell {
  padding: 2rem 0 0 2rem;
}
.Grid--SpacingLarge > .Grid__Cell--MBorderLeft::after {
  left: 1rem;
  top: 2rem;
}
.Grid--SpacingJumbo {
  margin: -4rem 0 0 -4rem;
}
.Grid--SpacingJumbo > .Grid__Cell {
  padding: 4rem 0 0 4rem;
}
.Grid--SpacingJumbo > .Grid__Cell--MBorderLeft::after {
  left: 2rem;
  top: 4rem;
}
.Grid--SpacingFlex {
  margin: -1rem 0 0 -1rem;
}
.Grid--SpacingFlex > .Grid__Cell {
  padding: 1rem 0 0 1rem;
}
.Grid--SpacingFlex > .Grid__Cell--MBorderLeft::after {
  left: 0.5rem;
  top: 1rem;
}
@media (min-width: 50rem) {
  .Grid--SpacingFlex {
    margin: -1.5rem 0 0 -1.5rem;
  }
  .Grid--SpacingFlex > .Grid__Cell {
    padding: 1.5rem 0 0 1.5rem;
  }
  .Grid--SpacingFlex > .Grid__Cell--MBorderLeft::after {
    left: 0.75rem;
    top: 1.5rem;
  }
}
@media (min-width: 68rem) {
  .Grid--SpacingFlex {
    margin: -2rem 0 0 -2rem;
  }
  .Grid--SpacingFlex > .Grid__Cell {
    padding: 2rem 0 0 2rem;
  }
  .Grid--SpacingFlex > .Grid__Cell--MBorderLeft::after {
    left: 1rem;
    top: 2rem;
  }
}
.Grid--SpacingFlexSmall {
  margin: -0.5rem 0 0 -0.5rem;
}
.Grid--SpacingFlexSmall > .Grid__Cell {
  padding: 0.5rem 0 0 0.5rem;
}
.Grid--SpacingFlexSmall > .Grid__Cell--MBorderLeft::after {
  left: 0.25rem;
  top: 0.5rem;
}
@media (min-width: 50rem) {
  .Grid--SpacingFlexSmall {
    margin: -1rem 0 0 -1rem;
  }
  .Grid--SpacingFlexSmall > .Grid__Cell {
    padding: 1rem 0 0 1rem;
  }
  .Grid--SpacingFlexSmall > .Grid__Cell--MBorderLeft::after {
    left: 0.5rem;
    top: 1rem;
  }
}
@media (min-width: 68rem) {
  .Grid--SpacingFlexSmall {
    margin: -1.5rem 0 0 -1.5rem;
  }
  .Grid--SpacingFlexSmall > .Grid__Cell {
    padding: 1.5rem 0 0 1.5rem;
  }
  .Grid--SpacingFlexSmall > .Grid__Cell--MBorderLeft::after {
    left: 0.75rem;
    top: 1.5rem;
  }
}
.Grid--SpacingFlexLarge {
  margin: -1.5rem 0 0 -1.5rem;
}
.Grid--SpacingFlexLarge > .Grid__Cell {
  padding: 1.5rem 0 0 1.5rem;
}
.Grid--SpacingFlexLarge > .Grid__Cell--MBorderLeft::after {
  left: 0.75rem;
  top: 1.5rem;
}
@media (min-width: 50rem) {
  .Grid--SpacingFlexLarge {
    margin: -2rem 0 0 -2rem;
  }
  .Grid--SpacingFlexLarge > .Grid__Cell {
    padding: 2rem 0 0 2rem;
  }
  .Grid--SpacingFlexLarge > .Grid__Cell--MBorderLeft::after {
    left: 1rem;
    top: 2rem;
  }
}
@media (min-width: 68rem) {
  .Grid--SpacingFlexLarge {
    margin: -3rem 0 0 -3rem;
  }
  .Grid--SpacingFlexLarge > .Grid__Cell {
    padding: 3rem 0 0 3rem;
  }
  .Grid--SpacingFlexLarge > .Grid__Cell--MBorderLeft::after {
    left: 1.5rem;
    top: 3rem;
  }
}
.Grid--SpacingVerticalNone {
  margin-top: 0;
}
.Grid--SpacingVerticalNone > .Grid__Cell {
  padding-top: 0;
}
/*
 * Grid Cells
 */
.Grid__Cell {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.Grid__Cell--AutoSize {
  -webkit-box-flex: 0;
      -ms-flex: none;
          flex: none;
}
.Grid__Cell--VerticalAlignCenter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (min-width: 50rem) {
  .Grid__Cell--DesktopGridEnd {
    -webkit-box-ordinal-group: 100;
        -ms-flex-order: 99;
            order: 99;
  }
}
.Grid__Cell--AlignEnd {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
  margin-left: auto;
}
.Grid__Cell--1of6 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 16.666%;
          flex: 0 0 16.666%;
  width: 16.666%;
  max-width: 16.666%;
}
.Grid__Cell--1of5 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
  width: 20%;
  max-width: 20%;
}
.Grid__Cell--1of4 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  width: 25%;
  max-width: 25%;
}
.Grid__Cell--1of3 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.333%;
          flex: 0 0 33.333%;
  width: 33.333%;
  max-width: 33.333%;
}
.Grid__Cell--1of2 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  width: 50%;
  max-width: 50%;
}
.Grid__Cell--3of5 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 60%;
          flex: 0 0 60%;
  width: 60%;
  max-width: 60%;
}
.Grid__Cell--2of3 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 66.666%;
          flex: 0 0 66.666%;
  width: 66.666%;
  max-width: 66.666%;
}
.Grid__Cell--2of5 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 40%;
          flex: 0 0 40%;
  width: 40%;
  max-width: 40%;
}
.Grid__Cell--3of4 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
  width: 75%;
  max-width: 75%;
}
.Grid__Cell--1of1 {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  width: 100%;
  max-width: 100%;
}
@media (min-width: 24rem) {
  .Grid__Cell--S1of6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.666%;
            flex: 0 0 16.666%;
    width: 16.666%;
    max-width: 16.666%;
  }
  .Grid__Cell--S1of5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    width: 20%;
    max-width: 20%;
  }
  .Grid__Cell--S1of4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    width: 25%;
    max-width: 25%;
  }
  .Grid__Cell--S1of3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.333%;
            flex: 0 0 33.333%;
    width: 33.333%;
    max-width: 33.333%;
  }
  .Grid__Cell--S1of2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
  }
  .Grid__Cell--S3of5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 60%;
            flex: 0 0 60%;
    width: 60%;
    max-width: 60%;
  }
  .Grid__Cell--S2of3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.666%;
            flex: 0 0 66.666%;
    width: 66.666%;
    max-width: 66.666%;
  }
  .Grid__Cell--S2of5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
            flex: 0 0 40%;
    width: 40%;
    max-width: 40%;
  }
  .Grid__Cell--S3of4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    width: 75%;
    max-width: 75%;
  }
  .Grid__Cell--S1of1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
}
@media (min-width: 50rem) {
  .Grid__Cell--M1of6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.666%;
            flex: 0 0 16.666%;
    width: 16.666%;
    max-width: 16.666%;
  }
  .Grid__Cell--M1of5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    width: 20%;
    max-width: 20%;
  }
  .Grid__Cell--M1of4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    width: 25%;
    max-width: 25%;
  }
  .Grid__Cell--M1of3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.333%;
            flex: 0 0 33.333%;
    width: 33.333%;
    max-width: 33.333%;
  }
  .Grid__Cell--M1of2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
  }
  .Grid__Cell--M3of5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 60%;
            flex: 0 0 60%;
    width: 60%;
    max-width: 60%;
  }
  .Grid__Cell--M2of3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.666%;
            flex: 0 0 66.666%;
    width: 66.666%;
    max-width: 66.666%;
  }
  .Grid__Cell--M2of5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
            flex: 0 0 40%;
    width: 40%;
    max-width: 40%;
  }
  .Grid__Cell--M3of4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    width: 75%;
    max-width: 75%;
  }
  .Grid__Cell--M1of1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
}
@media (min-width: 68rem) {
  .Grid__Cell--L1of6 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 16.666%;
            flex: 0 0 16.666%;
    width: 16.666%;
    max-width: 16.666%;
  }
  .Grid__Cell--L1of5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 20%;
            flex: 0 0 20%;
    width: 20%;
    max-width: 20%;
  }
  .Grid__Cell--L1of4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 25%;
            flex: 0 0 25%;
    width: 25%;
    max-width: 25%;
  }
  .Grid__Cell--L1of3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.333%;
            flex: 0 0 33.333%;
    width: 33.333%;
    max-width: 33.333%;
  }
  .Grid__Cell--L1of2 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    width: 50%;
    max-width: 50%;
  }
  .Grid__Cell--L3of5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 60%;
            flex: 0 0 60%;
    width: 60%;
    max-width: 60%;
  }
  .Grid__Cell--L2of3 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 66.666%;
            flex: 0 0 66.666%;
    width: 66.666%;
    max-width: 66.666%;
  }
  .Grid__Cell--L2of5 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40%;
            flex: 0 0 40%;
    width: 40%;
    max-width: 40%;
  }
  .Grid__Cell--L3of4 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 75%;
            flex: 0 0 75%;
    width: 75%;
    max-width: 75%;
  }
  .Grid__Cell--L1of1 {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
  }
}
@media (min-width: 50rem) {
  .Grid__Cell--MBorderLeft {
    position: relative;
  }
  .Grid__Cell--MBorderLeft::after {
    content: "";
    position: absolute;
    left: 0.5rem;
    bottom: 0;
    width: 1px;
    background: rgba(0, 0, 0, 0.1);
  }
}
.Grid__Layout__Card .Grid__Cell {
  padding: 0;
}
.Grid__Layout__Card > .Grid__Cell {
  padding: 3rem 0 0 3rem;
}
.Grid__Layout__Card .Grid.Grid__Card {
  padding: 20px;
  background-color: #00000005;
  height: 100%;
  position: relative;
  padding-bottom: 70px;
}
.Grid__Layout__Card .Grid.Grid__Card .Module__Foot {
  position: absolute;
  bottom: 20px;
  left: 20px;
}
.Layer:last-child {
  padding-bottom: 1.5rem;
}
.Layer__Inner,
.SiteFooter__Inner,
.SiteHeader__Inner {
  padding: 1.25rem 0.75rem;
  max-width: 71rem;
  margin: 0 auto;
}
@media (min-width: 50rem) {
  .Layer__Inner,
  .SiteFooter__Inner,
  .SiteHeader__Inner {
    padding: 1.25rem 1.5rem;
  }
}
@media (min-width: 68rem) {
  .Layer__Inner,
  .SiteFooter__Inner,
  .SiteHeader__Inner {
    padding: 2rem 1.5rem;
  }
}
.Layer__Inner--Inset {
  max-width: 700px;
}
.Layer__Inner--PaddingTopNone,
.Layer__Inner--PaddingVerticalNone,
.SiteFooter__Inner,
.SiteHeader__Inner {
  padding-top: 0;
}
.Layer__Inner--PaddingBottomNone,
.Layer__Inner--PaddingVerticalNone,
.SiteFooter__Inner,
.SiteHeader__Inner {
  padding-bottom: 0;
}
.Layer__Inner--PaddingTopLarge,
.Layer__Inner--PaddingVerticalLarge {
  padding-top: 2rem;
}
@media (min-width: 68rem) {
  .Layer__Inner--PaddingTopLarge,
  .Layer__Inner--PaddingVerticalLarge {
    padding-top: 3rem;
  }
}
.Layer__Inner--PaddingBottomLarge,
.Layer__Inner--PaddingVerticalLarge {
  padding-bottom: 2rem;
}
@media (min-width: 68rem) {
  .Layer__Inner--PaddingBottomLarge,
  .Layer__Inner--PaddingVerticalLarge {
    padding-bottom: 3rem;
  }
}
.Layer__Inner--PaddingTopLarger,
.Layer__Inner--PaddingVerticalLarger {
  padding-top: 4rem;
}
@media (min-width: 68rem) {
  .Layer__Inner--PaddingTopLarger,
  .Layer__Inner--PaddingVerticalLarger {
    padding-top: 6rem;
  }
}
.Layer__Inner--PaddingBottomLarger,
.Layer__Inner--PaddingVerticalLarger {
  padding-bottom: 4rem;
}
@media (min-width: 68rem) {
  .Layer__Inner--PaddingBottomLarger,
  .Layer__Inner--PaddingVerticalLarger {
    padding-bottom: 6rem;
  }
}
.Layer--BorderSeparated + .Layer--BorderSeparated {
  border-top: solid 3px #eeeeee;
}
.Layer--Bordered {
  border-top: 2px solid #eeeeee;
  border-bottom: 2px solid #eeeeee;
}
.Layer--SpacingLarge .Layer__Inner,
.Layer--SpacingLarge .SiteFooter__Inner,
.Layer--SpacingLarge .SiteHeader__Inner {
  padding: 5rem 0.75rem;
}
.Layer--PatternBackground {
  position: relative;
  z-index: 0;
  margin: 1.25rem 0;
  background: #222222;
}
.Layer--PatternBackground::after {
  content: "";
  z-index: 2;
  background: -webkit-gradient(linear, left top, right top, from(#222222), to(rgba(34, 34, 34, 0)));
  background: linear-gradient(to right, #222222, rgba(34, 34, 34, 0));
}
.Layer--PatternBackground .Layer__Background {
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 1;
}
.Layer--PatternBackground .Layer__Inner,
.Layer--PatternBackground .SiteFooter__Inner,
.Layer--PatternBackground .SiteHeader__Inner {
  position: relative;
  z-index: 3;
}
@media (min-width: 50rem) {
  .Layer--PatternBackground {
    margin: 1.5rem 0;
  }
}
.Layer--SpectrumBackground {
  position: relative;
  overflow: hidden;
  margin: 1.5rem 0;
}
.Layer--SpectrumBackground .SpectrumBackground {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vw;
}
@media (min-width: 68rem) {
  .Layer--SpectrumBackground .SpectrumBackground {
    height: 68rem;
  }
}
.Layer--SpectrumBackground .Layer__Inner,
.Layer--SpectrumBackground .SiteFooter__Inner,
.Layer--SpectrumBackground .SiteHeader__Inner {
  position: relative;
  z-index: 1;
  padding-top: calc(5vw + 3rem);
}
@media (min-width: 68rem) {
  .Layer--SpectrumBackground .Layer__Inner,
  .Layer--SpectrumBackground .SiteFooter__Inner,
  .Layer--SpectrumBackground .SiteHeader__Inner {
    padding-top: 6.4rem;
  }
}
@media (min-width: 50rem) {
  .Layer--SpectrumBackground {
    margin: 1.5rem 0;
  }
}
.Layer--SpectrumBackground--Curved .Layer__Inner,
.Layer--SpectrumBackground--Curved .SiteFooter__Inner,
.Layer--SpectrumBackground--Curved .SiteHeader__Inner {
  padding-top: calc(5vw + 1rem);
}
@media (min-width: 68rem) {
  .Layer--SpectrumBackground--Curved .Layer__Inner,
  .Layer--SpectrumBackground--Curved .SiteFooter__Inner,
  .Layer--SpectrumBackground--Curved .SiteHeader__Inner {
    padding-top: 4.4rem;
  }
}
html.no-vectoreffect .SpectrumBackground--Curved__Arc {
  stroke-width: 0.25;
}
html.no-vectoreffect .SpectrumBackground--Curved__Shade {
  stroke-width: 0.2;
}
html.no-vectoreffect .SpectrumBackground--Straight__Line {
  stroke-width: 0.25;
}
.Layer--HorizontalFlush .Layer__Inner,
.Layer--HorizontalFlush .SiteFooter__Inner,
.Layer--HorizontalFlush .SiteHeader__Inner {
  padding-left: 0;
  padding-right: 0;
  max-width: none;
}
.Layer--HorizontalFlush__RestoreMaxWidth {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
  max-width: 71rem;
  margin: 0 auto;
}
@media (min-width: 50rem) {
  .Layer--DesktopCollapse {
    overflow: visible;
    height: 0;
    padding: 0 !important;
  }
  .Layer--DesktopCollapse .Layer__Inner,
  .Layer--DesktopCollapse .SiteFooter__Inner,
  .Layer--DesktopCollapse .SiteHeader__Inner {
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}
.Module__Head + .Module__Head {
  padding-top: 1rem;
}
.Module__Head + .Module__Row,
.Module__Row + .Module__Row {
  padding-top: 1rem;
}
.Module__Foot {
  padding-top: 1rem;
}
.Module--SpacingSmall .Module__Head + .Module__Row {
  padding-top: 0.5rem;
}
.Module--SpacingSmall .Module__Row + .Module__Row {
  padding-top: 0.5rem;
}
.Module--SpacingSmall .Module__Foot {
  padding-top: 0.5rem;
}
.Module--SpacingLarge > .Module__Head + .Module__Row,
.Module--SpacingLarge > .Module__Row + .Module__Row {
  padding-top: 1.5rem;
}
.Module--SpacingLarge > .Module__Foot {
  padding-top: 1.5rem;
}
.Module--SpacingLarger > .Module__Head + .Module__Row,
.Module--SpacingLarger > .Module__Row + .Module__Row {
  padding-top: 2.25rem;
}
.Module--SpacingLarger > .Module__Foot {
  padding-top: 2.25rem;
}
.Module--SpacingJumbo > .Module__Head + .Module__Row,
.Module--SpacingJumbo > .Module__Row + .Module__Row {
  padding-top: 3rem;
}
.Module--SpacingJumbo > .Module__Foot {
  padding-top: 3rem;
}
.Module__Head--BorderBottom {
  border-bottom: 2px solid #eeeeee;
  padding-bottom: 0.5rem;
}
.Module__Head--BorderBottom--ColorDark {
  border-bottom: 2px solid #444444;
  padding-bottom: 0.5rem;
}
.Module--BorderTop {
  margin-top: 2rem;
  border-top: 1px solid #eeeeee;
  padding-top: 2rem;
}
.Module--BorderTop--MarginSmall {
  margin-top: 1rem;
  padding-top: 1rem;
}
.Module--BorderTop--NoMargin {
  margin-top: 0;
}
@media (max-width: 49.99999rem) {
  .Module--BorderTop--NoMargin--MobileOnly {
    margin-top: 0;
  }
}
.Module--BorderBottom {
  margin-bottom: 2rem;
  border-bottom: 1px solid #eeeeee;
  padding-bottom: 2rem;
}
.Module--CutOut {
  padding: 1.25rem;
  position: relative;
}
.Module--CutOut__BG {
  z-index: -1;
}
.Module__Row--MarginTopLarge {
  margin-top: 3rem;
}
/*
 * Site Overlay
 */
/*
 * Overall Rules
 */
.SiteOverlay {
  z-index: 10;
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(255, 255, 255, 0.96);
  overflow: auto;
}
.SiteOverlay__CloseButton {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 1;
  opacity: 0;
}
.SiteOverlay__CloseButton::after {
  content: "";
  background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2064%2064%22%3E%3Cline%20stroke%3D%22%23222222%22%20stroke-width%3D%224%22%20x1%3D%228%22%20y1%3D%228%22%20x2%3D%2256%22%20y2%3D%2256%22%20%2F%3E%3Cline%20stroke%3D%22%23222222%22%20stroke-width%3D%224%22%20x1%3D%2256%22%20y1%3D%228%22%20x2%3D%228%22%20y2%3D%2256%22%20%2F%3E%3C%2Fsvg%3E") center center no-repeat;
  display: block;
  width: 2rem;
  height: 2rem;
  opacity: 0.8;
  -webkit-transition: all 0.12s;
  transition: all 0.12s;
}
html.no-touchevents .SiteOverlay__CloseButton:hover::after,
html.touchevents .SiteOverlay__CloseButton:active::after {
  opacity: 1;
}
html.no-touchevents .SiteOverlay__CloseButton:active::after {
  opacity: 0.5;
}
.SiteOverlay__Inner {
  padding: 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  min-height: 100%;
  min-width: 100%;
}
.AnimatedGraphicILT {
  margin: 0 auto;
  max-height: 30rem;
  max-width: 30rem;
  overflow: hidden;
}
.JS__AnimatedLogo {
  display: none;
}
html.no-firstload .JS__AnimatedLogo {
  display: block;
}
a.ArrowLink {
  font-size: 12px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: top;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
a.ArrowLink svg {
  margin-left: 6px;
  width: 4px;
  height: 6px;
  stroke: #2661c6;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media (min-width: 50rem) {
  a.ArrowLink {
    font-size: 18px;
  }
  a.ArrowLink svg {
    width: 6px;
    height: 9px;
    margin-bottom: -2px;
    margin-left: 8px;
  }
}
html.no-touchevents a.ArrowLink:hover svg {
  color: #1d4996;
  margin-left: 8px;
}
@media (min-width: 50rem) {
  html.no-touchevents a.ArrowLink:hover svg {
    margin-left: 10px;
  }
}
.Button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-radius: 99rem;
  cursor: pointer;
  padding: 0.875rem 1.5rem;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 0.1)), to(rgba(0, 0, 0, 0.1))) #2661c6;
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.1), rgba(0, 0, 0, 0.1)) #2661c6;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.18);
  color: #fff;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  white-space: nowrap;
}
html.no-touchevents .Button:hover {
  background-color: #1d4996;
  color: #fff;
}
html.no-touchevents .Button:active {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  background-color: #0c1f41;
}
@media (min-width: 50rem) {
  .Button {
    padding: 1rem 2.75rem;
  }
}
.Button--SizeSmall {
  font-size: 12px;
  padding: 0.75rem 1.25rem;
  letter-spacing: 0.2em;
}
@media (min-width: 50rem) {
  .Button--SizeSmall {
    padding: 0.75rem 1.75rem;
  }
}
.Button__Icon {
  margin-right: 0.75rem;
}
.Button__Icon svg {
  fill: #fff;
  stroke: #fff;
  height: 9px;
  width: 6px;
}
.Button__Icon--Right {
  margin-right: 0;
  margin-left: 0.75rem;
}
.Button--ColorGold,
.SiteMobileTray__CTA .Button {
  background-color: #fad02a;
}
html.no-touchevents .Button--ColorGold:hover {
  background-color: #ebbd06;
  color: #fff;
}
html.no-touchevents .Button--ColorGold:active {
  -webkit-transform: translateY(2px);
          transform: translateY(2px);
  background-color: #ba9504;
}
@media (max-width: 49.99999rem) {
  .Button--MobileFlushLeft {
    margin-left: -0.75rem;
    padding-left: 0.75rem;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
}
@media (max-width: 49.99999rem) {
  .Button--MobileFlushRight {
    margin-right: -0.75rem;
    padding-right: 0.75rem;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
}
a.Card {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  padding: 1rem;
  border-radius: 8px;
  -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  height: 6rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
a.Card::after {
  content: "";
  background: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.8)), to(rgba(0, 0, 0, 0)));
  background: linear-gradient(to right, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
  z-index: -1;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
html.no-touchevents a.Card:hover .Card__Image {
  -webkit-transform: scale(0.999);
          transform: scale(0.999);
}
html.no-touchevents a.Card:hover::after {
  opacity: 0.8;
}
.Card__Image {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: -10%;
  right: -10%;
  width: 120%;
  height: 120%;
  -webkit-transform: scale(0.94);
          transform: scale(0.94);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
  -webkit-transform-origin: 60% 50%;
          transform-origin: 60% 50%;
  background: #2661c6;
  z-index: -2;
}
.Card__Label {
  opacity: 0.5;
}
.Card__Title {
  font-weight: 600;
  color: #fff;
  font-size: 1.25rem;
}
.DownloadBlock {
  position: relative;
  -webkit-box-shadow: 0 2px 1rem rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 1rem rgba(0, 0, 0, 0.1);
}
img.DownloadBlock__Thumb {
  width: 100%;
  height: auto;
  opacity: 0.3;
}
.DownloadBlock__Inner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}
.Fill,
.SiteHeader__Background,
.SiteHeader__DesktopMenu__Link.SiteHeader__DropdownTrigger::before,
.Layer--PatternBackground::after,
.Layer--PatternBackground .Layer__Background,
.Module--CutOut__BG,
a.Card::after,
.Form__Field__Input__BG,
.Form__Field--File__Label,
.VideoTrigger__Inner,
.VideoTrigger__Thumb,
.VideoTrigger__Background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.Form {
  margin: 0 auto;
}
.Form input[type="text"],
.Form input[type="email"],
.Form input[type="tel"],
.Form input[type="password"],
.Form textarea {
  outline: none;
  border: none;
  width: 100%;
}
.Form textarea {
  resize: none;
}
.Form .g-recaptcha {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.Form__Field {
  margin-bottom: 1rem;
}
.Form__Field__Label {
  display: inline-block;
  text-transform: uppercase;
  margin-bottom: 0.375rem;
  margin-left: 1.5rem;
  color: #888888 !important;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.Form__Field--IsActive .Form__Field__Label {
  color: #2661c6 !important;
}
.Form__Field__Input {
  position: relative;
  border-radius: 23px;
  height: 46px;
  -webkit-box-shadow: 0 0 2px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 2px rgba(0, 0, 0, 0.1), 0 4px 8px rgba(0, 0, 0, 0.1);
}
.Form__Field__Input input,
.Form__Field__Input textarea,
.Form__Field__Input select {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  font-size: 1rem;
  border-radius: 21px;
  font-family: Calibre;
  z-index: 1;
  padding-left: 1.5rem;
  outline: none;
  background: none;
  color: #444444;
}
.Form__Field__Input input::-moz-placeholder,
.Form__Field__Input textarea::-moz-placeholder,
.Form__Field__Input select::-moz-placeholder {
  color: #cccccc;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
.Form__Field__Input input:-ms-input-placeholder,
.Form__Field__Input textarea:-ms-input-placeholder,
.Form__Field__Input select:-ms-input-placeholder {
  color: #cccccc;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
.Form__Field__Input input:-moz-placeholder,
.Form__Field__Input textarea:-moz-placeholder,
.Form__Field__Input select:-moz-placeholder {
  color: #cccccc;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
.Form__Field__Input input::-webkit-input-placeholder,
.Form__Field__Input textarea::-webkit-input-placeholder,
.Form__Field__Input select::-webkit-input-placeholder {
  color: #cccccc;
  -webkit-transition: color 0.2s;
  transition: color 0.2s;
}
.Form__Field__Input input:-webkit-autofill,
.Form__Field__Input textarea:-webkit-autofill,
.Form__Field__Input select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
}
html.no-touchevents .Form__Field__Input input:hover::-moz-placeholder,
html.no-touchevents .Form__Field__Input textarea:hover::-moz-placeholder,
html.no-touchevents .Form__Field__Input select:hover::-moz-placeholder {
  color: #aaaaaa;
}
html.no-touchevents .Form__Field__Input input:hover:-ms-input-placeholder,
html.no-touchevents .Form__Field__Input textarea:hover:-ms-input-placeholder,
html.no-touchevents .Form__Field__Input select:hover:-ms-input-placeholder {
  color: #aaaaaa;
}
html.no-touchevents .Form__Field__Input input:hover:-moz-placeholder,
html.no-touchevents .Form__Field__Input textarea:hover:-moz-placeholder,
html.no-touchevents .Form__Field__Input select:hover:-moz-placeholder {
  color: #aaaaaa;
}
html.no-touchevents .Form__Field__Input input:hover::-webkit-input-placeholder,
html.no-touchevents .Form__Field__Input textarea:hover::-webkit-input-placeholder,
html.no-touchevents .Form__Field__Input select:hover::-webkit-input-placeholder {
  color: #aaaaaa;
}
.Form__Field__Input__BG {
  opacity: 0;
}
.Form__Button {
  padding-top: 0.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.Form__Field--Required .Form__Field__Label::after {
  content: "*Required";
  color: #aaaaaa;
  font-size: 8px;
  margin-left: 0.5rem;
}
.Form__Field--Textarea .Form__Field__Input {
  height: 200px;
}
.Form__Field--Textarea textarea {
  padding: 1rem 1.5rem;
  right: 1rem;
  width: calc(100% - 1rem);
}
.Form__Field--Select select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  cursor: pointer;
}
.Form__Field--Select__Decoration svg {
  position: absolute;
  width: 30px;
  height: 26px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: 1rem;
}
html.no-touchevents .Form__Field--Select__Decoration:hover .Form__Field--Select__Decoration__Arrow {
  fill: #aaaaaa;
}
.Form__Field--Select__Decoration__Arrow {
  fill: #cccccc;
}
.Form__Field--File input {
  opacity: 0;
  z-index: -1000;
}
.Form__Field--File__Label {
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  cursor: pointer;
  color: #cccccc;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
html.no-touchevents .Form__Field--File__Label:hover {
  color: #aaaaaa;
}
html.no-touchevents .Form__Field--File__Label:hover .Form__Field--File__Label__Icon svg {
  fill: #aaaaaa;
}
.Form__Field--File__Label__Icon {
  padding-left: 1.5rem;
  padding-right: 0.5rem;
}
.Form__Field--File__Label__Icon svg {
  fill: #cccccc;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.Form__Field--File--IsModified .Form__Field--File__Label {
  color: #444444;
}
.Form__Field--File--IsModified .Form__Field--File__Label svg {
  fill: #444444;
}
html.no-touchevents .Form__Field--File--IsModified .Form__Field--File__Label:hover {
  color: #666666;
}
html.no-touchevents .Form__Field--File--IsModified .Form__Field--File__Label:hover .Form__Field--File__Label__Icon svg {
  fill: #666666;
}
.JS__Form__Field--Conditional {
  display: none;
}
.Form--MaxWidth {
  max-width: 22.5rem;
}
.Form__errors {
  background: #ffe4e4;
  padding: 12px;
  border-radius: 6px;
  margin-bottom: 24px;
  color: #fa2a2a;
  -webkit-box-shadow: 0 0 2px rgba(219, 0, 0, 0.1), 0 4px 8px rgba(219, 0, 0, 0.1);
          box-shadow: 0 0 2px rgba(219, 0, 0, 0.1), 0 4px 8px rgba(219, 0, 0, 0.1);
}
@media (min-width: 75rem) {
  .GraphBlock {
    margin-left: -4rem;
  }
}
/*
 * Hamburger animation
 */
.Hamburger {
  width: 18px;
  height: 14px;
  fill: #fff;
  margin-right: 0.5rem;
  -webkit-transition: -webkit-transform 0.1s;
  transition: -webkit-transform 0.1s;
  transition: transform 0.1s;
  transition: transform 0.1s, -webkit-transform 0.1s;
  position: relative;
}
.Hamburger__Bar {
  position: absolute;
  background-color: #fff;
  height: 2px;
  left: 0;
  right: 0;
  -webkit-transition: all 0.1s;
  transition: all 0.1s;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.Hamburger__Bar[bar-id="top"] {
  top: 0;
}
.Hamburger__Bar[bar-id="middle"] {
  top: 6px;
}
.Hamburger__Bar[bar-id="bottom"] {
  top: 12px;
}
.Hamburger--SizeSmall {
  width: 16px;
  height: 12px;
}
.Hamburger--SizeSmall .Hamburger__Bar[bar-id="middle"] {
  top: 5px;
}
.Hamburger--SizeSmall .Hamburger__Bar[bar-id="bottom"] {
  top: 10px;
}
.Hamburger--IsActive,
.JS__SiteMobileNavTrigger--IsActive .SiteHeader__MobileMenuTrigger__Hamburger {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: -webkit-transform 0.1s;
  transition: -webkit-transform 0.1s;
  transition: transform 0.1s;
  transition: transform 0.1s, -webkit-transform 0.1s;
}
.Hamburger--IsActive .Hamburger__Bar[bar-id="bottom"],
.JS__SiteMobileNavTrigger--IsActive .SiteHeader__MobileMenuTrigger__Hamburger .Hamburger__Bar[bar-id="bottom"] {
  top: 6px;
}
.Hamburger--IsActive .Hamburger__Bar[bar-id="middle"],
.JS__SiteMobileNavTrigger--IsActive .SiteHeader__MobileMenuTrigger__Hamburger .Hamburger__Bar[bar-id="middle"] {
  opacity: 0;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.Hamburger--IsActive .Hamburger__Bar[bar-id="top"],
.JS__SiteMobileNavTrigger--IsActive .SiteHeader__MobileMenuTrigger__Hamburger .Hamburger__Bar[bar-id="top"] {
  top: 6px;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.Heading,
.Card__Label,
.Form__Field__Label,
.Quote__Text h2,
.Quote__Text h3,
.Quote__Text h4,
.Quote__Text h5,
.Quote__Text h6,
.Quote__Text blockquote cite,
.StatCarousel__Stat__Title,
.StatCarousel__Stat__Value,
.TextBlock h2,
.TextBlock h3,
.TextBlock h4,
.TextBlock h5,
.TextBlock h6,
.TextBlock blockquote cite,
.VideoTrigger__Title {
  line-height: 1;
}
.Heading--ColorWhite {
  color: #fff;
}
.Heading--Primary,
.StatCarousel__Stat__Value {
  font-size: 2rem;
  font-weight: 600;
}
@media (min-width: 50rem) {
  .Heading--Primary,
  .StatCarousel__Stat__Value {
    font-size: 3rem;
  }
}
.Heading--Primary--FontSizeMedium {
  font-size: 2rem;
  font-weight: 600;
}
@media (min-width: 50rem) {
  .Heading--Primary--FontSizeMedium {
    font-size: 2.5rem;
  }
}
.Heading--Primary--FontSizeSmall,
.SiteHeader--TextSmall .SiteHeader__Headline {
  font-size: 1.5rem;
  font-weight: 600;
}
@media (min-width: 50rem) {
  .Heading--Primary--FontSizeSmall,
  .SiteHeader--TextSmall .SiteHeader__Headline {
    font-size: 2rem;
  }
}
.Heading--Primary--FontSizeExSmall {
  font-size: 20px;
  line-height: 1;
  font-weight: 600;
}
@media (min-width: 50rem) {
  .Heading--Primary--FontSizeExSmall {
    font-size: 25px;
    line-height: 27.5px;
  }
}
.Heading--Primary--FontWeightExBold {
  font-weight: 700;
}
.Heading--Secondary,
.Quote__Text h2,
.Quote__Text h3,
.TextBlock h2,
.TextBlock h3 {
  font-size: 22px;
}
@media (min-width: 50rem) {
  .Heading--Secondary,
  .Quote__Text h2,
  .Quote__Text h3,
  .TextBlock h2,
  .TextBlock h3 {
    font-size: 26px;
  }
}
.Heading--Secondary--FontSizeMedium {
  font-size: 18px;
  line-height: 1;
}
@media (min-width: 50rem) {
  .Heading--Secondary--FontSizeMedium {
    font-size: 22px;
    line-height: 26.4px;
  }
}
.Heading--Secondary--FontWeightBold,
.Quote__Text h2,
.TextBlock h2 {
  font-weight: 600;
}
.Heading--Secondary--FontWeightExBold {
  font-weight: 700;
}
.Heading--Secondary--ColorWhite {
  color: #fff;
}
.Heading--Secondary--FontSizeSmall,
.SiteHeader--TextSmall .SiteHeader__Subhead {
  font-size: 16px;
  line-height: 1.1;
}
@media (min-width: 50rem) {
  .Heading--Secondary--FontSizeSmall,
  .SiteHeader--TextSmall .SiteHeader__Subhead {
    font-size: 20px;
  }
}
.Heading--Tertiary,
.Quote__Text h4,
.Quote__Text blockquote cite,
.TextBlock h4,
.TextBlock blockquote cite {
  font-family: "Torque", Courier, Helvetica, sans-serif;
  font-size: 16px;
  letter-spacing: 0.08rem;
}
@media (min-width: 50rem) {
  .Heading--Tertiary,
  .Quote__Text h4,
  .Quote__Text blockquote cite,
  .TextBlock h4,
  .TextBlock blockquote cite {
    font-size: 20px;
  }
}
.Heading--Tertiary--FontSizeSmall,
.Quote__Text blockquote cite,
.TextBlock blockquote cite {
  font-size: 12px;
}
@media (min-width: 50rem) {
  .Heading--Tertiary--FontSizeSmall,
  .Quote__Text blockquote cite,
  .TextBlock blockquote cite {
    font-size: 16px;
  }
}
.Heading--Tertiary--ColorWhite {
  color: #fff;
}
.Heading--Tertiary--TextUppercase {
  text-transform: uppercase;
}
.Heading--Meta,
.Card__Label,
.Form__Field__Label,
.Quote__Text h5,
.StatCarousel__Stat__Title,
.TextBlock h5,
.VideoTrigger__Title {
  font-family: "Torque", Courier, Helvetica, sans-serif;
  color: #aaaaaa;
  text-transform: uppercase;
  letter-spacing: 0.08rem;
  font-size: 12px;
}
@media (min-width: 50rem) {
  .Heading--Meta,
  .Card__Label,
  .Form__Field__Label,
  .Quote__Text h5,
  .StatCarousel__Stat__Title,
  .TextBlock h5,
  .VideoTrigger__Title {
    font-size: 13px;
  }
}
.Heading--Meta a,
.Form__Field__Label a {
  color: #aaaaaa;
}
html.no-touchevents .Heading--Meta a:hover,
html.no-touchevents .Form__Field__Label a:hover {
  color: #888888;
}
.Heading--Meta--FontSizeSmall {
  font-size: 10px;
  line-height: 1;
}
@media (min-width: 50rem) {
  .Heading--Meta--FontSizeSmall {
    font-size: 12px;
    line-height: 13.2px;
  }
}
.Heading--Meta--ColorWhite,
.Card__Label,
.StatCarousel__Stat__Title {
  color: #fff;
}
.Heading--Meta--ColorDark {
  color: #666666;
}
.Heading--Meta--ColorGold {
  color: #fad02a;
}
.Heading--Meta--ColorMediumGrey {
  color: #888888;
}
.Heading--Meta--FontSizeLarge {
  font-size: 14px;
}
@media (min-width: 50rem) {
  .Heading--Meta--FontSizeLarge {
    font-size: 16px;
  }
}
.Heading__Icon {
  display: inline-block;
  vertical-align: middle;
  fill: currentColor;
  margin-right: 0.25rem;
}
.Page__Head .TextBlock {
  max-width: 100%;
}
.ImageBlock .ImageBlock__Image {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto;
}
.ImageBlock__SVG svg {
  width: 100%;
  height: auto;
}
.ImageBlock--AlignLeft .ImageBlock__Image {
  margin-left: 0;
}
.ImageBlock--Fill .ImageBlock__Image {
  width: 100%;
}
.ImageBlock__Caption,
.Quote__Text .wp-caption-text,
.TextBlock .wp-caption-text {
  font-size: 0.75rem;
  color: #aaaaaa;
  font-family: "Torque", Courier, Helvetica, sans-serif;
  margin-top: 0.5rem;
  text-align: right;
}
/**
 * Backup images added to <picture> elements to appear when object-fit is not supported
 * They only support one resolution, but that’s okay since object-fit is supported in all common mobile browsers
 */
.ObjectFitBackup {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  display: none !important;
}
.ObjectFitBackup--Contain {
  background-size: contain;
}
html.no-object-fit .ObjectFitBackup {
  display: block !important;
}
html.no-object-fit .JS__ObjectFitImage {
  display: none !important;
}
.PillButton {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  border-radius: 999px;
  background: #fff;
  color: #666666;
  border: 1px solid #cccccc;
  text-transform: none;
  font-weight: 400;
  letter-spacing: 0;
  padding: 4px 14px;
  white-space: nowrap;
  font-size: 12px;
  line-height: 1;
  -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.PillButton .PillButton__Icon {
  margin-right: 0.25rem;
}
.PillButton .PillButton__Icon svg {
  margin-top: 1px;
  height: 10px;
  width: 10px;
  fill: #aaaaaa;
}
.PillButton .PillButton__Icon.Icon__Right {
  margin-right: 0;
  margin-left: 0.25rem;
}
@media (min-width: 50rem) {
  .PillButton {
    font-size: 13px;
    padding: 6px 16px;
  }
  .PillButton .PillButton__Icon {
    margin-right: 0.375rem;
  }
}
html.no-touchevents .PillButton:hover {
  border-color: #aaaaaa;
  color: #444444;
}
html.no-touchevents .PillButton:active {
  -webkit-transform: translateY(1px);
          transform: translateY(1px);
  background-color: #eeeeee;
}
.PillButton--SizeSmall {
  padding-left: 4px 10px;
  font-size: 11px;
}
@media (min-width: 50rem) {
  .PillButton--SizeSmall {
    font-size: 12px;
    padding: 6px 12px;
  }
}
.PillButton--SizeLarge {
  font-size: 13px;
  padding: 6px 16px;
}
.PillButton--SizeLarge .PillButton__Icon svg {
  height: 12px;
  width: 12px;
}
@media (min-width: 50rem) {
  .PillButton--SizeLarge {
    font-size: 14px;
    padding: 8px 18px;
  }
}
.PillButton--SizeJumbo {
  font-size: 14px;
  padding: 8px 16px;
}
.PillButton--SizeJumbo .PillButton__Icon svg {
  height: 14px;
  width: 14px;
}
@media (min-width: 50rem) {
  .PillButton--SizeJumbo {
    font-size: 16px;
    padding: 8px 22px;
  }
}
.Quote {
  border-top: 1px solid #2eb1d5;
  border-bottom: 1px solid #2eb1d5;
  -o-border-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 5%, #2eb1d5, #58cd3a, rgba(255, 255, 255, 0) 95%) 1;
     border-image: -webkit-gradient(linear, left top, right top, color-stop(5%, rgba(255, 255, 255, 0)), color-stop(#2eb1d5), color-stop(#58cd3a), color-stop(95%, rgba(255, 255, 255, 0))) 1;
     border-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 5%, #2eb1d5, #58cd3a, rgba(255, 255, 255, 0) 95%) 1;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(#fafafa), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(90deg, rgba(255, 255, 255, 0), #fafafa, rgba(255, 255, 255, 0));
  padding-top: 3rem;
  padding-bottom: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.Quote::before {
  content: "“";
  position: absolute;
  margin-top: -5.25rem;
  font-size: 6rem;
  font-weight: 600;
  color: #2eb1d5;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(20%, #2eb1d5), color-stop(55%, #58cd3a));
  background: linear-gradient(#2eb1d5 20%, #58cd3a 55%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: rgba(255, 255, 255, 0);
}
.Quote.Quote--StyleD2S {
  -o-border-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 5%, #2661c6, #fad02a, rgba(255, 255, 255, 0) 95%) 1;
     border-image: -webkit-gradient(linear, left top, right top, color-stop(5%, rgba(255, 255, 255, 0)), color-stop(#2661c6), color-stop(#fad02a), color-stop(95%, rgba(255, 255, 255, 0))) 1;
     border-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 5%, #2661c6, #fad02a, rgba(255, 255, 255, 0) 95%) 1;
}
.Quote.Quote--StyleD2S::before {
  content: none;
}
.Quote__Text {
  font-size: 18px;
  line-height: 1.45;
  max-width: 45rem;
  text-align: center;
}
.Quote__Text h2,
.Quote__Text h3,
.Quote__Text h4,
.Quote__Text h5,
.Quote__Text h6 {
  margin-top: 2em;
}
.Quote__Text h2:first-child,
.Quote__Text h3:first-child,
.Quote__Text h4:first-child,
.Quote__Text h5:first-child,
.Quote__Text h6:first-child {
  margin-top: 0;
}
.Quote__Text h2 {
  padding-bottom: 1rem;
  border-bottom: 2px solid #eeeeee;
}
.Quote__Text h3 {
  padding-bottom: 1rem;
  border-bottom: 2px solid #eeeeee;
}
.Quote__Text h4 {
  padding-bottom: 0.25rem;
  border-bottom: 2px solid #eeeeee;
}
.Quote__Text p {
  margin-top: 0.75em;
}
.Quote__Text p:first-child {
  margin-top: 0;
}
.Quote__Text ul {
  margin-top: 1em;
  font-size: 0.75em;
  padding-left: 0.5em;
  color: #888888;
  font-family: "Torque", Courier, Helvetica, sans-serif;
}
.Quote__Text ul:first-child {
  margin-top: 0;
}
.Quote__Text ul li {
  display: block;
  padding-left: 1rem;
  position: relative;
}
.Quote__Text ul li + li {
  margin-top: 0.5em;
}
.Quote__Text ul li::before {
  content: "";
  display: block;
  background-color: #888888;
  height: 4px;
  width: 4px;
  border-radius: 4px;
  position: absolute;
  top: calc(0.5em - 1px);
  left: 0;
}
.Quote__Text img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-top: 1rem;
}
.Quote__Text img.TextBlock__Image--AlignCenter,
.Quote__Text img.aligncenter {
  margin-left: auto;
  margin-right: auto;
}
.Quote__Text img.TextBlock__Image--AlignLeft,
.Quote__Text img.alignleft {
  float: left;
  margin-right: 1.25rem;
}
.Quote__Text img.TextBlock__Image--AlignRight,
.Quote__Text img.alignright {
  float: right;
  margin-left: 1.25rem;
}
@media (min-width: 50rem) {
  .Quote__Text {
    font-size: 22px;
  }
}
.Quote__Text blockquote {
  margin-top: 2rem;
  background: linear-gradient(145deg, #eeeeee, #fff 75%);
  padding: 2rem;
}
.Quote__Text blockquote cite {
  display: block;
  margin-top: 1.5rem;
  color: #888888;
}
@media (min-width: 50rem) {
  .Quote__Text blockquote {
    padding-left: 2rem;
  }
}
.Quote__Text--Publications li > p {
  display: inline;
}
.Quote__Details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 1rem;
}
.Quote__Logo svg,
.Quote__Logo img,
.Quote__Logo picture,
.Quote__Logo .ImageBlock__Image {
  display: block;
  height: 1.75rem;
  width: auto;
  max-width: 170px;
}
.Quote__Logo + .Quote__Attribution {
  margin-left: 2rem;
}
.Quote__Attribution__Name {
  line-height: 1;
  font-size: 22px;
  font-size: 16px;
  line-height: 1.1;
}
@media (min-width: 50rem) {
  .Quote__Attribution__Name {
    font-size: 26px;
  }
}
@media (min-width: 50rem) {
  .Quote__Attribution__Name {
    font-size: 20px;
  }
}
.Quote__Attribution__Title {
  line-height: 1;
  font-family: "Torque", Courier, Helvetica, sans-serif;
  color: #aaaaaa;
  text-transform: uppercase;
  letter-spacing: 0.08rem;
  font-size: 12px;
  margin-top: 0.25rem;
}
@media (min-width: 50rem) {
  .Quote__Attribution__Title {
    font-size: 13px;
  }
}
.Quote__Attribution__Title a {
  color: #aaaaaa;
}
html.no-touchevents .Quote__Attribution__Title a:hover {
  color: #888888;
}
.StatCarousel {
  display: block;
  color: #fff;
  height: 5rem;
  background: rgba(255, 255, 255, 0.1);
  position: relative;
}
html.no-touchevents .StatCarousel:hover {
  color: inherit;
}
.StatCarousel__Stat__Wrapper {
  position: absolute;
  top: 1rem;
  left: 0.75rem;
}
.StatCarousel__Stat {
  opacity: 0;
}
@media (max-width: 49.99999rem) {
  .StatCarousel__Disc {
    display: none;
  }
  .StatCarousel__Stripe {
    height: 2px;
    width: 200%;
    position: absolute;
    top: 0;
    left: 0;
  }
  .StatCarousel__Stat__Title {
    opacity: 0.75;
  }
  .StatCarousel__Stat__Value {
    display: inline-block;
  }
  .StatCarousel__Stat__Label {
    line-height: 1;
    font-size: 2rem;
    font-weight: 600;
    display: inline-block;
    margin-left: 0.25rem;
  }
}
@media (max-width: 49.99999rem) and (min-width: 50rem) {
  .StatCarousel__Stat__Label {
    font-size: 3rem;
  }
}
@media (min-width: 50rem) {
  .StatCarousel {
    width: 260px;
    height: 260px;
    border-radius: 9999px;
    -webkit-box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.25);
  }
  svg.StatCarousel__Disc {
    height: 100%;
    width: 100%;
  }
  .StatCarousel__Stat__Wrapper {
    position: absolute;
    left: 50%;
    width: 100%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
  }
  .StatCarousel__Stat {
    text-align: center;
    border-radius: 50%;
    border: solid 8px transparent;
    overflow: hidden;
    -webkit-box-sizing: content-box;
            box-sizing: content-box;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
  }
  .StatCarousel__Stat__Title {
    padding: 0 10%;
  }
  .StatCarousel__Stat__Value {
    font-size: 110px !important;
    margin-top: -10px;
  }
  .StatCarousel__Stat__Label {
    line-height: 1;
    font-family: "Torque", Courier, Helvetica, sans-serif;
    font-size: 16px;
    letter-spacing: 0.08rem;
    text-transform: uppercase;
    opacity: 0.5;
  }
  .StatCarousel__Stripe {
    display: none;
  }
  .StatCarousel__CTA {
    position: absolute;
    top: 100%;
    left: 50%;
    -webkit-transform: translate(-50%, -75%);
            transform: translate(-50%, -75%);
    margin-top: 0;
  }
}
@media (min-width: 50rem) and (min-width: 50rem) {
  .StatCarousel__Stat__Label {
    font-size: 20px;
  }
}
@media (min-width: 50rem) {
  .StatCarousel--SizeSmall {
    height: 200px;
    width: 200px;
  }
  .StatCarousel--SizeSmall .StatCarousel__Stat {
    top: 2.75rem;
  }
  .StatCarousel--SizeSmall .StatCarousel__Stat__Value {
    font-size: 80px !important;
  }
}
table.Table {
  color: #888888;
  border: none;
  border-collapse: collapse;
  font-size: 0.75rem;
  width: 100%;
}
table.Table td {
  border-bottom: 1px dotted #eeeeee;
  padding: 0.5rem;
  vertical-align: top;
}
table.Table thead tr td {
  background: #444444;
  color: #fff;
  border-bottom: none;
  font-weight: 600;
}
@media (min-width: 50rem) {
  table.Table {
    font-size: 1.25rem;
  }
  table.Table td {
    padding: 0.75rem;
  }
}
.TextBlock {
  font-size: 18px;
  line-height: 1.45;
  max-width: 45rem;
}
.TextBlock h2,
.TextBlock h3,
.TextBlock h4,
.TextBlock h5,
.TextBlock h6 {
  margin-top: 2em;
}
.TextBlock h2:first-child,
.TextBlock h3:first-child,
.TextBlock h4:first-child,
.TextBlock h5:first-child,
.TextBlock h6:first-child {
  margin-top: 0;
}
.TextBlock h2 {
  padding-bottom: 1rem;
  border-bottom: 2px solid #eeeeee;
}
.TextBlock h3 {
  padding-bottom: 1rem;
  border-bottom: 2px solid #eeeeee;
}
.TextBlock h4 {
  padding-bottom: 0.25rem;
  border-bottom: 2px solid #eeeeee;
}
.TextBlock p {
  margin-top: 0.75em;
}
.TextBlock p:first-child {
  margin-top: 0;
}
.TextBlock ul {
  margin-top: 1em;
  font-size: 0.75em;
  padding-left: 0.5em;
  color: #888888;
  font-family: "Torque", Courier, Helvetica, sans-serif;
}
.TextBlock ul:first-child {
  margin-top: 0;
}
.TextBlock ul li {
  display: block;
  padding-left: 1rem;
  position: relative;
}
.TextBlock ul li + li {
  margin-top: 0.5em;
}
.TextBlock ul li::before {
  content: "";
  display: block;
  background-color: #888888;
  height: 4px;
  width: 4px;
  border-radius: 4px;
  position: absolute;
  top: calc(0.5em - 1px);
  left: 0;
}
.TextBlock img {
  display: block;
  max-width: 100%;
  height: auto;
  margin-top: 1rem;
}
.TextBlock img.TextBlock__Image--AlignCenter,
.TextBlock img.aligncenter {
  margin-left: auto;
  margin-right: auto;
}
.TextBlock img.TextBlock__Image--AlignLeft,
.TextBlock img.alignleft {
  float: left;
  margin-right: 1.25rem;
}
.TextBlock img.TextBlock__Image--AlignRight,
.TextBlock img.alignright {
  float: right;
  margin-left: 1.25rem;
}
@media (min-width: 50rem) {
  .TextBlock {
    font-size: 22px;
  }
}
.TextBlock blockquote {
  margin-top: 2rem;
  background: linear-gradient(145deg, #eeeeee, #fff 75%);
  padding: 2rem;
}
.TextBlock blockquote cite {
  display: block;
  margin-top: 1.5rem;
  color: #888888;
}
@media (min-width: 50rem) {
  .TextBlock blockquote {
    padding-left: 2rem;
  }
}
.TextBlock--Publications li > p {
  display: inline;
}
.TextBlock--FontSizeSmall {
  font-size: 14px;
}
@media (min-width: 50rem) {
  .TextBlock--FontSizeSmall {
    font-size: 18px;
  }
}
.TextBlock--FontSizeMicro {
  font-size: 14px;
  line-height: 1.2;
  max-width: 32rem;
}
@media (min-width: 50rem) {
  .TextBlock--FontSizeMicro {
    font-size: 16px;
  }
}
.TextBlock--ColorsWhite {
  color: #fff;
}
.TextBlock--ColorsLight {
  color: #666666;
}
.TextBlock--Centered {
  margin: 0 auto;
  text-align: center;
}
.TextBlock--CenterAligned {
  margin: 0 auto;
}
.TextBlock--FullWidth {
  max-width: none;
}
.TextBlock--StyleMeta {
  color: #888888;
  font-family: "Torque", Courier, Helvetica, sans-serif;
}
.Timeline {
  position: relative;
  margin-top: 2rem;
}
.Timeline__Years {
  margin-bottom: 2rem;
  display: grid;
  grid-template-columns: 1fr 1fr;
  row-gap: 0.5rem;
}
.Timeline__Years button {
  border: 0;
  background: none !important;
  border-radius: 0;
  font-size: 1rem;
  font-weight: 700;
  padding: 0;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  color: #888888;
  opacity: 0.5;
  text-align: center;
  position: relative;
  text-transform: none;
}
.no-touchevents .Timeline__Years button:hover {
  background: none;
  -webkit-transform: scale(1.8);
          transform: scale(1.8);
  opacity: 1;
}
.Timeline__Years button[aria-selected="true"] {
  color: #2661c6;
  opacity: 1;
  background: none;
  outline: none;
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}
@media (min-width: 68rem) {
  .Timeline__Years button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-transform-origin: center right;
            transform-origin: center right;
  }
  .Timeline__Years button[aria-selected="true"] {
    -webkit-transform: scale(1.8);
            transform: scale(1.8);
  }
}
@media (min-width: 68rem) {
  .Timeline__Years {
    position: absolute;
    right: 100%;
    width: 100px;
    margin-right: 40px;
    -webkit-transform-origin: 0 50%;
            transform-origin: 0 50%;
    text-align: left;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    height: 100%;
  }
  .Timeline__Years button + button {
    margin-top: 20px;
  }
}
.Timeline__SlideSet {
  position: relative;
}
.Timeline__Slide {
  position: relative;
  display: none;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.Timeline__Slide[aria-selected="true"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.Timeline__Slide[data-state="outgoing"] {
  position: absolute;
  top: 0;
  left: 0;
}
@media (min-width: 50rem) {
  .Timeline__Slide {
    grid-template-columns: 1.4fr 1.6fr;
    -webkit-column-gap: 2rem;
       -moz-column-gap: 2rem;
            column-gap: 2rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
@media (min-width: 68rem) {
  .Timeline__Slide {
    min-height: 400px;
  }
}
.Timeline__Slide__Content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
  height: 100%;
}
@media (min-width: 50rem) {
  .Timeline__Slide__Content {
    -webkit-box-flex: 6;
        -ms-flex: 6;
            flex: 6;
    padding-right: 1rem;
  }
}
@media (max-width: 50rem) {
  .Timeline__Slide__Copy {
    padding-bottom: 1.5rem;
  }
}
.Timeline__Slide__Copy .TextBlock {
  margin-top: 0.333em;
}
.Timeline__Slide__Copy .TextBlock + .Heading,
.Timeline__Slide__Copy .TextBlock + .Form__Field__Label {
  margin-top: 2rem;
}
.Timeline__Slide__Controls {
  display: none;
  position: absolute;
  left: 50%;
  -webkit-transform: translate(-50%, 50%);
          transform: translate(-50%, 50%);
  bottom: 0;
  z-index: 2;
}
@media (min-width: 50rem) {
  .Timeline__Slide__Controls {
    position: static;
    -webkit-transform: none;
            transform: none;
    margin-top: 1rem;
  }
}
.Timeline__Slide__Controls button {
  background: #2661c6;
  border-radius: 0;
  color: white;
  padding: 0.6rem;
  -webkit-transition: 0.2s ease;
  transition: 0.2s ease;
}
@media (min-width: 50rem) {
  .Timeline__Slide__Controls button {
    padding: 1rem;
  }
}
.Timeline__Slide__Controls button:hover {
  background: #5d1012;
}
.Timeline__Slide__Controls button::before {
  content: '';
  display: block;
  width: 10px;
  height: 15px;
}
.Timeline__Slide__Controls button[data-action="previous"] {
  margin-right: 1rem;
}
.Timeline__Slide__Controls button[data-action="previous"]::before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12.99 20'%3E%3Cpath d='M0 10l10.38 10 2.6-2.5L5.19 10l7.79-7.5-2.6-2.5-7.79 7.5z' fill='%23ffffff' style='isolation:isolate'/%3E%3C/svg%3E");
}
.Timeline__Slide__Controls button[data-action="next"]::before {
  background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12.99 20'%3E%3Cpath fill-rule='evenodd' fill='%23ffffff' d='M13.001 10L2.612 20.001l-2.598-2.5L7.806 10 .014 2.499l2.598-2.5L10.404 7.5l2.597 2.5z'/%3E%3C/svg%3E");
}
.Timeline__Slide__ActiveYearLabel {
  opacity: 0.2;
  margin-bottom: 1rem;
}
@media (min-width: 50rem) {
  .Timeline__Slide__ActiveYearLabel {
    font-size: 2rem;
    line-height: 2rem;
    letter-spacing: 2px;
    margin-bottom: 0;
  }
}
@media (min-width: 68rem) {
  .Timeline__Slide__ActiveYearLabel {
    position: absolute;
    bottom: calc(100%);
    margin-bottom: 1rem;
    left: -2rem;
  }
}
.Timeline__Achievements + .TextBlock {
  margin-top: 2rem;
}
.Timeline__Slide__Title {
  margin-bottom: 1rem;
}
.Timeline__Slide__SubTitle {
  margin-top: 0.666666rem;
}
@media (min-width: 50rem) {
  .Timeline__Slide__Media {
    -webkit-box-flex: 4;
        -ms-flex: 4;
            flex: 4;
  }
}
.Timeline__Slide__Media img {
  width: 100%;
  height: auto;
  display: inline-block;
}
.Timeline__Slide__Media[data-count] {
  font-size: 0;
  letter-spacing: 0;
}
.Timeline__Slide__Media[data-count="2"] img,
.Timeline__Slide__Media[data-count="4"] img {
  width: 49%;
  margin-bottom: 2%;
}
.Timeline__Slide__Media[data-count="2"] img:nth-child(even),
.Timeline__Slide__Media[data-count="4"] img:nth-child(even) {
  margin-left: 2%;
}
.Timeline__Slide__Media[data-count="3"] img,
.Timeline__Slide__Media[data-count="5"] img {
  width: 49%;
  margin-bottom: 2%;
}
.Timeline__Slide__Media[data-count="3"] img:nth-child(2n+3),
.Timeline__Slide__Media[data-count="5"] img:nth-child(2n+3) {
  margin-left: 2%;
}
.Timeline__Slide__Media[data-count="3"] img:first-child,
.Timeline__Slide__Media[data-count="5"] img:first-child {
  display: block;
  width: 100%;
  margin: 0;
  margin-bottom: 2%;
}
/*
 * Video Triggers
 * Special object which governs a basic link behavior, but can also be extended to a full-bleed object with slanted sides
 */
@-webkit-keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes spin {
  from {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.VideoTrigger {
  display: block;
  padding-top: 66.666%;
  overflow: hidden;
  position: relative;
  color: #fff;
}
html.no-touchevents .VideoTrigger .VideoTrigger__Background,
html.no-touchevents .VideoTrigger .VideoTrigger__Background::after,
html.no-touchevents .VideoTrigger .VideoTrigger__Thumb,
html.no-touchevents .VideoTrigger .VideoTrigger__Icon__Triangle,
html.no-touchevents .VideoTrigger .VideoTrigger__Icon__Ring {
  -webkit-transition: opacity 0.5s, background-color 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, background-color 0.5s, -webkit-transform 0.5s;
  transition: opacity 0.5s, background-color 0.5s, transform 0.5s;
  transition: opacity 0.5s, background-color 0.5s, transform 0.5s, -webkit-transform 0.5s;
}
html.no-touchevents .VideoTrigger .VideoTrigger__Icon__Ring {
  -webkit-transform-origin: center center;
          transform-origin: center center;
}
html.no-touchevents .VideoTrigger .VideoTrigger__Thumb {
  opacity: 1;
  mix-blend-mode: multiply;
}
html.no-touchevents .VideoTrigger .VideoTrigger__Background {
  background-color: #fff;
}
html.no-touchevents .VideoTrigger .VideoTrigger__Icon__Triangle {
  opacity: 0.75;
}
html.no-touchevents .VideoTrigger:hover .VideoTrigger__Background {
  background-color: #2661c6;
}
html.no-touchevents .VideoTrigger:hover .VideoTrigger__Thumb {
  opacity: 0.5;
}
html.no-touchevents .VideoTrigger:hover .VideoTrigger__Icon__Triangle {
  opacity: 1;
}
html.no-touchevents .VideoTrigger:hover .VideoTrigger__Icon__Ring {
  opacity: 1;
  -webkit-animation: spin 1s, spin 10s 1s infinite linear;
          animation: spin 1s, spin 10s 1s infinite linear;
}
.VideoTrigger__Thumb {
  -o-object-fit: cover;
     object-fit: cover;
  z-index: 0;
}
.VideoTrigger__Inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  z-index: 1;
}
.VideoTrigger__Title {
  color: #fff;
  margin-bottom: 1rem;
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.VideoTrigger__Icon {
  width: 2.5rem;
  height: 2.5rem;
}
.VideoTrigger__Icon__Ring {
  opacity: 0;
}
/*
 * Full Bleed extension
 * Takes on a number of the normal hover styles. Expected to sit large in the middle of a page.
 * Also angles and crops the background image in an interesting slant.
 * `VideoTrigger--FullBleed--Straight` extension removes the angle effect.
 */
.VideoTrigger--FullBleed,
html.no-touchevents .VideoTrigger--FullBleed {
  padding-top: 56.25%;
}
.VideoTrigger--FullBleed .VideoTrigger__Background,
html.no-touchevents .VideoTrigger--FullBleed .VideoTrigger__Background {
  background: #2661c6;
  overflow: hidden;
}
.VideoTrigger--FullBleed .VideoTrigger__Thumb,
html.no-touchevents .VideoTrigger--FullBleed .VideoTrigger__Thumb {
  opacity: 0.25;
}
.VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight) .VideoTrigger__Background,
html.no-touchevents .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight) .VideoTrigger__Background {
  -webkit-transform: rotate(-1.5deg);
          transform: rotate(-1.5deg);
  top: 2.345%;
  left: -0.719%;
  width: 101.43%;
  height: 95.31%;
}
.VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight) .VideoTrigger__Thumb,
html.no-touchevents .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight) .VideoTrigger__Thumb {
  -webkit-transform: rotate(1.5deg) scale(1.1);
          transform: rotate(1.5deg) scale(1.1);
}
.VideoTrigger--FullBleed .VideoTrigger__Icon,
html.no-touchevents .VideoTrigger--FullBleed .VideoTrigger__Icon {
  width: 3.5rem;
  height: 3.5rem;
}
.VideoTrigger--FullBleed .VideoTrigger__Icon__Triangle,
html.no-touchevents .VideoTrigger--FullBleed .VideoTrigger__Icon__Triangle,
.VideoTrigger--FullBleed .VideoTrigger__Icon__Ring,
html.no-touchevents .VideoTrigger--FullBleed .VideoTrigger__Icon__Ring {
  opacity: 0.9;
}
@media (min-width: 50rem) {
  .VideoTrigger--FullBleed,
  html.no-touchevents .VideoTrigger--FullBleed {
    padding-top: 45.24%;
  }
  .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight),
  html.no-touchevents .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight) {
    margin-top: -1rem;
    margin-bottom: -0.5rem;
  }
  .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight) .VideoTrigger__Background,
  html.no-touchevents .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight) .VideoTrigger__Background {
    top: 2.909%;
    left: -0.575%;
    width: 101.15%;
    height: 94.18%;
  }
}
@media (min-width: 68rem) {
  .VideoTrigger--FullBleed,
  html.no-touchevents .VideoTrigger--FullBleed {
    padding-top: 25%;
  }
  .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight),
  html.no-touchevents .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight) {
    margin-top: -1.5rem;
    margin-bottom: -1rem;
  }
  .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight) .VideoTrigger__Background,
  html.no-touchevents .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight) .VideoTrigger__Background {
    top: 5.25%;
    left: -0.31%;
    width: 100.62%;
    height: 89.49%;
  }
}
@media (min-width: 98rem) {
  .VideoTrigger--FullBleed,
  html.no-touchevents .VideoTrigger--FullBleed {
    padding-top: 16.666%;
  }
  .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight),
  html.no-touchevents .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight) {
    margin-top: -2rem;
    margin-bottom: -1.5rem;
  }
  .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight) .VideoTrigger__Background,
  html.no-touchevents .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight) .VideoTrigger__Background {
    top: 7.87%;
    left: -0.2%;
    width: 100.4%;
    height: 84.26%;
  }
  .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight) .VideoTrigger__Thumb,
  html.no-touchevents .VideoTrigger--FullBleed:not(.VideoTrigger--FullBleed--Straight) .VideoTrigger__Thumb {
    -webkit-transform: scale(1.2);
            transform: scale(1.2);
  }
}
html.no-touchevents .VideoTrigger--FullBleed:hover .VideoTrigger__Thumb {
  opacity: 0.5;
}
.Placeholder {
  background: #666666;
  width: 100%;
  height: 20rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #fff;
}
pre {
  margin-top: 0;
  background: #000;
  padding: 1rem;
  color: #ff0;
  width: 100%;
  overflow: scroll;
}
.Special__CodeSample {
  border: 1px solid #eeeeee;
  padding: 1rem;
}
.Special__SmallTwo {
  font-size: 0.86em;
  padding: 0 0.5px;
}
.Special__RegisteredMark {
  font-size: 1.25em;
  line-height: 0;
}
.Special__MaxWidthTextBlock {
  max-width: 45rem;
}
.Special__Logo--NuFlare svg {
  height: 2.3rem;
}
.Special__Logo--D2S svg {
  height: 1.55rem;
}
/*
 * Text Alignment
 */
.Util__TextAlignRight {
  text-align: right;
}
.Util__TextAlignCenter,
.VideoTrigger__Title {
  text-align: center;
}
.Util__TextAlignLeft {
  text-align: left;
}
.Util__MarginAlignCenter {
  margin-left: auto;
  margin-right: auto;
}
.Util__MarginTopNegativeMedium {
  margin-top: -0.25rem;
}
.Util__MarginTopNegativeSmall {
  margin-top: -0.125rem;
}
.Util__MarginTopSmall {
  margin-top: 0.125rem;
}
.Util__MarginTopMedium {
  margin-top: 0.25rem;
}
.Util__MarginBottomMedium {
  margin-bottom: 0.25rem;
}
.Util__MarginBottomLarge {
  margin-bottom: 0.5rem;
}
@media (min-width: 50rem) {
  .Util__MarginBottomLarge {
    margin-bottom: 1rem;
  }
}
.Util__MarginBottomExtraLarge {
  margin-bottom: 3rem;
}
.Util__OverflowHidden {
  overflow: hidden;
}
@media (min-width: 24rem) {
  .Util__TuckBottom--SmallUp {
    margin-bottom: -1.5rem;
  }
}
@media (min-width: 24rem) {
  .Util__TuckBottom--MediumUp {
    margin-bottom: -2.5rem;
  }
}
.Util__MaxWidthTextBlock {
  max-width: 45rem;
}
.Text--Color--Blue {
  color: #2661c6;
}
/**
 * the @support scopes these rules to safari
 */
@supports (-webkit-appearance:none) {
  svg {
    width: 100%;
  }
}
.Util__ScreenReaderOnly {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  opacity: 0.01;
}
@media (min-width: 50rem) {
  .Util__MobileOnly,
  .SiteHeader__CTA--Mobile {
    display: none !important;
  }
}
@media (max-width: 49.99999rem) {
  .Util__DesktopOnly,
  .SiteHeader__CTA--Desktop {
    display: none !important;
  }
}
@media (min-width: 68rem) {
  .Util__UnderLargeOnly {
    display: none !important;
  }
}
@media (max-width: 67.99999rem) {
  .Util__OverLargeOnly {
    display: none !important;
  }
}
.Special__Backup {
  shape-rendering: crispedges;
  -webkit-transform: scale(0.99);
          transform: scale(0.99);
}
.Special__GlobalDefs {
  width: 0;
  height: 0;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -99;
}
.Special__HomepageNews {
  padding-bottom: 0 !important;
  margin-bottom: 0;
}
@media (min-width: 50rem) {
  .Special__HomepageNews {
    margin-top: 3.5rem;
  }
}
@media (min-width: 50rem) {
  .Special__HomepageNews .Layer__Inner,
  .Special__HomepageNews .SiteFooter__Inner,
  .Special__HomepageNews .SiteHeader__Inner {
    padding-top: calc(4vw);
    padding-bottom: 1rem;
  }
}
@media (min-width: 68rem) {
  .Special__HomepageNews .Layer__Inner,
  .Special__HomepageNews .SiteFooter__Inner,
  .Special__HomepageNews .SiteHeader__Inner {
    padding-top: 2.72rem;
  }
}
@media (min-width: 50rem) and (max-height: 680px) {
  .Special__HomepageNews__Blurb {
    display: none;
  }
}
.Special__VideoWrapper {
  width: 92%;
  margin: 0 auto;
}
@media (min-width: 68rem) {
  .Special__VideoWrapper {
    width: 75%;
  }
}
.Special__VideoWrapper .Special__VideoInner {
  width: 100%;
  position: relative;
  padding-bottom: 56.25%;
  /* 16:9 */
  padding-top: 0;
  height: 0;
}
.Special__VideoWrapper .Special__VideoInner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media (min-width: 50rem) {
  .Special__GraphGridImage {
    width: 500px;
    margin: 0 auto;
  }
}
/* stylelint-disable */
#mocha-stats {
  display: none;
}
/* stylelint-enable */
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .SiteHeader__Logo svg {
    height: 30px;
  }
  .SiteMobileNav__Logo svg {
    height: 44px;
  }
  .SiteHeader__MobileMenuTrigger__Notch {
    width: 832px;
  }
  svg#ebeam-survey-results {
    height: 168px;
    width: 300px;
  }
  svg#peak-memory-bandwidth,
  svg#peak-double-precision-flops {
    height: 300px;
    width: 415px;
  }
  svg#truemask-cogs,
  svg#truemodel {
    height: 300px;
  }
  .Special__GraphGridLayer,
  .Special__GraphLayer {
    overflow: hidden;
  }
  .Special__GraphGridLayer .ImageBlock__SVG,
  .Special__GraphLayer .ImageBlock__SVG {
    text-align: center;
  }
  .SiteHeader__Inner {
    height: 240px;
  }
  .SiteHeader--Special .SiteHeader__Inner {
    height: 320px;
  }
  .SiteHeader--ExtraSpecial .SiteHeader__Inner {
    height: 400px;
  }
  .SiteHeader--Home .SiteHeader__Inner {
    height: 100%;
  }
  .SiteHeader__DesktopMenu__Link.SiteHeader__DropdownTrigger::after {
    margin-left: 12px;
  }
  input:-ms-input-placeholder,
  textarea:-ms-input-placeholder,
  select:-ms-input-placeholder {
    -webkit-transition: none;
    transition: none;
  }
  .ImageBlock .ImageBlock__Image {
    width: 100%;
  }
  select::-ms-expand {
    display: none;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 50rem) {
  .SiteHeader__Logo svg {
    height: 36px;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 50rem) {
  .SiteHeader__MobileMenuTrigger__Notch {
    width: 1040px;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 500px) {
  svg#ebeam-survey-results {
    height: 266px;
    width: 475px;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 710px) {
  svg#ebeam-survey-results {
    height: 378px;
    width: 675px;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 850px) {
  svg#ebeam-survey-results--desktop {
    width: 803px;
    height: 283px;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 1000px) {
  svg#ebeam-survey-results--desktop {
    width: 957px;
    height: 337px;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 1150px) {
  svg#ebeam-survey-results--desktop {
    width: 1088px;
    height: 383px;
  }
}
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) and (min-width: 1150px) {
  svg#peak-memory-bandwidth {
    width: 512px;
    height: 335px;
  }
  svg#peak-double-precision-flops {
    width: 512px;
    height: 335px;
  }
}

/*# sourceMappingURL=data:application/json;base64,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RSxhQUFhO0lBQ2IsY0FBYztHQUNmO0NBQ0Y7QUFDRDtFQUNFO0lBQ0UsY0FBYztJQUNkLGNBQWM7R0FDZjtDQUNGO0FBQ0Q7RUFDRTtJQUNFLGFBQWE7SUFDYixjQUFjO0dBQ2Y7RUFDRDtJQUNFLGFBQWE7SUFDYixjQUFjO0dBQ2Y7Q0FDRiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlNTIFN0YW5kYXJkXCI7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9mb250cy9TUy1TdGFuZGFyZC9zcy1zdGFuZGFyZC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9hc3NldHMvZm9udHMvU1MtU3RhbmRhcmQvc3Mtc3RhbmRhcmQuZW90XCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiVG9ycXVlXCI7XG4gIHNyYzogdXJsKFwiL2Fzc2V0cy9mb250cy9Ub3JxdWUvdG9ycXVld2ViLW1lZGl1bS53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9hc3NldHMvZm9udHMvVG9ycXVlL3RvcnF1ZXdlYi1tZWRpdW0uZW90XCIpO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiQ2FsaWJyZVwiO1xuICBzcmM6IHVybChcIi9hc3NldHMvZm9udHMvQ2FsaWJyZS9DYWxpYnJlV2ViLVJlZ3VsYXIud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi9hc3NldHMvZm9udHMvQ2FsaWJyZS9DYWxpYnJlV2ViLVJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL0NhbGlicmUvQ2FsaWJyZVdlYi1SZWd1bGFyLmVvdFwiKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkNhbGlicmVcIjtcbiAgc3JjOiB1cmwoXCIvYXNzZXRzL2ZvbnRzL0NhbGlicmUvQ2FsaWJyZVdlYi1Cb2xkLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIvYXNzZXRzL2ZvbnRzL0NhbGlicmUvQ2FsaWJyZVdlYi1Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2Fzc2V0cy9mb250cy9DYWxpYnJlL0NhbGlicmVXZWItQm9sZC5lb3RcIik7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbmh0bWwge1xuICBiYWNrZ3JvdW5kOiAjMjIyMjIyO1xufVxuYm9keSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC1mYW1pbHk6IFwiQ2FsaWJyZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzIyMjIyMjtcbn1cbmJvZHkuQm9keS0tTG9ja2VkIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuYSB7XG4gIGNvbG9yOiAjMjY2MWM2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgaHRtbC5uby10b3VjaGV2ZW50cyBhIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzLCBvcGFjaXR5IDAuMnM7XG4gIH1cbiAgaHRtbC5uby10b3VjaGV2ZW50cyBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzFlNGM5YjtcbiAgfVxufVxuaHRtbC50b3VjaGV2ZW50cyBhOmFjdGl2ZSB7XG4gIG9wYWNpdHk6IDAuNzU7XG59XG5hOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uU2l0ZUNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuLlNpdGVDb250ZW50IC5MYXllcjpmaXJzdC1vZi10eXBlIHtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG59XG4uU2l0ZUNvbnRlbnQgLkxheWVyOmxhc3Qtb2YtdHlwZSB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDUwcmVtKSB7XG4gIC5TaXRlQ29udGVudCAuTGF5ZXI6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy10b3A6IDEuNXJlbTtcbiAgfVxuICAuU2l0ZUNvbnRlbnQgLkxheWVyOmxhc3Qtb2YtdHlwZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgfVxufVxuLlNpdGVGb290ZXIge1xuICBmb250LXNpemU6IDdweDtcbiAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgY29sb3I6ICNhYWFhYWE7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLlNpdGVGb290ZXIgYSB7XG4gIGNvbG9yOiAjYWFhYWFhO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbmh0bWwubm8tdG91Y2hldmVudHMgLlNpdGVGb290ZXIgYTpob3ZlciB7XG4gIGNvbG9yOiAjODg4ODg4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDI0cmVtKSB7XG4gIC5TaXRlRm9vdGVyIHtcbiAgICBmb250LXNpemU6IDhweDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5TaXRlRm9vdGVyIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gIH1cbn1cbi5TaXRlRm9vdGVyX19Jbm5lciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMnJlbTtcbn1cbi5TaXRlRm9vdGVyX19Mb2dvIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLlNpdGVGb290ZXJfX0xvZ28gc3ZnIHtcbiAgc3Ryb2tlOiAjZmZmO1xuICB3aWR0aDogNjRweDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5TaXRlRm9vdGVyX19Mb2dvIHN2ZyB7XG4gICAgd2lkdGg6IDc4cHg7XG4gIH1cbn1cbi5TaXRlRm9vdGVyX19UcmFkZW1hcmtzIHtcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuU2l0ZUZvb3Rlcl9fVHJhZGVtYXJrcyBzdmcge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICB9XG59XG4vKlxuICogU2l0ZSBIZWFkZXIgRHJvcGRvd25zXG4gKiBNb3N0bHkganVzdCBleHRlbmQgdGhlIG1vYmlsZSBuYXZcbiAqIExvdHMgb2YgIWltcG9ydGFudCBpbiBoZXJlLCBiZXdhcmUuIFByb2JhYmx5IHRoZSBvbmx5IHdheSB0byBnZXQgdGhpcyBkb25lIGNsZWFubHksIGJ1dCBub3QgaWRlYWxcbiAqL1xuLkpTX19TaXRlSGVhZGVyX19Ecm9wZG93biB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uU2l0ZUhlYWRlcl9fRHJvcGRvd24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMnB4IDJweCAyNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgbWF4LXdpZHRoOiAxOHJlbTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5hLlNpdGVIZWFkZXJfX0Ryb3Bkb3duX19MaW5rIHtcbiAgaGVpZ2h0OiA0NHB4ICFpbXBvcnRhbnQ7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIGEuU2l0ZUhlYWRlcl9fRHJvcGRvd25fX0xpbms6aG92ZXIge1xuICBjb2xvcjogIzY2NjY2NiAhaW1wb3J0YW50O1xufVxuaHRtbC5uby10b3VjaGV2ZW50cyBhLlNpdGVIZWFkZXJfX0Ryb3Bkb3duX19MaW5rOmhvdmVyIC5TaXRlSGVhZGVyX19Ecm9wZG93bl9fTGlua19fSW1hZ2Uge1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIG9wYWNpdHk6IDAuOTtcbn1cbi5TaXRlSGVhZGVyX19Ecm9wZG93bl9fTGlua19fSW1hZ2Uge1xuICBvcGFjaXR5OiAxO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHggIWltcG9ydGFudDtcbiAgd2lkdGg6IDEwcHggIWltcG9ydGFudDtcbiAgbGVmdDogLTJweCAhaW1wb3J0YW50O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcztcbn1cbi8qXG4gKiBTaXRlIEhlYWRlclxuICogVGhlIFwiU2l0ZVwiIEhlYWRlciBpcyB0aGUgbWFpbiBoZWFkZXIgZWxlbWVudCBvbiB0aGUgcGFnZSwgd2l0aCB0aGUgbmF2aWdhdGlvbiwgbG9nbywgYW5kIHBhZ2UgdGl0bGUuIFRoZSBzdHlsZXMgd2UgdXNlIHRvIGRlZmluZSBhbiBlbGVtZW50IGxpa2UgdGhpcyBkbyBub3QgbmVlZCB0byBiZSByZXVzYWJsZSBvciBzeXN0ZW1pdGl6ZWQsIG1lcmVseSBzZW5zaWJsZS5cbiAqL1xuLlNpdGVIZWFkZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cbi5TaXRlSGVhZGVyOjphZnRlcixcbi5TaXRlSGVhZGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDA7XG59XG4uU2l0ZUhlYWRlcjo6YWZ0ZXIge1xuICBoZWlnaHQ6IDYwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMCksIHJnYmEoMCwgMCwgMCwgMC4zKSk7XG59XG4uU2l0ZUhlYWRlcjo6YmVmb3JlIHtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMTIsIDMxLCA2NSwgMC43NSksIHJnYmEoMTIsIDMxLCA2NSwgMCkpO1xufVxuLlNpdGVIZWFkZXJfX0JhY2tncm91bmQge1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgei1pbmRleDogLTE7XG4gIGJhY2tncm91bmQ6ICMyMjIyMjI7XG59XG4uU2l0ZUhlYWRlcl9fV3JhcHBlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG4uU2l0ZUhlYWRlcl9fSW5uZXIge1xuICBtaW4taGVpZ2h0OiAxNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi8qXG4gKiBOYXYgQXJlYVxuICovXG4uU2l0ZUhlYWRlcl9fTmF2cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uU2l0ZUhlYWRlcl9fTG9nbyB7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIHdpZHRoOiA3OHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG4uU2l0ZUhlYWRlcl9fTG9nbyBzdmcge1xuICBzdHJva2U6ICNmZmY7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5TaXRlSGVhZGVyX19Mb2dvOmhvdmVyIHtcbiAgb3BhY2l0eTogMC43NTtcbn1cbmh0bWwubm8tdG91Y2hldmVudHMgLlNpdGVIZWFkZXJfX0xvZ286YWN0aXZlIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLypcbiAqIE1haW4gQXJlYVxuICovXG4uU2l0ZUhlYWRlcl9fTWFpbiB7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuLlNpdGVIZWFkZXJfX1N1cGVyaGVhZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIG1heC13aWR0aDogNDVyZW07XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgIWltcG9ydGFudDtcbn1cbi5TaXRlSGVhZGVyX19IZWFkbGluZSB7XG4gIG1hcmdpbi1ib3R0b206IC02cHg7XG59XG4uU2l0ZUhlYWRlcl9fU3ViaGVhZCB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIG1heC13aWR0aDogNDVyZW07XG59XG4uU2l0ZUhlYWRlcl9fQ1RBLS1Nb2JpbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG59XG4uU2l0ZUhlYWRlcl9fQ1RBLS1Nb2JpbGUgLkJ1dHRvbiB7XG4gIHBhZGRpbmctbGVmdDogMC44NzVyZW07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4uU2l0ZUhlYWRlcl9fQ1RBLS1EZXNrdG9wIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0OS45OTk5OXJlbSkge1xuICAuU2l0ZUhlYWRlci0tSGFzUHJpbWFyeUNUQSAuU2l0ZUhlYWRlcl9fTWFpbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuMjVyZW07XG4gIH1cbn1cbi8qXG4gKiBNb2JpbGUgTWVudSBUcmlnZ2VyXG4gKi9cbi5TaXRlSGVhZGVyX19Nb2JpbGVNZW51VHJpZ2dlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG4gIGhlaWdodDogNDBweDtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiA2OHB4O1xufVxuaHRtbC5uby10b3VjaGV2ZW50cyAuU2l0ZUhlYWRlcl9fTW9iaWxlTWVudVRyaWdnZXI6aG92ZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbmh0bWwudG91Y2hldmVudHMgLlNpdGVIZWFkZXJfX01vYmlsZU1lbnVUcmlnZ2VyOmFjdGl2ZSB7XG4gIGNvbG9yOiAjY2NjY2NjO1xuICBvcGFjaXR5OiAxO1xufVxuaHRtbC50b3VjaGV2ZW50cyAuU2l0ZUhlYWRlcl9fTW9iaWxlTWVudVRyaWdnZXI6YWN0aXZlIHN2ZyB7XG4gIGZpbGw6ICNjY2NjY2M7XG59XG5odG1sLnRvdWNoZXZlbnRzIC5TaXRlSGVhZGVyX19Nb2JpbGVNZW51VHJpZ2dlcjphY3RpdmUgLlNpdGVIZWFkZXJfX01vYmlsZU1lbnVUcmlnZ2VyX19Ob3RjaCB7XG4gIGZpbGw6ICMzNjM2MzY7XG59XG5ib2R5LkJvZHktLUxvY2tlZCAuU2l0ZUhlYWRlcl9fTW9iaWxlTWVudVRyaWdnZXIge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDAuNzVyZW07XG59XG4uU2l0ZUhlYWRlcl9fTW9iaWxlTWVudVRyaWdnZXJfX0hhbWJ1cmdlciB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xufVxuLlNpdGVIZWFkZXJfX01vYmlsZU1lbnVUcmlnZ2VyX19Ob3RjaCB7XG4gIGZpbGw6ICMyMjIyMjI7XG4gIGhlaWdodDogNDBweDtcbiAgd2lkdGg6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAtMTtcbn1cbi8qXG4gKiBEZXNrdG9wIE1lbnVcbiAqIFNwZWNpYWwgc3R5bGUgd2l0aCBub3RjaCBvbiBlYWNoIHNpZGUuIEhhcyBjdXN0b20gYmVoYXZpb3IgdG8gdXNlIHRoZSBzYW1lIG5vdGNoIEJHIGVsZW1lbnQgYWxsIHRoZSB0aW1lLCBidXQgcmVzaXplIGFuZCBwb3NpdGlvbiBpdCBhcHByb3ByaWF0ZWx5LlxuICovXG4uU2l0ZUhlYWRlcl9fRGVza3RvcE1lbnUge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1heC13aWR0aDogMTA0MHB4O1xuICBwYWRkaW5nLWxlZnQ6IDg0cHg7XG59XG4uU2l0ZUhlYWRlcl9fRGVza3RvcE1lbnUgdWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDAgLTAuNXJlbTtcbn1cbi5TaXRlSGVhZGVyX19EZXNrdG9wTWVudV9fTGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDQwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDVweDtcbiAgcGFkZGluZzogMnB4IDZweCAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmb250LXdlaWdodDogNjAwO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xufVxuaHRtbC5uby10b3VjaGV2ZW50cyAuU2l0ZUhlYWRlcl9fRGVza3RvcE1lbnVfX0xpbms6aG92ZXIge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbn1cbi5TaXRlSGVhZGVyX19EZXNrdG9wTWVudV9fTGluay5TaXRlSGVhZGVyX19Ecm9wZG93blRyaWdnZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uU2l0ZUhlYWRlcl9fRGVza3RvcE1lbnVfX0xpbmsuU2l0ZUhlYWRlcl9fRHJvcGRvd25UcmlnZ2VyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbiAgb3BhY2l0eTogMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpKTtcbn1cbi5TaXRlSGVhZGVyX19EZXNrdG9wTWVudV9fTGluay5TaXRlSGVhZGVyX19Ecm9wZG93blRyaWdnZXI6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuLlNpdGVIZWFkZXJfX0Rlc2t0b3BNZW51X19MaW5rLlNpdGVIZWFkZXJfX0Ryb3Bkb3duVHJpZ2dlci0tSXNBY3RpdmUge1xuICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtcbn1cbi5TaXRlSGVhZGVyX19EZXNrdG9wTWVudV9fTGluay5TaXRlSGVhZGVyX19Ecm9wZG93blRyaWdnZXItLUlzQWN0aXZlOjphZnRlciB7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbn1cbi5TaXRlSGVhZGVyX19EZXNrdG9wTWVudV9fTGluay5TaXRlSGVhZGVyX19Ecm9wZG93blRyaWdnZXItLUlzQWN0aXZlOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxO1xufVxuLlNpdGVIZWFkZXJfX0Rlc2t0b3BNZW51X19Ob3RjaCB7XG4gIGZpbGw6ICMyMjIyMjI7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiAtMTtcbn1cbi5TaXRlSGVhZGVyLS1IYXNTaW1wbGVIZWFkZXIgLlNpdGVIZWFkZXJfX0lubmVyIHtcbiAgbWluLWhlaWdodDogOTFweDtcbn1cbi5TaXRlSGVhZGVyLlNpdGVIZWFkZXItLUhhc1NpbXBsZUhlYWRlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDEyLCAzMSwgNjUsIDAuNzUpLCAjMjY2MWM2KTtcbn1cbi8qXG4gKiBSZXNwb25zaXZlIEJyZWFrcG9pbnRzXG4gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0OS45OTk5OXJlbSkge1xuICAuU2l0ZUhlYWRlcl9fRGVza3RvcE1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLlNpdGVIZWFkZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAyMDAlO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDkuOTk5OTlyZW0pIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1heC13aWR0aDogNDkuOTk5OTlyZW0pIGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAuU2l0ZUhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuU2l0ZUhlYWRlcl9fSW5uZXIge1xuICAgIG1pbi1oZWlnaHQ6IDI0MHB4O1xuICB9XG4gIC5TaXRlSGVhZGVyX19Nb2JpbGVNZW51VHJpZ2dlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDUycmVtKSB7XG4gIC5TaXRlSGVhZGVyX19EZXNrdG9wTWVudV9fTGluayB7XG4gICAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gICAgcGFkZGluZy1yaWdodDogOHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNThyZW0pIHtcbiAgLlNpdGVIZWFkZXJfX0xvZ28ge1xuICAgIHdpZHRoOiAxMDRweDtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG4gIC5TaXRlSGVhZGVyX19EZXNrdG9wTWVudSB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTA1cHg7XG4gIH1cbiAgLlNpdGVIZWFkZXJfX0Rlc2t0b3BNZW51IHVsIHtcbiAgICBtYXJnaW46IDAgLTAuNzVyZW07XG4gIH1cbiAgLlNpdGVIZWFkZXJfX0Rlc2t0b3BNZW51X19MaW5rIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjJyZW0pIHtcbiAgLlNpdGVIZWFkZXJfX0Rlc2t0b3BNZW51X19MaW5rIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2OHJlbSkge1xuICAuU2l0ZUhlYWRlcl9fRGVza3RvcE1lbnUge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwNXB4O1xuICAgIG1hcmdpbi1yaWdodDogLTEwNXB4O1xuICAgIHdpZHRoOiAxMDQwcHg7XG4gIH1cbiAgLlNpdGVIZWFkZXJfX0Rlc2t0b3BNZW51IHVsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cbiAgLlNpdGVIZWFkZXJfX0Rlc2t0b3BNZW51OjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogLTE7XG4gICAgYmFja2dyb3VuZDogIzIyMjIyMjtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4ycztcbiAgfVxuICAuU2l0ZUhlYWRlcl9fRGVza3RvcE1lbnVfX0xpbmsge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDc2cmVtKSB7XG4gIC5TaXRlSGVhZGVyX19EZXNrdG9wTWVudTo6YWZ0ZXIge1xuICAgIHRvcDogLTEwMCU7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMnM7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiAxOTIwcHgpIHtcbiAgLlNpdGVIZWFkZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxufVxuLypcbiAqIEFsdGVybmF0aXZlIEhlYWRlcnNcbiAqL1xuLlNpdGVIZWFkZXItLVNwZWNpYWwgLlNpdGVIZWFkZXJfX0lubmVyIHtcbiAgbWluLWhlaWdodDogMjQwcHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLlNpdGVIZWFkZXItLVNwZWNpYWwgLlNpdGVIZWFkZXJfX0lubmVyIHtcbiAgICBtaW4taGVpZ2h0OiAzMjBweDtcbiAgfVxufVxuLlNpdGVIZWFkZXItLUV4dHJhU3BlY2lhbCAuU2l0ZUhlYWRlcl9fSW5uZXIge1xuICBtaW4taGVpZ2h0OiAzMjBweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuU2l0ZUhlYWRlci0tRXh0cmFTcGVjaWFsIC5TaXRlSGVhZGVyX19Jbm5lciB7XG4gICAgbWluLWhlaWdodDogNDAwcHg7XG4gIH1cbn1cbi8qXG4gKiBIb21lIFN0eWxlc1xuICogU3R5bGVzIGZvciB0aGUgZGlzYyBhcmUgdW5kZXIgdGhlIC5TdGF0Q2Fyb3VzZWwgb2JqZWN0XG4gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA0OS45OTk5OXJlbSkge1xuICAuU2l0ZUhlYWRlci0tSG9tZSAuU2l0ZUhlYWRlcl9fSW5uZXIge1xuICAgIGhlaWdodDogY2FsYygxMDB2aCAtIDRyZW0pO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIG1heC1oZWlnaHQ6IDYwMHB4O1xuICB9XG4gIC5TaXRlSGVhZGVyLS1Ib21lLlNpdGVIZWFkZXItLUFuaW1hdGlvblRha2VvdmVyIC5TaXRlSGVhZGVyX19Jbm5lciB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gIH1cbiAgLlNpdGVIZWFkZXItLUhvbWUuU2l0ZUhlYWRlci0tQW5pbWF0aW9uVGFrZW92ZXIgLlN0YXRDYXJvdXNlbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5TaXRlSGVhZGVyLS1Ib21lLlNpdGVIZWFkZXItLUFuaW1hdGlvblRha2VvdmVyIC5TdGF0Q2Fyb3VzZWxfX1N0YXRfX1dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgdG9wOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbiAgLlNpdGVIZWFkZXItLUhvbWUuU2l0ZUhlYWRlci0tQW5pbWF0aW9uVGFrZW92ZXIgLlN0YXRDYXJvdXNlbF9fU3RhdDpub3QoLlN0YXRDYXJvdXNlbF9fU3RhdC0tVmlkZW8pIHtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgLlNpdGVIZWFkZXItLUhvbWUuU2l0ZUhlYWRlci0tQW5pbWF0aW9uVGFrZW92ZXIgLlN0YXRDYXJvdXNlbF9fU3RhdC0tVmlkZW8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEyMHB4O1xuICAgIG1heC1oZWlnaHQ6IDEyMHB4O1xuICB9XG4gIC5TaXRlSGVhZGVyLS1Ib21lLlNpdGVIZWFkZXItLUFuaW1hdGlvblRha2VvdmVyIC5TdGF0Q2Fyb3VzZWxfX1N0YXQtLVZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9wYWNpdHk6IDAuOTk5OTtcbiAgfVxuICAuU2l0ZUhlYWRlci0tSG9tZS5TaXRlSGVhZGVyLS1BbmltYXRpb25UYWtlb3ZlciAuU3RhdENhcm91c2VsX19TdHJpcGUge1xuICAgIHotaW5kZXg6IDEwO1xuICB9XG4gIC5TaXRlSGVhZGVyLS1Ib21lIC5TaXRlSGVhZGVyX19NYWluIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuICAuU2l0ZUhlYWRlci0tSG9tZSAuU2l0ZUhlYWRlcl9fQ1RBLS1Nb2JpbGUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgLlNpdGVIZWFkZXItLUhvbWUgLlNpdGVIZWFkZXJfX0NUQS0tTW9iaWxlIC5CdXR0b24ge1xuICAgIGJvcmRlci1yYWRpdXM6IDk5cHg7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC44NzVyZW07XG4gIH1cbiAgLlNpdGVIZWFkZXItLUhvbWUgLlNpdGVIZWFkZXItLUhvbWVfX1N0YXRzIHtcbiAgICBtYXJnaW46IDEuMjVyZW0gLTAuNzVyZW0gMDtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5TaXRlSGVhZGVyLS1Ib21lIHtcbiAgICBmbGV4OiAxO1xuICB9XG4gIC5TaXRlSGVhZGVyLS1Ib21lIC5TaXRlSGVhZGVyX19XcmFwcGVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbiAgLlNpdGVIZWFkZXItLUhvbWUgLlNpdGVIZWFkZXJfX0lubmVyIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMzUwcHg7XG4gIH1cbiAgLlNpdGVIZWFkZXItLUhvbWUgLlNpdGVIZWFkZXJfX01haW4ge1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAwIDNyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkgYW5kIChtYXgtaGVpZ2h0OiA2ODBweCkgYW5kIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5TaXRlSGVhZGVyLS1Ib21lIC5TaXRlSGVhZGVyLS1Ib21lX19TdGF0cyAuU3RhdENhcm91c2VsIHtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgfVxuICAuU2l0ZUhlYWRlci0tSG9tZSAuU2l0ZUhlYWRlci0tSG9tZV9fU3RhdHMgLlN0YXRDYXJvdXNlbCAuU3RhdENhcm91c2VsX19TdGF0IHtcbiAgICB0b3A6IDIuNzVyZW07XG4gIH1cbiAgLlNpdGVIZWFkZXItLUhvbWUgLlNpdGVIZWFkZXItLUhvbWVfX1N0YXRzIC5TdGF0Q2Fyb3VzZWwgLlN0YXRDYXJvdXNlbF9fU3RhdF9fVmFsdWUge1xuICAgIGZvbnQtc2l6ZTogODBweCAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgYm9keS5Cb2R5LS1IYXNIb21lSGVhZGVyIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuICBib2R5LkJvZHktLUhhc0hvbWVIZWFkZXIgcHJlLlNwZWNpYWxfX0RlYnVnIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4vKlxuICogU21hbGwgVGV4dCBzdHlsZVxuICogVXNlZCBmb3IgdGV4dC1oZWF2eSwgYnV0IHNob3J0IGhlYWRlcnNcbiAqL1xuLypcbiAqIEJhcmUgc3R5bGVcbiAqIFVzZWQgZm9yIGJyb3dzZXIgdW5zdXBwb3J0ZWQgcGFnZSB3aGVyZSBuYXYgc2hvdWxkIG5vdCBiZSB2aXNpYmxlXG4gKi9cbi5TaXRlSGVhZGVyLS1CYXJlIHtcbiAgYmFja2dyb3VuZDogIzFkNDk5Njtcbn1cbi5TaXRlSGVhZGVyLS1CYXJlIC5TaXRlSGVhZGVyX19EZXNrdG9wTWVudSxcbi5TaXRlSGVhZGVyLS1CYXJlIC5TaXRlSGVhZGVyX19Nb2JpbGVNZW51VHJpZ2dlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uU2l0ZUhlYWRlci0tQmFyZSAuU2l0ZUhlYWRlcl9fQmFja2dyb3VuZCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uSlNfX1NpdGVNb2JpbGVOYXYge1xuICBkaXNwbGF5OiBub25lO1xufVxuLlNpdGVNb2JpbGVOYXYge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuICB6LWluZGV4OiAyO1xufVxuLlNpdGVNb2JpbGVOYXZfX0xvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEyMHB4O1xuICBtYXJnaW46IDFyZW0gMS4yNXJlbTtcbn1cbi5TaXRlTW9iaWxlTmF2X19Mb2dvIHN2ZyB7XG4gIHN0cm9rZTogIzI2NjFjNjtcbn1cbi5TaXRlTW9iaWxlTmF2X19NZW51LFxuLlNpdGVIZWFkZXJfX0Ryb3Bkb3duX19TZWN0aW9uIHtcbiAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xufVxuLlNpdGVNb2JpbGVOYXZfX01lbnUgdWwsXG4uU2l0ZUhlYWRlcl9fRHJvcGRvd25fX1NlY3Rpb24gdWwge1xuICBtYXJnaW4tdG9wOiA0cHg7XG59XG5hLlNpdGVNb2JpbGVOYXZfX0xpbmssXG5hLlNpdGVIZWFkZXJfX0Ryb3Bkb3duX19MaW5rIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMyMjIyMjI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG59XG4uU2l0ZU1vYmlsZU5hdl9fTWVudS0tUHJpbWFyeSxcbi5TaXRlSGVhZGVyX19Ecm9wZG93bl9fU2VjdGlvbiB7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cbi5TaXRlTW9iaWxlTmF2X19NZW51LS1QcmltYXJ5IHVsLFxuLlNpdGVIZWFkZXJfX0Ryb3Bkb3duX19TZWN0aW9uIHVsIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cbi5TaXRlTW9iaWxlTmF2X19NZW51LS1QcmltYXJ5IHVsOjpiZWZvcmUsXG4uU2l0ZUhlYWRlcl9fRHJvcGRvd25fX1NlY3Rpb24gdWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2Y4ZjhmOCwgI2VlZSk7XG59XG4uU2l0ZU1vYmlsZU5hdl9fTWVudS0tUHJpbWFyeSB1bCBsaTo6YWZ0ZXIsXG4uU2l0ZUhlYWRlcl9fRHJvcGRvd25fX1NlY3Rpb24gdWwgbGk6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjZjhmOGY4LCAjZWVlKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogMCUgMCU7XG59XG5AbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gIC5TaXRlTW9iaWxlTmF2X19NZW51LS1QcmltYXJ5IHVsIGxpOjphZnRlcixcbiAgLlNpdGVIZWFkZXJfX0Ryb3Bkb3duX19TZWN0aW9uIHVsIGxpOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZVkoMC41KTtcbiAgfVxufVxuLlNpdGVNb2JpbGVOYXZfX01lbnUtLVByaW1hcnkgLlNpdGVNb2JpbGVOYXZfX01lbnVfX1RpdGxlLFxuLlNpdGVIZWFkZXJfX0Ryb3Bkb3duX19TZWN0aW9uIC5TaXRlTW9iaWxlTmF2X19NZW51X19UaXRsZSxcbi5TaXRlTW9iaWxlTmF2X19NZW51LS1QcmltYXJ5IC5TaXRlSGVhZGVyX19Ecm9wZG93bl9fU2VjdGlvbl9fVGl0bGUsXG4uU2l0ZUhlYWRlcl9fRHJvcGRvd25fX1NlY3Rpb25fX1RpdGxlIHtcbiAgcGFkZGluZzogMCAxLjI1cmVtO1xufVxuLlNpdGVNb2JpbGVOYXZfX01lbnUtLVByaW1hcnkgYS5TaXRlTW9iaWxlTmF2X19MaW5rLFxuLlNpdGVIZWFkZXJfX0Ryb3Bkb3duX19TZWN0aW9uIGEuU2l0ZU1vYmlsZU5hdl9fTGluayxcbi5TaXRlTW9iaWxlTmF2X19NZW51LS1QcmltYXJ5IGEuU2l0ZUhlYWRlcl9fRHJvcGRvd25fX0xpbmssXG5hLlNpdGVIZWFkZXJfX0Ryb3Bkb3duX19MaW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiA0MnB4O1xuICBsaW5lLWhlaWdodDogNDJweDtcbiAgcGFkZGluZzogMCAxLjI1cmVtO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xufVxuLlNpdGVNb2JpbGVOYXZfX01lbnUtLVByaW1hcnkgLlNpdGVNb2JpbGVOYXZfX0xpbmtfX0ltYWdlX19XcmFwcGVyLFxuLlNpdGVIZWFkZXJfX0Ryb3Bkb3duX19TZWN0aW9uIC5TaXRlTW9iaWxlTmF2X19MaW5rX19JbWFnZV9fV3JhcHBlcixcbi5TaXRlSGVhZGVyX19Ecm9wZG93bl9fTGlua19fSW1hZ2VfX1dyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMnB4O1xuICBib3R0b206IDJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDhweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDJweDtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG59XG4uU2l0ZU1vYmlsZU5hdl9fTWVudS0tUHJpbWFyeSAuU2l0ZU1vYmlsZU5hdl9fTGlua19fSW1hZ2UsXG4uU2l0ZUhlYWRlcl9fRHJvcGRvd25fX1NlY3Rpb24gLlNpdGVNb2JpbGVOYXZfX0xpbmtfX0ltYWdlLFxuLlNpdGVIZWFkZXJfX0Ryb3Bkb3duX19MaW5rX19JbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuU2l0ZU1vYmlsZU5hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLkpTX19TaXRlTW9iaWxlVHJheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uU2l0ZU1vYmlsZVRyYXkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICMyMjIyMjI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuMjVyZW07XG4gIGhlaWdodDogMzBweDtcbiAgei1pbmRleDogOTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuU2l0ZU1vYmlsZVRyYXkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLlNpdGVNb2JpbGVUcmF5X19Mb2dvIHN2ZyB7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHN0cm9rZTogI2ZmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbi5TaXRlTW9iaWxlVHJheV9fTWVudVRyaWdnZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbn1cbi5TaXRlTW9iaWxlVHJheV9fTWVudVRyaWdnZXJfX0hhbWJ1cmdlciB7XG4gIG1hcmdpbi1yaWdodDogMC4zNzVyZW07XG59XG4uU2l0ZU1vYmlsZVRyYXlfX0NUQSB7XG4gIG1hcmdpbi1sZWZ0OiAtMC4yNXJlbTtcbn1cbi5TaXRlTW9iaWxlVHJheV9fQ1RBIC5CdXR0b24ge1xuICBmb250LXNpemU6IDhweDtcbiAgcGFkZGluZzogN3B4IDFyZW0gN3B4IDAuNzVyZW07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG59XG4uR3JpZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAtMXJlbSAwIDAgLTFyZW07XG59XG4uR3JpZCA+IC5HcmlkX19DZWxsIHtcbiAgcGFkZGluZzogMXJlbSAwIDAgMXJlbTtcbn1cbi5HcmlkLS1KdXN0aWZ5Q29udGVudENlbnRlcmVkIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uR3JpZC0tSnVzdGlmeUNvbnRlbnRTcGFjZUJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uR3JpZC0tSnVzdGlmeUNvbnRlbnRTcGFjZUJldHdlZW4gLkdyaWRfX0NlbGwge1xuICBmbGV4OiBhdXRvO1xufVxuLkdyaWQtLUp1c3RpZnlDb250ZW50RmxleEVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5AbWVkaWEgKG1heC13aWR0aDogMjRyZW0pIHtcbiAgLkdyaWQtLUZsZXhEaXJlY3Rpb25Db2x1bW5SZXZlcnNlX19TbWFsbCB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNTByZW0pIHtcbiAgLkdyaWQtLUZsZXhEaXJlY3Rpb25Db2x1bW5SZXZlcnNlX19NZWRpdW0ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgfVxufVxuLyogKlxuICogRXh0ZW5zaW9uczogU3BhY2luZ1xuICovXG4uR3JpZC0tU3BhY2luZ1NtYWxsIHtcbiAgbWFyZ2luOiAtMC4yNXJlbSAwIDAgLTAuMjVyZW07XG59XG4uR3JpZC0tU3BhY2luZ1NtYWxsID4gLkdyaWRfX0NlbGwge1xuICBwYWRkaW5nOiAwLjI1cmVtIDAgMCAwLjI1cmVtO1xufVxuLkdyaWQtLVNwYWNpbmdTbWFsbCA+IC5HcmlkX19DZWxsLS1NQm9yZGVyTGVmdDo6YWZ0ZXIge1xuICBsZWZ0OiAwLjEyNXJlbTtcbiAgdG9wOiAwLjI1cmVtO1xufVxuLkdyaWQtLVNwYWNpbmdNZWRpdW0ge1xuICBtYXJnaW46IC0xcmVtIDAgMCAtMXJlbTtcbn1cbi5HcmlkLS1TcGFjaW5nTWVkaXVtID4gLkdyaWRfX0NlbGwge1xuICBwYWRkaW5nOiAxcmVtIDAgMCAxcmVtO1xufVxuLkdyaWQtLVNwYWNpbmdNZWRpdW0gPiAuR3JpZF9fQ2VsbC0tTUJvcmRlckxlZnQ6OmFmdGVyIHtcbiAgbGVmdDogMC41cmVtO1xuICB0b3A6IDFyZW07XG59XG4uR3JpZC0tU3BhY2luZ0xhcmdlIHtcbiAgbWFyZ2luOiAtMnJlbSAwIDAgLTJyZW07XG59XG4uR3JpZC0tU3BhY2luZ0xhcmdlID4gLkdyaWRfX0NlbGwge1xuICBwYWRkaW5nOiAycmVtIDAgMCAycmVtO1xufVxuLkdyaWQtLVNwYWNpbmdMYXJnZSA+IC5HcmlkX19DZWxsLS1NQm9yZGVyTGVmdDo6YWZ0ZXIge1xuICBsZWZ0OiAxcmVtO1xuICB0b3A6IDJyZW07XG59XG4uR3JpZC0tU3BhY2luZ0p1bWJvIHtcbiAgbWFyZ2luOiAtNHJlbSAwIDAgLTRyZW07XG59XG4uR3JpZC0tU3BhY2luZ0p1bWJvID4gLkdyaWRfX0NlbGwge1xuICBwYWRkaW5nOiA0cmVtIDAgMCA0cmVtO1xufVxuLkdyaWQtLVNwYWNpbmdKdW1ibyA+IC5HcmlkX19DZWxsLS1NQm9yZGVyTGVmdDo6YWZ0ZXIge1xuICBsZWZ0OiAycmVtO1xuICB0b3A6IDRyZW07XG59XG4uR3JpZC0tU3BhY2luZ0ZsZXgge1xuICBtYXJnaW46IC0xcmVtIDAgMCAtMXJlbTtcbn1cbi5HcmlkLS1TcGFjaW5nRmxleCA+IC5HcmlkX19DZWxsIHtcbiAgcGFkZGluZzogMXJlbSAwIDAgMXJlbTtcbn1cbi5HcmlkLS1TcGFjaW5nRmxleCA+IC5HcmlkX19DZWxsLS1NQm9yZGVyTGVmdDo6YWZ0ZXIge1xuICBsZWZ0OiAwLjVyZW07XG4gIHRvcDogMXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuR3JpZC0tU3BhY2luZ0ZsZXgge1xuICAgIG1hcmdpbjogLTEuNXJlbSAwIDAgLTEuNXJlbTtcbiAgfVxuICAuR3JpZC0tU3BhY2luZ0ZsZXggPiAuR3JpZF9fQ2VsbCB7XG4gICAgcGFkZGluZzogMS41cmVtIDAgMCAxLjVyZW07XG4gIH1cbiAgLkdyaWQtLVNwYWNpbmdGbGV4ID4gLkdyaWRfX0NlbGwtLU1Cb3JkZXJMZWZ0OjphZnRlciB7XG4gICAgbGVmdDogMC43NXJlbTtcbiAgICB0b3A6IDEuNXJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY4cmVtKSB7XG4gIC5HcmlkLS1TcGFjaW5nRmxleCB7XG4gICAgbWFyZ2luOiAtMnJlbSAwIDAgLTJyZW07XG4gIH1cbiAgLkdyaWQtLVNwYWNpbmdGbGV4ID4gLkdyaWRfX0NlbGwge1xuICAgIHBhZGRpbmc6IDJyZW0gMCAwIDJyZW07XG4gIH1cbiAgLkdyaWQtLVNwYWNpbmdGbGV4ID4gLkdyaWRfX0NlbGwtLU1Cb3JkZXJMZWZ0OjphZnRlciB7XG4gICAgbGVmdDogMXJlbTtcbiAgICB0b3A6IDJyZW07XG4gIH1cbn1cbi5HcmlkLS1TcGFjaW5nRmxleFNtYWxsIHtcbiAgbWFyZ2luOiAtMC41cmVtIDAgMCAtMC41cmVtO1xufVxuLkdyaWQtLVNwYWNpbmdGbGV4U21hbGwgPiAuR3JpZF9fQ2VsbCB7XG4gIHBhZGRpbmc6IDAuNXJlbSAwIDAgMC41cmVtO1xufVxuLkdyaWQtLVNwYWNpbmdGbGV4U21hbGwgPiAuR3JpZF9fQ2VsbC0tTUJvcmRlckxlZnQ6OmFmdGVyIHtcbiAgbGVmdDogMC4yNXJlbTtcbiAgdG9wOiAwLjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLkdyaWQtLVNwYWNpbmdGbGV4U21hbGwge1xuICAgIG1hcmdpbjogLTFyZW0gMCAwIC0xcmVtO1xuICB9XG4gIC5HcmlkLS1TcGFjaW5nRmxleFNtYWxsID4gLkdyaWRfX0NlbGwge1xuICAgIHBhZGRpbmc6IDFyZW0gMCAwIDFyZW07XG4gIH1cbiAgLkdyaWQtLVNwYWNpbmdGbGV4U21hbGwgPiAuR3JpZF9fQ2VsbC0tTUJvcmRlckxlZnQ6OmFmdGVyIHtcbiAgICBsZWZ0OiAwLjVyZW07XG4gICAgdG9wOiAxcmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjhyZW0pIHtcbiAgLkdyaWQtLVNwYWNpbmdGbGV4U21hbGwge1xuICAgIG1hcmdpbjogLTEuNXJlbSAwIDAgLTEuNXJlbTtcbiAgfVxuICAuR3JpZC0tU3BhY2luZ0ZsZXhTbWFsbCA+IC5HcmlkX19DZWxsIHtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMCAwIDEuNXJlbTtcbiAgfVxuICAuR3JpZC0tU3BhY2luZ0ZsZXhTbWFsbCA+IC5HcmlkX19DZWxsLS1NQm9yZGVyTGVmdDo6YWZ0ZXIge1xuICAgIGxlZnQ6IDAuNzVyZW07XG4gICAgdG9wOiAxLjVyZW07XG4gIH1cbn1cbi5HcmlkLS1TcGFjaW5nRmxleExhcmdlIHtcbiAgbWFyZ2luOiAtMS41cmVtIDAgMCAtMS41cmVtO1xufVxuLkdyaWQtLVNwYWNpbmdGbGV4TGFyZ2UgPiAuR3JpZF9fQ2VsbCB7XG4gIHBhZGRpbmc6IDEuNXJlbSAwIDAgMS41cmVtO1xufVxuLkdyaWQtLVNwYWNpbmdGbGV4TGFyZ2UgPiAuR3JpZF9fQ2VsbC0tTUJvcmRlckxlZnQ6OmFmdGVyIHtcbiAgbGVmdDogMC43NXJlbTtcbiAgdG9wOiAxLjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLkdyaWQtLVNwYWNpbmdGbGV4TGFyZ2Uge1xuICAgIG1hcmdpbjogLTJyZW0gMCAwIC0ycmVtO1xuICB9XG4gIC5HcmlkLS1TcGFjaW5nRmxleExhcmdlID4gLkdyaWRfX0NlbGwge1xuICAgIHBhZGRpbmc6IDJyZW0gMCAwIDJyZW07XG4gIH1cbiAgLkdyaWQtLVNwYWNpbmdGbGV4TGFyZ2UgPiAuR3JpZF9fQ2VsbC0tTUJvcmRlckxlZnQ6OmFmdGVyIHtcbiAgICBsZWZ0OiAxcmVtO1xuICAgIHRvcDogMnJlbTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY4cmVtKSB7XG4gIC5HcmlkLS1TcGFjaW5nRmxleExhcmdlIHtcbiAgICBtYXJnaW46IC0zcmVtIDAgMCAtM3JlbTtcbiAgfVxuICAuR3JpZC0tU3BhY2luZ0ZsZXhMYXJnZSA+IC5HcmlkX19DZWxsIHtcbiAgICBwYWRkaW5nOiAzcmVtIDAgMCAzcmVtO1xuICB9XG4gIC5HcmlkLS1TcGFjaW5nRmxleExhcmdlID4gLkdyaWRfX0NlbGwtLU1Cb3JkZXJMZWZ0OjphZnRlciB7XG4gICAgbGVmdDogMS41cmVtO1xuICAgIHRvcDogM3JlbTtcbiAgfVxufVxuLkdyaWQtLVNwYWNpbmdWZXJ0aWNhbE5vbmUge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLkdyaWQtLVNwYWNpbmdWZXJ0aWNhbE5vbmUgPiAuR3JpZF9fQ2VsbCB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLypcbiAqIEdyaWQgQ2VsbHNcbiAqL1xuLkdyaWRfX0NlbGwge1xuICBmbGV4OiAxO1xufVxuLkdyaWRfX0NlbGwtLUF1dG9TaXplIHtcbiAgZmxleDogbm9uZTtcbn1cbi5HcmlkX19DZWxsLS1WZXJ0aWNhbEFsaWduQ2VudGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuR3JpZF9fQ2VsbC0tRGVza3RvcEdyaWRFbmQge1xuICAgIG9yZGVyOiA5OTtcbiAgfVxufVxuLkdyaWRfX0NlbGwtLUFsaWduRW5kIHtcbiAgZmxleDogMCAxIGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuLkdyaWRfX0NlbGwtLTFvZjYge1xuICBmbGV4OiAwIDAgMTYuNjY2JTtcbiAgd2lkdGg6IDE2LjY2NiU7XG4gIG1heC13aWR0aDogMTYuNjY2JTtcbn1cbi5HcmlkX19DZWxsLS0xb2Y1IHtcbiAgZmxleDogMCAwIDIwJTtcbiAgd2lkdGg6IDIwJTtcbiAgbWF4LXdpZHRoOiAyMCU7XG59XG4uR3JpZF9fQ2VsbC0tMW9mNCB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIHdpZHRoOiAyNSU7XG4gIG1heC13aWR0aDogMjUlO1xufVxuLkdyaWRfX0NlbGwtLTFvZjMge1xuICBmbGV4OiAwIDAgMzMuMzMzJTtcbiAgd2lkdGg6IDMzLjMzMyU7XG4gIG1heC13aWR0aDogMzMuMzMzJTtcbn1cbi5HcmlkX19DZWxsLS0xb2YyIHtcbiAgZmxleDogMCAwIDUwJTtcbiAgd2lkdGg6IDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7XG59XG4uR3JpZF9fQ2VsbC0tM29mNSB7XG4gIGZsZXg6IDAgMCA2MCU7XG4gIHdpZHRoOiA2MCU7XG4gIG1heC13aWR0aDogNjAlO1xufVxuLkdyaWRfX0NlbGwtLTJvZjMge1xuICBmbGV4OiAwIDAgNjYuNjY2JTtcbiAgd2lkdGg6IDY2LjY2NiU7XG4gIG1heC13aWR0aDogNjYuNjY2JTtcbn1cbi5HcmlkX19DZWxsLS0yb2Y1IHtcbiAgZmxleDogMCAwIDQwJTtcbiAgd2lkdGg6IDQwJTtcbiAgbWF4LXdpZHRoOiA0MCU7XG59XG4uR3JpZF9fQ2VsbC0tM29mNCB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIHdpZHRoOiA3NSU7XG4gIG1heC13aWR0aDogNzUlO1xufVxuLkdyaWRfX0NlbGwtLTFvZjEge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiAyNHJlbSkge1xuICAuR3JpZF9fQ2VsbC0tUzFvZjYge1xuICAgIGZsZXg6IDAgMCAxNi42NjYlO1xuICAgIHdpZHRoOiAxNi42NjYlO1xuICAgIG1heC13aWR0aDogMTYuNjY2JTtcbiAgfVxuICAuR3JpZF9fQ2VsbC0tUzFvZjUge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTtcbiAgfVxuICAuR3JpZF9fQ2VsbC0tUzFvZjQge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgfVxuICAuR3JpZF9fQ2VsbC0tUzFvZjMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMlO1xuICAgIHdpZHRoOiAzMy4zMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzJTtcbiAgfVxuICAuR3JpZF9fQ2VsbC0tUzFvZjIge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxuICAuR3JpZF9fQ2VsbC0tUzNvZjUge1xuICAgIGZsZXg6IDAgMCA2MCU7XG4gICAgd2lkdGg6IDYwJTtcbiAgICBtYXgtd2lkdGg6IDYwJTtcbiAgfVxuICAuR3JpZF9fQ2VsbC0tUzJvZjMge1xuICAgIGZsZXg6IDAgMCA2Ni42NjYlO1xuICAgIHdpZHRoOiA2Ni42NjYlO1xuICAgIG1heC13aWR0aDogNjYuNjY2JTtcbiAgfVxuICAuR3JpZF9fQ2VsbC0tUzJvZjUge1xuICAgIGZsZXg6IDAgMCA0MCU7XG4gICAgd2lkdGg6IDQwJTtcbiAgICBtYXgtd2lkdGg6IDQwJTtcbiAgfVxuICAuR3JpZF9fQ2VsbC0tUzNvZjQge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgd2lkdGg6IDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTtcbiAgfVxuICAuR3JpZF9fQ2VsbC0tUzFvZjEge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5HcmlkX19DZWxsLS1NMW9mNiB7XG4gICAgZmxleDogMCAwIDE2LjY2NiU7XG4gICAgd2lkdGg6IDE2LjY2NiU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjYlO1xuICB9XG4gIC5HcmlkX19DZWxsLS1NMW9mNSB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICB3aWR0aDogMjAlO1xuICAgIG1heC13aWR0aDogMjAlO1xuICB9XG4gIC5HcmlkX19DZWxsLS1NMW9mNCB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICB3aWR0aDogMjUlO1xuICAgIG1heC13aWR0aDogMjUlO1xuICB9XG4gIC5HcmlkX19DZWxsLS1NMW9mMyB7XG4gICAgZmxleDogMCAwIDMzLjMzMyU7XG4gICAgd2lkdGg6IDMzLjMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMlO1xuICB9XG4gIC5HcmlkX19DZWxsLS1NMW9mMiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICB3aWR0aDogNTAlO1xuICAgIG1heC13aWR0aDogNTAlO1xuICB9XG4gIC5HcmlkX19DZWxsLS1NM29mNSB7XG4gICAgZmxleDogMCAwIDYwJTtcbiAgICB3aWR0aDogNjAlO1xuICAgIG1heC13aWR0aDogNjAlO1xuICB9XG4gIC5HcmlkX19DZWxsLS1NMm9mMyB7XG4gICAgZmxleDogMCAwIDY2LjY2NiU7XG4gICAgd2lkdGg6IDY2LjY2NiU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjYlO1xuICB9XG4gIC5HcmlkX19DZWxsLS1NMm9mNSB7XG4gICAgZmxleDogMCAwIDQwJTtcbiAgICB3aWR0aDogNDAlO1xuICAgIG1heC13aWR0aDogNDAlO1xuICB9XG4gIC5HcmlkX19DZWxsLS1NM29mNCB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICB3aWR0aDogNzUlO1xuICAgIG1heC13aWR0aDogNzUlO1xuICB9XG4gIC5HcmlkX19DZWxsLS1NMW9mMSB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjhyZW0pIHtcbiAgLkdyaWRfX0NlbGwtLUwxb2Y2IHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2JTtcbiAgICB3aWR0aDogMTYuNjY2JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NiU7XG4gIH1cbiAgLkdyaWRfX0NlbGwtLUwxb2Y1IHtcbiAgICBmbGV4OiAwIDAgMjAlO1xuICAgIHdpZHRoOiAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7XG4gIH1cbiAgLkdyaWRfX0NlbGwtLUwxb2Y0IHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIHdpZHRoOiAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7XG4gIH1cbiAgLkdyaWRfX0NlbGwtLUwxb2YzIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzJTtcbiAgICB3aWR0aDogMzMuMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMyU7XG4gIH1cbiAgLkdyaWRfX0NlbGwtLUwxb2YyIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cbiAgLkdyaWRfX0NlbGwtLUwzb2Y1IHtcbiAgICBmbGV4OiAwIDAgNjAlO1xuICAgIHdpZHRoOiA2MCU7XG4gICAgbWF4LXdpZHRoOiA2MCU7XG4gIH1cbiAgLkdyaWRfX0NlbGwtLUwyb2YzIHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2JTtcbiAgICB3aWR0aDogNjYuNjY2JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NiU7XG4gIH1cbiAgLkdyaWRfX0NlbGwtLUwyb2Y1IHtcbiAgICBmbGV4OiAwIDAgNDAlO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgbWF4LXdpZHRoOiA0MCU7XG4gIH1cbiAgLkdyaWRfX0NlbGwtLUwzb2Y0IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIHdpZHRoOiA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7XG4gIH1cbiAgLkdyaWRfX0NlbGwtLUwxb2YxIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuR3JpZF9fQ2VsbC0tTUJvcmRlckxlZnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAuR3JpZF9fQ2VsbC0tTUJvcmRlckxlZnQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwLjVyZW07XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xuICB9XG59XG4uR3JpZF9fTGF5b3V0X19DYXJkIC5HcmlkX19DZWxsIHtcbiAgcGFkZGluZzogMDtcbn1cbi5HcmlkX19MYXlvdXRfX0NhcmQgPiAuR3JpZF9fQ2VsbCB7XG4gIHBhZGRpbmc6IDNyZW0gMCAwIDNyZW07XG59XG4uR3JpZF9fTGF5b3V0X19DYXJkIC5HcmlkLkdyaWRfX0NhcmQge1xuICBwYWRkaW5nOiAyMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwMDU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNzBweDtcbn1cbi5HcmlkX19MYXlvdXRfX0NhcmQgLkdyaWQuR3JpZF9fQ2FyZCAuTW9kdWxlX19Gb290IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDIwcHg7XG4gIGxlZnQ6IDIwcHg7XG59XG4uTGF5ZXI6bGFzdC1jaGlsZCB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG59XG4uTGF5ZXJfX0lubmVyLFxuLlNpdGVGb290ZXJfX0lubmVyLFxuLlNpdGVIZWFkZXJfX0lubmVyIHtcbiAgcGFkZGluZzogMS4yNXJlbSAwLjc1cmVtO1xuICBtYXgtd2lkdGg6IDcxcmVtO1xuICBtYXJnaW46IDAgYXV0bztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuTGF5ZXJfX0lubmVyLFxuICAuU2l0ZUZvb3Rlcl9fSW5uZXIsXG4gIC5TaXRlSGVhZGVyX19Jbm5lciB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2OHJlbSkge1xuICAuTGF5ZXJfX0lubmVyLFxuICAuU2l0ZUZvb3Rlcl9fSW5uZXIsXG4gIC5TaXRlSGVhZGVyX19Jbm5lciB7XG4gICAgcGFkZGluZzogMnJlbSAxLjVyZW07XG4gIH1cbn1cbi5MYXllcl9fSW5uZXItLUluc2V0IHtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbn1cbi5MYXllcl9fSW5uZXItLVBhZGRpbmdUb3BOb25lLFxuLkxheWVyX19Jbm5lci0tUGFkZGluZ1ZlcnRpY2FsTm9uZSxcbi5TaXRlRm9vdGVyX19Jbm5lcixcbi5TaXRlSGVhZGVyX19Jbm5lciB7XG4gIHBhZGRpbmctdG9wOiAwO1xufVxuLkxheWVyX19Jbm5lci0tUGFkZGluZ0JvdHRvbU5vbmUsXG4uTGF5ZXJfX0lubmVyLS1QYWRkaW5nVmVydGljYWxOb25lLFxuLlNpdGVGb290ZXJfX0lubmVyLFxuLlNpdGVIZWFkZXJfX0lubmVyIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG4uTGF5ZXJfX0lubmVyLS1QYWRkaW5nVG9wTGFyZ2UsXG4uTGF5ZXJfX0lubmVyLS1QYWRkaW5nVmVydGljYWxMYXJnZSB7XG4gIHBhZGRpbmctdG9wOiAycmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDY4cmVtKSB7XG4gIC5MYXllcl9fSW5uZXItLVBhZGRpbmdUb3BMYXJnZSxcbiAgLkxheWVyX19Jbm5lci0tUGFkZGluZ1ZlcnRpY2FsTGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICB9XG59XG4uTGF5ZXJfX0lubmVyLS1QYWRkaW5nQm90dG9tTGFyZ2UsXG4uTGF5ZXJfX0lubmVyLS1QYWRkaW5nVmVydGljYWxMYXJnZSB7XG4gIHBhZGRpbmctYm90dG9tOiAycmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDY4cmVtKSB7XG4gIC5MYXllcl9fSW5uZXItLVBhZGRpbmdCb3R0b21MYXJnZSxcbiAgLkxheWVyX19Jbm5lci0tUGFkZGluZ1ZlcnRpY2FsTGFyZ2Uge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICB9XG59XG4uTGF5ZXJfX0lubmVyLS1QYWRkaW5nVG9wTGFyZ2VyLFxuLkxheWVyX19Jbm5lci0tUGFkZGluZ1ZlcnRpY2FsTGFyZ2VyIHtcbiAgcGFkZGluZy10b3A6IDRyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjhyZW0pIHtcbiAgLkxheWVyX19Jbm5lci0tUGFkZGluZ1RvcExhcmdlcixcbiAgLkxheWVyX19Jbm5lci0tUGFkZGluZ1ZlcnRpY2FsTGFyZ2VyIHtcbiAgICBwYWRkaW5nLXRvcDogNnJlbTtcbiAgfVxufVxuLkxheWVyX19Jbm5lci0tUGFkZGluZ0JvdHRvbUxhcmdlcixcbi5MYXllcl9fSW5uZXItLVBhZGRpbmdWZXJ0aWNhbExhcmdlciB7XG4gIHBhZGRpbmctYm90dG9tOiA0cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDY4cmVtKSB7XG4gIC5MYXllcl9fSW5uZXItLVBhZGRpbmdCb3R0b21MYXJnZXIsXG4gIC5MYXllcl9fSW5uZXItLVBhZGRpbmdWZXJ0aWNhbExhcmdlciB7XG4gICAgcGFkZGluZy1ib3R0b206IDZyZW07XG4gIH1cbn1cbi5MYXllci0tQm9yZGVyU2VwYXJhdGVkICsgLkxheWVyLS1Cb3JkZXJTZXBhcmF0ZWQge1xuICBib3JkZXItdG9wOiBzb2xpZCAzcHggI2VlZWVlZTtcbn1cbi5MYXllci0tQm9yZGVyZWQge1xuICBib3JkZXItdG9wOiAycHggc29saWQgI2VlZWVlZTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlZWVlZWU7XG59XG4uTGF5ZXItLVNwYWNpbmdMYXJnZSAuTGF5ZXJfX0lubmVyLFxuLkxheWVyLS1TcGFjaW5nTGFyZ2UgLlNpdGVGb290ZXJfX0lubmVyLFxuLkxheWVyLS1TcGFjaW5nTGFyZ2UgLlNpdGVIZWFkZXJfX0lubmVyIHtcbiAgcGFkZGluZzogNXJlbSAwLjc1cmVtO1xufVxuLkxheWVyLS1QYXR0ZXJuQmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIDA7XG4gIGJhY2tncm91bmQ6ICMyMjIyMjI7XG59XG4uTGF5ZXItLVBhdHRlcm5CYWNrZ3JvdW5kOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHotaW5kZXg6IDI7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzIyMjIyMiwgcmdiYSgzNCwgMzQsIDM0LCAwKSk7XG59XG4uTGF5ZXItLVBhdHRlcm5CYWNrZ3JvdW5kIC5MYXllcl9fQmFja2dyb3VuZCB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB6LWluZGV4OiAxO1xufVxuLkxheWVyLS1QYXR0ZXJuQmFja2dyb3VuZCAuTGF5ZXJfX0lubmVyLFxuLkxheWVyLS1QYXR0ZXJuQmFja2dyb3VuZCAuU2l0ZUZvb3Rlcl9fSW5uZXIsXG4uTGF5ZXItLVBhdHRlcm5CYWNrZ3JvdW5kIC5TaXRlSGVhZGVyX19Jbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuTGF5ZXItLVBhdHRlcm5CYWNrZ3JvdW5kIHtcbiAgICBtYXJnaW46IDEuNXJlbSAwO1xuICB9XG59XG4uTGF5ZXItLVNwZWN0cnVtQmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luOiAxLjVyZW0gMDtcbn1cbi5MYXllci0tU3BlY3RydW1CYWNrZ3JvdW5kIC5TcGVjdHJ1bUJhY2tncm91bmQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBoZWlnaHQ6IDEwMHZ3O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDY4cmVtKSB7XG4gIC5MYXllci0tU3BlY3RydW1CYWNrZ3JvdW5kIC5TcGVjdHJ1bUJhY2tncm91bmQge1xuICAgIGhlaWdodDogNjhyZW07XG4gIH1cbn1cbi5MYXllci0tU3BlY3RydW1CYWNrZ3JvdW5kIC5MYXllcl9fSW5uZXIsXG4uTGF5ZXItLVNwZWN0cnVtQmFja2dyb3VuZCAuU2l0ZUZvb3Rlcl9fSW5uZXIsXG4uTGF5ZXItLVNwZWN0cnVtQmFja2dyb3VuZCAuU2l0ZUhlYWRlcl9fSW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmctdG9wOiBjYWxjKDV2dyArIDNyZW0pO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDY4cmVtKSB7XG4gIC5MYXllci0tU3BlY3RydW1CYWNrZ3JvdW5kIC5MYXllcl9fSW5uZXIsXG4gIC5MYXllci0tU3BlY3RydW1CYWNrZ3JvdW5kIC5TaXRlRm9vdGVyX19Jbm5lcixcbiAgLkxheWVyLS1TcGVjdHJ1bUJhY2tncm91bmQgLlNpdGVIZWFkZXJfX0lubmVyIHtcbiAgICBwYWRkaW5nLXRvcDogNi40cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLkxheWVyLS1TcGVjdHJ1bUJhY2tncm91bmQge1xuICAgIG1hcmdpbjogMS41cmVtIDA7XG4gIH1cbn1cbi5MYXllci0tU3BlY3RydW1CYWNrZ3JvdW5kLS1DdXJ2ZWQgLkxheWVyX19Jbm5lcixcbi5MYXllci0tU3BlY3RydW1CYWNrZ3JvdW5kLS1DdXJ2ZWQgLlNpdGVGb290ZXJfX0lubmVyLFxuLkxheWVyLS1TcGVjdHJ1bUJhY2tncm91bmQtLUN1cnZlZCAuU2l0ZUhlYWRlcl9fSW5uZXIge1xuICBwYWRkaW5nLXRvcDogY2FsYyg1dncgKyAxcmVtKTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2OHJlbSkge1xuICAuTGF5ZXItLVNwZWN0cnVtQmFja2dyb3VuZC0tQ3VydmVkIC5MYXllcl9fSW5uZXIsXG4gIC5MYXllci0tU3BlY3RydW1CYWNrZ3JvdW5kLS1DdXJ2ZWQgLlNpdGVGb290ZXJfX0lubmVyLFxuICAuTGF5ZXItLVNwZWN0cnVtQmFja2dyb3VuZC0tQ3VydmVkIC5TaXRlSGVhZGVyX19Jbm5lciB7XG4gICAgcGFkZGluZy10b3A6IDQuNHJlbTtcbiAgfVxufVxuaHRtbC5uby12ZWN0b3JlZmZlY3QgLlNwZWN0cnVtQmFja2dyb3VuZC0tQ3VydmVkX19BcmMge1xuICBzdHJva2Utd2lkdGg6IDAuMjU7XG59XG5odG1sLm5vLXZlY3RvcmVmZmVjdCAuU3BlY3RydW1CYWNrZ3JvdW5kLS1DdXJ2ZWRfX1NoYWRlIHtcbiAgc3Ryb2tlLXdpZHRoOiAwLjI7XG59XG5odG1sLm5vLXZlY3RvcmVmZmVjdCAuU3BlY3RydW1CYWNrZ3JvdW5kLS1TdHJhaWdodF9fTGluZSB7XG4gIHN0cm9rZS13aWR0aDogMC4yNTtcbn1cbi5MYXllci0tSG9yaXpvbnRhbEZsdXNoIC5MYXllcl9fSW5uZXIsXG4uTGF5ZXItLUhvcml6b250YWxGbHVzaCAuU2l0ZUZvb3Rlcl9fSW5uZXIsXG4uTGF5ZXItLUhvcml6b250YWxGbHVzaCAuU2l0ZUhlYWRlcl9fSW5uZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi5MYXllci0tSG9yaXpvbnRhbEZsdXNoX19SZXN0b3JlTWF4V2lkdGgge1xuICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gIG1heC13aWR0aDogNzFyZW07XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5MYXllci0tRGVza3RvcENvbGxhcHNlIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB9XG4gIC5MYXllci0tRGVza3RvcENvbGxhcHNlIC5MYXllcl9fSW5uZXIsXG4gIC5MYXllci0tRGVza3RvcENvbGxhcHNlIC5TaXRlRm9vdGVyX19Jbm5lcixcbiAgLkxheWVyLS1EZXNrdG9wQ29sbGFwc2UgLlNpdGVIZWFkZXJfX0lubmVyIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cbi5Nb2R1bGVfX0hlYWQgKyAuTW9kdWxlX19IZWFkIHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG59XG4uTW9kdWxlX19IZWFkICsgLk1vZHVsZV9fUm93LFxuLk1vZHVsZV9fUm93ICsgLk1vZHVsZV9fUm93IHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG59XG4uTW9kdWxlX19Gb290IHtcbiAgcGFkZGluZy10b3A6IDFyZW07XG59XG4uTW9kdWxlLS1TcGFjaW5nU21hbGwgLk1vZHVsZV9fSGVhZCArIC5Nb2R1bGVfX1JvdyB7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG59XG4uTW9kdWxlLS1TcGFjaW5nU21hbGwgLk1vZHVsZV9fUm93ICsgLk1vZHVsZV9fUm93IHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbn1cbi5Nb2R1bGUtLVNwYWNpbmdTbWFsbCAuTW9kdWxlX19Gb290IHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbn1cbi5Nb2R1bGUtLVNwYWNpbmdMYXJnZSA+IC5Nb2R1bGVfX0hlYWQgKyAuTW9kdWxlX19Sb3csXG4uTW9kdWxlLS1TcGFjaW5nTGFyZ2UgPiAuTW9kdWxlX19Sb3cgKyAuTW9kdWxlX19Sb3cge1xuICBwYWRkaW5nLXRvcDogMS41cmVtO1xufVxuLk1vZHVsZS0tU3BhY2luZ0xhcmdlID4gLk1vZHVsZV9fRm9vdCB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG59XG4uTW9kdWxlLS1TcGFjaW5nTGFyZ2VyID4gLk1vZHVsZV9fSGVhZCArIC5Nb2R1bGVfX1Jvdyxcbi5Nb2R1bGUtLVNwYWNpbmdMYXJnZXIgPiAuTW9kdWxlX19Sb3cgKyAuTW9kdWxlX19Sb3cge1xuICBwYWRkaW5nLXRvcDogMi4yNXJlbTtcbn1cbi5Nb2R1bGUtLVNwYWNpbmdMYXJnZXIgPiAuTW9kdWxlX19Gb290IHtcbiAgcGFkZGluZy10b3A6IDIuMjVyZW07XG59XG4uTW9kdWxlLS1TcGFjaW5nSnVtYm8gPiAuTW9kdWxlX19IZWFkICsgLk1vZHVsZV9fUm93LFxuLk1vZHVsZS0tU3BhY2luZ0p1bWJvID4gLk1vZHVsZV9fUm93ICsgLk1vZHVsZV9fUm93IHtcbiAgcGFkZGluZy10b3A6IDNyZW07XG59XG4uTW9kdWxlLS1TcGFjaW5nSnVtYm8gPiAuTW9kdWxlX19Gb290IHtcbiAgcGFkZGluZy10b3A6IDNyZW07XG59XG4uTW9kdWxlX19IZWFkLS1Cb3JkZXJCb3R0b20ge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2VlZWVlZTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbn1cbi5Nb2R1bGVfX0hlYWQtLUJvcmRlckJvdHRvbS0tQ29sb3JEYXJrIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICM0NDQ0NDQ7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG59XG4uTW9kdWxlLS1Cb3JkZXJUb3Age1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZWVlZTtcbiAgcGFkZGluZy10b3A6IDJyZW07XG59XG4uTW9kdWxlLS1Cb3JkZXJUb3AtLU1hcmdpblNtYWxsIHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbiAgcGFkZGluZy10b3A6IDFyZW07XG59XG4uTW9kdWxlLS1Cb3JkZXJUb3AtLU5vTWFyZ2luIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0OS45OTk5OXJlbSkge1xuICAuTW9kdWxlLS1Cb3JkZXJUb3AtLU5vTWFyZ2luLS1Nb2JpbGVPbmx5IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG4uTW9kdWxlLS1Cb3JkZXJCb3R0b20ge1xuICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG4uTW9kdWxlLS1DdXRPdXQge1xuICBwYWRkaW5nOiAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uTW9kdWxlLS1DdXRPdXRfX0JHIHtcbiAgei1pbmRleDogLTE7XG59XG4uTW9kdWxlX19Sb3ctLU1hcmdpblRvcExhcmdlIHtcbiAgbWFyZ2luLXRvcDogM3JlbTtcbn1cbi8qXG4gKiBTaXRlIE92ZXJsYXlcbiAqL1xuLypcbiAqIE92ZXJhbGwgUnVsZXNcbiAqL1xuLlNpdGVPdmVybGF5IHtcbiAgei1pbmRleDogMTA7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk2KTtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG4uU2l0ZU92ZXJsYXlfX0Nsb3NlQnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDFyZW07XG4gIHJpZ2h0OiAxcmVtO1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAwO1xufVxuLlNpdGVPdmVybGF5X19DbG9zZUJ1dHRvbjo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlMjB4JTNEJTIyMHB4JTIyJTIweSUzRCUyMjBweCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDY0JTIwNjQlMjIlM0UlM0NsaW5lJTIwc3Ryb2tlJTNEJTIyJTIzMjIyMjIyJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyNCUyMiUyMHgxJTNEJTIyOCUyMiUyMHkxJTNEJTIyOCUyMiUyMHgyJTNEJTIyNTYlMjIlMjB5MiUzRCUyMjU2JTIyJTIwJTJGJTNFJTNDbGluZSUyMHN0cm9rZSUzRCUyMiUyMzIyMjIyMiUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjQlMjIlMjB4MSUzRCUyMjU2JTIyJTIweTElM0QlMjI4JTIyJTIweDIlM0QlMjI4JTIyJTIweTIlM0QlMjI1NiUyMiUyMCUyRiUzRSUzQyUyRnN2ZyUzRVwiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIG9wYWNpdHk6IDAuODtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMTJzO1xufVxuaHRtbC5uby10b3VjaGV2ZW50cyAuU2l0ZU92ZXJsYXlfX0Nsb3NlQnV0dG9uOmhvdmVyOjphZnRlcixcbmh0bWwudG91Y2hldmVudHMgLlNpdGVPdmVybGF5X19DbG9zZUJ1dHRvbjphY3RpdmU6OmFmdGVyIHtcbiAgb3BhY2l0eTogMTtcbn1cbmh0bWwubm8tdG91Y2hldmVudHMgLlNpdGVPdmVybGF5X19DbG9zZUJ1dHRvbjphY3RpdmU6OmFmdGVyIHtcbiAgb3BhY2l0eTogMC41O1xufVxuLlNpdGVPdmVybGF5X19Jbm5lciB7XG4gIHBhZGRpbmc6IDJyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG59XG4uQW5pbWF0ZWRHcmFwaGljSUxUIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC1oZWlnaHQ6IDMwcmVtO1xuICBtYXgtd2lkdGg6IDMwcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuLkpTX19BbmltYXRlZExvZ28ge1xuICBkaXNwbGF5OiBub25lO1xufVxuaHRtbC5uby1maXJzdGxvYWQgLkpTX19BbmltYXRlZExvZ28ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbmEuQXJyb3dMaW5rIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5hLkFycm93TGluayBzdmcge1xuICBtYXJnaW4tbGVmdDogNnB4O1xuICB3aWR0aDogNHB4O1xuICBoZWlnaHQ6IDZweDtcbiAgc3Ryb2tlOiAjMjY2MWM2O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICBhLkFycm93TGluayB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG4gIGEuQXJyb3dMaW5rIHN2ZyB7XG4gICAgd2lkdGg6IDZweDtcbiAgICBoZWlnaHQ6IDlweDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMnB4O1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIH1cbn1cbmh0bWwubm8tdG91Y2hldmVudHMgYS5BcnJvd0xpbms6aG92ZXIgc3ZnIHtcbiAgY29sb3I6ICMxZDQ5OTY7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgaHRtbC5uby10b3VjaGV2ZW50cyBhLkFycm93TGluazpob3ZlciBzdmcge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG4uQnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDk5cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBhZGRpbmc6IDAuODc1cmVtIDEuNXJlbTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpLCByZ2JhKDAsIDAsIDAsIDAuMSkpICMyNjYxYzY7XG4gIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMWVtO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gIGNvbG9yOiAjZmZmO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5CdXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQ0OTk2O1xuICBjb2xvcjogI2ZmZjtcbn1cbmh0bWwubm8tdG91Y2hldmVudHMgLkJ1dHRvbjphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBjMWY0MTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuQnV0dG9uIHtcbiAgICBwYWRkaW5nOiAxcmVtIDIuNzVyZW07XG4gIH1cbn1cbi5CdXR0b24tLVNpemVTbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogMC43NXJlbSAxLjI1cmVtO1xuICBsZXR0ZXItc3BhY2luZzogMC4yZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLkJ1dHRvbi0tU2l6ZVNtYWxsIHtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDEuNzVyZW07XG4gIH1cbn1cbi5CdXR0b25fX0ljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG59XG4uQnV0dG9uX19JY29uIHN2ZyB7XG4gIGZpbGw6ICNmZmY7XG4gIHN0cm9rZTogI2ZmZjtcbiAgaGVpZ2h0OiA5cHg7XG4gIHdpZHRoOiA2cHg7XG59XG4uQnV0dG9uX19JY29uLS1SaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDAuNzVyZW07XG59XG4uQnV0dG9uLS1Db2xvckdvbGQsXG4uU2l0ZU1vYmlsZVRyYXlfX0NUQSAuQnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZDAyYTtcbn1cbmh0bWwubm8tdG91Y2hldmVudHMgLkJ1dHRvbi0tQ29sb3JHb2xkOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ViYmQwNjtcbiAgY29sb3I6ICNmZmY7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5CdXR0b24tLUNvbG9yR29sZDphY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMnB4KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JhOTUwNDtcbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA0OS45OTk5OXJlbSkge1xuICAuQnV0dG9uLS1Nb2JpbGVGbHVzaExlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMC43NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNzVyZW07XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDkuOTk5OTlyZW0pIHtcbiAgLkJ1dHRvbi0tTW9iaWxlRmx1c2hSaWdodCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC43NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjc1cmVtO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICB9XG59XG5hLkNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogNnJlbTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5hLkNhcmQ6OmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDAsIDAsIDAsIDAuOCksIHJnYmEoMCwgMCwgMCwgMCkpO1xuICB6LWluZGV4OiAtMTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIGEuQ2FyZDpob3ZlciAuQ2FyZF9fSW1hZ2Uge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTk5KTtcbn1cbmh0bWwubm8tdG91Y2hldmVudHMgYS5DYXJkOmhvdmVyOjphZnRlciB7XG4gIG9wYWNpdHk6IDAuODtcbn1cbi5DYXJkX19JbWFnZSB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTEwJTtcbiAgcmlnaHQ6IC0xMCU7XG4gIHdpZHRoOiAxMjAlO1xuICBoZWlnaHQ6IDEyMCU7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC45NCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA2MCUgNTAlO1xuICBiYWNrZ3JvdW5kOiAjMjY2MWM2O1xuICB6LWluZGV4OiAtMjtcbn1cbi5DYXJkX19MYWJlbCB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5DYXJkX19UaXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEuMjVyZW07XG59XG4uRG93bmxvYWRCbG9jayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm94LXNoYWRvdzogMCAycHggMXJlbSByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5pbWcuRG93bmxvYWRCbG9ja19fVGh1bWIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvcGFjaXR5OiAwLjM7XG59XG4uRG93bmxvYWRCbG9ja19fSW5uZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB6LWluZGV4OiAxO1xufVxuLkZpbGwsXG4uU2l0ZUhlYWRlcl9fQmFja2dyb3VuZCxcbi5TaXRlSGVhZGVyX19EZXNrdG9wTWVudV9fTGluay5TaXRlSGVhZGVyX19Ecm9wZG93blRyaWdnZXI6OmJlZm9yZSxcbi5MYXllci0tUGF0dGVybkJhY2tncm91bmQ6OmFmdGVyLFxuLkxheWVyLS1QYXR0ZXJuQmFja2dyb3VuZCAuTGF5ZXJfX0JhY2tncm91bmQsXG4uTW9kdWxlLS1DdXRPdXRfX0JHLFxuYS5DYXJkOjphZnRlcixcbi5Gb3JtX19GaWVsZF9fSW5wdXRfX0JHLFxuLkZvcm1fX0ZpZWxkLS1GaWxlX19MYWJlbCxcbi5WaWRlb1RyaWdnZXJfX0lubmVyLFxuLlZpZGVvVHJpZ2dlcl9fVGh1bWIsXG4uVmlkZW9UcmlnZ2VyX19CYWNrZ3JvdW5kIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uRm9ybSB7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuLkZvcm0gaW5wdXRbdHlwZT1cInRleHRcIl0sXG4uRm9ybSBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4uRm9ybSBpbnB1dFt0eXBlPVwidGVsXCJdLFxuLkZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuLkZvcm0gdGV4dGFyZWEge1xuICBvdXRsaW5lOiBub25lO1xuICBib3JkZXI6IG5vbmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuLkZvcm0gdGV4dGFyZWEge1xuICByZXNpemU6IG5vbmU7XG59XG4uRm9ybSAuZy1yZWNhcHRjaGEge1xuICBkaXNwbGF5OiBncmlkO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cbi5Gb3JtX19GaWVsZCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4uRm9ybV9fRmllbGRfX0xhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDEuNXJlbTtcbiAgY29sb3I6ICM4ODg4ODggIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG59XG4uRm9ybV9fRmllbGQtLUlzQWN0aXZlIC5Gb3JtX19GaWVsZF9fTGFiZWwge1xuICBjb2xvcjogIzI2NjFjNiAhaW1wb3J0YW50O1xufVxuLkZvcm1fX0ZpZWxkX19JbnB1dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXJhZGl1czogMjNweDtcbiAgaGVpZ2h0OiA0NnB4O1xuICBib3gtc2hhZG93OiAwIDAgMnB4IHJnYmEoMCwgMCwgMCwgMC4xKSwgMCA0cHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cbi5Gb3JtX19GaWVsZF9fSW5wdXQgaW5wdXQsXG4uRm9ybV9fRmllbGRfX0lucHV0IHRleHRhcmVhLFxuLkZvcm1fX0ZpZWxkX19JbnB1dCBzZWxlY3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAyMXB4O1xuICBmb250LWZhbWlseTogQ2FsaWJyZTtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjNDQ0NDQ0O1xufVxuLkZvcm1fX0ZpZWxkX19JbnB1dCBpbnB1dDo6LW1vei1wbGFjZWhvbGRlcixcbi5Gb3JtX19GaWVsZF9fSW5wdXQgdGV4dGFyZWE6Oi1tb3otcGxhY2Vob2xkZXIsXG4uRm9ybV9fRmllbGRfX0lucHV0IHNlbGVjdDo6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2NjY2NjO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xufVxuLkZvcm1fX0ZpZWxkX19JbnB1dCBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4uRm9ybV9fRmllbGRfX0lucHV0IHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbi5Gb3JtX19GaWVsZF9fSW5wdXQgc2VsZWN0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2NjY2NjO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xufVxuLkZvcm1fX0ZpZWxkX19JbnB1dCBpbnB1dDotbW96LXBsYWNlaG9sZGVyLFxuLkZvcm1fX0ZpZWxkX19JbnB1dCB0ZXh0YXJlYTotbW96LXBsYWNlaG9sZGVyLFxuLkZvcm1fX0ZpZWxkX19JbnB1dCBzZWxlY3Q6LW1vei1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2NjY2NjO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xufVxuLkZvcm1fX0ZpZWxkX19JbnB1dCBpbnB1dDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcixcbi5Gb3JtX19GaWVsZF9fSW5wdXQgdGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG4uRm9ybV9fRmllbGRfX0lucHV0IHNlbGVjdDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2NjY2NjO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzO1xufVxuLkZvcm1fX0ZpZWxkX19JbnB1dCBpbnB1dDotd2Via2l0LWF1dG9maWxsLFxuLkZvcm1fX0ZpZWxkX19JbnB1dCB0ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLFxuLkZvcm1fX0ZpZWxkX19JbnB1dCBzZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbCB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMTAwMHB4ICNmZmYgaW5zZXQ7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5Gb3JtX19GaWVsZF9fSW5wdXQgaW5wdXQ6aG92ZXI6Oi1tb3otcGxhY2Vob2xkZXIsXG5odG1sLm5vLXRvdWNoZXZlbnRzIC5Gb3JtX19GaWVsZF9fSW5wdXQgdGV4dGFyZWE6aG92ZXI6Oi1tb3otcGxhY2Vob2xkZXIsXG5odG1sLm5vLXRvdWNoZXZlbnRzIC5Gb3JtX19GaWVsZF9fSW5wdXQgc2VsZWN0OmhvdmVyOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNhYWFhYWE7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5Gb3JtX19GaWVsZF9fSW5wdXQgaW5wdXQ6aG92ZXI6LW1zLWlucHV0LXBsYWNlaG9sZGVyLFxuaHRtbC5uby10b3VjaGV2ZW50cyAuRm9ybV9fRmllbGRfX0lucHV0IHRleHRhcmVhOmhvdmVyOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbmh0bWwubm8tdG91Y2hldmVudHMgLkZvcm1fX0ZpZWxkX19JbnB1dCBzZWxlY3Q6aG92ZXI6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNhYWFhYWE7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5Gb3JtX19GaWVsZF9fSW5wdXQgaW5wdXQ6aG92ZXI6LW1vei1wbGFjZWhvbGRlcixcbmh0bWwubm8tdG91Y2hldmVudHMgLkZvcm1fX0ZpZWxkX19JbnB1dCB0ZXh0YXJlYTpob3ZlcjotbW96LXBsYWNlaG9sZGVyLFxuaHRtbC5uby10b3VjaGV2ZW50cyAuRm9ybV9fRmllbGRfX0lucHV0IHNlbGVjdDpob3ZlcjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNhYWFhYWE7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5Gb3JtX19GaWVsZF9fSW5wdXQgaW5wdXQ6aG92ZXI6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG5odG1sLm5vLXRvdWNoZXZlbnRzIC5Gb3JtX19GaWVsZF9fSW5wdXQgdGV4dGFyZWE6aG92ZXI6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsXG5odG1sLm5vLXRvdWNoZXZlbnRzIC5Gb3JtX19GaWVsZF9fSW5wdXQgc2VsZWN0OmhvdmVyOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNhYWFhYWE7XG59XG4uRm9ybV9fRmllbGRfX0lucHV0X19CRyB7XG4gIG9wYWNpdHk6IDA7XG59XG4uRm9ybV9fQnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG4uRm9ybV9fRmllbGQtLVJlcXVpcmVkIC5Gb3JtX19GaWVsZF9fTGFiZWw6OmFmdGVyIHtcbiAgY29udGVudDogXCIqUmVxdWlyZWRcIjtcbiAgY29sb3I6ICNhYWFhYWE7XG4gIGZvbnQtc2l6ZTogOHB4O1xuICBtYXJnaW4tbGVmdDogMC41cmVtO1xufVxuLkZvcm1fX0ZpZWxkLS1UZXh0YXJlYSAuRm9ybV9fRmllbGRfX0lucHV0IHtcbiAgaGVpZ2h0OiAyMDBweDtcbn1cbi5Gb3JtX19GaWVsZC0tVGV4dGFyZWEgdGV4dGFyZWEge1xuICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgcmlnaHQ6IDFyZW07XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAxcmVtKTtcbn1cbi5Gb3JtX19GaWVsZC0tU2VsZWN0IHNlbGVjdCB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLkZvcm1fX0ZpZWxkLS1TZWxlY3RfX0RlY29yYXRpb24gc3ZnIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAyNnB4O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICByaWdodDogMXJlbTtcbn1cbmh0bWwubm8tdG91Y2hldmVudHMgLkZvcm1fX0ZpZWxkLS1TZWxlY3RfX0RlY29yYXRpb246aG92ZXIgLkZvcm1fX0ZpZWxkLS1TZWxlY3RfX0RlY29yYXRpb25fX0Fycm93IHtcbiAgZmlsbDogI2FhYWFhYTtcbn1cbi5Gb3JtX19GaWVsZC0tU2VsZWN0X19EZWNvcmF0aW9uX19BcnJvdyB7XG4gIGZpbGw6ICNjY2NjY2M7XG59XG4uRm9ybV9fRmllbGQtLUZpbGUgaW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAtMTAwMDtcbn1cbi5Gb3JtX19GaWVsZC0tRmlsZV9fTGFiZWwge1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjY2NjY2NjO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cbmh0bWwubm8tdG91Y2hldmVudHMgLkZvcm1fX0ZpZWxkLS1GaWxlX19MYWJlbDpob3ZlciB7XG4gIGNvbG9yOiAjYWFhYWFhO1xufVxuaHRtbC5uby10b3VjaGV2ZW50cyAuRm9ybV9fRmllbGQtLUZpbGVfX0xhYmVsOmhvdmVyIC5Gb3JtX19GaWVsZC0tRmlsZV9fTGFiZWxfX0ljb24gc3ZnIHtcbiAgZmlsbDogI2FhYWFhYTtcbn1cbi5Gb3JtX19GaWVsZC0tRmlsZV9fTGFiZWxfX0ljb24ge1xuICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xufVxuLkZvcm1fX0ZpZWxkLS1GaWxlX19MYWJlbF9fSWNvbiBzdmcge1xuICBmaWxsOiAjY2NjY2NjO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycztcbn1cbi5Gb3JtX19GaWVsZC0tRmlsZS0tSXNNb2RpZmllZCAuRm9ybV9fRmllbGQtLUZpbGVfX0xhYmVsIHtcbiAgY29sb3I6ICM0NDQ0NDQ7XG59XG4uRm9ybV9fRmllbGQtLUZpbGUtLUlzTW9kaWZpZWQgLkZvcm1fX0ZpZWxkLS1GaWxlX19MYWJlbCBzdmcge1xuICBmaWxsOiAjNDQ0NDQ0O1xufVxuaHRtbC5uby10b3VjaGV2ZW50cyAuRm9ybV9fRmllbGQtLUZpbGUtLUlzTW9kaWZpZWQgLkZvcm1fX0ZpZWxkLS1GaWxlX19MYWJlbDpob3ZlciB7XG4gIGNvbG9yOiAjNjY2NjY2O1xufVxuaHRtbC5uby10b3VjaGV2ZW50cyAuRm9ybV9fRmllbGQtLUZpbGUtLUlzTW9kaWZpZWQgLkZvcm1fX0ZpZWxkLS1GaWxlX19MYWJlbDpob3ZlciAuRm9ybV9fRmllbGQtLUZpbGVfX0xhYmVsX19JY29uIHN2ZyB7XG4gIGZpbGw6ICM2NjY2NjY7XG59XG4uSlNfX0Zvcm1fX0ZpZWxkLS1Db25kaXRpb25hbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uRm9ybS0tTWF4V2lkdGgge1xuICBtYXgtd2lkdGg6IDIyLjVyZW07XG59XG4uRm9ybV9fZXJyb3JzIHtcbiAgYmFja2dyb3VuZDogI2ZmZTRlNDtcbiAgcGFkZGluZzogMTJweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICBjb2xvcjogI2ZhMmEyYTtcbiAgYm94LXNoYWRvdzogMCAwIDJweCByZ2JhKDIxOSwgMCwgMCwgMC4xKSwgMCA0cHggOHB4IHJnYmEoMjE5LCAwLCAwLCAwLjEpO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDc1cmVtKSB7XG4gIC5HcmFwaEJsb2NrIHtcbiAgICBtYXJnaW4tbGVmdDogLTRyZW07XG4gIH1cbn1cbi8qXG4gKiBIYW1idXJnZXIgYW5pbWF0aW9uXG4gKi9cbi5IYW1idXJnZXIge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxNHB4O1xuICBmaWxsOiAjZmZmO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5IYW1idXJnZXJfX0JhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgaGVpZ2h0OiAycHg7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4xcztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuLkhhbWJ1cmdlcl9fQmFyW2Jhci1pZD1cInRvcFwiXSB7XG4gIHRvcDogMDtcbn1cbi5IYW1idXJnZXJfX0JhcltiYXItaWQ9XCJtaWRkbGVcIl0ge1xuICB0b3A6IDZweDtcbn1cbi5IYW1idXJnZXJfX0JhcltiYXItaWQ9XCJib3R0b21cIl0ge1xuICB0b3A6IDEycHg7XG59XG4uSGFtYnVyZ2VyLS1TaXplU21hbGwge1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxMnB4O1xufVxuLkhhbWJ1cmdlci0tU2l6ZVNtYWxsIC5IYW1idXJnZXJfX0JhcltiYXItaWQ9XCJtaWRkbGVcIl0ge1xuICB0b3A6IDVweDtcbn1cbi5IYW1idXJnZXItLVNpemVTbWFsbCAuSGFtYnVyZ2VyX19CYXJbYmFyLWlkPVwiYm90dG9tXCJdIHtcbiAgdG9wOiAxMHB4O1xufVxuLkhhbWJ1cmdlci0tSXNBY3RpdmUsXG4uSlNfX1NpdGVNb2JpbGVOYXZUcmlnZ2VyLS1Jc0FjdGl2ZSAuU2l0ZUhlYWRlcl9fTW9iaWxlTWVudVRyaWdnZXJfX0hhbWJ1cmdlciB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXM7XG59XG4uSGFtYnVyZ2VyLS1Jc0FjdGl2ZSAuSGFtYnVyZ2VyX19CYXJbYmFyLWlkPVwiYm90dG9tXCJdLFxuLkpTX19TaXRlTW9iaWxlTmF2VHJpZ2dlci0tSXNBY3RpdmUgLlNpdGVIZWFkZXJfX01vYmlsZU1lbnVUcmlnZ2VyX19IYW1idXJnZXIgLkhhbWJ1cmdlcl9fQmFyW2Jhci1pZD1cImJvdHRvbVwiXSB7XG4gIHRvcDogNnB4O1xufVxuLkhhbWJ1cmdlci0tSXNBY3RpdmUgLkhhbWJ1cmdlcl9fQmFyW2Jhci1pZD1cIm1pZGRsZVwiXSxcbi5KU19fU2l0ZU1vYmlsZU5hdlRyaWdnZXItLUlzQWN0aXZlIC5TaXRlSGVhZGVyX19Nb2JpbGVNZW51VHJpZ2dlcl9fSGFtYnVyZ2VyIC5IYW1idXJnZXJfX0JhcltiYXItaWQ9XCJtaWRkbGVcIl0ge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG4uSGFtYnVyZ2VyLS1Jc0FjdGl2ZSAuSGFtYnVyZ2VyX19CYXJbYmFyLWlkPVwidG9wXCJdLFxuLkpTX19TaXRlTW9iaWxlTmF2VHJpZ2dlci0tSXNBY3RpdmUgLlNpdGVIZWFkZXJfX01vYmlsZU1lbnVUcmlnZ2VyX19IYW1idXJnZXIgLkhhbWJ1cmdlcl9fQmFyW2Jhci1pZD1cInRvcFwiXSB7XG4gIHRvcDogNnB4O1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG59XG4uSGVhZGluZyxcbi5DYXJkX19MYWJlbCxcbi5Gb3JtX19GaWVsZF9fTGFiZWwsXG4uUXVvdGVfX1RleHQgaDIsXG4uUXVvdGVfX1RleHQgaDMsXG4uUXVvdGVfX1RleHQgaDQsXG4uUXVvdGVfX1RleHQgaDUsXG4uUXVvdGVfX1RleHQgaDYsXG4uUXVvdGVfX1RleHQgYmxvY2txdW90ZSBjaXRlLFxuLlN0YXRDYXJvdXNlbF9fU3RhdF9fVGl0bGUsXG4uU3RhdENhcm91c2VsX19TdGF0X19WYWx1ZSxcbi5UZXh0QmxvY2sgaDIsXG4uVGV4dEJsb2NrIGgzLFxuLlRleHRCbG9jayBoNCxcbi5UZXh0QmxvY2sgaDUsXG4uVGV4dEJsb2NrIGg2LFxuLlRleHRCbG9jayBibG9ja3F1b3RlIGNpdGUsXG4uVmlkZW9UcmlnZ2VyX19UaXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuLkhlYWRpbmctLUNvbG9yV2hpdGUge1xuICBjb2xvcjogI2ZmZjtcbn1cbi5IZWFkaW5nLS1QcmltYXJ5LFxuLlN0YXRDYXJvdXNlbF9fU3RhdF9fVmFsdWUge1xuICBmb250LXNpemU6IDJyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLkhlYWRpbmctLVByaW1hcnksXG4gIC5TdGF0Q2Fyb3VzZWxfX1N0YXRfX1ZhbHVlIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gIH1cbn1cbi5IZWFkaW5nLS1QcmltYXJ5LS1Gb250U2l6ZU1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuSGVhZGluZy0tUHJpbWFyeS0tRm9udFNpemVNZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICB9XG59XG4uSGVhZGluZy0tUHJpbWFyeS0tRm9udFNpemVTbWFsbCxcbi5TaXRlSGVhZGVyLS1UZXh0U21hbGwgLlNpdGVIZWFkZXJfX0hlYWRsaW5lIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLkhlYWRpbmctLVByaW1hcnktLUZvbnRTaXplU21hbGwsXG4gIC5TaXRlSGVhZGVyLS1UZXh0U21hbGwgLlNpdGVIZWFkZXJfX0hlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gIH1cbn1cbi5IZWFkaW5nLS1QcmltYXJ5LS1Gb250U2l6ZUV4U21hbGwge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5IZWFkaW5nLS1QcmltYXJ5LS1Gb250U2l6ZUV4U21hbGwge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBsaW5lLWhlaWdodDogMjcuNXB4O1xuICB9XG59XG4uSGVhZGluZy0tUHJpbWFyeS0tRm9udFdlaWdodEV4Qm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG4uSGVhZGluZy0tU2Vjb25kYXJ5LFxuLlF1b3RlX19UZXh0IGgyLFxuLlF1b3RlX19UZXh0IGgzLFxuLlRleHRCbG9jayBoMixcbi5UZXh0QmxvY2sgaDMge1xuICBmb250LXNpemU6IDIycHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLkhlYWRpbmctLVNlY29uZGFyeSxcbiAgLlF1b3RlX19UZXh0IGgyLFxuICAuUXVvdGVfX1RleHQgaDMsXG4gIC5UZXh0QmxvY2sgaDIsXG4gIC5UZXh0QmxvY2sgaDMge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgfVxufVxuLkhlYWRpbmctLVNlY29uZGFyeS0tRm9udFNpemVNZWRpdW0ge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5IZWFkaW5nLS1TZWNvbmRhcnktLUZvbnRTaXplTWVkaXVtIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDI2LjRweDtcbiAgfVxufVxuLkhlYWRpbmctLVNlY29uZGFyeS0tRm9udFdlaWdodEJvbGQsXG4uUXVvdGVfX1RleHQgaDIsXG4uVGV4dEJsb2NrIGgyIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cbi5IZWFkaW5nLS1TZWNvbmRhcnktLUZvbnRXZWlnaHRFeEJvbGQge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuLkhlYWRpbmctLVNlY29uZGFyeS0tQ29sb3JXaGl0ZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLkhlYWRpbmctLVNlY29uZGFyeS0tRm9udFNpemVTbWFsbCxcbi5TaXRlSGVhZGVyLS1UZXh0U21hbGwgLlNpdGVIZWFkZXJfX1N1YmhlYWQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLkhlYWRpbmctLVNlY29uZGFyeS0tRm9udFNpemVTbWFsbCxcbiAgLlNpdGVIZWFkZXItLVRleHRTbWFsbCAuU2l0ZUhlYWRlcl9fU3ViaGVhZCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG4uSGVhZGluZy0tVGVydGlhcnksXG4uUXVvdGVfX1RleHQgaDQsXG4uUXVvdGVfX1RleHQgYmxvY2txdW90ZSBjaXRlLFxuLlRleHRCbG9jayBoNCxcbi5UZXh0QmxvY2sgYmxvY2txdW90ZSBjaXRlIHtcbiAgZm9udC1mYW1pbHk6IFwiVG9ycXVlXCIsIENvdXJpZXIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4wOHJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuSGVhZGluZy0tVGVydGlhcnksXG4gIC5RdW90ZV9fVGV4dCBoNCxcbiAgLlF1b3RlX19UZXh0IGJsb2NrcXVvdGUgY2l0ZSxcbiAgLlRleHRCbG9jayBoNCxcbiAgLlRleHRCbG9jayBibG9ja3F1b3RlIGNpdGUge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgfVxufVxuLkhlYWRpbmctLVRlcnRpYXJ5LS1Gb250U2l6ZVNtYWxsLFxuLlF1b3RlX19UZXh0IGJsb2NrcXVvdGUgY2l0ZSxcbi5UZXh0QmxvY2sgYmxvY2txdW90ZSBjaXRlIHtcbiAgZm9udC1zaXplOiAxMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5IZWFkaW5nLS1UZXJ0aWFyeS0tRm9udFNpemVTbWFsbCxcbiAgLlF1b3RlX19UZXh0IGJsb2NrcXVvdGUgY2l0ZSxcbiAgLlRleHRCbG9jayBibG9ja3F1b3RlIGNpdGUge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuLkhlYWRpbmctLVRlcnRpYXJ5LS1Db2xvcldoaXRlIHtcbiAgY29sb3I6ICNmZmY7XG59XG4uSGVhZGluZy0tVGVydGlhcnktLVRleHRVcHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuLkhlYWRpbmctLU1ldGEsXG4uQ2FyZF9fTGFiZWwsXG4uRm9ybV9fRmllbGRfX0xhYmVsLFxuLlF1b3RlX19UZXh0IGg1LFxuLlN0YXRDYXJvdXNlbF9fU3RhdF9fVGl0bGUsXG4uVGV4dEJsb2NrIGg1LFxuLlZpZGVvVHJpZ2dlcl9fVGl0bGUge1xuICBmb250LWZhbWlseTogXCJUb3JxdWVcIiwgQ291cmllciwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogI2FhYWFhYTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhyZW07XG4gIGZvbnQtc2l6ZTogMTJweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuSGVhZGluZy0tTWV0YSxcbiAgLkNhcmRfX0xhYmVsLFxuICAuRm9ybV9fRmllbGRfX0xhYmVsLFxuICAuUXVvdGVfX1RleHQgaDUsXG4gIC5TdGF0Q2Fyb3VzZWxfX1N0YXRfX1RpdGxlLFxuICAuVGV4dEJsb2NrIGg1LFxuICAuVmlkZW9UcmlnZ2VyX19UaXRsZSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG59XG4uSGVhZGluZy0tTWV0YSBhLFxuLkZvcm1fX0ZpZWxkX19MYWJlbCBhIHtcbiAgY29sb3I6ICNhYWFhYWE7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5IZWFkaW5nLS1NZXRhIGE6aG92ZXIsXG5odG1sLm5vLXRvdWNoZXZlbnRzIC5Gb3JtX19GaWVsZF9fTGFiZWwgYTpob3ZlciB7XG4gIGNvbG9yOiAjODg4ODg4O1xufVxuLkhlYWRpbmctLU1ldGEtLUZvbnRTaXplU21hbGwge1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5IZWFkaW5nLS1NZXRhLS1Gb250U2l6ZVNtYWxsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEzLjJweDtcbiAgfVxufVxuLkhlYWRpbmctLU1ldGEtLUNvbG9yV2hpdGUsXG4uQ2FyZF9fTGFiZWwsXG4uU3RhdENhcm91c2VsX19TdGF0X19UaXRsZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLkhlYWRpbmctLU1ldGEtLUNvbG9yRGFyayB7XG4gIGNvbG9yOiAjNjY2NjY2O1xufVxuLkhlYWRpbmctLU1ldGEtLUNvbG9yR29sZCB7XG4gIGNvbG9yOiAjZmFkMDJhO1xufVxuLkhlYWRpbmctLU1ldGEtLUNvbG9yTWVkaXVtR3JleSB7XG4gIGNvbG9yOiAjODg4ODg4O1xufVxuLkhlYWRpbmctLU1ldGEtLUZvbnRTaXplTGFyZ2Uge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLkhlYWRpbmctLU1ldGEtLUZvbnRTaXplTGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxufVxuLkhlYWRpbmdfX0ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZpbGw6IGN1cnJlbnRDb2xvcjtcbiAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xufVxuLlBhZ2VfX0hlYWQgLlRleHRCbG9jayB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cbi5JbWFnZUJsb2NrIC5JbWFnZUJsb2NrX19JbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4uSW1hZ2VCbG9ja19fU1ZHIHN2ZyB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG59XG4uSW1hZ2VCbG9jay0tQWxpZ25MZWZ0IC5JbWFnZUJsb2NrX19JbWFnZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLkltYWdlQmxvY2stLUZpbGwgLkltYWdlQmxvY2tfX0ltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG4uSW1hZ2VCbG9ja19fQ2FwdGlvbixcbi5RdW90ZV9fVGV4dCAud3AtY2FwdGlvbi10ZXh0LFxuLlRleHRCbG9jayAud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogI2FhYWFhYTtcbiAgZm9udC1mYW1pbHk6IFwiVG9ycXVlXCIsIENvdXJpZXIsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbi8qKlxuICogQmFja3VwIGltYWdlcyBhZGRlZCB0byA8cGljdHVyZT4gZWxlbWVudHMgdG8gYXBwZWFyIHdoZW4gb2JqZWN0LWZpdCBpcyBub3Qgc3VwcG9ydGVkXG4gKiBUaGV5IG9ubHkgc3VwcG9ydCBvbmUgcmVzb2x1dGlvbiwgYnV0IHRoYXTigJlzIG9rYXkgc2luY2Ugb2JqZWN0LWZpdCBpcyBzdXBwb3J0ZWQgaW4gYWxsIGNvbW1vbiBtb2JpbGUgYnJvd3NlcnNcbiAqL1xuLk9iamVjdEZpdEJhY2t1cCB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5PYmplY3RGaXRCYWNrdXAtLUNvbnRhaW4ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5odG1sLm5vLW9iamVjdC1maXQgLk9iamVjdEZpdEJhY2t1cCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG59XG5odG1sLm5vLW9iamVjdC1maXQgLkpTX19PYmplY3RGaXRJbWFnZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5QaWxsQnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjY2NjYztcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBwYWRkaW5nOiA0cHggMTRweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnM7XG4gIHVzZXItc2VsZWN0OiBub25lO1xufVxuLlBpbGxCdXR0b24gLlBpbGxCdXR0b25fX0ljb24ge1xuICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG59XG4uUGlsbEJ1dHRvbiAuUGlsbEJ1dHRvbl9fSWNvbiBzdmcge1xuICBtYXJnaW4tdG9wOiAxcHg7XG4gIGhlaWdodDogMTBweDtcbiAgd2lkdGg6IDEwcHg7XG4gIGZpbGw6ICNhYWFhYWE7XG59XG4uUGlsbEJ1dHRvbiAuUGlsbEJ1dHRvbl9fSWNvbi5JY29uX19SaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLlBpbGxCdXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiA2cHggMTZweDtcbiAgfVxuICAuUGlsbEJ1dHRvbiAuUGlsbEJ1dHRvbl9fSWNvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjM3NXJlbTtcbiAgfVxufVxuaHRtbC5uby10b3VjaGV2ZW50cyAuUGlsbEJ1dHRvbjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2FhYWFhYTtcbiAgY29sb3I6ICM0NDQ0NDQ7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5QaWxsQnV0dG9uOmFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxcHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlO1xufVxuLlBpbGxCdXR0b24tLVNpemVTbWFsbCB7XG4gIHBhZGRpbmctbGVmdDogNHB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuUGlsbEJ1dHRvbi0tU2l6ZVNtYWxsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogNnB4IDEycHg7XG4gIH1cbn1cbi5QaWxsQnV0dG9uLS1TaXplTGFyZ2Uge1xuICBmb250LXNpemU6IDEzcHg7XG4gIHBhZGRpbmc6IDZweCAxNnB4O1xufVxuLlBpbGxCdXR0b24tLVNpemVMYXJnZSAuUGlsbEJ1dHRvbl9fSWNvbiBzdmcge1xuICBoZWlnaHQ6IDEycHg7XG4gIHdpZHRoOiAxMnB4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5QaWxsQnV0dG9uLS1TaXplTGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nOiA4cHggMThweDtcbiAgfVxufVxuLlBpbGxCdXR0b24tLVNpemVKdW1ibyB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogOHB4IDE2cHg7XG59XG4uUGlsbEJ1dHRvbi0tU2l6ZUp1bWJvIC5QaWxsQnV0dG9uX19JY29uIHN2ZyB7XG4gIGhlaWdodDogMTRweDtcbiAgd2lkdGg6IDE0cHg7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLlBpbGxCdXR0b24tLVNpemVKdW1ibyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDhweCAyMnB4O1xuICB9XG59XG4uUXVvdGUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgIzJlYjFkNTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyZWIxZDU7XG4gIGJvcmRlci1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDUlLCAjMmViMWQ1LCAjNThjZDNhLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDk1JSkgMTtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCAjZmFmYWZhLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApKTtcbiAgcGFkZGluZy10b3A6IDNyZW07XG4gIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uUXVvdGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oCcXCI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLXRvcDogLTUuMjVyZW07XG4gIGZvbnQtc2l6ZTogNnJlbTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMyZWIxZDU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjMmViMWQ1IDIwJSwgIzU4Y2QzYSA1NSUpO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7XG59XG4uUXVvdGUuUXVvdGUtLVN0eWxlRDJTIHtcbiAgYm9yZGVyLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgNSUsICMyNjYxYzYsICNmYWQwMmEsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgOTUlKSAxO1xufVxuLlF1b3RlLlF1b3RlLS1TdHlsZUQyUzo6YmVmb3JlIHtcbiAgY29udGVudDogbm9uZTtcbn1cbi5RdW90ZV9fVGV4dCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gIG1heC13aWR0aDogNDVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5RdW90ZV9fVGV4dCBoMixcbi5RdW90ZV9fVGV4dCBoMyxcbi5RdW90ZV9fVGV4dCBoNCxcbi5RdW90ZV9fVGV4dCBoNSxcbi5RdW90ZV9fVGV4dCBoNiB7XG4gIG1hcmdpbi10b3A6IDJlbTtcbn1cbi5RdW90ZV9fVGV4dCBoMjpmaXJzdC1jaGlsZCxcbi5RdW90ZV9fVGV4dCBoMzpmaXJzdC1jaGlsZCxcbi5RdW90ZV9fVGV4dCBoNDpmaXJzdC1jaGlsZCxcbi5RdW90ZV9fVGV4dCBoNTpmaXJzdC1jaGlsZCxcbi5RdW90ZV9fVGV4dCBoNjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uUXVvdGVfX1RleHQgaDIge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlZWVlZWU7XG59XG4uUXVvdGVfX1RleHQgaDMge1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlZWVlZWU7XG59XG4uUXVvdGVfX1RleHQgaDQge1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlZWVlZWU7XG59XG4uUXVvdGVfX1RleHQgcCB7XG4gIG1hcmdpbi10b3A6IDAuNzVlbTtcbn1cbi5RdW90ZV9fVGV4dCBwOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5RdW90ZV9fVGV4dCB1bCB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG4gIHBhZGRpbmctbGVmdDogMC41ZW07XG4gIGNvbG9yOiAjODg4ODg4O1xuICBmb250LWZhbWlseTogXCJUb3JxdWVcIiwgQ291cmllciwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xufVxuLlF1b3RlX19UZXh0IHVsOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cbi5RdW90ZV9fVGV4dCB1bCBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5RdW90ZV9fVGV4dCB1bCBsaSArIGxpIHtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG4uUXVvdGVfX1RleHQgdWwgbGk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4ODg4O1xuICBoZWlnaHQ6IDRweDtcbiAgd2lkdGg6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygwLjVlbSAtIDFweCk7XG4gIGxlZnQ6IDA7XG59XG4uUXVvdGVfX1RleHQgaW1nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuLlF1b3RlX19UZXh0IGltZy5UZXh0QmxvY2tfX0ltYWdlLS1BbGlnbkNlbnRlcixcbi5RdW90ZV9fVGV4dCBpbWcuYWxpZ25jZW50ZXIge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuLlF1b3RlX19UZXh0IGltZy5UZXh0QmxvY2tfX0ltYWdlLS1BbGlnbkxlZnQsXG4uUXVvdGVfX1RleHQgaW1nLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG59XG4uUXVvdGVfX1RleHQgaW1nLlRleHRCbG9ja19fSW1hZ2UtLUFsaWduUmlnaHQsXG4uUXVvdGVfX1RleHQgaW1nLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5RdW90ZV9fVGV4dCB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICB9XG59XG4uUXVvdGVfX1RleHQgYmxvY2txdW90ZSB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDVkZWcsICNlZWVlZWUsICNmZmYgNzUlKTtcbiAgcGFkZGluZzogMnJlbTtcbn1cbi5RdW90ZV9fVGV4dCBibG9ja3F1b3RlIGNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMS41cmVtO1xuICBjb2xvcjogIzg4ODg4ODtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuUXVvdGVfX1RleHQgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG4uUXVvdGVfX1RleHQtLVB1YmxpY2F0aW9ucyBsaSA+IHAge1xuICBkaXNwbGF5OiBpbmxpbmU7XG59XG4uUXVvdGVfX0RldGFpbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuLlF1b3RlX19Mb2dvIHN2Zyxcbi5RdW90ZV9fTG9nbyBpbWcsXG4uUXVvdGVfX0xvZ28gcGljdHVyZSxcbi5RdW90ZV9fTG9nbyAuSW1hZ2VCbG9ja19fSW1hZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxLjc1cmVtO1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxNzBweDtcbn1cbi5RdW90ZV9fTG9nbyArIC5RdW90ZV9fQXR0cmlidXRpb24ge1xuICBtYXJnaW4tbGVmdDogMnJlbTtcbn1cbi5RdW90ZV9fQXR0cmlidXRpb25fX05hbWUge1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjE7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLlF1b3RlX19BdHRyaWJ1dGlvbl9fTmFtZSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLlF1b3RlX19BdHRyaWJ1dGlvbl9fTmFtZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG4uUXVvdGVfX0F0dHJpYnV0aW9uX19UaXRsZSB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LWZhbWlseTogXCJUb3JxdWVcIiwgQ291cmllciwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogI2FhYWFhYTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDhyZW07XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luLXRvcDogMC4yNXJlbTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuUXVvdGVfX0F0dHJpYnV0aW9uX19UaXRsZSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICB9XG59XG4uUXVvdGVfX0F0dHJpYnV0aW9uX19UaXRsZSBhIHtcbiAgY29sb3I6ICNhYWFhYWE7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5RdW90ZV9fQXR0cmlidXRpb25fX1RpdGxlIGE6aG92ZXIge1xuICBjb2xvcjogIzg4ODg4ODtcbn1cbi5TdGF0Q2Fyb3VzZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICNmZmY7XG4gIGhlaWdodDogNXJlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5TdGF0Q2Fyb3VzZWw6aG92ZXIge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cbi5TdGF0Q2Fyb3VzZWxfX1N0YXRfX1dyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXJlbTtcbiAgbGVmdDogMC43NXJlbTtcbn1cbi5TdGF0Q2Fyb3VzZWxfX1N0YXQge1xuICBvcGFjaXR5OiAwO1xufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ5Ljk5OTk5cmVtKSB7XG4gIC5TdGF0Q2Fyb3VzZWxfX0Rpc2Mge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLlN0YXRDYXJvdXNlbF9fU3RyaXBlIHtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICB3aWR0aDogMjAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cbiAgLlN0YXRDYXJvdXNlbF9fU3RhdF9fVGl0bGUge1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gIH1cbiAgLlN0YXRDYXJvdXNlbF9fU3RhdF9fVmFsdWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAuU3RhdENhcm91c2VsX19TdGF0X19MYWJlbCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICB9XG59XG5AbWVkaWEgKG1heC13aWR0aDogNDkuOTk5OTlyZW0pIGFuZCAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuU3RhdENhcm91c2VsX19TdGF0X19MYWJlbCB7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLlN0YXRDYXJvdXNlbCB7XG4gICAgd2lkdGg6IDI2MHB4O1xuICAgIGhlaWdodDogMjYwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICB9XG4gIHN2Zy5TdGF0Q2Fyb3VzZWxfX0Rpc2Mge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuU3RhdENhcm91c2VsX19TdGF0X19XcmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB9XG4gIC5TdGF0Q2Fyb3VzZWxfX1N0YXQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiBzb2xpZCA4cHggdHJhbnNwYXJlbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gIC5TdGF0Q2Fyb3VzZWxfX1N0YXRfX1RpdGxlIHtcbiAgICBwYWRkaW5nOiAwIDEwJTtcbiAgfVxuICAuU3RhdENhcm91c2VsX19TdGF0X19WYWx1ZSB7XG4gICAgZm9udC1zaXplOiAxMTBweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICB9XG4gIC5TdGF0Q2Fyb3VzZWxfX1N0YXRfX0xhYmVsIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LWZhbWlseTogXCJUb3JxdWVcIiwgQ291cmllciwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOHJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuICAuU3RhdENhcm91c2VsX19TdHJpcGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLlN0YXRDYXJvdXNlbF9fQ1RBIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNzUlKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIGFuZCAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuU3RhdENhcm91c2VsX19TdGF0X19MYWJlbCB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLlN0YXRDYXJvdXNlbC0tU2l6ZVNtYWxsIHtcbiAgICBoZWlnaHQ6IDIwMHB4O1xuICAgIHdpZHRoOiAyMDBweDtcbiAgfVxuICAuU3RhdENhcm91c2VsLS1TaXplU21hbGwgLlN0YXRDYXJvdXNlbF9fU3RhdCB7XG4gICAgdG9wOiAyLjc1cmVtO1xuICB9XG4gIC5TdGF0Q2Fyb3VzZWwtLVNpemVTbWFsbCAuU3RhdENhcm91c2VsX19TdGF0X19WYWx1ZSB7XG4gICAgZm9udC1zaXplOiA4MHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbnRhYmxlLlRhYmxlIHtcbiAgY29sb3I6ICM4ODg4ODg7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICB3aWR0aDogMTAwJTtcbn1cbnRhYmxlLlRhYmxlIHRkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjZWVlZWVlO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG50YWJsZS5UYWJsZSB0aGVhZCB0ciB0ZCB7XG4gIGJhY2tncm91bmQ6ICM0NDQ0NDQ7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIHRhYmxlLlRhYmxlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gIH1cbiAgdGFibGUuVGFibGUgdGQge1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG4gIH1cbn1cbi5UZXh0QmxvY2sge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICBtYXgtd2lkdGg6IDQ1cmVtO1xufVxuLlRleHRCbG9jayBoMixcbi5UZXh0QmxvY2sgaDMsXG4uVGV4dEJsb2NrIGg0LFxuLlRleHRCbG9jayBoNSxcbi5UZXh0QmxvY2sgaDYge1xuICBtYXJnaW4tdG9wOiAyZW07XG59XG4uVGV4dEJsb2NrIGgyOmZpcnN0LWNoaWxkLFxuLlRleHRCbG9jayBoMzpmaXJzdC1jaGlsZCxcbi5UZXh0QmxvY2sgaDQ6Zmlyc3QtY2hpbGQsXG4uVGV4dEJsb2NrIGg1OmZpcnN0LWNoaWxkLFxuLlRleHRCbG9jayBoNjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uVGV4dEJsb2NrIGgyIHtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZWVlZWVlO1xufVxuLlRleHRCbG9jayBoMyB7XG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2VlZWVlZTtcbn1cbi5UZXh0QmxvY2sgaDQge1xuICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlZWVlZWU7XG59XG4uVGV4dEJsb2NrIHAge1xuICBtYXJnaW4tdG9wOiAwLjc1ZW07XG59XG4uVGV4dEJsb2NrIHA6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuLlRleHRCbG9jayB1bCB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgZm9udC1zaXplOiAwLjc1ZW07XG4gIHBhZGRpbmctbGVmdDogMC41ZW07XG4gIGNvbG9yOiAjODg4ODg4O1xuICBmb250LWZhbWlseTogXCJUb3JxdWVcIiwgQ291cmllciwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xufVxuLlRleHRCbG9jayB1bDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uVGV4dEJsb2NrIHVsIGxpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLlRleHRCbG9jayB1bCBsaSArIGxpIHtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG59XG4uVGV4dEJsb2NrIHVsIGxpOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODg4ODtcbiAgaGVpZ2h0OiA0cHg7XG4gIHdpZHRoOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMC41ZW0gLSAxcHgpO1xuICBsZWZ0OiAwO1xufVxuLlRleHRCbG9jayBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG4uVGV4dEJsb2NrIGltZy5UZXh0QmxvY2tfX0ltYWdlLS1BbGlnbkNlbnRlcixcbi5UZXh0QmxvY2sgaW1nLmFsaWduY2VudGVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5UZXh0QmxvY2sgaW1nLlRleHRCbG9ja19fSW1hZ2UtLUFsaWduTGVmdCxcbi5UZXh0QmxvY2sgaW1nLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG59XG4uVGV4dEJsb2NrIGltZy5UZXh0QmxvY2tfX0ltYWdlLS1BbGlnblJpZ2h0LFxuLlRleHRCbG9jayBpbWcuYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLlRleHRCbG9jayB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICB9XG59XG4uVGV4dEJsb2NrIGJsb2NrcXVvdGUge1xuICBtYXJnaW4tdG9wOiAycmVtO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQ1ZGVnLCAjZWVlZWVlLCAjZmZmIDc1JSk7XG4gIHBhZGRpbmc6IDJyZW07XG59XG4uVGV4dEJsb2NrIGJsb2NrcXVvdGUgY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gIGNvbG9yOiAjODg4ODg4O1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5UZXh0QmxvY2sgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAycmVtO1xuICB9XG59XG4uVGV4dEJsb2NrLS1QdWJsaWNhdGlvbnMgbGkgPiBwIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLlRleHRCbG9jay0tRm9udFNpemVTbWFsbCB7XG4gIGZvbnQtc2l6ZTogMTRweDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuVGV4dEJsb2NrLS1Gb250U2l6ZVNtYWxsIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gIH1cbn1cbi5UZXh0QmxvY2stLUZvbnRTaXplTWljcm8ge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1heC13aWR0aDogMzJyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLlRleHRCbG9jay0tRm9udFNpemVNaWNybyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG4uVGV4dEJsb2NrLS1Db2xvcnNXaGl0ZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuLlRleHRCbG9jay0tQ29sb3JzTGlnaHQge1xuICBjb2xvcjogIzY2NjY2Njtcbn1cbi5UZXh0QmxvY2stLUNlbnRlcmVkIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5UZXh0QmxvY2stLUNlbnRlckFsaWduZWQge1xuICBtYXJnaW46IDAgYXV0bztcbn1cbi5UZXh0QmxvY2stLUZ1bGxXaWR0aCB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbi5UZXh0QmxvY2stLVN0eWxlTWV0YSB7XG4gIGNvbG9yOiAjODg4ODg4O1xuICBmb250LWZhbWlseTogXCJUb3JxdWVcIiwgQ291cmllciwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xufVxuLlRpbWVsaW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAycmVtO1xufVxuLlRpbWVsaW5lX19ZZWFycyB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgcm93LWdhcDogMC41cmVtO1xufVxuLlRpbWVsaW5lX19ZZWFycyBidXR0b24ge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBwYWRkaW5nOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBjb2xvcjogIzg4ODg4ODtcbiAgb3BhY2l0eTogMC41O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG4ubm8tdG91Y2hldmVudHMgLlRpbWVsaW5lX19ZZWFycyBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuOCk7XG4gIG9wYWNpdHk6IDE7XG59XG4uVGltZWxpbmVfX1llYXJzIGJ1dHRvblthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gIGNvbG9yOiAjMjY2MWM2O1xuICBvcGFjaXR5OiAxO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjhyZW0pIHtcbiAgLlRpbWVsaW5lX19ZZWFycyBidXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciByaWdodDtcbiAgfVxuICAuVGltZWxpbmVfX1llYXJzIGJ1dHRvblthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjgpO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjhyZW0pIHtcbiAgLlRpbWVsaW5lX19ZZWFycyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCA1MCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICAuVGltZWxpbmVfX1llYXJzIGJ1dHRvbiArIGJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxufVxuLlRpbWVsaW5lX19TbGlkZVNldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbi5UaW1lbGluZV9fU2xpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cbi5UaW1lbGluZV9fU2xpZGVbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuLlRpbWVsaW5lX19TbGlkZVtkYXRhLXN0YXRlPVwib3V0Z29pbmdcIl0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuVGltZWxpbmVfX1NsaWRlIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEuNGZyIDEuNmZyO1xuICAgIGNvbHVtbi1nYXA6IDJyZW07XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuQG1lZGlhIChtaW4td2lkdGg6IDY4cmVtKSB7XG4gIC5UaW1lbGluZV9fU2xpZGUge1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICB9XG59XG4uVGltZWxpbmVfX1NsaWRlX19Db250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwJTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuVGltZWxpbmVfX1NsaWRlX19Db250ZW50IHtcbiAgICBmbGV4OiA2O1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA1MHJlbSkge1xuICAuVGltZWxpbmVfX1NsaWRlX19Db3B5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xuICB9XG59XG4uVGltZWxpbmVfX1NsaWRlX19Db3B5IC5UZXh0QmxvY2sge1xuICBtYXJnaW4tdG9wOiAwLjMzM2VtO1xufVxuLlRpbWVsaW5lX19TbGlkZV9fQ29weSAuVGV4dEJsb2NrICsgLkhlYWRpbmcsXG4uVGltZWxpbmVfX1NsaWRlX19Db3B5IC5UZXh0QmxvY2sgKyAuRm9ybV9fRmllbGRfX0xhYmVsIHtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbn1cbi5UaW1lbGluZV9fU2xpZGVfX0NvbnRyb2xzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDUwJSk7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMjtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuVGltZWxpbmVfX1NsaWRlX19Db250cm9scyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgfVxufVxuLlRpbWVsaW5lX19TbGlkZV9fQ29udHJvbHMgYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogIzI2NjFjNjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6IHdoaXRlO1xuICBwYWRkaW5nOiAwLjZyZW07XG4gIHRyYW5zaXRpb246IDAuMnMgZWFzZTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuVGltZWxpbmVfX1NsaWRlX19Db250cm9scyBidXR0b24ge1xuICAgIHBhZGRpbmc6IDFyZW07XG4gIH1cbn1cbi5UaW1lbGluZV9fU2xpZGVfX0NvbnRyb2xzIGJ1dHRvbjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM1ZDEwMTI7XG59XG4uVGltZWxpbmVfX1NsaWRlX19Db250cm9scyBidXR0b246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwcHg7XG4gIGhlaWdodDogMTVweDtcbn1cbi5UaW1lbGluZV9fU2xpZGVfX0NvbnRyb2xzIGJ1dHRvbltkYXRhLWFjdGlvbj1cInByZXZpb3VzXCJdIHtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xufVxuLlRpbWVsaW5lX19TbGlkZV9fQ29udHJvbHMgYnV0dG9uW2RhdGEtYWN0aW9uPVwicHJldmlvdXNcIl06OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0Zi04LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxMi45OSAyMCclM0UlM0NwYXRoIGQ9J00wIDEwbDEwLjM4IDEwIDIuNi0yLjVMNS4xOSAxMGw3Ljc5LTcuNS0yLjYtMi41LTcuNzkgNy41eicgZmlsbD0nJTIzZmZmZmZmJyBzdHlsZT0naXNvbGF0aW9uOmlzb2xhdGUnLyUzRSUzQy9zdmclM0VcIik7XG59XG4uVGltZWxpbmVfX1NsaWRlX19Db250cm9scyBidXR0b25bZGF0YS1hY3Rpb249XCJuZXh0XCJdOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgMTIuOTkgMjAnJTNFJTNDcGF0aCBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGZpbGw9JyUyM2ZmZmZmZicgZD0nTTEzLjAwMSAxMEwyLjYxMiAyMC4wMDFsLTIuNTk4LTIuNUw3LjgwNiAxMCAuMDE0IDIuNDk5bDIuNTk4LTIuNUwxMC40MDQgNy41bDIuNTk3IDIuNXonLyUzRSUzQy9zdmclM0VcIik7XG59XG4uVGltZWxpbmVfX1NsaWRlX19BY3RpdmVZZWFyTGFiZWwge1xuICBvcGFjaXR5OiAwLjI7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLlRpbWVsaW5lX19TbGlkZV9fQWN0aXZlWWVhckxhYmVsIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjhyZW0pIHtcbiAgLlRpbWVsaW5lX19TbGlkZV9fQWN0aXZlWWVhckxhYmVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiBjYWxjKDEwMCUpO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgbGVmdDogLTJyZW07XG4gIH1cbn1cbi5UaW1lbGluZV9fQWNoaWV2ZW1lbnRzICsgLlRleHRCbG9jayB7XG4gIG1hcmdpbi10b3A6IDJyZW07XG59XG4uVGltZWxpbmVfX1NsaWRlX19UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4uVGltZWxpbmVfX1NsaWRlX19TdWJUaXRsZSB7XG4gIG1hcmdpbi10b3A6IDAuNjY2NjY2cmVtO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5UaW1lbGluZV9fU2xpZGVfX01lZGlhIHtcbiAgICBmbGV4OiA0O1xuICB9XG59XG4uVGltZWxpbmVfX1NsaWRlX19NZWRpYSBpbWcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uVGltZWxpbmVfX1NsaWRlX19NZWRpYVtkYXRhLWNvdW50XSB7XG4gIGZvbnQtc2l6ZTogMDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG59XG4uVGltZWxpbmVfX1NsaWRlX19NZWRpYVtkYXRhLWNvdW50PVwiMlwiXSBpbWcsXG4uVGltZWxpbmVfX1NsaWRlX19NZWRpYVtkYXRhLWNvdW50PVwiNFwiXSBpbWcge1xuICB3aWR0aDogNDklO1xuICBtYXJnaW4tYm90dG9tOiAyJTtcbn1cbi5UaW1lbGluZV9fU2xpZGVfX01lZGlhW2RhdGEtY291bnQ9XCIyXCJdIGltZzpudGgtY2hpbGQoZXZlbiksXG4uVGltZWxpbmVfX1NsaWRlX19NZWRpYVtkYXRhLWNvdW50PVwiNFwiXSBpbWc6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgbWFyZ2luLWxlZnQ6IDIlO1xufVxuLlRpbWVsaW5lX19TbGlkZV9fTWVkaWFbZGF0YS1jb3VudD1cIjNcIl0gaW1nLFxuLlRpbWVsaW5lX19TbGlkZV9fTWVkaWFbZGF0YS1jb3VudD1cIjVcIl0gaW1nIHtcbiAgd2lkdGg6IDQ5JTtcbiAgbWFyZ2luLWJvdHRvbTogMiU7XG59XG4uVGltZWxpbmVfX1NsaWRlX19NZWRpYVtkYXRhLWNvdW50PVwiM1wiXSBpbWc6bnRoLWNoaWxkKDJuKzMpLFxuLlRpbWVsaW5lX19TbGlkZV9fTWVkaWFbZGF0YS1jb3VudD1cIjVcIl0gaW1nOm50aC1jaGlsZCgybiszKSB7XG4gIG1hcmdpbi1sZWZ0OiAyJTtcbn1cbi5UaW1lbGluZV9fU2xpZGVfX01lZGlhW2RhdGEtY291bnQ9XCIzXCJdIGltZzpmaXJzdC1jaGlsZCxcbi5UaW1lbGluZV9fU2xpZGVfX01lZGlhW2RhdGEtY291bnQ9XCI1XCJdIGltZzpmaXJzdC1jaGlsZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyJTtcbn1cbi8qXG4gKiBWaWRlbyBUcmlnZ2Vyc1xuICogU3BlY2lhbCBvYmplY3Qgd2hpY2ggZ292ZXJucyBhIGJhc2ljIGxpbmsgYmVoYXZpb3IsIGJ1dCBjYW4gYWxzbyBiZSBleHRlbmRlZCB0byBhIGZ1bGwtYmxlZWQgb2JqZWN0IHdpdGggc2xhbnRlZCBzaWRlc1xuICovXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuLlZpZGVvVHJpZ2dlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogNjYuNjY2JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogI2ZmZjtcbn1cbmh0bWwubm8tdG91Y2hldmVudHMgLlZpZGVvVHJpZ2dlciAuVmlkZW9UcmlnZ2VyX19CYWNrZ3JvdW5kLFxuaHRtbC5uby10b3VjaGV2ZW50cyAuVmlkZW9UcmlnZ2VyIC5WaWRlb1RyaWdnZXJfX0JhY2tncm91bmQ6OmFmdGVyLFxuaHRtbC5uby10b3VjaGV2ZW50cyAuVmlkZW9UcmlnZ2VyIC5WaWRlb1RyaWdnZXJfX1RodW1iLFxuaHRtbC5uby10b3VjaGV2ZW50cyAuVmlkZW9UcmlnZ2VyIC5WaWRlb1RyaWdnZXJfX0ljb25fX1RyaWFuZ2xlLFxuaHRtbC5uby10b3VjaGV2ZW50cyAuVmlkZW9UcmlnZ2VyIC5WaWRlb1RyaWdnZXJfX0ljb25fX1Jpbmcge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIGJhY2tncm91bmQtY29sb3IgMC41cywgdHJhbnNmb3JtIDAuNXM7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5WaWRlb1RyaWdnZXIgLlZpZGVvVHJpZ2dlcl9fSWNvbl9fUmluZyB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5WaWRlb1RyaWdnZXIgLlZpZGVvVHJpZ2dlcl9fVGh1bWIge1xuICBvcGFjaXR5OiAxO1xuICBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5WaWRlb1RyaWdnZXIgLlZpZGVvVHJpZ2dlcl9fQmFja2dyb3VuZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5WaWRlb1RyaWdnZXIgLlZpZGVvVHJpZ2dlcl9fSWNvbl9fVHJpYW5nbGUge1xuICBvcGFjaXR5OiAwLjc1O1xufVxuaHRtbC5uby10b3VjaGV2ZW50cyAuVmlkZW9UcmlnZ2VyOmhvdmVyIC5WaWRlb1RyaWdnZXJfX0JhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjY2MWM2O1xufVxuaHRtbC5uby10b3VjaGV2ZW50cyAuVmlkZW9UcmlnZ2VyOmhvdmVyIC5WaWRlb1RyaWdnZXJfX1RodW1iIHtcbiAgb3BhY2l0eTogMC41O1xufVxuaHRtbC5uby10b3VjaGV2ZW50cyAuVmlkZW9UcmlnZ2VyOmhvdmVyIC5WaWRlb1RyaWdnZXJfX0ljb25fX1RyaWFuZ2xlIHtcbiAgb3BhY2l0eTogMTtcbn1cbmh0bWwubm8tdG91Y2hldmVudHMgLlZpZGVvVHJpZ2dlcjpob3ZlciAuVmlkZW9UcmlnZ2VyX19JY29uX19SaW5nIHtcbiAgb3BhY2l0eTogMTtcbiAgYW5pbWF0aW9uOiBzcGluIDFzLCBzcGluIDEwcyAxcyBpbmZpbml0ZSBsaW5lYXI7XG59XG4uVmlkZW9UcmlnZ2VyX19UaHVtYiB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICB6LWluZGV4OiAwO1xufVxuLlZpZGVvVHJpZ2dlcl9fSW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgei1pbmRleDogMTtcbn1cbi5WaWRlb1RyaWdnZXJfX1RpdGxlIHtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC43NXJlbTtcbn1cbi5WaWRlb1RyaWdnZXJfX0ljb24ge1xuICB3aWR0aDogMi41cmVtO1xuICBoZWlnaHQ6IDIuNXJlbTtcbn1cbi5WaWRlb1RyaWdnZXJfX0ljb25fX1Jpbmcge1xuICBvcGFjaXR5OiAwO1xufVxuLypcbiAqIEZ1bGwgQmxlZWQgZXh0ZW5zaW9uXG4gKiBUYWtlcyBvbiBhIG51bWJlciBvZiB0aGUgbm9ybWFsIGhvdmVyIHN0eWxlcy4gRXhwZWN0ZWQgdG8gc2l0IGxhcmdlIGluIHRoZSBtaWRkbGUgb2YgYSBwYWdlLlxuICogQWxzbyBhbmdsZXMgYW5kIGNyb3BzIHRoZSBiYWNrZ3JvdW5kIGltYWdlIGluIGFuIGludGVyZXN0aW5nIHNsYW50LlxuICogYFZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkLS1TdHJhaWdodGAgZXh0ZW5zaW9uIHJlbW92ZXMgdGhlIGFuZ2xlIGVmZmVjdC5cbiAqL1xuLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkLFxuaHRtbC5uby10b3VjaGV2ZW50cyAuVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQge1xuICBwYWRkaW5nLXRvcDogNTYuMjUlO1xufVxuLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkIC5WaWRlb1RyaWdnZXJfX0JhY2tncm91bmQsXG5odG1sLm5vLXRvdWNoZXZlbnRzIC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZCAuVmlkZW9UcmlnZ2VyX19CYWNrZ3JvdW5kIHtcbiAgYmFja2dyb3VuZDogIzI2NjFjNjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbi5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZCAuVmlkZW9UcmlnZ2VyX19UaHVtYixcbmh0bWwubm8tdG91Y2hldmVudHMgLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkIC5WaWRlb1RyaWdnZXJfX1RodW1iIHtcbiAgb3BhY2l0eTogMC4yNTtcbn1cbi5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZDpub3QoLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkLS1TdHJhaWdodCkgLlZpZGVvVHJpZ2dlcl9fQmFja2dyb3VuZCxcbmh0bWwubm8tdG91Y2hldmVudHMgLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkOm5vdCguVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQtLVN0cmFpZ2h0KSAuVmlkZW9UcmlnZ2VyX19CYWNrZ3JvdW5kIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTEuNWRlZyk7XG4gIHRvcDogMi4zNDUlO1xuICBsZWZ0OiAtMC43MTklO1xuICB3aWR0aDogMTAxLjQzJTtcbiAgaGVpZ2h0OiA5NS4zMSU7XG59XG4uVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQ6bm90KC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZC0tU3RyYWlnaHQpIC5WaWRlb1RyaWdnZXJfX1RodW1iLFxuaHRtbC5uby10b3VjaGV2ZW50cyAuVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQ6bm90KC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZC0tU3RyYWlnaHQpIC5WaWRlb1RyaWdnZXJfX1RodW1iIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMS41ZGVnKSBzY2FsZSgxLjEpO1xufVxuLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkIC5WaWRlb1RyaWdnZXJfX0ljb24sXG5odG1sLm5vLXRvdWNoZXZlbnRzIC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZCAuVmlkZW9UcmlnZ2VyX19JY29uIHtcbiAgd2lkdGg6IDMuNXJlbTtcbiAgaGVpZ2h0OiAzLjVyZW07XG59XG4uVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQgLlZpZGVvVHJpZ2dlcl9fSWNvbl9fVHJpYW5nbGUsXG5odG1sLm5vLXRvdWNoZXZlbnRzIC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZCAuVmlkZW9UcmlnZ2VyX19JY29uX19UcmlhbmdsZSxcbi5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZCAuVmlkZW9UcmlnZ2VyX19JY29uX19SaW5nLFxuaHRtbC5uby10b3VjaGV2ZW50cyAuVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQgLlZpZGVvVHJpZ2dlcl9fSWNvbl9fUmluZyB7XG4gIG9wYWNpdHk6IDAuOTtcbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQsXG4gIGh0bWwubm8tdG91Y2hldmVudHMgLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkIHtcbiAgICBwYWRkaW5nLXRvcDogNDUuMjQlO1xuICB9XG4gIC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZDpub3QoLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkLS1TdHJhaWdodCksXG4gIGh0bWwubm8tdG91Y2hldmVudHMgLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkOm5vdCguVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQtLVN0cmFpZ2h0KSB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTAuNXJlbTtcbiAgfVxuICAuVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQ6bm90KC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZC0tU3RyYWlnaHQpIC5WaWRlb1RyaWdnZXJfX0JhY2tncm91bmQsXG4gIGh0bWwubm8tdG91Y2hldmVudHMgLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkOm5vdCguVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQtLVN0cmFpZ2h0KSAuVmlkZW9UcmlnZ2VyX19CYWNrZ3JvdW5kIHtcbiAgICB0b3A6IDIuOTA5JTtcbiAgICBsZWZ0OiAtMC41NzUlO1xuICAgIHdpZHRoOiAxMDEuMTUlO1xuICAgIGhlaWdodDogOTQuMTglO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjhyZW0pIHtcbiAgLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkLFxuICBodG1sLm5vLXRvdWNoZXZlbnRzIC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZCB7XG4gICAgcGFkZGluZy10b3A6IDI1JTtcbiAgfVxuICAuVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQ6bm90KC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZC0tU3RyYWlnaHQpLFxuICBodG1sLm5vLXRvdWNoZXZlbnRzIC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZDpub3QoLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkLS1TdHJhaWdodCkge1xuICAgIG1hcmdpbi10b3A6IC0xLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLTFyZW07XG4gIH1cbiAgLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkOm5vdCguVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQtLVN0cmFpZ2h0KSAuVmlkZW9UcmlnZ2VyX19CYWNrZ3JvdW5kLFxuICBodG1sLm5vLXRvdWNoZXZlbnRzIC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZDpub3QoLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkLS1TdHJhaWdodCkgLlZpZGVvVHJpZ2dlcl9fQmFja2dyb3VuZCB7XG4gICAgdG9wOiA1LjI1JTtcbiAgICBsZWZ0OiAtMC4zMSU7XG4gICAgd2lkdGg6IDEwMC42MiU7XG4gICAgaGVpZ2h0OiA4OS40OSU7XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA5OHJlbSkge1xuICAuVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQsXG4gIGh0bWwubm8tdG91Y2hldmVudHMgLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkIHtcbiAgICBwYWRkaW5nLXRvcDogMTYuNjY2JTtcbiAgfVxuICAuVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQ6bm90KC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZC0tU3RyYWlnaHQpLFxuICBodG1sLm5vLXRvdWNoZXZlbnRzIC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZDpub3QoLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkLS1TdHJhaWdodCkge1xuICAgIG1hcmdpbi10b3A6IC0ycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjVyZW07XG4gIH1cbiAgLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkOm5vdCguVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQtLVN0cmFpZ2h0KSAuVmlkZW9UcmlnZ2VyX19CYWNrZ3JvdW5kLFxuICBodG1sLm5vLXRvdWNoZXZlbnRzIC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZDpub3QoLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkLS1TdHJhaWdodCkgLlZpZGVvVHJpZ2dlcl9fQmFja2dyb3VuZCB7XG4gICAgdG9wOiA3Ljg3JTtcbiAgICBsZWZ0OiAtMC4yJTtcbiAgICB3aWR0aDogMTAwLjQlO1xuICAgIGhlaWdodDogODQuMjYlO1xuICB9XG4gIC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZDpub3QoLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkLS1TdHJhaWdodCkgLlZpZGVvVHJpZ2dlcl9fVGh1bWIsXG4gIGh0bWwubm8tdG91Y2hldmVudHMgLlZpZGVvVHJpZ2dlci0tRnVsbEJsZWVkOm5vdCguVmlkZW9UcmlnZ2VyLS1GdWxsQmxlZWQtLVN0cmFpZ2h0KSAuVmlkZW9UcmlnZ2VyX19UaHVtYiB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICB9XG59XG5odG1sLm5vLXRvdWNoZXZlbnRzIC5WaWRlb1RyaWdnZXItLUZ1bGxCbGVlZDpob3ZlciAuVmlkZW9UcmlnZ2VyX19UaHVtYiB7XG4gIG9wYWNpdHk6IDAuNTtcbn1cbi5QbGFjZWhvbGRlciB7XG4gIGJhY2tncm91bmQ6ICM2NjY2NjY7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIwcmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICNmZmY7XG59XG5wcmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZmMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG59XG4uU3BlY2lhbF9fQ29kZVNhbXBsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWU7XG4gIHBhZGRpbmc6IDFyZW07XG59XG4uU3BlY2lhbF9fU21hbGxUd28ge1xuICBmb250LXNpemU6IDAuODZlbTtcbiAgcGFkZGluZzogMCAwLjVweDtcbn1cbi5TcGVjaWFsX19SZWdpc3RlcmVkTWFyayB7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBsaW5lLWhlaWdodDogMDtcbn1cbi5TcGVjaWFsX19NYXhXaWR0aFRleHRCbG9jayB7XG4gIG1heC13aWR0aDogNDVyZW07XG59XG4uU3BlY2lhbF9fTG9nby0tTnVGbGFyZSBzdmcge1xuICBoZWlnaHQ6IDIuM3JlbTtcbn1cbi5TcGVjaWFsX19Mb2dvLS1EMlMgc3ZnIHtcbiAgaGVpZ2h0OiAxLjU1cmVtO1xufVxuLypcbiAqIFRleHQgQWxpZ25tZW50XG4gKi9cbi5VdGlsX19UZXh0QWxpZ25SaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuLlV0aWxfX1RleHRBbGlnbkNlbnRlcixcbi5WaWRlb1RyaWdnZXJfX1RpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLlV0aWxfX1RleHRBbGlnbkxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuLlV0aWxfX01hcmdpbkFsaWduQ2VudGVyIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cbi5VdGlsX19NYXJnaW5Ub3BOZWdhdGl2ZU1lZGl1bSB7XG4gIG1hcmdpbi10b3A6IC0wLjI1cmVtO1xufVxuLlV0aWxfX01hcmdpblRvcE5lZ2F0aXZlU21hbGwge1xuICBtYXJnaW4tdG9wOiAtMC4xMjVyZW07XG59XG4uVXRpbF9fTWFyZ2luVG9wU21hbGwge1xuICBtYXJnaW4tdG9wOiAwLjEyNXJlbTtcbn1cbi5VdGlsX19NYXJnaW5Ub3BNZWRpdW0ge1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xufVxuLlV0aWxfX01hcmdpbkJvdHRvbU1lZGl1bSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG59XG4uVXRpbF9fTWFyZ2luQm90dG9tTGFyZ2Uge1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLlV0aWxfX01hcmdpbkJvdHRvbUxhcmdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB9XG59XG4uVXRpbF9fTWFyZ2luQm90dG9tRXh0cmFMYXJnZSB7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG4uVXRpbF9fT3ZlcmZsb3dIaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDI0cmVtKSB7XG4gIC5VdGlsX19UdWNrQm90dG9tLS1TbWFsbFVwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS41cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMjRyZW0pIHtcbiAgLlV0aWxfX1R1Y2tCb3R0b20tLU1lZGl1bVVwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAtMi41cmVtO1xuICB9XG59XG4uVXRpbF9fTWF4V2lkdGhUZXh0QmxvY2sge1xuICBtYXgtd2lkdGg6IDQ1cmVtO1xufVxuLlRleHQtLUNvbG9yLS1CbHVlIHtcbiAgY29sb3I6ICMyNjYxYzY7XG59XG4vKipcbiAqIHRoZSBAc3VwcG9ydCBzY29wZXMgdGhlc2UgcnVsZXMgdG8gc2FmYXJpXG4gKi9cbkBzdXBwb3J0cyAoLXdlYmtpdC1hcHBlYXJhbmNlOm5vbmUpIHtcbiAgc3ZnIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuLlV0aWxfX1NjcmVlblJlYWRlck9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBvcGFjaXR5OiAwLjAxO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5VdGlsX19Nb2JpbGVPbmx5LFxuICAuU2l0ZUhlYWRlcl9fQ1RBLS1Nb2JpbGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuQG1lZGlhIChtYXgtd2lkdGg6IDQ5Ljk5OTk5cmVtKSB7XG4gIC5VdGlsX19EZXNrdG9wT25seSxcbiAgLlNpdGVIZWFkZXJfX0NUQS0tRGVza3RvcCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNjhyZW0pIHtcbiAgLlV0aWxfX1VuZGVyTGFyZ2VPbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbkBtZWRpYSAobWF4LXdpZHRoOiA2Ny45OTk5OXJlbSkge1xuICAuVXRpbF9fT3ZlckxhcmdlT25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4uU3BlY2lhbF9fQmFja3VwIHtcbiAgc2hhcGUtcmVuZGVyaW5nOiBjcmlzcGVkZ2VzO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuOTkpO1xufVxuLlNwZWNpYWxfX0dsb2JhbERlZnMge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogLTk5O1xufVxuLlNwZWNpYWxfX0hvbWVwYWdlTmV3cyB7XG4gIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLlNwZWNpYWxfX0hvbWVwYWdlTmV3cyB7XG4gICAgbWFyZ2luLXRvcDogMy41cmVtO1xuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogNTByZW0pIHtcbiAgLlNwZWNpYWxfX0hvbWVwYWdlTmV3cyAuTGF5ZXJfX0lubmVyLFxuICAuU3BlY2lhbF9fSG9tZXBhZ2VOZXdzIC5TaXRlRm9vdGVyX19Jbm5lcixcbiAgLlNwZWNpYWxfX0hvbWVwYWdlTmV3cyAuU2l0ZUhlYWRlcl9fSW5uZXIge1xuICAgIHBhZGRpbmctdG9wOiBjYWxjKDR2dyk7XG4gICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA2OHJlbSkge1xuICAuU3BlY2lhbF9fSG9tZXBhZ2VOZXdzIC5MYXllcl9fSW5uZXIsXG4gIC5TcGVjaWFsX19Ib21lcGFnZU5ld3MgLlNpdGVGb290ZXJfX0lubmVyLFxuICAuU3BlY2lhbF9fSG9tZXBhZ2VOZXdzIC5TaXRlSGVhZGVyX19Jbm5lciB7XG4gICAgcGFkZGluZy10b3A6IDIuNzJyZW07XG4gIH1cbn1cbkBtZWRpYSAobWluLXdpZHRoOiA1MHJlbSkgYW5kIChtYXgtaGVpZ2h0OiA2ODBweCkge1xuICAuU3BlY2lhbF9fSG9tZXBhZ2VOZXdzX19CbHVyYiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLlNwZWNpYWxfX1ZpZGVvV3JhcHBlciB7XG4gIHdpZHRoOiA5MiU7XG4gIG1hcmdpbjogMCBhdXRvO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDY4cmVtKSB7XG4gIC5TcGVjaWFsX19WaWRlb1dyYXBwZXIge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbn1cbi5TcGVjaWFsX19WaWRlb1dyYXBwZXIgLlNwZWNpYWxfX1ZpZGVvSW5uZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICAvKiAxNjo5ICovXG4gIHBhZGRpbmctdG9wOiAwO1xuICBoZWlnaHQ6IDA7XG59XG4uU3BlY2lhbF9fVmlkZW9XcmFwcGVyIC5TcGVjaWFsX19WaWRlb0lubmVyIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuQG1lZGlhIChtaW4td2lkdGg6IDUwcmVtKSB7XG4gIC5TcGVjaWFsX19HcmFwaEdyaWRJbWFnZSB7XG4gICAgd2lkdGg6IDUwMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG59XG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuI21vY2hhLXN0YXRzIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gIC5TaXRlSGVhZGVyX19Mb2dvIHN2ZyB7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICB9XG4gIC5TaXRlTW9iaWxlTmF2X19Mb2dvIHN2ZyB7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICB9XG4gIC5TaXRlSGVhZGVyX19Nb2JpbGVNZW51VHJpZ2dlcl9fTm90Y2gge1xuICAgIHdpZHRoOiA4MzJweDtcbiAgfVxuICBzdmcjZWJlYW0tc3VydmV5LXJlc3VsdHMge1xuICAgIGhlaWdodDogMTY4cHg7XG4gICAgd2lkdGg6IDMwMHB4O1xuICB9XG4gIHN2ZyNwZWFrLW1lbW9yeS1iYW5kd2lkdGgsXG4gIHN2ZyNwZWFrLWRvdWJsZS1wcmVjaXNpb24tZmxvcHMge1xuICAgIGhlaWdodDogMzAwcHg7XG4gICAgd2lkdGg6IDQxNXB4O1xuICB9XG4gIHN2ZyN0cnVlbWFzay1jb2dzLFxuICBzdmcjdHJ1ZW1vZGVsIHtcbiAgICBoZWlnaHQ6IDMwMHB4O1xuICB9XG4gIC5TcGVjaWFsX19HcmFwaEdyaWRMYXllcixcbiAgLlNwZWNpYWxfX0dyYXBoTGF5ZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLlNwZWNpYWxfX0dyYXBoR3JpZExheWVyIC5JbWFnZUJsb2NrX19TVkcsXG4gIC5TcGVjaWFsX19HcmFwaExheWVyIC5JbWFnZUJsb2NrX19TVkcge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAuU2l0ZUhlYWRlcl9fSW5uZXIge1xuICAgIGhlaWdodDogMjQwcHg7XG4gIH1cbiAgLlNpdGVIZWFkZXItLVNwZWNpYWwgLlNpdGVIZWFkZXJfX0lubmVyIHtcbiAgICBoZWlnaHQ6IDMyMHB4O1xuICB9XG4gIC5TaXRlSGVhZGVyLS1FeHRyYVNwZWNpYWwgLlNpdGVIZWFkZXJfX0lubmVyIHtcbiAgICBoZWlnaHQ6IDQwMHB4O1xuICB9XG4gIC5TaXRlSGVhZGVyLS1Ib21lIC5TaXRlSGVhZGVyX19Jbm5lciB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5TaXRlSGVhZGVyX19EZXNrdG9wTWVudV9fTGluay5TaXRlSGVhZGVyX19Ecm9wZG93blRyaWdnZXI6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMTJweDtcbiAgfVxuICBpbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG4gIHRleHRhcmVhOi1tcy1pbnB1dC1wbGFjZWhvbGRlcixcbiAgc2VsZWN0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgfVxuICAuSW1hZ2VCbG9jayAuSW1hZ2VCbG9ja19fSW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIGFuZCAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuU2l0ZUhlYWRlcl9fTG9nbyBzdmcge1xuICAgIGhlaWdodDogMzZweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIGFuZCAobWluLXdpZHRoOiA1MHJlbSkge1xuICAuU2l0ZUhlYWRlcl9fTW9iaWxlTWVudVRyaWdnZXJfX05vdGNoIHtcbiAgICB3aWR0aDogMTA0MHB4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgYW5kIChtaW4td2lkdGg6IDUwMHB4KSB7XG4gIHN2ZyNlYmVhbS1zdXJ2ZXktcmVzdWx0cyB7XG4gICAgaGVpZ2h0OiAyNjZweDtcbiAgICB3aWR0aDogNDc1cHg7XG4gIH1cbn1cbkBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSBhbmQgKG1pbi13aWR0aDogNzEwcHgpIHtcbiAgc3ZnI2ViZWFtLXN1cnZleS1yZXN1bHRzIHtcbiAgICBoZWlnaHQ6IDM3OHB4O1xuICAgIHdpZHRoOiA2NzVweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIGFuZCAobWluLXdpZHRoOiA4NTBweCkge1xuICBzdmcjZWJlYW0tc3VydmV5LXJlc3VsdHMtLWRlc2t0b3Age1xuICAgIHdpZHRoOiA4MDNweDtcbiAgICBoZWlnaHQ6IDI4M3B4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xuICBzdmcjZWJlYW0tc3VydmV5LXJlc3VsdHMtLWRlc2t0b3Age1xuICAgIHdpZHRoOiA5NTdweDtcbiAgICBoZWlnaHQ6IDMzN3B4O1xuICB9XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgYW5kIChtaW4td2lkdGg6IDExNTBweCkge1xuICBzdmcjZWJlYW0tc3VydmV5LXJlc3VsdHMtLWRlc2t0b3Age1xuICAgIHdpZHRoOiAxMDg4cHg7XG4gICAgaGVpZ2h0OiAzODNweDtcbiAgfVxufVxuQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIGFuZCAobWluLXdpZHRoOiAxMTUwcHgpIHtcbiAgc3ZnI3BlYWstbWVtb3J5LWJhbmR3aWR0aCB7XG4gICAgd2lkdGg6IDUxMnB4O1xuICAgIGhlaWdodDogMzM1cHg7XG4gIH1cbiAgc3ZnI3BlYWstZG91YmxlLXByZWNpc2lvbi1mbG9wcyB7XG4gICAgd2lkdGg6IDUxMnB4O1xuICAgIGhlaWdodDogMzM1cHg7XG4gIH1cbn1cbiJdfQ== */