/* --------------------------------------------------------------------

Master SASS ala jjohns@wested.org

-------------------------------------------------------------------- */
/* Mixins */
/* Mixins
-------------------------------------------------------------------- */
/* @include clearfix;
-------------------------------------------------------------------- */
/* Variables */
/* Variables
-------------------------------------------------------------------- */
/* break points */
/* text */
/* links */
/* colors */
/* Typography */
/* Typography

Google Fonts / Roboto 300, 400, 500, 700
Google Fonts / Roboto Condensed 400


-------------------------------------------------------------------- */
body {
  font-family: "Roboto", sans-serif;
  font-size: 21px;
  line-height: 32px;
  font-weight: 400;
  color: #314476; }

a {
  color: #327C36;
  text-decoration: underline; }
  a:hover, a:active {
    opacity: .75;
    text-decoration: underline; }
  a:focus {
    text-decoration: underline; }

h1, h1.entry-title {
  font-family: "Roboto Condensed";
  font-size: 48px;
  line-height: 72px;
  font-weight: 400;
  color: #314476;
  text-align: center;
  margin: 0 0 20px 0;
  padding: 50px 0 0 0; }

h2 {
  font-family: "Roboto Condensed";
  font-size: 48px;
  line-height: 57px;
  font-weight: 400;
  color: #314476;
  text-align: center;
  margin: 0 0 60px 0;
  padding: 0; }

h3 {
  font-family: "Roboto";
  font-size: 16px;
  line-height: 18px;
  font-weight: 400;
  color: #314476;
  margin: 20px 0 5px 0;
  padding: 0; }

p {
  font-family: "Roboto";
  font-size: 21px;
  line-height: 32px;
  font-weight: 400;
  color: #314476;
  margin: 0 0 14px 0;
  padding: 0; }

ul,
.entry-content ul {
  margin: 30px 0 30px 24px;
  padding: 0; }
  ul li,
  .entry-content ul li {
    font-family: "Roboto";
    font-size: 21px;
    line-height: 32px;
    font-weight: 400;
    color: #314476;
    margin: 0 0 8px 0;
    padding: 0; }
    ul li ul,
    .entry-content ul li ul {
      margin: 20px 0 20px 40px; }

ol {
  margin: 10px 0 15px 25px;
  padding: 0; }
  ol li {
    font-family: "Roboto";
    font-size: 21px;
    line-height: 32px;
    font-weight: 400;
    color: #314476;
    margin: 0 0 8px 0;
    padding: 0; }

strong {
  font-weight: 700; }

/* Layout
-------------------------------------------------------------------- */
body {
  background: #fff url("../images/bg.png") repeat-x 0 0; }

.wrap {
  width: 100%;
  max-width: 970px;
  margin: 0 auto;
  padding: 0; }

.genesis-skip-link li {
  margin: 0; }

.widget {
  margin: 0;
  padding: 0; }

.entry-header {
  display: none; }

.content {
  width: 100%;
  max-width: 970px;
  margin: 0 auto;
  padding: 0; }

.site-inner {
  max-width: 970px;
  padding: 60px 20px; }

/* Layout / Header & Nav
-------------------------------------------------------------------- */
.site-header {
  z-index: 999;
  position: relative;
  background-color: transparent;
  box-shadow: 0 12px 12px rgba(0, 0, 0, 0.15);
  margin: 0;
  padding: 0;
  /* hiding default site logo */
  /* main nav */ }
  .site-header .wrap {
    width: 100%;
    max-width: 970px;
    padding: 0 10px; }
  .site-header .title-area {
    display: none !important; }
  .site-header .header-widget-area {
    max-width: none;
    height: 30px;
    margin: 0;
    padding: 0;
    /* mobile logo (hide at desktop) */
    /* util nav */ }
    .site-header .header-widget-area #custom_html-4 {
      display: none; }
    .site-header .header-widget-area #custom_html-5 ul {
      text-align: right;
      margin: 0;
      padding: 0; }
      .site-header .header-widget-area #custom_html-5 ul li {
        list-style: none;
        margin: 0;
        padding: 0;
        /* dropdown */ }
        .site-header .header-widget-area #custom_html-5 ul li a {
          font-family: "Roboto Condensed";
          font-size: 14px;
          line-height: 14px;
          font-weight: 400;
          letter-spacing: 1px;
          text-transform: uppercase;
          color: #fff;
          text-decoration: none;
          margin: 0;
          padding: 7px 8px 6px 8px; }
        .site-header .header-widget-area #custom_html-5 ul li ul.sub-menu {
          border: none;
          background-color: #fff;
          box-shadow: 8px 12px 12px rgba(0, 0, 0, 0.35);
          margin: 0;
          padding: 0 0; }
          .site-header .header-widget-area #custom_html-5 ul li ul.sub-menu li {
            text-align: left;
            margin: 0;
            padding: 0; }
            .site-header .header-widget-area #custom_html-5 ul li ul.sub-menu li a {
              font-size: 14px;
              border: none;
              color: #314476;
              padding: 6px 12px; }
  .site-header .nav-primary {
    max-width: none;
    float: none;
    margin: 0;
    padding: 0; }
    .site-header .nav-primary ul {
      text-align: right;
      margin: 0;
      padding: 0; }
      .site-header .nav-primary ul li {
        margin: 0;
        padding: 55px 0 0 0;
        /* site logo */
        /* hide at desktop */
        /* dropdown */ }
        .site-header .nav-primary ul li a {
          font-family: "Roboto Condensed";
          font-size: 16px;
          line-height: 19px;
          font-weight: 700;
          letter-spacing: 1.33px;
          text-transform: uppercase;
          color: #314476;
          text-decoration: none;
          margin: 0;
          padding: 0 12px; }
        .site-header .nav-primary ul li.nav-home {
          float: left;
          padding: 12px 0; }
          .site-header .nav-primary ul li.nav-home a {
            display: block;
            background: url("../images/logo-csaa.svg") no-repeat 0 0;
            width: 411px;
            height: 100px;
            background-size: 411px 100px;
            padding: 0; }
            .site-header .nav-primary ul li.nav-home a span {
              display: none; }
            .site-header .nav-primary ul li.nav-home a:hover {
              opacity: 1; }
        .site-header .nav-primary ul li.nav-about, .site-header .nav-primary ul li.nav-news-events, .site-header .nav-primary ul li.nav-contact, .site-header .nav-primary ul li.nav-subscribe {
          display: none; }
        .site-header .nav-primary ul li ul.sub-menu {
          border: none;
          background-color: #fff;
          box-shadow: 8px 12px 12px rgba(0, 0, 0, 0.35);
          margin: 0;
          padding: 0 0; }
          .site-header .nav-primary ul li ul.sub-menu li {
            text-align: left;
            margin: 0;
            padding: 0; }
            .site-header .nav-primary ul li ul.sub-menu li a {
              font-size: 14px;
              border: none;
              padding: 6px 12px; }
  @media screen and (max-width: 900px) {
    .site-header {
      /* hamburglar */
      /* mobile nav */ }
      .site-header .wrap {
        padding: 0 10px; }
      .site-header .header-widget-area {
        /* hide util and primary nav at mobile */
        /* show mobile logo */ }
        .site-header .header-widget-area .nav-primary,
        .site-header .header-widget-area #custom_html-5 {
          display: none; }
        .site-header .header-widget-area #custom_html-4 {
          display: block; }
        .site-header .header-widget-area .mobile-logo {
          max-width: 280px;
          margin: 10px 0 0 0;
          padding: 0; }
          .site-header .header-widget-area .mobile-logo a:hover {
            opacity: 1; }
      .site-header .menu-toggle {
        color: #314476;
        padding: 0 10px 30px 0; }
      .site-header .nav-primary ul {
        margin: 0;
        padding: 10px 0; }
        .site-header .nav-primary ul li {
          margin: 0;
          padding: 0;
          /* show at mobile */ }
          .site-header .nav-primary ul li a {
            margin: 0;
            padding: 10px 0; }
          .site-header .nav-primary ul li.nav-about, .site-header .nav-primary ul li.nav-news-events, .site-header .nav-primary ul li.nav-contact, .site-header .nav-primary ul li.nav-subscribe {
            display: block; }
          .site-header .nav-primary ul li.nav-home {
            float: none; }
            .site-header .nav-primary ul li.nav-home a {
              width: auto;
              height: auto;
              background: none; }
              .site-header .nav-primary ul li.nav-home a span {
                display: block; }
          .site-header .nav-primary ul li.menu-item-has-children {
            /* hide parent link, only show children */
            /* automatically show dropdowns at mobile */ }
            .site-header .nav-primary ul li.menu-item-has-children > a {
              display: none; }
            .site-header .nav-primary ul li.menu-item-has-children .sub-menu-toggle {
              display: none; }
            .site-header .nav-primary ul li.menu-item-has-children .sub-menu {
              display: block !important;
              box-shadow: none; }
              .site-header .nav-primary ul li.menu-item-has-children .sub-menu li {
                text-align: right; }
              .site-header .nav-primary ul li.menu-item-has-children .sub-menu a {
                font-size: 16px;
                line-height: 19px;
                padding: 10px 0; } }

@media screen and (max-width: 900px) {
  body {
    background: none; } }

/* fixes WP admin bar overreach */
body.admin-bar html {
  margin-top: 0; }

body.admin-bar .site-header {
  top: 0; }

/* Layout / Hero
-------------------------------------------------------------------- */
.hero-wrap {
  background: #327C36 url("../images/hero-bg.png") no-repeat top right;
  background-size: cover;
  margin: 0;
  padding: 0; }
  .hero-wrap h1 {
    max-width: 850px;
    font-family: "Roboto Condensed";
    font-size: 48px;
    line-height: 58px;
    font-weight: 400;
    color: #fff;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 20px;
    padding: 50px 0 50px 0; }
  .hero-wrap .hero-content {
    max-width: 650px;
    margin: 0 auto;
    padding: 0 20px 50px 20px; }
    .hero-wrap .hero-content p {
      font-size: 21px;
      line-height: 32px;
      font-weight: 400;
      color: #fff;
      text-align: center;
      margin: 0;
      padding: 0; }
      .hero-wrap .hero-content p a {
        color: #fff; }
      .hero-wrap .hero-content p a.btn {
        font-size: 21px;
        line-height: 21px;
        font-weight: 400;
        color: #327C36;
        letter-spacing: 1.5px;
        text-transform: uppercase;
        text-decoration: none;
        background-color: #fff;
        border-radius: 32px;
        padding: 10px 25px; }
    .hero-wrap .hero-content p.btn-container {
      margin: 30px 0 20px 0;
      padding: 0; }
    @media screen and (max-width: 900px) {
      .hero-wrap .hero-content p a.btn {
        font-size: 15px; } }
  .hero-wrap h1 + .hero-content {
    margin-top: -40px; }

/* hide h1 */
body.home .hero-wrap h1 {
  display: none;
  height: 0; }

body.home .hero-wrap h1 + .hero-content {
  margin-top: 0; }

/* Hero / Metaslider
-------------------------------------------------------------------- */
body.home .hero-wrap .hero-content {
  max-width: none;
  background-color: #fff;
  margin: 0;
  padding: 0; }
  body.home .hero-wrap .hero-content .metaslider {
    /* IE11 support */
    /* give photo a darker appearance */ }
    body.home .hero-wrap .hero-content .metaslider .caption-wrap {
      display: flex;
      justify-content: center;
      align-items: center;
      top: 0;
      opacity: 1;
      background-color: transparent; }
    @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
      body.home .hero-wrap .hero-content .metaslider .caption-wrap {
        justify-content: inherit; } }
    body.home .hero-wrap .hero-content .metaslider .caption {
      max-width: 750px;
      margin: 0 auto;
      padding: 20px 20px; }
    body.home .hero-wrap .hero-content .metaslider h2 {
      font-size: 48px;
      line-height: 50px;
      color: #fff;
      text-align: left;
      margin: 0 0 12px 0;
      padding: 0; }
    body.home .hero-wrap .hero-content .metaslider p {
      text-align: left;
      margin: 0;
      padding: 0; }
    body.home .hero-wrap .hero-content .metaslider li {
      background-color: #000; }
      body.home .hero-wrap .hero-content .metaslider li img {
        opacity: .75; }
    body.home .hero-wrap .hero-content .metaslider .flex-control-nav {
      bottom: 5px; }
    body.home .hero-wrap .hero-content .metaslider .flex-control-paging li {
      background-color: transparent; }
      body.home .hero-wrap .hero-content .metaslider .flex-control-paging li a {
        width: 15px;
        height: 15px;
        background: transparent;
        border: 1px solid #fff; }
      body.home .hero-wrap .hero-content .metaslider .flex-control-paging li a.flex-active {
        background: #fff; }
    @media screen and (max-width: 900px) {
      body.home .hero-wrap .hero-content .metaslider .caption {
        padding: 12px; }
      body.home .hero-wrap .hero-content .metaslider h2 {
        font-size: 22px;
        line-height: 26px;
        margin-bottom: 4px; }
      body.home .hero-wrap .hero-content .metaslider p {
        font-size: 18px;
        line-height: 22px; } }
    @media screen and (max-width: 600px) {
      body.home .hero-wrap .hero-content .metaslider .flex-control-paging {
        display: none; } }
    @media screen and (max-width: 490px) {
      body.home .hero-wrap .hero-content .metaslider h2 {
        font-size: 16px;
        line-height: 20px; }
      body.home .hero-wrap .hero-content .metaslider p {
        font-size: 14px;
        line-height: 18px; } }

/* Layout / Footer
-------------------------------------------------------------------- */
.footer-widgets {
  background-color: #192A3D;
  margin: 0;
  padding: 0; }
  .footer-widgets .wrap {
    max-width: 970px;
    padding: 40px 20px; }
  .footer-widgets .footer-widget-area {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0; }
  .footer-widgets p {
    font-size: 14px;
    line-height: 22px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: #B5C1CC;
    margin: 0;
    padding: 0; }
  .footer-widgets a {
    color: #B5C1CC;
    text-decoration: underline; }

.site-footer {
  display: none; }

/* Global
-------------------------------------------------------------------- */
/* hide ala Bootstrap */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0; }

.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto; }

/* Gravity Form */
.gform_wrapper .top_label div.ginput_container {
  margin-top: 0 !important; }

.gform_wrapper label, .gform_wrapper label.gfield_label {
  font-size: 16px !important;
  line-height: 24px !important;
  font-weight: 400 !important; }

.gform_wrapper input, .gform_wrapper textarea, .gform_wrapper select {
  border-color: #546B85; }

.gform_wrapper select {
  height: 36px; }

.gform_wrapper .ginput_container_checkbox input {
  vertical-align: top !important;
  margin: 5px 5px 0 0 !important; }

.gform_wrapper .gform_footer {
  text-align: center;
  padding-right: 20px; }
  .gform_wrapper .gform_footer input.button {
    font-size: 21px;
    line-height: 21px;
    font-weight: 400;
    color: #fff;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    text-decoration: none;
    background-color: #327C36;
    border-radius: 32px;
    margin: 0 !important;
    padding: 10px 25px; }
    .gform_wrapper .gform_footer input.button:hover {
      opacity: .75; }

/* bust out technique (full width elements) */
.bust-out {
  background-color: #fff;
  box-sizing: border-box;
  transform: translateX(calc(50vw - 50%));
  margin: auto calc(50% - 50vw);
  margin-top: 100px;
  margin-bottom: 100px;
  padding: 0; }

.bust-out-content {
  width: 940px;
  /* match .entry-content width */
  margin: 0 auto;
  padding: 100px 0; }

@media screen and (max-width: 970px) {
  .bust-out-content {
    width: 94%;
    padding-left: 10px;
    padding-right: 10px; } }

/* show hide */
.accordion {
  border-bottom: 1px solid #546B85;
  margin: 0;
  padding: 0; }
  .accordion .accordion-title {
    font-size: 21px;
    line-height: 32px;
    font-weight: 400;
    color: #327C36;
    text-decoration: underline;
    border-top: 1px solid #546B85;
    background: url("../images/icon-accordion-closed.svg") no-repeat 10px 30px;
    cursor: pointer;
    margin: 0;
    padding: 25px 10px 25px 40px; }
    .accordion .accordion-title.open {
      background: url("../images/icon-accordion-opened.svg") no-repeat 10px 40px; }
  .accordion .accordion-content {
    margin: 0;
    padding: 12px 40px; }
    .accordion .accordion-content:last-child {
      padding-bottom: 0; }
    .accordion .accordion-content ul, .accordion .accordion-content ol {
      margin: 0 0 0 20px;
      padding: 0; }

/* buttons */
a.btn {
  font-size: 21px;
  line-height: 21px;
  font-weight: 400;
  color: #fff;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  text-decoration: none;
  background-color: #327C36;
  border-radius: 32px;
  padding: 10px 25px; }

section.shade {
  background-color: #ECF1F4; }

/* Quotes */
blockquote {
  border: 1px solid #26325C;
  border-left: 5px solid #26325C;
  background: #DAE4EA url("../images/icon-quote-dark.svg") 15px 15px no-repeat;
  margin: 30px 0;
  padding: 18px 20px 20px 60px; }
  blockquote p {
    font-style: normal;
    margin: 0 0 12px 0;
    padding: 0; }

/* Home
-------------------------------------------------------------------- */
body.home {
  /* Subscribe */
  /* middle */
  /* News & Events */ }
  body.home .group {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0; }
    body.home .group .item {
      margin: 0;
      padding: 0; }
  body.home section.subscribe {
    background-color: #327C36;
    margin-bottom: 0; }
    body.home section.subscribe .bust-out-content {
      padding: 50px 0; }
    body.home section.subscribe p, body.home section.subscribe a {
      color: #fff;
      margin: 0;
      padding: 0; }
    body.home section.subscribe .icon a {
      display: block;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 90px;
      height: 90px;
      background-color: #fff;
      border-radius: 50%;
      text-align: center;
      margin-right: 20px; }
  body.home section.middle {
    margin-top: 0;
    margin-bottom: 0; }
    body.home section.middle h2 {
      text-align: left;
      margin-bottom: 20px; }
    body.home section.middle p {
      margin-bottom: 40px; }
    body.home section.middle .icon a {
      display: block;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 350px;
      height: 350px;
      border-radius: 50%;
      background-color: #ECF1F4;
      text-align: center;
      margin: 0 40px 0 0; }
  body.home section.middle.shade .icon a {
    background-color: #fff;
    margin: 0 0 0 40px; }
  body.home section.news-events h2 {
    margin-top: 100px; }
  body.home section.news-events .pip-wrap {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    grid-column-gap: 20px;
    margin: 0;
    padding: 0; }
    body.home section.news-events .pip-wrap .pip {
      background-color: #ECF1F4;
      margin: 0 0 20px 0;
      padding: 30px; }
    body.home section.news-events .pip-wrap img {
      max-width: 245px;
      height: auto;
      margin: 0 0 15px 0;
      padding: 0; }
    body.home section.news-events .pip-wrap .meta .post-category, body.home section.news-events .pip-wrap .meta time {
      font-size: 14px;
      line-height: 16px;
      text-transform: uppercase;
      margin: 0;
      padding: 0; }
    body.home section.news-events .pip-wrap .meta time {
      font-size: 14px;
      line-height: 16px;
      border-left: 1px solid #314476;
      margin-left: 5px;
      padding-left: 5px; }
    body.home section.news-events .pip-wrap h3 {
      font-size: 21px;
      line-height: 32px;
      font-weight: 400;
      margin: 0 0 15px 0;
      padding: 0; }
    body.home section.news-events .pip-wrap p {
      font-size: 16px;
      line-height: 24px; }
      body.home section.news-events .pip-wrap p.tags {
        margin: 0; }
        body.home section.news-events .pip-wrap p.tags a {
          display: inline-block;
          font-size: 12px;
          line-height: 14px;
          color: #314476;
          text-decoration: none;
          text-transform: uppercase;
          white-space: nowrap;
          background-color: #fff;
          border-radius: 12px;
          margin: 0 5px 10px 0;
          padding: 6px 12px; }
  @media screen and (max-width: 900px) {
    body.home section.news-events .pip-wrap {
      display: block; }
      body.home section.news-events .pip-wrap .pip {
        margin-bottom: 20px; } }
  @media screen and (max-width: 900px) {
    body.home .bust-out.middle .icon {
      display: none; } }

/* About
-------------------------------------------------------------------- */
body.about {
  /* when bust-out is last element on page */
  /* expertise */ }
  body.about .entry {
    margin-bottom: 0; }
  body.about .site-inner {
    padding-bottom: 0; }
  body.about .bust-out:last-child {
    margin-bottom: 0; }
  body.about section.intro {
    /* intro */ }
    body.about section.intro .group {
      display: flex;
      margin: 0;
      padding: 0; }
      body.about section.intro .group img {
        margin: 20px 0;
        padding: 0; }
      body.about section.intro .group .item {
        margin: 0;
        padding: 0; }
        body.about section.intro .group .item:nth-child(1) {
          flex: 1 1 65%;
          padding-right: 30px; }
        body.about section.intro .group .item:nth-child(2) {
          flex: 1 1 35%; }
    body.about section.intro .who {
      background-color: #ECF1F4;
      margin: 0;
      padding: 30px; }
      body.about section.intro .who h2 {
        font-family: "Roboto Condensed";
        font-size: 36px;
        line-height: 42px;
        font-weight: 400;
        color: #192A3D;
        margin: 0 0 35px 0;
        padding: 0; }
      body.about section.intro .who p {
        font-size: 16px;
        line-height: 24px;
        font-weight: 400;
        color: #192A3D;
        margin: 0 0 20px 0;
        padding: 0; }
        body.about section.intro .who p:last-child {
          margin-bottom: 0; }
    @media screen and (max-width: 900px) {
      body.about section.intro .group {
        display: block; }
        body.about section.intro .group .item,
        body.about section.intro .group .item:nth-child(1),
        body.about section.intro .group .item:nth-child(2) {
          margin: 0;
          padding: 0; } }
  body.about section.expertise p {
    margin: 0;
    padding: 0; }
    body.about section.expertise p.bio {
      padding-top: 20px; }
    body.about section.expertise p:last-child {
      margin-bottom: 20px; }
  body.about section.expertise img {
    float: right;
    margin: 0 0 30px 50px;
    padding: 0; }
  @media screen and (max-width: 900px) {
    body.about section.expertise img {
      float: none;
      margin: 0 0 20px 0;
      padding: 0; } }
  body.about section.collaboration p.quote {
    background: url("../images/icon-quote.svg") no-repeat 0 8px;
    margin: 0 0 50px 0;
    padding: 0 0 0 90px; }
    body.about section.collaboration p.quote span.source {
      display: block;
      margin-top: 15px; }
  @media screen and (max-width: 900px) {
    body.about section.collaboration p.quote {
      background: none;
      margin: 0;
      padding: 0 40px 50px 40px; } }

/* News & Events
-------------------------------------------------------------------- */
body.news-events .group {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  /* posts */
  /* links */ }
  body.news-events .group .item {
    margin: 0;
    padding: 0; }
    body.news-events .group .item:nth-child(1) {
      flex: 1 1 auto; }
    body.news-events .group .item:nth-child(2) {
      flex: 1 1 200px; }
  body.news-events .group .blog-posts {
    max-width: 550px; }
  body.news-events .group .post-category, body.news-events .group time {
    font-size: 14px;
    line-height: 16px;
    text-transform: uppercase;
    margin: 0;
    padding: 0; }
  body.news-events .group time {
    font-size: 14px;
    line-height: 16px;
    border-left: 1px solid #314476;
    padding-left: 5px; }
  body.news-events .group ul.post-list {
    margin: 0;
    padding: 0; }
    body.news-events .group ul.post-list li {
      margin: 0 0 50px 0;
      padding: 0; }
    body.news-events .group ul.post-list h3 {
      font-size: 21px;
      line-height: 32px;
      margin: 10px 0 0 0;
      padding: 0; }
    body.news-events .group ul.post-list p {
      font-size: 21px;
      line-height: 32px; }
      body.news-events .group ul.post-list p.tags {
        margin: 0; }
        body.news-events .group ul.post-list p.tags a {
          display: inline-block;
          font-size: 12px;
          line-height: 14px;
          color: #314476;
          text-decoration: none;
          text-transform: uppercase;
          white-space: nowrap;
          background-color: #ECF1F4;
          border-radius: 12px;
          margin: 0 5px 10px 0;
          padding: 6px 12px; }
    body.news-events .group ul.post-list img {
      width: 100%;
      height: auto;
      margin: 0 0 10px 0;
      padding: 0; }
  body.news-events .group p.other {
    font-size: 16px;
    line-height: 32px;
    border-left: 1px solid #979797;
    margin: 0;
    padding: 0 0 30px 30px; }
    body.news-events .group p.other a {
      display: block; }
    body.news-events .group p.other:last-child {
      padding-bottom: 0; }
  body.news-events .group ul.other {
    border-left: 1px solid #979797;
    margin: 0;
    padding: 0 0 0 30px; }
    body.news-events .group ul.other li {
      margin: 0 0 15px 0;
      padding: 0; }
      body.news-events .group ul.other li a {
        font-size: 16px;
        line-height: 32px;
        font-weight: 400; }
  @media screen and (max-width: 900px) {
    body.news-events .group {
      display: block; }
      body.news-events .group .item:nth-child(2) {
        border-top: 1px solid #979797;
        padding-top: 30px; }
      body.news-events .group p.other {
        border: none;
        margin: 0 0 20px 0;
        padding: 0; } }

/* News & Events / Detail
-------------------------------------------------------------------- */
body.single-post .two-thirds {
  float: left;
  margin: 0;
  padding: 0 60px 0 0; }

body.single-post .one-third {
  float: left;
  margin: 0;
  padding: 0 0 0 30px;
  /* links */ }
  body.single-post .one-third p.other {
    font-size: 16px;
    line-height: 32px;
    border-left: 1px solid #979797;
    margin: 0;
    padding: 0 0 30px 30px; }
    body.single-post .one-third p.other a {
      display: block; }
    body.single-post .one-third p.other:last-child {
      padding-bottom: 0; }

body.single-post .post-category, body.single-post time {
  font-size: 14px;
  line-height: 16px;
  text-transform: uppercase;
  margin: 0;
  padding: 0; }

body.single-post time {
  font-size: 14px;
  line-height: 16px;
  border-left: 1px solid #314476;
  padding-left: 5px; }

body.single-post h2 {
  text-align: left;
  font-size: 21px;
  line-height: 32px;
  font-weight: 700;
  margin: 10px 0 10px 0;
  padding: 0; }

body.single-post p.tags {
  margin: 0; }
  body.single-post p.tags a {
    display: inline-block;
    font-size: 12px;
    line-height: 14px;
    color: #314476;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    background-color: #ECF1F4;
    border-radius: 12px;
    margin: 0 5px 10px 0;
    padding: 6px 12px; }

body.single-post img {
  width: 100%;
  height: auto;
  margin: 0 0 10px 0;
  padding: 0; }

@media screen and (max-width: 900px) {
  body.single-post .one-third,
  body.single-post .two-thirds {
    float: none;
    width: 100%;
    margin: 0;
    padding: 0; }
  body.single-post .one-third {
    border-top: 1px solid #979797;
    margin: 30px 0 0 0;
    padding: 30px 0 0 0; }
    body.single-post .one-third p.other {
      border: none;
      margin: 0 0 20px 0;
      padding: 0; } }

/* News & Events / Cat & Tag
-------------------------------------------------------------------- */
body.category .entry-header,
body.tag .entry-header {
  display: block; }
  body.category .entry-header h2,
  body.tag .entry-header h2 {
    font-size: 21px;
    line-height: 32px;
    font-weight: 400;
    text-align: left;
    margin: 0 0 8px 0;
    padding: 0; }
    body.category .entry-header h2 a,
    body.tag .entry-header h2 a {
      color: #327C36;
      text-decoration: underline; }

body.category .entry-footer,
body.tag .entry-footer {
  margin: 0;
  padding: 0; }
  body.category .entry-footer p.entry-meta,
  body.tag .entry-footer p.entry-meta {
    border: none;
    margin: 0;
    padding: 0; }
  body.category .entry-footer a,
  body.tag .entry-footer a {
    display: inline-block;
    font-size: 12px;
    line-height: 14px;
    color: #314476;
    text-decoration: none;
    text-transform: uppercase;
    white-space: nowrap;
    background-color: #ECF1F4;
    border-radius: 12px;
    margin: 0 5px 10px 0;
    padding: 6px 12px; }
  body.category .entry-footer .entry-categories, body.category .entry-footer .entry-tags,
  body.tag .entry-footer .entry-categories,
  body.tag .entry-footer .entry-tags {
    font-size: 12px;
    line-height: 12px;
    font-weight: 400;
    text-transform: uppercase; }
  body.category .entry-footer .entry-categories:before,
  body.tag .entry-footer .entry-categories:before {
    content: "Categories: "; }
  body.category .entry-footer .entry-tags:before,
  body.tag .entry-footer .entry-tags:before {
    content: "Tags: "; }

/* Contact
-------------------------------------------------------------------- */
body.contact .entry-content {
  /* thank you */ }
  body.contact .entry-content h2 {
    float: left; }
  body.contact .entry-content .btn {
    float: right; }
  body.contact .entry-content .gform_confirmation_wrapper {
    margin: 125px 0 0 0;
    padding: 0; }
    body.contact .entry-content .gform_confirmation_wrapper:before, body.contact .entry-content .gform_confirmation_wrapper:after {
      content: "";
      display: table; }
    body.contact .entry-content .gform_confirmation_wrapper:after {
      clear: both; }
  @media screen and (max-width: 900px) {
    body.contact .entry-content {
      position: relative; }
      body.contact .entry-content h2 {
        float: none;
        margin: 50px 0 0 0; }
      body.contact .entry-content p .btn {
        position: absolute;
        top: -20px;
        right: 0;
        font-size: 12px; } }

/* Subscribe
-------------------------------------------------------------------- */
body.subscribe {
  /* thank you */ }
  body.subscribe .archive {
    float: right;
    font-size: 16px;
    line-height: 32px;
    font-weight: 400;
    margin: 0 0 30px 0;
    padding: 0; }
  body.subscribe .gform_confirmation_wrapper {
    margin: 125px 0 0 0;
    padding: 0; }
    body.subscribe .gform_confirmation_wrapper:before, body.subscribe .gform_confirmation_wrapper:after {
      content: "";
      display: table; }
    body.subscribe .gform_confirmation_wrapper:after {
      clear: both; }

/* Resources
-------------------------------------------------------------------- */
body.resources {
  /* filters */
  /* resource entries */
  /* Resource items */
  /* FacetWP UI elements */
  /* results sort bar */ }
  body.resources .entry-content {
    margin-bottom: 40px; }
  body.resources .resource-filters {
    width: 30%;
    float: left; }
    body.resources .resource-filters h3 {
      font-size: 16px;
      line-height: 24px;
      font-weight: 700;
      color: #314476; }
  body.resources .resource-entries {
    width: 65%;
    float: right; }
  @media screen and (max-width: 900px) {
    body.resources .resource-filters,
    body.resources .resource-entries {
      float: none;
      width: 100%; } }
  body.resources .resource-item {
    margin-bottom: 50px; }
    body.resources .resource-item:after {
      border-bottom: 1px solid #26325C;
      content: "";
      width: 50px;
      height: 1px;
      padding-bottom: 50px; }
    body.resources .resource-item h2 {
      font-family: "Roboto";
      font-size: 21px;
      line-height: 32px;
      text-align: left;
      text-transform: none;
      margin: 0;
      padding: 0; }
      body.resources .resource-item h2 .featured {
        font-size: 14px;
        line-height: 14px;
        color: #fff;
        background-color: #327C36;
        border-radius: 30px;
        margin: 0 0 0 10px;
        padding: 5px 10px; }
    body.resources .resource-item p.excerpt {
      margin: 10px 0 20px 0;
      padding: 0; }
    body.resources .resource-item .item-main {
      float: left;
      width: 75%; }
    body.resources .resource-item .meta {
      margin-bottom: 0; }
      body.resources .resource-item .meta span {
        display: inline-block;
        font-size: 16px;
        line-height: 24px; }
      body.resources .resource-item .meta .fwp-link {
        cursor: pointer; }
    body.resources .resource-item img {
      float: right;
      max-width: 75px;
      height: auto;
      border-radius: 5px; }
    body.resources .resource-item .date::after,
    body.resources .resource-item .term::after {
      display: inline-block;
      content: '\00b7'; }
    body.resources .resource-item .date:after {
      padding-left: 5px; }
    body.resources .resource-item .term:after {
      padding: 0 0 0 5px; }
    body.resources .resource-item .term:last-of-type::after {
      content: none; }
  body.resources .facetwp-counts,
  body.resources .facetwp-selections,
  body.resources .facetwp-checkbox,
  body.resources .facetwp-sort select,
  body.resources .facetwp-type-search input {
    font-size: 16px;
    line-height: 24px;
    color: #314476; }
  body.resources .facetwp-facet.facetwp-type-checkboxes {
    margin-bottom: 30px; }
  body.resources .facetwp-facet .facetwp-checkbox {
    background: url("../images/resources-icon-checkbox.png") 0 50% no-repeat;
    background-size: 14px 14px; }
  body.resources .facetwp-facet .facetwp-checkbox.checked {
    background-image: url("../images/resources-icon-checkbox-on.png"); }
  body.resources .facetwp-facet.facetwp-type-search {
    width: 82%;
    margin-bottom: 30px; }
    body.resources .facetwp-facet.facetwp-type-search .facetwp-search-wrap {
      display: block; }
    body.resources .facetwp-facet.facetwp-type-search .facetwp-btn {
      opacity: 1;
      top: 0;
      right: -50px;
      width: 40px;
      height: 40px;
      border-radius: 50%;
      box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.25);
      background-color: #327C36; }
      body.resources .facetwp-facet.facetwp-type-search .facetwp-btn::before {
        width: 40px;
        height: 40px;
        background-image: url("../images/resources-icon-search.svg");
        background-repeat: no-repeat;
        background-size: 20px 20px;
        background-position: center center;
        border-radius: 50%; }
      body.resources .facetwp-facet.facetwp-type-search .facetwp-btn:hover {
        opacity: .75; }
    body.resources .facetwp-facet.facetwp-type-search input {
      height: 42px;
      padding: 10px 10px;
      border: 1px solid #546B85; }
      body.resources .facetwp-facet.facetwp-type-search input::placeholder {
        color: #808285; }
  body.resources .facetwp-pager {
    width: 65%;
    float: right;
    clear: both;
    font-size: 20px;
    line-height: 30px;
    text-align: center; }
    body.resources .facetwp-pager a {
      font-weight: 700;
      text-decoration: none; }
  body.resources .result-sort-bar {
    width: 65%;
    float: right;
    margin-bottom: 25px; }
    body.resources .result-sort-bar .facetwp-counts {
      float: left;
      color: #314476;
      /* margin-bottom: 30px; */ }
    body.resources .result-sort-bar .facetwp-sort {
      float: right;
      max-width: 150px; }
      body.resources .result-sort-bar .facetwp-sort select {
        padding: 0; }
    body.resources .result-sort-bar .facetwp-selections {
      clear: both;
      width: 100%; }
      body.resources .result-sort-bar .facetwp-selections ul {
        margin-left: 0;
        padding-top: 30px; }
      body.resources .result-sort-bar .facetwp-selections .facetwp-selection-label {
        display: none; }
      body.resources .result-sort-bar .facetwp-selections .facetwp-selection-value {
        color: #fff;
        padding: 7px 30px 7px 15px;
        margin-bottom: 10px;
        border-radius: 30px;
        background-image: url("../images/resources-icon-close-white.png");
        background-color: #327C36;
        background-position: right 10px center; }
  body.resources .result-sort-bar .facetwp-selections .facetwp-selection-value {
    font-size: 16px; }
  @media screen and (max-width: 900px) {
    body.resources .result-sort-bar {
      float: none;
      width: 100%; }
      body.resources .result-sort-bar .facetwp-counts,
      body.resources .result-sort-bar .facetwp-sort {
        float: none;
        width: 100%; }
    body.resources .resource-item .item-main {
      float: none;
      width: 100%; }
    body.resources .facetwp-pager {
      float: none;
      width: 100%; } }

/* Resources / Detail
-------------------------------------------------------------------- */
body.single-resource {
  /* sidebar */ }
  body.single-resource .two-thirds {
    float: left;
    width: 60%;
    margin: 0;
    padding: 0; }
  body.single-resource .one-third {
    float: right;
    width: 35%;
    margin: 0;
    padding: 0; }
  body.single-resource .content h2, body.single-resource .content h3 {
    font-family: "Roboto";
    font-size: 21px;
    line-height: 32px;
    font-weight: 700;
    text-align: left;
    margin: 0 0 15px 0;
    padding: 0; }
  body.single-resource .content h3 {
    margin-top: 30px; }
  body.single-resource .content ul {
    margin: 0 0 15px 30px; }
    body.single-resource .content ul li {
      list-style-type: disc;
      margin-bottom: 15px; }
      body.single-resource .content ul li:last-child {
        margin-bottom: 0; }
  body.single-resource .content ol {
    margin: 0 0 15px 30px; }
    body.single-resource .content ol li {
      list-style-type: decimal;
      margin-bottom: 15px; }
      body.single-resource .content ol li:last-child {
        margin-bottom: 0; }
  body.single-resource .content .resource-comments {
    background-color: #ECF1F4;
    margin: 30px 0 0 0;
    padding: 30px; }
    body.single-resource .content .resource-comments h3 {
      margin: 0 0 15px 0;
      padding: 0; }
  body.single-resource ul.resource-items {
    margin: 0; }
    body.single-resource ul.resource-items li {
      list-style-type: none;
      margin-bottom: 20; }
      body.single-resource ul.resource-items li:last-of-type {
        margin-bottom: 0; }
    body.single-resource ul.resource-items h4, body.single-resource ul.resource-items a {
      font-size: 20px;
      font-weight: 700; }
    body.single-resource ul.resource-items h4 {
      margin-bottom: 5px; }
    body.single-resource ul.resource-items a {
      text-decoration: none; }
  body.single-resource .resource-meta {
    border-left: 1px solid #979797;
    margin: 0 0 0 20px;
    padding: 0 0 0 20px; }
    body.single-resource .resource-meta a.btn {
      display: inline-block;
      font-size: 18px;
      line-height: 18px; }
      body.single-resource .resource-meta a.btn.addl-resource {
        margin-top: 15px; }
    body.single-resource .resource-meta h4 {
      font-size: 16px;
      line-height: 19px;
      font-weight: 400;
      margin: 25px 0 8px 0;
      padding: 0; }
    body.single-resource .resource-meta p.back {
      margin-top: 25px; }
      body.single-resource .resource-meta p.back a:before {
        display: inline-block;
        content: '\2190';
        margin-right: 5px; }
    body.single-resource .resource-meta p.terms span {
      display: block; }
    body.single-resource .resource-meta img {
      max-width: 225px;
      height: auto;
      border-radius: 5px;
      margin-bottom: 20px; }
  @media screen and (max-width: 940px) {
    body.single-resource .one-third,
    body.single-resource .two-thirds {
      float: none;
      width: 100%;
      margin: 0;
      padding: 0; }
    body.single-resource .resource-meta {
      border-left: none;
      border-top: 1px solid #979797;
      margin: 30px 0 0 0;
      padding: 30px 0 0 0; }
      body.single-resource .resource-meta a.btn {
        margin-right: 10px; } }

/* Services
-------------------------------------------------------------------- */
body.services {
  /* prevent wrapping */
  /* Subscribe */
  /* service list */ }
  body.services .group {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0; }
    body.services .group .item {
      margin: 0;
      padding: 0; }
  body.services .hero-wrap h1 {
    font-size: 43px; }
  body.services ul.intro {
    text-align: center;
    margin: 0 auto;
    margin-top: 25px;
    padding: 0; }
    body.services ul.intro li {
      list-style: none;
      display: inline-block;
      margin: 0;
      padding: 0 12px; }
  body.services section.subscribe {
    background-color: #327C36;
    margin-bottom: 0; }
    body.services section.subscribe .bust-out-content {
      padding: 50px 0; }
    body.services section.subscribe p, body.services section.subscribe a {
      color: #fff;
      margin: 0;
      padding: 0; }
    body.services section.subscribe .icon a {
      display: block;
      display: flex;
      justify-content: center;
      align-items: center;
      width: 90px;
      height: 90px;
      background-color: #fff;
      border-radius: 50%;
      text-align: center;
      margin-right: 20px; }
  body.services section.list {
    margin-top: 100px; }
    body.services section.list .group {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      grid-gap: 20px;
      justify-content: inherit;
      align-items: inherit;
      margin: 0;
      padding: 0;
      /* Edge support */
      /* IE11 support */ }
      @supports (-ms-ime-align: auto) {
        body.services section.list .group {
          display: flex;
          flex-wrap: wrap; } }
      @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
        body.services section.list .group {
          display: flex;
          flex-wrap: wrap; } }
      body.services section.list .group .item {
        background-color: #ECF1F4;
        margin: 0;
        padding: 30px;
        /* Edge support */
        /* IE11 support */ }
        @supports (-ms-ime-align: auto) {
          body.services section.list .group .item {
            flex: 1 1 25%;
            max-width: 270px;
            margin: 20px; } }
        @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
          body.services section.list .group .item {
            flex: 1 1 25%;
            max-width: 270px;
            margin: 20px; } }
      body.services section.list .group h3 {
        margin: 0 0 15px 0;
        padding: 0; }
        body.services section.list .group h3 a {
          display: block;
          font-size: 21px;
          line-height: 32px;
          font-weight: 700;
          color: #314476;
          text-decoration: none;
          padding-top: 80px; }
        body.services section.list .group h3.alignment {
          background: url("../images/icon-services-alignment.svg") no-repeat 10px 0; }
        body.services section.list .group h3.assessment {
          background: url("../images/icon-services-assessment.svg") no-repeat 10px 0; }
        body.services section.list .group h3.beal {
          background: url("../images/icon-services-beal.svg") no-repeat 10px 0; }
        body.services section.list .group h3.standards {
          background: url("../images/icon-services-standards.svg") no-repeat 10px 0; }
        body.services section.list .group h3.innovative {
          background: url("../images/icon-services-innovative.svg") no-repeat 10px 0; }
        body.services section.list .group h3.emi {
          background: url("../images/icon-services-emi.svg") no-repeat 10px 0; }
        body.services section.list .group h3.formative {
          background: url("../images/icon-services-formative.svg") no-repeat 10px 0; }
        body.services section.list .group h3.next-generation {
          background: url("../images/icon-services-next-generation.svg") no-repeat 10px 0; }
        body.services section.list .group h3.next-generation-early {
          background: url("../images/icon-services-next-generation-early.svg") no-repeat 10px 0; }
        body.services section.list .group h3.next-generation-science {
          background: url("../images/icon-services-next-generation-science.svg") no-repeat 10px 0; }
        body.services section.list .group h3.vital {
          background: url("../images/icon-services-vital.svg") no-repeat 10px 0; }
      body.services section.list .group p {
        font-size: 21px;
        line-height: 32px;
        font-weight: 400;
        margin: 0;
        padding: 0; }
    @media screen and (max-width: 900px) {
      body.services section.list .group {
        display: block; }
        body.services section.list .group .item {
          max-width: none;
          margin-bottom: 20px; } }

/* Services / Subpages
-------------------------------------------------------------------- */
body.services.page-child .hero-wrap .hero-content {
  max-width: 970px; }

body.services.page-child .site-inner {
  padding-top: 80px; }

body.services.page-child .group {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  padding: 0; }
  body.services.page-child .group .item {
    margin: 0;
    padding: 0; }

body.services.page-child p.center {
  text-align: center; }

body.services.page-child p.quote {
  background: url("../images/icon-quote.svg") no-repeat 0 8px;
  margin: 0 0 50px 0;
  padding: 0 0 0 90px; }
  body.services.page-child p.quote span.source {
    display: block;
    margin-top: 15px; }
  @media screen and (max-width: 900px) {
    body.services.page-child p.quote {
      background: none;
      margin: 0;
      padding: 0 40px 50px 40px; } }

/* Services / Alignment Studies, BEAL, Early Math Initiative
-------------------------------------------------------------------- */
body.services.alignment-studies,
body.services.beal,
body.services.early-math-initiative,
body.services.innovative {
  /* when bust-out is last element on page */ }
  body.services.alignment-studies .entry,
  body.services.beal .entry,
  body.services.early-math-initiative .entry,
  body.services.innovative .entry {
    margin-bottom: 0; }
  body.services.alignment-studies .site-inner,
  body.services.beal .site-inner,
  body.services.early-math-initiative .site-inner,
  body.services.innovative .site-inner {
    padding-bottom: 0; }
  body.services.alignment-studies .bust-out:last-child,
  body.services.beal .bust-out:last-child,
  body.services.early-math-initiative .bust-out:last-child,
  body.services.innovative .bust-out:last-child {
    margin-bottom: 0; }

/* Spotlights
-------------------------------------------------------------------- */
body.spotlights,
body.spotlights.page-child {
  /* service list */ }
  body.spotlights section.list,
  body.spotlights.page-child section.list {
    margin-top: 50px; }
    body.spotlights section.list .group,
    body.spotlights.page-child section.list .group {
      display: grid;
      grid-template-columns: 1fr 1fr 1fr;
      grid-gap: 20px;
      justify-content: inherit;
      align-items: inherit;
      margin: 0;
      padding: 0;
      /* Edge support */
      /* IE11 support */ }
      body.spotlights section.list .group.two-column,
      body.spotlights.page-child section.list .group.two-column {
        grid-template-columns: 1fr 1fr; }
      body.spotlights section.list .group.no-bg .item,
      body.spotlights.page-child section.list .group.no-bg .item {
        background-color: transparent;
        padding: 0; }
      @supports (-ms-ime-align: auto) {
        body.spotlights section.list .group,
        body.spotlights.page-child section.list .group {
          display: flex;
          flex-wrap: wrap; } }
      @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
        body.spotlights section.list .group,
        body.spotlights.page-child section.list .group {
          display: flex;
          flex-wrap: wrap; } }
      body.spotlights section.list .group .item,
      body.spotlights.page-child section.list .group .item {
        background-color: #ECF1F4;
        margin: 0;
        padding: 30px;
        /* Edge support */
        /* IE11 support */ }
        @supports (-ms-ime-align: auto) {
          body.spotlights section.list .group .item,
          body.spotlights.page-child section.list .group .item {
            flex: 1 1 25%;
            max-width: 270px;
            margin: 20px; } }
        @media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
          body.spotlights section.list .group .item,
          body.spotlights.page-child section.list .group .item {
            flex: 1 1 25%;
            max-width: 270px;
            margin: 20px; } }
        body.spotlights section.list .group .item.assessment-design-toolkit,
        body.spotlights.page-child section.list .group .item.assessment-design-toolkit {
          background: #ECF1F4 url("../images/icon-assessment-design-toolkit.svg") no-repeat 30px 30px; }
        body.spotlights section.list .group .item.science-assessment-item-collaborative,
        body.spotlights.page-child section.list .group .item.science-assessment-item-collaborative {
          background: #ECF1F4 url("../images/icon-science-assessment-item-collaborative.svg") no-repeat 30px 30px; }
        body.spotlights section.list .group .item.essa,
        body.spotlights.page-child section.list .group .item.essa {
          background: #ECF1F4 url("../images/icon-essa.svg") no-repeat 30px 30px; }
        body.spotlights section.list .group .item.peer-review,
        body.spotlights.page-child section.list .group .item.peer-review {
          background: #ECF1F4 url("../images/icon-peer-review.svg") no-repeat 30px 30px; }
        body.spotlights section.list .group .item.culturally-responsive,
        body.spotlights.page-child section.list .group .item.culturally-responsive {
          background: #ECF1F4 url("../images/icon-culturally-responsive.svg") no-repeat 30px 30px; }
        body.spotlights section.list .group .item.formative-assessment-in-action,
        body.spotlights.page-child section.list .group .item.formative-assessment-in-action {
          background: #ECF1F4 url("../images/icon-formative-assessment-in-action.svg") no-repeat 30px 30px; }
        body.spotlights section.list .group .item.native-american,
        body.spotlights.page-child section.list .group .item.native-american {
          background: #ECF1F4 url("../images/icon-native-american.svg") no-repeat 30px 30px; }
        body.spotlights section.list .group .item.innovative-assessment,
        body.spotlights.page-child section.list .group .item.innovative-assessment {
          background: #ECF1F4 url("../images/icon-innovative-assessment.svg") no-repeat 30px 30px; }
        body.spotlights section.list .group .item.testing-action-plan,
        body.spotlights.page-child section.list .group .item.testing-action-plan {
          background: #ECF1F4 url("../images/icon-testing-action-plan.svg") no-repeat 30px 30px; }
        body.spotlights section.list .group .item.formative-assessment,
        body.spotlights.page-child section.list .group .item.formative-assessment {
          background: #ECF1F4 url("../images/icon-formative-assessment.svg") no-repeat 30px 30px; }
        body.spotlights section.list .group .item.formative-assessment-state,
        body.spotlights.page-child section.list .group .item.formative-assessment-state {
          background: #ECF1F4 url("../images/icon-formative-assessment-state.svg") no-repeat 30px 30px; }
        body.spotlights section.list .group .item.capacity,
        body.spotlights.page-child section.list .group .item.capacity {
          background: #ECF1F4 url("../images/icon-capacity.svg") no-repeat 30px 30px; }
        body.spotlights section.list .group .item.stage,
        body.spotlights.page-child section.list .group .item.stage {
          background: #ECF1F4 url("../images/icon-stage.svg") no-repeat 30px 30px; }
        body.spotlights section.list .group .item.asv,
        body.spotlights.page-child section.list .group .item.asv {
          background: #ECF1F4 url("../images/icon-asv.svg") no-repeat 30px 30px; }
        body.spotlights section.list .group .item.sif,
        body.spotlights.page-child section.list .group .item.sif {
          background: #ECF1F4 url("../images/icon-sif.svg") no-repeat 30px 30px; }
      body.spotlights section.list .group h3,
      body.spotlights.page-child section.list .group h3 {
        font-family: "Roboto";
        font-size: 21px;
        line-height: 32px;
        font-weight: 700;
        margin: 0 0 15px 0;
        padding: 80px 0 0 0; }
        body.spotlights section.list .group h3 a,
        body.spotlights.page-child section.list .group h3 a {
          display: block;
          text-decoration: none;
          color: #2B3A69; }
    @media screen and (max-width: 900px) {
      body.spotlights section.list .group,
      body.spotlights.page-child section.list .group {
        display: block; }
        body.spotlights section.list .group .item,
        body.spotlights.page-child section.list .group .item {
          max-width: none;
          margin-bottom: 20px; } }

/* Spotlights / Subpages
-------------------------------------------------------------------- */
body.spotlights.page-child h2 {
  text-align: left;
  margin: 40px 0 20px 0; }
  body.spotlights.page-child h2:first-child {
    margin-top: 0; }

body.spotlights.page-child .group h3 {
  font-family: "Roboto";
  font-size: 21px;
  line-height: 32px;
  font-weight: 700;
  color: #314476; }

body.spotlights.page-child p.btn-container {
  text-align: center;
  margin: 50px 0;
  padding: 0; }

/* Spotlights / Subpages / Standards Implementation Framework
-------------------------------------------------------------------- */
body.spotlights.page-child.sif {
  /* tabs */ }
  body.spotlights.page-child.sif .site-inner,
  body.spotlights.page-child.sif .content {
    max-width: 1200px; }
  body.spotlights.page-child.sif .intro {
    max-width: 970px;
    margin: 0 auto; }
    body.spotlights.page-child.sif .intro h2 {
      font-size: 21px;
      line-height: 32px;
      font-weight: 700;
      margin: 40px 0 15px 0;
      padding: 0; }
    body.spotlights.page-child.sif .intro ul {
      margin-top: 0; }
  body.spotlights.page-child.sif .responsive-tabs-wrapper {
    margin: 60px 0;
    padding: 0; }
    body.spotlights.page-child.sif .responsive-tabs-wrapper .responsive-tabs__list {
      width: 1173px;
      margin: 0;
      padding: 0; }
    body.spotlights.page-child.sif .responsive-tabs-wrapper .responsive-tabs__list__item {
      top: 0;
      font-size: 14px;
      line-height: 22px;
      color: #777;
      border: 1px solid #494949;
      border-bottom: none;
      border-left-width: 0;
      text-align: center;
      border-radius: 0;
      border-top-left-radius: 6px;
      border-top-right-radius: 6px;
      margin: 0;
      padding: 10px 15px; }
      body.spotlights.page-child.sif .responsive-tabs-wrapper .responsive-tabs__list__item:nth-child(1) {
        background-color: #fdecdf;
        border-left-width: 1px; }
      body.spotlights.page-child.sif .responsive-tabs-wrapper .responsive-tabs__list__item:nth-child(2) {
        background-color: #e2f3e4; }
      body.spotlights.page-child.sif .responsive-tabs-wrapper .responsive-tabs__list__item:nth-child(3) {
        background-color: #e9ecf4; }
      body.spotlights.page-child.sif .responsive-tabs-wrapper .responsive-tabs__list__item:nth-child(4) {
        background-color: #fff7d8; }
      body.spotlights.page-child.sif .responsive-tabs-wrapper .responsive-tabs__list__item:nth-child(5) {
        background-color: #d9ecf7; }
      body.spotlights.page-child.sif .responsive-tabs-wrapper .responsive-tabs__list__item:nth-child(6) {
        background-color: #f8e9e9; }
      body.spotlights.page-child.sif .responsive-tabs-wrapper .responsive-tabs__list__item.responsive-tabs__list__item--active {
        color: #000; }
    body.spotlights.page-child.sif .responsive-tabs-wrapper .responsive-tabs__panel {
      border: none;
      width: 1137px;
      margin: 0;
      padding: 0; }
  body.spotlights.page-child.sif table {
    /* Alignment Transition */
    /* Curriculum */
    /* Assessment */
    /* Professional Development */
    /* Leveraging Content Connections */
    /* Communication */ }
    body.spotlights.page-child.sif table th, body.spotlights.page-child.sif table td {
      font-size: 14px;
      line-height: 18px;
      color: #373737; }
      body.spotlights.page-child.sif table th p, body.spotlights.page-child.sif table th li, body.spotlights.page-child.sif table td p, body.spotlights.page-child.sif table td li {
        font-size: 14px;
        line-height: 18px;
        color: #373737; }
      body.spotlights.page-child.sif table th ul, body.spotlights.page-child.sif table td ul {
        list-style: none;
        margin: 0 0 0 20px;
        padding: 0; }
        body.spotlights.page-child.sif table th ul li, body.spotlights.page-child.sif table td ul li {
          position: relative;
          margin: 0 0 5px 0;
          padding: 0; }
    body.spotlights.page-child.sif table th {
      border-bottom-width: 0;
      border: 1px solid #494949;
      text-align: center;
      vertical-align: middle;
      padding: 5px; }
    body.spotlights.page-child.sif table td {
      vertical-align: top;
      border: 1px solid #494949;
      padding: 5px; }
    body.spotlights.page-child.sif table tr:nth-child(1) th:nth-child(1) {
      border-right-width: 0; }
    body.spotlights.page-child.sif table tr:nth-child(1) th:nth-child(2) {
      border-left-width: 0; }
    body.spotlights.page-child.sif table .rowhead {
      vertical-align: middle;
      text-align: center;
      width: 1%; }
      body.spotlights.page-child.sif table .rowhead div {
        max-width: 32px; }
      body.spotlights.page-child.sif table .rowhead h3 {
        transform: rotate(270deg);
        transform-origin: 50% 50%;
        width: 235px;
        height: 235px;
        text-align: center;
        font-size: 18px;
        line-height: 16px;
        color: #494949;
        margin: 0;
        padding: 7px 0 0 0; }
    body.spotlights.page-child.sif table.alignment_transition thead {
      background-color: #fdecdf; }
    body.spotlights.page-child.sif table.alignment_transition tbody {
      background-color: #f59855; }
    body.spotlights.page-child.sif table.curriculum thead {
      background-color: #e2f3e4; }
    body.spotlights.page-child.sif table.curriculum tbody {
      background-color: #70c276; }
    body.spotlights.page-child.sif table.assessment thead {
      background-color: #e9ecf4; }
    body.spotlights.page-child.sif table.assessment tbody {
      background-color: #9ba7cb; }
    body.spotlights.page-child.sif table.professional_development thead {
      background-color: #fff7d8; }
    body.spotlights.page-child.sif table.professional_development tbody {
      background-color: #ffe061; }
    body.spotlights.page-child.sif table.content_connections thead {
      background-color: #d9ecf7; }
    body.spotlights.page-child.sif table.content_connections tbody {
      background-color: #4da8d9; }
    body.spotlights.page-child.sif table.communication thead {
      background-color: #f8e9e9; }
    body.spotlights.page-child.sif table.communication tbody {
      background-color: #dc9092; }

/* Tools / State of States
-------------------------------------------------------------------- */
body.state-of-states {
  /* app needs more width */ }
  body.state-of-states .site-inner {
    max-width: none; }
    body.state-of-states .site-inner .content {
      max-width: none; }
  body.state-of-states iframe {
    min-height: 800px; }

/* Tools / Assessment Visualizer
-------------------------------------------------------------------- */
body.assessment-v {
  /* app needs more width */ }
  body.assessment-v .site-inner {
    max-width: none; }
    body.assessment-v .site-inner .content {
      max-width: none; }

/* Tabby (copied from plugins since we're turning off their entire stylesheet to avoid mobile styling)
-------------------------------------------------------------------- */
.responsive-tabs .responsive-tabs__heading {
  display: none; }

.responsive-tabs .responsive-tabs__list__item {
  display: inline;
  cursor: pointer; }

.responsive-tabs-wrapper {
  clear: both;
  margin-bottom: 20px;
  zoom: 1; }

.responsive-tabs-wrapper:before,
.responsive-tabs-wrapper:after {
  content: "";
  display: table; }

.responsive-tabs-wrapper:after {
  clear: both; }

.responsive-tabs .responsive-tabs__heading:focus,
.responsive-tabs .responsive-tabs__list__item:focus {
  outline: 1px solid transparent; }

.responsive-tabs .responsive-tabs__heading--active:focus,
.responsive-tabs .responsive-tabs__list__item--active:focus {
  outline: none; }

.responsive-tabs ul.responsive-tabs__list {
  font-size: 18px;
  line-height: 18px;
  margin: 20px 0 0 12px;
  padding: 0; }

.responsive-tabs .responsive-tabs__list__item {
  background: transparent;
  border: 1px solid transparent;
  border-bottom: none;
  -webkit-border-top-left-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  -moz-border-radius-topleft: 3px;
  -moz-border-radius-topright: 3px;
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
  color: #999;
  font-size: 18px;
  line-height: 19px;
  text-transform: inherit;
  margin: 1px 12px 0 0;
  padding: 10px 12px 10px;
  white-space: nowrap;
  float: left;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.responsive-tabs .responsive-tabs__list__item .fa {
  margin-right: 8px;
  line-height: 0.8; }

.responsive-tabs .responsive-tabs__list__item:hover {
  color: #333;
  background: transparent; }

.responsive-tabs .responsive-tabs__list__item--active,
.responsive-tabs .responsive-tabs__list__item--active:hover {
  background: #fff;
  border-color: #ddd;
  color: #666;
  padding-bottom: 11px;
  margin-top: 0;
  position: relative;
  top: 1px; }

.responsive-tabs .responsive-tabs__panel {
  background: #fff;
  border: 1px solid #ddd;
  border-top: 1px solid #ddd;
  -webkit-border-radius: 0px;
  -moz-border-radius: 0px;
  border-radius: 0px;
  -webkit-border-top-left-radius: 0px;
  -moz-border-radius-topleft: 0px;
  border-top-left-radius: 0px;
  clear: left;
  margin-bottom: 0;
  padding: 20px 20px 0;
  word-wrap: break-word; }

.responsive-tabs .responsive-tabs__panel:after {
  content: "";
  display: block;
  height: 0;
  clear: both; }

@media (min-width: 768px) {
  .responsive-tabs .responsive-tabs__panel--closed-accordion-only {
    display: block; } }

/* Formative Insights
-------------------------------------------------------------------- */
body.single-formative-insight .insight_featured_image img {
  width: 100%; }

/* Help
-------------------------------------------------------------------- */
body.help h2 {
  margin: 40px 0 10px 0; }

body.help h3 {
  font-size: 22px;
  margin: 30px 0 10px 0; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3ZlcnJpZGVzLmNzcyIsInNvdXJjZXMiOlsib3ZlcnJpZGVzLnNjc3MiLCJfbWl4aW5zLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfdHlwZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbk1hc3RlciBTQVNTIGFsYSBqam9obnNAd2VzdGVkLm9yZ1xuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKiBNaXhpbnMgKi9cbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLyogVmFyaWFibGVzICovXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbi8qIFR5cG9ncmFwaHkgKi9cbkBpbXBvcnQgXCJ0eXBlXCI7XG5cblxuLyogTGF5b3V0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keSB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi4vaW1hZ2VzL2JnLnBuZ1wiKSByZXBlYXQteCAwIDA7XG59XG5cbi53cmFwIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogJGxpbWl0LW1heC13aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5nZW5lc2lzLXNraXAtbGluayBsaSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLndpZGdldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmVudHJ5LWhlYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogJGxpbWl0LW1heC13aWR0aDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5zaXRlLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAkbGltaXQtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiA2MHB4IDIwcHg7XG59XG5cblxuLyogTGF5b3V0IC8gSGVhZGVyICYgTmF2XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnNpdGUtaGVhZGVyIHtcbiAgei1pbmRleDogOTk5O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiAwIDEycHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgLndyYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogJGxpbWl0LW1heC13aWR0aDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gIH1cblxuICAvKiBoaWRpbmcgZGVmYXVsdCBzaXRlIGxvZ28gKi9cbiAgLnRpdGxlLWFyZWEge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5oZWFkZXItd2lkZ2V0LWFyZWEge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAvKiBtb2JpbGUgbG9nbyAoaGlkZSBhdCBkZXNrdG9wKSAqL1xuICAgICNjdXN0b21faHRtbC00IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIFxuICAgIC8qIHV0aWwgbmF2ICovXG4gICAgI2N1c3RvbV9odG1sLTUge1xuXG4gICAgICB1bCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogN3B4IDhweCA2cHggOHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8qIGRyb3Bkb3duICovXG4gICAgICAgICAgdWwuc3ViLW1lbnUge1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDhweCAxMnB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMDtcbiAgXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgXG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LXRleHQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgICAgICAgICAgIH1cbiAgXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbiAgLyogbWFpbiBuYXYgKi9cbiAgLm5hdi1wcmltYXJ5IHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICB1bCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA1NXB4IDAgMCAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2Vjb25kYXJ5LWZvbnQ7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMzNweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0O1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMCAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLyogc2l0ZSBsb2dvICovXG4gICAgICAgICYubmF2LWhvbWUge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmc6IDEycHggMDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvbG9nby1jc2FhLnN2Z1wiKSBuby1yZXBlYXQgMCAwO1xuICAgICAgICAgICAgd2lkdGg6IDQxMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDExcHggMTAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGhpZGUgYXQgZGVza3RvcCAqL1xuICAgICAgICAmLm5hdi1hYm91dCxcbiAgICAgICAgJi5uYXYtbmV3cy1ldmVudHMsXG4gICAgICAgICYubmF2LWNvbnRhY3QsXG4gICAgICAgICYubmF2LXN1YnNjcmliZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIGRyb3Bkb3duICovXG4gICAgICAgIHVsLnN1Yi1tZW51IHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICBib3gtc2hhZG93OiA4cHggMTJweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4zNSk7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMDtcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbW9iaWxlLWJyZWFrKSB7XG5cbiAgICAud3JhcCB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgfVxuXG4gICAgLmhlYWRlci13aWRnZXQtYXJlYSB7XG5cbiAgICAgIC8qIGhpZGUgdXRpbCBhbmQgcHJpbWFyeSBuYXYgYXQgbW9iaWxlICovXG4gICAgICAubmF2LXByaW1hcnksXG4gICAgICAjY3VzdG9tX2h0bWwtNSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC8qIHNob3cgbW9iaWxlIGxvZ28gKi9cbiAgICAgICNjdXN0b21faHRtbC00IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5tb2JpbGUtbG9nbyB7XG4gICAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDAgMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC8qIGhhbWJ1cmdsYXIgKi9cbiAgICAubWVudS10b2dnbGUge1xuICAgICAgY29sb3I6ICRwcmltYXJ5LXRleHQ7XG4gICAgICBwYWRkaW5nOiAwIDEwcHggMzBweCAwO1xuICAgIH1cblxuICAgIC8qIG1vYmlsZSBuYXYgKi9cbiAgICAubmF2LXByaW1hcnkge1xuXG4gICAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8qIHNob3cgYXQgbW9iaWxlICovXG4gICAgICAgICAgJi5uYXYtYWJvdXQsXG4gICAgICAgICAgJi5uYXYtbmV3cy1ldmVudHMsXG4gICAgICAgICAgJi5uYXYtY29udGFjdCxcbiAgICAgICAgICAmLm5hdi1zdWJzY3JpYmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5uYXYtaG9tZSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcblxuICAgICAgICAgICAgLyogaGlkZSBwYXJlbnQgbGluaywgb25seSBzaG93IGNoaWxkcmVuICovXG4gICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdWItbWVudS10b2dnbGUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvKiBhdXRvbWF0aWNhbGx5IHNob3cgZHJvcGRvd25zIGF0IG1vYmlsZSAqL1xuICAgICAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1vYmlsZS1icmVhaykge1xuICBib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG5cbn1cblxuLyogZml4ZXMgV1AgYWRtaW4gYmFyIG92ZXJyZWFjaCAqL1xuYm9keS5hZG1pbi1iYXIge1xuICBodG1sIHsgbWFyZ2luLXRvcDogMDsgfVxuICAuc2l0ZS1oZWFkZXIgeyB0b3A6IDA7IH1cbn1cblxuXG4vKiBMYXlvdXQgLyBIZXJvXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmhlcm8td3JhcCB7XG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWdyZWVuIHVybChcIi4uL2ltYWdlcy9oZXJvLWJnLnBuZ1wiKSBuby1yZXBlYXQgdG9wIHJpZ2h0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgaDEge1xuICAgIG1heC13aWR0aDogODUwcHg7XG4gICAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udDtcbiAgICBmb250LXNpemU6IDQ4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDU4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nOiA1MHB4IDAgNTBweCAwO1xuICB9XG5cbiAgLmhlcm8tY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA2NTBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwIDIwcHggNTBweCAyMHB4O1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIH1cblxuICAgICAgYS5idG4ge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogJHByaW1hcnktZ3JlZW47XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMnB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDI1cHg7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBwLmJ0bi1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMjBweCAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbW9iaWxlLWJyZWFrKSB7XG5cbiAgICAgIHAgYS5idG4ge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG4gIGgxICsgLmhlcm8tY29udGVudCB7XG4gICAgbWFyZ2luLXRvcDogLTQwcHg7XG4gIH1cblxufVxuXG4vKiBoaWRlIGgxICovXG5ib2R5LmhvbWUge1xuXG4gIC5oZXJvLXdyYXAgaDEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5cbiAgLmhlcm8td3JhcCBoMSArIC5oZXJvLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxufVxuXG5cbi8qIEhlcm8gLyBNZXRhc2xpZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keS5ob21lIHtcblxuICAuaGVyby13cmFwIC5oZXJvLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLm1ldGFzbGlkZXIge1xuXG4gICAgICAuY2FwdGlvbi13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG5cbiAgICAgIC8qIElFMTEgc3VwcG9ydCAqL1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICAgLmNhcHRpb24td3JhcCB7IGp1c3RpZnktY29udGVudDogaW5oZXJpdDsgfVxuICAgICAgfVxuXG4gICAgICAuY2FwdGlvbiB7XG4gICAgICAgIG1heC13aWR0aDogNzUwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA0OHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDEycHggMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyogZ2l2ZSBwaG90byBhIGRhcmtlciBhcHBlYXJhbmNlICovXG4gICAgICBsaSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBvcGFjaXR5OiAuNzU7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAuZmxleC1jb250cm9sLW5hdiB7XG4gICAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgfVxuXG4gICAgICAuZmxleC1jb250cm9sLXBhZ2luZyB7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhLmZsZXgtYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbW9iaWxlLWJyZWFrKSB7XG5cbiAgICAgICAgLmNhcHRpb24ge1xuICAgICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG5cbiAgICAgICAgLmZsZXgtY29udHJvbC1wYWdpbmcge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0OTBweCkge1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxufVxuXG5cbi8qIExheW91dCAvIEZvb3RlclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5mb290ZXItd2lkZ2V0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTJBM0Q7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICAud3JhcCB7XG4gICAgbWF4LXdpZHRoOiAkbGltaXQtbWF4LXdpZHRoO1xuICAgIHBhZGRpbmc6IDQwcHggMjBweDtcbiAgfVxuXG4gIC5mb290ZXItd2lkZ2V0LWFyZWEge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjVweDtcbiAgICBjb2xvcjogI0I1QzFDQztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAjQjVDMUNDO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbn1cblxuLnNpdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vKiBHbG9iYWxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cbi8qIGhpZGUgYWxhIEJvb3RzdHJhcCAqL1xuLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDtcbn1cbi5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsXG4uc3Itb25seS1mb2N1c2FibGU6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vKiBHcmF2aXR5IEZvcm0gKi9cbi5nZm9ybV93cmFwcGVyIHtcblxuICAudG9wX2xhYmVsIGRpdi5naW5wdXRfY29udGFpbmVyIHtcbiAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gIH1cblxuICBsYWJlbCwgbGFiZWwuZ2ZpZWxkX2xhYmVsIHtcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMjRweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgfVxuXG4gIGlucHV0LCB0ZXh0YXJlYSwgc2VsZWN0IHtcbiAgICBib3JkZXItY29sb3I6ICM1NDZCODU7XG4gIH1cblxuICBzZWxlY3Qge1xuICAgIGhlaWdodDogMzZweDtcbiAgfVxuXG4gIC5naW5wdXRfY29udGFpbmVyX2NoZWNrYm94IHtcblxuICAgIGlucHV0IHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbjogNXB4IDVweCAwIDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgfVxuXG4gIC5nZm9ybV9mb290ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgaW5wdXQuYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgICAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMTBweCAyNXB4O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogLjc1O1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxufVxuXG4vKiBidXN0IG91dCB0ZWNobmlxdWUgKGZ1bGwgd2lkdGggZWxlbWVudHMpICovXG4uYnVzdC1vdXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYyg1MHZ3IC0gNTAlKSk7XG4gIG1hcmdpbjogYXV0byBjYWxjKDUwJSAtIDUwdncpO1xuICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gIHBhZGRpbmc6IDA7XG59XG4uYnVzdC1vdXQtY29udGVudCB7XG4gIHdpZHRoOiA5NDBweDsgLyogbWF0Y2ggLmVudHJ5LWNvbnRlbnQgd2lkdGggKi9cbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDEwMHB4IDA7XG59XG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGltaXQtbWF4LXdpZHRoKSB7XG4gIC5idXN0LW91dC1jb250ZW50IHtcbiAgICB3aWR0aDogOTQlO1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB9XG59XG5cbi8qIHNob3cgaGlkZSAqL1xuLmFjY29yZGlvbiB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICRwcmltYXJ5LWxpbms7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb24tYWNjb3JkaW9uLWNsb3NlZC5zdmdcIikgbm8tcmVwZWF0IDEwcHggMzBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDI1cHggMTBweCAyNXB4IDQwcHg7XG5cbiAgICAmLm9wZW4ge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb24tYWNjb3JkaW9uLW9wZW5lZC5zdmdcIikgbm8tcmVwZWF0IDEwcHggNDBweDtcbiAgICB9XG5cbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEycHggNDBweDtcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICB1bCwgb2wge1xuICAgICAgbWFyZ2luOiAwIDAgMCAyMHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgfVxuXG59XG5cbi8qIGJ1dHRvbnMgKi9cbmEuYnRuIHtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBsaW5lLWhlaWdodDogMjFweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICNmZmY7XG4gIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1ncmVlbjtcbiAgYm9yZGVyLXJhZGl1czogMzJweDtcbiAgcGFkZGluZzogMTBweCAyNXB4O1xufVxuXG5zZWN0aW9uIHtcblxuICAmLnNoYWRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hhZGU7XG4gIH1cblxufVxuXG4vKiBRdW90ZXMgKi9cbmJsb2NrcXVvdGUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjMjYzMjVDO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICMyNjMyNUM7XG4gIGJhY2tncm91bmQ6ICNEQUU0RUEgdXJsKFwiLi4vaW1hZ2VzL2ljb24tcXVvdGUtZGFyay5zdmdcIikgMTVweCAxNXB4IG5vLXJlcGVhdDtcbiAgbWFyZ2luOiAzMHB4IDA7XG4gIHBhZGRpbmc6IDE4cHggMjBweCAyMHB4IDYwcHg7XG5cbiAgcCB7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIG1hcmdpbjogMCAwIDEycHggMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbn1cblxuXG4vKiBIb21lXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keS5ob21lIHtcblxuICAuZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5pdGVtIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gIH1cblxuICAvKiBTdWJzY3JpYmUgKi9cbiAgc2VjdGlvbi5zdWJzY3JpYmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWdyZWVuO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAuYnVzdC1vdXQtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDA7XG4gICAgfVxuXG4gICAgcCwgYSB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmljb24ge1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogOTBweDtcbiAgICAgICAgaGVpZ2h0OiA5MHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICAvKiBtaWRkbGUgKi9cbiAgc2VjdGlvbi5taWRkbGUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGgyIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAzNTBweDtcbiAgICAgICAgaGVpZ2h0OiAzNTBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hhZGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIDQwcHggMCAwO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICBzZWN0aW9uLm1pZGRsZS5zaGFkZSAuaWNvbiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMCAwIDAgNDBweDtcbiAgfVxuXG4gIC8qIE5ld3MgJiBFdmVudHMgKi9cbiAgc2VjdGlvbi5uZXdzLWV2ZW50cyB7XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW4tdG9wOiAxMDBweDtcbiAgICB9XG5cbiAgICAucGlwLXdyYXAge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LG1pbm1heCgxNTBweCwxZnIpKTtcbiAgICAgIGdyaWQtY29sdW1uLWdhcDogMjBweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIC5waXAge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hhZGU7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNDVweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC5tZXRhIHtcblxuICAgICAgICAucG9zdC1jYXRlZ29yeSwgdGltZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICB0aW1lIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkcHJpbWFyeS10ZXh0O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgICAgICAgJi50YWdzIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5LXRleHQ7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAxMHB4IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbW9iaWxlLWJyZWFrKSB7XG5cbiAgICAgIC5waXAtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIC5waXAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGUtYnJlYWspIHtcblxuICAgIC5idXN0LW91dC5taWRkbGUge1xuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG59XG5cblxuLyogQWJvdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5ib2R5LmFib3V0IHtcblxuICAvKiB3aGVuIGJ1c3Qtb3V0IGlzIGxhc3QgZWxlbWVudCBvbiBwYWdlICovXG4gIC5lbnRyeSB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnNpdGUtaW5uZXIgeyBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuYnVzdC1vdXQ6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuICBzZWN0aW9uLmludHJvIHtcblxuICAgIC8qIGludHJvICovXG4gICAgLmdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICBpbWcge1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLml0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIGZsZXg6IDEgMSA2NSU7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICBmbGV4OiAxIDEgMzUlO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC53aG8ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRjFGNDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udDtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICMxOTJBM0Q7XG4gICAgICAgIG1hcmdpbjogMCAwIDM1cHggMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjMTkyQTNEO1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbW9iaWxlLWJyZWFrKSB7XG5cbiAgICAgIC5ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIC5pdGVtLFxuICAgICAgICAuaXRlbTpudGgtY2hpbGQoMSksXG4gICAgICAgIC5pdGVtOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICAvKiBleHBlcnRpc2UgKi9cbiAgc2VjdGlvbi5leHBlcnRpc2Uge1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmLmJpbyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4OyAgXG4gICAgICB9XG4gICAgICBcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG4gICAgICBcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luOiAwIDAgMzBweCA1MHB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbW9iaWxlLWJyZWFrKSB7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICB9XG4gICAgXG4gIH1cblxuICBzZWN0aW9uLmNvbGxhYm9yYXRpb24ge1xuXG4gICAgcC5xdW90ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1xdW90ZS5zdmdcIikgbm8tcmVwZWF0IDAgOHB4O1xuICAgICAgbWFyZ2luOiAwIDAgNTBweCAwO1xuICAgICAgcGFkZGluZzogMCAwIDAgOTBweDtcblxuICAgICAgc3Bhbi5zb3VyY2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGUtYnJlYWspIHtcblxuICAgICAgcC5xdW90ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCA0MHB4IDUwcHggNDBweDtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn1cblxuXG4vKiBOZXdzICYgRXZlbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keS5uZXdzLWV2ZW50cyB7XG5cbiAgLmdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5pdGVtIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICB9XG5cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgZmxleDogMSAxIDIwMHB4O1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmJsb2ctcG9zdHMge1xuICAgICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICB9XG5cbiAgICAucG9zdC1jYXRlZ29yeSwgdGltZSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIHRpbWUge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRwcmltYXJ5LXRleHQ7XG4gICAgICAvLyBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgfVxuXG4gICAgLyogcG9zdHMgKi9cbiAgICB1bC5wb3N0LWxpc3Qge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW46IDAgMCA1MHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMCAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcblxuICAgICAgICAmLnRhZ3Mge1xuICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnktdGV4dDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRjFGNDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4IDEwcHggMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLyogbGlua3MgKi9cbiAgICBwLm90aGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAwIDMwcHggMzBweDtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIHVsLm90aGVyIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzk3OTc5NztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDMwcHg7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGUtYnJlYWspIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAuaXRlbTpudGgtY2hpbGQoMikge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk3OTc5NztcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIHAub3RoZXIge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn1cblxuXG4vKiBOZXdzICYgRXZlbnRzIC8gRGV0YWlsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keS5zaW5nbGUtcG9zdCB7XG5cbiAgLnR3by10aGlyZHMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDYwcHggMCAwO1xuICB9XG5cbiAgLm9uZS10aGlyZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAwIDMwcHg7XG5cbiAgICAvKiBsaW5rcyAqL1xuICAgIHAub3RoZXIge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDAgMzBweCAzMHB4O1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICAucG9zdC1jYXRlZ29yeSwgdGltZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICB0aW1lIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkcHJpbWFyeS10ZXh0O1xuICAgIC8vIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gIH1cblxuICBoMiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDEwcHggMCAxMHB4IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIHAge1xuXG4gICAgJi50YWdzIHtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5LXRleHQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VDRjFGNDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweCAxMHB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGUtYnJlYWspIHtcblxuICAgIC5vbmUtdGhpcmQsXG4gICAgLnR3by10aGlyZHMge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLm9uZS10aGlyZCB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzk3OTc5NztcbiAgICAgIG1hcmdpbjogMzBweCAwIDAgMDtcbiAgICAgIHBhZGRpbmc6IDMwcHggMCAwIDA7XG5cbiAgICAgIHAub3RoZXIge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbn1cblxuXG4vKiBOZXdzICYgRXZlbnRzIC8gQ2F0ICYgVGFnXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keS5jYXRlZ29yeSxcbmJvZHkudGFnIHtcblxuICAuZW50cnktaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW46IDAgMCA4cHggMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJHByaW1hcnktbGluaztcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG4gIC5lbnRyeS1mb290ZXIge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgcC5lbnRyeS1tZXRhIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRUNGMUY0O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICAgIG1hcmdpbjogMCA1cHggMTBweCAwO1xuICAgICAgcGFkZGluZzogNnB4IDEycHg7XG4gICAgfVxuXG4gICAgLmVudHJ5LWNhdGVnb3JpZXMsIC5lbnRyeS10YWdzIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLmVudHJ5LWNhdGVnb3JpZXM6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiQ2F0ZWdvcmllczogXCI7XG4gICAgfVxuXG4gICAgLmVudHJ5LXRhZ3M6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiVGFnczogXCI7XG4gICAgfVxuXG4gIH1cblxufVxuXG4vLyBib2R5LmNhdGVnb3J5IC5lbnRyeS1jYXRlZ29yaWVzIHtcbi8vICAgZGlzcGxheTogbm9uZTtcbi8vIH1cblxuLy8gYm9keS50YWcgLmVudHJ5LXRhZ3Mge1xuLy8gICBkaXNwbGF5OiBub25lO1xuLy8gfVxuXG5cbi8qIENvbnRhY3Rcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5ib2R5LmNvbnRhY3Qge1xuXG4gIC5lbnRyeS1jb250ZW50IHtcblxuICAgIGgyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC8qIHRoYW5rIHlvdSAqL1xuICAgIC5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIG1hcmdpbjogMTI1cHggMCAwIDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGUtYnJlYWspIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgaDIge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiA1MHB4IDAgMCAwO1xuICAgICAgfVxuXG4gICAgICBwIHtcblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAtMjBweDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxufVxuXG5cbi8qIFN1YnNjcmliZVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJvZHkuc3Vic2NyaWJlIHtcblxuICAuYXJjaGl2ZSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbjogMCAwIDMwcHggMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLyogdGhhbmsgeW91ICovXG4gIC5nZm9ybV9jb25maXJtYXRpb25fd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgbWFyZ2luOiAxMjVweCAwIDAgMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbn1cblxuXG4vKiBSZXNvdXJjZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5ib2R5LnJlc291cmNlcyB7XG5cbiAgLmVudHJ5LWNvbnRlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIH1cblxuICAvKiBmaWx0ZXJzICovXG4gIC5yZXNvdXJjZS1maWx0ZXJzIHtcbiAgICB3aWR0aDogMzAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICRwcmltYXJ5LXRleHQ7XG4gICAgfVxuXG4gIH1cblxuICAvKiByZXNvdXJjZSBlbnRyaWVzICovXG4gIC5yZXNvdXJjZS1lbnRyaWVzIHtcbiAgICB3aWR0aDogNjUlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtb2JpbGUtYnJlYWspIHtcblxuICAgIC5yZXNvdXJjZS1maWx0ZXJzLFxuICAgIC5yZXNvdXJjZS1lbnRyaWVzIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gIH1cblxuICAvKiBSZXNvdXJjZSBpdGVtcyAqL1xuICAucmVzb3VyY2UtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyNjMyNUM7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250O1xuICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgXG4gICAgICAuZmVhdHVyZWQge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzMyN0MzNjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIH1cbiAgICAgIFxuICAgIH1cblxuICAgIHAuZXhjZXJwdCB7XG4gICAgICBtYXJnaW46IDEwcHggMCAyMHB4IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5pdGVtLW1haW4ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNzUlO1xuICAgIH1cblxuICAgIC5tZXRhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICB9XG5cbiAgICAgIC5md3AtbGluayB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtYXgtd2lkdGg6IDc1cHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgfVxuXG4gICAgLmRhdGU6OmFmdGVyLFxuICAgIC50ZXJtOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb250ZW50OiAnXFwwMGI3JztcbiAgICB9XG5cbiAgICAuZGF0ZSB7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC50ZXJtIHtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDVweDtcbiAgICAgIH1cbiAgICAgICY6bGFzdC1vZi10eXBlOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG5cbiAgLyogRmFjZXRXUCBVSSBlbGVtZW50cyAqL1xuICAuZmFjZXR3cC1jb3VudHMsXG4gIC5mYWNldHdwLXNlbGVjdGlvbnMsXG4gIC5mYWNldHdwLWNoZWNrYm94LFxuICAuZmFjZXR3cC1zb3J0IHNlbGVjdCxcbiAgLmZhY2V0d3AtdHlwZS1zZWFyY2ggaW5wdXQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICBjb2xvcjogJHByaW1hcnktdGV4dDtcbiAgfVxuXG4gIC5mYWNldHdwLWZhY2V0IHtcblxuICAgICYuZmFjZXR3cC10eXBlLWNoZWNrYm94ZXMgeyAvLyBjaGVja2JveCBncm91cCB3cmFwcGVyXG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIC5mYWNldHdwLWNoZWNrYm94IHsgLy8gY2hlY2tib3ggc2luZ2xlIGVsZW1lbnRcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9yZXNvdXJjZXMtaWNvbi1jaGVja2JveC5wbmdcIikgMCA1MCUgbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNHB4IDE0cHg7XG4gICAgfVxuXG4gICAgLmZhY2V0d3AtY2hlY2tib3guY2hlY2tlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvcmVzb3VyY2VzLWljb24tY2hlY2tib3gtb24ucG5nXCIpO1xuICAgIH1cblxuICAgICYuZmFjZXR3cC10eXBlLXNlYXJjaCB7IC8vIHNlYXJjaCBib3hcbiAgICAgIHdpZHRoOiA4MiU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAuZmFjZXR3cC1zZWFyY2gtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICAuZmFjZXR3cC1idG4geyAvLyBwb3NpdGlvbiBzZWFyY2ggYnV0dG9uXG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IC01MHB4O1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeS1saW5rO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9yZXNvdXJjZXMtaWNvbi1zZWFyY2guc3ZnXCIpO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4IDIwcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAuNzU7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuXG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG4gIC5mYWNldHdwLXBhZ2VyIHtcbiAgICB3aWR0aDogNjUlO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgYSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICB9XG5cbiAgLnJlc3VsdC1zb3J0LWJhciB7XG4gICAgd2lkdGg6IDY1JTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgIC5mYWNldHdwLWNvdW50cyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0O1xuICAgICAgLyogbWFyZ2luLWJvdHRvbTogMzBweDsgKi9cbiAgICB9XG5cbiAgICAuZmFjZXR3cC1zb3J0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1heC13aWR0aDogMTUwcHg7XG5cbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAuZmFjZXR3cC1zZWxlY3Rpb25zIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgfVxuXG4gICAgICAuZmFjZXR3cC1zZWxlY3Rpb24tbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuZmFjZXR3cC1zZWxlY3Rpb24tdmFsdWUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgcGFkZGluZzogN3B4IDMwcHggN3B4IDE1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9yZXNvdXJjZXMtaWNvbi1jbG9zZS13aGl0ZS5wbmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWxpbms7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEwcHggY2VudGVyO1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICAvKiByZXN1bHRzIHNvcnQgYmFyICovXG4gIC5yZXN1bHQtc29ydC1iYXIge1xuXG4gICAgLmZhY2V0d3Atc2VsZWN0aW9ucyAuZmFjZXR3cC1zZWxlY3Rpb24tdmFsdWUge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1vYmlsZS1icmVhaykge1xuXG4gICAgLnJlc3VsdC1zb3J0LWJhciB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAuZmFjZXR3cC1jb3VudHMsXG4gICAgICAuZmFjZXR3cC1zb3J0IHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnJlc291cmNlLWl0ZW0ge1xuXG4gICAgICAuaXRlbS1tYWluIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmZhY2V0d3AtcGFnZXIge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgfVxuXG59XG5cblxuLyogUmVzb3VyY2VzIC8gRGV0YWlsXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keS5zaW5nbGUtcmVzb3VyY2Uge1xuXG4gIC50d28tdGhpcmRzIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNjAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLm9uZS10aGlyZCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiAzNSU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuY29udGVudCB7XG5cbiAgICBoMiwgaDMge1xuICAgICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG4gICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwIDAgMTVweCAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHggMzBweDtcblxuICAgICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICAgIG9sIHtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHggMzBweDtcblxuICAgICAgbGkge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5yZXNvdXJjZS1jb21tZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hhZGU7XG4gICAgICBtYXJnaW46IDMwcHggMCAwIDA7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuXG4gICAgICBoMyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbiAgdWwucmVzb3VyY2UtaXRlbXMge1xuICAgIG1hcmdpbjogMDtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBoNCwgYSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLy8gY29udGVudDogJyc7XG4gICAgICAgIC8vIHdpZHRoOiAxMHB4O1xuICAgICAgICAvLyBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIC8vIGJhY2tncm91bmQ6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL2dlbmVzaXMtbXVsdGkvaW1hZ2VzL3VpL3JpZ2h0LWFycm93LnN2ZycpIG5vLXJlcGVhdDtcbiAgICAgICAgLy8gYmFja2dyb3VuZC1zaXplOiAxMHB4O1xuICAgICAgICAvLyBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxuICAvKiBzaWRlYmFyICovXG4gIC5yZXNvdXJjZS1tZXRhIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgbWFyZ2luOiAwIDAgMCAyMHB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG5cbiAgICBhLmJ0biB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMThweDtcblxuICAgICAgJi5hZGRsLXJlc291cmNlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbjogMjVweCAwIDhweCAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBwIHtcblxuICAgICAgJi5iYWNrIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcblxuICAgICAgICBhIHtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGNvbnRlbnQ6ICdcXDIxOTAnO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAmLnRlcm1zIHtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NDBweCkge1xuXG4gICAgLm9uZS10aGlyZCxcbiAgICAudHdvLXRoaXJkcyB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAucmVzb3VyY2UtbWV0YSB7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICAgICAgcGFkZGluZzogMzBweCAwIDAgMDtcblxuICAgICAgYS5idG4ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG59XG5cblxuLyogU2VydmljZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5ib2R5LnNlcnZpY2VzIHtcblxuICAuZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5pdGVtIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gIH1cblxuICAvKiBwcmV2ZW50IHdyYXBwaW5nICovXG4gIC5oZXJvLXdyYXAgaDEge1xuICAgIGZvbnQtc2l6ZTogNDNweDtcbiAgfVxuXG4gIHVsLmludHJvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMTJweDtcbiAgICB9XG5cbiAgfVxuXG4gIC8qIFN1YnNjcmliZSAqL1xuICBzZWN0aW9uLnN1YnNjcmliZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW1hcnktZ3JlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5idXN0LW91dC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgICB9XG5cbiAgICBwLCBhIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG4gIC8qIHNlcnZpY2UgbGlzdCAqL1xuICBzZWN0aW9uLmxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuXG4gICAgLmdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyO1xuICAgICAgZ3JpZC1nYXA6IDIwcHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGluaGVyaXQ7XG4gICAgICBhbGlnbi1pdGVtczogaW5oZXJpdDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIC8qIEVkZ2Ugc3VwcG9ydCAqL1xuICAgICAgQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cblxuICAgICAgLyogSUUxMSBzdXBwb3J0ICovXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB9XG5cbiAgICAgIC5pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNoYWRlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICAgICAgLyogRWRnZSBzdXBwb3J0ICovXG4gICAgICAgIEBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuICAgICAgICAgIGZsZXg6IDEgMSAyNSU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyNzBweDtcbiAgICAgICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAvKiBJRTExIHN1cHBvcnQgKi9cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpLCAoLW1zLWhpZ2gtY29udHJhc3Q6IG5vbmUpIHtcbiAgICAgICAgICBmbGV4OiAxIDEgMjUlO1xuICAgICAgICAgIG1heC13aWR0aDogMjcwcHg7XG4gICAgICAgICAgbWFyZ2luOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5LXRleHQ7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA4MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hbGlnbm1lbnQge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29uLXNlcnZpY2VzLWFsaWdubWVudC5zdmdcIikgbm8tcmVwZWF0IDEwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYXNzZXNzbWVudCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb24tc2VydmljZXMtYXNzZXNzbWVudC5zdmdcIikgbm8tcmVwZWF0IDEwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYmVhbCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb24tc2VydmljZXMtYmVhbC5zdmdcIikgbm8tcmVwZWF0IDEwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3RhbmRhcmRzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1zZXJ2aWNlcy1zdGFuZGFyZHMuc3ZnXCIpIG5vLXJlcGVhdCAxMHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlubm92YXRpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29uLXNlcnZpY2VzLWlubm92YXRpdmUuc3ZnXCIpIG5vLXJlcGVhdCAxMHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmVtaSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb24tc2VydmljZXMtZW1pLnN2Z1wiKSBuby1yZXBlYXQgMTBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5mb3JtYXRpdmUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29uLXNlcnZpY2VzLWZvcm1hdGl2ZS5zdmdcIikgbm8tcmVwZWF0IDEwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubmV4dC1nZW5lcmF0aW9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1zZXJ2aWNlcy1uZXh0LWdlbmVyYXRpb24uc3ZnXCIpIG5vLXJlcGVhdCAxMHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLm5leHQtZ2VuZXJhdGlvbi1lYXJseSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb24tc2VydmljZXMtbmV4dC1nZW5lcmF0aW9uLWVhcmx5LnN2Z1wiKSBuby1yZXBlYXQgMTBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5uZXh0LWdlbmVyYXRpb24tc2NpZW5jZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb24tc2VydmljZXMtbmV4dC1nZW5lcmF0aW9uLXNjaWVuY2Uuc3ZnXCIpIG5vLXJlcGVhdCAxMHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLnZpdGFsIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbi1zZXJ2aWNlcy12aXRhbC5zdmdcIikgbm8tcmVwZWF0IDEwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbW9iaWxlLWJyZWFrKSB7XG5cbiAgICAgIC5ncm91cCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIC5pdGVtIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICB9XG5cbiAgfVxuXG59XG5cblxuLyogU2VydmljZXMgLyBTdWJwYWdlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJvZHkuc2VydmljZXMucGFnZS1jaGlsZCB7XG5cbiAgLmhlcm8td3JhcCAuaGVyby1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6ICRsaW1pdC1tYXgtd2lkdGg7XG4gIH1cblxuICAuc2l0ZS1pbm5lciB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG4gIH1cblxuICAuZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC5pdGVtIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gIH1cblxuICBwLmNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgcC5xdW90ZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL2ljb24tcXVvdGUuc3ZnXCIpIG5vLXJlcGVhdCAwIDhweDtcbiAgICBtYXJnaW46IDAgMCA1MHB4IDA7XG4gICAgcGFkZGluZzogMCAwIDAgOTBweDtcblxuICAgIHNwYW4uc291cmNlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbW9iaWxlLWJyZWFrKSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCA0MHB4IDUwcHggNDBweDtcbiAgICB9XG5cbiAgfVxuXG59XG5cblxuLyogU2VydmljZXMgLyBBbGlnbm1lbnQgU3R1ZGllcywgQkVBTCwgRWFybHkgTWF0aCBJbml0aWF0aXZlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYm9keS5zZXJ2aWNlcy5hbGlnbm1lbnQtc3R1ZGllcyxcbmJvZHkuc2VydmljZXMuYmVhbCxcbmJvZHkuc2VydmljZXMuZWFybHktbWF0aC1pbml0aWF0aXZlLFxuYm9keS5zZXJ2aWNlcy5pbm5vdmF0aXZlIHtcblxuICAvKiB3aGVuIGJ1c3Qtb3V0IGlzIGxhc3QgZWxlbWVudCBvbiBwYWdlICovXG4gIC5lbnRyeSB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnNpdGUtaW5uZXIgeyBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAuYnVzdC1vdXQ6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxufVxuXG5cbi8qIFNwb3RsaWdodHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5ib2R5LnNwb3RsaWdodHMsXG5ib2R5LnNwb3RsaWdodHMucGFnZS1jaGlsZCB7XG5cbiAgLyogc2VydmljZSBsaXN0ICovXG4gIHNlY3Rpb24ubGlzdCB7XG4gICAgbWFyZ2luLXRvcDogNTBweDtcblxuICAgIC5ncm91cCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgIGdyaWQtZ2FwOiAyMHB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBpbmhlcml0O1xuICAgICAgYWxpZ24taXRlbXM6IGluaGVyaXQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmLnR3by1jb2x1bW4ge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICB9XG5cbiAgICAgICYubm8tYmcgLml0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLyogRWRnZSBzdXBwb3J0ICovXG4gICAgICBAc3VwcG9ydHMgKC1tcy1pbWUtYWxpZ246IGF1dG8pIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuXG4gICAgICAvKiBJRTExIHN1cHBvcnQgKi9cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtbXMtaGlnaC1jb250cmFzdDogYWN0aXZlKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIH1cblxuICAgICAgLml0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2hhZGU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMzBweDtcblxuICAgICAgICAvKiBFZGdlIHN1cHBvcnQgKi9cbiAgICAgICAgQHN1cHBvcnRzICgtbXMtaW1lLWFsaWduOiBhdXRvKSB7XG4gICAgICAgICAgZmxleDogMSAxIDI1JTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDI3MHB4O1xuICAgICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8qIElFMTEgc3VwcG9ydCAqL1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkge1xuICAgICAgICAgIGZsZXg6IDEgMSAyNSU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyNzBweDtcbiAgICAgICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFzc2Vzc21lbnQtZGVzaWduLXRvb2xraXQge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRzaGFkZSB1cmwoXCIuLi9pbWFnZXMvaWNvbi1hc3Nlc3NtZW50LWRlc2lnbi10b29sa2l0LnN2Z1wiKSBuby1yZXBlYXQgMzBweCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zY2llbmNlLWFzc2Vzc21lbnQtaXRlbS1jb2xsYWJvcmF0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2hhZGUgdXJsKFwiLi4vaW1hZ2VzL2ljb24tc2NpZW5jZS1hc3Nlc3NtZW50LWl0ZW0tY29sbGFib3JhdGl2ZS5zdmdcIikgbm8tcmVwZWF0IDMwcHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZXNzYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHNoYWRlIHVybChcIi4uL2ltYWdlcy9pY29uLWVzc2Euc3ZnXCIpIG5vLXJlcGVhdCAzMHB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnBlZXItcmV2aWV3IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2hhZGUgdXJsKFwiLi4vaW1hZ2VzL2ljb24tcGVlci1yZXZpZXcuc3ZnXCIpIG5vLXJlcGVhdCAzMHB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1bHR1cmFsbHktcmVzcG9uc2l2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHNoYWRlIHVybChcIi4uL2ltYWdlcy9pY29uLWN1bHR1cmFsbHktcmVzcG9uc2l2ZS5zdmdcIikgbm8tcmVwZWF0IDMwcHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZm9ybWF0aXZlLWFzc2Vzc21lbnQtaW4tYWN0aW9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2hhZGUgdXJsKFwiLi4vaW1hZ2VzL2ljb24tZm9ybWF0aXZlLWFzc2Vzc21lbnQtaW4tYWN0aW9uLnN2Z1wiKSBuby1yZXBlYXQgMzBweCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5uYXRpdmUtYW1lcmljYW4ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRzaGFkZSB1cmwoXCIuLi9pbWFnZXMvaWNvbi1uYXRpdmUtYW1lcmljYW4uc3ZnXCIpIG5vLXJlcGVhdCAzMHB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlubm92YXRpdmUtYXNzZXNzbWVudCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHNoYWRlIHVybChcIi4uL2ltYWdlcy9pY29uLWlubm92YXRpdmUtYXNzZXNzbWVudC5zdmdcIikgbm8tcmVwZWF0IDMwcHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYudGVzdGluZy1hY3Rpb24tcGxhbiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHNoYWRlIHVybChcIi4uL2ltYWdlcy9pY29uLXRlc3RpbmctYWN0aW9uLXBsYW4uc3ZnXCIpIG5vLXJlcGVhdCAzMHB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZvcm1hdGl2ZS1hc3Nlc3NtZW50IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2hhZGUgdXJsKFwiLi4vaW1hZ2VzL2ljb24tZm9ybWF0aXZlLWFzc2Vzc21lbnQuc3ZnXCIpIG5vLXJlcGVhdCAzMHB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmZvcm1hdGl2ZS1hc3Nlc3NtZW50LXN0YXRlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2hhZGUgdXJsKFwiLi4vaW1hZ2VzL2ljb24tZm9ybWF0aXZlLWFzc2Vzc21lbnQtc3RhdGUuc3ZnXCIpIG5vLXJlcGVhdCAzMHB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhcGFjaXR5IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2hhZGUgdXJsKFwiLi4vaW1hZ2VzL2ljb24tY2FwYWNpdHkuc3ZnXCIpIG5vLXJlcGVhdCAzMHB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnN0YWdlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2hhZGUgdXJsKFwiLi4vaW1hZ2VzL2ljb24tc3RhZ2Uuc3ZnXCIpIG5vLXJlcGVhdCAzMHB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFzdiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHNoYWRlIHVybChcIi4uL2ltYWdlcy9pY29uLWFzdi5zdmdcIikgbm8tcmVwZWF0IDMwcHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc2lmIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkc2hhZGUgdXJsKFwiLi4vaW1hZ2VzL2ljb24tc2lmLnN2Z1wiKSBuby1yZXBlYXQgMzBweCAzMHB4O1xuICAgICAgICB9XG4gICAgICAgICAgICAgICAgXG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHggMDtcbiAgICAgICAgcGFkZGluZzogODBweCAwIDAgMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgY29sb3I6ICMyQjNBNjk7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1vYmlsZS1icmVhaykge1xuXG4gICAgICAuZ3JvdXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAuaXRlbSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cblxufVxuXG5cbi8qIFNwb3RsaWdodHMgLyBTdWJwYWdlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJvZHkuc3BvdGxpZ2h0cy5wYWdlLWNoaWxkIHtcblxuICBoMiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDQwcHggMCAyMHB4IDA7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gIH1cblxuICAuZ3JvdXAgaDMge1xuICAgIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250O1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAkcHJpbWFyeS10ZXh0O1xuICB9XG5cbiAgcC5idG4tY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiA1MHB4IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG59XG5cblxuLyogU3BvdGxpZ2h0cyAvIFN1YnBhZ2VzIC8gU3RhbmRhcmRzIEltcGxlbWVudGF0aW9uIEZyYW1ld29ya1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJvZHkuc3BvdGxpZ2h0cy5wYWdlLWNoaWxkLnNpZiB7XG5cbiAgLnNpdGUtaW5uZXIsXG4gIC5jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgfVxuXG4gIC5pbnRybyB7XG4gICAgbWF4LXdpZHRoOiA5NzBweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBtYXJnaW46IDQwcHggMCAxNXB4IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICBcbiAgICB1bCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBcbiAgfVxuXG4gIC8qIHRhYnMgKi9cbiAgLnJlc3BvbnNpdmUtdGFicy13cmFwcGVyIHtcbiAgICBtYXJnaW46IDYwcHggMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLnJlc3BvbnNpdmUtdGFic19fbGlzdCB7XG4gICAgICB3aWR0aDogMTE3M3B4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAucmVzcG9uc2l2ZS10YWJzX19saXN0X19pdGVtIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgY29sb3I6ICM3Nzc7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDk0OTQ5O1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDZweDtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA2cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG5cbiAgICAgICY6bnRoLWNoaWxkKDEpIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZkZWNkZjsgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDsgfVxuICAgICAgJjpudGgtY2hpbGQoMikgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJmM2U0OyB9XG4gICAgICAmOm50aC1jaGlsZCgzKSB7IGJhY2tncm91bmQtY29sb3I6ICNlOWVjZjQ7IH1cbiAgICAgICY6bnRoLWNoaWxkKDQpIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjdkODsgfSAgICBcbiAgICAgICY6bnRoLWNoaWxkKDUpIHsgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZWNmNzsgfSAgICAgXG4gICAgICAmOm50aC1jaGlsZCg2KSB7IGJhY2tncm91bmQtY29sb3I6ICNmOGU5ZTk7IH1cbiAgICAgIFxuICAgICAgJi5yZXNwb25zaXZlLXRhYnNfX2xpc3RfX2l0ZW0tLWFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyAgXG4gICAgICB9XG4gICAgICBcbiAgICB9XG4gICAgXG4gICAgLnJlc3BvbnNpdmUtdGFic19fcGFuZWwge1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgd2lkdGg6IDExMzdweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICAgIFxuICB9XG4gIFxuICB0YWJsZSB7XG5cbiAgICB0aCwgdGQge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICBjb2xvcjogIzM3MzczNztcbiAgICAgICAgICAgIFxuICAgICAgcCwgbGkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4OyAgICAgICAgXG4gICAgICAgIGNvbG9yOiAjMzczNzM3O1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMjBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgNXB4IDA7XG4gICAgICAgICAgcGFkZGluZzogMDsgXG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICB9XG5cbiAgICB9IFxuXG4gICAgdGgge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0OTQ5NDk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgIH1cblxuICAgIHRkIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNDk0OTQ5OyAgICAgIFxuICAgICAgcGFkZGluZzogNXB4O1xuICAgIH1cblxuICAgIHRyOm50aC1jaGlsZCgxKSB0aDpudGgtY2hpbGQoMSkge1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIH1cblxuICAgIHRyOm50aC1jaGlsZCgxKSB0aDpudGgtY2hpbGQoMikge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgfVxuICAgICAgICBcbiAgICAucm93aGVhZCB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDElOyBcbiAgICAgIFxuICAgICAgZGl2IHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMnB4OyAgXG4gICAgICB9XG4gICAgICBcbiAgICAgIGgzIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMjcwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgICAgd2lkdGg6IDIzNXB4O1xuICAgICAgICBoZWlnaHQ6IDIzNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIGNvbG9yOiAjNDk0OTQ5O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDdweCAwIDAgMDtcbiAgICAgIH1cbiAgICAgIFxuICAgIH1cblxuICAgIC8qIEFsaWdubWVudCBUcmFuc2l0aW9uICovXG4gICAgJi5hbGlnbm1lbnRfdHJhbnNpdGlvbiB7XG4gICAgICB0aGVhZCB7IGJhY2tncm91bmQtY29sb3I6ICNmZGVjZGY7IH1cbiAgICAgIHRib2R5IHsgYmFja2dyb3VuZC1jb2xvcjogI2Y1OTg1NTsgfVxuICAgIH1cblxuICAgIC8qIEN1cnJpY3VsdW0gKi9cbiAgICAmLmN1cnJpY3VsdW0ge1xuICAgICAgdGhlYWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJmM2U0OyB9XG4gICAgICB0Ym9keSB7IGJhY2tncm91bmQtY29sb3I6ICM3MGMyNzY7IH1cbiAgICB9XG5cbiAgICAvKiBBc3Nlc3NtZW50ICovXG4gICAgJi5hc3Nlc3NtZW50IHtcbiAgICAgIHRoZWFkIHsgYmFja2dyb3VuZC1jb2xvcjogI2U5ZWNmNDsgfVxuICAgICAgdGJvZHkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjOWJhN2NiOyB9XG4gICAgfVxuXG4gICAgLyogUHJvZmVzc2lvbmFsIERldmVsb3BtZW50ICovXG4gICAgJi5wcm9mZXNzaW9uYWxfZGV2ZWxvcG1lbnQge1xuICAgICAgdGhlYWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmN2Q4OyB9XG4gICAgICB0Ym9keSB7IGJhY2tncm91bmQtY29sb3I6ICNmZmUwNjE7IH1cbiAgICB9XG5cbiAgICAvKiBMZXZlcmFnaW5nIENvbnRlbnQgQ29ubmVjdGlvbnMgKi9cbiAgICAmLmNvbnRlbnRfY29ubmVjdGlvbnMge1xuICAgICAgdGhlYWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZDllY2Y3OyB9XG4gICAgICB0Ym9keSB7IGJhY2tncm91bmQtY29sb3I6ICM0ZGE4ZDk7IH1cbiAgICB9XG5cbiAgICAvKiBDb21tdW5pY2F0aW9uICovXG4gICAgJi5jb21tdW5pY2F0aW9uIHtcbiAgICAgIHRoZWFkIHsgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZTllOTsgfVxuICAgICAgdGJvZHkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZGM5MDkyOyB9XG4gICAgfVxuICAgICAgICBcbiAgfVxuXG59XG5cblxuLyogVG9vbHMgLyBTdGF0ZSBvZiBTdGF0ZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5ib2R5LnN0YXRlLW9mLXN0YXRlcyB7XG5cbiAgLyogYXBwIG5lZWRzIG1vcmUgd2lkdGggKi9cbiAgLnNpdGUtaW5uZXIge1xuICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgIC5jb250ZW50IHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgfVxuXG4gIGlmcmFtZSB7XG4gICAgbWluLWhlaWdodDogODAwcHg7XG4gICAgLy8gYm9yZGVyOiAxcHggc29saWQgcmVkO1xuICB9XG5cbn1cblxuXG4vKiBUb29scyAvIEFzc2Vzc21lbnQgVmlzdWFsaXplclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJvZHkuYXNzZXNzbWVudC12IHtcblxuICAvKiBhcHAgbmVlZHMgbW9yZSB3aWR0aCAqL1xuICAuc2l0ZS1pbm5lciB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICB9XG5cbn1cblxuXG4vKiBUYWJieSAoY29waWVkIGZyb20gcGx1Z2lucyBzaW5jZSB3ZSdyZSB0dXJuaW5nIG9mZiB0aGVpciBlbnRpcmUgc3R5bGVzaGVldCB0byBhdm9pZCBtb2JpbGUgc3R5bGluZylcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4ucmVzcG9uc2l2ZS10YWJzIC5yZXNwb25zaXZlLXRhYnNfX2hlYWRpbmcge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ucmVzcG9uc2l2ZS10YWJzIC5yZXNwb25zaXZlLXRhYnNfX2xpc3RfX2l0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnJlc3BvbnNpdmUtdGFicy13cmFwcGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHpvb206IDE7XG59XG5cbi5yZXNwb25zaXZlLXRhYnMtd3JhcHBlcjpiZWZvcmUsXG4ucmVzcG9uc2l2ZS10YWJzLXdyYXBwZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnJlc3BvbnNpdmUtdGFicy13cmFwcGVyOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5yZXNwb25zaXZlLXRhYnMgLnJlc3BvbnNpdmUtdGFic19faGVhZGluZzpmb2N1cyxcbi5yZXNwb25zaXZlLXRhYnMgLnJlc3BvbnNpdmUtdGFic19fbGlzdF9faXRlbTpmb2N1cyB7XG4gIG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLnJlc3BvbnNpdmUtdGFicyAucmVzcG9uc2l2ZS10YWJzX19oZWFkaW5nLS1hY3RpdmU6Zm9jdXMsXG4ucmVzcG9uc2l2ZS10YWJzIC5yZXNwb25zaXZlLXRhYnNfX2xpc3RfX2l0ZW0tLWFjdGl2ZTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi5yZXNwb25zaXZlLXRhYnMgdWwucmVzcG9uc2l2ZS10YWJzX19saXN0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgbWFyZ2luOiAyMHB4IDAgMCAxMnB4O1xuICBwYWRkaW5nOiAwO1xufVxuXG4ucmVzcG9uc2l2ZS10YWJzIC5yZXNwb25zaXZlLXRhYnNfX2xpc3RfX2l0ZW0ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiAzcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1cy10b3ByaWdodDogM3B4O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjOTk5O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbiAgbWFyZ2luOiAxcHggMTJweCAwIDA7XG4gIHBhZGRpbmc6IDEwcHggMTJweCAxMHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBmbG9hdDogbGVmdDtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnJlc3BvbnNpdmUtdGFicyAucmVzcG9uc2l2ZS10YWJzX19saXN0X19pdGVtIC5mYSB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xuICBsaW5lLWhlaWdodDogMC44O1xufVxuXG4ucmVzcG9uc2l2ZS10YWJzIC5yZXNwb25zaXZlLXRhYnNfX2xpc3RfX2l0ZW06aG92ZXIge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5yZXNwb25zaXZlLXRhYnMgLnJlc3BvbnNpdmUtdGFic19fbGlzdF9faXRlbS0tYWN0aXZlLFxuLnJlc3BvbnNpdmUtdGFicyAucmVzcG9uc2l2ZS10YWJzX19saXN0X19pdGVtLS1hY3RpdmU6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICNkZGQ7XG4gIGNvbG9yOiAjNjY2O1xuICBwYWRkaW5nLWJvdHRvbTogMTFweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDFweDtcbn1cblxuLnJlc3BvbnNpdmUtdGFicyAucmVzcG9uc2l2ZS10YWJzX19wYW5lbCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDBweDtcbiAgLW1vei1ib3JkZXItcmFkaXVzOiAwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDBweDtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1cy10b3BsZWZ0OiAwcHg7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDBweDtcbiAgY2xlYXI6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi5yZXNwb25zaXZlLXRhYnMgLnJlc3BvbnNpdmUtdGFic19fcGFuZWw6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xuICBjbGVhcjogYm90aDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cbiAgLnJlc3BvbnNpdmUtdGFicyAucmVzcG9uc2l2ZS10YWJzX19wYW5lbC0tY2xvc2VkLWFjY29yZGlvbi1vbmx5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5cbi8qIEZvcm1hdGl2ZSBJbnNpZ2h0c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJvZHkuc2luZ2xlLWZvcm1hdGl2ZS1pbnNpZ2h0IHtcbiAgXG4gIC5pbnNpZ2h0X2ZlYXR1cmVkX2ltYWdlIHtcbiAgICBcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBcbiAgICB9XG4gICAgXG4gIH1cbiAgXG59XG5cblxuLyogSGVscFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbmJvZHkuaGVscCB7XG5cbiAgaDIge1xuICAgIG1hcmdpbjogNDBweCAwIDEwcHggMDtcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbWFyZ2luOiAzMHB4IDAgMTBweCAwO1xuICB9XG5cbn1cblxuXG4iLCIvKiBNaXhpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5cblxuXG5cblxuLyogQGluY2x1ZGUgY2xlYXJmaXg7XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1peGluIGNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG5cbiIsIi8qIFZhcmlhYmxlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLyogYnJlYWsgcG9pbnRzICovXG4kbGltaXQtbWF4LXdpZHRoOiA5NzBweDtcbiRtb2JpbGUtYnJlYWs6IDkwMHB4O1xuXG4vKiB0ZXh0ICovXG4kcHJpbWFyeS1mb250OiBcIlJvYm90b1wiO1xuJHNlY29uZGFyeS1mb250OiBcIlJvYm90byBDb25kZW5zZWRcIjtcblxuJHByaW1hcnktdGV4dDogIzMxNDQ3NjtcblxuLyogbGlua3MgKi9cbiRwcmltYXJ5LWxpbms6ICMzMjdDMzY7XG5cbi8qIGNvbG9ycyAqL1xuJGJvcmRlci1jb2xvcjogIzU0NkI4NTtcbiRwcmltYXJ5LWdyZWVuOiAjMzI3QzM2O1xuJHNoYWRlOiAjRUNGMUY0OyIsIi8qIFR5cG9ncmFwaHlcblxuR29vZ2xlIEZvbnRzIC8gUm9ib3RvIDMwMCwgNDAwLCA1MDAsIDcwMFxuR29vZ2xlIEZvbnRzIC8gUm9ib3RvIENvbmRlbnNlZCA0MDBcblxuXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiUm9ib3RvXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAkcHJpbWFyeS10ZXh0O1xufVxuXG5cbmEge1xuICBjb2xvcjogJHByaW1hcnktbGluaztcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgJjpob3ZlciwgJjphY3RpdmUge1xuICAgIG9wYWNpdHk6IC43NTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIC8vIG91dGxpbmU6IG5vbmU7XG4gICAgLy8gY29sb3I6ICNmZmY7XG4gIH1cblxufVxuXG5oMSwgaDEuZW50cnktdGl0bGUge1xuICBmb250LWZhbWlseTogJHNlY29uZGFyeS1mb250O1xuICBmb250LXNpemU6IDQ4cHg7XG4gIGxpbmUtaGVpZ2h0OiA3MnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogJHByaW1hcnktdGV4dDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIHBhZGRpbmc6IDUwcHggMCAwIDA7XG59XG5cbmgyIHtcbiAgZm9udC1mYW1pbHk6ICRzZWNvbmRhcnktZm9udDtcbiAgZm9udC1zaXplOiA0OHB4O1xuICBsaW5lLWhlaWdodDogNTdweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICRwcmltYXJ5LXRleHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luOiAwIDAgNjBweCAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5oMyB7XG4gIGZvbnQtZmFtaWx5OiAkcHJpbWFyeS1mb250O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogJHByaW1hcnktdGV4dDtcbiAgbWFyZ2luOiAyMHB4IDAgNXB4IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbnAge1xuICBmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICRwcmltYXJ5LXRleHQ7XG4gIG1hcmdpbjogMCAwIDE0cHggMDtcbiAgcGFkZGluZzogMDtcbn1cblxudWwsXG4uZW50cnktY29udGVudCB1bCB7XG4gIG1hcmdpbjogMzBweCAwIDMwcHggMjRweDtcbiAgcGFkZGluZzogMDtcblxuICBsaSB7XG4gICAgZm9udC1mYW1pbHk6ICRwcmltYXJ5LWZvbnQ7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICRwcmltYXJ5LXRleHQ7XG4gICAgbWFyZ2luOiAwIDAgOHB4IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMjBweCAwIDIwcHggNDBweDtcbiAgICB9XG5cbiAgfVxuXG59XG5cbm9sIHtcbiAgbWFyZ2luOiAxMHB4IDAgMTVweCAyNXB4O1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpIHtcbiAgICBmb250LWZhbWlseTogJHByaW1hcnktZm9udDtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogJHByaW1hcnktdGV4dDtcbiAgICBtYXJnaW46IDAgMCA4cHggMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbn1cblxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuXG4iXSwibmFtZXMiOltdLCJtYXBwaW5n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 */
