#sn-history-slider .slider {
    position: relative;
    overflow-x: scroll;
    min-height: 120px; }
    #sn-history-slider .slider:hover {
      cursor: -webkit-grab; }
  
  #sn-history-slider .slider.dragging {
    cursor: -webkit-grabbing !important; }
  
  #sn-history-slider .slider::-webkit-scrollbar {
    display: none; }
    .page-id-11469 section#business-growth {
      padding-bottom: 10px;
  }
  
  #sn-history-slider .timeline {
    display: inline-flex;
    position: absolute;
    left: 22%;
    margin: 0; }
  
  #sn-history-slider .marker-outter {
    display: block;
    height: 100px;
    background-position: bottom center;
    background-image: url(/wp-content/themes/supply-nation-theme/images/line.png);
    background-repeat: no-repeat;
    z-index: 100; }
  
  #sn-history-slider .right-fade {
    pointer-events: none;
    z-index: 1;
    right: 0;
    position: absolute;
    display: block;
    height: 120px;
    width: 400px;
    background-position: bottom center;
    background-image: url(/wp-content/themes/supply-nation-theme/images/fade.png);
    background-repeat: no-repeat; }
  
  #sn-history-slider .marker {
    position: relative;
    border: none;
    background-color: transparent;
    color: #026ef3;
    font-family: "museo-sans", sans-serif;
    font-size: 14px;
    font-weight: 500;
    width: 55px;
    height: 55px;
    margin: 0 10px;
    transition: all 0.5s ease;
    cursor: pointer; }
  
  #sn-history-slider .marker > * {
    transition: all 0.5s ease; }
  
  #sn-history-slider .marker span.date {
    font-weight: 500;
    display: block;
    transform: rotate(-45deg);
    pointer-events: none; }
  
  #sn-history-slider .marker.active > *,
  #sn-history-slider .marker.active {
    font-weight: 700 !important;
    transition: all 0.5s ease !important; }
  
  #sn-history-slider .line-bg {
    border: 1px solid #cbd1e2;
    border: 1px solid rgba(203, 209, 226, 0.5);
    -webkit-background-clip: padding-box;
    /* for Safari */
    background-clip: padding-box;
    /* for IE9+, Firefox 4+, Opera, Chrome */
    position: absolute;
    margin: 0;
    top: 100px;
    left: 0;
    right: 0;
    border-radius: 50px;
    background: #fff; }
  
  #sn-history-slider .line-fg {
    border: none;
    border-top-right-radius: 50px;
    border-bottom-right-radius: 50px;
    position: relative;
    margin: 0;
    top: 0;
    left: 0;
    border-top-left-radius: 50px;
    border-bottom-left-radius: 50px;
    background: #026ef3;
    height: 13px;
    width: 0px;
    transition: all 0.5s ease; }
  
  #sn-history-slider .sn-history-card {
    display: block;
    z-index: 1;
    border-radius: 5px;
    position: relative;
    background: white;
    max-width: 660px;
    margin: 60px auto;
    right: 0;
    box-shadow: 0 5px 10px rgba(2, 110, 243, 0.1);
    padding: 20px;
    text-align: left;
    height: auto;
    width: 100%;
    transition: all 0.3s ease; }
  
  #sn-history-slider .sn-history-card .description {
    color: #5e5e5e !important;
    line-height: 30px !important;
    font-size: 16px !important;
    margin-bottom: 0; }
  
  #sn-history-slider div.year h1 {
    font-family: "Montserrat" !important;
    font-weight: 500 !important;
    color: #70aff9 !important;
    opacity: 0.1;
    position: absolute;
    top: -5px;
    left: 106px;
    letter-spacing: -2px;
    z-index: 0;
    transition: all 0.3s ease; }
  
  #sn-history-slider .sn-history-content {
    margin-top: 40px; }
  
  #sn-history-slider button.marker.active:focus {
    outline: none !important; }
  
  #sn-history-slider button.marker {
    outline: none !important; }
  
  *,
  *:before,
  *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
  
  @media screen and (min-width: 768px) {
    h1,
    h2,
    h3,
    h4 {
      font-weight: 700 !important; } }
  
  h1 {
    color: #4c4c4c !important;
    font-weight: 400 !important;
    font-size: 2rem; }
    @media screen and (min-width: 768px) {
      h1 {
        font-size: 4.5rem;
        font-weight: 700 !important; } }
  
  .uk-container ol {
    font-weight: 300 !important; }
  
  .uk-container ul {
    font-weight: 300 !important; }
  
  h2,
  h3 {
    color: #4c4c4c !important;
    font-weight: 700 !important; }
  
  h3 {
    color: #4c4c4c !important;
    font-weight: normal !important; }
  
  p {
    line-height: 30px !important;
    font-weight: 300; }
  
  .lead-paragraph {
    font-size: 24px; }
  
  .title-red {
    color: #dc0b40; }
  
  .perks-description strong {
    color: #dc0b40;
    font-weight: 400; }
  
  .uk-box-shadow-small {
    box-shadow: 0 5px 15px rgba(2, 110, 243, 0.1) !important; }
  
  .uk-card-default {
    background: #fff;
    box-shadow: 0 5px 15px rgba(2, 110, 243, 0.1); }
  
  a.uk-icon {
    color: #dc0b40; }
    a.uk-icon :hover {
      color: #c40a39; }
  
  .uk-container--large {
    max-width: 1200px;
    margin: 0 auto; }
  
  .uk-container--small {
    max-width: 780px;
    margin: 0 auto;
    padding: 0 30px; }
  
  .uk-container--x-small {
    max-width: 600px;
    margin: 0 auto;
    padding: 0 30px; }
  
  .uk-grid-small {
    justify-content: center; }
  
  .section-background {
    position: relative; }
    .section-background:before {
      display: none !important;
      content: "";
      background-image: url("../../themes/supply-nation-theme/images/section-background.png");
      background-size: 100%;
      background-repeat: no-repeat;
      width: 631px;
      height: 530px;
      position: absolute;
      left: -160px;
      top: 50%;
      transform: translateY(-50%); }
    @media screen and (min-width: 640px) {
      .section-background:before {
        display: block !important; } }
  
  .section-background--right {
    position: relative; }
    .section-background--right:before {
      display: none !important;
      content: "";
      background-image: url("../../themes/supply-nation-theme/images/section-background--right.png");
      background-size: 100%;
      background-repeat: no-repeat;
      width: 169px;
      height: 413px;
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      z-index: -1; }
    @media screen and (min-width: 640px) {
      .section-background--right:before {
        display: block !important; } }
  
  #benefits .section-background:before {
    left: -75px; }
  
  .uk-button-large, .mainmenu ul li.button a {
    display: inline-block !important;
    text-align: center;
    margin: 0 auto;
    text-decoration: none;
    font-family: "museo-sans", sans-serif;
    border: none !important;
    border-radius: 50px !important;
    border: 1px solid #dc0b40 !important;
    box-shadow: 0 5px 10px rgba(255, 10, 10, 0.2) !important;
    cursor: pointer;
    transition: all 0.3s ease !important; }
    .uk-button-large:hover, .mainmenu ul li.button a:hover {
      transform: scale(1.05);
      text-decoration: none;
      box-shadow: 0 5px 30px rgba(255, 10, 10, 0.2) !important; }
  
  .uk-navbar-right {
    margin-right: 16px; }
  
  .uk-sticky-fixed {
    transition: all 0.2s ease;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1); }
  
  span.uk-icon:not(.sn-search-icon) {
    background: #3f98b6;
    padding: 8px;
    border-radius: 100%;
    color: white;
    width: 36px !important; }
  
  .uk-navbar--footer {
    align-items: center; }
    .uk-navbar--footer p {
      margin: 0; }
  
  .sn-footer-nav p {
    margin: 0; }
  
  .sn-footer-nav ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .sn-footer-nav ul li {
      margin: 0;
     }
    .site-footer__bottom__menu li {
        padding-right: 4px;
      }
    .site-footer__bottom__menu a:hover {
        text-decoration: underline;
    }  
  .sn-footer-nav--nav {
    align-items: center; }
  
  .sn-footer-nav--social {
    align-items: center; }
    @media screen and (max-width: 767px) {
      .sn-footer-nav--social {
        padding-top: 40px; } }
    .sn-footer-nav--social ul li {
      margin: 0;
      padding-right: 10px;}
  
  li.current-menu-item > a {
    color: #dc0b40 !important; }
  
  section#home-hero,
  section#home-slider {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    padding: 0 !important; }
  
  section#home-slider .uk-cover {
    top: 50%; }
  
  @media screen and (max-width: 900px) {
    section#home-slider {
      display: none; } }
  
  @media screen and (max-width: 768px) {
    section#popular-categories .uk-card {
      width: 260px; } }
  
  section#home-hero {
    position: relative;
    width: 100%;
    background: #fff; }
  
  .home-hero--container {
    background: white;
    padding-bottom: 30px !important;
    background-image: url(images/home-banner-bg-dots.png);
    background-size: 88px 174px;
    background-repeat: no-repeat;
    background-position: right center; }
    @media screen and (min-width: 0px) and (max-width: 960px) {
      .home-hero--container {
        background: none; } }
    @media screen and (min-width: 768px) {
      .home-hero--container {
        height: 600px;
        padding-bottom: 0px !important; } }
  
  .home-hero--content {
    margin: 20px 20px 0; }
    .home-hero--content h1 {
      font-size: 1.75rem; }
    @media screen and (min-width: 640px) {
      .home-hero--content {
        margin: 60px 60px 0; }
        .home-hero--content h1 {
          font-size: 2.25rem; } }
    @media screen and (min-width: 1200px) {
      .home-hero--content h1 {
        font-size: 4rem; } }
    .home-hero--content p {
      max-width: 65ch; }
  
  #sn-home-search #sn-input-query,
  #sn-home-search #sn-input-location {
    font-weight: 300;
    padding: 25px 0; }
  
  @media screen and (max-width: 768px) {
    .input__field {
      background: white;
      box-shadow: 0 28px 43px rgba(0, 0, 0, 0.11);
      border-radius: 50px;
      border: 1px solid #dae5f6 !important;
      width: 100% !important;
      padding: 25px 40px !important;
      margin-bottom: 15px; } }
  
  #sn-home-search span.input.input--sn {
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
    z-index: 1 !important;
    height: auto !important; }
    @media screen and (min-width: 768px) {
      #sn-home-search span.input.input--sn {
        position: relative;
        display: inline-block;
        box-shadow: 0 28px 43px rgba(0, 0, 0, 0.11) !important;
        height: 72px;
        max-width: 616px;
        width: 100%;
        background: white;
        border-radius: 50px;
        padding: 0px 40px !important;
        font-size: 16px;
        margin: 20px auto !important;
        text-align: left;
        border: 1px solid #dae5f6 !important; } }
    @media screen and (max-width: 1025px) and (min-width: 960px) {
      #sn-home-search span.input.input--sn {
        padding: 7px 0 7px 20px !important;
        background: transparent !important;
        border-radius: 100px !important;
        overflow: hidden;
        background: white !important; } }
  
  .category-carousel {
    display: flex;
    flex-wrap: nowrap !important;
    overflow: auto; }
    .category-carousel a {
      text-decoration: none !important; }
    @media screen and (min-width: 640px) {
      .category-carousel {
        flex-wrap: wrap !important;
        overflow: visible; } }
  
  #curve {
    position: absolute;
    bottom: -2px;
    left: -2px;
    right: 0;
    padding: 0;
    pointer-events: none;
    background: transparent; }
  
  section#submenu {
    padding: 0;
    box-shadow: none;
    font-size: 12px;
    text-transform: uppercase;
    transition: all 0.3 ease; }
    section#submenu.uk-sticky-fixed {
      background: white !important; }
    section#submenu li {
      padding: 20px 24px 0;
      transition: all 0.3 ease; }
    section#submenu li.uk-active:after {
      content: " ";
      border: 2px solid #dc0b40;
      display: inline-block;
      width: 100%;
      border-radius: 2px; }
  
  footer {
    box-shadow: 0 -5px 10px rgba(2, 110, 243, 0.1);
    background: white; }
  
  .fake-shadow {
    display: block;
    background: white;
    width: 100%;
    height: 0px;
    box-shadow: 0 -4px 10px rgba(2, 110, 243, 0.1);
    border-top: 1px solid #f8f8f8; }
  
  .benefits-card h2 {
    font-size: 16px;
    color: #3a97b5 !important; }
  
  .benefits-card p {
    font-size: 14px; }
  
  section#single-story-header {
    min-height: 500px;
    background: #f5f9fe; }
  
  section#single-story-content-1 {
    background: white; }
    section#single-story-content-1 h2 {
      margin-bottom: 30px !important; }
  
  section#single-story-content-2 {
    padding: 0;
    background: #f5f9fe; }
    section#single-story-content-2 h3 {
      margin-top: 60px;
      margin-bottom: 30px !important; }
  
  .single-story-video {
    margin-top: 40px; }
  
  .single-story-video > * {
    width: 100% !important; }
  
  section#story-next-story {
    padding-bottom: 0; }
    section#story-next-story h2 {
      margin-bottom: 60px; }
  
  a.story-slideshow-nav,
  a.team-slider-nav {
    padding: 0 20px;
    color: #dc0b40 !important;
    position: relative !important;
    margin-top: 40px; }
  
  a.team-slider-nav {
    margin: 20px; }
  
  a.team-slider-nav.uk-invisible {
    opacity: 0.1 !important; }
  
  .sn-prev > *,
  .sn-next > * {
    display: none; }
  
  .sn-prev:hover,
  .sn-next:hover {
    transform: translate(5px, 0px); }
  
  .sn-prev {
    opacity: 1;
    background: url("../../themes/supply-nation-theme/images/prev.svg");
    background-repeat: no-repeat;
    background-position: center;
    width: 30px;
    height: 20px;
    transition: all 0.5s ease; }
  
  .sn-next {
    opacity: 1;
    background: url("../../themes/supply-nation-theme/images/next.svg");
    background-repeat: no-repeat;
    background-position: center;
    width: 30px;
    height: 20px;
    transition: all 0.5s ease; }
  
  a.uk-position-small.sn-prev.uk-slidenav-previous.uk-icon.uk-slidenav.uk-invisible,
  a.uk-position-small.sn-next.uk-slidenav-next.uk-icon.uk-slidenav.uk-invisible {
    visibility: visible !important;
    opacity: 0.1 !important; }
  
  section#about-intro p {
    line-height: 30px !important;
    color: #3b3b3b !important; }
  
  .team-switchers {
    justify-content: center;
    margin-bottom: 75px; }
  
  .team-member-card {
    height: 300px;
    padding: 10px 10px 30px; }
    .team-member-card .team-member-name {
      color: #ed688a;
      font-family: "museo-sans";
      font-weight: 700;
      margin: 8px auto;
      line-height: 1.5 !important; }
    .team-member-card .team-member-company {
      margin: 8px auto;
      color: #3b3b3b;
      font-size: 14px;
      font-family: "museo-sans";
      font-weight: 500;
      line-height: 1.5 !important; }
    .team-member-card .team-member-position {
      margin: 8px auto;
      color: #3b3b3b;
      font-size: 14px;
      font-family: "museo-sans";
      font-weight: 300;
      line-height: 1.5 !important; }
    .team-member-card .team-member-picture {
      pointer-events: none;
      background-color: #fafafa;
      width: 100%;
      height: 177px;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center; }
  
  section#team.uk-slider-items > * {
    width: 100% !important; }
  
  .about-page-li p {
    margin: 0; }
  
  section#profile-selection .uk-container {
    max-width: 780px; }
    section#profile-selection .uk-container .uk-card {
      border-radius: 5px;
      padding: 40px 40px 20px; }
      section#profile-selection .uk-container .uk-card .uk-card-title {
        font-weight: 500 !important; }
      section#profile-selection .uk-container .uk-card p {
        font-weight: 300;
        line-height: 25px; }
      section#profile-selection .uk-container .uk-card a.sn-next {
        padding: 0 30px 50px; }
  
  .red-ochre-partner-image {
    position: absolute;
    width: 100px;
    z-index: 2;
    top: -16px;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto; }
  
  section#perks {
    padding-top: 80px; }
    section#perks .uk-card-body {
      padding: 30px; }
    section#perks .uk-card-default {
      border-radius: 10px; }
    section#perks p {
      margin-bottom: 0; }
  
  section#registration .uk-card-default {
    border-radius: 10px; }
  
  .supplier-levels-line {
    display: none;
    flex-wrap: wrap;
    width: 473px;
    margin: 30px auto;
    text-align: center; }
    @media (min-width: 960px) {
      .supplier-levels-line {
        display: flex; } }
    .supplier-levels-line div {
      width: calc(50% - 1px);
      height: 45px;
      border-color: #026ef3;
      border-style: dashed; }
      .supplier-levels-line div:nth-child(1) {
        border-width: 0 1px 0 0; }
      .supplier-levels-line div:nth-child(2) {
        border-width: 0; }
      .supplier-levels-line div:nth-child(3) {
        border-width: 1px 0 0 1px; }
      .supplier-levels-line div:nth-child(4) {
        border-width: 1px 1px 0 0; }
  
  section#supplier-benefits .supplier-benefits--tabs {
    margin-left: auto;
    width: 250px;
    padding: 0;
    display: flex; }
    section#supplier-benefits .supplier-benefits--tabs .tab {
      background: #dc0b40;
      color: white;
      text-align: center;
      width: 125px;
      padding: 20px 0;
      border-top-left-radius: 10px;
      border-top-right-radius: 10px; }
      section#supplier-benefits .supplier-benefits--tabs .tab:first-child {
        background: #f5821f;
        margin-right: 1px; }
  
  section#supplier-benefits ul:after {
    content: "";
    position: absolute;
    border-right: 1px dashed rgba(217, 30, 63, 0.3);
    right: 125px;
    top: 0;
    height: 100%; }
  
  section#supplier-benefits ul:before {
    content: "";
    position: absolute;
    border-right: 1px dashed rgba(217, 30, 63, 0.3);
    right: 250px;
    top: 0;
    height: 100%; }
  
  section#supplier-benefits li.supplier-benefit {
    margin-left: 30px;
    position: relative;
    list-style: none !important;
    padding: 35px 0 20px;
    border-bottom: 0.5px solid rgba(63, 152, 182, 0.3); }
    section#supplier-benefits li.supplier-benefit:last-child {
      border-bottom: 0; }
    section#supplier-benefits li.supplier-benefit .supplier-desc {
      padding-right: 280px; }
    section#supplier-benefits li.supplier-benefit p {
      max-width: 586px; }
    section#supplier-benefits li.supplier-benefit .check-mark--reg {
      position: absolute;
      display: inherit;
      top: 0;
      bottom: 0;
      width: 110px;
      height: 120px;
      right: 10px;
      margin: auto; }
    section#supplier-benefits li.supplier-benefit .check-mark--reg > img {
      text-align: center;
      margin: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0; }
    section#supplier-benefits li.supplier-benefit .check-mark--cert {
      position: absolute;
      display: inherit;
      top: 0;
      bottom: 0;
      width: 110px;
      height: 120px;
      right: 135px;
      margin: auto; }
    section#supplier-benefits li.supplier-benefit .check-mark--cert > img {
      text-align: center;
      margin: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0; }
  
  section#benefits ul:after {
    content: "";
    position: absolute;
    border-right: 1px dashed rgba(63, 152, 182, 0.3);
    right: 125px;
    top: 16px;
    height: calc(100% - 42px); }
  
  section#benefits li.corporate-benefit {
    position: relative;
    list-style: none !important;
    padding: 35px 0 20px;
    border-bottom: 0.5px solid rgba(63, 152, 182, 0.3); }
    section#benefits li.corporate-benefit .corporate-desc {
      padding-right: 120px; }
    section#benefits li.corporate-benefit p {
      max-width: 586px;
      margin-left: 30px; }
    section#benefits li.corporate-benefit .check-mark {
      position: absolute;
      display: inherit;
      top: 0;
      bottom: 0;
      width: 110px;
      height: 120px;
      right: 0;
      margin: auto; }
    section#benefits li.corporate-benefit .check-mark > img {
      text-align: center;
      margin: auto;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0; }
  
  #events h3.uk-card-title {
    padding-right: 125px; }
  
  section#business-growth .sn-info-card {
    box-shadow: 0px 20px 80px rgba(13, 34, 63, 0.1); }
  
  @media screen and (min-width: 960px) {
    section#business-growth {
      padding-bottom: 97px; }
      section#business-growth .uk-card > :last-child {
        position: relative; }
        section#business-growth .uk-card > :last-child:before {
          content: "";
          position: absolute;
          top: calc(50% - 154px);
          left: 85%;
          width: 199px;
          height: 307px;
          background: url("images/card-popout.png") no-repeat right center/contain; }
        section#business-growth .uk-card > :last-child .uk-card-body {
          position: relative;
          background: white; } }
  
  @media screen and (min-width: 640px) {
    section#business-growth .uk-card > :last-child {
      padding-left: 30px; } }
  
  section#join {
    background-image: url("images/join-background.png");
    background-repeat: no-repeat;
    background-position: right 75px;
    background-size: auto; }
  
  section#profile-selection {
    background-image: url("images/section-background--right.png");
    background-repeat: no-repeat;
    background-position: right 100px;
    background-size: auto; }
    section#profile-selection .uk-container .uk-card {
      box-shadow: 0 5px 15px rgba(2, 110, 243, 0.1); }
  
  section#corporate-intro,
  section#stories-of-success-intro,
  section#supplier-intro,
  section#about-intro {
    background-image: url("images/intro-background.png");
    background-repeat: no-repeat;
    background-position: left 100px;
    background-size: auto; }
  
  section#tools,
  section#stories-grid {
    background: #f5f9fe; }
  
  section#stories {
    background: white; }
  
  section#single-story-header {
    padding-top: 55px;
    padding-bottom: 40px;
    background-image: url("images/success-story-intro-background.png");
    background-repeat: no-repeat;
    background-position: center;
    background-size: auto 80%; }
    @media screen and (min-width: 960px) {
      section#single-story-header {
        padding-top: 0;
        padding-bottom: 0;
        background-size: auto 150%; } }
  
  .paleblue-any-curve + section#events .uk-card {
    position: relative;
    padding-top: 9vw; }
    .paleblue-any-curve + section#events .uk-card:before {
      content: "";
      position: absolute;
      top: 0px;
      left: 0px;
      width: 100%;
      padding: 0px 0px 10.66vw;
      background-image: linear-gradient(to bottom, #e5e5e5 40%, white 100%); }
  
  section#stories-grid .uk-text-center p {
    margin: 0px; }
    section#stories-grid .uk-text-center p:last-child {
      text-transform: uppercase; }
  
  section#team,
  section#stories {
    position: relative; }
  
  #single-story-header {
    position: relative; }
  
  .sn-back {
    display: block;
    position: absolute;
    top: 10px;
    left: 0;
    width: 100%;
    padding: 10px 0; }
    .sn-back .uk-container {
      position: relative; }
    .sn-back a {
      color: #dc0b40;
      text-decoration: none; }
      .sn-back a:hover {
        color: #3a97b5;
        text-decoration: none; }
      .sn-back a span {
        display: none; }
    .sn-back i {
      background: url("/wp-content/themes/supply-nation-theme/images/next.svg") no-repeat center;
      width: 40px;
      height: 20px;
      display: inline-block;
      vertical-align: middle;
      transition: all 0.3s ease;
      transform: rotate(180deg);
      position: relative;
      top: -1px; }
    @media screen and (min-width: 960px) {
      .sn-back {
        background-color: #3a97b5;
        top: 0; }
        .sn-back a {
          color: white; }
          .sn-back a:hover {
            color: #dc0b40; }
          .sn-back a span {
            display: inline; }
        .sn-back i {
          background: url("/wp-content/themes/supply-nation-theme/images/next-white.svg") no-repeat center; } }
  
  section#login-selection .uk-container {
    max-width: 400px; }
  
  #menu-header-menu-rhs #menu-item-6451 a::before {
    font-family: FontAwesome;
    content: "\f002";
    margin-right: 10px; }
  
  .hide {
    display: none; }
  
  .mask-image {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 11; }
  
  .mask-padding {
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: 10;
    border: 6px solid white;
    box-shadow: 0 1px 2px black; }
  
  @media screen and (max-width: 640px) {
    #story-next-story .uk-cover-container {
      height: 230px; } }
  
  /* Acordeon styles */
  .accordion {
    /* :checked */
    /* Icon */ }
    .accordion .tab {
      position: relative;
      border-bottom: 1px solid #CBD1E2;
      width: 100%;
      overflow: hidden;
      padding: 8px 0; }
    .accordion input {
      position: absolute;
      opacity: 0;
      z-index: -1; }
    .accordion label {
      position: relative;
      display: block;
      padding: 30px 80px 30px 0;
      line-height: 1.8em;
      cursor: pointer; }
    .accordion .tab-content {
      max-height: 0;
      overflow: hidden;
      -webkit-transition: max-height .35s;
      -o-transition: max-height .35s;
      transition: max-height .35s; }
    .accordion .tab-content p {
      margin: 0; }
    .accordion input:checked ~ .tab-content {
      max-height: 300em; }
    .accordion label::after {
      position: absolute;
      right: 0;
      top: 16px;
      background: white;
      border-radius: 60px;
      border: 1px solid #026EF3;
      font-size: 30px;
      color: #026EF3;
      display: block;
      width: 60px;
      height: 60px;
      line-height: 55px;
      text-align: center;
      -webkit-transition: all .35s;
      -o-transition: all .35s;
      transition: all .35s; }
    .accordion input[type=checkbox] + label::after {
      content: "+"; }
    .accordion input[type=radio] + label::after {
      content: "\25BC"; }
    .accordion input[type=checkbox]:checked + label::after {
      transform: rotate(-135deg); }
    .accordion input[type=radio]:checked + label::after {
      transform: rotate(180deg); }
  
  #sn-home-search span.input.input--sn, #sn-members-search span.input.input--sn {
    z-index: 1000;
    position: relative;
    display: inline-block;
    box-shadow: 0 28px 43px rgba(0, 0, 0, 0.11);
    border: none;
    height: 72px;
    max-width: 616px;
    width: 100%;
    background: white;
    border-radius: 50px;
    padding: 0px 40px;
    font-size: 16px;
    margin: 20px auto !important;
    text-align: left;
    border: 1px solid #dae5f6; }
    @media screen and (max-width: 768px) {
      #sn-home-search span.input.input--sn, #sn-members-search span.input.input--sn {
        border: none !important;
        background: transparent !important;
        box-shadow: none !important; } }
  
  #sn-home-search input:focus, #sn-members-search input:focus {
    outline: none !important; }
  
  #sn-home-search #sn-input-query, #sn-members-search #sn-input-query {
    font-size: 16px;
    font-family: "museo-sans";
    border: none;
    width: 65%;
    padding: 25px 0;
    color: rgba(59, 59, 59, 0.7) !important; }
    @media screen and (min-width: 768px) {
      #sn-home-search #sn-input-query, #sn-members-search #sn-input-query {
        width: calc(65% - 33px); } }
  
  #sn-home-search #sn-input-location, #sn-members-search #sn-input-location {
    border-left: 1px solid #eef5ff !important;
    padding-left: 26px;
    font-size: 16px;
    font-family: "museo-sans";
    border: none;
    color: rgba(59, 59, 59, 0.7) !important; }
  
  #sn-home-search .sn-input-button:not(.uk-button-primary), #sn-members-search .sn-input-button:not(.uk-button-primary) {
    background: url("/wp-content/themes/supply-nation-theme/images/next.svg") no-repeat center;
    width: 40px;
    height: auto;
    position: absolute;
    right: 30px;
    top: 0;
    bottom: 0;
    display: inline-block;
    vertical-align: middle;
    transition: all 0.3s ease; }
    @media screen and (max-width: 768px) {
      #sn-home-search .sn-input-button:not(.uk-button-primary), #sn-members-search .sn-input-button:not(.uk-button-primary) {
        display: none !important; } }
  
  #sn-home-search .sn-input-button.uk-button-primary, #sn-home-search .mainmenu ul li.button a.sn-input-button, .mainmenu ul li.button #sn-home-search a.sn-input-button, #sn-members-search .sn-input-button.uk-button-primary, #sn-members-search .mainmenu ul li.button a.sn-input-button, .mainmenu ul li.button #sn-members-search a.sn-input-button {
    display: none !important; }
    @media screen and (max-width: 768px) {
      #sn-home-search .sn-input-button.uk-button-primary, #sn-home-search .mainmenu ul li.button a.sn-input-button, .mainmenu ul li.button #sn-home-search a.sn-input-button, #sn-members-search .sn-input-button.uk-button-primary, #sn-members-search .mainmenu ul li.button a.sn-input-button, .mainmenu ul li.button #sn-members-search a.sn-input-button {
        display: inline-block !important;
        margin-bottom: 15px; } }
  
  .sf-autocomplete {
    position: relative;
    z-index: 99; }
    .sf-autocomplete__dropdown {
      position: absolute;
      z-index: 999;
      top: 0;
      left: 0;
      width: 100%;
      max-height: 300px;
      overflow: auto;
      background: #FFF;
      border: 1px solid #d4d4d4;
      border-radius: .25rem; }
      .sf-autocomplete__dropdown--address {
        left: -10%;
        width: 120%; }
      .sf-autocomplete__dropdown.empty {
        display: none; }
      .sf-autocomplete__dropdown ul {
        margin: 0;
        padding: 0;
        overflow: hidden; }
        .sf-autocomplete__dropdown ul li {
          padding: 8px 20px;
          padding-left: 40px;
          margin: 0;
          font-size: .8125rem;
          border-bottom: solid 1px #eff7f7;
          white-space: nowrap;
          position: relative; }
          .sf-autocomplete__dropdown ul li:not(.service-title):not(.supplier-title) {
            cursor: pointer; }
            .sf-autocomplete__dropdown ul li:not(.service-title):not(.supplier-title):hover {
              background: rgba(25, 124, 190, 0.1); }
          .sf-autocomplete__dropdown ul li:before {
            content: '';
            display: inline-block;
            width: 12px;
            height: 30px;
            position: absolute;
            left: 15px;
            top: 0;
            background: url("images/search-briefcase.png") no-repeat center/contain; }
          .sf-autocomplete__dropdown ul li.service-title, .sf-autocomplete__dropdown ul li.supplier-title {
            background-color: #eff7f7;
            font-size: .75rem;
            letter-spacing: .0625rem; }
          .sf-autocomplete__dropdown ul li.service-title:before {
            background: url("images/search-services.png") no-repeat center/contain; }
          .sf-autocomplete__dropdown ul li.supplier-title:before {
            background: url("images/search-homes.png") no-repeat center/contain; }
        .sf-autocomplete__dropdown ul#autocomplete-address li {
          padding-left: 20px; }
          .sf-autocomplete__dropdown ul#autocomplete-address li:before {
            display: none; }
  
  .search-results h1 {
    font-size: 2.5rem; }
  
  .search-results h2 {
    font-size: 1.25rem; }
    .search-results h2 a {
      color: #5e5e5e; }
  
  .screen-reader-text {
    display: none; }
  
  input.search-field {
    padding: 10px;
    border: 1px #eee solid;
    width: 250px; }
  
  .search-submit {
    border-radius: 50px !important;
    border: 1px solid #dc0b40 !important;
    box-shadow: 0 5px 10px rgba(255, 10, 10, 0.2) !important;
    background: #dc0b40;
    color: #fff;
    padding: 8px 20px; }
  
  #sn-members-search #sn-input-query {
    width: 100%; }
    #sn-members-search #sn-input-query:-webkit-autofill {
      -webkit-box-shadow: 0 0 0 30px white inset; }
    #sn-members-search #sn-input-query:focus {
      outline-width: 0; }
    @media screen and (min-width: 768px) {
      #sn-members-search #sn-input-query {
        width: calc(100% - 33px); } }
  
  #sn-members-search .sn-input-button {
    border-width: 0;
    cursor: pointer; }
  
  .sn-search-toolbar {
    margin: 66px 0 40px; }
    .sn-search-toolbar .sn-sort-by {
      display: inline-block;
      padding-left: 36px;
      font-weight: 300; }
      .sn-search-toolbar .sn-sort-by > div {
        position: relative; }
    .sn-search-toolbar .sn-search-summary {
      display: inline-block; }
    .sn-search-toolbar .sn-search-sortby {
      display: inline-block;
      padding-left: 30px;
      font-weight: 300; }
    .sn-search-toolbar .select2-container {
      width: 100% !important;
      min-width: 200px;
      border-radius: 20px;
      border-color: #DAE5F6;
      border-width: 1px;
      border-style: solid;
      padding: 5px 20px; }
      .sn-search-toolbar .select2-container .select2-selection {
        background: transparent !important;
        border: 0px !important; }
        .sn-search-toolbar .select2-container .select2-selection .select2-selection__arrow {
          right: 9px;
          top: 6px; }
  
  .select2-container .select2-dropdown {
    background-color: transparent !important;
    border: 0px !important; }
    .select2-container .select2-dropdown ul {
      border-radius: 20px;
      border-color: #DAE5F6;
      border-width: 1px;
      border-style: solid;
      background-color: white;
      padding: 20px 0px !important;
      max-height: none !important; }
      .select2-container .select2-dropdown ul li {
        padding: 5px 27px;
        font-weight: 300;
        color: #1e87f0;
        text-decoration: none;
        cursor: pointer; }
        .select2-container .select2-dropdown ul li.select2-results__option--highlighted {
          color: #58585a !important;
          background-color: #d3e7e8 !important; }
  
  .uk-button-large:hover, .mainmenu ul li.button a:hover {
    transform: scale(1.05);
    text-decoration: none;
    box-shadow: 0 5px 30px rgba(255, 10, 10, 0.2) !important; }
  
  .uk-button-large.uk-button-primary:disabled, .mainmenu ul li.button a:disabled {
    background-color: #999;
    border: 1px solid #999 !important;
    cursor: default;
    -webkit-box-shadow: 0px 0px 0px 0px rgba(2, 110, 243, 0.1) !important;
    -moz-box-shadow: 0px 0px 0px 0px rgba(2, 110, 243, 0.1) !important;
    box-shadow: 0px 0px 0 0px rgba(2, 110, 243, 0.1) !important; }
    .uk-button-large.uk-button-primary:disabled:hover, .mainmenu ul li.button a:disabled:hover {
      transform: scale(1); }
  
  .nf-error-msg, .nf-form-fields-required {
    display: none; }
  
  .nf-form-layout {
    margin-top: 27px; }
    .nf-form-layout input[type="text"],
    .nf-form-layout input[type="email"],
    .nf-form-layout select,
    .nf-form-layout textarea {
      color: #3b3b3b;
      background-color: white;
      padding: 10px 20px;
      -webkit-box-shadow: 0px 0px 5px 0px rgba(2, 110, 243, 0.1);
      -moz-box-shadow: 0px 0px 5px 0px rgba(2, 110, 243, 0.1);
      box-shadow: 0px 0px 5px 0px rgba(2, 110, 243, 0.1); }
      .nf-form-layout input[type="text"]:focus,
      .nf-form-layout input[type="email"]:focus,
      .nf-form-layout select:focus,
      .nf-form-layout textarea:focus {
        background-color: white; }
  
  .uk-input {
    -webkit-box-shadow: 0px 0px 5px 0px rgba(2, 110, 243, 0.1);
    -moz-box-shadow: 0px 0px 5px 0px rgba(2, 110, 243, 0.1);
    box-shadow: 0px 0px 5px 0px rgba(2, 110, 243, 0.1); }
  
  .career-upload button {
    border: none;
    background: transparent;
    font-size: 16px !important;
    color: #1e87f0;
    text-decoration: none;
    cursor: pointer;
    font-family: "museo-sans";
    padding: 0;
    line-height: 53px !important; }
  
  .career-form {
    max-width: 510px;
    margin: 0 auto !important; }
    .career-form .nf-response-msg {
      text-align: center; }
    .career-form span.ninja-forms-req-symbol {
      display: none !important; }
  
  .nf-response-msg {
    text-align: center; }
  
  .popmake-overlay {
    background-color: rgba(0, 0, 0, 0.6) !important;
    overflow-x: hidden !important; }
  
  .popmake {
    max-width: 720px !important; }
    @media screen and (min-width: 700px) {
      .popmake {
        top: 70px !important; } }
    @media screen and (max-width: 730px) {
      .popmake {
        max-width: 100%;
        position: absolute;
        top: 32px !important;
        bottom: 0;
        right: 0;
        left: 0; } }
    .popmake form {
      max-width: 400px !important;
      margin: 0 auto !important; }
      @media screen and (min-width: 769px) {
        .popmake form {
          max-width: 540px !important; } }
      .popmake form .g-recaptcha > div {
        margin: 0 auto !important; }
  
  html.pum-open.pum-open-overlay.pum-open-scrollable body > [aria-hidden] {
    padding-right: 0 !important; }
  
  .pum-theme-7786 .pum-content + .pum-close, .pum-theme-default-theme .pum-content + .pum-close,
  .pum-theme-7786 .pum-content + .pum-close, .pum-theme-default-theme .pum-content + .pum-close:hover {
    background-color: transparent !important;
    width: 48px !important;
    height: 48px !important;
    background-image: url(../../themes/supply-nation-theme/images/close.svg);
    background-repeat: no-repeat;
    background-position: center;
    -webkit-appearance: none !important;
    color: transparent !important;
    text-indent: 999999999999999px !important; }
  
  .uk-button-large:hover, .mainmenu ul li.button a:hover {
    transform: scale(1.05);
    text-decoration: none;
    box-shadow: 0 5px 30px rgba(255, 10, 10, 0.2) !important; }
  
  .uk-button-large.uk-button-primary:disabled, .mainmenu ul li.button a:disabled {
    background-color: #999;
    border: 1px solid #999 !important;
    cursor: default;
    -webkit-box-shadow: 0px 0px 0px 0px rgba(2, 110, 243, 0.1) !important;
    -moz-box-shadow: 0px 0px 0px 0px rgba(2, 110, 243, 0.1) !important;
    box-shadow: 0px 0px 0 0px rgba(2, 110, 243, 0.1) !important; }
    .uk-button-large.uk-button-primary:disabled:hover, .mainmenu ul li.button a:disabled:hover {
      transform: scale(1); }
  
  .any-white-curve {
    position: relative;
    margin: -10.62vw 0px -6vw;
    padding: 0px 0px 16.5749%;
    pointer-events: none;
    background: url("images/any-white-curve.svg") no-repeat center/100% auto; }
    .any-white-curve__spacer {
      padding: 0px 0px 5.31vw; }
  
  .any-white-vertical {
    position: relative;
    top: -1px;
    margin: 0px 0px -7.4277vw;
    padding: 0px 0px 7.4277%;
    pointer-events: none;
    background: url("images/any-white-vertical.svg") no-repeat center/100% auto; }
  
  .paleblue-any-curve {
    position: relative;
    top: -1px;
    margin: 0px 0px -10.66vw;
    padding: 0px 0px 10.66%;
    pointer-events: none;
    background: url("images/paleblue-any-curve.svg") no-repeat center/101% auto;
    z-index: 100; }
  
  .white-curve {
    position: relative;
    top: -30px;
    margin: 0px 0px -10.66vw;
    padding: 0px 0px 10.66%;
    pointer-events: none;
    background: url("images/white-curve.svg") no-repeat center/101% auto;
    z-index: 100; }
  
  .home-curve {
    display: block;
    overflow: hidden;
    position: relative;
    width: 106%;
    bottom: 8vw;
    margin: 0px 0px -10.66vw;
    padding: 0px 0px 10.66%;
    pointer-events: none;
    background: url(images/test-curve.svg) no-repeat center/106% auto;
    z-index: 100; }
  
  .white-paleblue-curve {
    position: relative;
    margin: -10.62vw 0px -5vw;
    padding: 0px 0px 16.5749%;
    pointer-events: none;
    background: url("images/white-paleblue-curve.svg") no-repeat center/100% auto; }
    .white-paleblue-curve__spacer {
      padding: 0px 0px 5.31vw; }
  
  .any-paleblue-circle {
    position: relative;
    top: -1px;
    margin: -5vw 0px -3.611vw;
    padding: 0px 0px 8.611%;
    pointer-events: none;
    background: url("images/any-paleblue-circle.svg") no-repeat center/100% auto;
    z-index: 100; }
  
  .any-white-circle {
    position: relative;
    top: -1px;
    margin: -5vw 0px -3.611vw;
    padding: 0px 0px 8.611%;
    pointer-events: none;
    background: url("images/any-white-circle.svg") no-repeat center/100% auto;
    z-index: 100; }
  
  .any-paleblue-circle-alt {
    position: relative;
    top: 1px;
    margin: -8.5969vw 0px 0px;
    padding: 0px 0px 8.5969%;
    pointer-events: none;
    background: url("images/any-paleblue-circle-alt.svg") no-repeat center/100% auto;
    z-index: 100; }
  
  .left-border-hp {
    width: 50%;
    height: 100%;
    background: url(/wp-content/uploads/2018/05/RoundBorder.png);
    position: relative;
    left: calc(100% - 42px);
    top: 0;
    background-color: transparent;
    background-size: contain;
    background-repeat: no-repeat; }
  
  .supplier {
    padding: 0 15px !important;
    margin: 15px 0 0 !important; }
    .supplier__title {
      font-size: 16px;
      line-height: 1.3 !important;
      font-weight: 500;
      font-family: "museo-sans", sans-serif;
      color: #5e5e5e;
      margin: 0 0 10px !important; }
    .supplier__category {
      font-size: 14px;
      line-height: 1.3 !important;
      font-family: "museo-sans", sans-serif;
      color: #3b3b3b;
      font-weight: 300;
      text-transform: uppercase;
      margin-bottom: 5px !important; }
    .supplier__image {
      max-width: 100px;
      height: 60px;
      margin-bottom: 20px !important;
      display: flex !important;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center; }
    @media screen and (min-width: 960px) {
      .supplier__inner {
        max-width: 200px;
        padding: 0 30px !important; } }
  
  @media screen and (min-width: 960px) {
    .supplier-grid .supplier:nth-of-type(2n + 2) {
      border-left: 1px solid #f5f9fe; } }
  
  @media screen and (min-width: 960px) {
    .supplier-grid--next .supplier {
      justify-content: flex-end !important; }
      .supplier-grid--next .supplier:nth-of-type(2n + 2) {
        justify-content: flex-start !important; }
      .supplier-grid--next .supplier:nth-of-type(n + 3) {
        margin-top: 20px !important; }
      .supplier-grid--next .supplier.last-odd {
        justify-content: center !important; } }
  
  .suppliers-members {
    padding: 80px 0 40px; }
  
  #stories-grid [data-loadmore] {
    margin: 60px auto 0;
    display: table !important; }
    #stories-grid [data-loadmore].hide {
      display: none !important; }
  
  #contact {
    padding: 0; }
  
  .contact-left, .contact-right {
    width: 100%; }
    .contact-left .content-container, .contact-right .content-container {
      max-width: 400px;
      margin: 0 auto;
      padding: 30px; }
      @media (min-width: 960px) {
        .contact-left .content-container, .contact-right .content-container {
          max-width: 570px;
          padding: 70px 30px 70px 30px;
          margin: 0; } }
      .contact-left .content-container h3, .contact-right .content-container h3 {
        margin-top: 40px; }
    .contact-left .office-details, .contact-right .office-details {
      display: flex;
      flex-wrap: wrap;
      margin-bottom: 30px; }
      .contact-left .office-details--image, .contact-right .office-details--image {
        width: 20%;
        padding-right: 5%; }
        .contact-left .office-details--image img, .contact-right .office-details--image img {
          width: 60px;
          height: auto;
          border-radius: 100px;
          box-shadow: 0 5px 10px rgba(2, 110, 243, 0.1);
          border: 1px solid #EEF5FF; }
      .contact-left .office-details--address, .contact-right .office-details--address {
        width: 80%;
        padding-top: 15px; }
        .contact-left .office-details--address--second, .contact-right .office-details--address--second {
          margin-left: 20%; }
        @media (min-width: 780px) {
          .contact-left .office-details--address, .contact-right .office-details--address {
            width: 40%; }
            .contact-left .office-details--address--second, .contact-right .office-details--address--second {
              margin-left: 0; } }
      .contact-left .office-details--item, .contact-right .office-details--item {
        display: flex;
        align-items: center; }
        .contact-left .office-details--item a, .contact-right .office-details--item a {
          color: #dc0b40 !important; }
        .contact-left .office-details--item p, .contact-right .office-details--item p {
          margin: 0; }
  
  .contact {
    display: flex;
    flex-direction: column; }
    @media (min-width: 960px) {
      .contact {
        flex-direction: row; } }
    .contact-left {
      background: white; }
      .contact-left .content-container {
        margin-left: auto; }
    .contact-right {
      margin-top: 0; }
      @media (min-width: 960px) {
        .contact-right {
          margin-top: 85px; } }
  
  .eligibel-tab, .benefit-tab, .aboutus-tab, .team-switchers {
    margin: auto !important;
    width: 288px;
    height: 40px;
    border: 1px solid #f2812f;
    border-radius: 20px;
    padding: 2px !important; }
    .eligibel-tab li, .benefit-tab li, .aboutus-tab li, .team-switchers li {
      width: 50%;
      font-weight: 300;
      text-align: center;
      padding-left: 0px !important; }
      .eligibel-tab li:first-child, .benefit-tab li:first-child, .aboutus-tab li:first-child, .team-switchers li:first-child {
        border-top-left-radius: 20px;
        border-bottom-left-radius: 20px; }
      .eligibel-tab li:last-child, .benefit-tab li:last-child, .aboutus-tab li:last-child, .team-switchers li:last-child {
        border-top-right-radius: 20px;
        border-bottom-right-radius: 20px; }
      .eligibel-tab li.uk-active, .benefit-tab li.uk-active, .aboutus-tab li.uk-active, .team-switchers li.uk-active {
        background: #dc0b40; }
        .eligibel-tab li.uk-active a, .benefit-tab li.uk-active a, .aboutus-tab li.uk-active a, .team-switchers li.uk-active a {
          color: white; }
  
  .popRect, .popRect-left, .popRect-right, .eligibel-diagram-mobile__popRect {
    background: #ffffff;
    border: 1px solid #eef5ff;
    box-shadow: 0 5px 10px 0 rgba(2, 110, 243, 0.1);
    border-radius: 5px;
    position: relative;
    word-wrap: break-word;
    padding: 20px;
    line-height: 30px;
    text-align: left !important; }
    .popRect::before, .popRect-left::before, .popRect-right::before, .eligibel-diagram-mobile__popRect::before {
      position: absolute;
      z-index: 5; }
    .popRect::after, .popRect-left::after, .popRect-right::after, .eligibel-diagram-mobile__popRect::after {
      content: url("../../themes/supply-nation-theme/images/Oval.svg");
      position: absolute;
      top: calc(50% - 15px);
      z-index: 15; }
  
  .diagram-red .popRect::after, .diagram-red .popRect-left::after, .diagram-red .popRect-right::after, .diagram-red .eligibel-diagram-mobile__popRect::after {
    content: url("../../themes/supply-nation-theme/images/Oval.red.svg"); }
  
  .popRect-left {
    margin-right: 36px;
    margin-bottom: 40px; }
    .popRect-left::before {
      content: url("../../themes/supply-nation-theme/images/pop-arrow.png");
      top: calc(50% - 12px);
      right: -22px; }
    .popRect-left::after {
      right: -42px; }
  
  .popRect-right {
    margin-left: 36px;
    margin-top: 40px; }
    .popRect-right::before {
      content: url("../../themes/supply-nation-theme/images/pop-arrow-right.png");
      top: calc(50% - 12px);
      left: -22px; }
    .popRect-right::after {
      left: -42px; }
  
  .eligibel-diagram {
    position: relative;
    display: flex; }
    @media screen and (max-width: 575px) {
      .eligibel-diagram {
        display: none; } }
    .eligibel-diagram__left {
      width: 50%;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      border-right: 1px dotted #f2812f;
      padding: 50px 0; }
    .eligibel-diagram__right {
      width: 50%;
      display: flex;
      flex-direction: column;
      align-items: stretch;
      padding: 50px 0; }
    .eligibel-diagram::after {
      content: url("../../themes/supply-nation-theme/images/Triangle.svg");
      left: calc(50% - 13px);
      bottom: -19px;
      position: absolute;
      color: black; }
  
  .diagram-red .eligibel-diagram__left {
    border-right: 1px dotted #dc0b40; }
  
  .diagram-red .eligibel-diagram::after {
    content: url("../../themes/supply-nation-theme/images/Triangle.red.svg"); }
  
  .eligibel-diagram-mobile {
    display: none;
    min-width: 100%;
    overflow-x: auto;
    padding-top: 40px; }
    @media screen and (max-width: 575px) {
      .eligibel-diagram-mobile {
        display: flex; } }
    .eligibel-diagram-mobile__popRect {
      min-width: 300px;
      margin-left: 20px;
      margin-right: 20px; }
      .eligibel-diagram-mobile__popRect::before {
        content: url("../../themes/supply-nation-theme/images/pop-arrow-top.png");
        top: -20px;
        left: 10px; }
      .eligibel-diagram-mobile__popRect::after {
        top: -50px;
        left: 23px; }
    .eligibel-diagram-mobile__wrap {
      border-top: 1px dotted #f2812f;
      padding-top: 33px;
      display: flex;
      width: auto;
      position: relative; }
      .eligibel-diagram-mobile__wrap::after {
        content: url("../../themes/supply-nation-theme/images/Triangle-right.svg");
        right: 0px;
        top: -13px;
        position: absolute;
        z-index: 100; }
  
  .diagram-red .eligibel-diagram-mobile::after {
    content: url("../../themes/supply-nation-theme/images/Triangle-right.red.svg"); }
  
  .eligibel-text-top,
  .eligibel-text-center {
    margin: 80px auto 30px;
    text-align: center;
    font-size: 24px;
    color: #3b3b3b;
    letter-spacing: 0;
    line-height: 37px; }
  
  .eligibel-text-top {
    margin: 0 auto; }
  
  .eligibel-text-bottom > a {
    font-size: 16px;
    color: #ed688a;
    letter-spacing: 0;
    text-align: center;
    line-height: 30px;
    margin: 80px auto 0px; }
    .eligibel-text-bottom > a:hover {
      text-decoration: none;
      color: #ed688a;
      opacity: 0.8; }
  
  .tab-orange.uk-active {
    background: #f2812f !important; }
  
  .benefit-tab {
    display: flex;
    list-style-type: none;
    margin-bottom: 50px !important; }
    .benefit-tab a {
      line-height: 33px;
      color: #dc0b40; }
      .benefit-tab a:hover {
        color: #dc0b40;
        text-decoration: none; }
  
  .mobile-supplier-desc {
    background: white;
    border-radius: 3px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    padding: 20px;
    margin: 10px; }
  
  .team-member-modal {
    width: 100% !important;
    background: #FFFFFF;
    box-shadow: 20px 40px 40px 0 rgba(13, 34, 63, 0.1);
    border-radius: 5px;
    padding: 60px !important; }
    .team-member-modal__close {
      background: url("../../themes/supply-nation-theme/images/close.svg");
      width: 18px;
      height: 15px;
      border: 0px !important;
      margin-left: 56px;
      margin-bottom: 56px; }
      .team-member-modal__close::after {
        content: "Back";
        color: #ED688A;
        letter-spacing: 0;
        font-size: 16px;
        position: relative;
        left: 25px;
        bottom: 1px; }
    .team-member-modal .team-member-card {
      margin: auto;
      width: 222px;
      height: 322px;
      background: #FFFFFF;
      border: 1px solid #EEF5FF;
      box-shadow: 0 5px 10px 0 rgba(2, 110, 243, 0.1);
      border-radius: 5px;
      position: relative; }
      .team-member-modal .team-member-card .left-arrow-member {
        position: absolute;
        content: url("../../themes/supply-nation-theme/images/arrow-left-member.svg");
        top: 50%;
        left: -50px; }
      .team-member-modal .team-member-card .right-arrow-member {
        position: absolute;
        content: url("../../themes/supply-nation-theme/images/arrow-right-member.svg");
        top: 50%;
        right: -50px; }
  
  .aboutus-tab {
    display: flex;
    list-style-type: none;
    margin-bottom: 50px !important; }
    .aboutus-tab a {
      line-height: 33px;
      color: #dc0b40; }
      .aboutus-tab a:hover {
        color: #dc0b40;
        text-decoration: none; }
  
  .team-switchers {
    margin-bottom: 75px !important; }
  
  .ochre_partners-nav {
    display: flex;
    justify-content: center; }
    .ochre_partners-nav .ochre_partners-nav-previous {
      visibility: visible !important;
      margin-right: 30px;
      margin-bottom: 60px; }
    .ochre_partners-nav .ochre_partners-nav-next {
      visibility: visible !important;
      margin-left: 30px;
      margin-bottom: 60px; }
    .ochre_partners-nav .uk-invisible {
      opacity: 0.1 !important; }
  
  .page-template-sn-about-us-flexible-page-template #about-intro {
    background-image: url("images/about-header-background.png");
    background-size: cover;
    background-position: center center;
    padding-top: 88px;
    padding-bottom: 93px !important; }
    .page-template-sn-about-us-flexible-page-template #about-intro p:empty:last-of-type {
      margin-top: -20px; }
  
  #learn-more a {
    color: #FC928A;
    font-size: 16px;
    padding: 8px; }
    #learn-more a > div {
      padding: 0 0 40px 0;
      text-align: center; }
  
  #learn-more .frame {
    margin-bottom: 20px;
    width: 100%;
    position: relative; }
    #learn-more .frame .frame-border {
      border: 10px solid white;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  
  #values {
    padding-top: 0 !important; }
    #values .image-pattern-background {
      position: relative; }
      #values .image-pattern-background:before {
        content: "";
        position: absolute;
        z-index: 1;
        width: 373px;
        height: 408px;
        background-image: url("images/SupplyNation_logo_colour.png");
        background-size: cover;
        background-position: center center;
        right: -77px;
        top: -33px; }
      #values .image-pattern-background img {
        z-index: 5; }
  
  #team {
    padding-top: 0 !important; }
  
  #history {
    padding-top: 0;
    padding-bottom: 230px; }
    #history strong {
      color: #026EF3; }
  
  #about-intro,
  #ochre-partners-intro {
    padding-bottom: 0 !important; }
  
  #ochre-partners-intro {
    padding-top: 0 !important; }
  
  #members .uk-container h3 p {
    margin: 0 auto;
    width: 100%;
    max-width: 600px;
    font-weight: 700 !important; }
  
  #table .table-title {
    font-family: "Montserrat" !important;
    font-weight: 500 !important;
    font-size: 24px;
    color: #3B3B3B;
    letter-spacing: 0;
    line-height: 37px;
    border-bottom: 3px solid #DAE5F6;
    padding-bottom: 20px;
    margin-bottom: 48px; }
  
  #table table {
    width: 100%; }
    #table table thead {
      font-size: 14px;
      color: #3B3B3B;
      letter-spacing: 0;
      text-align: center;
      font-family: "museo-sans";
      font-weight: 900; }
      #table table thead th {
        padding-bottom: 15px; }
    #table table tbody {
      font-size: 16px;
      color: #5E5E5E;
      letter-spacing: 0;
      text-align: center;
      line-height: 30px;
      font-family: "museo-sans";
      font-weight: 500; }
    #table table td {
      border-top: 1px solid #EEF5FF;
      padding: 20px;
      position: relative; }
      #table table td:first-child {
        border-left: 1px solid #EEF5FF;
        border-radius: 6px 0 0 6px; }
      #table table td::after {
        content: '';
        background-color: #DAE5F6;
        position: absolute;
        left: 100%;
        top: 14.5px;
        bottom: 12.5px;
        width: 1px; }
      #table table td:last-child {
        border-right: 1px solid #EEF5FF;
        border-radius: 0 6px 6px 0; }
        #table table td:last-child::after {
          width: 0; }
    #table table tr:last-child td {
      border-bottom: 1px solid #EEF5FF; }
      #table table tr:last-child td:first-child {
        border-radius: 6px 0 0 6px; }
  
  #slider {
    overflow: visible;
    margin-bottom: 150px; }
    #slider .box-slider {
      box-shadow: 20px 40px 40px 0 rgba(13, 34, 63, 0.1);
      max-width: 620px; }
    #slider li img {
      width: 620px;
      height: 410px;
      object-fit: cover; }
      @media screen and (max-width: 600px) {
        #slider li img {
          width: 100%;
          height: 70vw; } }
    #slider .slider-nav {
      position: absolute;
      left: 0;
      right: 0;
      margin: 60px auto 0;
      text-align: center; }
    #slider .image-pattern-background {
      position: relative; }
      #slider .image-pattern-background:before {
        content: "";
        position: absolute;
        z-index: -1;
        width: 503px;
        height: 550px;
        left: 196px;
        top: -54px;
        background-image: url("images/SupplyNation_logo_big.png");
        background-size: cover;
        background-position: center center; }
        @media screen and (max-width: 600px) {
          #slider .image-pattern-background:before {
            width: calc(503px * 0.7);
            height: calc(550px * 0.7);
            left: 0px;
            top: -50px; } }
  
  #singleimage img {
    width: 780px;
    height: 441px;
    object-fit: cover; }
    @media screen and (max-width: 600px) {
      #singleimage img {
        width: 100%;
        height: 70vw; } }
  
  #singleimage .image-pattern-background {
    position: relative; }
    #singleimage .image-pattern-background:before {
      content: "";
      position: absolute;
      z-index: -1;
      width: 503px;
      height: 550px;
      right: 100px;
      top: -75px;
      background-image: url("images/SupplyNation_logo_spin.png");
      background-size: cover;
      background-position: center center; }
      @media screen and (max-width: 600px) {
        #singleimage .image-pattern-background:before {
          width: calc(503px * 0.7);
          height: calc(550px * 0.7);
          left: 0px;
          top: -50px; } }
  
  #imagecopy .title, #copyimage .title, #singlecopy .title {
    font-family: "Montserrat" !important;
    font-weight: 500 !important;
    font-size: 24px;
    color: #3B3B3B;
    letter-spacing: 0; }
  
  #imagecopy p, #copyimage p, #singlecopy p {
    opacity: 0.9;
    font-family: "museo-sans";
    font-weight: 500;
    font-size: 16px;
    color: #3B3B3B;
    letter-spacing: 0;
    line-height: 30px; }
  
  #imagecopy img, #copyimage img, #singlecopy img {
    padding-top: 7px; }
  
  #global-organization {
    padding-top: 15px; }
    #global-organization .organization {
      list-style: none;
      max-width: 650px;
      margin: 50px auto 0; }
    #global-organization li {
      margin-bottom: 25px; }
    #global-organization .organization-copy {
      max-width: 767px;
      margin: auto; }
      #global-organization .organization-copy p {
        margin-top: 25px; }
  
  .carousel-home {
    min-height: 600px;
    min-width: 504px;
    margin-left: -50px; }
    @media screen and (max-width: 767px) {
      .carousel-home {
        min-width: 0px;
        margin-left: 0px; } }
  
  #home-slider .uk-slideshow-items {
    height: 600px; }
    @media screen and (max-width: 640px) {
      #home-slider .uk-slideshow-items {
        height: 900px; } }
    @media screen and (max-width: 767px) {
      #home-slider .uk-slideshow-items .uk-container {
        padding: 0; } }
    #home-slider .uk-slideshow-items .uk-card-title {
      font-size: 2.25rem; }
      @media screen and (max-width: 767px) {
        #home-slider .uk-slideshow-items .uk-card-title {
          font-size: 20px; } }
    #home-slider .uk-slideshow-items .carousel-nav {
      position: absolute;
      bottom: 20px;
      left: 20px;
      margin-top: 10px; }
      @media screen and (max-width: 767px) {
        #home-slider .uk-slideshow-items .carousel-nav {
          padding: 0 50px;
          display: flex;
          justify-content: space-between; } }
  
  /* ========================================================================
     Component: Base
   ========================================================================== */
  /*
   * 1. Set `font-size` to support `rem` units
   *    Not using `font` property because a leading hyphen (e.g. -apple-system) causes the font to break in IE11 and Edge
   * 2. Prevent adjustments of font size after orientation changes in iOS.
   * 3. Style
   */
  html {
    /* 1 */
    font-family: "museo-sans", sans-serif;
    font-size: 16px;
    font-weight: normal;
    line-height: 1.5;
    /* 2 */
    -webkit-text-size-adjust: 100%;
    /* 3 */
    background: #fff;
    color: #5e5e5e; }
  
  /*
   * Remove the margin in all browsers.
   */
  body {
    margin: 0; }
  
  /* Links
   ========================================================================== */
  /*
   * Remove gaps in links underline in iOS 8+ and Safari 8+.
   */
  a {
    -webkit-text-decoration-skip: objects; }
  
  /*
   * Remove the outline on focused links when they are also active or hovered
   */
  a:active,
  a:hover {
    outline: none; }
  
  /*
   * Style
   */
  a,
  .uk-link {
    color: #1e87f0;
    text-decoration: none;
    cursor: pointer; }
  
  a:hover,
  .uk-link:hover {
    color: #0f6ecd;
    text-decoration: underline; }
  
  /* Text-level semantics
   ========================================================================== */
  /*
   * 1. Add an underline text decoration in Safari, Edge and IE.
   * 2. Add `dotted` style in Safari.
   * Note: The shorthand declaration `underline dotted` is not supported in Safari, Edge and IE.
   */
  abbr[title] {
    /* 1 */
    text-decoration: underline;
    /* 2 */
    -webkit-text-decoration-style: dotted; }
  
  /*
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  b,
  strong {
    font-weight: bolder; }
  
  /*
   * 1. Consolas has a better baseline in running text compared to `Courier`
   * 2. Correct the odd `em` font sizing in all browsers.
   * 3. Style
   */
  :not(pre) > code,
  :not(pre) > kbd,
  :not(pre) > samp {
    /* 1 */
    font-family: Consolas, monaco, monospace;
    /* 2 */
    font-size: 0.875rem;
    /* 3 */
    color: #f0506e;
    white-space: nowrap; }
  
  /*
   * Emphasize
   */
  em {
    color: #f0506e; }
  
  /*
   * Insert
   */
  ins {
    background: #ffd;
    color: #5e5e5e;
    text-decoration: none; }
  
  /*
   * Mark
   */
  mark {
    background: #ffd;
    color: #5e5e5e; }
  
  /*
   * Quote
   */
  q {
    font-style: italic; }
  
  /*
   * Add the correct font size in all browsers.
   */
  small {
    font-size: 80%; }
  
  /*
   * Prevents `sub` and `sup` affecting `line-height` in all browsers.
   */
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline; }
  
  sup {
    top: -0.5em; }
  
  sub {
    bottom: -0.25em; }
  
  /* Embedded content
   ========================================================================== */
  /*
   * Remove the gap between embedded content and the bottom of their containers.
   */
  audio,
  canvas,
  iframe,
  img,
  svg,
  video {
    vertical-align: middle; }
  
  /*
   * 1. Add responsiveness.
   * 2. Auto-scale the height. Only needed if `height` attribute is present.
   * 3. Corrects responsive `max-width` behavior if padding and border are used.
   * 4. Exclude SVGs for IE11 because they don't preserve their aspect ratio.
   */
  canvas,
  img,
  video {
    /* 1 */
    max-width: 100%;
    /* 2 */
    height: auto;
    /* 3 */
    box-sizing: border-box; }
  
  /* 4 */
  @supports (display: block) {
    svg {
      max-width: 100%;
      height: auto;
      box-sizing: border-box; } }
  
  /*
   * Hide the overflow in IE.
   */
  svg:not(:root) {
    overflow: hidden; }
  
  /*
   * Hide `alt` text for lazy load images
   * Selector for background while loading img[data-src*='.jpg'][src*='data:image'] { background: grey; }
   */
  img:not([src]) {
    visibility: hidden; }
  
  /*
   * Iframe
   * Remove border in all browsers
   */
  iframe {
    border: 0; }
  
  /* Block elements
   ========================================================================== */
  /*
   * Margins
   */
  p,
  ul,
  ol,
  dl,
  pre,
  address,
  fieldset,
  figure {
    margin: 0 0 20px 0; }
  
  /* Add margin if adjacent element */
  * + p,
  * + ul,
  * + ol,
  * + dl,
  * + pre,
  * + address,
  * + fieldset,
  * + figure {
    margin-top: 20px; }
  
  /* Headings
   ========================================================================== */
  h1, .uk-h1,
  h2, .uk-h2,
  h3, .uk-h3,
  h4, .uk-h4,
  h5, .uk-h5,
  h6, .uk-h6 {
    margin: 0 0 20px 0;
    font-family: "Montserrat", sans-serif;
    font-weight: normal;
    color: #5e5e5e;
    text-transform: none; }
  
  /* Add margin if adjacent element */
  * + h1, * + .uk-h1,
  * + h2, * + .uk-h2,
  * + h3, * + .uk-h3,
  * + h4, * + .uk-h4,
  * + h5, * + .uk-h5,
  * + h6, * + .uk-h6 {
    margin-top: 40px; }
  
  /*
   * Sizes
   */
  h1, .uk-h1 {
    font-size: 3.825rem;
    line-height: 1.2; }
  
  h2, .uk-h2 {
    font-size: 1.9125rem;
    line-height: 2; }
  
  h3, .uk-h3 {
    font-size: 1.5rem;
    line-height: 1.4; }
  
  h4, .uk-h4 {
    font-size: 1.25rem;
    line-height: 1.4; }
  
  h5, .uk-h5 {
    font-size: 16px;
    line-height: 1.4; }
  
  h6, .uk-h6 {
    font-size: 0.875rem;
    line-height: 1.4; }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    h1, .uk-h1 {
      font-size: 4.5rem; }
    h2, .uk-h2 {
      font-size: 2.25rem; } }
  
  /* Lists
   ========================================================================== */
  ul,
  ol {
    padding-left: 30px; }
  
  /*
   * Reset margin for nested lists
   */
  ul > li > ul,
  ul > li > ol,
  ol > li > ol,
  ol > li > ul {
    margin: 0; }
  
  /* Description lists
   ========================================================================== */
  dt {
    font-weight: bold; }
  
  dd {
    margin-left: 0; }
  
  /* Horizontal rules
   ========================================================================== */
  /*
   * 1. Add the correct box sizing and height in Firefox.
   * 2. Show the overflow in Edge and IE.
   * 3. Add the correct text-align in Edge and IE.
   * 4. Style
   */
  hr, .uk-hr {
    /* 1 */
    box-sizing: content-box;
    height: 0;
    /* 2 */
    overflow: visible;
    /* 3 */
    text-align: inherit;
    /* 4 */
    margin: 0 0 20px 0;
    border: 0;
    border-top: 1px solid #e5e5e5; }
  
  /* Add margin if adjacent element */
  * + hr,
  * + .uk-hr {
    margin-top: 20px; }
  
  /* Address
   ========================================================================== */
  address {
    font-style: normal; }
  
  /* Blockquotes
   ========================================================================== */
  blockquote {
    margin: 0 0 20px 0;
    font-size: 1.25rem;
    line-height: 1.5;
    font-style: italic; }
  
  /* Add margin if adjacent element */
  * + blockquote {
    margin-top: 20px; }
  
  /*
   * Content
   */
  blockquote p:last-of-type {
    margin-bottom: 0; }
  
  blockquote footer {
    margin-top: 10px;
    font-size: 0.875rem;
    line-height: 1.5; }
  
  /* Preformatted text
   ========================================================================== */
  /*
   * 1. Contain overflow in all browsers.
   */
  pre {
    font: 0.875rem / 1.5 Consolas, monaco, monospace;
    color: #5e5e5e;
    -moz-tab-size: 4;
    tab-size: 4;
    /* 1 */
    overflow: auto; }
  
  pre code {
    font-family: Consolas, monaco, monospace; }
  
  /* Selection pseudo-element
   ========================================================================== */
  ::selection {
    background: #39f;
    color: #fff;
    text-shadow: none; }
  
  /* HTML5 elements
   ========================================================================== */
  /*
   * 1. Add the correct display in Edge, IE 10+, and Firefox.
   * 2. Add the correct display in IE.
   */
  details,
  main {
    /* 2 */
    display: block; }
  
  /*
   * Add the correct display in all browsers.
   */
  summary {
    display: list-item; }
  
  /*
   * Add the correct display in IE.
   */
  template {
    display: none; }
  
  /* Pass media breakpoints to JS
   ========================================================================== */
  /*
   * Breakpoints
   */
  .uk-breakpoint-s::before {
    content: "640px"; }
  
  .uk-breakpoint-m::before {
    content: "960px"; }
  
  .uk-breakpoint-l::before {
    content: "1200px"; }
  
  .uk-breakpoint-xl::before {
    content: "1600px"; }
  
  :root {
    --uk-breakpoint-s: 640px;
    --uk-breakpoint-m: 960px;
    --uk-breakpoint-l: 1200px;
    --uk-breakpoint-xl: 1600px; }
  
  /* ========================================================================
     Component: Link
   ========================================================================== */
  /* Muted
   ========================================================================== */
  a.uk-link-muted,
  .uk-link-muted a {
    color: #999; }
  
  a.uk-link-muted:hover,
  .uk-link-muted a:hover {
    color: #5e5e5e; }
  
  /* Text
   ========================================================================== */
  a.uk-link-text:not(:hover),
  .uk-link-text a:not(:hover) {
    color: inherit; }
  
  a.uk-link-text:hover,
  .uk-link-text a:hover {
    color: #999; }
  
  /* Heading
   ========================================================================== */
  a.uk-link-heading:not(:hover),
  .uk-link-heading a:not(:hover) {
    color: inherit; }
  
  a.uk-link-heading:hover,
  .uk-link-heading a:hover {
    color: #dc0b40;
    text-decoration: none; }
  
  /* Reset
   ========================================================================== */
  /*
   * `!important` needed to override inverse component
   */
  a.uk-link-reset,
  a.uk-link-reset:hover,
  .uk-link-reset a,
  .uk-link-reset a:hover {
    color: inherit !important;
    text-decoration: none !important; }
  
  /* ========================================================================
     Component: Heading
   ========================================================================== */
  /* Primary
   ========================================================================== */
  .uk-heading-primary {
    font-size: 3rem;
    line-height: 1.2; }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-heading-primary {
      font-size: 3.375rem; } }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-heading-primary {
      font-size: 3.75rem;
      line-height: 1.1; } }
  
  /* Hero
   ========================================================================== */
  .uk-heading-hero {
    font-size: 4rem;
    line-height: 1.1; }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-heading-hero {
      font-size: 6rem;
      line-height: 1; } }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-heading-hero {
      font-size: 8rem;
      line-height: 1; } }
  
  /* Divider
   ========================================================================== */
  .uk-heading-divider {
    padding-bottom: 10px;
    border-bottom: 1px solid #e5e5e5; }
  
  /* Bullet
   ========================================================================== */
  .uk-heading-bullet {
    position: relative; }
  
  /*
   * 1. Using `inline-block` to make it work with text alignment
   * 2. Center vertically
   * 3. Style
   */
  .uk-heading-bullet::before {
    content: "";
    /* 1 */
    display: inline-block;
    /* 2 */
    position: relative;
    top: calc(-0.1 * 1em);
    vertical-align: middle;
    /* 3 */
    height: 0.9em;
    margin-right: 10px;
    border-left: 5px solid #e5e5e5; }
  
  /* Line
   ========================================================================== */
  /*
   * Clip the child element
   */
  .uk-heading-line {
    overflow: hidden; }
  
  /*
   * Extra markup is needed to make it work with text align
   */
  .uk-heading-line > * {
    display: inline-block;
    position: relative; }
  
  /*
   * 1. Center vertically
   * 2. Make the element as large as possible. It's clipped by the container.
   * 3. Style
   */
  .uk-heading-line > ::before,
  .uk-heading-line > ::after {
    content: "";
    /* 1 */
    position: absolute;
    top: calc(50% - (1px / 2));
    /* 2 */
    width: 2000px;
    /* 3 */
    border-bottom: 1px solid #e5e5e5; }
  
  .uk-heading-line > ::before {
    right: 100%;
    margin-right: 0.6em; }
  
  .uk-heading-line > ::after {
    left: 100%;
    margin-left: 0.6em; }
  
  /* ========================================================================
     Component: Divider
   ========================================================================== */
  /*
   * 1. Reset default `hr`
   * 2. Set margin if a `div` is used for semantical reason
   */
  [class*='uk-divider'] {
    /* 1 */
    border: none;
    /* 2 */
    margin-bottom: 20px; }
  
  /* Add margin if adjacent element */
  * + [class*='uk-divider'] {
    margin-top: 20px; }
  
  /* Icon
   ========================================================================== */
  .uk-divider-icon {
    position: relative;
    height: 20px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22none%22%20stroke%3D%22%23e5e5e5%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
    background-repeat: no-repeat;
    background-position: 50% 50%; }
  
  .uk-divider-icon::before,
  .uk-divider-icon::after {
    content: "";
    position: absolute;
    top: 50%;
    max-width: calc(50% - (50px / 2));
    border-bottom: 1px solid #e5e5e5; }
  
  .uk-divider-icon::before {
    right: calc(50% + (50px / 2));
    width: 100%; }
  
  .uk-divider-icon::after {
    left: calc(50% + (50px / 2));
    width: 100%; }
  
  /* Small
   ========================================================================== */
  /*
   * Fix height of `hr` element not being expanded by child border width.
   * `height` also needed to reset the child `line-height` caused by `inline-block`
   */
  .uk-divider-small {
    height: 1px; }
  
  .uk-divider-small::after {
    content: "";
    display: inline-block;
    width: 100px;
    max-width: 100%;
    border-top: 1px solid #e5e5e5;
    vertical-align: top; }
  
  /* Vertical
   ========================================================================== */
  .uk-divider-vertical {
    width: 1px;
    height: 100px;
    margin-left: auto;
    margin-right: auto;
    border-left: 1px solid #e5e5e5; }
  
  /* ========================================================================
     Component: List
   ========================================================================== */
  .uk-list {
    padding: 0;
    list-style: none; }
  
  /*
   * Micro clearfix
   */
  .uk-list > li::before,
  .uk-list > li::after {
    content: "";
    display: table; }
  
  .uk-list > li::after {
    clear: both; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-list > li > :last-child {
    margin-bottom: 0; }
  
  /*
   * Nested lists
   */
  .uk-list ul {
    margin: 0;
    padding-left: 30px;
    list-style: none; }
  
  /*
   * Style
   */
  .uk-list > li:nth-child(n+2),
  .uk-list > li > ul {
    margin-top: 10px; }
  
  /* Style modifiers
   ========================================================================== */
  /*
   * Divider
   */
  .uk-list-divider > li:nth-child(n+2) {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #e5e5e5; }
  
  /*
   * Striped
   */
  .uk-list-striped > li {
    padding: 10px 10px; }
  
  .uk-list-striped > li:nth-of-type(odd) {
    background: #f8f8f8; }
  
  .uk-list-striped > li:nth-child(n+2) {
    margin-top: 0; }
  
  /*
   * Bullet
   * 1. Reset display `table` which causes issues in combination with multi column layouts.
   */
  .uk-list-bullet > li {
    position: relative;
    padding-left: calc(1.5em + 10px); }
  
  .uk-list-bullet > li::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 1.5em;
    height: 1.5em;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%235e5e5e%22%20cx%3D%223%22%20cy%3D%223%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: 50% 50%;
    /* 1 */
    display: block; }
  
  /* Size modifier
   ========================================================================== */
  .uk-list-large > li:nth-child(n+2),
  .uk-list-large > li > ul {
    margin-top: 20px; }
  
  /*
   * Divider
   */
  .uk-list-large.uk-list-divider > li:nth-child(n+2) {
    margin-top: 20px;
    padding-top: 20px; }
  
  /*
   * Striped
   */
  .uk-list-large.uk-list-striped > li {
    padding: 20px 10px; }
  
  .uk-list-large.uk-list-striped > li:nth-child(n+2) {
    margin-top: 0; }
  
  /* ========================================================================
     Component: Description list
   ========================================================================== */
  /*
   * Term
   */
  .uk-description-list > dt {
    color: #333; }
  
  .uk-description-list > dt:nth-child(n+2) {
    margin-top: 20px; }
  
  /*
   * Description
   */
  /* Style modifier
   ========================================================================== */
  /*
   * Line
   */
  .uk-description-list-divider > dt:nth-child(n+2) {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid #e5e5e5; }
  
  /* ========================================================================
     Component: Table
   ========================================================================== */
  /*
   * 1. Remove most spacing between table cells.
   * 2. Behave like a block element
   * 3. Style
   */
  .uk-table {
    /* 1 */
    border-collapse: collapse;
    border-spacing: 0;
    /* 2 */
    width: 100%;
    /* 3 */
    margin-bottom: 20px; }
  
  /* Add margin if adjacent element */
  * + .uk-table {
    margin-top: 20px; }
  
  /* Header cell
   ========================================================================== */
  /*
   * 1. Style
   */
  .uk-table th {
    padding: 16px 12px;
    text-align: left;
    vertical-align: bottom;
    /* 1 */
    font-size: 16px;
    font-weight: bold;
    color: #5e5e5e; }
  
  /* Cell
   ========================================================================== */
  .uk-table td {
    padding: 16px 12px;
    vertical-align: top; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-table td > :last-child {
    margin-bottom: 0; }
  
  /* Footer
   ========================================================================== */
  .uk-table tfoot {
    font-size: 0.875rem; }
  
  /* Caption
   ========================================================================== */
  .uk-table caption {
    font-size: 0.875rem;
    text-align: left;
    color: #999; }
  
  /* Alignment modifier
   ========================================================================== */
  .uk-table-middle,
  .uk-table-middle td {
    vertical-align: middle !important; }
  
  /* Style modifiers
   ========================================================================== */
  /*
   * Divider
   */
  .uk-table-divider > tr:not(:first-child),
  .uk-table-divider > :not(:first-child) > tr,
  .uk-table-divider > :first-child > tr:not(:first-child) {
    border-top: 1px solid #e5e5e5; }
  
  /*
   * Striped
   */
  .uk-table-striped > tr:nth-of-type(odd),
  .uk-table-striped tbody tr:nth-of-type(odd) {
    background: #f8f8f8; }
  
  /*
   * Hover
   */
  .uk-table-hover > tr:hover,
  .uk-table-hover tbody tr:hover {
    background: #ffd; }
  
  /* Active state
   ========================================================================== */
  .uk-table > tr.uk-active,
  .uk-table tbody tr.uk-active {
    background: #ffd; }
  
  /* Size modifier
   ========================================================================== */
  .uk-table-small th,
  .uk-table-small td {
    padding: 10px 12px; }
  
  .uk-table-large th,
  .uk-table-large td {
    padding: 22px 12px; }
  
  /* Justify modifier
   ========================================================================== */
  .uk-table-justify th:first-child,
  .uk-table-justify td:first-child {
    padding-left: 0; }
  
  .uk-table-justify th:last-child,
  .uk-table-justify td:last-child {
    padding-right: 0; }
  
  /* Cell size modifier
   ========================================================================== */
  .uk-table-shrink {
    width: 1px; }
  
  .uk-table-expand {
    min-width: 150px; }
  
  /* Cell link modifier
   ========================================================================== */
  /*
   * Does not work with `uk-table-justify` at the moment
   */
  .uk-table-link {
    padding: 0 !important; }
  
  .uk-table-link > a {
    display: block;
    padding: 16px 12px; }
  
  .uk-table-small .uk-table-link > a {
    padding: 10px 12px; }
  
  /* Responsive table
   ========================================================================== */
  /* Phone landscape and smaller */
  @media (max-width: 959px) {
    .uk-table-responsive,
    .uk-table-responsive tbody,
    .uk-table-responsive th,
    .uk-table-responsive td,
    .uk-table-responsive tr {
      display: block; }
    .uk-table-responsive thead {
      display: none; }
    .uk-table-responsive th,
    .uk-table-responsive td {
      width: auto !important;
      max-width: none !important;
      min-width: 0 !important;
      overflow: visible !important;
      white-space: normal !important; }
    .uk-table-responsive th:not(:first-child):not(.uk-table-link),
    .uk-table-responsive td:not(:first-child):not(.uk-table-link),
    .uk-table-responsive .uk-table-link:not(:first-child) > a {
      padding-top: 5px !important; }
    .uk-table-responsive th:not(:last-child):not(.uk-table-link),
    .uk-table-responsive td:not(:last-child):not(.uk-table-link),
    .uk-table-responsive .uk-table-link:not(:last-child) > a {
      padding-bottom: 5px !important; }
    .uk-table-justify.uk-table-responsive th,
    .uk-table-justify.uk-table-responsive td {
      padding-left: 0;
      padding-right: 0; } }
  
  /* ========================================================================
     Component: Icon
   ========================================================================== */
  /*
   * Note: 1. - 7. is required for `button` elements. Needed for Close and Form Icon component.
   * 1. Remove margins in Chrome, Safari and Opera.
   * 2. Remove borders for `button`.
   * 3. Remove border-radius in Chrome.
   * 4. Address `overflow` set to `hidden` in IE.
   * 5. Correct `font` properties and `color` not being inherited for `button`.
   * 6. Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 7. Remove default `button` padding and background color
   * 8. Style
   * 9. Fill all SVG elements with the current text color if no `fill` attribute is set
   * 10. Let the container fit the height of the icon
   */
  .uk-icon {
    /* 1 */
    margin: 0;
    /* 2 */
    border: none;
    /* 3 */
    border-radius: 0;
    /* 4 */
    overflow: visible;
    /* 5 */
    font: inherit;
    color: inherit;
    /* 6 */
    text-transform: none;
    /* 7. */
    padding: 0;
    background-color: transparent;
    /* 8 */
    display: inline-block;
    /* 9 */
    fill: currentcolor;
    /* 10 */
    line-height: 0; }
  
  /* Required for `button`. */
  button.uk-icon:not(:disabled) {
    cursor: pointer; }
  
  /*
   * Remove the inner border and padding in Firefox.
   */
  .uk-icon::-moz-focus-inner {
    border: 0;
    padding: 0; }
  
  /*
   * Set the fill and stroke color of all SVG elements to the current text color
   */
  .uk-icon:not(.uk-preserve) [fill*='#']:not(.uk-preserve) {
    fill: currentcolor; }
  
  .uk-icon:not(.uk-preserve) [stroke*='#']:not(.uk-preserve) {
    stroke: currentcolor; }
  
  /*
   * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
   */
  .uk-icon > * {
    transform: translate(0, 0); }
  
  /* Image modifier
   ========================================================================== */
  /*
   * Display images in icon dimensions
   */
  .uk-icon-image {
    width: 20px;
    height: 20px;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: contain;
    vertical-align: middle; }
  
  /* Style modifiers
   ========================================================================== */
  /*
   * Link
   */
  .uk-icon-link {
    color: #999; }
  
  .uk-icon-link:hover,
  .uk-icon-link:focus {
    color: #5e5e5e;
    outline: none; }
  
  /* OnClick + Active */
  .uk-icon-link:active,
  .uk-active > .uk-icon-link {
    color: #515151; }
  
  /*
   * Button
   * 1. Center icon vertically and horizontally
   */
  .uk-icon-button {
    box-sizing: border-box;
    width: 36px;
    height: 36px;
    border-radius: 500px;
    background: #f8f8f8;
    color: #999;
    vertical-align: middle;
    /* 1 */
    display: inline-flex;
    justify-content: center;
    align-items: center; }
  
  /* Hover + Focus */
  .uk-icon-button:hover,
  .uk-icon-button:focus {
    background-color: #ebebeb;
    color: #5e5e5e;
    outline: none; }
  
  /* OnClick + Active */
  .uk-icon-button:active,
  .uk-active > .uk-icon-button {
    background-color: #dfdfdf;
    color: #5e5e5e; }
  
  /* ========================================================================
     Component: Form Range
   ========================================================================== */
  /*
   * 1. Normalize and defaults
   * 2. Prevent content overflow if a fixed width is used
   * 3. Take the full width
   * 4. Remove default style
   * 5. Remove white background in Chrome
   * 6. Remove padding in IE11
   */
  .uk-range {
    /* 1 */
    box-sizing: border-box;
    margin: 0;
    vertical-align: middle;
    /* 2 */
    max-width: 100%;
    /* 3 */
    width: 100%;
    /* 4 */
    -webkit-appearance: none;
    /* 5 */
    background: transparent;
    /* 6 */
    padding: 0; }
  
  /* Focus */
  .uk-range:focus {
    outline: none; }
  
  .uk-range::-moz-focus-outer {
    border: none; }
  
  /* IE11 Reset */
  .uk-range::-ms-track {
    height: 15px;
    background: transparent;
    border-color: transparent;
    color: transparent; }
  
  /*
   * Improves consistency of cursor style for clickable elements
   */
  .uk-range:not(:disabled)::-webkit-slider-thumb {
    cursor: pointer; }
  
  .uk-range:not(:disabled)::-moz-range-thumb {
    cursor: pointer; }
  
  .uk-range:not(:disabled)::-ms-thumb {
    cursor: pointer; }
  
  /* Thumb
   ========================================================================== */
  /*
   * 1. Reset
   * 2. Style
   */
  /* Webkit */
  .uk-range::-webkit-slider-thumb {
    /* 1 */
    -webkit-appearance: none;
    margin-top: -7px;
    /* 2 */
    height: 15px;
    width: 15px;
    border-radius: 500px;
    background: #5e5e5e; }
  
  /* Firefox */
  .uk-range::-moz-range-thumb {
    /* 1 */
    border: none;
    /* 2 */
    height: 15px;
    width: 15px;
    border-radius: 500px;
    background: #5e5e5e; }
  
  /* Edge */
  .uk-range::-ms-thumb {
    /* 1 */
    margin-top: 0; }
  
  /* IE11 */
  .uk-range::-ms-thumb {
    /* 1 */
    border: none;
    /* 2 */
    height: 15px;
    width: 15px;
    border-radius: 500px;
    background: #5e5e5e; }
  
  /* Edge + IE11 */
  .uk-range::-ms-tooltip {
    display: none; }
  
  /* Track
   ========================================================================== */
  /*
   * 1. Safari doesn't have a focus state. Using active instead.
   */
  /* Webkit */
  .uk-range::-webkit-slider-runnable-track {
    height: 3px;
    background: #ebebeb; }
  
  .uk-range:focus::-webkit-slider-runnable-track,
  .uk-range:active::-webkit-slider-runnable-track {
    background: #d2d2d2; }
  
  /* Firefox */
  .uk-range::-moz-range-track {
    height: 3px;
    background: #ebebeb; }
  
  .uk-range:focus::-moz-range-track {
    background: #d2d2d2; }
  
  /* Edge */
  .uk-range::-ms-fill-lower,
  .uk-range::-ms-fill-upper {
    height: 3px;
    background: #ebebeb; }
  
  .uk-range:focus::-ms-fill-lower,
  .uk-range:focus::-ms-fill-upper {
    background: #d2d2d2; }
  
  /* ========================================================================
     Component: Form
   ========================================================================== */
  /*
   * 1. Define consistent box sizing.
   *    Default is `content-box` with following exceptions set to `border-box`
   *    `select`, `input[type="checkbox"]` and `input[type="radio"]`
   *    `input[type="search"]` in Chrome, Safari and Opera
   *    `input[type="color"]` in Firefox
   * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
   * 3. Remove `border-radius` in iOS.
   * 4. Change font properties to `inherit` in all browsers.
   */
  .uk-input,
  .uk-select,
  .uk-textarea,
  .uk-radio,
  .uk-checkbox {
    /* 1 */
    box-sizing: border-box;
    /* 2 */
    margin: 0;
    /* 3 */
    border-radius: 0;
    /* 4 */
    font: inherit; }
  
  /*
   * Show the overflow in Edge.
   */
  .uk-input {
    overflow: visible; }
  
  /*
   * Remove the inheritance of text transform in Firefox.
   */
  .uk-select {
    text-transform: none; }
  
  /*
   * 1. Change font properties to `inherit` in all browsers
   * 2. Don't inherit the `font-weight` and use `bold` instead.
   * NOTE: Both declarations don't work in Chrome, Safari and Opera.
   */
  .uk-select optgroup {
    /* 1 */
    font: inherit;
    /* 2 */
    font-weight: bold; }
  
  /*
   * Remove the default vertical scrollbar in IE 10+.
   */
  .uk-textarea {
    overflow: auto; }
  
  /*
   * Remove the inner padding and cancel buttons in Chrome on OS X and Safari on OS X.
   */
  .uk-input[type="search"]::-webkit-search-cancel-button,
  .uk-input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }
  
  /*
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
  .uk-input[type="number"]::-webkit-inner-spin-button,
  .uk-input[type="number"]::-webkit-outer-spin-button {
    height: auto; }
  
  /*
   * Removes placeholder transparency in Firefox.
   */
  .uk-input::-moz-placeholder,
  .uk-textarea::-moz-placeholder {
    opacity: 1; }
  
  /*
   * Improves consistency of cursor style for clickable elements
   */
  .uk-radio:not(:disabled),
  .uk-checkbox:not(:disabled) {
    cursor: pointer; }
  
  /*
   * Define consistent border, margin, and padding.
   */
  .uk-fieldset {
    border: none;
    margin: 0;
    padding: 0; }
  
  /* Input, select and textarea
   * Allowed: `text`, `password`, `datetime`, `datetime-local`, `date`,  `month`,
              `time`, `week`, `number`, `email`, `url`, `search`, `tel`, `color`
   * Disallowed: `range`, `radio`, `checkbox`, `file`, `submit`, `reset` and `image`
   ========================================================================== */
  /*
   * Remove default style in iOS.
   */
  .uk-input,
  .uk-textarea {
    -webkit-appearance: none; }
  
  /*
   * 1. Prevent content overflow if a fixed width is used
   * 2. Take the full width
   * 3. Reset default
   * 4. Style
   */
  .uk-input,
  .uk-select,
  .uk-textarea {
    /* 1 */
    max-width: 100%;
    /* 2 */
    width: 100%;
    /* 3 */
    border: 0 none;
    /* 4 */
    padding: 0 20px;
    background: white;
    color: #3b3b3b; }
  
  /*
   * Single-line
   * 1. Allow any element to look like an `input` or `select` element
   * 2. Make sure line-height is not larger than height
   *    Also needed to center the text vertically
   */
  .uk-input,
  .uk-select:not([multiple]):not([size]) {
    height: 40px;
    vertical-align: middle;
    /* 1 */
    display: inline-block; }
  
  /* 2 */
  .uk-input:not(input),
  .uk-select:not(select) {
    line-height: 40px; }
  
  /*
   * Multi-line
   */
  .uk-select[multiple],
  .uk-select[size],
  .uk-textarea {
    padding-top: 10px;
    padding-bottom: 10px;
    vertical-align: top; }
  
  /* Focus */
  .uk-input:focus,
  .uk-select:focus,
  .uk-textarea:focus {
    outline: none;
    background-color: white;
    color: #3b3b3b; }
  
  /* Disabled */
  .uk-input:disabled,
  .uk-select:disabled,
  .uk-textarea:disabled {
    background-color: #f8f8f8;
    color: #999; }
  
  /*
   * Placeholder
   */
  .uk-input::-ms-input-placeholder {
    color: #999 !important; }
  
  .uk-input::placeholder {
    color: #999; }
  
  .uk-textarea::-ms-input-placeholder {
    color: #999 !important; }
  
  .uk-textarea::placeholder {
    color: #999; }
  
  /* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
   ========================================================================== */
  /*
   * Small
   */
  .uk-form-small {
    font-size: 0.875rem; }
  
  .uk-form-small:not(textarea):not([multiple]):not([size]) {
    height: 30px;
    padding-left: 8px;
    padding-right: 8px; }
  
  .uk-form-small:not(select):not(input):not(textarea) {
    line-height: 30px; }
  
  /*
   * Large
   */
  .uk-form-large {
    font-size: 1.25rem; }
  
  .uk-form-large:not(textarea):not([multiple]):not([size]) {
    height: 53px !important;
    padding-left: 12px;
    padding-right: 12px; }
  
  .uk-form-large:not(select):not(input):not(textarea) {
    line-height: 53px !important; }
  
  /* Style modifier (`uk-input`, `uk-select` and `uk-textarea`)
   ========================================================================== */
  /*
   * Error
   */
  .uk-form-danger,
  .uk-form-danger:focus {
    color: #f0506e; }
  
  /*
   * Success
   */
  .uk-form-success,
  .uk-form-success:focus {
    color: #32d296; }
  
  /*
   * Blank
   */
  .uk-form-blank {
    background: none; }
  
  /* Width modifiers (`uk-input`, `uk-select` and `uk-textarea`)
   ========================================================================== */
  /*
   * Fixed widths
   * Different widths for mini sized `input` and `select` elements
   */
  input.uk-form-width-xsmall {
    width: 50px; }
  
  select.uk-form-width-xsmall {
    width: 75px; }
  
  .uk-form-width-small {
    width: 130px; }
  
  .uk-form-width-medium {
    width: 200px; }
  
  .uk-form-width-large {
    width: 500px; }
  
  /* Select
   ========================================================================== */
  /*
   * 1. Remove default style. Also works in Firefox
   * 2. Style
   * 3. Remove default style in IE 10/11
   * 4. Set `color` for options in the select dropdown, because the inherited `color` might be too light.
   */
  .uk-select:not([multiple]):not([size]) {
    /* 1 */
    -webkit-appearance: none;
    -moz-appearance: none;
    /* 2 */
    padding-right: 20px;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%235e5e5e%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%235e5e5e%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
    background-repeat: no-repeat;
    background-position: 100% 50%; }
  
  /* 3 */
  .uk-select:not([multiple]):not([size])::-ms-expand {
    display: none; }
  
  /* 4 */
  .uk-select:not([multiple]):not([size]) option {
    color: #444; }
  
  /*
   * Disabled
   */
  .uk-select:not([multiple]):not([size]):disabled {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
  
  /* Radio and checkbox
   * Note: Does not work in IE11
   ========================================================================== */
  /*
   * 1. Style
   * 2. Make box more robust so it clips the child element
   * 3. Vertical alignment
   * 4. Remove default style
   * 5. Fix black background on iOS
   * 6. Center icons
   */
  .uk-radio,
  .uk-checkbox {
    /* 1 */
    display: inline-block;
    height: 16px;
    width: 16px;
    /* 2 */
    overflow: hidden;
    /* 3 */
    margin-top: -4px;
    vertical-align: middle;
    /* 4 */
    -webkit-appearance: none;
    -moz-appearance: none;
    /* 5 */
    background-color: #ebebeb;
    /* 6 */
    background-repeat: no-repeat;
    background-position: 50% 50%; }
  
  .uk-radio {
    border-radius: 50%; }
  
  /* Focus */
  .uk-radio:focus,
  .uk-checkbox:focus {
    outline: none; }
  
  /*
   * Checked
   */
  .uk-radio:checked,
  .uk-checkbox:checked,
  .uk-checkbox:indeterminate {
    background-color: #dc0b40; }
  
  /* Focus */
  .uk-radio:checked:focus,
  .uk-checkbox:checked:focus,
  .uk-checkbox:indeterminate:focus {
    background-color: #ab0932; }
  
  /*
   * Icons
   */
  .uk-radio:checked {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23fff%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  
  .uk-checkbox:checked {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
  
  .uk-checkbox:indeterminate {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23fff%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  
  /*
   * Disabled
   */
  .uk-radio:disabled,
  .uk-checkbox:disabled {
    background-color: #f8f8f8; }
  
  .uk-radio:disabled:checked {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23999%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  
  .uk-checkbox:disabled:checked {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
  
  .uk-checkbox:disabled:indeterminate {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23999%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  
  /* Legend
   ========================================================================== */
  /*
   * Legend
   * 1. Behave like block element
   * 2. Correct the color inheritance from `fieldset` elements in IE.
   * 3. Remove padding so people aren't caught out if they zero out fieldsets.
   * 4. Style
   */
  .uk-legend {
    /* 1 */
    width: 100%;
    /* 2 */
    color: inherit;
    /* 3 */
    padding: 0;
    /* 4 */
    font-size: 1.5rem;
    line-height: 1.4; }
  
  /* Custom controls
   ========================================================================== */
  /*
   * 1. Container fits its content
   * 2. Create position context
   * 3. Prevent content overflow
   * 4. Behave like most inline-block elements
   */
  .uk-form-custom {
    /* 1 */
    display: inline-block;
    /* 2 */
    position: relative;
    /* 3 */
    max-width: 100%;
    /* 4 */
    vertical-align: middle; }
  
  /*
   * 1. Position and resize the form control to always cover its container
   * 2. Required for Firefox for positioning to the left
   * 3. Required for Webkit to make `height` work
   * 4. Hide controle and show cursor
   * 5. Needed for the cursor
   * 6. Clip height caused by 5. Needed for Webkit only
   */
  .uk-form-custom select,
  .uk-form-custom input[type="file"] {
    /* 1 */
    position: absolute;
    top: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    /* 2 */
    left: 0;
    /* 3 */
    -webkit-appearance: none;
    /* 4 */
    opacity: 0;
    cursor: pointer; }
  
  .uk-form-custom input[type="file"] {
    /* 5 */
    font-size: 500px;
    /* 6 */
    overflow: hidden; }
  
  /* Label
   ========================================================================== */
  /* Layout
   ========================================================================== */
  /*
   * Stacked
   */
  .uk-form-stacked .uk-form-label {
    display: block;
    margin-bottom: 10px; }
  
  /*
   * Horizontal
   */
  /* Tablet portrait and smaller */
  @media (max-width: 959px) {
    /* Behave like `uk-form-stacked` */
    .uk-form-horizontal .uk-form-label {
      display: block;
      margin-bottom: 10px; } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-form-horizontal .uk-form-label {
      width: 200px;
      margin-top: 7px;
      float: left; }
    .uk-form-horizontal .uk-form-controls {
      margin-left: 215px; }
    /* Better vertical alignment if controls are checkboxes and radio buttons with text */
    .uk-form-horizontal .uk-form-controls-text {
      padding-top: 7px; } }
  
  /* Icons
   ========================================================================== */
  /*
   * 1. Set position
   * 2. Set width
   * 3. Center icon vertically and horizontally
   * 4. Style
   */
  .uk-form-icon {
    /* 1 */
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    /* 2 */
    width: 40px;
    /* 3 */
    display: inline-flex;
    justify-content: center;
    align-items: center;
    /* 4 */
    color: #999; }
  
  /*
   * Required for `a`.
   */
  .uk-form-icon:hover {
    color: #5e5e5e; }
  
  /*
   * Make `input` element clickable through icon, e.g. if it's a `span`
   */
  .uk-form-icon:not(a):not(button):not(input) {
    pointer-events: none; }
  
  /*
   * Input padding
   */
  .uk-form-icon:not(.uk-form-icon-flip) ~ .uk-input {
    padding-left: 40px !important; }
  
  /*
   * Position modifier
   */
  .uk-form-icon-flip {
    right: 0;
    left: auto; }
  
  .uk-form-icon-flip ~ .uk-input {
    padding-right: 40px !important; }
  
  /* ========================================================================
     Component: Button
   ========================================================================== */
  /*
   * 1. Remove margins in Chrome, Safari and Opera.
   * 2. Remove borders for `button`.
   * 3. Address `overflow` set to `hidden` in IE.
   * 4. Correct `font` properties and `color` not being inherited for `button`.
   * 5. Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 6. Style
   * 7. `line-height` is used to create a height because it also centers the text vertically for `a` elements.
   *    Better would be to use height and flexbox to center the text vertically but flexbox doesn't work in Firefox on `button` elements.
   * 8. Align text if button has a width
   * 9. Required for `a`.
   */
  .uk-button, .mainmenu ul li.button a {
    /* 1 */
    margin: 0;
    /* 2 */
    border: none;
    /* 3 */
    overflow: visible;
    /* 4 */
    font: inherit;
    color: inherit;
    /* 5 */
    text-transform: none;
    /* 6 */
    display: inline-block;
    box-sizing: border-box;
    padding: 0 30px;
    vertical-align: middle;
    font-size: 16px;
    /* 7 */
    line-height: 40px;
    /* 8 */
    text-align: center;
    /* 9 */
    text-decoration: none; }
  
  .uk-button:not(:disabled), .mainmenu ul li.button a:not(:disabled) {
    cursor: pointer; }
  
  /*
   * Remove the inner border and padding in Firefox.
   */
  .uk-button::-moz-focus-inner, .mainmenu ul li.button a::-moz-focus-inner {
    border: 0;
    padding: 0; }
  
  /* Hover */
  .uk-button:hover, .mainmenu ul li.button a:hover {
    /* 9 */
    text-decoration: none; }
  
  /* Focus */
  .uk-button:focus, .mainmenu ul li.button a:focus {
    outline: none; }
  
  /* OnClick + Active */
  /* Style modifiers
   ========================================================================== */
  /*
   * Default
   */
  .uk-button-default {
    background-color: #f8f8f8;
    color: #333; }
  
  /* Hover + Focus */
  .uk-button-default:hover,
  .uk-button-default:focus {
    background-color: #ebebeb;
    color: #333; }
  
  /* OnClick + Active */
  .uk-button-default:active,
  .uk-button-default.uk-active {
    background-color: #dfdfdf;
    color: #333; }
  
  /*
   * Primary
   */
  .uk-button-primary, .mainmenu ul li.button a {
    background-color: #dc0b40;
    color: #fff !important; }
  
  /* Hover + Focus */
  .uk-button-primary:hover, .mainmenu ul li.button a:hover,
  .uk-button-primary:focus,
  .mainmenu ul li.button a:focus {
    background-color: #c40a39;
    color: #fff; }
  
  /* OnClick + Active */
  .uk-button-primary:active, .mainmenu ul li.button a:active,
  .uk-button-primary.uk-active,
  .mainmenu ul li.button a.uk-active {
    background-color: #ab0932;
    color: #fff; }
  
  /*
   * Secondary
   */
  .uk-button-secondary {
    background-color: #fff;
    color: #dc0b40 !important; }
  
  /* Hover + Focus */
  .uk-button-secondary:hover,
  .uk-button-secondary:focus {
    background-color: #dc0b40;
    color: #fff !important; }
  
  /* OnClick + Active */
  .uk-button-secondary:active,
  .uk-button-secondary.uk-active {
    background-color: #e6e6e6;
    color: #fff; }
  
  /*
   * Danger
   */
  .uk-button-danger {
    background-color: #f0506e;
    color: #fff; }
  
  /* Hover + Focus */
  .uk-button-danger:hover,
  .uk-button-danger:focus {
    background-color: #ee395b;
    color: #fff; }
  
  /* OnClick + Active */
  .uk-button-danger:active,
  .uk-button-danger.uk-active {
    background-color: #ec2147;
    color: #fff; }
  
  /*
   * Disabled
   * The same for all style modifiers
   */
  .uk-button-default:disabled,
  .uk-button-primary:disabled,
  .mainmenu ul li.button a:disabled,
  .uk-button-secondary:disabled,
  .uk-button-danger:disabled {
    background-color: #f8f8f8;
    color: #999; }
  
  /* Size modifiers
   ========================================================================== */
  .uk-button-small {
    padding: 0 15px;
    line-height: 30px;
    font-size: 0.875rem; }
  
  .uk-button-large, .mainmenu ul li.button a {
    padding: 0 40px !important;
    line-height: 53px !important;
    font-size: 14px !important; }
  
  /* Text modifiers
   ========================================================================== */
  /*
   * Text
   * 1. Reset
   * 2. Style
   */
  .uk-button-text {
    /* 1 */
    padding: 0;
    line-height: 1.5;
    background: none;
    /* 2 */
    color: #999; }
  
  /* Hover + Focus */
  .uk-button-text:hover,
  .uk-button-text:focus {
    color: #5e5e5e; }
  
  /* Disabled */
  .uk-button-text:disabled {
    color: #999; }
  
  /*
   * Link
   * 1. Reset
   * 2. Style
   */
  .uk-button-link {
    /* 1 */
    padding: 0;
    line-height: 1.5;
    background: none;
    /* 2 */
    color: #1e87f0; }
  
  /* Hover + Focus */
  .uk-button-link:hover,
  .uk-button-link:focus {
    color: #0f6ecd;
    text-decoration: underline; }
  
  /* Disabled */
  .uk-button-link:disabled {
    color: #999;
    text-decoration: none; }
  
  /* Group
   ========================================================================== */
  /*
   * 1. Using `flex` instead of `inline-block` to prevent whitespace betweent child elements
   * 2. Behave like button
   * 3. Create position context
   */
  .uk-button-group {
    /* 1 */
    display: inline-flex;
    /* 2 */
    vertical-align: middle;
    /* 3 */
    position: relative; }
  
  /* ========================================================================
     Component: Section
   ========================================================================== */
  /*
   * 1. Make it work with `100vh` and height in general
   */
  .uk-section {
    box-sizing: border-box;
    /* 1 */
    padding-top: 40px;
    padding-bottom: 40px; }
  
  /* Desktop and bigger */
  @media (min-width: 960px) {
    .uk-section {
      padding-top: 70px;
      padding-bottom: 70px; } }
  
  /*
   * Micro clearfix
   */
  .uk-section::before,
  .uk-section::after {
    content: "";
    display: table; }
  
  .uk-section::after {
    clear: both; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-section > :last-child {
    margin-bottom: 0; }
  
  /* Size modifiers
   ========================================================================== */
  /*
   * XSmall
   */
  .uk-section-xsmall {
    padding-top: 20px;
    padding-bottom: 20px; }
  
  /*
   * Small
   */
  .uk-section-small {
    padding-top: 40px;
    padding-bottom: 40px; }
  
  /*
   * Large
   */
  .uk-section-large {
    padding-top: 70px;
    padding-bottom: 70px; }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-section-large {
      padding-top: 140px;
      padding-bottom: 140px; } }
  
  /*
   * XLarge
   */
  .uk-section-xlarge {
    padding-top: 140px;
    padding-bottom: 140px; }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-section-xlarge {
      padding-top: 210px;
      padding-bottom: 210px; } }
  
  /* Style modifiers
   ========================================================================== */
  /*
   * Default
   */
  .uk-section-default {
    background: #fff; }
  
  /*
   * Muted
   */
  .uk-section-muted {
    background: #f8f8f8; }
  
  /*
   * Primary
   */
  .uk-section-primary {
    background: #dc0b40; }
  
  /*
   * Secondary
   */
  .uk-section-secondary {
    background: #fff; }
  
  /* Overlap modifier
   ========================================================================== */
  /*
   * Reserved modifier to make a section overlap another section with an border image
   * Implemented by the theme
   */
  /* ========================================================================
     Component: Container
   ========================================================================== */
  /*
   * 1. Box sizing has to be `content-box` so the max-width is always the same and
   *    unaffected by the padding on different breakpoints. It's important for the size modifiers.
   */
  .uk-container {
    /* 1 */
    box-sizing: content-box;
    max-width: 945px;
    margin-left: auto;
    margin-right: auto;
    padding-left: 15px;
    padding-right: 15px; }
  
  /* Phone landscape and bigger */
  @media (min-width: 640px) {
    .uk-container {
      padding-left: 30px;
      padding-right: 30px; } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-container {
      padding-left: 40px;
      padding-right: 40px; } }
  
  /*
   * Micro clearfix
   */
  .uk-container::before,
  .uk-container::after {
    content: "";
    display: table; }
  
  .uk-container::after {
    clear: both; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-container > :last-child {
    margin-bottom: 0; }
  
  /*
   * Remove padding from nested containers
   */
  .uk-container .uk-container {
    padding-left: 0;
    padding-right: 0; }
  
  /* Size modifier
   ========================================================================== */
  .uk-container-xsmall {
    max-width: 750px; }
  
  .uk-container-small {
    max-width: 900px; }
  
  .uk-container-large {
    max-width: 1600px; }
  
  .uk-container-expand {
    max-width: none; }
  
  /* Expand modifier
   ========================================================================== */
  /*
   * Expand one side only
   */
  .uk-container-expand-left {
    margin-left: 0; }
  
  .uk-container-expand-right {
    margin-right: 0; }
  
  /* Phone landscape and bigger */
  @media (min-width: 640px) {
    .uk-container-expand-left.uk-container-xsmall,
    .uk-container-expand-right.uk-container-xsmall {
      max-width: calc(50% + (750px / 2) - 30px); }
    .uk-container-expand-left.uk-container-small,
    .uk-container-expand-right.uk-container-small {
      max-width: calc(50% + (900px / 2) - 30px); } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-container-expand-left,
    .uk-container-expand-right {
      max-width: calc(50% + (945px / 2) - 40px); }
    .uk-container-expand-left.uk-container-xsmall,
    .uk-container-expand-right.uk-container-xsmall {
      max-width: calc(50% + (750px / 2) - 40px); }
    .uk-container-expand-left.uk-container-small,
    .uk-container-expand-right.uk-container-small {
      max-width: calc(50% + (900px / 2) - 40px); }
    .uk-container-expand-left.uk-container-large,
    .uk-container-expand-right.uk-container-large {
      max-width: calc(50% + (1600px / 2) - 40px); } }
  
  /* Item
   ========================================================================== */
  /*
   * Utility classes to reset container padding on the left or right side
   * Note: It has to be negative margin on the item, because it's specific to the item.
   */
  .uk-container-item-padding-remove-left,
  .uk-container-item-padding-remove-right {
    width: calc(100% + 15px); }
  
  .uk-container-item-padding-remove-left {
    margin-left: -15px; }
  
  .uk-container-item-padding-remove-right {
    margin-right: -15px; }
  
  /* Phone landscape and bigger */
  @media (min-width: 640px) {
    .uk-container-item-padding-remove-left,
    .uk-container-item-padding-remove-right {
      width: calc(100% + 30px); }
    .uk-container-item-padding-remove-left {
      margin-left: -30px; }
    .uk-container-item-padding-remove-right {
      margin-right: -30px; } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-container-item-padding-remove-left,
    .uk-container-item-padding-remove-right {
      width: calc(100% + 40px); }
    .uk-container-item-padding-remove-left {
      margin-left: -40px; }
    .uk-container-item-padding-remove-right {
      margin-right: -40px; } }
  
  /* ========================================================================
     Component: Grid
   ========================================================================== */
  /*
   * 1. Allow cells to wrap into the next line
   * 2. Reset list
   */
  .uk-grid {
    display: flex;
    /* 1 */
    flex-wrap: wrap;
    /* 2 */
    margin: 0;
    padding: 0;
    list-style: none; }
  
  /*
   * Grid cell
   * Note: Space is allocated solely based on content dimensions, but shrinks: 0 1 auto
   * Reset margin for e.g. paragraphs
   */
  .uk-grid > * {
    margin: 0; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-grid > * > :last-child {
    margin-bottom: 0; }
  
  /* Gutter
   ========================================================================== */
  /*
   * Default
   */
  /* Horizontal */
  .uk-grid {
    margin-left: -30px; }
  
  .uk-grid > * {
    padding-left: 30px; }
  
  /* Vertical */
  .uk-grid + .uk-grid,
  .uk-grid > .uk-grid-margin,
  * + .uk-grid-margin {
    margin-top: 30px; }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    /* Horizontal */
    .uk-grid {
      margin-left: -40px; }
    .uk-grid > * {
      padding-left: 40px; }
    /* Vertical */
    .uk-grid + .uk-grid,
    .uk-grid > .uk-grid-margin,
    * + .uk-grid-margin {
      margin-top: 40px; } }
  
  /*
   * Small
   */
  /* Horizontal */
  .uk-grid-small {
    margin-left: -15px; }
  
  .uk-grid-small > * {
    padding-left: 15px; }
  
  /* Vertical */
  .uk-grid + .uk-grid-small,
  .uk-grid-small > .uk-grid-margin,
  * + .uk-grid-margin-small {
    margin-top: 15px; }
  
  /*
   * Medium
   */
  /* Horizontal */
  .uk-grid-medium {
    margin-left: -30px; }
  
  .uk-grid-medium > * {
    padding-left: 30px; }
  
  /* Vertical */
  .uk-grid + .uk-grid-medium,
  .uk-grid-medium > .uk-grid-margin,
  * + .uk-grid-margin-medium {
    margin-top: 30px; }
  
  /*
   * Large
   */
  /* Horizontal */
  .uk-grid-large {
    margin-left: -40px; }
  
  .uk-grid-large > * {
    padding-left: 40px; }
  
  /* Vertical */
  .uk-grid + .uk-grid-large,
  .uk-grid-large > .uk-grid-margin,
  * + .uk-grid-margin-large {
    margin-top: 40px; }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    /* Horizontal */
    .uk-grid-large {
      margin-left: -70px; }
    .uk-grid-large > * {
      padding-left: 70px; }
    /* Vertical */
    .uk-grid + .uk-grid-large,
    .uk-grid-large > .uk-grid-margin,
    * + .uk-grid-margin-large {
      margin-top: 70px; } }
  
  /*
   * Collapse
   */
  /* Horizontal */
  .uk-grid-collapse {
    margin-left: 0; }
  
  .uk-grid-collapse > * {
    padding-left: 0; }
  
  /* Vertical */
  .uk-grid + .uk-grid-collapse,
  .uk-grid-collapse > .uk-grid-margin {
    margin-top: 0; }
  
  /* Divider
   ========================================================================== */
  .uk-grid-divider > * {
    position: relative; }
  
  .uk-grid-divider > :not(.uk-first-column)::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    border-left: 1px solid #e5e5e5; }
  
  /* Vertical */
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    border-top: 1px solid #e5e5e5; }
  
  /*
   * Default
   */
  /* Horizontal */
  .uk-grid-divider {
    margin-left: -60px; }
  
  .uk-grid-divider > * {
    padding-left: 60px; }
  
  .uk-grid-divider > :not(.uk-first-column)::before {
    left: 30px; }
  
  /* Vertical */
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin {
    margin-top: 60px; }
  
  .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
    top: -30px;
    left: 60px; }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    /* Horizontal */
    .uk-grid-divider {
      margin-left: -80px; }
    .uk-grid-divider > * {
      padding-left: 80px; }
    .uk-grid-divider > :not(.uk-first-column)::before {
      left: 40px; }
    /* Vertical */
    .uk-grid-divider.uk-grid-stack > .uk-grid-margin {
      margin-top: 80px; }
    .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
      top: -40px;
      left: 80px; } }
  
  /*
   * Small
   */
  /* Horizontal */
  .uk-grid-divider.uk-grid-small {
    margin-left: -30px; }
  
  .uk-grid-divider.uk-grid-small > * {
    padding-left: 30px; }
  
  .uk-grid-divider.uk-grid-small > :not(.uk-first-column)::before {
    left: 15px; }
  
  /* Vertical */
  .uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin {
    margin-top: 30px; }
  
  .uk-grid-divider.uk-grid-small.uk-grid-stack > .uk-grid-margin::before {
    top: -15px;
    left: 30px; }
  
  /*
   * Medium
   */
  /* Horizontal */
  .uk-grid-divider.uk-grid-medium {
    margin-left: -60px; }
  
  .uk-grid-divider.uk-grid-medium > * {
    padding-left: 60px; }
  
  .uk-grid-divider.uk-grid-medium > :not(.uk-first-column)::before {
    left: 30px; }
  
  /* Vertical */
  .uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin {
    margin-top: 60px; }
  
  .uk-grid-divider.uk-grid-medium.uk-grid-stack > .uk-grid-margin::before {
    top: -30px;
    left: 60px; }
  
  /*
   * Large
   */
  /* Horizontal */
  .uk-grid-divider.uk-grid-large {
    margin-left: -80px; }
  
  .uk-grid-divider.uk-grid-large > * {
    padding-left: 80px; }
  
  .uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before {
    left: 40px; }
  
  /* Vertical */
  .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin {
    margin-top: 80px; }
  
  .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
    top: -40px;
    left: 80px; }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    /* Horizontal */
    .uk-grid-divider.uk-grid-large {
      margin-left: -140px; }
    .uk-grid-divider.uk-grid-large > * {
      padding-left: 140px; }
    .uk-grid-divider.uk-grid-large > :not(.uk-first-column)::before {
      left: 70px; }
    /* Vertical */
    .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin {
      margin-top: 140px; }
    .uk-grid-divider.uk-grid-large.uk-grid-stack > .uk-grid-margin::before {
      top: -70px;
      left: 140px; } }
  
  /* Match child of a grid cell
   ========================================================================== */
  /*
   * Behave like a block element
   * 1. Wrap into the next line
   * 2. Take the full width, at least 100%. Only if no class from the Width component is set.
   * 3. Expand width even if larger than 100%, e.g. because of negative margin (Needed for nested grids)
   */
  .uk-grid-match > *,
  .uk-grid-item-match {
    display: flex;
    /* 1 */
    flex-wrap: wrap; }
  
  .uk-grid-match > * > :not([class*='uk-width']),
  .uk-grid-item-match > :not([class*='uk-width']) {
    /* 2 */
    box-sizing: border-box;
    width: 100%;
    /* 3 */
    flex: auto; }
  
  /* ========================================================================
     Component: Tile
   ========================================================================== */
  .uk-tile {
    position: relative;
    box-sizing: border-box;
    padding-left: 15px;
    padding-right: 15px;
    padding-top: 40px;
    padding-bottom: 40px; }
  
  /* Phone landscape and bigger */
  @media (min-width: 640px) {
    .uk-tile {
      padding-left: 30px;
      padding-right: 30px; } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-tile {
      padding-left: 40px;
      padding-right: 40px;
      padding-top: 70px;
      padding-bottom: 70px; } }
  
  /*
   * Micro clearfix
   */
  .uk-tile::before,
  .uk-tile::after {
    content: "";
    display: table; }
  
  .uk-tile::after {
    clear: both; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-tile > :last-child {
    margin-bottom: 0; }
  
  /* Size modifiers
   ========================================================================== */
  /*
   * XSmall
   */
  .uk-tile-xsmall {
    padding-top: 20px;
    padding-bottom: 20px; }
  
  /*
   * Small
   */
  .uk-tile-small {
    padding-top: 40px;
    padding-bottom: 40px; }
  
  /*
   * Large
   */
  .uk-tile-large {
    padding-top: 70px;
    padding-bottom: 70px; }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-tile-large {
      padding-top: 140px;
      padding-bottom: 140px; } }
  
  /*
   * XLarge
   */
  .uk-tile-xlarge {
    padding-top: 140px;
    padding-bottom: 140px; }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-tile-xlarge {
      padding-top: 210px;
      padding-bottom: 210px; } }
  
  /* Style modifiers
   ========================================================================== */
  /*
   * Default
   */
  .uk-tile-default {
    background: #fff; }
  
  /*
   * Muted
   */
  .uk-tile-muted {
    background: #f8f8f8; }
  
  /*
   * Primary
   */
  .uk-tile-primary {
    background: #dc0b40; }
  
  /*
   * Secondary
   */
  .uk-tile-secondary {
    background: #fff; }
  
  /* ========================================================================
     Component: Card
   ========================================================================== */
  .uk-card {
    position: relative;
    box-sizing: border-box; }
  
  /* Sections
   ========================================================================== */
  .uk-card-body {
    padding: 30px 30px; }
  
  .uk-card-header {
    padding: 15px 30px; }
  
  .uk-card-footer {
    padding: 15px 30px; }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-card-body {
      padding: 40px 40px; }
    .uk-card-header {
      padding: 20px 40px; }
    .uk-card-footer {
      padding: 20px 40px; } }
  
  /*
   * Micro clearfix
   */
  .uk-card-body::before,
  .uk-card-body::after,
  .uk-card-header::before,
  .uk-card-header::after,
  .uk-card-footer::before,
  .uk-card-footer::after {
    content: "";
    display: table; }
  
  .uk-card-body::after,
  .uk-card-header::after,
  .uk-card-footer::after {
    clear: both; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-card-body > :last-child,
  .uk-card-header > :last-child,
  .uk-card-footer > :last-child {
    margin-bottom: 0; }
  
  /* Media
   ========================================================================== */
  /*
   * Reserved alignment modifier to style the media element, e.g. with `border-radius`
   * Implemented by the theme
   */
  /* Title
   ========================================================================== */
  .uk-card-title {
    font-size: 1.5rem;
    line-height: 1.4; }
  
  /* Badge
   ========================================================================== */
  .uk-card-badge {
    position: absolute;
    top: 30px;
    right: 30px;
    z-index: 1; }
  
  /*
   * Remove margin from adjacent element
   */
  .uk-card-badge:first-child + * {
    margin-top: 0; }
  
  /* Hover modifier
   ========================================================================== */
  .uk-card-hover:not(.uk-card-default):not(.uk-card-primary):not(.uk-card-secondary):hover {
    background: #f8f8f8; }
  
  /* Style modifiers
   ========================================================================== */
  /*
   * Default
   * Note: Header and Footer are only implemented for the default style
   */
  .uk-card-default {
    background: #fff;
    color: #5e5e5e; }
  
  .uk-card-default .uk-card-title {
    color: #333; }
  
  .uk-card-default.uk-card-hover:hover {
    background-color: #f2f2f2; }
  
  /*
   * Primary
   */
  .uk-card-primary {
    background: #dc0b40;
    color: #fff; }
  
  .uk-card-primary .uk-card-title {
    color: #fff; }
  
  .uk-card-primary.uk-card-hover:hover {
    background-color: #c40a39; }
  
  /*
   * Secondary
   */
  .uk-card-secondary {
    background: #fff;
    color: #fff; }
  
  .uk-card-secondary .uk-card-title {
    color: #fff; }
  
  .uk-card-secondary.uk-card-hover:hover {
    background-color: #f2f2f2; }
  
  /* Size modifier
   ========================================================================== */
  /*
   * Small
   */
  .uk-card-small.uk-card-body,
  .uk-card-small .uk-card-body {
    padding: 20px 20px; }
  
  .uk-card-small .uk-card-header {
    padding: 13px 20px; }
  
  .uk-card-small .uk-card-footer {
    padding: 13px 20px; }
  
  /*
   * Large
   */
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-card-large.uk-card-body,
    .uk-card-large .uk-card-body {
      padding: 70px 70px; }
    .uk-card-large .uk-card-header {
      padding: 35px 70px; }
    .uk-card-large .uk-card-footer {
      padding: 35px 70px; } }
  
  /* ========================================================================
     Component: Close
   ========================================================================== */
  /*
   * Adopts `uk-icon`
   */
  .uk-close {
    color: #999; }
  
  /* Hover + Focus */
  .uk-close:hover,
  .uk-close:focus {
    color: #5e5e5e;
    outline: none; }
  
  /* ========================================================================
     Component: Spinner
   ========================================================================== */
  /*
   * Adopts `uk-icon`
   */
  /* SVG
   ========================================================================== */
  .uk-spinner > * {
    animation: uk-spinner-rotate 1.4s linear infinite; }
  
  @keyframes uk-spinner-rotate {
    0% {
      transform: rotate(0deg); }
    100% {
      transform: rotate(270deg); } }
  
  /*
   * Circle
   */
  .uk-spinner > * > * {
    stroke-dasharray: 88px;
    stroke-dashoffset: 0;
    transform-origin: center;
    animation: uk-spinner-dash 1.4s ease-in-out infinite;
    stroke-width: 1;
    stroke-linecap: round; }
  
  @keyframes uk-spinner-dash {
    0% {
      stroke-dashoffset: 88px; }
    50% {
      stroke-dashoffset: 22px;
      transform: rotate(135deg); }
    100% {
      stroke-dashoffset: 88px;
      transform: rotate(450deg); } }
  
  /* ========================================================================
     Component: Totop
   ========================================================================== */
  /*
   * Addopts `uk-icon`
   */
  .uk-totop {
    padding: 5px;
    color: #999; }
  
  /* Hover + Focus */
  .uk-totop:hover,
  .uk-totop:focus {
    color: #5e5e5e;
    outline: none; }
  
  /* OnClick */
  .uk-totop:active {
    color: #333; }
  
  /* ========================================================================
     Component: Marker
   ========================================================================== */
  /*
   * Addopts `uk-icon`
   */
  .uk-marker {
    padding: 5px;
    background: #fff;
    color: #fff; }
  
  /* Hover + Focus */
  .uk-marker:hover,
  .uk-marker:focus {
    color: #fff;
    outline: none; }
  
  /* ========================================================================
     Component: Alert
   ========================================================================== */
  .uk-alert {
    position: relative;
    margin-bottom: 20px;
    padding: 15px 29px 15px 15px;
    background: #f8f8f8;
    color: #5e5e5e; }
  
  /* Add margin if adjacent element */
  * + .uk-alert {
    margin-top: 20px; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-alert > :last-child {
    margin-bottom: 0; }
  
  /* Close
   * Adopts `uk-close`
   ========================================================================== */
  .uk-alert-close {
    position: absolute;
    top: 20px;
    right: 15px; }
  
  /*
   * Remove margin from adjacent element
   */
  .uk-alert-close:first-child + * {
    margin-top: 0; }
  
  /*
   * Hover + Focus
   */
  /* Style modifiers
   ========================================================================== */
  /*
   * Primary
   */
  .uk-alert-primary {
    background: #f7c6d2;
    color: #dc0b40; }
  
  /*
   * Success
   */
  .uk-alert-success {
    background: #edfbf6;
    color: #32d296; }
  
  /*
   * Warning
   */
  .uk-alert-warning {
    background: #fef5ee;
    color: #faa05a; }
  
  /*
   * Danger
   */
  .uk-alert-danger {
    background: #fef4f6;
    color: #f0506e; }
  
  /* ========================================================================
     Component: Badge
   ========================================================================== */
  /*
   * 1. Style
   * 2. Center child vertically and horizontally
   */
  .uk-badge {
    box-sizing: border-box;
    min-width: 22px;
    height: 22px;
    padding: 0 5px;
    border-radius: 500px;
    vertical-align: middle;
    /* 1 */
    background: #dc0b40;
    color: #fff;
    font-size: 0.875rem;
    /* 2 */
    display: inline-flex;
    justify-content: center;
    align-items: center; }
  
  /*
   * Required for `a`
   */
  .uk-badge:hover,
  .uk-badge:focus {
    color: #fff;
    text-decoration: none;
    outline: none; }
  
  /* ========================================================================
     Component: Label
   ========================================================================== */
  .uk-label {
    display: inline-block;
    padding: 0 10px;
    background: #dc0b40;
    line-height: 1.5;
    font-size: 0.875rem;
    color: #fff;
    vertical-align: middle;
    white-space: nowrap; }
  
  /* Color modifiers
   ========================================================================== */
  /*
   * Success
   */
  .uk-label-success {
    background-color: #32d296;
    color: #fff; }
  
  /*
   * Warning
   */
  .uk-label-warning {
    background-color: #faa05a;
    color: #fff; }
  
  /*
   * Danger
   */
  .uk-label-danger {
    background-color: #f0506e;
    color: #fff; }
  
  /* ========================================================================
     Component: Overlay
   ========================================================================== */
  .uk-overlay {
    padding: 30px 30px; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-overlay > :last-child {
    margin-bottom: 0; }
  
  /* Icon
   ========================================================================== */
  /* Style modifiers
   ========================================================================== */
  /*
   * Default
   */
  .uk-overlay-default {
    background: rgba(255, 255, 255, 0.8); }
  
  /*
   * Primary
   */
  .uk-overlay-primary {
    background: rgba(255, 255, 255, 0.8); }
  
  /* ========================================================================
     Component: Article
   ========================================================================== */
  /*
   * Micro clearfix
   */
  .uk-article::before,
  .uk-article::after {
    content: "";
    display: table; }
  
  .uk-article::after {
    clear: both; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-article > :last-child {
    margin-bottom: 0; }
  
  /* Adjacent sibling
   ========================================================================== */
  .uk-article + .uk-article {
    margin-top: 70px; }
  
  /* Title
   ========================================================================== */
  .uk-article-title {
    font-size: 3.825rem;
    line-height: 1.2; }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-article-title {
      font-size: 4.5rem; } }
  
  /* Meta
   ========================================================================== */
  .uk-article-meta {
    font-size: 0.875rem;
    line-height: 1.4;
    color: #999; }
  
  /* ========================================================================
     Component: Comment
   ========================================================================== */
  /* Sections
   ========================================================================== */
  .uk-comment-body {
    overflow-wrap: break-word;
    word-wrap: break-word; }
  
  .uk-comment-header {
    margin-bottom: 20px; }
  
  /*
   * Micro clearfix
   */
  .uk-comment-body::before,
  .uk-comment-body::after,
  .uk-comment-header::before,
  .uk-comment-header::after {
    content: "";
    display: table; }
  
  .uk-comment-body::after,
  .uk-comment-header::after {
    clear: both; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-comment-body > :last-child,
  .uk-comment-header > :last-child {
    margin-bottom: 0; }
  
  /* Title
   ========================================================================== */
  .uk-comment-title {
    font-size: 1.25rem;
    line-height: 1.4; }
  
  /* Meta
   ========================================================================== */
  .uk-comment-meta {
    font-size: 0.875rem;
    line-height: 1.4;
    color: #999; }
  
  /* Avatar
   ========================================================================== */
  /* List
   ========================================================================== */
  .uk-comment-list {
    padding: 0;
    list-style: none; }
  
  /* Adjacent siblings */
  .uk-comment-list > :nth-child(n+2) {
    margin-top: 70px; }
  
  /*
   * Sublists
   * Note: General sibling selector allows reply block between comment and sublist
   */
  .uk-comment-list .uk-comment ~ ul {
    margin: 70px 0 0 0;
    padding-left: 30px;
    list-style: none; }
  
  /* Tablet and bigger */
  @media (min-width: 960px) {
    .uk-comment-list .uk-comment ~ ul {
      padding-left: 100px; } }
  
  /* Adjacent siblings */
  .uk-comment-list .uk-comment ~ ul > :nth-child(n+2) {
    margin-top: 70px; }
  
  /* Style modifier
   ========================================================================== */
  /* ========================================================================
     Component: Search
   ========================================================================== */
  /*
   * 1. Container fits its content
   * 2. Create position context
   * 3. Prevent content overflow
   * 4. Reset `form`
   */
  .uk-search {
    /* 1 */
    display: inline-block;
    /* 2 */
    position: relative;
    /* 3 */
    max-width: 100%;
    /* 4 */
    margin: 0; }
  
  /* Input
   ========================================================================== */
  /*
   * Remove the inner padding and cancel buttons in Chrome on OS X and Safari on OS X.
   */
  .uk-search-input::-webkit-search-cancel-button,
  .uk-search-input::-webkit-search-decoration {
    -webkit-appearance: none; }
  
  /*
   * Removes placeholder transparency in Firefox.
   */
  .uk-search-input::-moz-placeholder {
    opacity: 1; }
  
  /*
   * 1. Define consistent box sizing.
   * 2. Address margins set differently in Firefox/IE and Chrome/Safari/Opera.
   * 3. Remove `border-radius` in iOS.
   * 4. Change font properties to `inherit` in all browsers
   * 5. Show the overflow in Edge.
   * 6. Remove default style in iOS.
   * 7. Vertical alignment
   * 8. Take the full container width
   * 9. Style
   */
  .uk-search-input {
    /* 1 */
    box-sizing: border-box;
    /* 2 */
    margin: 0;
    /* 3 */
    border-radius: 0;
    /* 4 */
    font: inherit;
    /* 5 */
    overflow: visible;
    /* 6 */
    -webkit-appearance: none;
    /* 7 */
    vertical-align: middle;
    /* 8 */
    width: 100%;
    /* 9 */
    border: none;
    color: #5e5e5e; }
  
  .uk-search-input:focus {
    outline: none; }
  
  /* Placeholder */
  .uk-search-input:-ms-input-placeholder {
    color: #999 !important; }
  
  .uk-search-input::placeholder {
    color: #999; }
  
  /* Icon (Adopts `uk-icon`)
   ========================================================================== */
  /*
   * Remove default focus style
   */
  .uk-search-icon:focus {
    outline: none; }
  
  /*
   * Position above input
   * 1. Set position
   * 2. Center icon vertically and horizontally
   * 3. Style
   */
  .uk-search .uk-search-icon {
    /* 1 */
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    /* 2 */
    display: inline-flex;
    justify-content: center;
    align-items: center;
    /* 3 */
    color: #999; }
  
  /*
   * Required for `a`.
   */
  .uk-search .uk-search-icon:hover {
    color: #999; }
  
  /*
   * Make `input` element clickable through icon, e.g. if it's a `span`
   */
  .uk-search .uk-search-icon:not(a):not(button):not(input) {
    pointer-events: none; }
  
  /*
   * Position modifier
   */
  .uk-search .uk-search-icon-flip {
    right: 0;
    left: auto; }
  
  /* Default modifier
   ========================================================================== */
  .uk-search-default {
    width: 180px; }
  
  /*
   * Input
   */
  .uk-search-default .uk-search-input {
    height: 40px;
    padding-left: 6px;
    padding-right: 6px;
    background: #f8f8f8; }
  
  /* Focus */
  .uk-search-default .uk-search-input:focus {
    background-color: #f8f8f8; }
  
  /*
   * Icon
   */
  .uk-search-default .uk-search-icon {
    width: 40px; }
  
  .uk-search-default .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
    padding-left: 40px; }
  
  .uk-search-default .uk-search-icon-flip ~ .uk-search-input {
    padding-right: 40px; }
  
  /* Navbar modifier
   ========================================================================== */
  .uk-search-navbar {
    width: 400px; }
  
  /*
   * Input
   */
  .uk-search-navbar .uk-search-input {
    height: 40px;
    background: transparent;
    font-size: 1.5rem; }
  
  /*
   * Icon
   */
  .uk-search-navbar .uk-search-icon {
    width: 40px; }
  
  .uk-search-navbar .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
    padding-left: 40px; }
  
  .uk-search-navbar .uk-search-icon-flip ~ .uk-search-input {
    padding-right: 40px; }
  
  /* Large modifier
   ========================================================================== */
  .uk-search-large {
    width: 500px; }
  
  /*
   * Input
   */
  .uk-search-large .uk-search-input {
    height: 80px;
    background: transparent;
    font-size: 4.5rem; }
  
  /*
   * Icon
   */
  .uk-search-large .uk-search-icon {
    width: 80px; }
  
  .uk-search-large .uk-search-icon:not(.uk-search-icon-flip) ~ .uk-search-input {
    padding-left: 80px; }
  
  .uk-search-large .uk-search-icon-flip ~ .uk-search-input {
    padding-right: 80px; }
  
  /* Toggle
   ========================================================================== */
  .uk-search-toggle {
    color: #999; }
  
  /* Hover + Focus */
  .uk-search-toggle:hover,
  .uk-search-toggle:focus {
    color: #5e5e5e; }
  
  /* ========================================================================
     Component: Nav
   ========================================================================== */
  /*
   * Reset
   * 1. Prepare lists
   * 2. Prepare links
   * 3. Remove default focus style
   */
  /* 1 */
  .uk-nav,
  .uk-nav ul {
    margin: 0;
    padding: 0;
    list-style: none; }
  
  /* 2 */
  .uk-nav li > a {
    display: block;
    text-decoration: none; }
  
  /* 3 */
  .uk-nav li > a:focus {
    outline: none; }
  
  /*
   * Items
   * Must target `a` elements to exclude other elements (e.g. lists)
   */
  .uk-nav > li > a {
    padding: 5px 0; }
  
  /* Sublists
   ========================================================================== */
  /*
   * Level 2
   * `ul` needed for higher specificity to override padding
   */
  ul.uk-nav-sub {
    padding: 5px 0 5px 15px; }
  
  /*
   * Level 3 and deeper
   */
  .uk-nav-sub ul {
    padding-left: 15px; }
  
  /*
   * Items
   */
  .uk-nav-sub a {
    padding: 2px 0; }
  
  /* Parent icon modifier
   ========================================================================== */
  .uk-nav-parent-icon > .uk-parent > a::after {
    content: "";
    width: 1.5em;
    height: 1.5em;
    float: right;
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%235e5e5e%22%20stroke-width%3D%221.1%22%20points%3D%2210%201%204%207%2010%2013%22%20%2F%3E%0A%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: 50% 50%; }
  
  .uk-nav-parent-icon > .uk-parent.uk-open > a::after {
    background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%235e5e5e%22%20stroke-width%3D%221.1%22%20points%3D%221%204%207%2010%2013%204%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
  
  /* Header
   ========================================================================== */
  .uk-nav-header {
    padding: 5px 0;
    text-transform: uppercase;
    font-size: 0.875rem; }
  
  .uk-nav-header:not(:first-child) {
    margin-top: 20px; }
  
  /* Divider
   ========================================================================== */
  .uk-nav-divider {
    margin: 5px 0; }
  
  /* Default modifier
   ========================================================================== */
  /*
   * Items
   */
  .uk-nav-default > li > a {
    color: #999; }
  
  /* Hover + Focus */
  .uk-nav-default > li > a:hover,
  .uk-nav-default > li > a:focus {
    color: #5e5e5e; }
  
  /* Active */
  .uk-nav-default > li.uk-active > a {
    color: #333; }
  
  /*
   * Header
   */
  .uk-nav-default .uk-nav-header {
    color: #333; }
  
  /*
   * Divider
   */
  .uk-nav-default .uk-nav-divider {
    border-top: 1px solid #e5e5e5; }
  
  /*
   * Sublists
   */
  .uk-nav-default .uk-nav-sub a {
    color: #999; }
  
  .uk-nav-default .uk-nav-sub a:hover,
  .uk-nav-default .uk-nav-sub a:focus {
    color: #5e5e5e; }
  
  .uk-nav-default .uk-nav-sub li.uk-active > a {
    color: #333; }
  
  /* Primary modifier
   ========================================================================== */
  /*
   * Items
   */
  .uk-nav-primary > li > a {
    font-size: 1.5rem;
    line-height: 1.5;
    color: #999; }
  
  /* Hover + Focus */
  .uk-nav-primary > li > a:hover,
  .uk-nav-primary > li > a:focus {
    color: #5e5e5e; }
  
  /* Active */
  .uk-nav-primary > li.uk-active > a {
    color: #333; }
  
  /*
   * Header
   */
  .uk-nav-primary .uk-nav-header {
    color: #333; }
  
  /*
   * Divider
   */
  .uk-nav-primary .uk-nav-divider {
    border-top: 1px solid #e5e5e5; }
  
  /*
   * Sublists
   */
  .uk-nav-primary .uk-nav-sub a {
    color: #999; }
  
  .uk-nav-primary .uk-nav-sub a:hover,
  .uk-nav-primary .uk-nav-sub a:focus {
    color: #5e5e5e; }
  
  .uk-nav-primary .uk-nav-sub li.uk-active > a {
    color: #333; }
  
  /* Alignment modifier
   ========================================================================== */
  .uk-nav-center {
    text-align: center; }
  
  /* Sublists */
  .uk-nav-center .uk-nav-sub,
  .uk-nav-center .uk-nav-sub ul {
    padding-left: 0; }
  
  /* Parent icon modifier  */
  .uk-nav-center.uk-nav-parent-icon > .uk-parent > a::after {
    position: absolute; }
  
  /* ========================================================================
     Component: Navbar
   ========================================================================== */
  /*
   * 1. Create position context to center navbar group
   */
  .uk-navbar {
    display: flex;
    /* 1 */
    position: relative; }
  
  /* Container
   ========================================================================== */
  .uk-navbar-container:not(.uk-navbar-transparent) {
    background: #fff; }
  
  /*
   * Remove pseudo elements created by micro clearfix as precaution (if Container component is used)
   */
  .uk-navbar-container > ::before,
  .uk-navbar-container > ::after {
    display: none !important; }
  
  /* Groups
   ========================================================================== */
  /*
   * 1. Align navs and items vertically if they have a different height
   * 2. Note: IE 11 requires an extra `div` which affects the center selector
   */
  .uk-navbar-left,
  .uk-navbar-right,
  .uk-navbar-center,
  .uk-navbar-center-left > *,
  .uk-navbar-center-right > * {
    display: flex;
    /* 1 */
    align-items: center; }
  
  /*
   * Horizontal alignment
   * 1. Create position context for centered navbar with sub groups (left/right)
   * 2. Needed for dropdowns because a new position context is created
   *    `z-index` must be smaller than off-canvas
   * 3. Fix text wrapping if the centered section is larger than 50% of the navbar
   * 4. Align sub groups for centered navbar
   */
  .uk-navbar-right {
    margin-left: auto; }
  
  .uk-navbar-center:only-child {
    margin-left: auto;
    margin-right: auto;
    /* 1 */
    position: relative; }
  
  .uk-navbar-center:not(:only-child) {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* 2 */
    z-index: 990; }
  
  /* 3 */
  .uk-navbar-center:not(:only-child) .uk-navbar-nav > li > a,
  .uk-navbar-center:not(:only-child) .uk-navbar-item,
  .uk-navbar-center:not(:only-child) .uk-navbar-toggle {
    white-space: nowrap; }
  
  /* 4 */
  .uk-navbar-center-left,
  .uk-navbar-center-right {
    position: absolute;
    top: 0; }
  
  .uk-navbar-center-left {
    right: 100%; }
  
  .uk-navbar-center-right {
    left: 100%; }
  
  [class*='uk-navbar-center-'] .uk-navbar-nav > li > a,
  [class*='uk-navbar-center-'] .uk-navbar-item,
  [class*='uk-navbar-center-'] .uk-navbar-toggle {
    white-space: nowrap; }
  
  /* Nav
   ========================================================================== */
  /*
   * 1. Reset list
   */
  .uk-navbar-nav {
    display: flex;
    /* 1 */
    margin: 0;
    padding: 0;
    list-style: none; }
  
  /*
   * Allow items to wrap into the next line
   * Only not `absolute` positioned groups
   */
  .uk-navbar-left,
  .uk-navbar-right,
  .uk-navbar-center:only-child {
    flex-wrap: wrap; }
  
  /*
   * Items
   * 1. Center content vertically and horizontally
   * 2. Dimensions
   * 3. Style
   * 4. Required for `a`
   */
  .uk-navbar-nav > li > a,
  .uk-navbar-item,
  .uk-navbar-toggle {
    /* 1 */
    display: flex;
    justify-content: center;
    align-items: center;
    /* 2 */
    box-sizing: border-box;
    min-height: 80px;
    padding: 0 15px;
    /* 3 */
    font-size: 14px;
    font-family: "museo-sans", sans-serif;
    /* 4 */
    text-decoration: none; }
  
  /*
   * Nav items
   */
  .uk-navbar-nav > li > a {
    color: #5e5e5e; }
  
  /*
   * Hover
   * Apply hover style also to focus state and if dropdown is opened
   */
  .uk-navbar-nav > li:hover > a,
  .uk-navbar-nav > li > a:focus,
  .uk-navbar-nav > li > a.uk-open {
    color: #5e5e5e;
    outline: none; }
  
  /* OnClick */
  .uk-navbar-nav > li > a:active {
    color: #333; }
  
  /* Active */
  .uk-navbar-nav > li.uk-active > a {
    color: #333; }
  
  /* Item
   ========================================================================== */
  .uk-navbar-item {
    color: #5e5e5e; }
  
  /* Toggle
   ========================================================================== */
  .uk-navbar-toggle {
    color: #999; }
  
  .uk-navbar-toggle:hover,
  .uk-navbar-toggle:focus,
  .uk-navbar-toggle.uk-open {
    color: #5e5e5e;
    outline: none;
    text-decoration: none; }
  
  /*
   * Icon
   * Adopts `uk-icon`
   */
  /* Hover + Focus */
  /* Subtitle
   ========================================================================== */
  .uk-navbar-subtitle {
    font-size: 0.875rem; }
  
  /* Style modifiers
   ========================================================================== */
  /* Dropdown
   ========================================================================== */
  /*
   * Adopts `uk-dropdown`
   * 1. Hide by default
   * 2. Set position
   * 3. Set a default width
   * 4. Style
   */
  .uk-navbar-dropdown {
    /* 1 */
    display: none;
    /* 2 */
    position: absolute;
    z-index: 1020;
    /* 3 */
    box-sizing: border-box;
    width: 200px;
    /* 4 */
    padding: 15px;
    background: #f8f8f8;
    color: #5e5e5e; }
  
  /* Show */
  .uk-navbar-dropdown.uk-open {
    display: block; }
  
  /*
   * Direction / Alignment modifiers
   */
  /* Direction */
  [class*='uk-navbar-dropdown-top'] {
    margin-top: 0; }
  
  [class*='uk-navbar-dropdown-bottom'] {
    margin-top: 0; }
  
  [class*='uk-navbar-dropdown-left'] {
    margin-left: 0; }
  
  [class*='uk-navbar-dropdown-right'] {
    margin-left: 0; }
  
  /*
   * Grid
   * Adopts `uk-grid`
   */
  /* Gutter Horizontal */
  .uk-navbar-dropdown-grid {
    margin-left: -30px; }
  
  .uk-navbar-dropdown-grid > * {
    padding-left: 30px; }
  
  /* Gutter Vertical */
  .uk-navbar-dropdown-grid > .uk-grid-margin {
    margin-top: 30px; }
  
  /* Stack */
  .uk-navbar-dropdown-stack .uk-navbar-dropdown-grid > * {
    width: 100% !important; }
  
  /*
   * Width modifier
   */
  .uk-navbar-dropdown-width-2:not(.uk-navbar-dropdown-stack) {
    width: 400px; }
  
  .uk-navbar-dropdown-width-3:not(.uk-navbar-dropdown-stack) {
    width: 600px; }
  
  .uk-navbar-dropdown-width-4:not(.uk-navbar-dropdown-stack) {
    width: 800px; }
  
  .uk-navbar-dropdown-width-5:not(.uk-navbar-dropdown-stack) {
    width: 1000px; }
  
  /*
   * Dropbar modifier
   */
  .uk-navbar-dropdown-dropbar {
    margin-top: 0;
    margin-bottom: 0; }
  
  /* Dropdown Nav
   * Adopts `uk-nav`
   ========================================================================== */
  /*
   * Items
   */
  .uk-navbar-dropdown-nav > li > a {
    color: #999; }
  
  /* Hover + Focus */
  .uk-navbar-dropdown-nav > li > a:hover,
  .uk-navbar-dropdown-nav > li > a:focus {
    color: #5e5e5e; }
  
  /* Active */
  .uk-navbar-dropdown-nav > li.uk-active > a {
    color: #333; }
  
  /*
   * Header
   */
  .uk-navbar-dropdown-nav .uk-nav-header {
    color: #333; }
  
  /*
   * Divider
   */
  .uk-navbar-dropdown-nav .uk-nav-divider {
    border-top: 1px solid #e5e5e5; }
  
  /*
   * Sublists
   */
  .uk-navbar-dropdown-nav .uk-nav-sub a {
    color: #999; }
  
  .uk-navbar-dropdown-nav .uk-nav-sub a:hover,
  .uk-navbar-dropdown-nav .uk-nav-sub a:focus {
    color: #5e5e5e; }
  
  .uk-navbar-dropdown-nav .uk-nav-sub li.uk-active > a {
    color: #333; }
  
  /* Dropbar
   ========================================================================== */
  .uk-navbar-dropbar {
    background: #f8f8f8; }
  
  /*
   * Slide modifier
   */
  .uk-navbar-dropbar-slide {
    position: absolute;
    z-index: 980;
    left: 0;
    right: 0; }
  
  /* ========================================================================
     Component: Subnav
   ========================================================================== */
  /*
   * 1. Allow items to wrap into the next line
   * 2. Gutter
   * 3. Reset list
   */
  .uk-subnav {
    display: flex;
    /* 1 */
    flex-wrap: wrap;
    /* 2 */
    margin-left: -20px;
    /* 3 */
    padding: 0;
    list-style: none; }
  
  /*
   * 1. Space is allocated solely based on content dimensions: 0 0 auto
   * 2. Gutter
   * 3. Create position context for dropdowns
   */
  .uk-subnav > * {
    /* 1 */
    flex: none;
    /* 2 */
    padding-left: 20px;
    /* 3 */
    position: relative; }
  
  /* Items
   ========================================================================== */
  /*
   * Items must target `a` elements to exclude other elements (e.g. dropdowns)
   * Using `:first-child` instead of `a` to support `span` elements for text
   * 1. Prevent gap if child element is `inline-block`, e.g. an icon
   * 2. Style
   */
  .uk-subnav > * > :first-child {
    /* 1 */
    display: block;
    /* 2 */
    color: #999; }
  
  /* Hover + Focus */
  .uk-subnav > * > a:hover,
  .uk-subnav > * > a:focus {
    color: #5e5e5e;
    text-decoration: none;
    outline: none; }
  
  /* Active */
  .uk-subnav > .uk-active > a {
    color: #333; }
  
  /* Divider modifier
   ========================================================================== */
  /*
   * 1. Align items and divider vertically
   */
  .uk-subnav-divider > * {
    /* 1 */
    display: flex;
    align-items: center; }
  
  /*
   * Divider
   * `nth-child` makes it also work without JS if it's only one row
   */
  .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
    content: "";
    height: 1.5em;
    margin-left: 0px;
    margin-right: 20px;
    border-left: 1px solid #e5e5e5; }
  
  /* Pill modifier
   ========================================================================== */
  .uk-subnav-pill > * > :first-child {
    padding: 5px 10px;
    background: transparent;
    color: #999; }
  
  /* Hover + Focus */
  .uk-subnav-pill > * > a:hover,
  .uk-subnav-pill > * > a:focus {
    background-color: #f8f8f8;
    color: #5e5e5e; }
  
  /* OnClick */
  .uk-subnav-pill > * > a:active {
    background-color: #f8f8f8;
    color: #5e5e5e; }
  
  /* Active */
  .uk-subnav-pill > .uk-active > a {
    background-color: #dc0b40;
    color: #fff; }
  
  /* Disabled
   * The same for all style modifiers
   ========================================================================== */
  .uk-subnav > .uk-disabled > a {
    color: #999; }
  
  /* ========================================================================
     Component: Breadcrumb
   ========================================================================== */
  /*
   * 1. Allow items to wrap into the next line
   * 2. Reset list
   */
  .uk-breadcrumb {
    display: flex;
    /* 1 */
    flex-wrap: wrap;
    /* 2 */
    padding: 0;
    list-style: none; }
  
  /*
   * Space is allocated solely based on content dimensions: 0 0 auto
   */
  .uk-breadcrumb > * {
    flex: none; }
  
  /* Items
   ========================================================================== */
  .uk-breadcrumb > * > * {
    display: inline-block;
    font-size: 0.875rem;
    color: #999; }
  
  /* Hover + Focus */
  .uk-breadcrumb > * > :hover,
  .uk-breadcrumb > * > :focus {
    color: #5e5e5e;
    text-decoration: none; }
  
  /* Disabled */
  /* Active */
  .uk-breadcrumb > :last-child > * {
    color: #5e5e5e; }
  
  /*
   * Divider
   * `nth-child` makes it also work without JS if it's only one row
   */
  .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
    content: "/";
    display: inline-block;
    margin: 0 20px;
    color: #999; }
  
  /* ========================================================================
     Component: Pagination
   ========================================================================== */
  /*
   * 1. Allow items to wrap into the next line
   * 2. Gutter
   * 3. Reset list
   */
  .uk-pagination {
    display: flex;
    /* 1 */
    flex-wrap: wrap;
    /* 2 */
    margin-left: -20px;
    /* 3 */
    padding: 0;
    list-style: none; }
  
  /*
   * 1. Space is allocated solely based on content dimensions: 0 0 auto
   * 2. Gutter
   * 3. Create position context for dropdowns
   */
  .uk-pagination > * {
    /* 1 */
    flex: none;
    /* 2 */
    padding-left: 20px;
    /* 3 */
    position: relative; }
  
  /* Items
   ========================================================================== */
  /*
   * 1. Prevent gap if child element is `inline-block`, e.g. an icon
   * 2. Style
   */
  .uk-pagination > * > * {
    /* 1 */
    display: block;
    /* 2 */
    color: #999; }
  
  /* Hover + Focus */
  .uk-pagination > * > :hover,
  .uk-pagination > * > :focus {
    color: #5e5e5e;
    text-decoration: none; }
  
  /* Active */
  .uk-pagination > .uk-active > * {
    color: #5e5e5e; }
  
  /* Disabled */
  .uk-pagination > .uk-disabled > * {
    color: #999; }
  
  /* ========================================================================
     Component: Tab
   ========================================================================== */
  /*
   * 1. Allow items to wrap into the next line
   * 2. Gutter
   * 3. Reset list
   */
  .uk-tab {
    display: flex;
    /* 1 */
    flex-wrap: wrap;
    /* 2 */
    margin-left: -20px;
    /* 3 */
    padding: 0;
    list-style: none; }
  
  /*
   * 1. Space is allocated solely based on content dimensions: 0 0 auto
   * 2. Gutter
   * 3. Create position context for dropdowns
   */
  .uk-tab > * {
    /* 1 */
    flex: none;
    /* 2 */
    padding-left: 20px;
    /* 3 */
    position: relative; }
  
  /* Items
   ========================================================================== */
  /*
   * Items must target `a` elements to exclude other elements (e.g. dropdowns)
   * 1. Center text if a width is set
   * 2. Style
   */
  .uk-tab > * > a {
    /* 1 */
    display: block;
    text-align: center;
    /* 2 */
    padding: 5px 10px;
    color: #999; }
  
  /* Hover + Focus */
  .uk-tab > * > a:hover,
  .uk-tab > * > a:focus {
    color: #5e5e5e;
    text-decoration: none; }
  
  /* Active */
  .uk-tab > .uk-active > a {
    color: #333; }
  
  /* Disabled */
  .uk-tab > .uk-disabled > a {
    color: #999; }
  
  /* Position modifier
   ========================================================================== */
  /*
   * Bottom
   */
  /*
   * Left + Right
   * 1. Reset Gutter
   */
  .uk-tab-left,
  .uk-tab-right {
    flex-direction: column;
    /* 1 */
    margin-left: 0; }
  
  /* 1 */
  .uk-tab-left > *,
  .uk-tab-right > * {
    padding-left: 0; }
  
  .uk-tab-left > * > a {
    text-align: left; }
  
  .uk-tab-right > * > a {
    text-align: left; }
  
  /* ========================================================================
     Component: Slidenav
   ========================================================================== */
  /*
   * Adopts `uk-icon`
   */
  .uk-slidenav {
    padding: 5px 10px;
    color: rgba(94, 94, 94, 0.5); }
  
  /* Hover + Focus */
  .uk-slidenav:hover,
  .uk-slidenav:focus {
    color: rgba(94, 94, 94, 0.9);
    outline: none; }
  
  /* OnClick */
  .uk-slidenav:active {
    color: rgba(94, 94, 94, 0.5); }
  
  /* Icon modifier
   ========================================================================== */
  /*
   * Previous
   */
  /*
   * Next
   */
  /* Size modifier
   ========================================================================== */
  .uk-slidenav-large {
    padding: 10px 10px; }
  
  /* Container
   ========================================================================== */
  .uk-slidenav-container {
    display: flex; }
  
  /* ========================================================================
     Component: Dotnav
   ========================================================================== */
  /*
   * 1. Allow items to wrap into the next line
   * 2. Reset list
   * 3. Gutter
   */
  .uk-dotnav {
    display: flex;
    /* 1 */
    flex-wrap: wrap;
    /* 2 */
    margin: 0;
    padding: 0;
    list-style: none;
    /* 3 */
    margin-left: -12px; }
  
  /*
   * 1. Space is allocated solely based on content dimensions: 0 0 auto
   * 2. Gutter
   */
  .uk-dotnav > * {
    /* 1 */
    flex: none;
    /* 2 */
    padding-left: 12px; }
  
  /* Items
   ========================================================================== */
  /*
   * Items
   * 1. Hide text if present
   */
  .uk-dotnav > * > * {
    display: block;
    box-sizing: border-box;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: rgba(94, 94, 94, 0.2);
    /* 1 */
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap; }
  
  /* Hover + Focus */
  .uk-dotnav > * > :hover,
  .uk-dotnav > * > :focus {
    background-color: rgba(94, 94, 94, 0.6);
    outline: none; }
  
  /* OnClick */
  .uk-dotnav > * > :active {
    background-color: rgba(94, 94, 94, 0.2); }
  
  /* Active */
  .uk-dotnav > .uk-active > * {
    background-color: rgba(94, 94, 94, 0.6); }
  
  /* Modifier: 'uk-dotnav-vertical'
   ========================================================================== */
  /*
   * 1. Change direction
   * 2. Gutter
   */
  .uk-dotnav-vertical {
    /* 1 */
    flex-direction: column;
    /* 2 */
    margin-left: 0;
    margin-top: -12px; }
  
  /* 2 */
  .uk-dotnav-vertical > * {
    padding-left: 0;
    padding-top: 12px; }
  
  /* ========================================================================
     Component: Thumbnav
   ========================================================================== */
  /*
   * 1. Allow items to wrap into the next line
   * 2. Reset list
   * 3. Gutter
   */
  .uk-thumbnav {
    display: flex;
    /* 1 */
    flex-wrap: wrap;
    /* 2 */
    margin: 0;
    padding: 0;
    list-style: none;
    /* 3 */
    margin-left: -15px; }
  
  /*
   * Space is allocated based on content dimensions, but shrinks: 0 1 auto
   * 1. Gutter
   */
  .uk-thumbnav > * {
    /* 1 */
    padding-left: 15px; }
  
  /* Items
   ========================================================================== */
  /*
   * Items
   */
  .uk-thumbnav > * > * {
    display: inline-block; }
  
  /* Hover + Focus */
  .uk-thumbnav > * > :hover,
  .uk-thumbnav > * > :focus {
    outline: none; }
  
  /* Active */
  /* Modifier: 'uk-thumbnav-vertical'
   ========================================================================== */
  /*
   * 1. Change direction
   * 2. Gutter
   */
  .uk-thumbnav-vertical {
    /* 1 */
    flex-direction: column;
    /* 2 */
    margin-left: 0;
    margin-top: -15px; }
  
  /* 2 */
  .uk-thumbnav-vertical > * {
    padding-left: 0;
    padding-top: 15px; }
  
  /* ========================================================================
     Component: Accordion
   ========================================================================== */
  .uk-accordion {
    padding: 0;
    list-style: none; }
  
  /* Item
   ========================================================================== */
  .uk-accordion > :nth-child(n+2) {
    margin-top: 20px; }
  
  /* Title
   ========================================================================== */
  .uk-accordion-title {
    display: block;
    font-size: 1.25rem;
    line-height: 1.4;
    color: #333; }
  
  /* Hover + Focus */
  .uk-accordion-title:hover,
  .uk-accordion-title:focus {
    color: #5e5e5e;
    text-decoration: none;
    outline: none; }
  
  /* Content
   ========================================================================== */
  .uk-accordion-content {
    margin-top: 20px; }
  
  /*
   * Micro clearfix
   */
  .uk-accordion-content::before,
  .uk-accordion-content::after {
    content: "";
    display: table; }
  
  .uk-accordion-content::after {
    clear: both; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-accordion-content > :last-child {
    margin-bottom: 0; }
  
  /* ========================================================================
     Component: Drop
   ========================================================================== */
  /*
   * 1. Hide by default
   * 2. Set position
   * 3. Set a default width
   */
  .uk-drop {
    /* 1 */
    display: none;
    /* 2 */
    position: absolute;
    z-index: 1020;
    /* 3 */
    box-sizing: border-box;
    width: 300px; }
  
  /* Show */
  .uk-drop.uk-open {
    display: block; }
  
  /* Direction / Alignment modifiers
   ========================================================================== */
  /* Direction */
  [class*='uk-drop-top'] {
    margin-top: -20px; }
  
  [class*='uk-drop-bottom'] {
    margin-top: 20px; }
  
  [class*='uk-drop-left'] {
    margin-left: -20px; }
  
  [class*='uk-drop-right'] {
    margin-left: 20px; }
  
  /* Grid modifiers
   ========================================================================== */
  .uk-drop-stack .uk-drop-grid > * {
    width: 100% !important; }
  
  /* ========================================================================
     Component: Dropdown
   ========================================================================== */
  /*
   * 1. Hide by default
   * 2. Set position
   * 3. Set a default width
   * 4. Style
   */
  .uk-dropdown {
    /* 1 */
    display: none;
    /* 2 */
    position: absolute;
    z-index: 1020;
    /* 3 */
    box-sizing: border-box;
    min-width: 200px;
    /* 4 */
    padding: 15px;
    background: #f8f8f8;
    color: #5e5e5e; }
  
  /* Show */
  .uk-dropdown.uk-open {
    display: block; }
  
  /* Nav
   * Adopts `uk-nav`
   ========================================================================== */
  .uk-dropdown-nav {
    white-space: nowrap; }
  
  /*
   * Items
   */
  .uk-dropdown-nav > li > a {
    color: #999; }
  
  /* Hover + Focus + Active */
  .uk-dropdown-nav > li > a:hover,
  .uk-dropdown-nav > li > a:focus,
  .uk-dropdown-nav > li.uk-active > a {
    color: #5e5e5e; }
  
  /*
   * Header
   */
  .uk-dropdown-nav .uk-nav-header {
    color: #333; }
  
  /*
   * Divider
   */
  .uk-dropdown-nav .uk-nav-divider {
    border-top: 1px solid #e5e5e5; }
  
  /*
   * Sublists
   */
  .uk-dropdown-nav .uk-nav-sub a {
    color: #999; }
  
  .uk-dropdown-nav .uk-nav-sub a:hover,
  .uk-dropdown-nav .uk-nav-sub a:focus,
  .uk-dropdown-nav .uk-nav-sub li.uk-active > a {
    color: #5e5e5e; }
  
  /* Direction / Alignment modifiers
   ========================================================================== */
  /* Direction */
  [class*='uk-dropdown-top'] {
    margin-top: -10px; }
  
  [class*='uk-dropdown-bottom'] {
    margin-top: 10px; }
  
  [class*='uk-dropdown-left'] {
    margin-left: -10px; }
  
  [class*='uk-dropdown-right'] {
    margin-left: 10px; }
  
  /* Grid modifiers
   ========================================================================== */
  .uk-dropdown-stack .uk-dropdown-grid > * {
    width: 100% !important; }
  
  /* ========================================================================
     Component: Modal
   ========================================================================== */
  /*
   * 1. Hide by default
   * 2. Set position
   * 3. Allow scrolling for the modal dialog
   * 4. Horizontal padding
   * 5. Mask the background page
   * 6. Fade-in transition
   */
  .uk-modal {
    /* 1 */
    display: none;
    /* 2 */
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1010;
    /* 3 */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    /* 4 */
    padding: 15px 15px;
    /* 5 */
    background: rgba(0, 0, 0, 0.6);
    /* 6 */
    opacity: 0;
    transition: opacity 0.15s linear; }
  
  /* Phone landscape and bigger */
  @media (min-width: 640px) {
    .uk-modal {
      padding: 50px 30px; } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-modal {
      padding-left: 40px;
      padding-right: 40px; } }
  
  /*
   * Open
   */
  .uk-modal.uk-open {
    opacity: 1; }
  
  /* Page
   ========================================================================== */
  /*
   * Prevent scrollbars
   */
  .uk-modal-page {
    overflow: hidden; }
  
  /* Dialog
   ========================================================================== */
  /*
   * 1. Create position context for spinner and close button
   * 2. Dimensions
   * 3. Fix `max-width: 100%` not working in combination with flex and responsive images in IE11
   *    `!important` needed to overwrite `uk-width-auto`. See `#modal-media-image` in tests
   * 4. Style
   * 5. Slide-in transition
   */
  .uk-modal-dialog {
    /* 1 */
    position: relative;
    /* 2 */
    box-sizing: border-box;
    margin: 0 auto;
    width: 600px;
    /* 3 */
    max-width: calc(100% - 0.01px) !important;
    /* 4 */
    background: #fff;
    /* 5 */
    opacity: 0;
    transform: translateY(-100px);
    transition: 0.3s linear;
    transition-property: opacity, transform; }
  
  /*
   * Open
   */
  .uk-open > .uk-modal-dialog {
    opacity: 1;
    transform: translateY(0); }
  
  /* Size modifier
   ========================================================================== */
  /*
   * Container size
   * Take the same size as the Container component
   */
  .uk-modal-container .uk-modal-dialog {
    width: 1200px; }
  
  /*
   * Full size
   * 1. Remove padding and background from modal
   * 2. Reset all default declarations from modal dialog
   */
  /* 1 */
  .uk-modal-full {
    padding: 0;
    background: none; }
  
  /* 2 */
  .uk-modal-full .uk-modal-dialog {
    margin: 0;
    width: 100%;
    max-width: 100%;
    transform: translateY(0); }
  
  /* Sections
   ========================================================================== */
  .uk-modal-body {
    padding: 30px 30px; }
  
  .uk-modal-header {
    padding: 15px 30px;
    background: #f8f8f8; }
  
  .uk-modal-footer {
    padding: 15px 30px;
    background: #f8f8f8; }
  
  /*
   * Micro clearfix
   */
  .uk-modal-body::before,
  .uk-modal-body::after,
  .uk-modal-header::before,
  .uk-modal-header::after,
  .uk-modal-footer::before,
  .uk-modal-footer::after {
    content: "";
    display: table; }
  
  .uk-modal-body::after,
  .uk-modal-header::after,
  .uk-modal-footer::after {
    clear: both; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-modal-body > :last-child,
  .uk-modal-header > :last-child,
  .uk-modal-footer > :last-child {
    margin-bottom: 0; }
  
  /* Title
   ========================================================================== */
  .uk-modal-title {
    font-size: 2.25rem;
    line-height: 1.3; }
  
  /* Close
   * Adopts `uk-close`
   ========================================================================== */
  [class*='uk-modal-close-'] {
    position: absolute;
    z-index: 1010;
    top: 10px;
    right: 10px;
    padding: 5px; }
  
  /*
   * Remove margin from adjacent element
   */
  [class*='uk-modal-close-']:first-child + * {
    margin-top: 0; }
  
  /*
   * Hover
   */
  /*
   * Default
   */
  /*
   * Outside
   * 1. Prevent scrollbar on small devices
   */
  .uk-modal-close-outside {
    top: 0;
    /* 1 */
    right: -5px;
    transform: translate(0, -100%);
    color: white; }
  
  .uk-modal-close-outside:hover {
    color: #fff; }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    /* 1 */
    .uk-modal-close-outside {
      right: 0;
      transform: translate(100%, -100%); } }
  
  /*
   * Full
   */
  /* ========================================================================
     Component: Lightbox
   ========================================================================== */
  /*
   * 1. Hide by default
   * 2. Set position
   * 3. Allow scrolling for the modal dialog
   * 4. Horizontal padding
   * 5. Mask the background page
   * 6. Fade-in transition
   */
  .uk-lightbox {
    /* 1 */
    display: none;
    /* 2 */
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1010;
    /* 5 */
    background: #000;
    /* 6 */
    opacity: 0;
    transition: opacity 0.15s linear; }
  
  /*
   * Open
   * 1. Center child
   * 2. Fade-in
   */
  .uk-lightbox.uk-open {
    display: block;
    /* 2 */
    opacity: 1; }
  
  /* Page
   ========================================================================== */
  /*
   * Prevent scrollbars
   */
  .uk-lightbox-page {
    overflow: hidden; }
  
  /* Item
   ========================================================================== */
  /*
   * 1. Center child within the viewport
   * 2. Not visible by default
   * 3. Color needed for spinner icon
   * 4. Optimize animation
   * 5. Responsiveness
   *    Using `vh` for `max-height` to fix image proportions after resize in Safari and Opera
   *    Using `vh` and `vw` to make responsive image work in IE11
   */
  .uk-lightbox-items > * {
    /* 1 */
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    /* 2 */
    display: none;
    justify-content: center;
    align-items: center;
    /* 3 */
    color: rgba(255, 255, 255, 0.7);
    /* 4 */
    will-change: transform, opacity; }
  
  /* 5 */
  .uk-lightbox-items > * > * {
    max-width: 100vw;
    max-height: 100vh; }
  
  .uk-lightbox-items > * > :not(iframe) {
    width: auto;
    height: auto; }
  
  .uk-lightbox-items > .uk-active {
    display: flex; }
  
  /* Toolbar
   ========================================================================== */
  .uk-lightbox-toolbar {
    padding: 10px 10px;
    background: rgba(0, 0, 0, 0.3);
    color: rgba(255, 255, 255, 0.7); }
  
  .uk-lightbox-toolbar > * {
    color: rgba(255, 255, 255, 0.7); }
  
  /* Toolbar Icon (Close)
   ========================================================================== */
  .uk-lightbox-toolbar-icon {
    padding: 5px;
    color: rgba(255, 255, 255, 0.7); }
  
  /*
   * Hover
   */
  .uk-lightbox-toolbar-icon:hover {
    color: #fff; }
  
  /* Button (Slidenav)
   ========================================================================== */
  /*
   * 1. Center icon vertically and horizontally
   */
  .uk-lightbox-button {
    box-sizing: border-box;
    width: 50px;
    height: 50px;
    background: rgba(0, 0, 0, 0.3);
    color: rgba(255, 255, 255, 0.7);
    /* 1 */
    display: inline-flex;
    justify-content: center;
    align-items: center; }
  
  /*
   * Hover
   */
  .uk-lightbox-button:hover {
    color: #fff; }
  
  /* Caption
   ========================================================================== */
  /* Iframe
   ========================================================================== */
  .uk-lightbox-iframe {
    width: 80%;
    height: 80%; }
  
  /* ========================================================================
     Component: Slideshow
   ========================================================================== */
  /*
   * 1. Prevent tab highlighting on iOS.
   */
  .uk-slideshow {
    /* 1 */
    -webkit-tap-highlight-color: transparent; }
  
  /* Items
   ========================================================================== */
  /*
   * 1. Create position and stacking context
   * 2. Reset list
   * 3. Clip child elements
   * 4. Prevent displaying the callout information on iOS.
   */
  .uk-slideshow-items {
    /* 1 */
    position: relative;
    z-index: 0;
    /* 2 */
    margin: 0;
    padding: 0;
    list-style: none;
    /* 3 */
    overflow: hidden;
    /* 4 */
    -webkit-touch-callout: none; }
  
  /* Item
   ========================================================================== */
  /*
   * 1. Position items above each other
   * 2. Take the full width
   * 3. Clip child elements, e.g. for `uk-cover`
   * 4. Optimize animation
   * 5. Disable horizontal panning gestures in IE11 and Edge
   */
  .uk-slideshow-items > * {
    /* 1 */
    position: absolute;
    top: 0;
    left: 0;
    /* 2 */
    right: 0;
    bottom: 0;
    /* 3 */
    overflow: hidden;
    /* 4 */
    will-change: transform, opacity;
    /* 5 */
    touch-action: pan-y; }
  
  /*
   * Hide not active items
   */
  .uk-slideshow-items > :not(.uk-active) {
    display: none; }
  
  /* ========================================================================
     Component: Slider
   ========================================================================== */
  /*
   * 1. Prevent tab highlighting on iOS.
   */
  .uk-slider {
    /* 1 */
    -webkit-tap-highlight-color: transparent; }
  
  /* Container
   ========================================================================== */
  /*
   * 1. Clip child elements
   */
  .uk-slider-container {
    /* 1 */
    overflow: hidden; }
  
  /* Items
   ========================================================================== */
  /*
   * 1. Optimize animation
   * 2. Create a containing block. In Safari it's neither created by `transform` nor `will-change`.
   */
  .uk-slider-items {
    /* 1 */
    will-change: transform;
    /* 2 */
    position: relative; }
  
  /*
   * 1. Reset list style without interfering with grid
   * 2. Prevent displaying the callout information on iOS.
   */
  .uk-slider-items:not(.uk-grid) {
    display: flex;
    /* 1 */
    margin: 0;
    padding: 0;
    list-style: none;
    /* 2 */
    -webkit-touch-callout: none; }
  
  .uk-slider-items.uk-grid {
    flex-wrap: nowrap; }
  
  /* Item
   ========================================================================== */
  /*
   * 1. Let items take content dimensions (0 0 auto)
   * 2. Create position context
   * 3. Disable horizontal panning gestures in IE11 and Edge
   */
  .uk-slider-items > * {
    /* 1 */
    flex: none;
    /* 2 */
    position: relative;
    /* 3 */
    touch-action: pan-y; }
  
  /* ========================================================================
     Component: Sticky
   ========================================================================== */
  /*
   * 1. Resolve frame rate issues on devices with lower frame rates by forcing hardware acceleration
   */
  .uk-sticky-fixed {
    z-index: 980;
    box-sizing: border-box;
    margin: 0 !important;
    /* 1 */
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  
  /*
   * Faster animations
   */
  .uk-sticky[class*='uk-animation-'] {
    animation-duration: 0.2s; }
  
  .uk-sticky.uk-animation-reverse {
    animation-duration: 0.2s; }
  
  /* ========================================================================
     Component: Off-canvas
   ========================================================================== */
  /*
   * 1. Hide by default
   * 2. Set position
   */
  .uk-offcanvas {
    /* 1 */
    display: none;
    /* 2 */
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 1000; }
  
  /*
   * Flip modifier
   */
  .uk-offcanvas-flip .uk-offcanvas {
    right: 0;
    left: auto; }
  
  /* Bar
   ========================================================================== */
  /*
   * 1. Set position
   * 2. Size and style
   * 3. Allow scrolling
   */
  .uk-offcanvas-bar {
    /* 1 */
    position: absolute;
    top: 0;
    bottom: 0;
    left: -270px;
    /* 2 */
    box-sizing: border-box;
    width: 270px;
    padding: 20px 20px;
    background: #fff;
    /* 3 */
    overflow-y: auto;
    -webkit-overflow-scrolling: touch; }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-offcanvas-bar {
      left: -350px;
      width: 350px;
      padding: 40px 40px; } }
  
  /* Flip modifier */
  .uk-offcanvas-flip .uk-offcanvas-bar {
    left: auto;
    right: -270px; }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-offcanvas-flip .uk-offcanvas-bar {
      right: -350px; } }
  
  /*
   * Open
   */
  .uk-open > .uk-offcanvas-bar {
    left: 0; }
  
  .uk-offcanvas-flip .uk-open > .uk-offcanvas-bar {
    left: auto;
    right: 0; }
  
  /*
   * Slide Animation (Used in slide and push mode)
   */
  .uk-offcanvas-bar-animation {
    transition: left 0.3s ease-out; }
  
  .uk-offcanvas-flip .uk-offcanvas-bar-animation {
    transition-property: right; }
  
  /*
   * Reveal Animation
   * 1. Set position
   * 2. Clip the bar
   * 3. Animation
   * 4. Reset position
   */
  .uk-offcanvas-reveal {
    /* 1 */
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    /* 2 */
    width: 0;
    overflow: hidden;
    /* 3 */
    transition: width 0.3s ease-out; }
  
  .uk-offcanvas-reveal .uk-offcanvas-bar {
    /* 4 */
    left: 0; }
  
  .uk-offcanvas-flip .uk-offcanvas-reveal .uk-offcanvas-bar {
    /* 4 */
    left: auto;
    right: 0; }
  
  .uk-open > .uk-offcanvas-reveal {
    width: 270px; }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-open > .uk-offcanvas-reveal {
      width: 350px; } }
  
  /*
   * Flip modifier
   */
  .uk-offcanvas-flip .uk-offcanvas-reveal {
    right: 0;
    left: auto; }
  
  /* Close
   * Adopts `uk-close`
   ========================================================================== */
  .uk-offcanvas-close {
    position: absolute;
    z-index: 1000;
    top: 20px;
    right: 20px;
    padding: 5px; }
  
  /* Overlay
   ========================================================================== */
  /*
   * Overlay the whole page. Needed for the `::before`
   * 1. Using `100vw` so no modification is needed when off-canvas is flipped
   * 2. Allow for closing with swipe gesture on devices with pointer events.
   */
  .uk-offcanvas-overlay {
    /* 1 */
    width: 100vw;
    /* 2 */
    touch-action: none; }
  
  /*
   * 1. Mask the whole page
   * 2. Fade-in transition
   */
  .uk-offcanvas-overlay::before {
    /* 1 */
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.1);
    /* 2 */
    opacity: 0;
    transition: opacity 0.15s linear; }
  
  .uk-offcanvas-overlay.uk-open::before {
    opacity: 1; }
  
  /* Prevent scrolling
   ========================================================================== */
  /*
   * Prevent horizontal scrollbar when the content is slide-out
   * Has to be on the `html` element too to make it work on the `body`
   */
  .uk-offcanvas-page,
  .uk-offcanvas-container {
    overflow-x: hidden; }
  
  /* Container
   ========================================================================== */
  /*
   * Prepare slide-out animation (Used in reveal and push mode)
   * Using `position: left` instead of `transform` because position `fixed` elements like sticky navbars
   * lose their fixed state and behaves like `absolute` within a transformed container
   * 1. Provide a fixed width and prevent shrinking
   */
  .uk-offcanvas-container {
    position: relative;
    left: 0;
    transition: left 0.3s ease-out;
    /* 1 */
    box-sizing: border-box;
    width: 100%; }
  
  /*
   * Activate slide-out animation
   */
  :not(.uk-offcanvas-flip).uk-offcanvas-container-animation {
    left: 270px; }
  
  .uk-offcanvas-flip.uk-offcanvas-container-animation {
    left: -270px; }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    :not(.uk-offcanvas-flip).uk-offcanvas-container-animation {
      left: 350px; }
    .uk-offcanvas-flip.uk-offcanvas-container-animation {
      left: -350px; } }
  
  /* ========================================================================
     Component: Switcher
   ========================================================================== */
  /*
   * Reset list
   */
  .uk-switcher {
    margin: 0;
    padding: 0;
    list-style: none; }
  
  /* Items
   ========================================================================== */
  /*
   * Hide not active items
   */
  .uk-switcher > :not(.uk-active) {
    display: none; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-switcher > * > :last-child {
    margin-bottom: 0; }
  
  /* ========================================================================
     Component: Leader
   ========================================================================== */
  .uk-leader {
    overflow: hidden; }
  
  /*
   * 1. Place element in text flow
   * 2. Never break into a new line
   * 3. Get a string back with as many repeating characters to fill the container
   * 4. Prevent wrapping. Overflowing characters will be clipped by the container
   */
  .uk-leader-fill::after {
    /* 1 */
    display: inline-block;
    margin-left: 15px;
    /* 2 */
    width: 0;
    /* 3 */
    content: attr(data-fill);
    /* 4 */
    white-space: nowrap; }
  
  /*
   * Hide if media does not match
   */
  .uk-leader-fill.uk-leader-hide::after {
    display: none; }
  
  /*
   * Pass fill character to JS
   */
  .uk-leader-fill-content::before {
    content: "."; }
  
  :root {
    --uk-leader-fill-content: .; }
  
  /* ========================================================================
     Component: Iconnav
   ========================================================================== */
  /*
   * 1. Allow items to wrap into the next line
   * 2. Reset list
   * 3. Gutter
   */
  .uk-iconnav {
    display: flex;
    /* 1 */
    flex-wrap: wrap;
    /* 2 */
    margin: 0;
    padding: 0;
    list-style: none;
    /* 3 */
    margin-left: -10px; }
  
  /*
   * Space is allocated based on content dimensions, but shrinks: 0 1 auto
   * 1. Gutter
   */
  .uk-iconnav > * {
    /* 1 */
    padding-left: 10px; }
  
  /* Items
   ========================================================================== */
  /*
   * Items must target `a` elements to exclude other elements (e.g. dropdowns)
   * 1. Prevent gap if child element is `inline-block`, e.g. an icon
   * 2. Style
   */
  .uk-iconnav > * > a {
    /* 1 */
    display: block;
    /* 2 */
    color: #999; }
  
  /* Hover + Focus */
  .uk-iconnav > * > a:hover,
  .uk-iconnav > * > a:focus {
    color: #5e5e5e;
    outline: none; }
  
  /* Active */
  .uk-iconnav > .uk-active > a {
    color: #5e5e5e; }
  
  /* Modifier: 'uk-iconnav-vertical'
   ========================================================================== */
  /*
   * 1. Change direction
   * 2. Gutter
   */
  .uk-iconnav-vertical {
    /* 1 */
    flex-direction: column;
    /* 2 */
    margin-left: 0;
    margin-top: -10px; }
  
  /* 2 */
  .uk-iconnav-vertical > * {
    padding-left: 0;
    padding-top: 10px; }
  
  /* ========================================================================
     Component: Notification
   ========================================================================== */
  /*
   * 1. Set position
   * 2. Dimensions
   */
  .uk-notification {
    /* 1 */
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 1040;
    /* 2 */
    box-sizing: border-box;
    width: 350px; }
  
  /* Position modifiers
  ========================================================================== */
  .uk-notification-top-right,
  .uk-notification-bottom-right {
    left: auto;
    right: 10px; }
  
  .uk-notification-top-center,
  .uk-notification-bottom-center {
    left: 50%;
    margin-left: -175px; }
  
  .uk-notification-bottom-left,
  .uk-notification-bottom-right,
  .uk-notification-bottom-center {
    top: auto;
    bottom: 10px; }
  
  /* Responsiveness
  ========================================================================== */
  /* Phones portrait and smaller */
  @media (max-width: 639px) {
    .uk-notification {
      left: 10px;
      right: 10px;
      width: auto;
      margin: 0; } }
  
  /* Message
  ========================================================================== */
  .uk-notification-message {
    position: relative;
    padding: 15px;
    background: #f8f8f8;
    color: #5e5e5e;
    font-size: 1.25rem;
    line-height: 1.4;
    cursor: pointer; }
  
  * + .uk-notification-message {
    margin-top: 10px; }
  
  /* Close
   * Adopts `uk-close`
   ========================================================================== */
  .uk-notification-close {
    display: none;
    position: absolute;
    top: 20px;
    right: 15px; }
  
  .uk-notification-message:hover .uk-notification-close {
    display: block; }
  
  /* Style modifiers
   ========================================================================== */
  /*
   * Primary
   */
  .uk-notification-message-primary {
    color: #dc0b40; }
  
  /*
   * Success
   */
  .uk-notification-message-success {
    color: #32d296; }
  
  /*
   * Warning
   */
  .uk-notification-message-warning {
    color: #faa05a; }
  
  /*
   * Danger
   */
  .uk-notification-message-danger {
    color: #f0506e; }
  
  /* ========================================================================
     Component: Tooltip
   ========================================================================== */
  /*
   * 1. Hide by default
   * 2. Position
   * 3. Dimensions
   * 4. Style
   */
  .uk-tooltip {
    /* 1 */
    display: none;
    /* 2 */
    position: absolute;
    z-index: 1030;
    /* 3 */
    box-sizing: border-box;
    max-width: 200px;
    padding: 3px 6px;
    /* 4 */
    background: #666;
    border-radius: 2px;
    color: #fff;
    font-size: 12px; }
  
  /* Show */
  .uk-tooltip.uk-active {
    display: block; }
  
  /* Direction / Alignment modifiers
   ========================================================================== */
  /* Direction */
  [class*='uk-tooltip-top'] {
    margin-top: -10px; }
  
  [class*='uk-tooltip-bottom'] {
    margin-top: 10px; }
  
  [class*='uk-tooltip-left'] {
    margin-left: -10px; }
  
  [class*='uk-tooltip-right'] {
    margin-left: 10px; }
  
  /* ========================================================================
     Component: Placeholder
   ========================================================================== */
  .uk-placeholder {
    margin-bottom: 20px;
    padding: 30px 30px;
    background: #f8f8f8; }
  
  /* Add margin if adjacent element */
  * + .uk-placeholder {
    margin-top: 20px; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-placeholder > :last-child {
    margin-bottom: 0; }
  
  /* ========================================================================
     Component: Progress
   ========================================================================== */
  /*
   * 1. Add the correct vertical alignment in Chrome, Firefox, and Opera.
   * 2. Remove default style
   * 3. Behave like a block element
   * 4. Remove borders in Firefox and Edge
   * 5. Set background color for progress container in Firefox, IE11 and Edge
   * 6. Style
   */
  .uk-progress {
    /* 1 */
    vertical-align: baseline;
    /* 2 */
    -webkit-appearance: none;
    -moz-appearance: none;
    /* 3 */
    display: block;
    width: 100%;
    /* 4 */
    border: 0;
    /* 5 */
    background-color: #f8f8f8;
    /* 6 */
    margin-bottom: 20px;
    height: 15px; }
  
  /* Add margin if adjacent element */
  * + .uk-progress {
    margin-top: 20px; }
  
  /*
   * Remove animated circles for indeterminate state in IE11 and Edge
   */
  .uk-progress:indeterminate {
    color: transparent; }
  
  /*
   * Progress container
   * 2. Remove progress bar for indeterminate state in Firefox
   */
  .uk-progress::-webkit-progress-bar {
    background-color: #f8f8f8; }
  
  /* 2 */
  .uk-progress:indeterminate::-moz-progress-bar {
    width: 0; }
  
  /*
   * Progress bar
   * 1. Remove right border in IE11 and Edge
   */
  .uk-progress::-webkit-progress-value {
    background-color: #dc0b40;
    transition: width 0.6s ease; }
  
  .uk-progress::-moz-progress-bar {
    background-color: #dc0b40; }
  
  .uk-progress::-ms-fill {
    background-color: #dc0b40;
    transition: width 0.6s ease;
    /* 1 */
    border: 0; }
  
  /* ========================================================================
     Component: Sortable
   ========================================================================== */
  .uk-sortable {
    position: relative; }
  
  /*
   * Deactivate pointer-events on SVGs in Safari
   */
  .uk-sortable svg {
    pointer-events: none; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-sortable > :last-child {
    margin-bottom: 0; }
  
  /* Drag
   ========================================================================== */
  .uk-sortable-drag {
    position: absolute !important;
    z-index: 1050 !important;
    pointer-events: none; }
  
  /* Placeholder
   ========================================================================== */
  .uk-sortable-placeholder {
    opacity: 0; }
  
  /* Empty modifier
   ========================================================================== */
  .uk-sortable-empty {
    min-height: 50px; }
  
  /* Handle
   ========================================================================== */
  /* Hover */
  .uk-sortable-handle:hover {
    cursor: move; }
  
  /* ========================================================================
     Component: Countdown
   ========================================================================== */
  /* Item
   ========================================================================== */
  /*
   * 1. Center numbers and separators vertically
   */
  .uk-countdown-number,
  .uk-countdown-separator {
    /* 1 */
    line-height: 70px; }
  
  /* Number
   ========================================================================== */
  .uk-countdown-number {
    font-size: 2rem; }
  
  /* Phone landscape and bigger */
  @media (min-width: 640px) {
    .uk-countdown-number {
      font-size: 4rem; } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-countdown-number {
      font-size: 6rem; } }
  
  /* Separator
   ========================================================================== */
  .uk-countdown-separator {
    font-size: 1rem; }
  
  /* Phone landscape and bigger */
  @media (min-width: 640px) {
    .uk-countdown-separator {
      font-size: 2rem; } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-countdown-separator {
      font-size: 3rem; } }
  
  /* Label
   ========================================================================== */
  /* ========================================================================
     Component: Animation
   ========================================================================== */
  [class*='uk-animation-'] {
    animation-duration: 0.5s;
    animation-timing-function: ease-out;
    animation-fill-mode: both; }
  
  /* Direction modifier
   ========================================================================== */
  .uk-animation-reverse {
    animation-direction: reverse;
    animation-timing-function: ease-in; }
  
  /* Toggle (Hover + Focus)
  ========================================================================== */
  /*
   * The toggle is triggered on touch devices using `:focus` and tabindex
   */
  .uk-animation-toggle:not(:hover):not(:focus) [class*='uk-animation-'] {
    animation-name: none; }
  
  /*
   * 1. Prevent tab highlighting on iOS.
   */
  .uk-animation-toggle {
    /* 1 */
    -webkit-tap-highlight-color: transparent; }
  
  /*
   * Remove outline for `tabindex`
   */
  .uk-animation-toggle:focus {
    outline: none; }
  
  /* Animations
   ========================================================================== */
  /*
   * Fade
   */
  .uk-animation-fade {
    animation-name: uk-fade;
    animation-duration: 0.8s;
    animation-timing-function: linear; }
  
  /*
   * Scale
   */
  .uk-animation-scale-up {
    animation-name: uk-fade-scale-02; }
  
  .uk-animation-scale-down {
    animation-name: uk-fade-scale-18; }
  
  /*
   * Slide
   */
  .uk-animation-slide-top {
    animation-name: uk-fade-top; }
  
  .uk-animation-slide-bottom {
    animation-name: uk-fade-bottom; }
  
  .uk-animation-slide-left {
    animation-name: uk-fade-left; }
  
  .uk-animation-slide-right {
    animation-name: uk-fade-right; }
  
  /*
   * Slide Small
   */
  .uk-animation-slide-top-small {
    animation-name: uk-fade-top-small; }
  
  .uk-animation-slide-bottom-small {
    animation-name: uk-fade-bottom-small; }
  
  .uk-animation-slide-left-small {
    animation-name: uk-fade-left-small; }
  
  .uk-animation-slide-right-small {
    animation-name: uk-fade-right-small; }
  
  /*
   * Slide Medium
   */
  .uk-animation-slide-top-medium {
    animation-name: uk-fade-top-medium; }
  
  .uk-animation-slide-bottom-medium {
    animation-name: uk-fade-bottom-medium; }
  
  .uk-animation-slide-left-medium {
    animation-name: uk-fade-left-medium; }
  
  .uk-animation-slide-right-medium {
    animation-name: uk-fade-right-medium; }
  
  /*
   * Kenburns
   */
  .uk-animation-kenburns {
    animation-name: uk-scale-kenburns;
    animation-duration: 15s; }
  
  /*
   * Shake
   */
  .uk-animation-shake {
    animation-name: uk-shake; }
  
  /* Duration modifier
   ========================================================================== */
  .uk-animation-fast {
    animation-duration: 0.1s; }
  
  /* Keyframes used by animation classes
   ========================================================================== */
  /*
   * Fade
   */
  @keyframes uk-fade {
    0% {
      opacity: 0; }
    100% {
      opacity: 1; } }
  
  /*
   * Slide Top
   */
  @keyframes uk-fade-top {
    0% {
      opacity: 0;
      transform: translateY(-100%); }
    100% {
      opacity: 1;
      transform: translateY(0); } }
  
  /*
   * Slide Bottom
   */
  @keyframes uk-fade-bottom {
    0% {
      opacity: 0;
      transform: translateY(100%); }
    100% {
      opacity: 1;
      transform: translateY(0); } }
  
  /*
   * Slide Left
   */
  @keyframes uk-fade-left {
    0% {
      opacity: 0;
      transform: translateX(-100%); }
    100% {
      opacity: 1;
      transform: translateX(0); } }
  
  /*
   * Slide Right
   */
  @keyframes uk-fade-right {
    0% {
      opacity: 0;
      transform: translateX(100%); }
    100% {
      opacity: 1;
      transform: translateX(0); } }
  
  /*
   * Slide Top Small
   */
  @keyframes uk-fade-top-small {
    0% {
      opacity: 0;
      transform: translateY(-10px); }
    100% {
      opacity: 1;
      transform: translateY(0); } }
  
  /*
   * Slide Bottom Small
   */
  @keyframes uk-fade-bottom-small {
    0% {
      opacity: 0;
      transform: translateY(10px); }
    100% {
      opacity: 1;
      transform: translateY(0); } }
  
  /*
   * Slide Left Small
   */
  @keyframes uk-fade-left-small {
    0% {
      opacity: 0;
      transform: translateX(-10px); }
    100% {
      opacity: 1;
      transform: translateX(0); } }
  
  /*
   * Slide Right Small
   */
  @keyframes uk-fade-right-small {
    0% {
      opacity: 0;
      transform: translateX(10px); }
    100% {
      opacity: 1;
      transform: translateX(0); } }
  
  /*
   * Slide Top Medium
   */
  @keyframes uk-fade-top-medium {
    0% {
      opacity: 0;
      transform: translateY(-50px); }
    100% {
      opacity: 1;
      transform: translateY(0); } }
  
  /*
   * Slide Bottom Medium
   */
  @keyframes uk-fade-bottom-medium {
    0% {
      opacity: 0;
      transform: translateY(50px); }
    100% {
      opacity: 1;
      transform: translateY(0); } }
  
  /*
   * Slide Left Medium
   */
  @keyframes uk-fade-left-medium {
    0% {
      opacity: 0;
      transform: translateX(-50px); }
    100% {
      opacity: 1;
      transform: translateX(0); } }
  
  /*
   * Slide Right Medium
   */
  @keyframes uk-fade-right-medium {
    0% {
      opacity: 0;
      transform: translateX(50px); }
    100% {
      opacity: 1;
      transform: translateX(0); } }
  
  /*
   * Scale Up
   */
  @keyframes uk-fade-scale-02 {
    0% {
      opacity: 0;
      transform: scale(0.2); }
    100% {
      opacity: 1;
      transform: scale(1); } }
  
  /*
   * Scale Down
   */
  @keyframes uk-fade-scale-18 {
    0% {
      opacity: 0;
      transform: scale(1.8); }
    100% {
      opacity: 1;
      transform: scale(1); } }
  
  /*
   * Kenburns
   */
  @keyframes uk-scale-kenburns {
    0% {
      transform: scale(1); }
    100% {
      transform: scale(1.2); } }
  
  /*
   * Shake
   */
  @keyframes uk-shake {
    0%, 100% {
      transform: translateX(0); }
    10% {
      transform: translateX(-9px); }
    20% {
      transform: translateX(8px); }
    30% {
      transform: translateX(-7px); }
    40% {
      transform: translateX(6px); }
    50% {
      transform: translateX(-5px); }
    60% {
      transform: translateX(4px); }
    70% {
      transform: translateX(-3px); }
    80% {
      transform: translateX(2px); }
    90% {
      transform: translateX(-1px); } }
  
  /* ========================================================================
     Component: Width
   ========================================================================== */
  /* Equal child widths
   ========================================================================== */
  [class*='uk-child-width'] > * {
    box-sizing: border-box;
    width: 100%; }
  
  .uk-child-width-1-2 > * {
    width: 50%; }
  
  .uk-child-width-1-3 > * {
    width: calc(100% * 1 / 3.001); }
  
  .uk-child-width-1-4 > * {
    width: 25%; }
  
  .uk-child-width-1-5 > * {
    width: 20%; }
  
  .uk-child-width-1-6 > * {
    width: calc(100% * 1 / 6.001); }
  
  .uk-child-width-auto > * {
    width: auto; }
  
  /*
   * 1. Reset the `min-width`, which is set to auto by default, because
   *    flex items won't shrink below their minimum intrinsic content size.
   *    Using `1px` instead of `0`, so items still wrap into the next line,
   *    if they have zero width and padding and the predecessor is 100% wide.
   */
  .uk-child-width-expand > :not([class*='uk-width']) {
    flex: 1;
    /* 1 */
    min-width: 1px; }
  
  /* Phone landscape and bigger */
  @media (min-width: 640px) {
    .uk-child-width-1-1\@s > * {
      width: 100%; }
    .uk-child-width-1-2\@s > * {
      width: 50%; }
    .uk-child-width-1-3\@s > * {
      width: calc(100% * 1 / 3.001); }
    .uk-child-width-1-4\@s > * {
      width: 25%; }
    .uk-child-width-1-5\@s > * {
      width: 20%; }
    .uk-child-width-1-6\@s > * {
      width: calc(100% * 1 / 6.001); }
    .uk-child-width-auto\@s > * {
      width: auto; }
    .uk-child-width-expand\@s > :not([class*='uk-width']) {
      flex: 1;
      min-width: 1px; } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-child-width-1-1\@m > * {
      width: 100%; }
    .uk-child-width-1-2\@m > * {
      width: 50%; }
    .uk-child-width-1-3\@m > * {
      width: calc(100% * 1 / 3.001); }
    .uk-child-width-1-4\@m > * {
      width: 25%; }
    .uk-child-width-1-5\@m > * {
      width: 20%; }
    .uk-child-width-1-6\@m > * {
      width: calc(100% * 1 / 6.001); }
    .uk-child-width-auto\@m > * {
      width: auto; }
    .uk-child-width-expand\@m > :not([class*='uk-width']) {
      flex: 1;
      min-width: 1px; } }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-child-width-1-1\@l > * {
      width: 100%; }
    .uk-child-width-1-2\@l > * {
      width: 50%; }
    .uk-child-width-1-3\@l > * {
      width: calc(100% * 1 / 3.001); }
    .uk-child-width-1-4\@l > * {
      width: 25%; }
    .uk-child-width-1-5\@l > * {
      width: 20%; }
    .uk-child-width-1-6\@l > * {
      width: calc(100% * 1 / 6.001); }
    .uk-child-width-auto\@l > * {
      width: auto; }
    .uk-child-width-expand\@l > :not([class*='uk-width']) {
      flex: 1;
      min-width: 1px; } }
  
  /* Large screen and bigger */
  @media (min-width: 1600px) {
    .uk-child-width-1-1\@xl > * {
      width: 100%; }
    .uk-child-width-1-2\@xl > * {
      width: 50%; }
    .uk-child-width-1-3\@xl > * {
      width: calc(100% * 1 / 3.001); }
    .uk-child-width-1-4\@xl > * {
      width: 25%; }
    .uk-child-width-1-5\@xl > * {
      width: 20%; }
    .uk-child-width-1-6\@xl > * {
      width: calc(100% * 1 / 6.001); }
    .uk-child-width-auto\@xl > * {
      width: auto; }
    .uk-child-width-expand\@xl > :not([class*='uk-width']) {
      flex: 1;
      min-width: 1px; } }
  
  /* Single Widths
   ========================================================================== */
  /*
   * 1. `max-width` is needed for the pixel-based classes
   */
  [class*='uk-width'] {
    box-sizing: border-box;
    width: 100%;
    /* 1 */
    max-width: 100%; }
  
  /* Halves */
  .uk-width-1-2 {
    width: 50%; }
  
  /* Thirds */
  .uk-width-1-3 {
    width: calc(100% * 1 / 3.001); }
  
  .uk-width-2-3 {
    width: calc(100% * 2 / 3.001); }
  
  /* Quarters */
  .uk-width-1-4 {
    width: 25%; }
  
  .uk-width-3-4 {
    width: 75%; }
  
  /* Fifths */
  .uk-width-1-5 {
    width: 20%; }
  
  .uk-width-2-5 {
    width: 40%; }
  
  .uk-width-3-5 {
    width: 60%; }
  
  .uk-width-4-5 {
    width: 80%; }
  
  /* Sixths */
  .uk-width-1-6 {
    width: calc(100% * 1 / 6.001); }
  
  .uk-width-5-6 {
    width: calc(100% * 5 / 6.001); }
  
  /* Pixel */
  .uk-width-small {
    width: 150px; }
  
  .uk-width-medium {
    width: 300px; }
  
  .uk-width-large {
    width: 450px; }
  
  .uk-width-xlarge {
    width: 600px; }
  
  .uk-width-xxlarge {
    width: 750px; }
  
  /* Auto */
  .uk-width-auto {
    width: auto; }
  
  /* Expand */
  .uk-width-expand {
    flex: 1;
    min-width: 1px; }
  
  /* Phone landscape and bigger */
  @media (min-width: 640px) {
    /* Whole */
    .uk-width-1-1\@s {
      width: 100%; }
    /* Halves */
    .uk-width-1-2\@s {
      width: 50%; }
    /* Thirds */
    .uk-width-1-3\@s {
      width: calc(100% * 1 / 3.001); }
    .uk-width-2-3\@s {
      width: calc(100% * 2 / 3.001); }
    /* Quarters */
    .uk-width-1-4\@s {
      width: 25%; }
    .uk-width-3-4\@s {
      width: 75%; }
    /* Fifths */
    .uk-width-1-5\@s {
      width: 20%; }
    .uk-width-2-5\@s {
      width: 40%; }
    .uk-width-3-5\@s {
      width: 60%; }
    .uk-width-4-5\@s {
      width: 80%; }
    /* Sixths */
    .uk-width-1-6\@s {
      width: calc(100% * 1 / 6.001); }
    .uk-width-5-6\@s {
      width: calc(100% * 5 / 6.001); }
    /* Pixel */
    .uk-width-small\@s {
      width: 150px; }
    .uk-width-medium\@s {
      width: 300px; }
    .uk-width-large\@s {
      width: 450px; }
    .uk-width-xlarge\@s {
      width: 600px; }
    .uk-width-xxlarge\@s {
      width: 750px; }
    /* Auto */
    .uk-width-auto\@s {
      width: auto; }
    /* Expand */
    .uk-width-expand\@s {
      flex: 1;
      min-width: 1px; } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    /* Whole */
    .uk-width-1-1\@m {
      width: 100%; }
    /* Halves */
    .uk-width-1-2\@m {
      width: 50%; }
    /* Thirds */
    .uk-width-1-3\@m {
      width: calc(100% * 1 / 3.001); }
    .uk-width-2-3\@m {
      width: calc(100% * 2 / 3.001); }
    /* Quarters */
    .uk-width-1-4\@m {
      width: 25%; }
    .uk-width-3-4\@m {
      width: 75%; }
    /* Fifths */
    .uk-width-1-5\@m {
      width: 15%;
      padding-left: 0; }
    .uk-width-2-5\@m {
      width: 40%; }
    .uk-width-3-5\@m {
      width: 60%; }
    .uk-width-4-5\@m {
      width: 85%; }
    /* Sixths */
    .uk-width-1-6\@m {
      width: calc(100% * 1 / 6.001); }
    .uk-width-5-6\@m {
      width: calc(100% * 5 / 6.001); }
    /* Pixel */
    .uk-width-small\@m {
      width: 150px; }
    .uk-width-medium\@m {
      width: 300px; }
    .uk-width-large\@m {
      width: 450px; }
    .uk-width-xlarge\@m {
      width: 600px; }
    .uk-width-xxlarge\@m {
      width: 750px; }
    /* Auto */
    .uk-width-auto\@m {
      width: auto; }
    /* Expand */
    .uk-width-expand\@m {
      flex: 1;
      min-width: 1px; } }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    /* Whole */
    .uk-width-1-1\@l {
      width: 100%; }
    /* Halves */
    .uk-width-1-2\@l {
      width: 50%; }
    /* Thirds */
    .uk-width-1-3\@l {
      width: calc(100% * 1 / 3.001); }
    .uk-width-2-3\@l {
      width: calc(100% * 2 / 3.001); }
    /* Quarters */
    .uk-width-1-4\@l {
      width: 25%; }
    .uk-width-3-4\@l {
      width: 75%; }
    /* Fifths */
    .uk-width-1-5\@l {
      width: 20%; }
    .uk-width-2-5\@l {
      width: 40%; }
    .uk-width-3-5\@l {
      width: 60%; }
    .uk-width-4-5\@l {
      width: 80%; }
    /* Sixths */
    .uk-width-1-6\@l {
      width: calc(100% * 1 / 6.001); }
    .uk-width-5-6\@l {
      width: calc(100% * 5 / 6.001); }
    /* Pixel */
    .uk-width-small\@l {
      width: 150px; }
    .uk-width-medium\@l {
      width: 300px; }
    .uk-width-large\@l {
      width: 450px; }
    .uk-width-xlarge\@l {
      width: 600px; }
    .uk-width-xxlarge\@l {
      width: 750px; }
    /* Auto */
    .uk-width-auto\@l {
      width: auto; }
    /* Expand */
    .uk-width-expand\@l {
      flex: 1;
      min-width: 1px; } }
  
  /* Large screen and bigger */
  @media (min-width: 1600px) {
    /* Whole */
    .uk-width-1-1\@xl {
      width: 100%; }
    /* Halves */
    .uk-width-1-2\@xl {
      width: 50%; }
    /* Thirds */
    .uk-width-1-3\@xl {
      width: calc(100% * 1 / 3.001); }
    .uk-width-2-3\@xl {
      width: calc(100% * 2 / 3.001); }
    /* Quarters */
    .uk-width-1-4\@xl {
      width: 25%; }
    .uk-width-3-4\@xl {
      width: 75%; }
    /* Fifths */
    .uk-width-1-5\@xl {
      width: 20%; }
    .uk-width-2-5\@xl {
      width: 40%; }
    .uk-width-3-5\@xl {
      width: 60%; }
    .uk-width-4-5\@xl {
      width: 80%; }
    /* Sixths */
    .uk-width-1-6\@xl {
      width: calc(100% * 1 / 6.001); }
    .uk-width-5-6\@xl {
      width: calc(100% * 5 / 6.001); }
    /* Pixel */
    .uk-width-small\@xl {
      width: 150px; }
    .uk-width-medium\@xl {
      width: 300px; }
    .uk-width-large\@xl {
      width: 450px; }
    .uk-width-xlarge\@xl {
      width: 600px; }
    .uk-width-xxlarge\@xl {
      width: 750px; }
    /* Auto */
    .uk-width-auto\@xl {
      width: auto; }
    /* Expand */
    .uk-width-expand\@xl {
      flex: 1;
      min-width: 1px; } }
  
  /* ========================================================================
     Component: Height
   ========================================================================== */
  [class*='uk-height'] {
    box-sizing: border-box; }
  
  /*
   * Only works if parent element has a height set
   */
  .uk-height-1-1 {
    height: 100%; }
  
  /*
   * Useful to create image teasers
   */
  .uk-height-viewport {
    min-height: 100vh; }
  
  /*
   * Pixel
   * Useful for `overflow: auto`
   */
  .uk-height-small {
    height: 150px; }
  
  .uk-height-medium {
    height: 300px; }
  
  .uk-height-large {
    height: 450px; }
  
  .uk-height-max-small {
    max-height: 150px; }
  
  .uk-height-max-medium {
    max-height: 300px; }
  
  .uk-height-max-large {
    max-height: 450px; }
  
  /* ========================================================================
     Component: Text
   ========================================================================== */
  /* Style modifiers
   ========================================================================== */
  .uk-text-lead {
    font-size: 1.5rem;
    line-height: 1.5;
    color: #333; }
  
  .uk-text-meta {
    font-size: 0.875rem;
    line-height: 1.4;
    color: #999; }
  
  /* Size modifiers
   ========================================================================== */
  .uk-text-small {
    font-size: 0.875rem;
    line-height: 1.5; }
  
  .uk-text-large {
    font-size: 1.5rem;
    line-height: 1.5; }
  
  /* Weight modifier
   ========================================================================== */
  .uk-text-bold {
    font-weight: bolder; }
  
  /* Transform modifier
   ========================================================================== */
  .uk-text-uppercase {
    text-transform: uppercase !important; }
  
  .uk-text-capitalize {
    text-transform: capitalize !important; }
  
  .uk-text-lowercase {
    text-transform: lowercase !important; }
  
  /* Color modifiers
   ========================================================================== */
  .uk-text-muted {
    color: #999 !important; }
  
  .uk-text-emphasis {
    color: #333 !important; }
  
  .uk-text-primary {
    color: #dc0b40 !important; }
  
  .uk-text-success {
    color: #32d296 !important; }
  
  .uk-text-warning {
    color: #faa05a !important; }
  
  .uk-text-danger {
    color: #f0506e !important; }
  
  /* Background modifier
   ========================================================================== */
  /*
   * 1. The background clips to the foreground text. Works in Chrome, Firefox, Safari, Edge and Opera
   *    Default color is set to transparent
   * 2. Container fits the text
   * 3. Fallback color for IE11
   */
  .uk-text-background {
    /* 1 */
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    /* 2 */
    display: inline-block;
    /* 3 */
    color: #dc0b40 !important; }
  
  @supports (-webkit-background-clip: text) {
    .uk-text-background {
      background-color: #dc0b40; } }
  
  /* Alignment modifiers
   ========================================================================== */
  .uk-text-left {
    text-align: left !important; }
  
  .uk-text-right {
    text-align: right !important; }
  
  .uk-text-center {
    text-align: center !important; }
  
  .uk-text-justify {
    text-align: justify !important; }
  
  /* Phone landscape and bigger */
  @media (min-width: 640px) {
    .uk-text-left\@s {
      text-align: left !important; }
    .uk-text-right\@s {
      text-align: right !important; }
    .uk-text-center\@s {
      text-align: center !important; } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-text-left\@m {
      text-align: left !important; }
    .uk-text-right\@m {
      text-align: right !important; }
    .uk-text-center\@m {
      text-align: center !important; } }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-text-left\@l {
      text-align: left !important; }
    .uk-text-right\@l {
      text-align: right !important; }
    .uk-text-center\@l {
      text-align: center !important; } }
  
  /* Large screen and bigger */
  @media (min-width: 1600px) {
    .uk-text-left\@xl {
      text-align: left !important; }
    .uk-text-right\@xl {
      text-align: right !important; }
    .uk-text-center\@xl {
      text-align: center !important; } }
  
  /*
   * Vertical
   */
  .uk-text-top {
    vertical-align: top !important; }
  
  .uk-text-middle {
    vertical-align: middle !important; }
  
  .uk-text-bottom {
    vertical-align: bottom !important; }
  
  .uk-text-baseline {
    vertical-align: baseline !important; }
  
  /* Wrap modifiers
   ========================================================================== */
  /*
   * Prevent text from wrapping onto multiple lines
   */
  .uk-text-nowrap {
    white-space: nowrap; }
  
  /*
   * 1. Make sure a max-width is set after which truncation can occur
   * 2. Prevent text from wrapping onto multiple lines, and truncate with an ellipsis
   * 3. Fix for table cells
   */
  .uk-text-truncate {
    /* 1 */
    max-width: 100%;
    /* 2 */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  
  /* 2 */
  th.uk-text-truncate,
  td.uk-text-truncate {
    max-width: 0; }
  
  /*
   * 1. Wrap long words onto the next line and break them if they are too long to fit
   * 2. Legacy `word-wrap` as fallback for `overflow-wrap`
   * 3. Fix `overflow-wrap` which doesn't work with table cells in Chrome, Opera, IE11 and Edge
   *    Must use `break-all` to support IE11 and Edge
   * Note: Not using `hyphens: auto;` because it hyphenates text even if not needed
   */
  .uk-text-break {
    /* 1 */
    overflow-wrap: break-word;
    /* 2 */
    word-wrap: break-word; }
  
  /* 3 */
  th.uk-text-break,
  td.uk-text-break {
    word-break: break-all; }
  
  /* ========================================================================
     Component: Column
   ========================================================================== */
  [class*='uk-column-'] {
    column-gap: 30px; }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    [class*='uk-column-'] {
      column-gap: 40px; } }
  
  /*
   * Fix image 1px line wrapping into the next column in Chrome
   */
  [class*='uk-column-'] img {
    transform: translate3d(0, 0, 0); }
  
  /* Divider
   ========================================================================== */
  /*
   * 1. Double the column gap
   */
  .uk-column-divider {
    column-rule: 1px solid #e5e5e5;
    /* 1 */
    column-gap: 60px; }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-column-divider {
      column-gap: 80px; } }
  
  /* Width modifiers
   ========================================================================== */
  .uk-column-1-2 {
    column-count: 2; }
  
  .uk-column-1-3 {
    column-count: 3; }
  
  .uk-column-1-4 {
    column-count: 4; }
  
  .uk-column-1-5 {
    column-count: 5; }
  
  .uk-column-1-6 {
    column-count: 6; }
  
  /* Phone landscape and bigger */
  @media (min-width: 640px) {
    .uk-column-1-2\@s {
      column-count: 2; }
    .uk-column-1-3\@s {
      column-count: 3; }
    .uk-column-1-4\@s {
      column-count: 4; }
    .uk-column-1-5\@s {
      column-count: 5; }
    .uk-column-1-6\@s {
      column-count: 6; } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-column-1-2\@m {
      column-count: 2; }
    .uk-column-1-3\@m {
      column-count: 3; }
    .uk-column-1-4\@m {
      column-count: 4; }
    .uk-column-1-5\@m {
      column-count: 5; }
    .uk-column-1-6\@m {
      column-count: 6; } }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-column-1-2\@l {
      column-count: 2; }
    .uk-column-1-3\@l {
      column-count: 3; }
    .uk-column-1-4\@l {
      column-count: 4; }
    .uk-column-1-5\@l {
      column-count: 5; }
    .uk-column-1-6\@l {
      column-count: 6; } }
  
  /* Large screen and bigger */
  @media (min-width: 1600px) {
    .uk-column-1-2\@xl {
      column-count: 2; }
    .uk-column-1-3\@xl {
      column-count: 3; }
    .uk-column-1-4\@xl {
      column-count: 4; }
    .uk-column-1-5\@xl {
      column-count: 5; }
    .uk-column-1-6\@xl {
      column-count: 6; } }
  
  /* Make element span across all columns
   * Does not work in Firefox yet
   ========================================================================== */
  .uk-column-span {
    column-span: all; }
  
  /* ========================================================================
     Component: Cover
   ========================================================================== */
  /*
   * Works with iframes and embedded content
   * 1. Reset responsiveness for embedded content
   * 2. Center object
   * Note: Percent values on the `top` property only works if this element
   *       is absolute positioned or if the container has a height
   */
  .uk-cover {
    /* 1 */
    max-width: none;
    /* 2 */
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
  
  iframe.uk-cover {
    pointer-events: none; }
  
  /* Container
   ========================================================================== */
  /*
   * 1. Parent container which clips resized object
   * 2. Needed if the child is positioned absolute. See note above
   */
  .uk-cover-container {
    /* 1 */
    overflow: hidden;
    /* 2 */
    position: relative; }
  
  /* ========================================================================
     Component: Background
   ========================================================================== */
  /* Color
   ========================================================================== */
  .uk-background-default {
    background-color: #fff; }
  
  .uk-background-muted {
    background-color: #f8f8f8; }
  
  .uk-background-primary {
    background-color: #dc0b40; }
  
  .uk-background-secondary {
    background-color: #f5f9fe; }
  
  /* Size
   ========================================================================== */
  .uk-background-cover,
  .uk-background-contain {
    background-position: 50% 50%;
    background-repeat: no-repeat; }
  
  .uk-background-cover {
    background-size: cover; }
  
  .uk-background-contain {
    background-size: contain; }
  
  /* Position
   ========================================================================== */
  .uk-background-top-left {
    background-position: 0 0; }
  
  .uk-background-top-center {
    background-position: 50% 0; }
  
  .uk-background-top-right {
    background-position: 100% 0; }
  
  .uk-background-center-left {
    background-position: 0 50%; }
  
  .uk-background-center-center {
    background-position: 50% 50%; }
  
  .uk-background-center-right {
    background-position: 100% 50%; }
  
  .uk-background-bottom-left {
    background-position: 0 100%; }
  
  .uk-background-bottom-center {
    background-position: 50% 100%; }
  
  .uk-background-bottom-right {
    background-position: 100% 100%; }
  
  /* Repeat
   ========================================================================== */
  .uk-background-norepeat {
    background-repeat: no-repeat; }
  
  /* Attachment
   ========================================================================== */
  /*
   * 1. Fix bug introduced in Chrome 67: the background image is not visible if any element on the page uses `translate3d`
   */
  .uk-background-fixed {
    background-attachment: fixed;
    /* 1 */
    backface-visibility: hidden; }
  
  /*
   * Exclude touch devices because `fixed` doesn't work on iOS and Android
   */
  @media (pointer: coarse) {
    .uk-background-fixed {
      background-attachment: scroll; } }
  
  /* Image
   ========================================================================== */
  /* Phone portrait and smaller */
  @media (max-width: 639px) {
    .uk-background-image\@s {
      background-image: none !important; } }
  
  /* Phone landscape and smaller */
  @media (max-width: 959px) {
    .uk-background-image\@m {
      background-image: none !important; } }
  
  /* Tablet landscape and smaller */
  @media (max-width: 1199px) {
    .uk-background-image\@l {
      background-image: none !important; } }
  
  /* Desktop and smaller */
  @media (max-width: 1599px) {
    .uk-background-image\@xl {
      background-image: none !important; } }
  
  /* Blend modes
   ========================================================================== */
  .uk-background-blend-multiply {
    background-blend-mode: multiply; }
  
  .uk-background-blend-screen {
    background-blend-mode: screen; }
  
  .uk-background-blend-overlay {
    background-blend-mode: overlay; }
  
  .uk-background-blend-darken {
    background-blend-mode: darken; }
  
  .uk-background-blend-lighten {
    background-blend-mode: lighten; }
  
  .uk-background-blend-color-dodge {
    background-blend-mode: color-dodge; }
  
  .uk-background-blend-color-burn {
    background-blend-mode: color-burn; }
  
  .uk-background-blend-hard-light {
    background-blend-mode: hard-light; }
  
  .uk-background-blend-soft-light {
    background-blend-mode: soft-light; }
  
  .uk-background-blend-difference {
    background-blend-mode: difference; }
  
  .uk-background-blend-exclusion {
    background-blend-mode: exclusion; }
  
  .uk-background-blend-hue {
    background-blend-mode: hue; }
  
  .uk-background-blend-saturation {
    background-blend-mode: saturation; }
  
  .uk-background-blend-color {
    background-blend-mode: color; }
  
  .uk-background-blend-luminosity {
    background-blend-mode: luminosity; }
  
  /* ========================================================================
     Component: Align
   ========================================================================== */
  /*
   * Default
   */
  [class*='uk-align'] {
    display: block;
    margin-bottom: 30px; }
  
  * + [class*='uk-align'] {
    margin-top: 30px; }
  
  /*
   * Center
   */
  .uk-align-center {
    margin-left: auto;
    margin-right: auto; }
  
  /*
   * Left/Right
   */
  .uk-align-left {
    margin-top: 0;
    margin-right: 30px;
    float: left; }
  
  .uk-align-right {
    margin-top: 0;
    margin-left: 30px;
    float: right; }
  
  /* Phone landscape and bigger */
  @media (min-width: 640px) {
    .uk-align-left\@s {
      margin-top: 0;
      margin-right: 30px;
      float: left; }
    .uk-align-right\@s {
      margin-top: 0;
      margin-left: 30px;
      float: right; } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-align-left\@m {
      margin-top: 0;
      margin-right: 30px;
      float: left; }
    .uk-align-right\@m {
      margin-top: 0;
      margin-left: 30px;
      float: right; } }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-align-left\@l {
      margin-top: 0;
      float: left; }
    .uk-align-right\@l {
      margin-top: 0;
      float: right; }
    .uk-align-left,
    .uk-align-left\@s,
    .uk-align-left\@m,
    .uk-align-left\@l {
      margin-right: 40px; }
    .uk-align-right,
    .uk-align-right\@s,
    .uk-align-right\@m,
    .uk-align-right\@l {
      margin-left: 40px; } }
  
  /* Large screen and bigger */
  @media (min-width: 1600px) {
    .uk-align-left\@xl {
      margin-top: 0;
      margin-right: 40px;
      float: left; }
    .uk-align-right\@xl {
      margin-top: 0;
      margin-left: 40px;
      float: right; } }
  
  /* ========================================================================
     Component: SVG
   ========================================================================== */
  /*
   * 1. Fill all SVG elements with the current text color if no `fill` attribute is set
   * 2. Set the fill and stroke color of all SVG elements to the current text color
   */
  /* 1 */
  .uk-svg,
  .uk-svg:not(.uk-preserve) [fill*='#']:not(.uk-preserve) {
    fill: currentcolor; }
  
  .uk-svg:not(.uk-preserve) [stroke*='#']:not(.uk-preserve) {
    stroke: currentcolor; }
  
  /*
   * Fix Firefox blurry SVG rendering: https://bugzilla.mozilla.org/show_bug.cgi?id=1046835
   */
  .uk-svg {
    transform: translate(0, 0); }
  
  /* ========================================================================
     Component: Utility
   ========================================================================== */
  /* Panel
   ========================================================================== */
  .uk-panel {
    position: relative;
    box-sizing: border-box; }
  
  /*
   * Micro clearfix
   */
  .uk-panel::before,
  .uk-panel::after {
    content: "";
    display: table; }
  
  .uk-panel::after {
    clear: both; }
  
  /*
   * Remove margin from the last-child
   */
  .uk-panel > :last-child {
    margin-bottom: 0; }
  
  /*
   * Scrollable
   */
  .uk-panel-scrollable {
    height: 170px;
    padding: 10px;
    border: 1px solid #e5e5e5;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    resize: both; }
  
  /* Clearfix
   ========================================================================== */
  /*
   * 1. `table-cell` is used with `::before` because `table` creates a 1px gap when it becomes a flex item, only in Webkit
   * 2. `table` is used again with `::after` because `clear` only works with block elements.
   * Note: `display: block` with `overflow: hidden` is currently not working in the latest Safari
   */
  /* 1 */
  .uk-clearfix::before {
    content: "";
    display: table-cell; }
  
  /* 2 */
  .uk-clearfix::after {
    content: "";
    display: table;
    clear: both; }
  
  /* Float
   ========================================================================== */
  /*
   * 1. Prevent content overflow
   */
  .uk-float-left {
    float: left; }
  
  .uk-float-right {
    float: right; }
  
  /* 1 */
  [class*='uk-float-'] {
    max-width: 100%; }
  
  /* Overfow
   ========================================================================== */
  .uk-overflow-hidden {
    overflow: hidden; }
  
  /*
   * Enable scrollbars if content is clipped
   * Note: Firefox ignores `padding-bottom` for the scrollable overflow https://bugzilla.mozilla.org/show_bug.cgi?id=748518
   */
  .uk-overflow-auto {
    overflow: auto;
    -webkit-overflow-scrolling: touch; }
  
  .uk-overflow-auto > :last-child {
    margin-bottom: 0; }
  
  /* Resize
   ========================================================================== */
  .uk-resize {
    resize: both; }
  
  .uk-resize-vertical {
    resize: vertical; }
  
  /* Display
   ========================================================================== */
  .uk-display-block {
    display: block !important; }
  
  .uk-display-inline {
    display: inline !important; }
  
  .uk-display-inline-block {
    display: inline-block !important; }
  
  /* Inline
   ========================================================================== */
  /*
   * 1. Container fits its content
   * 2. Create position context
   * 3. Prevent content overflow
   * 4. Behave like most inline-block elements
   * 5. Force hardware acceleration without creating a new stacking context
   *    to fix 1px glitch when combined with overlays and transitions in Webkit
   * 6. Clip child elements
   */
  [class*='uk-inline'] {
    /* 1 */
    display: inline-block;
    /* 2 */
    position: relative;
    /* 3 */
    max-width: 100%;
    /* 4 */
    vertical-align: middle;
    /* 5 */
    -webkit-backface-visibility: hidden; }
  
  .uk-inline-clip {
    /* 6 */
    overflow: hidden; }
  
  /* Responsive objects
   ========================================================================== */
  /*
   * Preserve original dimensions
   * Because `img, `video`, `canvas` and  `audio` are already responsive by default, see Base component
   */
  .uk-preserve-width,
  .uk-preserve-width canvas,
  .uk-preserve-width img,
  .uk-preserve-width svg,
  .uk-preserve-width video {
    max-width: none; }
  
  /*
   * Responsiveness
   * Corrects `max-width` and `max-height` behavior if padding and border are used
   */
  .uk-responsive-width,
  .uk-responsive-height {
    box-sizing: border-box; }
  
  /*
   * 1. Set a maximum width. `important` needed to override `uk-preserve-width img`
   * 2. Auto scale the height. Only needed if `height` attribute is present
   */
  .uk-responsive-width {
    /* 1 */
    max-width: 100% !important;
    /* 2 */
    height: auto; }
  
  /*
   * 1. Set a maximum height. Only works if the parent element has a fixed height
   * 2. Auto scale the width. Only needed if `width` attribute is present
   * 3. Reset max-width, which `img, `video`, `canvas` and  `audio` already have by default
   */
  .uk-responsive-height {
    /* 1 */
    max-height: 100%;
    /* 2 */
    width: auto;
    /* 3 */
    max-width: none; }
  
  /* Border
   ========================================================================== */
  .uk-border-circle {
    border-radius: 50%; }
  
  .uk-border-pill {
    border-radius: 500px; }
  
  .uk-border-rounded {
    border-radius: 5px; }
  
  /*
   * Fix `overflow: hidden` to be ignored with border-radius and CSS transforms in Webkit
   */
  .uk-inline-clip[class*='uk-border-'] {
    -webkit-transform: translateZ(0); }
  
  /* Box-shadow
   ========================================================================== */
  .uk-box-shadow-small {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }
  
  .uk-box-shadow-medium {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }
  
  .uk-box-shadow-large {
    box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }
  
  .uk-box-shadow-xlarge {
    box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16); }
  
  /*
   * Hover
   */
  [class*='uk-box-shadow-hover'] {
    transition: box-shadow 0.1s ease-in-out; }
  
  .uk-box-shadow-hover-small:hover {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); }
  
  .uk-box-shadow-hover-medium:hover {
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); }
  
  .uk-box-shadow-hover-large:hover {
    box-shadow: 0 14px 25px rgba(0, 0, 0, 0.16); }
  
  .uk-box-shadow-hover-xlarge:hover {
    box-shadow: 0 28px 50px rgba(0, 0, 0, 0.16); }
  
  /* Box-shadow bottom
   ========================================================================== */
  /*
   * 1. Set position.
   * 2. Set style
   * 3. Blur doesn't work on pseudo elements with negative `z-index` in Edge.
   *    Solved by using `before` and add position context to child elements.
   */
  @supports (filter: blur(0)) {
    .uk-box-shadow-bottom {
      display: inline-block;
      position: relative;
      max-width: 100%;
      vertical-align: middle; }
    .uk-box-shadow-bottom::before {
      content: '';
      /* 1 */
      position: absolute;
      bottom: -30px;
      left: 0;
      right: 0;
      /* 2 */
      height: 30px;
      border-radius: 100%;
      background: #444;
      filter: blur(20px); }
    /* 3 */
    .uk-box-shadow-bottom > * {
      position: relative; } }
  
  /* Drop cap
   ========================================================================== */
  /*
   * 1. Firefox doesn't apply `::first-letter` if the first letter is inside child elements
   *    https://bugzilla.mozilla.org/show_bug.cgi?id=214004
   * 2. In Firefox, a floating `::first-letter` doesn't have a line box and there for no `line-height`
   *    https://bugzilla.mozilla.org/show_bug.cgi?id=317933
   * 3. Caused by 1.: Edge creates two nested `::first-letter` containers, one for each selector
   *    This doubles the `font-size` exponential when using the `em` unit.
   */
  .uk-dropcap::first-letter,
  .uk-dropcap > p:first-of-type::first-letter {
    display: block;
    margin-right: 10px;
    float: left;
    font-size: 4.5em;
    line-height: 1; }
  
  /* 2 */
  @-moz-document url-prefix() {
    .uk-dropcap::first-letter,
    .uk-dropcap > p:first-of-type::first-letter {
      margin-top: 1.1%; } }
  
  /* 3 */
  @supports (-ms-ime-align: auto) {
    .uk-dropcap > p:first-of-type::first-letter {
      font-size: 1em; } }
  
  /* Logo
   ========================================================================== */
  /*
   * 1. Required for `a`
   */
  .uk-logo {
    font-size: 1.5rem;
    font-family: "museo-sans", sans-serif;
    color: #5e5e5e;
    /* 1 */
    text-decoration: none; }
  
  /* Hover + Focus */
  .uk-logo:hover,
  .uk-logo:focus {
    color: #5e5e5e;
    outline: none;
    /* 1 */
    text-decoration: none; }
  
  .uk-logo-inverse {
    display: none; }
  
  /* Disabled State
   ========================================================================== */
  .uk-disabled {
    pointer-events: none; }
  
  /* Drag State
   ========================================================================== */
  /*
   * 1. Needed if moving over elements with have their own cursor on hover, e.g. links or buttons
   * 2. Fix dragging over iframes
   */
  .uk-drag,
  .uk-drag * {
    cursor: move; }
  
  /* 2 */
  .uk-drag iframe {
    pointer-events: none; }
  
  /* Dragover State
   ========================================================================== */
  /*
   * Create a box-shadow when dragging a file over the upload area
   */
  .uk-dragover {
    box-shadow: 0 0 20px rgba(100, 100, 100, 0.3); }
  
  /* Blend modes
   ========================================================================== */
  .uk-blend-multiply {
    mix-blend-mode: multiply; }
  
  .uk-blend-screen {
    mix-blend-mode: screen; }
  
  .uk-blend-overlay {
    mix-blend-mode: overlay; }
  
  .uk-blend-darken {
    mix-blend-mode: darken; }
  
  .uk-blend-lighten {
    mix-blend-mode: lighten; }
  
  .uk-blend-color-dodge {
    mix-blend-mode: color-dodge; }
  
  .uk-blend-color-burn {
    mix-blend-mode: color-burn; }
  
  .uk-blend-hard-light {
    mix-blend-mode: hard-light; }
  
  .uk-blend-soft-light {
    mix-blend-mode: soft-light; }
  
  .uk-blend-difference {
    mix-blend-mode: difference; }
  
  .uk-blend-exclusion {
    mix-blend-mode: exclusion; }
  
  .uk-blend-hue {
    mix-blend-mode: hue; }
  
  .uk-blend-saturation {
    mix-blend-mode: saturation; }
  
  .uk-blend-color {
    mix-blend-mode: color; }
  
  .uk-blend-luminosity {
    mix-blend-mode: luminosity; }
  
  /* Transform
  ========================================================================== */
  .uk-transform-center {
    transform: translate(-50%, -50%); }
  
  /* Transform Origin
  ========================================================================== */
  .uk-transform-origin-top-left {
    transform-origin: 0 0; }
  
  .uk-transform-origin-top-center {
    transform-origin: 50% 0; }
  
  .uk-transform-origin-top-right {
    transform-origin: 100% 0; }
  
  .uk-transform-origin-center-left {
    transform-origin: 0 50%; }
  
  .uk-transform-origin-center-right {
    transform-origin: 100% 50%; }
  
  .uk-transform-origin-bottom-left {
    transform-origin: 0 100%; }
  
  .uk-transform-origin-bottom-center {
    transform-origin: 50% 100%; }
  
  .uk-transform-origin-bottom-right {
    transform-origin: 100% 100%; }
  
  /* ========================================================================
     Component: Flex
   ========================================================================== */
  .uk-flex {
    display: flex; }
  
  .uk-flex-inline {
    display: inline-flex; }
  
  /*
   * Remove pseudo elements created by micro clearfix as precaution
   */
  .uk-flex::before,
  .uk-flex::after,
  .uk-flex-inline::before,
  .uk-flex-inline::after {
    display: none; }
  
  /* Alignment
   ========================================================================== */
  /*
   * Align items along the main axis of the current line of the flex container
   * Row: Horizontal
   */
  .uk-flex-left {
    justify-content: flex-start; }
  
  .uk-flex-center {
    justify-content: center; }
  
  .uk-flex-right {
    justify-content: flex-end; }
  
  .uk-flex-between {
    justify-content: space-between; }
  
  .uk-flex-around {
    justify-content: space-around; }
  
  /* Phone landscape and bigger */
  @media (min-width: 640px) {
    .uk-flex-left\@s {
      justify-content: flex-start; }
    .uk-flex-center\@s {
      justify-content: center; }
    .uk-flex-right\@s {
      justify-content: flex-end; }
    .uk-flex-between\@s {
      justify-content: space-between; }
    .uk-flex-around\@s {
      justify-content: space-around; } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-flex-left\@m {
      justify-content: flex-start; }
    .uk-flex-center\@m {
      justify-content: center; }
    .uk-flex-right\@m {
      justify-content: flex-end; }
    .uk-flex-between\@m {
      justify-content: space-between; }
    .uk-flex-around\@m {
      justify-content: space-around; } }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-flex-left\@l {
      justify-content: flex-start; }
    .uk-flex-center\@l {
      justify-content: center; }
    .uk-flex-right\@l {
      justify-content: flex-end; }
    .uk-flex-between\@l {
      justify-content: space-between; }
    .uk-flex-around\@l {
      justify-content: space-around; } }
  
  /* Large screen and bigger */
  @media (min-width: 1600px) {
    .uk-flex-left\@xl {
      justify-content: flex-start; }
    .uk-flex-center\@xl {
      justify-content: center; }
    .uk-flex-right\@xl {
      justify-content: flex-end; }
    .uk-flex-between\@xl {
      justify-content: space-between; }
    .uk-flex-around\@xl {
      justify-content: space-around; } }
  
  /*
   * Align items in the cross axis of the current line of the flex container
   * Row: Vertical
   */
  .uk-flex-stretch {
    align-items: stretch; }
  
  .uk-flex-top {
    align-items: flex-start; }
  
  .uk-flex-middle {
    align-items: center; }
  
  .uk-flex-bottom {
    align-items: flex-end; }
  
  /* Direction
   ========================================================================== */
  .uk-flex-row {
    flex-direction: row; }
  
  .uk-flex-row-reverse {
    flex-direction: row-reverse; }
  
  .uk-flex-column {
    flex-direction: column; }
  
  .uk-flex-column-reverse {
    flex-direction: column-reverse; }
  
  /* Wrap
   ========================================================================== */
  .uk-flex-nowrap {
    flex-wrap: nowrap; }
  
  .uk-flex-wrap {
    flex-wrap: wrap; }
  
  .uk-flex-wrap-reverse {
    flex-wrap: wrap-reverse; }
  
  /*
   * Aligns items within the flex container when there is extra space in the cross-axis
   * Only works if there is more than one line of flex items
   */
  .uk-flex-wrap-stretch {
    align-content: stretch; }
  
  .uk-flex-wrap-top {
    align-content: flex-start; }
  
  .uk-flex-wrap-middle {
    align-content: center; }
  
  .uk-flex-wrap-bottom {
    align-content: flex-end; }
  
  .uk-flex-wrap-between {
    align-content: space-between; }
  
  .uk-flex-wrap-around {
    align-content: space-around; }
  
  /* Item ordering
   ========================================================================== */
  /*
   * Default is 0
   */
  .uk-flex-first {
    order: -1; }
  
  .uk-flex-last {
    order: 99; }
  
  /* Phone landscape and bigger */
  @media (min-width: 640px) {
    .uk-flex-first\@s {
      order: -1; }
    .uk-flex-last\@s {
      order: 99; } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-flex-first\@m {
      order: -1; }
    .uk-flex-last\@m {
      order: 99; } }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-flex-first\@l {
      order: -1; }
    .uk-flex-last\@l {
      order: 99; } }
  
  /* Large screen and bigger */
  @media (min-width: 1600px) {
    .uk-flex-first\@xl {
      order: -1; }
    .uk-flex-last\@xl {
      order: 99; } }
  
  /* Item dimensions
   ========================================================================== */
  /*
   * Initial: 0 1 auto
   * Content dimensions, but shrinks
   */
  /*
   * No Flex: 0 0 auto
   * Content dimensions
   */
  .uk-flex-none {
    flex: none; }
  
  /*
   * Relative Flex: 1 1 auto
   * Space is allocated considering content
   */
  .uk-flex-auto {
    flex: auto; }
  
  /*
   * Absolute Flex: 1 1 0%
   * Space is allocated solely based on flex
   */
  .uk-flex-1 {
    flex: 1; }
  
  /* ========================================================================
     Component: Margin
   ========================================================================== */
  /*
   * Default
   */
  .uk-margin {
    margin-bottom: 20px; }
  
  * + .uk-margin {
    margin-top: 20px !important; }
  
  .uk-margin-top {
    margin-top: 20px !important; }
  
  .uk-margin-bottom {
    margin-bottom: 20px !important; }
  
  .uk-margin-left {
    margin-left: 20px !important; }
  
  .uk-margin-right {
    margin-right: 20px !important; }
  
  /* Small
   ========================================================================== */
  .uk-margin-small {
    margin-bottom: 10px; }
  
  * + .uk-margin-small {
    margin-top: 10px !important; }
  
  .uk-margin-small-top {
    margin-top: 10px !important; }
  
  .uk-margin-small-bottom {
    margin-bottom: 10px !important; }
  
  .uk-margin-small-left {
    margin-left: 10px !important; }
  
  .uk-margin-small-right {
    margin-right: 10px !important; }
  
  /* Medium
   ========================================================================== */
  .uk-margin-medium {
    margin-bottom: 40px; }
  
  * + .uk-margin-medium {
    margin-top: 40px !important; }
  
  .uk-margin-medium-top {
    margin-top: 40px !important; }
  
  .uk-margin-medium-bottom {
    margin-bottom: 40px !important; }
  
  .uk-margin-medium-left {
    margin-left: 40px !important; }
  
  .uk-margin-medium-right {
    margin-right: 40px !important; }
  
  /* Large
   ========================================================================== */
  .uk-margin-large {
    margin-bottom: 40px; }
  
  * + .uk-margin-large {
    margin-top: 40px !important; }
  
  .uk-margin-large-top {
    margin-top: 40px !important; }
  
  .uk-margin-large-bottom {
    margin-bottom: 40px !important; }
  
  .uk-margin-large-left {
    margin-left: 40px !important; }
  
  .uk-margin-large-right {
    margin-right: 40px !important; }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-margin-large {
      margin-bottom: 70px; }
    * + .uk-margin-large {
      margin-top: 70px !important; }
    .uk-margin-large-top {
      margin-top: 70px !important; }
    .uk-margin-large-bottom {
      margin-bottom: 70px !important; }
    .uk-margin-large-left {
      margin-left: 70px !important; }
    .uk-margin-large-right {
      margin-right: 70px !important; } }
  
  /* XLarge
   ========================================================================== */
  .uk-margin-xlarge {
    margin-bottom: 70px; }
  
  * + .uk-margin-xlarge {
    margin-top: 70px !important; }
  
  .uk-margin-xlarge-top {
    margin-top: 70px !important; }
  
  .uk-margin-xlarge-bottom {
    margin-bottom: 70px !important; }
  
  .uk-margin-xlarge-left {
    margin-left: 70px !important; }
  
  .uk-margin-xlarge-right {
    margin-right: 70px !important; }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-margin-xlarge {
      margin-bottom: 140px; }
    * + .uk-margin-xlarge {
      margin-top: 140px !important; }
    .uk-margin-xlarge-top {
      margin-top: 140px !important; }
    .uk-margin-xlarge-bottom {
      margin-bottom: 140px !important; }
    .uk-margin-xlarge-left {
      margin-left: 140px !important; }
    .uk-margin-xlarge-right {
      margin-right: 140px !important; } }
  
  /* Remove
   ========================================================================== */
  .uk-margin-remove {
    margin: 0 !important; }
  
  .uk-margin-remove-top {
    margin-top: 0 !important; }
  
  .uk-margin-remove-bottom {
    margin-bottom: 0 !important; }
  
  .uk-margin-remove-left {
    margin-left: 0 !important; }
  
  .uk-margin-remove-right {
    margin-right: 0 !important; }
  
  .uk-margin-remove-vertical {
    margin-top: 0 !important;
    margin-bottom: 0 !important; }
  
  .uk-margin-remove-adjacent + * {
    margin-top: 0 !important; }
  
  /* Auto
   ========================================================================== */
  .uk-margin-auto {
    margin-left: auto !important;
    margin-right: auto !important; }
  
  .uk-margin-auto-top {
    margin-top: auto !important; }
  
  .uk-margin-auto-bottom {
    margin-bottom: auto !important; }
  
  .uk-margin-auto-left {
    margin-left: auto !important; }
  
  .uk-margin-auto-right {
    margin-right: auto !important; }
  
  .uk-margin-auto-vertical {
    margin-top: auto !important;
    margin-bottom: auto !important; }
  
  /* ========================================================================
     Component: Padding
   ========================================================================== */
  .uk-padding {
    padding: 30px; }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-padding {
      padding: 40px; } }
  
  /* Small
   ========================================================================== */
  .uk-padding-small {
    padding: 15px; }
  
  /* Large
   ========================================================================== */
  .uk-padding-large {
    padding: 30px; }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-padding-large {
      padding: 70px; } }
  
  /* Remove
   ========================================================================== */
  .uk-padding-remove {
    padding: 0 !important; }
  
  .uk-padding-remove-top {
    padding-top: 0 !important; }
  
  .uk-padding-remove-bottom {
    padding-bottom: 0 !important; }
  
  .uk-padding-remove-left {
    padding-left: 0 !important; }
  
  .uk-padding-remove-right {
    padding-right: 0 !important; }
  
  .uk-padding-remove-vertical {
    padding-top: 0 !important;
    padding-bottom: 0 !important; }
  
  .uk-padding-remove-horizontal {
    padding-left: 0 !important;
    padding-right: 0 !important; }
  
  /* ========================================================================
     Component: Position
   ========================================================================== */
  /* Directions
   ========================================================================== */
  [class*='uk-position-top'],
  [class*='uk-position-bottom'],
  [class*='uk-position-left'],
  [class*='uk-position-right'],
  [class*='uk-position-center'] {
    position: absolute !important; }
  
  /* Edges
   ========================================================================== */
  /* Don't use `width: 100%` because it is wrong if the parent has padding. */
  .uk-position-top {
    top: 0;
    left: 0;
    right: 0; }
  
  .uk-position-bottom {
    bottom: 0;
    left: 0;
    right: 0; }
  
  .uk-position-left {
    top: 0;
    bottom: 0;
    left: 0; }
  
  .uk-position-right {
    top: 0;
    bottom: 0;
    right: 0; }
  
  /* Corners
   ========================================================================== */
  .uk-position-top-left {
    top: 0;
    left: 0; }
  
  .uk-position-top-right {
    top: 0;
    right: 0; }
  
  .uk-position-bottom-left {
    bottom: 0;
    left: 0; }
  
  .uk-position-bottom-right {
    bottom: 0;
    right: 0; }
  
  /*
   * Center
   * 1. Fix text wrapping if content is larger than 50% of the container.
   */
  .uk-position-center {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    /* 1 */
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    box-sizing: border-box; }
    
    .page-id-11469 section#business-growth {
      padding-bottom: 12px;
  }
  
  /* Vertical */
  [class*='uk-position-center-left'],
  [class*='uk-position-center-right'] {
    top: 50%;
    transform: translateY(-50%); }
  
  .uk-position-center-left {
    left: 0; }
  
  .uk-position-center-right {
    right: 0; }
  
  .uk-position-center-left-out {
    right: 100%;
    width: -moz-max-content;
    width: max-content; }
  
  .uk-position-center-right-out {
    left: 100%;
    width: -moz-max-content;
    width: max-content; }
  
  /* Horizontal */
  .uk-position-top-center,
  .uk-position-bottom-center {
    left: 50%;
    transform: translateX(-50%);
    /* 1 */
    width: -moz-max-content;
    width: max-content;
    max-width: 100%;
    box-sizing: border-box; }
  
  .uk-position-top-center {
    top: 0; }
  
  .uk-position-bottom-center {
    bottom: 0; }
  
  /* Cover
   ========================================================================== */
  .uk-position-cover {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0; }
  
  /* Utility
   ========================================================================== */
  .uk-position-relative {
    position: relative !important; }
  
  .uk-position-absolute {
    position: absolute !important; }
  
  .uk-position-fixed {
    position: fixed !important; }
  
  .uk-position-z-index {
    z-index: 1; }
  
  /* Margin modifier
   ========================================================================== */
  /*
   * Small
   */
  .uk-position-small {
    max-width: calc(100% - (15px * 2));
    margin: 15px; }
  
  .uk-position-small.uk-position-center {
    transform: translate(-50%, -50%) translate(-15px, -15px); }
  
  .uk-position-small[class*='uk-position-center-left'],
  .uk-position-small[class*='uk-position-center-right'] {
    transform: translateY(-50%) translateY(-15px); }
  
  .uk-position-small.uk-position-top-center,
  .uk-position-small.uk-position-bottom-center {
    transform: translateX(-50%) translateX(-15px); }
  
  /*
   * Medium
   */
  .uk-position-medium {
    max-width: calc(100% - (30px * 2));
    margin: 30px; }
  
  .uk-position-medium.uk-position-center {
    transform: translate(-50%, -50%) translate(-30px, -30px); }
  
  .uk-position-medium[class*='uk-position-center-left'],
  .uk-position-medium[class*='uk-position-center-right'] {
    transform: translateY(-50%) translateY(-30px); }
  
  .uk-position-medium.uk-position-top-center,
  .uk-position-medium.uk-position-bottom-center {
    transform: translateX(-50%) translateX(-30px); }
  
  /*
   * Large
   */
  .uk-position-large {
    max-width: calc(100% - (30px * 2));
    margin: 30px; }
  
  .uk-position-large.uk-position-center {
    transform: translate(-50%, -50%) translate(-30px, -30px); }
  
  .uk-position-large[class*='uk-position-center-left'],
  .uk-position-large[class*='uk-position-center-right'] {
    transform: translateY(-50%) translateY(-30px); }
  
  .uk-position-large.uk-position-top-center,
  .uk-position-large.uk-position-bottom-center {
    transform: translateX(-50%) translateX(-30px); }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-position-large {
      max-width: calc(100% - (50px * 2));
      margin: 50px; }
    .uk-position-large.uk-position-center {
      transform: translate(-50%, -50%) translate(-50px, -50px); }
    .uk-position-large[class*='uk-position-center-left'],
    .uk-position-large[class*='uk-position-center-right'] {
      transform: translateY(-50%) translateY(-50px); }
    .uk-position-large.uk-position-top-center,
    .uk-position-large.uk-position-bottom-center {
      transform: translateX(-50%) translateX(-50px); } }
  
  /* ========================================================================
     Component: Transition
   ========================================================================== */
  /* Toggle (Hover + Focus)
   ========================================================================== */
  /*
   * 1. Prevent tab highlighting on iOS.
   */
  .uk-transition-toggle {
    /* 1 */
    -webkit-tap-highlight-color: transparent; }
  
  /*
   * Remove outline for `tabindex`
   */
  .uk-transition-toggle:focus {
    outline: none; }
  
  /* Transitions
   ========================================================================== */
  /*
   * The toggle is triggered on touch devices by two methods:
   * 1. Using `:focus` and tabindex
   * 2. Using `:hover` and a `touchstart` event listener registered on the document
   *    (Doesn't work on Surface touch devices)
   *
   * Note: Transitions don't work with `uk-postion-center-*` classes because they also use `transform`,
   *       therefore it's recommended to use an extra `div` for the transition.
   */
  .uk-transition-fade,
  [class*='uk-transition-scale'],
  [class*='uk-transition-slide'],
  .uk-transition-stroke {
    transition: 0.3s ease-out;
    transition-property: opacity, transform, filter, stroke-dashoffset;
    opacity: 0; }
  
  /*
   * Fade
   */
  .uk-transition-toggle:hover .uk-transition-fade,
  .uk-transition-toggle:focus .uk-transition-fade,
  .uk-transition-active.uk-active .uk-transition-fade {
    opacity: 1; }
  
  /*
   * Scale
   * Note: Using `scale3d` for better image rendering
   */
  .uk-transition-scale-up {
    transform: scale3d(1, 1, 1); }
  
  .uk-transition-scale-down {
    transform: scale3d(1.1, 1.1, 1); }
  
  /* Show */
  .uk-transition-toggle:hover .uk-transition-scale-up,
  .uk-transition-toggle:focus .uk-transition-scale-up,
  .uk-transition-active.uk-active .uk-transition-scale-up {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1); }
  
  .uk-transition-toggle:hover .uk-transition-scale-down,
  .uk-transition-toggle:focus .uk-transition-scale-down,
  .uk-transition-active.uk-active .uk-transition-scale-down {
    opacity: 1;
    transform: scale3d(1, 1, 1); }
  
  /*
   * Slide
   */
  .uk-transition-slide-top {
    transform: translateY(-100%); }
  
  .uk-transition-slide-bottom {
    transform: translateY(100%); }
  
  .uk-transition-slide-left {
    transform: translateX(-100%); }
  
  .uk-transition-slide-right {
    transform: translateX(100%); }
  
  .uk-transition-slide-top-small {
    transform: translateY(-10px); }
  
  .uk-transition-slide-bottom-small {
    transform: translateY(10px); }
  
  .uk-transition-slide-left-small {
    transform: translateX(-10px); }
  
  .uk-transition-slide-right-small {
    transform: translateX(10px); }
  
  .uk-transition-slide-top-medium {
    transform: translateY(-50px); }
  
  .uk-transition-slide-bottom-medium {
    transform: translateY(50px); }
  
  .uk-transition-slide-left-medium {
    transform: translateX(-50px); }
  
  .uk-transition-slide-right-medium {
    transform: translateX(50px); }
  
  /* Show */
  .uk-transition-toggle:hover [class*='uk-transition-slide'],
  .uk-transition-toggle:focus [class*='uk-transition-slide'],
  .uk-transition-active.uk-active [class*='uk-transition-slide'] {
    opacity: 1;
    transform: translate(0, 0); }
  
  /*
   * Stroke
   */
  .uk-transition-stroke {
    transition-duration: 3s; }
  
  /* Show */
  .uk-transition-stroke:hover,
  .uk-transition-stroke:focus,
  .uk-transition-stroke.uk-transition-active {
    opacity: 1;
    stroke-dashoffset: 0 !important; }
  
  /* Opacity modifier
   ========================================================================== */
  .uk-transition-opaque {
    opacity: 1; }
  
  /* Duration modifiers
   ========================================================================== */
  .uk-transition-slow {
    transition-duration: 0.7s; }
  
  /* ========================================================================
     Component: Visibility
   ========================================================================== */
  /*
   * Hidden
   * `hidden` attribute also set here to make it stronger
   */
  [hidden],
  .uk-hidden {
    display: none !important; }
  
  /* Phone landscape and bigger */
  @media (min-width: 640px) {
    .uk-hidden\@s {
      display: none !important; } }
  
  /* Tablet landscape and bigger */
  @media (min-width: 960px) {
    .uk-hidden\@m {
      display: none !important; } }
  
  /* Desktop and bigger */
  @media (min-width: 1200px) {
    .uk-hidden\@l {
      display: none !important; } }
  
  /* Large screen and bigger */
  @media (min-width: 1600px) {
    .uk-hidden\@xl {
      display: none !important; } }
  
  /*
   * Visible
   */
  /* Phone portrait and smaller */
  @media (max-width: 639px) {
    .uk-visible\@s {
      display: none !important; } }
  
  /* Phone landscape and smaller */
  @media (max-width: 959px) {
    .uk-visible\@m {
      display: none !important; } }
  
  /* Tablet landscape and smaller */
  @media (max-width: 1199px) {
    .uk-visible\@l {
      display: none !important; } }
  
  /* Desktop and smaller */
  @media (max-width: 1599px) {
    .uk-visible\@xl {
      display: none !important; } }
  
  /* Visibility
   ========================================================================== */
  .uk-invisible {
    visibility: hidden !important; }
  
  /* Toggle (Hover + Focus)
   ========================================================================== */
  /*
   * Hidden
   * 1. The toggle is triggered on touch devices using `:focus` and tabindex
   * 2. The target stays visible if any element within receives focus through keyboard
   *    Doesn't work in Edge, yet.
   * 3. Can't use `display: none` nor `visibility: hidden` because both are not focusable.
   *
   */
  /* 1 + 2 */
  .uk-visible-toggle:not(:hover):not(:focus) .uk-hidden-hover:not(:focus-within) {
    /* 3 */
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important; }
  
  /*
   * Invisible
   */
  /* 1 + 2 */
  .uk-visible-toggle:not(:hover):not(:focus) .uk-invisible-hover:not(:focus-within) {
    /* 3 */
    opacity: 0 !important; }
  
  /*
   * 1. Prevent tab highlighting on iOS.
   */
  .uk-visible-toggle {
    /* 1 */
    -webkit-tap-highlight-color: transparent; }
  
  /*
   * Remove outline for `tabindex`
   */
  .uk-visible-toggle:focus {
    outline: none; }
  
  /* Touch
   ========================================================================== */
  /*
   * Hide if primary pointing device has limited accuracy, e.g. a touch screen.
   * Works on mobile browsers: Safari, Chrome and Android browser
   */
  @media (pointer: coarse) {
    .uk-hidden-touch {
      display: none !important; } }
  
  /*
   * Hide if primary pointing device is accurate, e.g. mouse.
   * 1. Fallback for IE11 and Firefox, because `pointer` is not supported
   * 2. Reset if supported
   */
  /* 1 */
  .uk-hidden-notouch {
    display: none !important; }
  
  @media (pointer: coarse) {
    .uk-hidden-notouch {
      display: block !important; } }
  
  /* ========================================================================
     Component: Inverse
   ========================================================================== */
  /*
   * Implemented class depends on the general theme color
   * `uk-light` is for light colors on dark backgrounds
   * `uk-dark` is or dark colors on light backgrounds
   */
  .uk-light, .uk-section-primary:not(.uk-preserve-color), .uk-section-secondary:not(.uk-preserve-color), .uk-tile-primary:not(.uk-preserve-color), .uk-tile-secondary:not(.uk-preserve-color), .uk-card-primary.uk-card-body, .uk-card-primary > :not([class*='uk-card-media']), .uk-card-secondary.uk-card-body, .uk-card-secondary > :not([class*='uk-card-media']), .uk-overlay-primary, .uk-offcanvas-bar {
    color: rgba(255, 255, 255, 0.7); }
    .uk-light a, .uk-section-primary:not(.uk-preserve-color) a, .uk-section-secondary:not(.uk-preserve-color) a, .uk-tile-primary:not(.uk-preserve-color) a, .uk-tile-secondary:not(.uk-preserve-color) a, .uk-card-primary.uk-card-body a, .uk-card-primary > :not([class*='uk-card-media']) a, .uk-card-secondary.uk-card-body a, .uk-card-secondary > :not([class*='uk-card-media']) a, .uk-overlay-primary a, .uk-offcanvas-bar a,
    .uk-light .uk-link,
    .uk-section-primary:not(.uk-preserve-color) .uk-link,
    .uk-section-secondary:not(.uk-preserve-color) .uk-link,
    .uk-tile-primary:not(.uk-preserve-color) .uk-link,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-link,
    .uk-card-primary.uk-card-body .uk-link,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-link,
    .uk-card-secondary.uk-card-body .uk-link,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-link,
    .uk-overlay-primary .uk-link,
    .uk-offcanvas-bar .uk-link {
      color: #fff; }
    .uk-light a:hover, .uk-section-primary:not(.uk-preserve-color) a:hover, .uk-section-secondary:not(.uk-preserve-color) a:hover, .uk-tile-primary:not(.uk-preserve-color) a:hover, .uk-tile-secondary:not(.uk-preserve-color) a:hover, .uk-card-primary.uk-card-body a:hover, .uk-card-primary > :not([class*='uk-card-media']) a:hover, .uk-card-secondary.uk-card-body a:hover, .uk-card-secondary > :not([class*='uk-card-media']) a:hover, .uk-overlay-primary a:hover, .uk-offcanvas-bar a:hover,
    .uk-light .uk-link:hover,
    .uk-section-primary:not(.uk-preserve-color) .uk-link:hover,
    .uk-section-secondary:not(.uk-preserve-color) .uk-link:hover,
    .uk-tile-primary:not(.uk-preserve-color) .uk-link:hover,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-link:hover,
    .uk-card-primary.uk-card-body .uk-link:hover,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-link:hover,
    .uk-card-secondary.uk-card-body .uk-link:hover,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-link:hover,
    .uk-overlay-primary .uk-link:hover,
    .uk-offcanvas-bar .uk-link:hover {
      color: #fff; }
    .uk-light :not(pre) > code, .uk-section-primary:not(.uk-preserve-color) :not(pre) > code, .uk-section-secondary:not(.uk-preserve-color) :not(pre) > code, .uk-tile-primary:not(.uk-preserve-color) :not(pre) > code, .uk-tile-secondary:not(.uk-preserve-color) :not(pre) > code, .uk-card-primary.uk-card-body :not(pre) > code, .uk-card-primary > :not([class*='uk-card-media']) :not(pre) > code, .uk-card-secondary.uk-card-body :not(pre) > code, .uk-card-secondary > :not([class*='uk-card-media']) :not(pre) > code, .uk-overlay-primary :not(pre) > code, .uk-offcanvas-bar :not(pre) > code,
    .uk-light :not(pre) > kbd,
    .uk-section-primary:not(.uk-preserve-color) :not(pre) > kbd,
    .uk-section-secondary:not(.uk-preserve-color) :not(pre) > kbd,
    .uk-tile-primary:not(.uk-preserve-color) :not(pre) > kbd,
    .uk-tile-secondary:not(.uk-preserve-color) :not(pre) > kbd,
    .uk-card-primary.uk-card-body :not(pre) > kbd,
    .uk-card-primary > :not([class*='uk-card-media']) :not(pre) > kbd,
    .uk-card-secondary.uk-card-body :not(pre) > kbd,
    .uk-card-secondary > :not([class*='uk-card-media']) :not(pre) > kbd,
    .uk-overlay-primary :not(pre) > kbd,
    .uk-offcanvas-bar :not(pre) > kbd,
    .uk-light :not(pre) > samp,
    .uk-section-primary:not(.uk-preserve-color) :not(pre) > samp,
    .uk-section-secondary:not(.uk-preserve-color) :not(pre) > samp,
    .uk-tile-primary:not(.uk-preserve-color) :not(pre) > samp,
    .uk-tile-secondary:not(.uk-preserve-color) :not(pre) > samp,
    .uk-card-primary.uk-card-body :not(pre) > samp,
    .uk-card-primary > :not([class*='uk-card-media']) :not(pre) > samp,
    .uk-card-secondary.uk-card-body :not(pre) > samp,
    .uk-card-secondary > :not([class*='uk-card-media']) :not(pre) > samp,
    .uk-overlay-primary :not(pre) > samp,
    .uk-offcanvas-bar :not(pre) > samp {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light em, .uk-section-primary:not(.uk-preserve-color) em, .uk-section-secondary:not(.uk-preserve-color) em, .uk-tile-primary:not(.uk-preserve-color) em, .uk-tile-secondary:not(.uk-preserve-color) em, .uk-card-primary.uk-card-body em, .uk-card-primary > :not([class*='uk-card-media']) em, .uk-card-secondary.uk-card-body em, .uk-card-secondary > :not([class*='uk-card-media']) em, .uk-overlay-primary em, .uk-offcanvas-bar em {
      color: #fff; }
    .uk-light h1, .uk-section-primary:not(.uk-preserve-color) h1, .uk-section-secondary:not(.uk-preserve-color) h1, .uk-tile-primary:not(.uk-preserve-color) h1, .uk-tile-secondary:not(.uk-preserve-color) h1, .uk-card-primary.uk-card-body h1, .uk-card-primary > :not([class*='uk-card-media']) h1, .uk-card-secondary.uk-card-body h1, .uk-card-secondary > :not([class*='uk-card-media']) h1, .uk-overlay-primary h1, .uk-offcanvas-bar h1, .uk-light .uk-h1, .uk-section-primary:not(.uk-preserve-color) .uk-h1, .uk-section-secondary:not(.uk-preserve-color) .uk-h1, .uk-tile-primary:not(.uk-preserve-color) .uk-h1, .uk-tile-secondary:not(.uk-preserve-color) .uk-h1, .uk-card-primary.uk-card-body .uk-h1, .uk-card-primary > :not([class*='uk-card-media']) .uk-h1, .uk-card-secondary.uk-card-body .uk-h1, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h1, .uk-overlay-primary .uk-h1, .uk-offcanvas-bar .uk-h1,
    .uk-light h2,
    .uk-section-primary:not(.uk-preserve-color) h2,
    .uk-section-secondary:not(.uk-preserve-color) h2,
    .uk-tile-primary:not(.uk-preserve-color) h2,
    .uk-tile-secondary:not(.uk-preserve-color) h2,
    .uk-card-primary.uk-card-body h2,
    .uk-card-primary > :not([class*='uk-card-media']) h2,
    .uk-card-secondary.uk-card-body h2,
    .uk-card-secondary > :not([class*='uk-card-media']) h2,
    .uk-overlay-primary h2,
    .uk-offcanvas-bar h2, .uk-light .uk-h2, .uk-section-primary:not(.uk-preserve-color) .uk-h2, .uk-section-secondary:not(.uk-preserve-color) .uk-h2, .uk-tile-primary:not(.uk-preserve-color) .uk-h2, .uk-tile-secondary:not(.uk-preserve-color) .uk-h2, .uk-card-primary.uk-card-body .uk-h2, .uk-card-primary > :not([class*='uk-card-media']) .uk-h2, .uk-card-secondary.uk-card-body .uk-h2, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h2, .uk-overlay-primary .uk-h2, .uk-offcanvas-bar .uk-h2,
    .uk-light h3,
    .uk-section-primary:not(.uk-preserve-color) h3,
    .uk-section-secondary:not(.uk-preserve-color) h3,
    .uk-tile-primary:not(.uk-preserve-color) h3,
    .uk-tile-secondary:not(.uk-preserve-color) h3,
    .uk-card-primary.uk-card-body h3,
    .uk-card-primary > :not([class*='uk-card-media']) h3,
    .uk-card-secondary.uk-card-body h3,
    .uk-card-secondary > :not([class*='uk-card-media']) h3,
    .uk-overlay-primary h3,
    .uk-offcanvas-bar h3, .uk-light .uk-h3, .uk-section-primary:not(.uk-preserve-color) .uk-h3, .uk-section-secondary:not(.uk-preserve-color) .uk-h3, .uk-tile-primary:not(.uk-preserve-color) .uk-h3, .uk-tile-secondary:not(.uk-preserve-color) .uk-h3, .uk-card-primary.uk-card-body .uk-h3, .uk-card-primary > :not([class*='uk-card-media']) .uk-h3, .uk-card-secondary.uk-card-body .uk-h3, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h3, .uk-overlay-primary .uk-h3, .uk-offcanvas-bar .uk-h3,
    .uk-light h4,
    .uk-section-primary:not(.uk-preserve-color) h4,
    .uk-section-secondary:not(.uk-preserve-color) h4,
    .uk-tile-primary:not(.uk-preserve-color) h4,
    .uk-tile-secondary:not(.uk-preserve-color) h4,
    .uk-card-primary.uk-card-body h4,
    .uk-card-primary > :not([class*='uk-card-media']) h4,
    .uk-card-secondary.uk-card-body h4,
    .uk-card-secondary > :not([class*='uk-card-media']) h4,
    .uk-overlay-primary h4,
    .uk-offcanvas-bar h4, .uk-light .uk-h4, .uk-section-primary:not(.uk-preserve-color) .uk-h4, .uk-section-secondary:not(.uk-preserve-color) .uk-h4, .uk-tile-primary:not(.uk-preserve-color) .uk-h4, .uk-tile-secondary:not(.uk-preserve-color) .uk-h4, .uk-card-primary.uk-card-body .uk-h4, .uk-card-primary > :not([class*='uk-card-media']) .uk-h4, .uk-card-secondary.uk-card-body .uk-h4, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h4, .uk-overlay-primary .uk-h4, .uk-offcanvas-bar .uk-h4,
    .uk-light h5,
    .uk-section-primary:not(.uk-preserve-color) h5,
    .uk-section-secondary:not(.uk-preserve-color) h5,
    .uk-tile-primary:not(.uk-preserve-color) h5,
    .uk-tile-secondary:not(.uk-preserve-color) h5,
    .uk-card-primary.uk-card-body h5,
    .uk-card-primary > :not([class*='uk-card-media']) h5,
    .uk-card-secondary.uk-card-body h5,
    .uk-card-secondary > :not([class*='uk-card-media']) h5,
    .uk-overlay-primary h5,
    .uk-offcanvas-bar h5, .uk-light .uk-h5, .uk-section-primary:not(.uk-preserve-color) .uk-h5, .uk-section-secondary:not(.uk-preserve-color) .uk-h5, .uk-tile-primary:not(.uk-preserve-color) .uk-h5, .uk-tile-secondary:not(.uk-preserve-color) .uk-h5, .uk-card-primary.uk-card-body .uk-h5, .uk-card-primary > :not([class*='uk-card-media']) .uk-h5, .uk-card-secondary.uk-card-body .uk-h5, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h5, .uk-overlay-primary .uk-h5, .uk-offcanvas-bar .uk-h5,
    .uk-light h6,
    .uk-section-primary:not(.uk-preserve-color) h6,
    .uk-section-secondary:not(.uk-preserve-color) h6,
    .uk-tile-primary:not(.uk-preserve-color) h6,
    .uk-tile-secondary:not(.uk-preserve-color) h6,
    .uk-card-primary.uk-card-body h6,
    .uk-card-primary > :not([class*='uk-card-media']) h6,
    .uk-card-secondary.uk-card-body h6,
    .uk-card-secondary > :not([class*='uk-card-media']) h6,
    .uk-overlay-primary h6,
    .uk-offcanvas-bar h6, .uk-light .uk-h6, .uk-section-primary:not(.uk-preserve-color) .uk-h6, .uk-section-secondary:not(.uk-preserve-color) .uk-h6, .uk-tile-primary:not(.uk-preserve-color) .uk-h6, .uk-tile-secondary:not(.uk-preserve-color) .uk-h6, .uk-card-primary.uk-card-body .uk-h6, .uk-card-primary > :not([class*='uk-card-media']) .uk-h6, .uk-card-secondary.uk-card-body .uk-h6, .uk-card-secondary > :not([class*='uk-card-media']) .uk-h6, .uk-overlay-primary .uk-h6, .uk-offcanvas-bar .uk-h6 {
      color: #fff; }
    .uk-light hr, .uk-section-primary:not(.uk-preserve-color) hr, .uk-section-secondary:not(.uk-preserve-color) hr, .uk-tile-primary:not(.uk-preserve-color) hr, .uk-tile-secondary:not(.uk-preserve-color) hr, .uk-card-primary.uk-card-body hr, .uk-card-primary > :not([class*='uk-card-media']) hr, .uk-card-secondary.uk-card-body hr, .uk-card-secondary > :not([class*='uk-card-media']) hr, .uk-overlay-primary hr, .uk-offcanvas-bar hr, .uk-light .uk-hr, .uk-section-primary:not(.uk-preserve-color) .uk-hr, .uk-section-secondary:not(.uk-preserve-color) .uk-hr, .uk-tile-primary:not(.uk-preserve-color) .uk-hr, .uk-tile-secondary:not(.uk-preserve-color) .uk-hr, .uk-card-primary.uk-card-body .uk-hr, .uk-card-primary > :not([class*='uk-card-media']) .uk-hr, .uk-card-secondary.uk-card-body .uk-hr, .uk-card-secondary > :not([class*='uk-card-media']) .uk-hr, .uk-overlay-primary .uk-hr, .uk-offcanvas-bar .uk-hr {
      border-top-color: rgba(255, 255, 255, 0.2); }
    .uk-light a.uk-link-muted, .uk-section-primary:not(.uk-preserve-color) a.uk-link-muted, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted, .uk-card-primary.uk-card-body a.uk-link-muted, .uk-card-primary > :not([class*='uk-card-media']) a.uk-link-muted, .uk-card-secondary.uk-card-body a.uk-link-muted, .uk-card-secondary > :not([class*='uk-card-media']) a.uk-link-muted, .uk-overlay-primary a.uk-link-muted, .uk-offcanvas-bar a.uk-link-muted,
    .uk-light .uk-link-muted a,
    .uk-section-primary:not(.uk-preserve-color) .uk-link-muted a,
    .uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a,
    .uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a,
    .uk-card-primary.uk-card-body .uk-link-muted a,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-link-muted a,
    .uk-card-secondary.uk-card-body .uk-link-muted a,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-muted a,
    .uk-overlay-primary .uk-link-muted a,
    .uk-offcanvas-bar .uk-link-muted a {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light a.uk-link-muted:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-muted:hover, .uk-card-primary.uk-card-body a.uk-link-muted:hover, .uk-card-primary > :not([class*='uk-card-media']) a.uk-link-muted:hover, .uk-card-secondary.uk-card-body a.uk-link-muted:hover, .uk-card-secondary > :not([class*='uk-card-media']) a.uk-link-muted:hover, .uk-overlay-primary a.uk-link-muted:hover, .uk-offcanvas-bar a.uk-link-muted:hover,
    .uk-light .uk-link-muted a:hover,
    .uk-section-primary:not(.uk-preserve-color) .uk-link-muted a:hover,
    .uk-section-secondary:not(.uk-preserve-color) .uk-link-muted a:hover,
    .uk-tile-primary:not(.uk-preserve-color) .uk-link-muted a:hover,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-link-muted a:hover,
    .uk-card-primary.uk-card-body .uk-link-muted a:hover,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-link-muted a:hover,
    .uk-card-secondary.uk-card-body .uk-link-muted a:hover,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-muted a:hover,
    .uk-overlay-primary .uk-link-muted a:hover,
    .uk-offcanvas-bar .uk-link-muted a:hover {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light a.uk-link-text:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-text:hover, .uk-card-primary.uk-card-body a.uk-link-text:hover, .uk-card-primary > :not([class*='uk-card-media']) a.uk-link-text:hover, .uk-card-secondary.uk-card-body a.uk-link-text:hover, .uk-card-secondary > :not([class*='uk-card-media']) a.uk-link-text:hover, .uk-overlay-primary a.uk-link-text:hover, .uk-offcanvas-bar a.uk-link-text:hover,
    .uk-light .uk-link-text a:hover,
    .uk-section-primary:not(.uk-preserve-color) .uk-link-text a:hover,
    .uk-section-secondary:not(.uk-preserve-color) .uk-link-text a:hover,
    .uk-tile-primary:not(.uk-preserve-color) .uk-link-text a:hover,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-link-text a:hover,
    .uk-card-primary.uk-card-body .uk-link-text a:hover,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-link-text a:hover,
    .uk-card-secondary.uk-card-body .uk-link-text a:hover,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-text a:hover,
    .uk-overlay-primary .uk-link-text a:hover,
    .uk-offcanvas-bar .uk-link-text a:hover {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light a.uk-link-heading:hover, .uk-section-primary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-section-secondary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-tile-primary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-tile-secondary:not(.uk-preserve-color) a.uk-link-heading:hover, .uk-card-primary.uk-card-body a.uk-link-heading:hover, .uk-card-primary > :not([class*='uk-card-media']) a.uk-link-heading:hover, .uk-card-secondary.uk-card-body a.uk-link-heading:hover, .uk-card-secondary > :not([class*='uk-card-media']) a.uk-link-heading:hover, .uk-overlay-primary a.uk-link-heading:hover, .uk-offcanvas-bar a.uk-link-heading:hover,
    .uk-light .uk-link-heading a:hover,
    .uk-section-primary:not(.uk-preserve-color) .uk-link-heading a:hover,
    .uk-section-secondary:not(.uk-preserve-color) .uk-link-heading a:hover,
    .uk-tile-primary:not(.uk-preserve-color) .uk-link-heading a:hover,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-link-heading a:hover,
    .uk-card-primary.uk-card-body .uk-link-heading a:hover,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-link-heading a:hover,
    .uk-card-secondary.uk-card-body .uk-link-heading a:hover,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-link-heading a:hover,
    .uk-overlay-primary .uk-link-heading a:hover,
    .uk-offcanvas-bar .uk-link-heading a:hover {
      color: #fff; }
    .uk-light .uk-heading-divider, .uk-section-primary:not(.uk-preserve-color) .uk-heading-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-heading-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-heading-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-divider, .uk-card-primary.uk-card-body .uk-heading-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-divider, .uk-card-secondary.uk-card-body .uk-heading-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-divider, .uk-overlay-primary .uk-heading-divider, .uk-offcanvas-bar .uk-heading-divider {
      border-bottom-color: rgba(255, 255, 255, 0.2); }
    .uk-light .uk-heading-bullet::before, .uk-section-primary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-section-secondary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-tile-primary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-bullet::before, .uk-card-primary.uk-card-body .uk-heading-bullet::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-bullet::before, .uk-card-secondary.uk-card-body .uk-heading-bullet::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-bullet::before, .uk-overlay-primary .uk-heading-bullet::before, .uk-offcanvas-bar .uk-heading-bullet::before {
      border-left-color: rgba(255, 255, 255, 0.2); }
    .uk-light .uk-heading-line > ::before, .uk-section-primary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-section-secondary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-tile-primary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-line > ::before, .uk-card-primary.uk-card-body .uk-heading-line > ::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-line > ::before, .uk-card-secondary.uk-card-body .uk-heading-line > ::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-line > ::before, .uk-overlay-primary .uk-heading-line > ::before, .uk-offcanvas-bar .uk-heading-line > ::before,
    .uk-light .uk-heading-line > ::after,
    .uk-section-primary:not(.uk-preserve-color) .uk-heading-line > ::after,
    .uk-section-secondary:not(.uk-preserve-color) .uk-heading-line > ::after,
    .uk-tile-primary:not(.uk-preserve-color) .uk-heading-line > ::after,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-heading-line > ::after,
    .uk-card-primary.uk-card-body .uk-heading-line > ::after,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-heading-line > ::after,
    .uk-card-secondary.uk-card-body .uk-heading-line > ::after,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-heading-line > ::after,
    .uk-overlay-primary .uk-heading-line > ::after,
    .uk-offcanvas-bar .uk-heading-line > ::after {
      border-bottom-color: rgba(255, 255, 255, 0.2); }
    .uk-light .uk-divider-icon, .uk-section-primary:not(.uk-preserve-color) .uk-divider-icon, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon, .uk-card-primary.uk-card-body .uk-divider-icon, .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-icon, .uk-card-secondary.uk-card-body .uk-divider-icon, .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-icon, .uk-overlay-primary .uk-divider-icon, .uk-offcanvas-bar .uk-divider-icon {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20viewBox%3D%220%200%2020%2020%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.2)%22%20stroke-width%3D%222%22%20cx%3D%2210%22%20cy%3D%2210%22%20r%3D%227%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
    .uk-light .uk-divider-icon::before, .uk-section-primary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon::before, .uk-card-primary.uk-card-body .uk-divider-icon::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-icon::before, .uk-card-secondary.uk-card-body .uk-divider-icon::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-icon::before, .uk-overlay-primary .uk-divider-icon::before, .uk-offcanvas-bar .uk-divider-icon::before,
    .uk-light .uk-divider-icon::after,
    .uk-section-primary:not(.uk-preserve-color) .uk-divider-icon::after,
    .uk-section-secondary:not(.uk-preserve-color) .uk-divider-icon::after,
    .uk-tile-primary:not(.uk-preserve-color) .uk-divider-icon::after,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-icon::after,
    .uk-card-primary.uk-card-body .uk-divider-icon::after,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-icon::after,
    .uk-card-secondary.uk-card-body .uk-divider-icon::after,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-icon::after,
    .uk-overlay-primary .uk-divider-icon::after,
    .uk-offcanvas-bar .uk-divider-icon::after {
      border-bottom-color: rgba(255, 255, 255, 0.2); }
    .uk-light .uk-divider-small::after, .uk-section-primary:not(.uk-preserve-color) .uk-divider-small::after, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-small::after, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-small::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-small::after, .uk-card-primary.uk-card-body .uk-divider-small::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-small::after, .uk-card-secondary.uk-card-body .uk-divider-small::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-small::after, .uk-overlay-primary .uk-divider-small::after, .uk-offcanvas-bar .uk-divider-small::after {
      border-top-color: rgba(255, 255, 255, 0.2); }
    .uk-light .uk-divider-vertical::after, .uk-section-primary:not(.uk-preserve-color) .uk-divider-vertical::after, .uk-section-secondary:not(.uk-preserve-color) .uk-divider-vertical::after, .uk-tile-primary:not(.uk-preserve-color) .uk-divider-vertical::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-divider-vertical::after, .uk-card-primary.uk-card-body .uk-divider-vertical::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-divider-vertical::after, .uk-card-secondary.uk-card-body .uk-divider-vertical::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-divider-vertical::after, .uk-overlay-primary .uk-divider-vertical::after, .uk-offcanvas-bar .uk-divider-vertical::after {
      border-left-color: rgba(255, 255, 255, 0.2); }
    .uk-light .uk-list-divider > li:nth-child(n+2), .uk-section-primary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-section-secondary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-tile-primary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-divider > li:nth-child(n+2), .uk-card-primary.uk-card-body .uk-list-divider > li:nth-child(n+2), .uk-card-primary > :not([class*='uk-card-media']) .uk-list-divider > li:nth-child(n+2), .uk-card-secondary.uk-card-body .uk-list-divider > li:nth-child(n+2), .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-divider > li:nth-child(n+2), .uk-overlay-primary .uk-list-divider > li:nth-child(n+2), .uk-offcanvas-bar .uk-list-divider > li:nth-child(n+2) {
      border-top-color: rgba(255, 255, 255, 0.2); }
    .uk-light .uk-list-striped > li:nth-of-type(odd), .uk-section-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-section-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-tile-primary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-tile-secondary:not(.uk-preserve-color) .uk-list-striped > li:nth-of-type(odd), .uk-card-primary.uk-card-body .uk-list-striped > li:nth-of-type(odd), .uk-card-primary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd), .uk-card-secondary.uk-card-body .uk-list-striped > li:nth-of-type(odd), .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-striped > li:nth-of-type(odd), .uk-overlay-primary .uk-list-striped > li:nth-of-type(odd), .uk-offcanvas-bar .uk-list-striped > li:nth-of-type(odd) {
      background-color: rgba(255, 255, 255, 0.1); }
    .uk-light .uk-list-bullet > li::before, .uk-section-primary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-section-secondary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-tile-primary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-list-bullet > li::before, .uk-card-primary.uk-card-body .uk-list-bullet > li::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-list-bullet > li::before, .uk-card-secondary.uk-card-body .uk-list-bullet > li::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-list-bullet > li::before, .uk-overlay-primary .uk-list-bullet > li::before, .uk-offcanvas-bar .uk-list-bullet > li::before {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%226%22%20height%3D%226%22%20viewBox%3D%220%200%206%206%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20cx%3D%223%22%20cy%3D%223%22%20r%3D%223%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
    .uk-light .uk-icon-link, .uk-section-primary:not(.uk-preserve-color) .uk-icon-link, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link, .uk-card-primary.uk-card-body .uk-icon-link, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link, .uk-card-secondary.uk-card-body .uk-icon-link, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link, .uk-overlay-primary .uk-icon-link, .uk-offcanvas-bar .uk-icon-link {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-icon-link:hover, .uk-section-primary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:hover, .uk-card-primary.uk-card-body .uk-icon-link:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link:hover, .uk-card-secondary.uk-card-body .uk-icon-link:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link:hover, .uk-overlay-primary .uk-icon-link:hover, .uk-offcanvas-bar .uk-icon-link:hover,
    .uk-light .uk-icon-link:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-icon-link:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:focus,
    .uk-card-primary.uk-card-body .uk-icon-link:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link:focus,
    .uk-card-secondary.uk-card-body .uk-icon-link:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link:focus,
    .uk-overlay-primary .uk-icon-link:focus,
    .uk-offcanvas-bar .uk-icon-link:focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-icon-link:active, .uk-section-primary:not(.uk-preserve-color) .uk-icon-link:active, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-link:active, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-link:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-link:active, .uk-card-primary.uk-card-body .uk-icon-link:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-link:active, .uk-card-secondary.uk-card-body .uk-icon-link:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-link:active, .uk-overlay-primary .uk-icon-link:active, .uk-offcanvas-bar .uk-icon-link:active,
    .uk-light .uk-active > .uk-icon-link,
    .uk-section-primary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
    .uk-section-secondary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
    .uk-tile-primary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-active > .uk-icon-link,
    .uk-card-primary.uk-card-body .uk-active > .uk-icon-link,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-active > .uk-icon-link,
    .uk-card-secondary.uk-card-body .uk-active > .uk-icon-link,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-active > .uk-icon-link,
    .uk-overlay-primary .uk-active > .uk-icon-link,
    .uk-offcanvas-bar .uk-active > .uk-icon-link {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-icon-button, .uk-section-primary:not(.uk-preserve-color) .uk-icon-button, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button, .uk-card-primary.uk-card-body .uk-icon-button, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button, .uk-card-secondary.uk-card-body .uk-icon-button, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button, .uk-overlay-primary .uk-icon-button, .uk-offcanvas-bar .uk-icon-button {
      background-color: rgba(255, 255, 255, 0.1);
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-icon-button:hover, .uk-section-primary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:hover, .uk-card-primary.uk-card-body .uk-icon-button:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button:hover, .uk-card-secondary.uk-card-body .uk-icon-button:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button:hover, .uk-overlay-primary .uk-icon-button:hover, .uk-offcanvas-bar .uk-icon-button:hover,
    .uk-light .uk-icon-button:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-icon-button:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:focus,
    .uk-card-primary.uk-card-body .uk-icon-button:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button:focus,
    .uk-card-secondary.uk-card-body .uk-icon-button:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button:focus,
    .uk-overlay-primary .uk-icon-button:focus,
    .uk-offcanvas-bar .uk-icon-button:focus {
      background-color: rgba(242, 242, 242, 0.1);
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-icon-button:active, .uk-section-primary:not(.uk-preserve-color) .uk-icon-button:active, .uk-section-secondary:not(.uk-preserve-color) .uk-icon-button:active, .uk-tile-primary:not(.uk-preserve-color) .uk-icon-button:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-icon-button:active, .uk-card-primary.uk-card-body .uk-icon-button:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-icon-button:active, .uk-card-secondary.uk-card-body .uk-icon-button:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-icon-button:active, .uk-overlay-primary .uk-icon-button:active, .uk-offcanvas-bar .uk-icon-button:active {
      background-color: rgba(230, 230, 230, 0.1);
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-input, .uk-section-primary:not(.uk-preserve-color) .uk-input, .uk-section-secondary:not(.uk-preserve-color) .uk-input, .uk-tile-primary:not(.uk-preserve-color) .uk-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-input, .uk-card-primary.uk-card-body .uk-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-input, .uk-card-secondary.uk-card-body .uk-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input, .uk-overlay-primary .uk-input, .uk-offcanvas-bar .uk-input,
    .uk-light .uk-select,
    .uk-section-primary:not(.uk-preserve-color) .uk-select,
    .uk-section-secondary:not(.uk-preserve-color) .uk-select,
    .uk-tile-primary:not(.uk-preserve-color) .uk-select,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-select,
    .uk-card-primary.uk-card-body .uk-select,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-select,
    .uk-card-secondary.uk-card-body .uk-select,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-select,
    .uk-overlay-primary .uk-select,
    .uk-offcanvas-bar .uk-select,
    .uk-light .uk-textarea,
    .uk-section-primary:not(.uk-preserve-color) .uk-textarea,
    .uk-section-secondary:not(.uk-preserve-color) .uk-textarea,
    .uk-tile-primary:not(.uk-preserve-color) .uk-textarea,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea,
    .uk-card-primary.uk-card-body .uk-textarea,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea,
    .uk-card-secondary.uk-card-body .uk-textarea,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea,
    .uk-overlay-primary .uk-textarea,
    .uk-offcanvas-bar .uk-textarea {
      background-color: rgba(255, 255, 255, 0.1);
      color: rgba(255, 255, 255, 0.7);
      background-clip: padding-box; }
      .uk-light .uk-input:focus, .uk-section-primary:not(.uk-preserve-color) .uk-input:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-input:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-input:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-input:focus, .uk-card-primary.uk-card-body .uk-input:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-input:focus, .uk-card-secondary.uk-card-body .uk-input:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input:focus, .uk-overlay-primary .uk-input:focus, .uk-offcanvas-bar .uk-input:focus,
      .uk-light .uk-select:focus,
      .uk-section-primary:not(.uk-preserve-color) .uk-select:focus,
      .uk-section-secondary:not(.uk-preserve-color) .uk-select:focus,
      .uk-tile-primary:not(.uk-preserve-color) .uk-select:focus,
      .uk-tile-secondary:not(.uk-preserve-color) .uk-select:focus,
      .uk-card-primary.uk-card-body .uk-select:focus,
      .uk-card-primary > :not([class*='uk-card-media']) .uk-select:focus,
      .uk-card-secondary.uk-card-body .uk-select:focus,
      .uk-card-secondary > :not([class*='uk-card-media']) .uk-select:focus,
      .uk-overlay-primary .uk-select:focus,
      .uk-offcanvas-bar .uk-select:focus,
      .uk-light .uk-textarea:focus,
      .uk-section-primary:not(.uk-preserve-color) .uk-textarea:focus,
      .uk-section-secondary:not(.uk-preserve-color) .uk-textarea:focus,
      .uk-tile-primary:not(.uk-preserve-color) .uk-textarea:focus,
      .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea:focus,
      .uk-card-primary.uk-card-body .uk-textarea:focus,
      .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea:focus,
      .uk-card-secondary.uk-card-body .uk-textarea:focus,
      .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea:focus,
      .uk-overlay-primary .uk-textarea:focus,
      .uk-offcanvas-bar .uk-textarea:focus {
        background-color: rgba(255, 255, 255, 0.1);
        color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-input::-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-input::-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-input::-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-input::-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input::-ms-input-placeholder, .uk-overlay-primary .uk-input::-ms-input-placeholder, .uk-offcanvas-bar .uk-input::-ms-input-placeholder {
      color: rgba(255, 255, 255, 0.5) !important; }
    .uk-light .uk-input::placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-input::placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-input::placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-input::placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-input::placeholder, .uk-card-primary.uk-card-body .uk-input::placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-input::placeholder, .uk-card-secondary.uk-card-body .uk-input::placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-input::placeholder, .uk-overlay-primary .uk-input::placeholder, .uk-offcanvas-bar .uk-input::placeholder {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-textarea::-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-textarea::-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea::-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-textarea::-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea::-ms-input-placeholder, .uk-overlay-primary .uk-textarea::-ms-input-placeholder, .uk-offcanvas-bar .uk-textarea::-ms-input-placeholder {
      color: rgba(255, 255, 255, 0.5) !important; }
    .uk-light .uk-textarea::placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-textarea::placeholder, .uk-card-primary.uk-card-body .uk-textarea::placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-textarea::placeholder, .uk-card-secondary.uk-card-body .uk-textarea::placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-textarea::placeholder, .uk-overlay-primary .uk-textarea::placeholder, .uk-offcanvas-bar .uk-textarea::placeholder {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-select:not([multiple]):not([size]), .uk-section-primary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-section-secondary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-tile-primary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-tile-secondary:not(.uk-preserve-color) .uk-select:not([multiple]):not([size]), .uk-card-primary.uk-card-body .uk-select:not([multiple]):not([size]), .uk-card-primary > :not([class*='uk-card-media']) .uk-select:not([multiple]):not([size]), .uk-card-secondary.uk-card-body .uk-select:not([multiple]):not([size]), .uk-card-secondary > :not([class*='uk-card-media']) .uk-select:not([multiple]):not([size]), .uk-overlay-primary .uk-select:not([multiple]):not([size]), .uk-offcanvas-bar .uk-select:not([multiple]):not([size]) {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22rgba(255, 255, 255, 0.7)%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
    .uk-light .uk-radio, .uk-section-primary:not(.uk-preserve-color) .uk-radio, .uk-section-secondary:not(.uk-preserve-color) .uk-radio, .uk-tile-primary:not(.uk-preserve-color) .uk-radio, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio, .uk-card-primary.uk-card-body .uk-radio, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio, .uk-card-secondary.uk-card-body .uk-radio, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio, .uk-overlay-primary .uk-radio, .uk-offcanvas-bar .uk-radio,
    .uk-light .uk-checkbox,
    .uk-section-primary:not(.uk-preserve-color) .uk-checkbox,
    .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox,
    .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox,
    .uk-card-primary.uk-card-body .uk-checkbox,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox,
    .uk-card-secondary.uk-card-body .uk-checkbox,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox,
    .uk-overlay-primary .uk-checkbox,
    .uk-offcanvas-bar .uk-checkbox {
      background-color: rgba(242, 242, 242, 0.1); }
    .uk-light .uk-radio:checked, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-card-primary.uk-card-body .uk-radio:checked, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-card-secondary.uk-card-body .uk-radio:checked, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-overlay-primary .uk-radio:checked, .uk-offcanvas-bar .uk-radio:checked,
    .uk-light .uk-checkbox:checked,
    .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked,
    .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
    .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
    .uk-card-primary.uk-card-body .uk-checkbox:checked,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:checked,
    .uk-card-secondary.uk-card-body .uk-checkbox:checked,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:checked,
    .uk-overlay-primary .uk-checkbox:checked,
    .uk-offcanvas-bar .uk-checkbox:checked,
    .uk-light .uk-checkbox:indeterminate,
    .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
    .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
    .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
    .uk-card-primary.uk-card-body .uk-checkbox:indeterminate,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate,
    .uk-card-secondary.uk-card-body .uk-checkbox:indeterminate,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate,
    .uk-overlay-primary .uk-checkbox:indeterminate,
    .uk-offcanvas-bar .uk-checkbox:indeterminate {
      background-color: #fff; }
    .uk-light .uk-radio:checked:focus, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked:focus, .uk-card-primary.uk-card-body .uk-radio:checked:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:checked:focus, .uk-card-secondary.uk-card-body .uk-radio:checked:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:checked:focus, .uk-overlay-primary .uk-radio:checked:focus, .uk-offcanvas-bar .uk-radio:checked:focus,
    .uk-light .uk-checkbox:checked:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked:focus,
    .uk-card-primary.uk-card-body .uk-checkbox:checked:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:checked:focus,
    .uk-card-secondary.uk-card-body .uk-checkbox:checked:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:checked:focus,
    .uk-overlay-primary .uk-checkbox:checked:focus,
    .uk-offcanvas-bar .uk-checkbox:checked:focus,
    .uk-light .uk-checkbox:indeterminate:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate:focus,
    .uk-card-primary.uk-card-body .uk-checkbox:indeterminate:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate:focus,
    .uk-card-secondary.uk-card-body .uk-checkbox:indeterminate:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate:focus,
    .uk-overlay-primary .uk-checkbox:indeterminate:focus,
    .uk-offcanvas-bar .uk-checkbox:indeterminate:focus {
      background-color: #e6e6e6; }
    .uk-light .uk-radio:checked, .uk-section-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-section-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-primary:not(.uk-preserve-color) .uk-radio:checked, .uk-tile-secondary:not(.uk-preserve-color) .uk-radio:checked, .uk-card-primary.uk-card-body .uk-radio:checked, .uk-card-primary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-card-secondary.uk-card-body .uk-radio:checked, .uk-card-secondary > :not([class*='uk-card-media']) .uk-radio:checked, .uk-overlay-primary .uk-radio:checked, .uk-offcanvas-bar .uk-radio:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%235e5e5e%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
    
    .uk-light .uk-checkbox:checked,
    .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:checked,
    .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
    .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:checked,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:checked,
    .uk-card-primary.uk-card-body .uk-checkbox:checked,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:checked,
    .uk-card-secondary.uk-card-body .uk-checkbox:checked,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:checked,
    .uk-overlay-primary .uk-checkbox:checked,
    .uk-offcanvas-bar .uk-checkbox:checked {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%235e5e5e%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A"); }
    
    .uk-light .uk-checkbox:indeterminate,
    .uk-section-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
    .uk-section-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
    .uk-tile-primary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-checkbox:indeterminate,
    .uk-card-primary.uk-card-body .uk-checkbox:indeterminate,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate,
    .uk-card-secondary.uk-card-body .uk-checkbox:indeterminate,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-checkbox:indeterminate,
    .uk-overlay-primary .uk-checkbox:indeterminate,
    .uk-offcanvas-bar .uk-checkbox:indeterminate {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%235e5e5e%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
    .uk-light .uk-form-icon, .uk-section-primary:not(.uk-preserve-color) .uk-form-icon, .uk-section-secondary:not(.uk-preserve-color) .uk-form-icon, .uk-tile-primary:not(.uk-preserve-color) .uk-form-icon, .uk-tile-secondary:not(.uk-preserve-color) .uk-form-icon, .uk-card-primary.uk-card-body .uk-form-icon, .uk-card-primary > :not([class*='uk-card-media']) .uk-form-icon, .uk-card-secondary.uk-card-body .uk-form-icon, .uk-card-secondary > :not([class*='uk-card-media']) .uk-form-icon, .uk-overlay-primary .uk-form-icon, .uk-offcanvas-bar .uk-form-icon {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-form-icon:hover, .uk-section-primary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-form-icon:hover, .uk-card-primary.uk-card-body .uk-form-icon:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-form-icon:hover, .uk-card-secondary.uk-card-body .uk-form-icon:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-form-icon:hover, .uk-overlay-primary .uk-form-icon:hover, .uk-offcanvas-bar .uk-form-icon:hover {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-button-default, .uk-section-primary:not(.uk-preserve-color) .uk-button-default, .uk-section-secondary:not(.uk-preserve-color) .uk-button-default, .uk-tile-primary:not(.uk-preserve-color) .uk-button-default, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default, .uk-card-primary.uk-card-body .uk-button-default, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default, .uk-card-secondary.uk-card-body .uk-button-default, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default, .uk-overlay-primary .uk-button-default, .uk-offcanvas-bar .uk-button-default {
      background-color: #fff;
      color: #5e5e5e; }
    .uk-light .uk-button-default:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-default:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-default:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-default:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:hover, .uk-card-primary.uk-card-body .uk-button-default:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default:hover, .uk-card-secondary.uk-card-body .uk-button-default:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default:hover, .uk-overlay-primary .uk-button-default:hover, .uk-offcanvas-bar .uk-button-default:hover,
    .uk-light .uk-button-default:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-button-default:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-button-default:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-button-default:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:focus,
    .uk-card-primary.uk-card-body .uk-button-default:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default:focus,
    .uk-card-secondary.uk-card-body .uk-button-default:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default:focus,
    .uk-overlay-primary .uk-button-default:focus,
    .uk-offcanvas-bar .uk-button-default:focus {
      background-color: #f2f2f2;
      color: #5e5e5e; }
    .uk-light .uk-button-default:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-default:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-default:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-default:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default:active, .uk-card-primary.uk-card-body .uk-button-default:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default:active, .uk-card-secondary.uk-card-body .uk-button-default:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default:active, .uk-overlay-primary .uk-button-default:active, .uk-offcanvas-bar .uk-button-default:active,
    .uk-light .uk-button-default.uk-active,
    .uk-section-primary:not(.uk-preserve-color) .uk-button-default.uk-active,
    .uk-section-secondary:not(.uk-preserve-color) .uk-button-default.uk-active,
    .uk-tile-primary:not(.uk-preserve-color) .uk-button-default.uk-active,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-button-default.uk-active,
    .uk-card-primary.uk-card-body .uk-button-default.uk-active,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-button-default.uk-active,
    .uk-card-secondary.uk-card-body .uk-button-default.uk-active,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-default.uk-active,
    .uk-overlay-primary .uk-button-default.uk-active,
    .uk-offcanvas-bar .uk-button-default.uk-active {
      background-color: #e6e6e6;
      color: #5e5e5e; }
    .uk-light .uk-button-primary, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary, .uk-card-primary.uk-card-body .uk-button-primary, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary, .uk-card-secondary.uk-card-body .uk-button-primary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary, .uk-overlay-primary .uk-button-primary, .uk-offcanvas-bar .uk-button-primary, .uk-light .mainmenu ul li.button a, .mainmenu ul li.button .uk-light a, .uk-section-primary:not(.uk-preserve-color) .mainmenu ul li.button a, .mainmenu ul li.button .uk-section-primary:not(.uk-preserve-color) a, .uk-section-secondary:not(.uk-preserve-color) .mainmenu ul li.button a, .mainmenu ul li.button .uk-section-secondary:not(.uk-preserve-color) a, .uk-tile-primary:not(.uk-preserve-color) .mainmenu ul li.button a, .mainmenu ul li.button .uk-tile-primary:not(.uk-preserve-color) a, .uk-tile-secondary:not(.uk-preserve-color) .mainmenu ul li.button a, .mainmenu ul li.button .uk-tile-secondary:not(.uk-preserve-color) a, .uk-card-primary.uk-card-body .mainmenu ul li.button a, .mainmenu ul li.button .uk-card-primary.uk-card-body a, .uk-card-primary > :not([class*='uk-card-media']) .mainmenu ul li.button a, .mainmenu ul li.button .uk-card-primary > :not([class*='uk-card-media']) a, .uk-card-secondary.uk-card-body .mainmenu ul li.button a, .mainmenu ul li.button .uk-card-secondary.uk-card-body a, .uk-card-secondary > :not([class*='uk-card-media']) .mainmenu ul li.button a, .mainmenu ul li.button .uk-card-secondary > :not([class*='uk-card-media']) a, .uk-overlay-primary .mainmenu ul li.button a, .mainmenu ul li.button .uk-overlay-primary a, .uk-offcanvas-bar .mainmenu ul li.button a, .mainmenu ul li.button .uk-offcanvas-bar a {
      background-color: #fff;
      color: #5e5e5e; }
    .uk-light .uk-button-primary:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:hover, .uk-card-primary.uk-card-body .uk-button-primary:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:hover, .uk-card-secondary.uk-card-body .uk-button-primary:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:hover, .uk-overlay-primary .uk-button-primary:hover, .uk-offcanvas-bar .uk-button-primary:hover, .uk-light .mainmenu ul li.button a:hover, .mainmenu ul li.button .uk-light a:hover, .uk-section-primary:not(.uk-preserve-color) .mainmenu ul li.button a:hover, .mainmenu ul li.button .uk-section-primary:not(.uk-preserve-color) a:hover, .uk-section-secondary:not(.uk-preserve-color) .mainmenu ul li.button a:hover, .mainmenu ul li.button .uk-section-secondary:not(.uk-preserve-color) a:hover, .uk-tile-primary:not(.uk-preserve-color) .mainmenu ul li.button a:hover, .mainmenu ul li.button .uk-tile-primary:not(.uk-preserve-color) a:hover, .uk-tile-secondary:not(.uk-preserve-color) .mainmenu ul li.button a:hover, .mainmenu ul li.button .uk-tile-secondary:not(.uk-preserve-color) a:hover, .uk-card-primary.uk-card-body .mainmenu ul li.button a:hover, .mainmenu ul li.button .uk-card-primary.uk-card-body a:hover, .uk-card-primary > :not([class*='uk-card-media']) .mainmenu ul li.button a:hover, .mainmenu ul li.button .uk-card-primary > :not([class*='uk-card-media']) a:hover, .uk-card-secondary.uk-card-body .mainmenu ul li.button a:hover, .mainmenu ul li.button .uk-card-secondary.uk-card-body a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .mainmenu ul li.button a:hover, .mainmenu ul li.button .uk-card-secondary > :not([class*='uk-card-media']) a:hover, .uk-overlay-primary .mainmenu ul li.button a:hover, .mainmenu ul li.button .uk-overlay-primary a:hover, .uk-offcanvas-bar .mainmenu ul li.button a:hover, .mainmenu ul li.button .uk-offcanvas-bar a:hover,
    .uk-light .uk-button-primary:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:focus,
    .uk-card-primary.uk-card-body .uk-button-primary:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:focus,
    .uk-card-secondary.uk-card-body .uk-button-primary:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:focus,
    .uk-overlay-primary .uk-button-primary:focus,
    .uk-offcanvas-bar .uk-button-primary:focus,
    .uk-light .mainmenu ul li.button a:focus,
    .mainmenu ul li.button .uk-light a:focus,
    .uk-section-primary:not(.uk-preserve-color) .mainmenu ul li.button a:focus,
    .mainmenu ul li.button .uk-section-primary:not(.uk-preserve-color) a:focus,
    .uk-section-secondary:not(.uk-preserve-color) .mainmenu ul li.button a:focus,
    .mainmenu ul li.button .uk-section-secondary:not(.uk-preserve-color) a:focus,
    .uk-tile-primary:not(.uk-preserve-color) .mainmenu ul li.button a:focus,
    .mainmenu ul li.button .uk-tile-primary:not(.uk-preserve-color) a:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .mainmenu ul li.button a:focus,
    .mainmenu ul li.button .uk-tile-secondary:not(.uk-preserve-color) a:focus,
    .uk-card-primary.uk-card-body .mainmenu ul li.button a:focus,
    .mainmenu ul li.button .uk-card-primary.uk-card-body a:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .mainmenu ul li.button a:focus,
    .mainmenu ul li.button .uk-card-primary > :not([class*='uk-card-media']) a:focus,
    .uk-card-secondary.uk-card-body .mainmenu ul li.button a:focus,
    .mainmenu ul li.button .uk-card-secondary.uk-card-body a:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .mainmenu ul li.button a:focus,
    .mainmenu ul li.button .uk-card-secondary > :not([class*='uk-card-media']) a:focus,
    .uk-overlay-primary .mainmenu ul li.button a:focus,
    .mainmenu ul li.button .uk-overlay-primary a:focus,
    .uk-offcanvas-bar .mainmenu ul li.button a:focus,
    .mainmenu ul li.button .uk-offcanvas-bar a:focus {
      background-color: #f2f2f2;
      color: #5e5e5e; }
    .uk-light .uk-button-primary:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-primary:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary:active, .uk-card-primary.uk-card-body .uk-button-primary:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary:active, .uk-card-secondary.uk-card-body .uk-button-primary:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary:active, .uk-overlay-primary .uk-button-primary:active, .uk-offcanvas-bar .uk-button-primary:active, .uk-light .mainmenu ul li.button a:active, .mainmenu ul li.button .uk-light a:active, .uk-section-primary:not(.uk-preserve-color) .mainmenu ul li.button a:active, .mainmenu ul li.button .uk-section-primary:not(.uk-preserve-color) a:active, .uk-section-secondary:not(.uk-preserve-color) .mainmenu ul li.button a:active, .mainmenu ul li.button .uk-section-secondary:not(.uk-preserve-color) a:active, .uk-tile-primary:not(.uk-preserve-color) .mainmenu ul li.button a:active, .mainmenu ul li.button .uk-tile-primary:not(.uk-preserve-color) a:active, .uk-tile-secondary:not(.uk-preserve-color) .mainmenu ul li.button a:active, .mainmenu ul li.button .uk-tile-secondary:not(.uk-preserve-color) a:active, .uk-card-primary.uk-card-body .mainmenu ul li.button a:active, .mainmenu ul li.button .uk-card-primary.uk-card-body a:active, .uk-card-primary > :not([class*='uk-card-media']) .mainmenu ul li.button a:active, .mainmenu ul li.button .uk-card-primary > :not([class*='uk-card-media']) a:active, .uk-card-secondary.uk-card-body .mainmenu ul li.button a:active, .mainmenu ul li.button .uk-card-secondary.uk-card-body a:active, .uk-card-secondary > :not([class*='uk-card-media']) .mainmenu ul li.button a:active, .mainmenu ul li.button .uk-card-secondary > :not([class*='uk-card-media']) a:active, .uk-overlay-primary .mainmenu ul li.button a:active, .mainmenu ul li.button .uk-overlay-primary a:active, .uk-offcanvas-bar .mainmenu ul li.button a:active, .mainmenu ul li.button .uk-offcanvas-bar a:active,
    .uk-light .uk-button-primary.uk-active,
    .uk-section-primary:not(.uk-preserve-color) .uk-button-primary.uk-active,
    .uk-section-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active,
    .uk-tile-primary:not(.uk-preserve-color) .uk-button-primary.uk-active,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-button-primary.uk-active,
    .uk-card-primary.uk-card-body .uk-button-primary.uk-active,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-button-primary.uk-active,
    .uk-card-secondary.uk-card-body .uk-button-primary.uk-active,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-primary.uk-active,
    .uk-overlay-primary .uk-button-primary.uk-active,
    .uk-offcanvas-bar .uk-button-primary.uk-active,
    .uk-light .mainmenu ul li.button a.uk-active,
    .mainmenu ul li.button .uk-light a.uk-active,
    .uk-section-primary:not(.uk-preserve-color) .mainmenu ul li.button a.uk-active,
    .mainmenu ul li.button .uk-section-primary:not(.uk-preserve-color) a.uk-active,
    .uk-section-secondary:not(.uk-preserve-color) .mainmenu ul li.button a.uk-active,
    .mainmenu ul li.button .uk-section-secondary:not(.uk-preserve-color) a.uk-active,
    .uk-tile-primary:not(.uk-preserve-color) .mainmenu ul li.button a.uk-active,
    .mainmenu ul li.button .uk-tile-primary:not(.uk-preserve-color) a.uk-active,
    .uk-tile-secondary:not(.uk-preserve-color) .mainmenu ul li.button a.uk-active,
    .mainmenu ul li.button .uk-tile-secondary:not(.uk-preserve-color) a.uk-active,
    .uk-card-primary.uk-card-body .mainmenu ul li.button a.uk-active,
    .mainmenu ul li.button .uk-card-primary.uk-card-body a.uk-active,
    .uk-card-primary > :not([class*='uk-card-media']) .mainmenu ul li.button a.uk-active,
    .mainmenu ul li.button .uk-card-primary > :not([class*='uk-card-media']) a.uk-active,
    .uk-card-secondary.uk-card-body .mainmenu ul li.button a.uk-active,
    .mainmenu ul li.button .uk-card-secondary.uk-card-body a.uk-active,
    .uk-card-secondary > :not([class*='uk-card-media']) .mainmenu ul li.button a.uk-active,
    .mainmenu ul li.button .uk-card-secondary > :not([class*='uk-card-media']) a.uk-active,
    .uk-overlay-primary .mainmenu ul li.button a.uk-active,
    .mainmenu ul li.button .uk-overlay-primary a.uk-active,
    .uk-offcanvas-bar .mainmenu ul li.button a.uk-active,
    .mainmenu ul li.button .uk-offcanvas-bar a.uk-active {
      background-color: #e6e6e6;
      color: #5e5e5e; }
    .uk-light .uk-button-secondary, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary, .uk-card-primary.uk-card-body .uk-button-secondary, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary, .uk-card-secondary.uk-card-body .uk-button-secondary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary, .uk-overlay-primary .uk-button-secondary, .uk-offcanvas-bar .uk-button-secondary {
      background-color: #fff;
      color: #5e5e5e; }
    .uk-light .uk-button-secondary:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:hover, .uk-card-primary.uk-card-body .uk-button-secondary:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:hover, .uk-card-secondary.uk-card-body .uk-button-secondary:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:hover, .uk-overlay-primary .uk-button-secondary:hover, .uk-offcanvas-bar .uk-button-secondary:hover,
    .uk-light .uk-button-secondary:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:focus,
    .uk-card-primary.uk-card-body .uk-button-secondary:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:focus,
    .uk-card-secondary.uk-card-body .uk-button-secondary:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:focus,
    .uk-overlay-primary .uk-button-secondary:focus,
    .uk-offcanvas-bar .uk-button-secondary:focus {
      background-color: #f2f2f2;
      color: #5e5e5e; }
    .uk-light .uk-button-secondary:active, .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary:active, .uk-card-primary.uk-card-body .uk-button-secondary:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary:active, .uk-card-secondary.uk-card-body .uk-button-secondary:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary:active, .uk-overlay-primary .uk-button-secondary:active, .uk-offcanvas-bar .uk-button-secondary:active,
    .uk-light .uk-button-secondary.uk-active,
    .uk-section-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
    .uk-section-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
    .uk-tile-primary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-button-secondary.uk-active,
    .uk-card-primary.uk-card-body .uk-button-secondary.uk-active,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-button-secondary.uk-active,
    .uk-card-secondary.uk-card-body .uk-button-secondary.uk-active,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-secondary.uk-active,
    .uk-overlay-primary .uk-button-secondary.uk-active,
    .uk-offcanvas-bar .uk-button-secondary.uk-active {
      background-color: #e6e6e6;
      color: #5e5e5e; }
    .uk-light .uk-button-text, .uk-section-primary:not(.uk-preserve-color) .uk-button-text, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text, .uk-card-primary.uk-card-body .uk-button-text, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text, .uk-card-secondary.uk-card-body .uk-button-text, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text, .uk-overlay-primary .uk-button-text, .uk-offcanvas-bar .uk-button-text {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-button-text:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-text:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:hover, .uk-card-primary.uk-card-body .uk-button-text:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text:hover, .uk-card-secondary.uk-card-body .uk-button-text:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text:hover, .uk-overlay-primary .uk-button-text:hover, .uk-offcanvas-bar .uk-button-text:hover,
    .uk-light .uk-button-text:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-button-text:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-button-text:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-button-text:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:focus,
    .uk-card-primary.uk-card-body .uk-button-text:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text:focus,
    .uk-card-secondary.uk-card-body .uk-button-text:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text:focus,
    .uk-overlay-primary .uk-button-text:focus,
    .uk-offcanvas-bar .uk-button-text:focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-button-text:disabled, .uk-section-primary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-section-secondary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-tile-primary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-text:disabled, .uk-card-primary.uk-card-body .uk-button-text:disabled, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-text:disabled, .uk-card-secondary.uk-card-body .uk-button-text:disabled, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-text:disabled, .uk-overlay-primary .uk-button-text:disabled, .uk-offcanvas-bar .uk-button-text:disabled {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-button-link, .uk-section-primary:not(.uk-preserve-color) .uk-button-link, .uk-section-secondary:not(.uk-preserve-color) .uk-button-link, .uk-tile-primary:not(.uk-preserve-color) .uk-button-link, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link, .uk-card-primary.uk-card-body .uk-button-link, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-link, .uk-card-secondary.uk-card-body .uk-button-link, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-link, .uk-overlay-primary .uk-button-link, .uk-offcanvas-bar .uk-button-link {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-button-link:hover, .uk-section-primary:not(.uk-preserve-color) .uk-button-link:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-button-link:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-button-link:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link:hover, .uk-card-primary.uk-card-body .uk-button-link:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-button-link:hover, .uk-card-secondary.uk-card-body .uk-button-link:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-link:hover, .uk-overlay-primary .uk-button-link:hover, .uk-offcanvas-bar .uk-button-link:hover,
    .uk-light .uk-button-link:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-button-link:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-button-link:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-button-link:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-button-link:focus,
    .uk-card-primary.uk-card-body .uk-button-link:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-button-link:focus,
    .uk-card-secondary.uk-card-body .uk-button-link:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-button-link:focus,
    .uk-overlay-primary .uk-button-link:focus,
    .uk-offcanvas-bar .uk-button-link:focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-grid-divider > :not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-grid-divider > :not(.uk-first-column)::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-grid-divider > :not(.uk-first-column)::before, .uk-overlay-primary .uk-grid-divider > :not(.uk-first-column)::before, .uk-offcanvas-bar .uk-grid-divider > :not(.uk-first-column)::before {
      border-left-color: rgba(255, 255, 255, 0.2); }
    .uk-light .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-section-primary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-section-secondary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-tile-primary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-primary.uk-card-body .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-secondary.uk-card-body .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-overlay-primary .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before, .uk-offcanvas-bar .uk-grid-divider.uk-grid-stack > .uk-grid-margin::before {
      border-top-color: rgba(255, 255, 255, 0.2); }
    .uk-light .uk-close, .uk-section-primary:not(.uk-preserve-color) .uk-close, .uk-section-secondary:not(.uk-preserve-color) .uk-close, .uk-tile-primary:not(.uk-preserve-color) .uk-close, .uk-tile-secondary:not(.uk-preserve-color) .uk-close, .uk-card-primary.uk-card-body .uk-close, .uk-card-primary > :not([class*='uk-card-media']) .uk-close, .uk-card-secondary.uk-card-body .uk-close, .uk-card-secondary > :not([class*='uk-card-media']) .uk-close, .uk-overlay-primary .uk-close, .uk-offcanvas-bar .uk-close {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-close:hover, .uk-section-primary:not(.uk-preserve-color) .uk-close:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-close:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-close:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-close:hover, .uk-card-primary.uk-card-body .uk-close:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-close:hover, .uk-card-secondary.uk-card-body .uk-close:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-close:hover, .uk-overlay-primary .uk-close:hover, .uk-offcanvas-bar .uk-close:hover,
    .uk-light .uk-close:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-close:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-close:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-close:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-close:focus,
    .uk-card-primary.uk-card-body .uk-close:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-close:focus,
    .uk-card-secondary.uk-card-body .uk-close:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-close:focus,
    .uk-overlay-primary .uk-close:focus,
    .uk-offcanvas-bar .uk-close:focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-totop, .uk-section-primary:not(.uk-preserve-color) .uk-totop, .uk-section-secondary:not(.uk-preserve-color) .uk-totop, .uk-tile-primary:not(.uk-preserve-color) .uk-totop, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop, .uk-card-primary.uk-card-body .uk-totop, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop, .uk-card-secondary.uk-card-body .uk-totop, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop, .uk-overlay-primary .uk-totop, .uk-offcanvas-bar .uk-totop {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-totop:hover, .uk-section-primary:not(.uk-preserve-color) .uk-totop:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-totop:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-totop:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:hover, .uk-card-primary.uk-card-body .uk-totop:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop:hover, .uk-card-secondary.uk-card-body .uk-totop:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop:hover, .uk-overlay-primary .uk-totop:hover, .uk-offcanvas-bar .uk-totop:hover,
    .uk-light .uk-totop:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-totop:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-totop:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-totop:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:focus,
    .uk-card-primary.uk-card-body .uk-totop:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-totop:focus,
    .uk-card-secondary.uk-card-body .uk-totop:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop:focus,
    .uk-overlay-primary .uk-totop:focus,
    .uk-offcanvas-bar .uk-totop:focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-totop:active, .uk-section-primary:not(.uk-preserve-color) .uk-totop:active, .uk-section-secondary:not(.uk-preserve-color) .uk-totop:active, .uk-tile-primary:not(.uk-preserve-color) .uk-totop:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-totop:active, .uk-card-primary.uk-card-body .uk-totop:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-totop:active, .uk-card-secondary.uk-card-body .uk-totop:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-totop:active, .uk-overlay-primary .uk-totop:active, .uk-offcanvas-bar .uk-totop:active {
      color: #fff; }
    .uk-light .uk-badge, .uk-section-primary:not(.uk-preserve-color) .uk-badge, .uk-section-secondary:not(.uk-preserve-color) .uk-badge, .uk-tile-primary:not(.uk-preserve-color) .uk-badge, .uk-tile-secondary:not(.uk-preserve-color) .uk-badge, .uk-card-primary.uk-card-body .uk-badge, .uk-card-primary > :not([class*='uk-card-media']) .uk-badge, .uk-card-secondary.uk-card-body .uk-badge, .uk-card-secondary > :not([class*='uk-card-media']) .uk-badge, .uk-overlay-primary .uk-badge, .uk-offcanvas-bar .uk-badge {
      background-color: #fff;
      color: #5e5e5e; }
    .uk-light .uk-badge:hover, .uk-section-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-badge:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-badge:hover, .uk-card-primary.uk-card-body .uk-badge:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-badge:hover, .uk-card-secondary.uk-card-body .uk-badge:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-badge:hover, .uk-overlay-primary .uk-badge:hover, .uk-offcanvas-bar .uk-badge:hover,
    .uk-light .uk-badge:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-badge:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-badge:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-badge:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-badge:focus,
    .uk-card-primary.uk-card-body .uk-badge:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-badge:focus,
    .uk-card-secondary.uk-card-body .uk-badge:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-badge:focus,
    .uk-overlay-primary .uk-badge:focus,
    .uk-offcanvas-bar .uk-badge:focus {
      color: #5e5e5e; }
    .uk-light .uk-label, .uk-section-primary:not(.uk-preserve-color) .uk-label, .uk-section-secondary:not(.uk-preserve-color) .uk-label, .uk-tile-primary:not(.uk-preserve-color) .uk-label, .uk-tile-secondary:not(.uk-preserve-color) .uk-label, .uk-card-primary.uk-card-body .uk-label, .uk-card-primary > :not([class*='uk-card-media']) .uk-label, .uk-card-secondary.uk-card-body .uk-label, .uk-card-secondary > :not([class*='uk-card-media']) .uk-label, .uk-overlay-primary .uk-label, .uk-offcanvas-bar .uk-label {
      background-color: #fff;
      color: #5e5e5e; }
    .uk-light .uk-article-meta, .uk-section-primary:not(.uk-preserve-color) .uk-article-meta, .uk-section-secondary:not(.uk-preserve-color) .uk-article-meta, .uk-tile-primary:not(.uk-preserve-color) .uk-article-meta, .uk-tile-secondary:not(.uk-preserve-color) .uk-article-meta, .uk-card-primary.uk-card-body .uk-article-meta, .uk-card-primary > :not([class*='uk-card-media']) .uk-article-meta, .uk-card-secondary.uk-card-body .uk-article-meta, .uk-card-secondary > :not([class*='uk-card-media']) .uk-article-meta, .uk-overlay-primary .uk-article-meta, .uk-offcanvas-bar .uk-article-meta {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input, .uk-card-primary.uk-card-body .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input, .uk-overlay-primary .uk-search-input, .uk-offcanvas-bar .uk-search-input {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-search-input:-ms-input-placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input:-ms-input-placeholder, .uk-card-primary.uk-card-body .uk-search-input:-ms-input-placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input:-ms-input-placeholder, .uk-card-secondary.uk-card-body .uk-search-input:-ms-input-placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input:-ms-input-placeholder, .uk-overlay-primary .uk-search-input:-ms-input-placeholder, .uk-offcanvas-bar .uk-search-input:-ms-input-placeholder {
      color: rgba(255, 255, 255, 0.5) !important; }
    .uk-light .uk-search-input::placeholder, .uk-section-primary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-section-secondary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-tile-primary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-input::placeholder, .uk-card-primary.uk-card-body .uk-search-input::placeholder, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-input::placeholder, .uk-card-secondary.uk-card-body .uk-search-input::placeholder, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-input::placeholder, .uk-overlay-primary .uk-search-input::placeholder, .uk-offcanvas-bar .uk-search-input::placeholder {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-search .uk-search-icon, .uk-section-primary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-section-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-tile-primary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-tile-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon, .uk-card-primary.uk-card-body .uk-search .uk-search-icon, .uk-card-primary > :not([class*='uk-card-media']) .uk-search .uk-search-icon, .uk-card-secondary.uk-card-body .uk-search .uk-search-icon, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search .uk-search-icon, .uk-overlay-primary .uk-search .uk-search-icon, .uk-offcanvas-bar .uk-search .uk-search-icon {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-search .uk-search-icon:hover, .uk-section-primary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-search .uk-search-icon:hover, .uk-card-primary.uk-card-body .uk-search .uk-search-icon:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-search .uk-search-icon:hover, .uk-card-secondary.uk-card-body .uk-search .uk-search-icon:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search .uk-search-icon:hover, .uk-overlay-primary .uk-search .uk-search-icon:hover, .uk-offcanvas-bar .uk-search .uk-search-icon:hover {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-search-default .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input, .uk-card-primary.uk-card-body .uk-search-default .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-default .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input, .uk-overlay-primary .uk-search-default .uk-search-input, .uk-offcanvas-bar .uk-search-default .uk-search-input {
      background-color: rgba(255, 255, 255, 0.1); }
    .uk-light .uk-search-default .uk-search-input:focus, .uk-section-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-section-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-tile-primary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-default .uk-search-input:focus, .uk-card-primary.uk-card-body .uk-search-default .uk-search-input:focus, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input:focus, .uk-card-secondary.uk-card-body .uk-search-default .uk-search-input:focus, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-default .uk-search-input:focus, .uk-overlay-primary .uk-search-default .uk-search-input:focus, .uk-offcanvas-bar .uk-search-default .uk-search-input:focus {
      background-color: rgba(255, 255, 255, 0.1); }
    .uk-light .uk-search-navbar .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-navbar .uk-search-input, .uk-card-primary.uk-card-body .uk-search-navbar .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-navbar .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-navbar .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-navbar .uk-search-input, .uk-overlay-primary .uk-search-navbar .uk-search-input, .uk-offcanvas-bar .uk-search-navbar .uk-search-input {
      background-color: transparent; }
    .uk-light .uk-search-large .uk-search-input, .uk-section-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-section-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-tile-primary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-large .uk-search-input, .uk-card-primary.uk-card-body .uk-search-large .uk-search-input, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-large .uk-search-input, .uk-card-secondary.uk-card-body .uk-search-large .uk-search-input, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-large .uk-search-input, .uk-overlay-primary .uk-search-large .uk-search-input, .uk-offcanvas-bar .uk-search-large .uk-search-input {
      background-color: transparent; }
    .uk-light .uk-search-toggle, .uk-section-primary:not(.uk-preserve-color) .uk-search-toggle, .uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle, .uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle, .uk-card-primary.uk-card-body .uk-search-toggle, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-toggle, .uk-card-secondary.uk-card-body .uk-search-toggle, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-toggle, .uk-overlay-primary .uk-search-toggle, .uk-offcanvas-bar .uk-search-toggle {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-search-toggle:hover, .uk-section-primary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle:hover, .uk-card-primary.uk-card-body .uk-search-toggle:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-search-toggle:hover, .uk-card-secondary.uk-card-body .uk-search-toggle:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-toggle:hover, .uk-overlay-primary .uk-search-toggle:hover, .uk-offcanvas-bar .uk-search-toggle:hover,
    .uk-light .uk-search-toggle:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-search-toggle:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-search-toggle:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-search-toggle:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-search-toggle:focus,
    .uk-card-primary.uk-card-body .uk-search-toggle:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-search-toggle:focus,
    .uk-card-secondary.uk-card-body .uk-search-toggle:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-search-toggle:focus,
    .uk-overlay-primary .uk-search-toggle:focus,
    .uk-offcanvas-bar .uk-search-toggle:focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-nav-parent-icon > .uk-parent > a::after, .uk-section-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-primary.uk-card-body .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-secondary.uk-card-body .uk-nav-parent-icon > .uk-parent > a::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent > a::after, .uk-overlay-primary .uk-nav-parent-icon > .uk-parent > a::after, .uk-offcanvas-bar .uk-nav-parent-icon > .uk-parent > a::after {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.7)%22%20stroke-width%3D%221.1%22%20points%3D%2210%201%204%207%2010%2013%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
    .uk-light .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-section-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-primary.uk-card-body .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-secondary.uk-card-body .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-overlay-primary .uk-nav-parent-icon > .uk-parent.uk-open > a::after, .uk-offcanvas-bar .uk-nav-parent-icon > .uk-parent.uk-open > a::after {
      background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2214%22%20viewBox%3D%220%200%2014%2014%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22rgba(255, 255, 255, 0.7)%22%20stroke-width%3D%221.1%22%20points%3D%221%204%207%2010%2013%204%22%20%2F%3E%0A%3C%2Fsvg%3E"); }
    .uk-light .uk-nav-default > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a, .uk-card-primary.uk-card-body .uk-nav-default > li > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li > a, .uk-card-secondary.uk-card-body .uk-nav-default > li > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li > a, .uk-overlay-primary .uk-nav-default > li > a, .uk-offcanvas-bar .uk-nav-default > li > a {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-nav-default > li > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:hover, .uk-card-primary.uk-card-body .uk-nav-default > li > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li > a:hover, .uk-card-secondary.uk-card-body .uk-nav-default > li > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li > a:hover, .uk-overlay-primary .uk-nav-default > li > a:hover, .uk-offcanvas-bar .uk-nav-default > li > a:hover,
    .uk-light .uk-nav-default > li > a:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li > a:focus,
    .uk-card-primary.uk-card-body .uk-nav-default > li > a:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li > a:focus,
    .uk-card-secondary.uk-card-body .uk-nav-default > li > a:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li > a:focus,
    .uk-overlay-primary .uk-nav-default > li > a:focus,
    .uk-offcanvas-bar .uk-nav-default > li > a:focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-nav-default > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default > li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-default > li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-default > li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default > li.uk-active > a, .uk-overlay-primary .uk-nav-default > li.uk-active > a, .uk-offcanvas-bar .uk-nav-default > li.uk-active > a {
      color: #fff; }
    .uk-light .uk-nav-default .uk-nav-header, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-header, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-header, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-header, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-header, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-header, .uk-overlay-primary .uk-nav-default .uk-nav-header, .uk-offcanvas-bar .uk-nav-default .uk-nav-header {
      color: #fff; }
    .uk-light .uk-nav-default .uk-nav-divider, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-divider, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-divider, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-divider, .uk-overlay-primary .uk-nav-default .uk-nav-divider, .uk-offcanvas-bar .uk-nav-default .uk-nav-divider {
      border-top-color: rgba(255, 255, 255, 0.2); }
    .uk-light .uk-nav-default .uk-nav-sub a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a, .uk-overlay-primary .uk-nav-default .uk-nav-sub a, .uk-offcanvas-bar .uk-nav-default .uk-nav-sub a {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-nav-default .uk-nav-sub a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:hover, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:hover, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:hover, .uk-overlay-primary .uk-nav-default .uk-nav-sub a:hover, .uk-offcanvas-bar .uk-nav-default .uk-nav-sub a:hover,
    .uk-light .uk-nav-default .uk-nav-sub a:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub a:focus,
    .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub a:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:focus,
    .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub a:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub a:focus,
    .uk-overlay-primary .uk-nav-default .uk-nav-sub a:focus,
    .uk-offcanvas-bar .uk-nav-default .uk-nav-sub a:focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-overlay-primary .uk-nav-default .uk-nav-sub li.uk-active > a, .uk-offcanvas-bar .uk-nav-default .uk-nav-sub li.uk-active > a {
      color: #fff; }
    .uk-light .uk-nav-primary > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a, .uk-card-primary.uk-card-body .uk-nav-primary > li > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li > a, .uk-card-secondary.uk-card-body .uk-nav-primary > li > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li > a, .uk-overlay-primary .uk-nav-primary > li > a, .uk-offcanvas-bar .uk-nav-primary > li > a {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-nav-primary > li > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:hover, .uk-card-primary.uk-card-body .uk-nav-primary > li > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:hover, .uk-card-secondary.uk-card-body .uk-nav-primary > li > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:hover, .uk-overlay-primary .uk-nav-primary > li > a:hover, .uk-offcanvas-bar .uk-nav-primary > li > a:hover,
    .uk-light .uk-nav-primary > li > a:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li > a:focus,
    .uk-card-primary.uk-card-body .uk-nav-primary > li > a:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:focus,
    .uk-card-secondary.uk-card-body .uk-nav-primary > li > a:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li > a:focus,
    .uk-overlay-primary .uk-nav-primary > li > a:focus,
    .uk-offcanvas-bar .uk-nav-primary > li > a:focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-nav-primary > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary > li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-primary > li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-primary > li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary > li.uk-active > a, .uk-overlay-primary .uk-nav-primary > li.uk-active > a, .uk-offcanvas-bar .uk-nav-primary > li.uk-active > a {
      color: #fff; }
    .uk-light .uk-nav-primary .uk-nav-header, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-header, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-header, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-header, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-header, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-header, .uk-overlay-primary .uk-nav-primary .uk-nav-header, .uk-offcanvas-bar .uk-nav-primary .uk-nav-header {
      color: #fff; }
    .uk-light .uk-nav-primary .uk-nav-divider, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-divider, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-divider, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-divider, .uk-overlay-primary .uk-nav-primary .uk-nav-divider, .uk-offcanvas-bar .uk-nav-primary .uk-nav-divider {
      border-top-color: rgba(255, 255, 255, 0.2); }
    .uk-light .uk-nav-primary .uk-nav-sub a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a, .uk-overlay-primary .uk-nav-primary .uk-nav-sub a, .uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-nav-primary .uk-nav-sub a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:hover, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:hover, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:hover, .uk-overlay-primary .uk-nav-primary .uk-nav-sub a:hover, .uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a:hover,
    .uk-light .uk-nav-primary .uk-nav-sub a:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub a:focus,
    .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub a:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:focus,
    .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub a:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub a:focus,
    .uk-overlay-primary .uk-nav-primary .uk-nav-sub a:focus,
    .uk-offcanvas-bar .uk-nav-primary .uk-nav-sub a:focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-primary.uk-card-body .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-secondary.uk-card-body .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-overlay-primary .uk-nav-primary .uk-nav-sub li.uk-active > a, .uk-offcanvas-bar .uk-nav-primary .uk-nav-sub li.uk-active > a {
      color: #fff; }
    .uk-light .uk-navbar-nav > li > a, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a, .uk-overlay-primary .uk-navbar-nav > li > a, .uk-offcanvas-bar .uk-navbar-nav > li > a {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-navbar-nav > li:hover > a, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li:hover > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li:hover > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li:hover > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li:hover > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li:hover > a, .uk-overlay-primary .uk-navbar-nav > li:hover > a, .uk-offcanvas-bar .uk-navbar-nav > li:hover > a,
    .uk-light .uk-navbar-nav > li > a:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:focus,
    .uk-card-primary.uk-card-body .uk-navbar-nav > li > a:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:focus,
    .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:focus,
    .uk-overlay-primary .uk-navbar-nav > li > a:focus,
    .uk-offcanvas-bar .uk-navbar-nav > li > a:focus,
    .uk-light .uk-navbar-nav > li > a.uk-open,
    .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
    .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
    .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a.uk-open,
    .uk-card-primary.uk-card-body .uk-navbar-nav > li > a.uk-open,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a.uk-open,
    .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a.uk-open,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a.uk-open,
    .uk-overlay-primary .uk-navbar-nav > li > a.uk-open,
    .uk-offcanvas-bar .uk-navbar-nav > li > a.uk-open {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-navbar-nav > li > a:active, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li > a:active, .uk-card-primary.uk-card-body .uk-navbar-nav > li > a:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:active, .uk-card-secondary.uk-card-body .uk-navbar-nav > li > a:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li > a:active, .uk-overlay-primary .uk-navbar-nav > li > a:active, .uk-offcanvas-bar .uk-navbar-nav > li > a:active {
      color: #fff; }
    .uk-light .uk-navbar-nav > li.uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-nav > li.uk-active > a, .uk-card-primary.uk-card-body .uk-navbar-nav > li.uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-nav > li.uk-active > a, .uk-card-secondary.uk-card-body .uk-navbar-nav > li.uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-nav > li.uk-active > a, .uk-overlay-primary .uk-navbar-nav > li.uk-active > a, .uk-offcanvas-bar .uk-navbar-nav > li.uk-active > a {
      color: #fff; }
    .uk-light .uk-navbar-item, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-item, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-item, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-item, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-item, .uk-card-primary.uk-card-body .uk-navbar-item, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-item, .uk-card-secondary.uk-card-body .uk-navbar-item, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-item, .uk-overlay-primary .uk-navbar-item, .uk-offcanvas-bar .uk-navbar-item {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-navbar-toggle, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle, .uk-card-primary.uk-card-body .uk-navbar-toggle, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle, .uk-card-secondary.uk-card-body .uk-navbar-toggle, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle, .uk-overlay-primary .uk-navbar-toggle, .uk-offcanvas-bar .uk-navbar-toggle {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-navbar-toggle:hover, .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle:hover, .uk-card-primary.uk-card-body .uk-navbar-toggle:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle:hover, .uk-card-secondary.uk-card-body .uk-navbar-toggle:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle:hover, .uk-overlay-primary .uk-navbar-toggle:hover, .uk-offcanvas-bar .uk-navbar-toggle:hover,
    .uk-light .uk-navbar-toggle:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle:focus,
    .uk-card-primary.uk-card-body .uk-navbar-toggle:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle:focus,
    .uk-card-secondary.uk-card-body .uk-navbar-toggle:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle:focus,
    .uk-overlay-primary .uk-navbar-toggle:focus,
    .uk-offcanvas-bar .uk-navbar-toggle:focus,
    .uk-light .uk-navbar-toggle.uk-open,
    .uk-section-primary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
    .uk-section-secondary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
    .uk-tile-primary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-navbar-toggle.uk-open,
    .uk-card-primary.uk-card-body .uk-navbar-toggle.uk-open,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-navbar-toggle.uk-open,
    .uk-card-secondary.uk-card-body .uk-navbar-toggle.uk-open,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-navbar-toggle.uk-open,
    .uk-overlay-primary .uk-navbar-toggle.uk-open,
    .uk-offcanvas-bar .uk-navbar-toggle.uk-open {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-subnav > * > :first-child, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > :first-child, .uk-card-primary.uk-card-body .uk-subnav > * > :first-child, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > * > :first-child, .uk-card-secondary.uk-card-body .uk-subnav > * > :first-child, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > * > :first-child, .uk-overlay-primary .uk-subnav > * > :first-child, .uk-offcanvas-bar .uk-subnav > * > :first-child {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-subnav > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > a:hover, .uk-card-primary.uk-card-body .uk-subnav > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > * > a:hover, .uk-card-secondary.uk-card-body .uk-subnav > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > * > a:hover, .uk-overlay-primary .uk-subnav > * > a:hover, .uk-offcanvas-bar .uk-subnav > * > a:hover,
    .uk-light .uk-subnav > * > a:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > * > a:focus,
    .uk-card-primary.uk-card-body .uk-subnav > * > a:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > * > a:focus,
    .uk-card-secondary.uk-card-body .uk-subnav > * > a:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > * > a:focus,
    .uk-overlay-primary .uk-subnav > * > a:focus,
    .uk-offcanvas-bar .uk-subnav > * > a:focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-subnav > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > .uk-active > a, .uk-card-primary.uk-card-body .uk-subnav > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > .uk-active > a, .uk-card-secondary.uk-card-body .uk-subnav > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > .uk-active > a, .uk-overlay-primary .uk-subnav > .uk-active > a, .uk-offcanvas-bar .uk-subnav > .uk-active > a {
      color: #fff; }
    .uk-light .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-overlay-primary .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before, .uk-offcanvas-bar .uk-subnav-divider > :nth-child(n+2):not(.uk-first-column)::before {
      border-left-color: rgba(255, 255, 255, 0.2); }
    .uk-light .uk-subnav-pill > * > :first-child, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > :first-child, .uk-card-primary.uk-card-body .uk-subnav-pill > * > :first-child, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > :first-child, .uk-card-secondary.uk-card-body .uk-subnav-pill > * > :first-child, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > :first-child, .uk-overlay-primary .uk-subnav-pill > * > :first-child, .uk-offcanvas-bar .uk-subnav-pill > * > :first-child {
      background-color: transparent;
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-subnav-pill > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:hover, .uk-card-primary.uk-card-body .uk-subnav-pill > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:hover, .uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:hover, .uk-overlay-primary .uk-subnav-pill > * > a:hover, .uk-offcanvas-bar .uk-subnav-pill > * > a:hover,
    .uk-light .uk-subnav-pill > * > a:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:focus,
    .uk-card-primary.uk-card-body .uk-subnav-pill > * > a:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:focus,
    .uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:focus,
    .uk-overlay-primary .uk-subnav-pill > * > a:focus,
    .uk-offcanvas-bar .uk-subnav-pill > * > a:focus {
      background-color: rgba(255, 255, 255, 0.1);
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-subnav-pill > * > a:active, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > * > a:active, .uk-card-primary.uk-card-body .uk-subnav-pill > * > a:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:active, .uk-card-secondary.uk-card-body .uk-subnav-pill > * > a:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > * > a:active, .uk-overlay-primary .uk-subnav-pill > * > a:active, .uk-offcanvas-bar .uk-subnav-pill > * > a:active {
      background-color: rgba(255, 255, 255, 0.1);
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-subnav-pill > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav-pill > .uk-active > a, .uk-card-primary.uk-card-body .uk-subnav-pill > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav-pill > .uk-active > a, .uk-card-secondary.uk-card-body .uk-subnav-pill > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav-pill > .uk-active > a, .uk-overlay-primary .uk-subnav-pill > .uk-active > a, .uk-offcanvas-bar .uk-subnav-pill > .uk-active > a {
      background-color: #fff;
      color: #5e5e5e; }
    .uk-light .uk-subnav > .uk-disabled > a, .uk-section-primary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-section-secondary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-tile-primary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-subnav > .uk-disabled > a, .uk-card-primary.uk-card-body .uk-subnav > .uk-disabled > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-subnav > .uk-disabled > a, .uk-card-secondary.uk-card-body .uk-subnav > .uk-disabled > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-subnav > .uk-disabled > a, .uk-overlay-primary .uk-subnav > .uk-disabled > a, .uk-offcanvas-bar .uk-subnav > .uk-disabled > a {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-breadcrumb > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > *, .uk-card-primary.uk-card-body .uk-breadcrumb > * > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > * > *, .uk-card-secondary.uk-card-body .uk-breadcrumb > * > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > * > *, .uk-overlay-primary .uk-breadcrumb > * > *, .uk-offcanvas-bar .uk-breadcrumb > * > * {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-breadcrumb > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :hover, .uk-card-primary.uk-card-body .uk-breadcrumb > * > :hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :hover, .uk-card-secondary.uk-card-body .uk-breadcrumb > * > :hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :hover, .uk-overlay-primary .uk-breadcrumb > * > :hover, .uk-offcanvas-bar .uk-breadcrumb > * > :hover,
    .uk-light .uk-breadcrumb > * > :focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > * > :focus,
    .uk-card-primary.uk-card-body .uk-breadcrumb > * > :focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :focus,
    .uk-card-secondary.uk-card-body .uk-breadcrumb > * > :focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > * > :focus,
    .uk-overlay-primary .uk-breadcrumb > * > :focus,
    .uk-offcanvas-bar .uk-breadcrumb > * > :focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-breadcrumb > :last-child > *, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > :last-child > *, .uk-card-primary.uk-card-body .uk-breadcrumb > :last-child > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > :last-child > *, .uk-card-secondary.uk-card-body .uk-breadcrumb > :last-child > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > :last-child > *, .uk-overlay-primary .uk-breadcrumb > :last-child > *, .uk-offcanvas-bar .uk-breadcrumb > :last-child > * {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-primary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-section-secondary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-primary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-tile-secondary:not(.uk-preserve-color) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary.uk-card-body .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-primary > :not([class*='uk-card-media']) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary.uk-card-body .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-card-secondary > :not([class*='uk-card-media']) .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-overlay-primary .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before, .uk-offcanvas-bar .uk-breadcrumb > :nth-child(n+2):not(.uk-first-column)::before {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-pagination > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > *, .uk-card-primary.uk-card-body .uk-pagination > * > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > * > *, .uk-card-secondary.uk-card-body .uk-pagination > * > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > * > *, .uk-overlay-primary .uk-pagination > * > *, .uk-offcanvas-bar .uk-pagination > * > * {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-pagination > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > :hover, .uk-card-primary.uk-card-body .uk-pagination > * > :hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > * > :hover, .uk-card-secondary.uk-card-body .uk-pagination > * > :hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > * > :hover, .uk-overlay-primary .uk-pagination > * > :hover, .uk-offcanvas-bar .uk-pagination > * > :hover,
    .uk-light .uk-pagination > * > :focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-pagination > * > :focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > * > :focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > * > :focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > * > :focus,
    .uk-card-primary.uk-card-body .uk-pagination > * > :focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > * > :focus,
    .uk-card-secondary.uk-card-body .uk-pagination > * > :focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > * > :focus,
    .uk-overlay-primary .uk-pagination > * > :focus,
    .uk-offcanvas-bar .uk-pagination > * > :focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-pagination > .uk-active > *, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > .uk-active > *, .uk-card-primary.uk-card-body .uk-pagination > .uk-active > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > .uk-active > *, .uk-card-secondary.uk-card-body .uk-pagination > .uk-active > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > .uk-active > *, .uk-overlay-primary .uk-pagination > .uk-active > *, .uk-offcanvas-bar .uk-pagination > .uk-active > * {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-pagination > .uk-disabled > *, .uk-section-primary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-section-secondary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-tile-primary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-pagination > .uk-disabled > *, .uk-card-primary.uk-card-body .uk-pagination > .uk-disabled > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-pagination > .uk-disabled > *, .uk-card-secondary.uk-card-body .uk-pagination > .uk-disabled > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-pagination > .uk-disabled > *, .uk-overlay-primary .uk-pagination > .uk-disabled > *, .uk-offcanvas-bar .uk-pagination > .uk-disabled > * {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-tab > * > a, .uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a, .uk-card-primary.uk-card-body .uk-tab > * > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > * > a, .uk-card-secondary.uk-card-body .uk-tab > * > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > * > a, .uk-overlay-primary .uk-tab > * > a, .uk-offcanvas-bar .uk-tab > * > a {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-tab > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a:hover, .uk-card-primary.uk-card-body .uk-tab > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > * > a:hover, .uk-card-secondary.uk-card-body .uk-tab > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > * > a:hover, .uk-overlay-primary .uk-tab > * > a:hover, .uk-offcanvas-bar .uk-tab > * > a:hover,
    .uk-light .uk-tab > * > a:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-tab > * > a:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-tab > * > a:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-tab > * > a:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > * > a:focus,
    .uk-card-primary.uk-card-body .uk-tab > * > a:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > * > a:focus,
    .uk-card-secondary.uk-card-body .uk-tab > * > a:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > * > a:focus,
    .uk-overlay-primary .uk-tab > * > a:focus,
    .uk-offcanvas-bar .uk-tab > * > a:focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-tab > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > .uk-active > a, .uk-card-primary.uk-card-body .uk-tab > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > .uk-active > a, .uk-card-secondary.uk-card-body .uk-tab > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > .uk-active > a, .uk-overlay-primary .uk-tab > .uk-active > a, .uk-offcanvas-bar .uk-tab > .uk-active > a {
      color: #fff; }
    .uk-light .uk-tab > .uk-disabled > a, .uk-section-primary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-section-secondary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-tile-primary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-tab > .uk-disabled > a, .uk-card-primary.uk-card-body .uk-tab > .uk-disabled > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-tab > .uk-disabled > a, .uk-card-secondary.uk-card-body .uk-tab > .uk-disabled > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-tab > .uk-disabled > a, .uk-overlay-primary .uk-tab > .uk-disabled > a, .uk-offcanvas-bar .uk-tab > .uk-disabled > a {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-slidenav, .uk-section-primary:not(.uk-preserve-color) .uk-slidenav, .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav, .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav, .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav, .uk-card-primary.uk-card-body .uk-slidenav, .uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav, .uk-card-secondary.uk-card-body .uk-slidenav, .uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav, .uk-overlay-primary .uk-slidenav, .uk-offcanvas-bar .uk-slidenav {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-slidenav:hover, .uk-section-primary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:hover, .uk-card-primary.uk-card-body .uk-slidenav:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav:hover, .uk-card-secondary.uk-card-body .uk-slidenav:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav:hover, .uk-overlay-primary .uk-slidenav:hover, .uk-offcanvas-bar .uk-slidenav:hover,
    .uk-light .uk-slidenav:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-slidenav:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:focus,
    .uk-card-primary.uk-card-body .uk-slidenav:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav:focus,
    .uk-card-secondary.uk-card-body .uk-slidenav:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav:focus,
    .uk-overlay-primary .uk-slidenav:focus,
    .uk-offcanvas-bar .uk-slidenav:focus {
      color: rgba(255, 255, 255, 0.95); }
    .uk-light .uk-slidenav:active, .uk-section-primary:not(.uk-preserve-color) .uk-slidenav:active, .uk-section-secondary:not(.uk-preserve-color) .uk-slidenav:active, .uk-tile-primary:not(.uk-preserve-color) .uk-slidenav:active, .uk-tile-secondary:not(.uk-preserve-color) .uk-slidenav:active, .uk-card-primary.uk-card-body .uk-slidenav:active, .uk-card-primary > :not([class*='uk-card-media']) .uk-slidenav:active, .uk-card-secondary.uk-card-body .uk-slidenav:active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-slidenav:active, .uk-overlay-primary .uk-slidenav:active, .uk-offcanvas-bar .uk-slidenav:active {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-dotnav > * > *, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > *, .uk-card-primary.uk-card-body .uk-dotnav > * > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > *, .uk-card-secondary.uk-card-body .uk-dotnav > * > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > *, .uk-overlay-primary .uk-dotnav > * > *, .uk-offcanvas-bar .uk-dotnav > * > * {
      background-color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-dotnav > * > :hover, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :hover, .uk-card-primary.uk-card-body .uk-dotnav > * > :hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > :hover, .uk-card-secondary.uk-card-body .uk-dotnav > * > :hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > :hover, .uk-overlay-primary .uk-dotnav > * > :hover, .uk-offcanvas-bar .uk-dotnav > * > :hover,
    .uk-light .uk-dotnav > * > :focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :focus,
    .uk-card-primary.uk-card-body .uk-dotnav > * > :focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > :focus,
    .uk-card-secondary.uk-card-body .uk-dotnav > * > :focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > :focus,
    .uk-overlay-primary .uk-dotnav > * > :focus,
    .uk-offcanvas-bar .uk-dotnav > * > :focus {
      background-color: rgba(255, 255, 255, 0.9); }
    .uk-light .uk-dotnav > * > :active, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > * > :active, .uk-card-primary.uk-card-body .uk-dotnav > * > :active, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > * > :active, .uk-card-secondary.uk-card-body .uk-dotnav > * > :active, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > * > :active, .uk-overlay-primary .uk-dotnav > * > :active, .uk-offcanvas-bar .uk-dotnav > * > :active {
      background-color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-dotnav > .uk-active > *, .uk-section-primary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-section-secondary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-tile-primary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-tile-secondary:not(.uk-preserve-color) .uk-dotnav > .uk-active > *, .uk-card-primary.uk-card-body .uk-dotnav > .uk-active > *, .uk-card-primary > :not([class*='uk-card-media']) .uk-dotnav > .uk-active > *, .uk-card-secondary.uk-card-body .uk-dotnav > .uk-active > *, .uk-card-secondary > :not([class*='uk-card-media']) .uk-dotnav > .uk-active > *, .uk-overlay-primary .uk-dotnav > .uk-active > *, .uk-offcanvas-bar .uk-dotnav > .uk-active > * {
      background-color: rgba(255, 255, 255, 0.9); }
    .uk-light .uk-accordion-title, .uk-section-primary:not(.uk-preserve-color) .uk-accordion-title, .uk-section-secondary:not(.uk-preserve-color) .uk-accordion-title, .uk-tile-primary:not(.uk-preserve-color) .uk-accordion-title, .uk-tile-secondary:not(.uk-preserve-color) .uk-accordion-title, .uk-card-primary.uk-card-body .uk-accordion-title, .uk-card-primary > :not([class*='uk-card-media']) .uk-accordion-title, .uk-card-secondary.uk-card-body .uk-accordion-title, .uk-card-secondary > :not([class*='uk-card-media']) .uk-accordion-title, .uk-overlay-primary .uk-accordion-title, .uk-offcanvas-bar .uk-accordion-title {
      color: #fff; }
    .uk-light .uk-accordion-title:hover, .uk-section-primary:not(.uk-preserve-color) .uk-accordion-title:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-accordion-title:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-accordion-title:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-accordion-title:hover, .uk-card-primary.uk-card-body .uk-accordion-title:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-accordion-title:hover, .uk-card-secondary.uk-card-body .uk-accordion-title:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-accordion-title:hover, .uk-overlay-primary .uk-accordion-title:hover, .uk-offcanvas-bar .uk-accordion-title:hover,
    .uk-light .uk-accordion-title:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-accordion-title:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-accordion-title:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-accordion-title:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-accordion-title:focus,
    .uk-card-primary.uk-card-body .uk-accordion-title:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-accordion-title:focus,
    .uk-card-secondary.uk-card-body .uk-accordion-title:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-accordion-title:focus,
    .uk-overlay-primary .uk-accordion-title:focus,
    .uk-offcanvas-bar .uk-accordion-title:focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-iconnav > * > a, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a, .uk-card-primary.uk-card-body .uk-iconnav > * > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > a, .uk-card-secondary.uk-card-body .uk-iconnav > * > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > a, .uk-overlay-primary .uk-iconnav > * > a, .uk-offcanvas-bar .uk-iconnav > * > a {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-iconnav > * > a:hover, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:hover, .uk-card-primary.uk-card-body .uk-iconnav > * > a:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > a:hover, .uk-card-secondary.uk-card-body .uk-iconnav > * > a:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > a:hover, .uk-overlay-primary .uk-iconnav > * > a:hover, .uk-offcanvas-bar .uk-iconnav > * > a:hover,
    .uk-light .uk-iconnav > * > a:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > * > a:focus,
    .uk-card-primary.uk-card-body .uk-iconnav > * > a:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > * > a:focus,
    .uk-card-secondary.uk-card-body .uk-iconnav > * > a:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > * > a:focus,
    .uk-overlay-primary .uk-iconnav > * > a:focus,
    .uk-offcanvas-bar .uk-iconnav > * > a:focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-iconnav > .uk-active > a, .uk-section-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-section-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-tile-primary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-tile-secondary:not(.uk-preserve-color) .uk-iconnav > .uk-active > a, .uk-card-primary.uk-card-body .uk-iconnav > .uk-active > a, .uk-card-primary > :not([class*='uk-card-media']) .uk-iconnav > .uk-active > a, .uk-card-secondary.uk-card-body .uk-iconnav > .uk-active > a, .uk-card-secondary > :not([class*='uk-card-media']) .uk-iconnav > .uk-active > a, .uk-overlay-primary .uk-iconnav > .uk-active > a, .uk-offcanvas-bar .uk-iconnav > .uk-active > a {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-text-lead, .uk-section-primary:not(.uk-preserve-color) .uk-text-lead, .uk-section-secondary:not(.uk-preserve-color) .uk-text-lead, .uk-tile-primary:not(.uk-preserve-color) .uk-text-lead, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-lead, .uk-card-primary.uk-card-body .uk-text-lead, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-lead, .uk-card-secondary.uk-card-body .uk-text-lead, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-lead, .uk-overlay-primary .uk-text-lead, .uk-offcanvas-bar .uk-text-lead {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-text-meta, .uk-section-primary:not(.uk-preserve-color) .uk-text-meta, .uk-section-secondary:not(.uk-preserve-color) .uk-text-meta, .uk-tile-primary:not(.uk-preserve-color) .uk-text-meta, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-meta, .uk-card-primary.uk-card-body .uk-text-meta, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-meta, .uk-card-secondary.uk-card-body .uk-text-meta, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-meta, .uk-overlay-primary .uk-text-meta, .uk-offcanvas-bar .uk-text-meta {
      color: rgba(255, 255, 255, 0.5); }
    .uk-light .uk-text-muted, .uk-section-primary:not(.uk-preserve-color) .uk-text-muted, .uk-section-secondary:not(.uk-preserve-color) .uk-text-muted, .uk-tile-primary:not(.uk-preserve-color) .uk-text-muted, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-muted, .uk-card-primary.uk-card-body .uk-text-muted, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-muted, .uk-card-secondary.uk-card-body .uk-text-muted, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-muted, .uk-overlay-primary .uk-text-muted, .uk-offcanvas-bar .uk-text-muted {
      color: rgba(255, 255, 255, 0.5) !important; }
    .uk-light .uk-text-emphasis, .uk-section-primary:not(.uk-preserve-color) .uk-text-emphasis, .uk-section-secondary:not(.uk-preserve-color) .uk-text-emphasis, .uk-tile-primary:not(.uk-preserve-color) .uk-text-emphasis, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-emphasis, .uk-card-primary.uk-card-body .uk-text-emphasis, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-emphasis, .uk-card-secondary.uk-card-body .uk-text-emphasis, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-emphasis, .uk-overlay-primary .uk-text-emphasis, .uk-offcanvas-bar .uk-text-emphasis {
      color: #fff !important; }
    .uk-light .uk-text-primary, .uk-section-primary:not(.uk-preserve-color) .uk-text-primary, .uk-section-secondary:not(.uk-preserve-color) .uk-text-primary, .uk-tile-primary:not(.uk-preserve-color) .uk-text-primary, .uk-tile-secondary:not(.uk-preserve-color) .uk-text-primary, .uk-card-primary.uk-card-body .uk-text-primary, .uk-card-primary > :not([class*='uk-card-media']) .uk-text-primary, .uk-card-secondary.uk-card-body .uk-text-primary, .uk-card-secondary > :not([class*='uk-card-media']) .uk-text-primary, .uk-overlay-primary .uk-text-primary, .uk-offcanvas-bar .uk-text-primary {
      color: rgba(255, 255, 255, 0.7) !important; }
    .uk-light .uk-column-divider, .uk-section-primary:not(.uk-preserve-color) .uk-column-divider, .uk-section-secondary:not(.uk-preserve-color) .uk-column-divider, .uk-tile-primary:not(.uk-preserve-color) .uk-column-divider, .uk-tile-secondary:not(.uk-preserve-color) .uk-column-divider, .uk-card-primary.uk-card-body .uk-column-divider, .uk-card-primary > :not([class*='uk-card-media']) .uk-column-divider, .uk-card-secondary.uk-card-body .uk-column-divider, .uk-card-secondary > :not([class*='uk-card-media']) .uk-column-divider, .uk-overlay-primary .uk-column-divider, .uk-offcanvas-bar .uk-column-divider {
      column-rule-color: rgba(255, 255, 255, 0.2); }
    .uk-light .uk-logo, .uk-section-primary:not(.uk-preserve-color) .uk-logo, .uk-section-secondary:not(.uk-preserve-color) .uk-logo, .uk-tile-primary:not(.uk-preserve-color) .uk-logo, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo, .uk-card-primary.uk-card-body .uk-logo, .uk-card-primary > :not([class*='uk-card-media']) .uk-logo, .uk-card-secondary.uk-card-body .uk-logo, .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo, .uk-overlay-primary .uk-logo, .uk-offcanvas-bar .uk-logo {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-logo:hover, .uk-section-primary:not(.uk-preserve-color) .uk-logo:hover, .uk-section-secondary:not(.uk-preserve-color) .uk-logo:hover, .uk-tile-primary:not(.uk-preserve-color) .uk-logo:hover, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo:hover, .uk-card-primary.uk-card-body .uk-logo:hover, .uk-card-primary > :not([class*='uk-card-media']) .uk-logo:hover, .uk-card-secondary.uk-card-body .uk-logo:hover, .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo:hover, .uk-overlay-primary .uk-logo:hover, .uk-offcanvas-bar .uk-logo:hover,
    .uk-light .uk-logo:focus,
    .uk-section-primary:not(.uk-preserve-color) .uk-logo:focus,
    .uk-section-secondary:not(.uk-preserve-color) .uk-logo:focus,
    .uk-tile-primary:not(.uk-preserve-color) .uk-logo:focus,
    .uk-tile-secondary:not(.uk-preserve-color) .uk-logo:focus,
    .uk-card-primary.uk-card-body .uk-logo:focus,
    .uk-card-primary > :not([class*='uk-card-media']) .uk-logo:focus,
    .uk-card-secondary.uk-card-body .uk-logo:focus,
    .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo:focus,
    .uk-overlay-primary .uk-logo:focus,
    .uk-offcanvas-bar .uk-logo:focus {
      color: rgba(255, 255, 255, 0.7); }
    .uk-light .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-section-primary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-section-secondary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-tile-primary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-tile-secondary:not(.uk-preserve-color) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-primary.uk-card-body .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-primary > :not([class*='uk-card-media']) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-secondary.uk-card-body .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-overlay-primary .uk-logo > :not(.uk-logo-inverse):not(:only-of-type), .uk-offcanvas-bar .uk-logo > :not(.uk-logo-inverse):not(:only-of-type) {
      display: none; }
    .uk-light .uk-logo-inverse, .uk-section-primary:not(.uk-preserve-color) .uk-logo-inverse, .uk-section-secondary:not(.uk-preserve-color) .uk-logo-inverse, .uk-tile-primary:not(.uk-preserve-color) .uk-logo-inverse, .uk-tile-secondary:not(.uk-preserve-color) .uk-logo-inverse, .uk-card-primary.uk-card-body .uk-logo-inverse, .uk-card-primary > :not([class*='uk-card-media']) .uk-logo-inverse, .uk-card-secondary.uk-card-body .uk-logo-inverse, .uk-card-secondary > :not([class*='uk-card-media']) .uk-logo-inverse, .uk-overlay-primary .uk-logo-inverse, .uk-offcanvas-bar .uk-logo-inverse {
      display: inline; }
  
  /* ========================================================================
     Component: Print
   ========================================================================== */
  @media print {
    *,
    *::before,
    *::after {
      background: transparent !important;
      color: black !important;
      box-shadow: none !important;
      text-shadow: none !important; }
    a,
    a:visited {
      text-decoration: underline; }
    pre,
    blockquote {
      border: 1px solid #999;
      page-break-inside: avoid; }
    thead {
      display: table-header-group; }
    tr,
    img {
      page-break-inside: avoid; }
    img {
      max-width: 100% !important; }
    @page {
      margin: 0.5cm; }
    p,
    h2,
    h3 {
      orphans: 3;
      widows: 3; }
    h2,
    h3 {
      page-break-after: avoid; } }
  
  .uk-box-shadow-none {
    box-shadow: none; }
  
  .uk-border-radius {
    border-radius: 5px;
    overflow: hidden; }
  
  .uk-section {
    overflow: hidden;
    padding-top: 60px;
    padding-bottom: 60px; }
  
  .site-footer__social {
    height: 100%; }
  
  .site-footer__top {
    padding: 40px 0 40px; }
    @media screen and (max-width: 959px) {
      .site-footer__top {
        padding: 40px 30px 40px; } }
    .site-footer__top .uk-button-large, .site-footer__top .mainmenu ul li.button a, .mainmenu ul li.button .site-footer__top a {
      font-size: 16px !important;
      color: #ED688A !important;
      font-weight: 500 !important; }
  
  .site-footer__mid {
    padding: 40px 0 0; }
    @media screen and (max-width: 959px) {
      .site-footer__mid {
        padding: 40px 30px 40px; } }
    .site-footer__mid p {
      font-weight: 500; }
    @media screen and (max-width: 767px) {
      .site-footer__mid {
        padding-left: 30px;
        padding-right: 30px;
        margin-bottom: 48px; }
        .site-footer__mid p {
          text-align: center !important; } }
  
  @media screen and (max-width: 767px) {
    .site-footer .hide-sm {
      display: none; }
    .site-footer__bottom {
    padding: 0 30px 60px; } }
    @media screen and (max-width: 1070px) {
        .site-footer__bottom {
          padding: 0px 30px 60px;
          flex-wrap: wrap !important; } }
    @media screen and (max-width: 959px) {
      .site-footer__bottom {
        padding: 0px 30px 60px;
        flex-wrap: wrap !important; } }
    @media screen and (max-width: 767px) {
      .site-footer__bottom .copyright {
        padding-bottom: 15px; } }
    .site-footer__bottom p {
      font-size: 14px;
      font-weight: 500;
      padding-right: 24px; }
    .site-footer__bottom ul li {
      display: flex; }
      .site-footer__bottom ul li a {
        font-size: 14px;
        font-weight: 500;
        padding-left: 0; }
    @media screen and (max-width: 767px) {
      .site-footer__bottom__menu {
        display: block;
        text-align: center; }
        .site-footer__bottom__menu p {
          font-size: 16px;
          line-height: 1 !important;
          margin: 0 0 20px; }
        .site-footer__bottom__menu ul {
          flex-wrap: wrap; }
          .site-footer__bottom__menu ul li {
            width: 100%;
            display: block;
            line-height: 1.785;
            margin: 0 0 15px; }
            .site-footer__bottom__menu ul li a {
              font-size: 16px;
              height: auto;
              min-height: 0; } }
  
  header *, header *:before, header *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box; }
  
  header .uk-logo {
    padding: 15px 0;
    margin: 0 15px;
    z-index: 99; }
    @media screen and (min-width: 768px) {
      header .uk-logo {
        margin: 3px 40px 0 0; } }
  
  @media screen and (min-width:959px) and (max-width: 1236px) {
          header .uk-logo {
            margin: 3px 40px 0 0; } 
          .mainmenu ul li a {
              padding: 0 10px 0 0 !important;
          }
          .uk-button-large, .mainmenu ul li.button a {
              padding: 0 20px !important;
      }
  }
  
  .navigation {
    display: flex;
    align-items: center;
    position: relative;
    padding: 0 149px; }
    @media screen and (max-width: 1380px) {
      .navigation {
        padding: 0 20px; } }
    @media screen and (max-width: 1120px) {
      .navigation {
        padding: 5px; } }
    @media screen and (max-width: 960px) {
      .navigation {
        padding: 0px; } }
  
  /* Start Here */
  .expanded {
    height: 100vh; }
  
  .mainmenu {
    list-style-type: none;
    margin: 0;
    padding: 0;
    display: block;
    flex: 1;
    background: white;
    z-index: 999;
    width: 100%;
    top: 0;
    margin: 0; }
    @media screen and (max-width: 960px) {
      .mainmenu {
        position: absolute; } }
    @media screen and (min-width: 960px) {
      .mainmenu {
        display: flex;
        position: relative; } }
    .mainmenu ul {
      margin: 0;
      padding: 0; }
      .mainmenu ul li {
        padding: 0;
        transition: all 500ms ease; }
        @media screen and (max-width: 960px) {
          .mainmenu ul li {
            height: 0;
            padding: 0;
            overflow: hidden; } }
        .mainmenu ul li.menu-item-has-children {
          position: relative;
          text-align: center; }
          .mainmenu ul li.menu-item-has-children .sub-menu {
            display: none;
            position: absolute;
            top: 66px;
            width: 248px;
            background-color: white;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); }
            .mainmenu ul li.menu-item-has-children .sub-menu.visible {
              display: block; }
            .mainmenu ul li.menu-item-has-children .sub-menu:after {
              content: "";
              position: absolute;
              width: 0;
              height: 0;
              margin-left: -3.5px;
              top: 0px;
              left: 50%;
              box-sizing: border-box;
              border: 7px solid black;
              border-color: transparent transparent white white;
              transform-origin: 0 0;
              transform: rotate(135deg);
              box-shadow: -2px 2px 2px 0 rgba(0, 0, 0, 0.1); }
            .mainmenu ul li.menu-item-has-children .sub-menu li {
              padding: 0 20px;
              display: inline-block;
              width: 100%; }
              .mainmenu ul li.menu-item-has-children .sub-menu li.current-menu-item a {
                color: #3B3B3B !important;
                font-weight: 700; }
              .mainmenu ul li.menu-item-has-children .sub-menu li a {
                border-bottom: 1px solid #F2F2F2;
                padding: 20px 0;
                height: auto;
                display: inline-block;
                width: 100%;
                text-align: left;
                color: #3B3B3B; }
                .mainmenu ul li.menu-item-has-children .sub-menu li a:hover, .mainmenu ul li.menu-item-has-children .sub-menu li a:focus {
                  color: #dc0b40 !important; }
        .mainmenu ul li .uk-button-primary, .mainmenu ul li.button a {
          height: auto; }
        .mainmenu ul li a {
          color: #5e5e5e;
          display: flex;
          align-items: center;
          box-sizing: border-box;
          height: 80px;
          padding: 0 20px 0 0;
          font-size: 14px;
          font-family: "museo-sans", sans-serif;
          text-decoration: none;
          transition: color 300ms ease; }
          @media screen and (max-width: 1236px) {
            .mainmenu ul li a {
              padding: 0 15px 0 0; } }
          .mainmenu ul li a:hover {
            color: #ed688a; }
          @media screen and (max-width: 960px) {
            .mainmenu ul li a {
              border-bottom: 1px solid #E9EAEA;
              height: 50px;
              padding: 0;
              font-size: 1.1em;
              font-weight: 100; } }
      .mainmenu ul .menu {
        position: absolute;
        right: 0;
        height: auto;
        padding: 0;
        top: 0; }
        .mainmenu ul .menu .hidden {
          visibility: hidden; }
        .mainmenu ul .menu #menu-close {
          position: absolute;
          right: 3px;
          top: 0; }
        .mainmenu ul .menu a {
          border: 0;
          height: 80px;
          padding: 0 15px; }
          .mainmenu ul .menu a:after {
            display: none; }
    .mainmenu .right-items {
      margin-left: auto; }
  
  .expanded {
    padding: 80px 30px; }
    .expanded .right-items .button {
      margin-top: 40px; }
      .expanded .right-items .button a:after {
        display: none; }
    .expanded li a {
      position: relative; }
      .expanded li a:after {
        content: url("../../themes/supply-nation-theme/images/right-arrow.svg");
        position: absolute;
        right: 0; }
      .expanded li a:hover {
        border-color: #F67474; }
    .expanded .uk-navbar-toggle {
      justify-content: left; }
    .expanded .uk-button-large, .expanded .mainmenu ul li.button a, .mainmenu ul li.button .expanded a {
      padding: 0 !important;
      border: 0 !important;
      box-shadow: none !important;
      position: relative; }
    .expanded .uk-button-primary, .expanded .mainmenu ul li.button a, .mainmenu ul li.button .expanded a {
      background: none;
      color: #dc0b40 !important;
      width: 100%;
      text-align: left;
      font-size: 1.1em !important;
      font-weight: 100; }
      .expanded .uk-button-primary:hover, .expanded .mainmenu ul li.button a:hover, .mainmenu ul li.button .expanded a:hover {
        background: none !important;
        transform: none; }
  
  .mainmenu.expanded li {
    height: auto;
    padding: 0; }
  
  @media screen and (min-width: 960px) {
    .mainmenu li,
    .mainmenu.expanded li {
      display: inline-block;
      height: auto;
      padding: 0; }
    .mainmenu .menu,
    .mainmenu.expanded .menu {
      display: none; } }
  
  .mainmenu ul .menu {
    position: relative;
    overflow: visible; }
    .mainmenu ul .menu a#menu-open,
    .mainmenu ul .menu a#menu-close {
      position: absolute;
      right: 0;
      top: 0; }
  
  #mobile-menu-button {
    float: right;
    position: absolute;
    right: 0;
    top: 0; }
  
  #sn-mobile-menu {
    transition: all 0.5s ease;
    opacity: 1; }
    #sn-mobile-menu::before {
      background: white !important; }
    #sn-mobile-menu .uk-offcanvas-bar {
      width: 100%;
      background: white !important;
      padding: 0; }
      #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-top-bar {
        width: 100%;
        height: 80px;
        background: white !important; }
        #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-top-bar a.uk-offcanvas-close.uk-icon.uk-close {
          background: white;
          width: 64px;
          height: 80px;
          top: 0;
          right: 0;
          padding: 0 !important; }
          #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-top-bar a.uk-offcanvas-close.uk-icon.uk-close svg {
            display: none; }
          #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-top-bar a.uk-offcanvas-close.uk-icon.uk-close span.uk-icon {
            padding: 0 !important;
            background: white;
            padding: 0;
            border-radius: 0;
            color: white;
            width: 64px;
            height: 80px;
            background-repeat: no-repeat;
            background-position: center;
            /* background-color: white; */ }
      #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-content {
        background: white;
        height: 100%;
        height: calc(100% - 80px);
        overflow: scroll;
        padding-top: 22px; }
        #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-content ul {
          margin: 0;
          padding: 0 50px; }
          #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-content ul.sub-menu {
            display: none;
            padding: 20px 30px 0; }
            #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-content ul.sub-menu li {
              border-bottom: 0px;
              padding: 13px 0; }
              #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-content ul.sub-menu li::after {
                display: none; }
          #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-content ul li {
            border-bottom: 1px solid #e9eaea;
            padding: 18px 0;
            position: relative; }
            #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-content ul li .sn-search-icon {
              margin-right: 10px; }
            #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-content ul li::after {
              content: url("../../themes/supply-nation-theme/images/right-arrow.svg");
              position: absolute;
              right: 0px;
              top: 22px; }
            #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-content ul li a {
              color: #5e5e5e;
              font-family: "museo-sans";
              font-weight: 500;
              position: relative;
              top: 0px;
              margin-top: 25px; }
          #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-content ul li.active > a {
            color: #dc0b40; }
          #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-content ul li.active::after {
            content: url("../../themes/supply-nation-theme/images/down.png");
            position: absolute;
            right: 0px;
            top: 22px; }
          #sn-mobile-menu .uk-offcanvas-bar .sn-mobile-menu-content ul li.active ul.sub-menu {
            display: block; }
    #sn-mobile-menu li.sn-mobile-join-now a {
      color: #dc0b40 !important; }
  
  #mobile-menu-button {
    padding: 0 !important; }
    #mobile-menu-button span.uk-icon {
      padding: 0 !important;
      background: white;
      padding: 0;
      border-radius: 0;
      color: white;
      width: 64px;
      height: 80px;
      background-repeat: no-repeat;
      background-position: center;
      /* background-color: white; */ }
  
  .benefitslider .uk-slider-items ul {
    padding: 10px;
    width: 100%;
    margin: 0;
    background: #FFF;
    align-self: flex-start; }
    .benefitslider .uk-slider-items ul li {
      font-size: 16px; }
      .benefitslider .uk-slider-items ul li .corporate-desc {
        padding-right: 140px !important; }
    .benefitslider .uk-slider-items ul:after {
      top: 10px  !important;
      height: calc(100% - 20px) !important; }
  
  .benefitslider__nav {
    position: absolute;
    bottom: -73px;
    left: 50%;
    transform: translateX(-50%); }
  
  .benefitslider__cta {
    margin-top: 80px; }
  
  .current-members__ctas a {
    margin: 15px; }
  
  .client-card {
    padding: 0px 15px 25px;
    border-radius: 5px;
    border: 1px solid #EEF5FF;
    box-shadow: 0px 5px 10px rgba(2, 110, 243, 0.1) !important;
    min-height: 260px; }
    .client-card .client-name {
      color: #3B3B3B;
      font-family: "museo-sans";
      font-weight: 700;
      margin-bottom: 8px;
      margin-top: 0;
      line-height: 1.1875 !important;
      border-top: 1px solid #DAE5F6;
      padding-top: 20px; }
    .client-card .client-industry {
      margin: 0;
      color: #3b3b3b;
      font-size: 14px;
      font-family: "museo-sans";
      font-weight: 300;
      text-transform: uppercase;
      line-height: 1.428 !important; }
    .client-card .client-time {
      display: none; }
    .client-card .client-logo {
      width: 100%;
      padding: 0 10px;
      min-height: 145px;
      display: flex;
      flex-direction: row;
      flex-wrap: wrap;
      align-items: center; }
      .client-card .client-logo img {
        max-width: 100%;
        width: 100px;
        margin: 0 auto; }
  
  .isotope-element {
    width: calc(25% - 50px);
    margin: 10px; }
    @media screen and (max-width: 960px) {
      .isotope-element {
        width: calc(100% - 30px); } }
  
  .site-search {
    min-height: 55vh;
    text-align: center; }
    .site-search form {
      margin-top: 15vh;
      display: flex; }
  
  .pum-theme-supply-nation .pum-container {
    text-align: center;
    padding: 60px 40px !important;
    max-width: 575px !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }
    @media screen and (max-width: 768px) {
      .pum-theme-supply-nation .pum-container {
        padding: 30px 11px !important; } }
    .pum-theme-supply-nation .pum-container .pum-title {
      color: #3B3B3B;
      font-weight: 500;
      font-family: "Montserrat", sans-serif;
      padding-bottom: 16px; }
      @media screen and (max-width: 768px) {
        .pum-theme-supply-nation .pum-container .pum-title {
          padding-top: 0; } }
    .pum-theme-supply-nation .pum-container .pum-content {
      color: #4C4C4C;
      text-align: center;
      font-weight: 500;
      padding-bottom: 20px; }
      .pum-theme-supply-nation .pum-container .pum-content p {
        font-size: 16px;
        font-weight: 500;
        line-height: 30px;
        margin-bottom: 9px;
        color: #5E5E5E; }
  
  .pum-theme-supply-nation .popmake-close {
    font-weight: 500;
    width: 60% !important;
    display: inline-block !important;
    padding: 18px 0 !important;
    font-size: 14px !important;
    line-height: 25px !important;
    position: relative !important;
    bottom: auto;
    right: auto;
    margin: 0; }
  
  #breadcrumbs {
    background: #F1F4FD;
    padding: 13px 0; }
    #breadcrumbs .content > span {
      display: inline;
      padding: 0;
      width: auto; }
    #breadcrumbs .content:first-child {
      padding-left: 70px; }
    #breadcrumbs .content span a, #breadcrumbs .content span strong {
      padding: 0 20px; }
    #breadcrumbs .content a {
      font-weight: 100;
      color: #1A1A25; }
      #breadcrumbs .content a.home {
        background-image: url(images/icon-home.svg);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain; }
  
  @media only screen and (max-width: 768px) {
    #breadcrumbs .content:first-child {
      padding-left: 30px !important; }
    #breadcrumbs .content span:first-of-type {
      width: 20%; }
    #breadcrumbs .content span:last-of-type {
      width: 80%; } }
  
  /*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwidGhlbWUvX3NuLWhpc3Rvcnktc2xpZGVyLnNjc3MiLCJ0aGVtZS9fdmFyaWFibGVzLXRoZW1lLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvcmVzcG9uZC10by1taXhpbi9yZXNwb25kLXRvLnNjc3MiLCJ0aGVtZS9fZmFxcy5zY3NzIiwidGhlbWUvX3NlYXJjaC5zY3NzIiwidGhlbWUvX2J1dHRvbi5zY3NzIiwidGhlbWUvX25pbmphZm9ybXMuc2NzcyIsInRoZW1lL19jdXJ2ZXMuc2NzcyIsInBhZ2VzL19jb3Jwb3JhdGUuc2NzcyIsInBhZ2VzL19zdG9yaWVzLnNjc3MiLCJwYWdlcy9fY29udGFjdC5zY3NzIiwicGFnZXMvX2JlbmVmaXRzLnNjc3MiLCJwYWdlcy9fYWJvdXR1cy5zY3NzIiwicGFnZXMvX2Nhcm91c2VsaG9tZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3ZhcmlhYmxlcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL21peGlucy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL3Vpa2l0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9faW1wb3J0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy92YXJpYWJsZXMuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21peGluLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9iYXNlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9saW5rLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9oZWFkaW5nLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kaXZpZGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9saXN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9kZXNjcmlwdGlvbi1saXN0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90YWJsZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaWNvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZm9ybS1yYW5nZS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZm9ybS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYnV0dG9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zZWN0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb250YWluZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2dyaWQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RpbGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NhcmQuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2Nsb3NlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zcGlubmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90b3RvcC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbWFya2VyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hbGVydC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYmFkZ2Uuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2xhYmVsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9vdmVybGF5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hcnRpY2xlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb21tZW50LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zZWFyY2guc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL25hdi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbmF2YmFyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zdWJuYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2JyZWFkY3J1bWIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3BhZ2luYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3RhYi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc2xpZGVuYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2RvdG5hdi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvdGh1bWJuYXYuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2FjY29yZGlvbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZHJvcC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvZHJvcGRvd24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL21vZGFsLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9saWdodGJveC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc2xpZGVzaG93LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zbGlkZXIuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3N0aWNreS5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvb2ZmY2FudmFzLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9zd2l0Y2hlci5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvbGVhZGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9pY29ubmF2LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9ub3RpZmljYXRpb24uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Rvb2x0aXAuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3BsYWNlaG9sZGVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wcm9ncmVzcy5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc29ydGFibGUuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvdW50ZG93bi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvYW5pbWF0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy93aWR0aC5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvaGVpZ2h0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90ZXh0LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9jb2x1bW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL2NvdmVyLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9iYWNrZ3JvdW5kLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9hbGlnbi5zY3NzIiwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL2NvbXBvbmVudHMvc3ZnLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy91dGlsaXR5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9mbGV4LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9tYXJnaW4uc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3BhZGRpbmcuc2NzcyIsIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy9jb21wb25lbnRzL3Bvc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy90cmFuc2l0aW9uLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy92aXNpYmlsaXR5LnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9pbnZlcnNlLnNjc3MiLCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvY29tcG9uZW50cy9wcmludC5zY3NzIiwidGhlbWUvX3Vpa2l0LW92ZXJyaWRlcy5zY3NzIiwicGFydHMvX2Zvb3Rlci5zY3NzIiwicGFydHMvX25hdmlnYXRpb24uc2NzcyIsImNvbXBvbmVudHMvX2JlbmVmaXRzbGlkZXIuc2NzcyIsImNvbXBvbmVudHMvX2N1cnJlbnRtZW1iZXJzLnNjc3MiLCJjb21wb25lbnRzL19jbGllbnRjYXJkLnNjc3MiLCJjb21wb25lbnRzL19zaXRlc2VhcmNoZm9ybS5zY3NzIiwiY29tcG9uZW50cy9fcG9wdXBtYWtlci5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyAxLiBZb3VyIGN1c3RvbSB2YXJpYWJsZXMgYW5kIHZhcmlhYmxlIG92ZXJ3cml0ZXMuXG5AaW1wb3J0IFwidGhlbWUvc24taGlzdG9yeS1zbGlkZXJcIjtcbkBpbXBvcnQgXCJ0aGVtZS92YXJpYWJsZXMtdGhlbWVcIjtcbkBpbXBvcnQgXCJ0aGVtZS9mYXFzXCI7XG5AaW1wb3J0IFwidGhlbWUvc2VhcmNoXCI7XG5AaW1wb3J0IFwidGhlbWUvYnV0dG9uXCI7XG5AaW1wb3J0IFwidGhlbWUvbmluamFmb3Jtc1wiO1xuQGltcG9ydCBcInRoZW1lL2J1dHRvblwiO1xuLy8gLi4uIGltcG9ydCBhbGxcbkBpbXBvcnQgXCJ0aGVtZS9jdXJ2ZXNcIjtcbi8vIHBhZ2VzXG5AaW1wb3J0IFwicGFnZXMvY29ycG9yYXRlXCI7XG5AaW1wb3J0IFwicGFnZXMvc3Rvcmllc1wiO1xuQGltcG9ydCBcInBhZ2VzL2NvbnRhY3RcIjtcbkBpbXBvcnQgXCJwYWdlcy9iZW5lZml0c1wiO1xuQGltcG9ydCBcInBhZ2VzL2Fib3V0dXNcIjtcbkBpbXBvcnQgXCJwYWdlcy9jYXJvdXNlbGhvbWVcIjtcbi8vIDIuIEltcG9ydCBkZWZhdWx0IHZhcmlhYmxlcyBhbmQgYXZhaWxhYmxlIG1peGlucy5cbkBpbXBvcnQgXCIuLi9ub2RlX21vZHVsZXMvdWlraXQvc3JjL3Njc3MvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vbm9kZV9tb2R1bGVzL3Vpa2l0L3NyYy9zY3NzL21peGluc1wiO1xuLy8gMy4gWW91ciBjdXN0b20gbWl4aW4gb3ZlcndyaXRlcy5cbi8vIDQuIEltcG9ydCBVSWtpdFxuQGltcG9ydCBcIi4uL25vZGVfbW9kdWxlcy91aWtpdC9zcmMvc2Nzcy91aWtpdFwiO1xuQGltcG9ydCBcInRoZW1lL3Vpa2l0LW92ZXJyaWRlc1wiO1xuLy8gcGFydHNcbkBpbXBvcnQgXCJwYXJ0cy9mb290ZXJcIjtcbkBpbXBvcnQgXCJwYXJ0cy9uYXZpZ2F0aW9uXCI7XG4vLyBjb21wb25lbnRzXG5AaW1wb3J0IFwiY29tcG9uZW50cy9iZW5lZml0c2xpZGVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jdXJyZW50bWVtYmVyc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY2xpZW50Y2FyZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvc2l0ZXNlYXJjaGZvcm1cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BvcHVwbWFrZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2JyZWFkY3J1bWJzXCI7XG4iLCIjc24taGlzdG9yeS1zbGlkZXIge1xuICAuc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICAgICY6aG92ZXIge1xuICAgICAgY3Vyc29yOiAtd2Via2l0LWdyYWI7XG4gICAgfVxuICB9XG4gIC5zbGlkZXIuZHJhZ2dpbmcge1xuICAgIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZyAhaW1wb3J0YW50O1xuICB9XG4gIC5zbGlkZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC50aW1lbGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDIyJTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAubWFya2VyLW91dHRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDBweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvd3AtY29udGVudC90aGVtZXMvc3VwcGx5LW5hdGlvbi10aGVtZS9pbWFnZXMvbGluZS5wbmcpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgei1pbmRleDogMTAwO1xuICB9XG5cbiAgLnJpZ2h0LWZhZGUge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcmlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTIwcHg7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC93cC1jb250ZW50L3RoZW1lcy9zdXBwbHktbmF0aW9uLXRoZW1lL2ltYWdlcy9mYWRlLnBuZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgfVxuXG4gIC5tYXJrZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICMwMjZlZjM7XG4gICAgLy8gZm9udC1mYW1pbHk6IFwiTXVzZW8gU2Fuc1wiO1xuICAgIGZvbnQtZmFtaWx5OiBcIm11c2VvLXNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB3aWR0aDogNTVweDtcbiAgICBoZWlnaHQ6IDU1cHg7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAubWFya2VyID4gKiB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgfVxuXG4gIC5tYXJrZXIgc3Bhbi5kYXRlIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cblxuICAubWFya2VyLmFjdGl2ZSA+ICosXG4gIC5tYXJrZXIuYWN0aXZlIHtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmxpbmUtYmcge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYigyMDMsIDIwOSwgMjI2KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDIwMywgMjA5LCAyMjYsIDAuNSk7XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94OyAvKiBmb3IgU2FmYXJpICovXG4gICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDsgLyogZm9yIElFOSssIEZpcmVmb3ggNCssIE9wZXJhLCBDaHJvbWUgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgLy8gaGVpZ2h0OiAxNXB4O1xuICB9XG4gIC5saW5lLWZnIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDUwcHg7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDUwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1MHB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDUwcHg7XG4gICAgYmFja2dyb3VuZDogIzAyNmVmMztcbiAgICBoZWlnaHQ6IDEzcHg7XG4gICAgd2lkdGg6IDBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICB9XG4gIC5zbi1oaXN0b3J5LWNhcmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBtYXgtd2lkdGg6IDY2MHB4O1xuICAgIG1hcmdpbjogNjBweCBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgyLCAxMTAsIDI0MywgMC4xKTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIH1cbiAgLnNuLWhpc3RvcnktY2FyZCAuZGVzY3JpcHRpb24ge1xuICAgIGNvbG9yOiAjNWU1ZTVlICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIGRpdi55ZWFyIGgxIHtcbiAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICM3MGFmZjkgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAwLjE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTVweDtcbiAgICBsZWZ0OiAxMDZweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTJweDtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG4gIH1cblxuICAuc24taGlzdG9yeS1jb250ZW50IHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICB9XG5cbiAgYnV0dG9uLm1hcmtlci5hY3RpdmU6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIGJ1dHRvbi5tYXJrZXIge1xuICAgIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLy8gZW5kIG9mIGhpc3Rvcnkgc2xpZGVyXG4iLCJAaW1wb3J0IFwiLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc3BvbmQtdG8tbWl4aW4vcmVzcG9uZC10b1wiO1xuXG4vLyBDT0xPUlNcbiRzbi1wcmltYXJ5OiAjZGMwYjQwO1xuJHNuLXBhbGUtYmx1ZTogI2Y1ZjlmZTtcbiRzbi1zZWNvbmRhcnk6ICNmZmY7XG4kc24tYmx1ZTogIzNhOTdiNTtcbiRzbi1ibHVlLWJyaWdodDogIzAyNmVmMztcbiRzbi1ibHVlLWdyYXk6ICMzZDQ4NTc7XG4kc24tb3JhbmdlOiAjZjU4MjFmO1xuJHNuLXBpbms6ICNlZDY4OGE7XG5cbi8vIEdMT0JBTFNcbiRnbG9iYWwtY29sb3I6ICM1ZTVlNWU7XG4kYmFzZS1ib2R5LWNvbG9yOiAkZ2xvYmFsLWNvbG9yO1xuJGJhc2UtaGVhZGluZy1jb2xvcjogJGdsb2JhbC1jb2xvcjtcbiRuYXZiYXItbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtY29sb3I7XG4kZ2xvYmFsLWZvbnQtZmFtaWx5OiBcIm11c2VvLXNhbnNcIiwgc2Fucy1zZXJpZjtcbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBzYW5zLXNlcmlmO1xuLy8gJGJhc2UtaGVhZGluZy1mb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG5cbiRnbG9iYWwteHhsYXJnZS1mb250LXNpemU6IDQuNXJlbTtcbiRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZTogMi4yNXJlbTtcbiRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplOiAxNHB4O1xuJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQ6ICRzbi1wcmltYXJ5O1xuJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZDogJHNuLXNlY29uZGFyeTtcblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyBGb3JtXG4kZm9ybS1iYWNrZ3JvdW5kOiB3aGl0ZSAhZGVmYXVsdDtcbiRmb3JtLWNvbG9yOiAjM2IzYjNiICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtYmFja2dyb3VuZDogd2hpdGUgIWRlZmF1bHQ7XG4kZm9ybS1mb2N1cy1jb2xvcjogIzNiM2IzYiAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctdmVydGljYWw6IDEwcHggIWRlZmF1bHQ7XG4kZm9ybS1ib3JkZXItd2lkdGg6IDAgIWRlZmF1bHQ7XG5cbi8vIFRZUE9HUkFQSFlcbmgxLFxuaDIsXG5oMyxcbmg0IHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cbmgxIHtcbiAgY29sb3I6ICM0YzRjNGMgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDJyZW07XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBmb250LXNpemU6IDQuNXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnVrLWNvbnRhaW5lciBvbCB7XG4gIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbn1cbi51ay1jb250YWluZXIgdWwge1xuICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG59XG5cbmgyLFxuaDMge1xuICBjb2xvcjogIzRjNGM0YyAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XG59XG5cbmgzIHtcbiAgY29sb3I6ICM0YzRjNGMgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuXG5wIHtcbiAgbGluZS1oZWlnaHQ6IDMwcHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbi5sZWFkLXBhcmFncmFwaCB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbn1cblxuLnRpdGxlLXJlZCB7XG4gIGNvbG9yOiAkc24tcHJpbWFyeTtcbn1cblxuLnBlcmtzLWRlc2NyaXB0aW9uIHtcbiAgc3Ryb25nIHtcbiAgICBjb2xvcjogJHNuLXByaW1hcnk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxufVxuLnVrLWJveC1zaGFkb3ctc21hbGwge1xuICBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMiwgMTEwLCAyNDMsIDAuMSkgIWltcG9ydGFudDtcbn1cbi51ay1jYXJkLWRlZmF1bHQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAvLyBib3gtc2hhZG93OiAwIDVweCAxNXB4IHJnYmEoMCwgMCwgMCwgMC4wOCk7XG4gIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgyLCAxMTAsIDI0MywgMC4xKTtcbiAgLy8gYm9yZGVyLXJhZGl1czogMTBweDtcbn1cbi8vIEJVVFRPTlNcblxuJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodDogNTNweCAhaW1wb3J0YW50O1xuXG4kYnV0dG9uLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogNDBweCAhaW1wb3J0YW50O1xuJGJ1dHRvbi1sYXJnZS1mb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiRidXR0b24tcHJpbWFyeS1jb2xvcjogJHNuLXNlY29uZGFyeSAhaW1wb3J0YW50O1xuJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICRzbi1wcmltYXJ5ICFpbXBvcnRhbnQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAkc24tcHJpbWFyeTtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAkc24tc2Vjb25kYXJ5ICFpbXBvcnRhbnQ7XG5cbi8vIElDT04gTElOS1NcbmEudWstaWNvbiB7XG4gIGNvbG9yOiAkc24tcHJpbWFyeTtcbiAgOmhvdmVyIHtcbiAgICBjb2xvcjogZGFya2VuKCRzbi1wcmltYXJ5LCA1JSk7XG4gIH1cbn1cblxuLnVrLWNvbnRhaW5lci0tbGFyZ2Uge1xuICBtYXgtd2lkdGg6IDEyMDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG4udWstY29udGFpbmVyLS1zbWFsbCB7XG4gIG1heC13aWR0aDogNzgwcHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiAwIDMwcHg7XG59XG4udWstY29udGFpbmVyLS14LXNtYWxsIHtcbiAgbWF4LXdpZHRoOiA2MDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDAgMzBweDtcbn1cblxuLnVrLWdyaWQtc21hbGwge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLnNlY3Rpb24tYmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL3RoZW1lcy9zdXBwbHktbmF0aW9uLXRoZW1lL2ltYWdlcy9zZWN0aW9uLWJhY2tncm91bmQucG5nXCIpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHdpZHRoOiA2MzFweDtcbiAgICBoZWlnaHQ6IDU3NnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMTYwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLnNlY3Rpb24tYmFja2dyb3VuZC0tcmlnaHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICY6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi90aGVtZXMvc3VwcGx5LW5hdGlvbi10aGVtZS9pbWFnZXMvc2VjdGlvbi1iYWNrZ3JvdW5kLS1yaWdodC5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgd2lkdGg6IDE2OXB4O1xuICAgIGhlaWdodDogNDEzcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG4jYmVuZWZpdHMge1xuICAuc2VjdGlvbi1iYWNrZ3JvdW5kIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBsZWZ0OiAtNzVweDtcbiAgICB9XG4gIH1cbn1cblxuLnVrLWJ1dHRvbi1sYXJnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiBcIm11c2VvLXNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHggIWltcG9ydGFudDtcbiAgYm9yZGVyOiAxcHggc29saWQgJHNuLXByaW1hcnkgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDI1NSwgMTAsIDEwLCAwLjIpICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAhaW1wb3J0YW50O1xuXG4gICY6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDMwcHggcmdiYSgyNTUsIDEwLCAxMCwgMC4yKSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vIExBWU9VVFxuJGNvbnRhaW5lci1tYXgtd2lkdGg6IDk0NXB4O1xuJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRzbi1wYWxlLWJsdWU7XG5cbi8vIE5BVkJBUlxuJG5hdmJhci1iYWNrZ3JvdW5kOiAjZmZmO1xuLnVrLW5hdmJhci1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMTZweDtcbn1cblxuLnVrLXN0aWNreS1maXhlZCB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIGJveC1zaGFkb3c6IDAgM3B4IDZweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi8vIGZvb3Rlclxuc3Bhbi51ay1pY29uOm5vdCguc24tc2VhcmNoLWljb24pIHtcbiAgYmFja2dyb3VuZDogIzNmOThiNjtcbiAgcGFkZGluZzogOHB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBjb2xvcjogd2hpdGU7XG4gIHdpZHRoOiAzNnB4ICFpbXBvcnRhbnQ7XG59XG5cbi51ay1uYXZiYXItLWZvb3RlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG4uc24tZm9vdGVyLW5hdiB7XG4gIHAge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG4gICYtLW5hdiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuXG4gICYtLXNvY2lhbCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICBwYWRkaW5nLXRvcDogNDBweDtcbiAgICB9XG5cbiAgICB1bCBsaSB7XG4gICAgICBtYXJnaW46IDAgMCAwIDhweDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbiRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDogI2ZmZjtcblxuLy8gTk9UIFVJS0lUIC0gV09SRFBSRVNTIE1FTlUgQ1VSUkVOVCBJVEVNXG5saS5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICBjb2xvcjogJHNuLXByaW1hcnkgIWltcG9ydGFudDtcbn1cblxuc2VjdGlvbiNob21lLWhlcm8sXG5zZWN0aW9uI2hvbWUtc2xpZGVyIHtcbiAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xufVxuXG5zZWN0aW9uI2hvbWUtc2xpZGVyIHtcbiAgLnVrLWNvdmVyIHtcbiAgICB0b3A6IDUwJTtcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuc2VjdGlvbiNwb3B1bGFyLWNhdGVnb3JpZXMge1xuICAudWstY2FyZCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIHdpZHRoOiAyNjBweDtcbiAgICB9XG4gIH1cbn1cblxuc2VjdGlvbiNob21lLWhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAkc24tc2Vjb25kYXJ5O1xufVxuXG4uaG9tZS1oZXJvLS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgcGFkZGluZy1ib3R0b206IDMwcHggIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDoge1xuICAgIGltYWdlOiB1cmwoaW1hZ2VzL2hvbWUtYmFubmVyLWJnLWRvdHMucG5nKTtcbiAgICBzaXplOiA4OHB4IDE3NHB4O1xuICAgIHJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gIH1cbiAgQGluY2x1ZGUgcmVzcG9uZC10bygkdG86IFwibWVkaXVtXCIpIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBoZWlnaHQ6IDYwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgfVxufVxuXG4uaG9tZS1oZXJvLS1jb250ZW50IHtcbiAgbWFyZ2luOiAyMHB4IDIwcHggMDtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgbWFyZ2luOiA2MHB4IDYwcHggMDtcbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IDIuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiA0cmVtO1xuICAgIH1cbiAgfVxuXG4gIHAge1xuICAgIG1heC13aWR0aDogNjVjaDtcbiAgfVxufVxuXG4uc24taG9tZS1zZWFyY2gge1xuICAuc24taW5wdXQtYnV0dG9uIHtcbiAgICAvLyBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC8vICAgYm90dG9tOiA0MHB4O1xuICAgIC8vICAgaGVpZ2h0OiA3MnB4ICFpbXBvcnRhbnQ7XG4gICAgLy8gfVxuICB9XG59XG4jc24taG9tZS1zZWFyY2ggLnNuLWlucHV0LWJ1dHRvbiB7XG4gIC8vIEBtZWRpYSBzY3JlZW4gYW5kICh3aWR0aDogNzY4cHgpIHtcbiAgLy8gICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgLy8gICBib3R0b206IDMwcHggIWltcG9ydGFudDtcbiAgLy8gICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgLy8gICByaWdodDogNTZweCAhaW1wb3J0YW50O1xuICAvLyB9XG5cbiAgLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLy8gICB0b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgLy8gICBib3R0b206IDMwcHggIWltcG9ydGFudDtcbiAgLy8gICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgLy8gfVxufVxuI3NuLWhvbWUtc2VhcmNoICNzbi1pbnB1dC1xdWVyeSxcbiNzbi1ob21lLXNlYXJjaCAjc24taW5wdXQtbG9jYXRpb24ge1xuICBmb250LXdlaWdodDogMzAwO1xuICBwYWRkaW5nOiAyNXB4IDA7XG59XG4uaW5wdXRfX2ZpZWxkIHtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDI4cHggNDNweCByZ2JhKDAsIDAsIDAsIDAuMTEpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RhZTVmNiAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMjVweCA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuI3NuLWhvbWUtc2VhcmNoIHNwYW4uaW5wdXQuaW5wdXQtLXNuIHtcbiAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICB6LWluZGV4OiAxICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgYm94LXNoYWRvdzogMCAyOHB4IDQzcHggcmdiYSgwLCAwLCAwLCAwLjExKSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogNzJweDtcbiAgICBtYXgtd2lkdGg6IDYxNnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gICAgcGFkZGluZzogMHB4IDQwcHggIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG8gIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkYWU1ZjYgIWltcG9ydGFudDtcbiAgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI1cHgpIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgIHBhZGRpbmc6IDdweCAwIDdweCAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogd2hpdGUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uY2F0ZWdvcnktY2Fyb3VzZWwge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50O1xuICBvdmVyZmxvdzogYXV0bztcbiAgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICBmbGV4LXdyYXA6IHdyYXAgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuXG4jY3VydmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIC8vIHdpZHRoOiAxMDAlO1xuICAvL2hlaWdodDogOThweDtcbiAgYm90dG9tOiAtMnB4O1xuICBsZWZ0OiAtMnB4O1xuICByaWdodDogMDtcbiAgcGFkZGluZzowO1xuICBwb2ludGVyLWV2ZW50czpub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgLy8gbWFyZ2luOiBhdXRvO1xufVxuXG5zZWN0aW9uI3N1Ym1lbnUge1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRyYW5zaXRpb246IGFsbCAwLjMgZWFzZTtcblxuICAmLnVrLXN0aWNreS1maXhlZCB7XG4gICAgYmFja2dyb3VuZDogd2hpdGUgIWltcG9ydGFudDtcbiAgfVxuXG4gIGxpIHtcbiAgICBwYWRkaW5nOiAyMHB4IDI0cHggMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zIGVhc2U7XG4gICAgLy9ib3JkZXItYm90dG9tOiA0cHggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIGxpLnVrLWFjdGl2ZSB7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRzbi1wcmltYXJ5O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgfVxuICB9XG59XG5cbmZvb3RlciB7XG4gIGJveC1zaGFkb3c6IDAgLTVweCAxMHB4IHJnYmEoMiwgMTEwLCAyNDMsIDAuMSk7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xufVxuXG4uZmFrZS1zaGFkb3cge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDBweDtcbiAgYm94LXNoYWRvdzogMCAtNHB4IDEwcHggcmdiYSgyLCAxMTAsIDI0MywgMC4xKTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmOGY4Zjg7XG59XG5cbi8vIEJFTkVGSVRTIFBBR0Vcbi5iZW5lZml0cy1jYXJkIHtcbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogJHNuLWJsdWUgIWltcG9ydGFudDtcbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuXG5zZWN0aW9uI3NpbmdsZS1zdG9yeS1oZWFkZXIge1xuICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgYmFja2dyb3VuZDogJHNuLXBhbGUtYmx1ZTtcbn1cblxuc2VjdGlvbiNzaW5nbGUtc3RvcnktY29udGVudC0xIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuc2VjdGlvbiNzaW5nbGUtc3RvcnktY29udGVudC0yIHtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogJHNuLXBhbGUtYmx1ZTtcbiAgaDMge1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zaW5nbGUtc3RvcnktdmlkZW8ge1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuXG4uc2luZ2xlLXN0b3J5LXZpZGVvID4gKiB7XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG59XG5cbnNlY3Rpb24jc3RvcnktbmV4dC1zdG9yeSB7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxufVxuXG5hLnN0b3J5LXNsaWRlc2hvdy1uYXYsXG5hLnRlYW0tc2xpZGVyLW5hdiB7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgY29sb3I6ICRzbi1wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICBtYXJnaW4tdG9wOiA0MHB4O1xufVxuYS50ZWFtLXNsaWRlci1uYXYge1xuICBtYXJnaW46IDIwcHg7XG59XG5cbmEudGVhbS1zbGlkZXItbmF2LnVrLWludmlzaWJsZSB7XG4gIG9wYWNpdHk6IDAuMSAhaW1wb3J0YW50O1xufVxuXG4vLyBzbGlkZSBzaG93IGhvbWVcbi5zbi1wcmV2ID4gKixcbi5zbi1uZXh0ID4gKiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbi1wcmV2OmhvdmVyLFxuLnNuLW5leHQ6aG92ZXIge1xuICAvL3RyYW5zZm9ybTogc2NhbGUoMS4xKSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1cHgsIDBweCk7XG59XG5cbi5zbi1wcmV2IHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vdGhlbWVzL3N1cHBseS1uYXRpb24tdGhlbWUvaW1hZ2VzL3ByZXYuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi5zbi1uZXh0IHtcbiAgb3BhY2l0eTogMTtcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vdGhlbWVzL3N1cHBseS1uYXRpb24tdGhlbWUvaW1hZ2VzL25leHQuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbmEudWstcG9zaXRpb24tc21hbGwuc24tcHJldi51ay1zbGlkZW5hdi1wcmV2aW91cy51ay1pY29uLnVrLXNsaWRlbmF2LnVrLWludmlzaWJsZSxcbmEudWstcG9zaXRpb24tc21hbGwuc24tbmV4dC51ay1zbGlkZW5hdi1uZXh0LnVrLWljb24udWstc2xpZGVuYXYudWstaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwLjEgIWltcG9ydGFudDtcbn1cblxuc2VjdGlvbiNhYm91dC1pbnRybyB7XG4gIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICMzYjNiM2IgIWltcG9ydGFudDtcbiAgfVxufVxuXG4udGVhbS1zd2l0Y2hlcnMge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogNzVweDtcbn1cblxuLnRlYW0tbWVtYmVyLWNhcmQge1xuICBoZWlnaHQ6IDMwMHB4O1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMzBweDtcbiAgLnRlYW0tbWVtYmVyLW5hbWUge1xuICAgIGNvbG9yOiAjZWQ2ODhhO1xuICAgIGZvbnQtZmFtaWx5OiBcIm11c2VvLXNhbnNcIjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbiAgfVxuICAudGVhbS1tZW1iZXItcG9zaXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgY29sb3I6ICMzYjNiM2I7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcIm11c2VvLXNhbnNcIjtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcbiAgfVxuICAudGVhbS1tZW1iZXItcGljdHVyZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE3N3B4O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIH1cbn1cblxuc2VjdGlvbiN0ZWFtLnVrLXNsaWRlci1pdGVtcyA+ICoge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuXG4uYWJvdXQtcGFnZS1saSBwIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5zZWN0aW9uI3Byb2ZpbGUtc2VsZWN0aW9uIHtcbiAgLnVrLWNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA3ODBweDtcbiAgICAudWstY2FyZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBwYWRkaW5nOiA0MHB4IDQwcHggMjBweDtcbiAgICAgIC51ay1jYXJkLXRpdGxlIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgfVxuICAgICAgYS5zbi1uZXh0IHtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4IDUwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5yZWQtb2NocmUtcGFydG5lci1pbWFnZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMHB4O1xuICB6LWluZGV4OiAyO1xuICB0b3A6IC0xNnB4O1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IGF1dG87XG59XG5cbnNlY3Rpb24jcGVya3Mge1xuICBwYWRkaW5nLXRvcDogODBweDtcblxuICAudWstY2FyZC1ib2R5IHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICB9XG4gIC51ay1jYXJkLWRlZmF1bHQge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIH1cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuc2VjdGlvbiNyZWdpc3RyYXRpb24ge1xuICAudWstY2FyZC1kZWZhdWx0IHtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICB9XG59XG4uc3VwcGxpZXItbGV2ZWxzLWxpbmUge1xuICBkaXNwbGF5OiBub25lO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIHdpZHRoOiA0NzNweDtcbiAgbWFyZ2luOiAzMHB4IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICBkaXYge1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgaGVpZ2h0OiA0NXB4O1xuICAgIGJvcmRlci1jb2xvcjogJHNuLWJsdWUtYnJpZ2h0O1xuICAgIGJvcmRlci1zdHlsZTogZGFzaGVkO1xuICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIGJvcmRlci13aWR0aDogMCAxcHggMCAwO1xuICAgIH1cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDAgMCAxcHg7XG4gICAgfVxuICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDA7XG4gICAgfVxuICB9XG59XG5zZWN0aW9uI3N1cHBsaWVyLWJlbmVmaXRzIHtcbiAgLnN1cHBsaWVyLWJlbmVmaXRzLS10YWJzIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC50YWIge1xuICAgICAgYmFja2dyb3VuZDogJHNuLXByaW1hcnk7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTI1cHg7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMHB4O1xuICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDEwcHg7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHNuLW9yYW5nZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHVsOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgcmdiYSgyMTcsIDMwLCA2MywgMC4zKTtcbiAgICByaWdodDogMTI1cHg7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuICB1bDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvcmRlci1yaWdodDogMXB4IGRhc2hlZCByZ2JhKDIxNywgMzAsIDYzLCAwLjMpO1xuICAgIHJpZ2h0OiAyNTBweDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIGxpLnN1cHBsaWVyLWJlbmVmaXQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaXN0LXN0eWxlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMzVweCAwIDIwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMC41cHggc29saWQgcmdiYSg2MywgMTUyLCAxODIsIDAuMyk7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuc3VwcGxpZXItZGVzYyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyODBweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1heC13aWR0aDogNTg2cHg7XG4gICAgICAvLyBtYXJnaW4tbGVmdDogMzBweDtcbiAgICB9XG4gICAgLmNoZWNrLW1hcmstLXJlZyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgICAuY2hlY2stbWFyay0tcmVnID4gaW1nIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gICAgLmNoZWNrLW1hcmstLWNlcnQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgIGhlaWdodDogMTIwcHg7XG4gICAgICByaWdodDogMTM1cHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICAgIC5jaGVjay1tYXJrLS1jZXJ0ID4gaW1nIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuc2VjdGlvbiNiZW5lZml0cyB7XG4gIHVsOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkYXNoZWQgcmdiYSg2MywgMTUyLCAxODIsIDAuMyk7XG4gICAgcmlnaHQ6IDEyNXB4O1xuICAgIHRvcDogMTZweDtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDQycHgpO1xuICB9XG4gIGxpLmNvcnBvcmF0ZS1iZW5lZml0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDM1cHggMCAyMHB4O1xuICAgIGJvcmRlci1ib3R0b206IDAuNXB4IHNvbGlkIHJnYmEoNjMsIDE1MiwgMTgyLCAwLjMpO1xuXG4gICAgLmNvcnBvcmF0ZS1kZXNjIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEyMHB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWF4LXdpZHRoOiA1ODZweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIH1cbiAgICAuY2hlY2stbWFyayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgICAuY2hlY2stbWFyayA+IGltZyB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICB9XG59XG5cbiNldmVudHMge1xuICBoMy51ay1jYXJkLXRpdGxlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMjVweDtcbiAgfVxufVxuXG5zZWN0aW9uI2J1c2luZXNzLWdyb3d0aCB7XG4gIC5zbi1pbmZvLWNhcmQge1xuICAgIGJveC1zaGFkb3c6IDBweCAyMHB4IDgwcHggcmdiYSgxMywgMzQsIDYzLCAwLjEpO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogOTdweDtcblxuICAgIC51ay1jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDE1NHB4KTtcbiAgICAgICAgbGVmdDogODUlO1xuICAgICAgICB3aWR0aDogMTk5cHg7XG4gICAgICAgIGhlaWdodDogMzA3cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcImltYWdlcy9jYXJkLXBvcG91dC5wbmdcIikgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlci9jb250YWluO1xuICAgICAgfVxuXG4gICAgICAudWstY2FyZC1ib2R5IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIC51ay1jYXJkID4gOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIH1cbiAgfVxufVxuXG5zZWN0aW9uI2pvaW4ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvam9pbi1iYWNrZ3JvdW5kLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgNzVweDtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xufVxuXG5zZWN0aW9uI3Byb2ZpbGUtc2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3NlY3Rpb24tYmFja2dyb3VuZC0tcmlnaHQucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMDBweDtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuXG4gIC51ay1jb250YWluZXIgLnVrLWNhcmQge1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgyLCAxMTAsIDI0MywgMC4xKTtcbiAgfVxufVxuXG5zZWN0aW9uI2NvcnBvcmF0ZS1pbnRybyxcbnNlY3Rpb24jc3Rvcmllcy1vZi1zdWNjZXNzLWludHJvLFxuc2VjdGlvbiNzdXBwbGllci1pbnRybyxcbnNlY3Rpb24jYWJvdXQtaW50cm8ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJpbWFnZXMvaW50cm8tYmFja2dyb3VuZC5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMTAwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbn1cblxuc2VjdGlvbiN0b29scyxcbnNlY3Rpb24jc3Rvcmllcy1ncmlkIHtcbiAgYmFja2dyb3VuZDogJHNuLXBhbGUtYmx1ZTtcbn1cblxuc2VjdGlvbiNzdG9yaWVzIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbnNlY3Rpb24jc2luZ2xlLXN0b3J5LWhlYWRlciB7XG4gIHBhZGRpbmctdG9wOiA1NXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaW1hZ2VzL3N1Y2Nlc3Mtc3RvcnktaW50cm8tYmFja2dyb3VuZC5wbmdcIik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDgwJTtcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gMTUwJTtcbiAgfVxufVxuXG5zZWN0aW9uI2V2ZW50cyB7XG4gIC5wYWxlYmx1ZS1hbnktY3VydmUgKyAmIHtcbiAgICAudWstY2FyZCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLXRvcDogOXZ3O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDBweCAwcHggMTAuNjZ2dztcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgI2U1ZTVlNSA0MCUsIHdoaXRlIDEwMCUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5zZWN0aW9uI3N0b3JpZXMtZ3JpZCB7XG4gIC51ay10ZXh0LWNlbnRlciB7XG4gICAgcCB7XG4gICAgICBtYXJnaW46IDBweDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuc2VjdGlvbiN0ZWFtLFxuc2VjdGlvbiNzdG9yaWVzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLyBTdG9yaWVzIG9mIFN1Y2Nlc3MgQmFjayBCdXR0b25cbiNzaW5nbGUtc3RvcnktaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc24tYmFjayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgLnVrLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIGEge1xuICAgIGNvbG9yOiAkc24tcHJpbWFyeTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJHNuLWJsdWU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgaSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL3N1cHBseS1uYXRpb24tdGhlbWUvaW1hZ2VzL25leHQuc3ZnXCIpXG4gICAgICBuby1yZXBlYXQgY2VudGVyO1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNuLWJsdWU7XG4gICAgdG9wOiAwO1xuICAgIGEge1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkc24tcHJpbWFyeTtcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB9XG4gICAgfVxuICAgIGkge1xuICAgICAgYmFja2dyb3VuZDogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL3N1cHBseS1uYXRpb24tdGhlbWUvaW1hZ2VzL25leHQtd2hpdGUuc3ZnXCIpXG4gICAgICAgIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIExvZ2luXG5zZWN0aW9uI2xvZ2luLXNlbGVjdGlvbiB7XG4gIC51ay1jb250YWluZXIge1xuICAgIG1heC13aWR0aDogNDAwcHg7XG4gIH1cbn1cblxuLy9tZW51XG4jbWVudS1oZWFkZXItbWVudS1yaHMge1xuICAjbWVudS1pdGVtLTY0NTEge1xuICAgIGEge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lO1xuICAgICAgICBjb250ZW50OiBcIlxcZjAwMlwiO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1hc2staW1hZ2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDExO1xufVxuXG4ubWFzay1wYWRkaW5nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDtcbiAgYm9yZGVyOiA2cHggc29saWQgd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDEpO1xufVxuXG4jc3RvcnktbmV4dC1zdG9yeSB7XG4gIC51ay1jb3Zlci1jb250YWluZXIge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICBoZWlnaHQ6IDIzMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gYnJlYWtwb2ludCBtYXBcbiRicmVha3BvaW50czogKFxuXHQnc21hbGwnIDogNjAwcHgsXG5cdCdtZWRpdW0nOiA5NjBweCxcblx0J2xhcmdlJyA6IDEyMDBweFxuKTtcblxuLy8gcmVzcG9uc2l2ZSBtYW5hZ2VyXG4vLyBAZGVmaW5lICAgICAgICAgICAgICAgIHttaXhpbn0gdXNlZCB0byBwcm92aWRlIGNsZWFuZXIgbWV0aG9kIG9mIGFjY2Vzc2luZyBicmVha3BvaW50c1xuLy8gQHBhcmFtIEByZXF1aXJlZCAkYXJncyB7bWFwfSAgICAgICAgICAgICAgICAoJGZyb206IF8sICR0bzogXywgJG1lZGlhLXR5cGU6IF8pXG4vLyBAcGFyYW0gJG1lZGlhLXR5cGUgICAgIHtTdHJpbmd9ICAgICAgICAgICAgIChhbGwgfCBwcmludCB8IHNjcmVlbiB8IHNwZWVjaClcbi8vIEBwYXJhbSAkZnJvbSAgICAgICAgICAge1N0cmluZywgY3NzVmFsdWV9ICAgbWluLXdpZHRoXG4vLyBAcGFyYW0gJHRvICAgICAgICAgICAgIHtTdHJpbmcsIGNzc1ZhbHVlfSAgIG1heC13aWR0aFxuLy8gQGV4YW1wbGUgXG4vLyAgICAjbXlFbGVtZW50IHtcbi8vICAgICAgIHdpZHRoOiA1MDBweCAvLyBkZWZhdWx0XG4vLyAgICAgICBAaW5jbHVkZSByZXNwb25kLXRvKCR0bzogJ3NtYWxsJykgeyB3aWR0aDogMzAwcHggfSAvLyByZXNwb25zaXZlIGZyb20gMCB0byAnc21hbGwnIGJyZWFrcG9pbnRcbi8vICAgIH1cbkBtaXhpbiByZXNwb25kLXRvKCRhcmdzLi4uKSB7XG4gICAvLyBkZWZpbmUgZGVmYXVsdHNcbiAgICRhcmdzOiBrZXl3b3JkcygkYXJncyk7XG4gICAkZnJvbTogMHB4O1xuICAgJG1lZGlhLXR5cGU6ICdzY3JlZW4nO1xuICAgJHRvOiAwcHg7XG5cbiAgIC8vIGZpbmQgaWYgdXNpbmcgZGlmZmVyZW50IG1lZGlhIHR5cGVcbiAgIEBpZiBtYXAtaGFzLWtleSgkYXJncywgJ21lZGlhLXR5cGUnKSB7XG4gICAgICAkbWVkaWEtdHlwZTogbWFwLWdldCgkYXJncywgJ21lZGlhLXR5cGUnKTtcbiAgICAgICRhcmdzOiBtYXAtcmVtb3ZlKCRhcmdzLCAkbWVkaWEtdHlwZSk7XG4gICB9ICAgXG4gICAvLyBmaW5kIG1pbi13aWR0aFxuICAgQGlmIG1hcC1oYXMta2V5KCRhcmdzLCAnZnJvbScpIHtcbiAgICAgICRmcm9tOiBtYXAtZ2V0KCRhcmdzLCAnZnJvbScpO1xuICAgICAgJGFyZ3M6IG1hcC1yZW1vdmUoJGFyZ3MsICdmcm9tJyk7XG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkZnJvbSkge1xuICAgICAgICAgLy8gdXNpbmcgZGVmYXVsdCBicmVha3BvaW50XG4gICAgICAgICAkZnJvbTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRmcm9tKTtcbiAgICAgICAgIC8vIHByZXZlbnQgbWVkaWEgcXVlcnkgb3ZlcmxhcFxuICAgICAgICAgJGZyb206ICRmcm9tICsgMXB4O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAgLy8gdXNpbmcgY3VzdG9tIGJyZWFrcG9pbnRcbiAgICAgICAgIEBpZiB0eXBlLW9mKCRmcm9tKT09J3N0cmluZycge1xuICAgICAgICAgICAgQGVycm9yICdQcm92aWRlZCBzdHJpbmcgdGhhdCBkb2VzbmB0IGV4aXN0IGluIGJyZWFrcG9pbnQgbWFwLic7XG4gICAgICAgICB9XG4gICAgICAgICBAd2FybiAnVXNpbmcgY3VzdG9tIG1lZGlhIHF1ZXJ5LCBpdGBzIGJlc3QgdG8gb25seSBjaGFuZ2UgY29udGVudCBhdCBzZXQgYnJlYWtwb2ludHMuJztcbiAgICAgIH1cbiAgIH1cbiAgIC8vIGZpbmQgbWF4LXdpZHRoXG4gICBAaWYgbWFwLWhhcy1rZXkoJGFyZ3MsICd0bycpIHtcbiAgICAgICR0bzogbWFwLWdldCgkYXJncywgJ3RvJyk7XG4gICAgICAkYXJnczogbWFwLXJlbW92ZSgkYXJncywgJ3RvJyk7XG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdG8pIHtcbiAgICAgICAgIC8vIHVzaW5nIGRlZmF1bHQgYnJlYWtwb2ludFxuICAgICAgICAgJHRvOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHRvKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgIC8vIHVzaW5nIGN1c3RvbSBicmVha3BvaW50XG4gICAgICAgICBAaWYgdHlwZS1vZigkdG8pPT0nc3RyaW5nJyB7XG4gICAgICAgICAgICBAZXJyb3IgJ1Byb3ZpZGVkIHN0cmluZyB0aGF0IGRvZXNuYHQgZXhpc3QgaW4gYnJlYWtwb2ludCBtYXAuJztcbiAgICAgICAgIH1cbiAgICAgICAgIEB3YXJuICdVc2luZyBjdXN0b20gbWVkaWEgcXVlcnksIGl0YHMgYmVzdCB0byBvbmx5IGNoYW5nZSBjb250ZW50IGF0IHNldCBicmVha3BvaW50cy4nO1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgI3skbWVkaWEtdHlwZX0gYW5kIChtaW4td2lkdGg6ICN7JGZyb219KSBhbmQgKG1heC13aWR0aDogI3skdG99KSB7XG4gICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgIH1cbiAgIEBlbHNlIHtcbiAgICAgIEBpZiAkZnJvbSA9PSAwcHggYW5kICR0byA9PSAwcHgge1xuICAgICAgICAgLy8gZGlkbid0IHNldCB2YWx1ZXMsIG9yIG1ha2luZyBhIHNjcmVlbiB0eXBlIG1lZGlhIHF1ZXJ5XG4gICAgICAgICBAd2FybiAnbWluIGFuZCBtYXggd2lkdGhzIGFyZSBzZXQgdG8gMCBvciB3ZXJlbmB0IHByb3ZpZGVkLiBBcmUgeW91IHN1cmUgeW91IHdhbnRlZCB0byBqdXN0IG1ha2UgYSBAbWVkaWEge3NjcmVlbi10eXBlfSB7fSBxdWVyeT8nO1xuICAgICAgICAgQG1lZGlhICN7JG1lZGlhLXR5cGV9IHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAgLy8gbWVkaWEgcXVlcnkgc2hvdWxkIG9ubHkgaGF2ZSBtaW4td2lkdGhcbiAgICAgICAgIEBtZWRpYSAjeyRtZWRpYS10eXBlfSBhbmQgKG1pbi13aWR0aDogI3skZnJvbX0pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgfVxuICAgICAgfSAgICBcbiAgIH1cbn1cbiIsIlxuICAvKiBBY29yZGVvbiBzdHlsZXMgKi9cbi5hY2NvcmRpb24ge1xuICAudGFiIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDQkQxRTI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogOHB4IDA7XG4gIH1cbiAgaW5wdXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG4gIGxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMzBweCA4MHB4IDMwcHggMDtcbiAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG4gIC50YWItY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogbWF4LWhlaWdodCAuMzVzO1xuICAgIC1vLXRyYW5zaXRpb246IG1heC1oZWlnaHQgLjM1cztcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IC4zNXM7XG5cbiAgfVxuICAudGFiLWNvbnRlbnQgcCB7XG4gICAgbWFyZ2luOiAwO1xuXG4gIH1cbiAgLyogOmNoZWNrZWQgKi9cbiAgaW5wdXQ6Y2hlY2tlZCB+IC50YWItY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogMTAwZW07XG4gIH1cbiAgLyogSWNvbiAqL1xuICBsYWJlbDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNjBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDI2RUYzO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBjb2xvcjogIzAyNkVGMztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4zNXM7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zNXM7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zNXM7XG4gIH1cbiAgaW5wdXRbdHlwZT1jaGVja2JveF0gKyBsYWJlbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiK1wiO1xuICB9XG4gIGlucHV0W3R5cGU9cmFkaW9dICsgbGFiZWw6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcMjVCQ1wiO1xuICB9XG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdOmNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICAgIC8vIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIH1cbiAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIGxhYmVsOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgfVxufSIsIiNzbi1ob21lLXNlYXJjaCwgI3NuLW1lbWJlcnMtc2VhcmNoIHtcbiAgICBzcGFuLmlucHV0LmlucHV0LS1zbiB7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBib3gtc2hhZG93OiAwIDI4cHggNDNweCByZ2JhKDAsIDAsIDAsIDAuMTEpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGhlaWdodDogNzJweDtcbiAgICAgICAgbWF4LXdpZHRoOiA2MTZweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICBwYWRkaW5nOiAwcHggNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBtYXJnaW46IDIwcHggYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGFlNWY2O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dDpmb2N1c3tcbiAgICAgICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNzbi1pbnB1dC1xdWVyeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibXVzZW8tc2Fuc1wiO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHdpZHRoOiA2NSU7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICAgICAgY29sb3I6IHJnYmEoNTksIDU5LCA1OSwgMC43KSAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYyg2NSUgLSAzM3B4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNzbi1pbnB1dC1sb2NhdGlvbiB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2VlZjVmZiAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI2cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwibXVzZW8tc2Fuc1wiO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGNvbG9yOiByZ2JhKDU5LCA1OSwgNTksIDAuNykgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc24taW5wdXQtYnV0dG9uOm5vdCgudWstYnV0dG9uLXByaW1hcnkpIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiL3dwLWNvbnRlbnQvdGhlbWVzL3N1cHBseS1uYXRpb24tdGhlbWUvaW1hZ2VzL25leHQuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpe1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAuc24taW5wdXQtYnV0dG9uLnVrLWJ1dHRvbi1wcmltYXJ5e1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpe1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2YtYXV0b2NvbXBsZXRle1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHotaW5kZXg6IDk5O1xuXG5cdCZfX2Ryb3Bkb3due1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR6LWluZGV4OiA5OTk7XG5cdFx0dG9wOjA7XG5cdFx0bGVmdDowO1xuXHRcdHdpZHRoOjEwMCU7XG5cdFx0bWF4LWhlaWdodDozMDBweDtcblx0XHRvdmVyZmxvdzogYXV0bztcblx0XHRiYWNrZ3JvdW5kOiNGRkY7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgI2Q0ZDRkNDtcblx0XHRib3JkZXItcmFkaXVzOiAuMjVyZW07XG5cblx0XHQmLS1hZGRyZXNze1xuXHRcdFx0bGVmdDotMTAlO1xuXHRcdFx0d2lkdGg6MTIwJTtcblx0XHR9XG5cblx0XHQmLmVtcHR5e1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cblx0XHR1bHtcblx0XHRcdG1hcmdpbjowO1xuXHRcdFx0cGFkZGluZzowO1xuXHRcdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblxuXHRcdFx0bGl7XG5cdFx0XHRcdHBhZGRpbmc6OHB4IDIwcHg7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDo0MHB4O1xuXHRcdFx0XHRtYXJnaW46MDtcblx0XHRcdCAgICBmb250LXNpemU6IC44MTI1cmVtO1xuXHRcdCAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICNlZmY3Zjc7XG5cdFx0ICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRcdCAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG5cdFx0ICAgICAgICAmOm5vdCguc2VydmljZS10aXRsZSk6bm90KC5zdXBwbGllci10aXRsZSl7XG5cdFx0ICAgICAgICBcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdCAgICAgICAgXHQmOmhvdmVye1xuXHRcdCAgICAgICAgXHRcdGJhY2tncm91bmQ6IHJnYmEoMjUsIDEyNCwgMTkwLCAwLjEpO1xuXHRcdCAgICAgICAgXHR9XG5cdFx0ICAgICAgICB9XG5cblx0XHQgICAgICAgICY6YmVmb3Jle1xuXHRcdCAgICAgICAgXHRjb250ZW50OicnO1xuXHRcdCAgICAgICAgXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0ICAgICAgICBcdHdpZHRoOjEycHg7XG5cdFx0ICAgICAgICBcdGhlaWdodDozMHB4O1xuXHRcdCAgICAgICAgXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0ICAgICAgICBcdGxlZnQ6MTVweDtcblx0XHQgICAgICAgIFx0dG9wOjA7XG5cdFx0ICAgICAgICBcdGJhY2tncm91bmQ6IHVybCgnaW1hZ2VzL3NlYXJjaC1icmllZmNhc2UucG5nJykgbm8tcmVwZWF0IGNlbnRlci9jb250YWluO1xuXHRcdCAgICAgICAgfVxuXG5cdFx0ICAgICAgICAmLnNlcnZpY2UtdGl0bGUsXG5cdFx0ICAgICAgICAmLnN1cHBsaWVyLXRpdGxle1xuXHRcdCAgICAgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZWZmN2Y3O1xuXHRcdCAgICAgICAgXHRmb250LXNpemU6IC43NXJlbTtcblx0XHQgICAgICAgIFx0bGV0dGVyLXNwYWNpbmc6IC4wNjI1cmVtO1xuXHRcdCAgICAgICAgfVxuXG5cdFx0ICAgICAgICAmLnNlcnZpY2UtdGl0bGV7XG5cdFx0ICAgICAgICBcdCY6YmVmb3Jle1xuXHRcdCAgICAgICAgXHRcdGJhY2tncm91bmQ6IHVybCgnaW1hZ2VzL3NlYXJjaC1zZXJ2aWNlcy5wbmcnKSBuby1yZXBlYXQgY2VudGVyL2NvbnRhaW47XG5cdFx0ICAgICAgICBcdH1cblx0XHQgICAgICAgIH1cblxuXHRcdCAgICAgICAgJi5zdXBwbGllci10aXRsZXtcblx0XHQgICAgICAgIFx0JjpiZWZvcmV7XG5cdFx0ICAgICAgICBcdFx0YmFja2dyb3VuZDogdXJsKCdpbWFnZXMvc2VhcmNoLWhvbWVzLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIvY29udGFpbjtcblx0XHQgICAgICAgIFx0fVxuXHRcdCAgICAgICAgfVxuXHRcdFx0fVxuXG5cdFx0XHQmI2F1dG9jb21wbGV0ZS1hZGRyZXNze1xuXHRcdFx0XHRsaXtcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6MjBweDtcblxuXHRcdFx0XHRcdCY6YmVmb3Jle1xuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbi5zZWFyY2gtcmVzdWx0cyB7XG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjNWU1ZTVlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5pbnB1dC5zZWFyY2gtZmllbGQge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggI2VlZSBzb2xpZDtcbiAgICB3aWR0aDogMjUwcHg7XG59XG5cbi5zZWFyY2gtc3VibWl0IHtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RjMGI0MCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgyNTUsIDEwLCAxMCwgMC4yKSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6ICNkYzBiNDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogOHB4IDIwcHg7XG59XG5cbiNzbi1tZW1iZXJzLXNlYXJjaCB7XG4gICAgI3NuLWlucHV0LXF1ZXJ5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjotd2Via2l0LWF1dG9maWxsIHtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAwIDAgMzBweCB3aGl0ZSBpbnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZS13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMzNweCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc24taW5wdXQtYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxufVxuXG4uc24tc2VhcmNoLXRvb2xiYXIge1xuICAgIG1hcmdpbjogNjZweCAwIDQwcHg7XG5cbiAgICAuc24tc29ydC1ieSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNnB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbi1zZWFyY2gtc3VtbWFyeSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAuc24tc2VhcmNoLXNvcnRieSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgIH1cblxuICAgIC5zZWxlY3QyLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgIGJvcmRlcjoge1xuICAgICAgICAgICAgcmFkaXVzOiAyMHB4O1xuICAgICAgICAgICAgY29sb3I6ICNEQUU1RjY7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgc3R5bGU6IHNvbGlkO1xuICAgICAgICB9O1xuICAgICAgICBwYWRkaW5nOiA1cHggMjBweDtcblxuICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlcjogMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA5cHg7XG4gICAgICAgICAgICAgICAgdG9wOiA2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1kcm9wZG93biB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDBweCAhaW1wb3J0YW50O1xuXG4gICAgdWwge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICNEQUU1RjY7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgcGFkZGluZzogMjBweCAwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAyN3B4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIGNvbG9yOiAjMWU4N2YwO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAmLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM1ODU4NWEgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNlN2U4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnVrLWJ1dHRvbi1sYXJnZSB7XG5cblx0Jjpob3ZlciB7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0Ym94LXNoYWRvdzogMCA1cHggMzBweCByZ2JhKDI1NSwgMTAsIDEwLCAwLjIpICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQmLnVrLWJ1dHRvbi1wcmltYXJ5IHtcblx0XHQmOmRpc2FibGVkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM5OTk7XG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjOTk5ICFpbXBvcnRhbnQ7XG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0XHQtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDBweCByZ2JhKDIsMTEwLDI0MywwLjEpICFpbXBvcnRhbnQ7XG5cdFx0XHQtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDBweCByZ2JhKDIsMTEwLDI0MywwLjEpICFpbXBvcnRhbnQ7XG5cdFx0XHRib3gtc2hhZG93OiAwcHggMHB4IDAgMHB4IHJnYmEoMiwxMTAsMjQzLDAuMSkgIWltcG9ydGFudDtcblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHR0cmFuc2Zvcm06IHNjYWxlKDEpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLm5mIHtcbiAgJi1lcnJvci1tc2csXG4gICYtZm9ybS1maWVsZHMtcmVxdWlyZWQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLWZpZWxkLWVsZW1lbnQge1xuICB9XG5cbiAgJi1mb3JtLWxheW91dCB7XG4gICAgbWFyZ2luLXRvcDogMjdweDtcblxuICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgY29sb3I6ICMzYjNiM2I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA1cHggMHB4IHJnYmEoMiwgMTEwLCAyNDMsIDAuMSk7XG4gICAgICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggNXB4IDBweCByZ2JhKDIsIDExMCwgMjQzLCAwLjEpO1xuICAgICAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggMHB4IHJnYmEoMiwgMTEwLCAyNDMsIDAuMSk7XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkaW5nIFN0eWxlcyB0byBVSUtpdCBGb3JtcyB0b29cblxuLnVrLWlucHV0IHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDVweCAwcHggcmdiYSgyLCAxMTAsIDI0MywgMC4xKTtcbiAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDVweCAwcHggcmdiYSgyLCAxMTAsIDI0MywgMC4xKTtcbiAgYm94LXNoYWRvdzogMHB4IDBweCA1cHggMHB4IHJnYmEoMiwgMTEwLCAyNDMsIDAuMSk7XG59XG5cbi5jYXJlZXItdXBsb2FkIGJ1dHRvbiB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMTZweCAhaW1wb3J0YW50O1xuICBjb2xvcjogIzFlODdmMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBcIm11c2VvLXNhbnNcIjtcbiAgcGFkZGluZzogMDtcbiAgbGluZS1oZWlnaHQ6IDUzcHggIWltcG9ydGFudDtcbn1cblxuLmNhcmVlci1mb3JtIHtcbiAgbWF4LXdpZHRoOiA1MTBweDtcbiAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgLm5mLXJlc3BvbnNlLW1zZyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIHNwYW4ubmluamEtZm9ybXMtcmVxLXN5bWJvbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5uZi1yZXNwb25zZS1tc2cge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5wb3BtYWtlLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNikgIWltcG9ydGFudDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5wb3BtYWtlIHtcbiAgbWF4LXdpZHRoOiA3MjBweCAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSB7XG4gICAgdG9wOiA3MHB4ICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MzBweCkge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICBmb3JtIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICBtYXgtd2lkdGg6IDU0MHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmctcmVjYXB0Y2hhID4gZGl2IHtcbiAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gYnV0dG9uLnB1bS1jbG9zZS5wb3BtYWtlLWNsb3NlIHtcbiAgLy8gICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8vICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAhaW1wb3J0YW50O1xuICAvLyAgIHBhZGRpbmc6IDAgNDBweCAhaW1wb3J0YW50O1xuICAvLyAgIGxpbmUtaGVpZ2h0OiA0N3B4ICFpbXBvcnRhbnQ7XG4gIC8vICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gIC8vIH1cbn1cblxuaHRtbC5wdW0tb3Blbi5wdW0tb3Blbi1vdmVybGF5LnB1bS1vcGVuLXNjcm9sbGFibGUgYm9keSA+IFthcmlhLWhpZGRlbl0ge1xuICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG59XG5cbi5wdW0tdGhlbWUtNzc4NiAucHVtLWNvbnRlbnQgKyAucHVtLWNsb3NlLCAucHVtLXRoZW1lLWRlZmF1bHQtdGhlbWUgLnB1bS1jb250ZW50ICsgLnB1bS1jbG9zZSxcbi5wdW0tdGhlbWUtNzc4NiAucHVtLWNvbnRlbnQgKyAucHVtLWNsb3NlLCAucHVtLXRoZW1lLWRlZmF1bHQtdGhlbWUgLnB1bS1jb250ZW50ICsgLnB1bS1jbG9zZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB3aWR0aDogNDhweCAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogNDhweCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi90aGVtZXMvc3VwcGx5LW5hdGlvbi10aGVtZS9pbWFnZXMvY2xvc2Uuc3ZnKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB0ZXh0LWluZGVudDogOTk5OTk5OTk5OTk5OTk5cHggIWltcG9ydGFudDtcbn1cblxuXG4iLCIuYW55LXdoaXRlLWN1cnZlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IC0xMC42MnZ3IDBweCAtNnZ3O1xuICBwYWRkaW5nOiAwcHggMHB4IDE2LjU3NDklO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDogdXJsKFwiaW1hZ2VzL2FueS13aGl0ZS1jdXJ2ZS5zdmdcIikgbm8tcmVwZWF0IGNlbnRlci8xMDAlIGF1dG87XG5cbiAgJl9fc3BhY2VyIHtcbiAgICBwYWRkaW5nOiAwcHggMHB4IDUuMzF2dzsgLy8gSGFsZiBvZiB0aGUgdG9wIG5lZ2F0aXZlIG1hcmdpblxuICB9XG59XG5cbi5hbnktd2hpdGUtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbiAgbWFyZ2luOiAwcHggMHB4IC03LjQyNzd2dztcbiAgcGFkZGluZzogMHB4IDBweCA3LjQyNzclO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYmFja2dyb3VuZDogdXJsKFwiaW1hZ2VzL2FueS13aGl0ZS12ZXJ0aWNhbC5zdmdcIikgbm8tcmVwZWF0IGNlbnRlci8xMDAlIGF1dG87XG59XG5cbi5wYWxlYmx1ZS1hbnktY3VydmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbiAgbWFyZ2luOiAwcHggMHB4IC0xMC42NnZ3O1xuICBwYWRkaW5nOiAwcHggMHB4IDEwLjY2JTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHVybChcImltYWdlcy9wYWxlYmx1ZS1hbnktY3VydmUuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIvMTAxJSBhdXRvO1xuICB6LWluZGV4OiAxMDA7XG59XG5cbi53aGl0ZS1jdXJ2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMzBweDtcbiAgbWFyZ2luOiAwcHggMHB4IC0xMC42NnZ3O1xuICBwYWRkaW5nOiAwcHggMHB4IDEwLjY2JTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHVybChcImltYWdlcy93aGl0ZS1jdXJ2ZS5zdmdcIikgbm8tcmVwZWF0IGNlbnRlci8xMDElIGF1dG87XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLmhvbWUtY3VydmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTA2JTtcbiAgICBib3R0b206IDh2dztcbiAgICBtYXJnaW46IDBweCAwcHggLTEwLjY2dnc7XG4gICAgcGFkZGluZzogMHB4IDBweCAxMC42NiU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdXJsKGltYWdlcy90ZXN0LWN1cnZlLnN2Zykgbm8tcmVwZWF0IGNlbnRlci8xMDYlIGF1dG87XG4gICAgei1pbmRleDogMTAwO1xufVxuXG4ud2hpdGUtcGFsZWJsdWUtY3VydmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogLTEwLjYydncgMHB4IC01dnc7XG4gIHBhZGRpbmc6IDBweCAwcHggMTYuNTc0OSU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJpbWFnZXMvd2hpdGUtcGFsZWJsdWUtY3VydmUuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIvMTAwJSBhdXRvO1xuXG4gICZfX3NwYWNlciB7XG4gICAgcGFkZGluZzogMHB4IDBweCA1LjMxdnc7IC8vIEhhbGYgb2YgdGhlIHRvcCBuZWdhdGl2ZSBtYXJnaW5cbiAgfVxufVxuXG4uYW55LXBhbGVibHVlLWNpcmNsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xuICBtYXJnaW46IC01dncgMHB4IC0zLjYxMXZ3O1xuICBwYWRkaW5nOiAwcHggMHB4IDguNjExJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHVybChcImltYWdlcy9hbnktcGFsZWJsdWUtY2lyY2xlLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyLzEwMCUgYXV0bztcbiAgei1pbmRleDogMTAwO1xufVxuXG4uYW55LXdoaXRlLWNpcmNsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAtMXB4O1xuICBtYXJnaW46IC01dncgMHB4IC0zLjYxMXZ3O1xuICBwYWRkaW5nOiAwcHggMHB4IDguNjExJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHVybChcImltYWdlcy9hbnktd2hpdGUtY2lyY2xlLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyLzEwMCUgYXV0bztcbiAgei1pbmRleDogMTAwO1xufVxuXG4uYW55LXBhbGVibHVlLWNpcmNsZS1hbHQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMXB4O1xuICBtYXJnaW46IC04LjU5Njl2dyAwcHggMHB4O1xuICBwYWRkaW5nOiAwcHggMHB4IDguNTk2OSU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBiYWNrZ3JvdW5kOiB1cmwoXCJpbWFnZXMvYW55LXBhbGVibHVlLWNpcmNsZS1hbHQuc3ZnXCIpIG5vLXJlcGVhdCBjZW50ZXIvMTAwJVxuICAgIGF1dG87XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLmxlZnQtYm9yZGVyLWhwIHtcbiAgd2lkdGg6IDUwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiB1cmwoL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDE4LzA1L1JvdW5kQm9yZGVyLnBuZyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogY2FsYygxMDAlIC0gNDJweCk7XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbiIsIlxuIiwiLnN1cHBsaWVyIHtcbiAgcGFkZGluZzogMCAxNXB4ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMTVweCAwIDAgIWltcG9ydGFudDtcblxuICAmX190aXRsZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5O1xuICAgIGNvbG9yOiAjNWU1ZTVlO1xuICAgIG1hcmdpbjogMCAwIDEwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gICZfX2NhdGVnb3J5IHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMyAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5O1xuICAgIGNvbG9yOiAjM2IzYjNiO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudDtcbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICBwYWRkaW5nOiAwIDMwcHggIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuLnN1cHBsaWVyLWdyaWQge1xuICAuc3VwcGxpZXIge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgICAmOm50aC1vZi10eXBlKDJuICsgMikge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmNWY5ZmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi0tbmV4dCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgIC5zdXBwbGllciB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDtcbiAgICAgICAgJjpudGgtb2YtdHlwZSgybiArIDIpIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLW9mLXR5cGUobiArIDMpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmxhc3Qtb2RkIHtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zdXBwbGllcnMtbWVtYmVycyB7XG4gIHBhZGRpbmc6IDgwcHggMCA0MHB4O1xufVxuXG5cbiNzdG9yaWVzLWdyaWR7XG4gIFtkYXRhLWxvYWRtb3JlXXtcbiAgICBtYXJnaW46IDYwcHggYXV0byAwO1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG5cbiAgICAmLmhpZGV7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59IiwiLy8gQ29udGFjdFxuI2NvbnRhY3Qge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi5jb250YWN0LWxlZnQsIC5jb250YWN0LXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5NjBweCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NzBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDcwcHggMzBweCA3MHB4IDMwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9mZmljZS1kZXRhaWxzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgICYtLWltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1JTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDIsIDExMCwgMjQzLCAwLjEpO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNFRUY1RkY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1hZGRyZXNzIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcblxuICAgICAgICAgICAgJi0tc2Vjb25kIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMjAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzgwcHgpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDAlO1xuXG4gICAgICAgICAgICAgICAgJi0tc2Vjb25kIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0taXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbi1wcmltYXJ5ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4uY29udGFjdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgfVxuXG4gICAgJi1sZWZ0IHtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGU7XG5cbiAgICAgICAgLmNvbnRlbnQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1yaWdodCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA4NXB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIiNkaXZlcnNpdHkge1xuICAvLyAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZmZmO1xufVxuXG4uZWxpZ2liZWwtdGFiIHtcbiAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAyODhweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2IoMjQyLCAxMjksIDQ3KTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgcGFkZGluZzogMnB4ICFpbXBvcnRhbnQ7XG4gIGxpIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmctbGVmdDogMHB4ICFpbXBvcnRhbnQ7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAyMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMjBweDtcbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAyMHB4O1xuICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDIwcHg7XG4gICAgfVxuXG4gICAgJi51ay1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI2RjMGI0MDtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wb3BSZWN0IHtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VlZjVmZjtcbiAgYm94LXNoYWRvdzogMCA1cHggMTBweCAwIHJnYmEoMiwgMTEwLCAyNDMsIDAuMSk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmc6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogNTtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogdXJsKFwiLi4vLi4vdGhlbWVzL3N1cHBseS1uYXRpb24tdGhlbWUvaW1hZ2VzL092YWwuc3ZnXCIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMTVweCk7XG4gICAgei1pbmRleDogMTU7XG4gIH1cbn1cblxuLmRpYWdyYW0tcmVkIHtcbiAgLnBvcFJlY3Qge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi4uLy4uL3RoZW1lcy9zdXBwbHktbmF0aW9uLXRoZW1lL2ltYWdlcy9PdmFsLnJlZC5zdmdcIik7XG4gICAgfVxuICB9XG59XG5cbi5wb3BSZWN0LWxlZnQge1xuICBAZXh0ZW5kIC5wb3BSZWN0O1xuICBtYXJnaW4tcmlnaHQ6IDM2cHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogdXJsKFwiLi4vLi4vdGhlbWVzL3N1cHBseS1uYXRpb24tdGhlbWUvaW1hZ2VzL3BvcC1hcnJvdy5wbmdcIik7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDEycHgpO1xuICAgIHJpZ2h0OiAtMjJweDtcbiAgfVxuICAmOjphZnRlciB7XG4gICAgcmlnaHQ6IC00MnB4O1xuICB9XG59XG5cbi5wb3BSZWN0LXJpZ2h0IHtcbiAgQGV4dGVuZCAucG9wUmVjdDtcbiAgbWFyZ2luLWxlZnQ6IDM2cHg7XG4gIG1hcmdpbi10b3A6IDQwcHg7XG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogdXJsKFwiLi4vLi4vdGhlbWVzL3N1cHBseS1uYXRpb24tdGhlbWUvaW1hZ2VzL3BvcC1hcnJvdy1yaWdodC5wbmdcIik7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDEycHgpO1xuICAgIGxlZnQ6IC0yMnB4O1xuICB9XG4gICY6OmFmdGVyIHtcbiAgICBsZWZ0OiAtNDJweDtcbiAgfVxufVxuXG4uZWxpZ2liZWwtZGlhZ3JhbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NzVweCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmX19sZWZ0IHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBkb3R0ZWQgcmdiKDI0MiwgMTI5LCA0Nyk7XG5cbiAgICBwYWRkaW5nOiA1MHB4IDA7XG4gIH1cblxuICAmX19yaWdodCB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IHVybChcIi4uLy4uL3RoZW1lcy9zdXBwbHktbmF0aW9uLXRoZW1lL2ltYWdlcy9UcmlhbmdsZS5zdmdcIik7XG4gICAgbGVmdDogY2FsYyg1MCUgLSAxM3B4KTtcbiAgICBib3R0b206IC0xOXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb2xvcjogYmxhY2s7XG4gIH1cbn1cblxuLmRpYWdyYW0tcmVkIHtcbiAgLmVsaWdpYmVsLWRpYWdyYW0ge1xuICAgICZfX2xlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggZG90dGVkICNkYzBiNDA7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogdXJsKFwiLi4vLi4vdGhlbWVzL3N1cHBseS1uYXRpb24tdGhlbWUvaW1hZ2VzL1RyaWFuZ2xlLnJlZC5zdmdcIik7XG4gICAgfVxuICB9XG59XG5cbi5lbGlnaWJlbC1kaWFncmFtLW1vYmlsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgcGFkZGluZy10b3A6IDQwcHg7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgJl9fcG9wUmVjdCB7XG4gICAgQGV4dGVuZCAucG9wUmVjdDtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xuXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi4uLy4uL3RoZW1lcy9zdXBwbHktbmF0aW9uLXRoZW1lL2ltYWdlcy9wb3AtYXJyb3ctdG9wLnBuZ1wiKTtcbiAgICAgIHRvcDogLTIwcHg7XG4gICAgICBsZWZ0OiAxMHB4O1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICB0b3A6IC01MHB4O1xuICAgICAgbGVmdDogMjNweDtcbiAgICB9XG4gIH1cbiAgJl9fd3JhcCB7XG4gICAgYm9yZGVyLXRvcDogMXB4IGRvdHRlZCByZ2IoMjQyLCAxMjksIDQ3KTtcbiAgICBwYWRkaW5nLXRvcDogMzNweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiB1cmwoXCIuLi8uLi90aGVtZXMvc3VwcGx5LW5hdGlvbi10aGVtZS9pbWFnZXMvVHJpYW5nbGUtcmlnaHQuc3ZnXCIpO1xuICAgICAgcmlnaHQ6IDBweDtcbiAgICAgIHRvcDogLTEzcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxMDA7XG4gICAgfVxuICB9XG59XG5cbi5kaWFncmFtLXJlZCB7XG4gIC5lbGlnaWJlbC1kaWFncmFtLW1vYmlsZSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogdXJsKFwiLi4vLi4vdGhlbWVzL3N1cHBseS1uYXRpb24tdGhlbWUvaW1hZ2VzL1RyaWFuZ2xlLXJpZ2h0LnJlZC5zdmdcIik7XG4gICAgfVxuICB9XG59XG5cbi5lbGlnaWJlbC10ZXh0LXRvcCxcbi5lbGlnaWJlbC10ZXh0LWNlbnRlciB7XG4gIG1hcmdpbjogODBweCBhdXRvIDMwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAyNHB4O1xuICBjb2xvcjogIzNiM2IzYjtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIGxpbmUtaGVpZ2h0OiAzN3B4O1xufVxuXG4uZWxpZ2liZWwtdGV4dC10b3Age1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmVsaWdpYmVsLXRleHQtYm90dG9tID4gYSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICNlZDY4OGE7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBtYXJnaW46IDgwcHggYXV0byAwcHg7XG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogI2VkNjg4YTtcbiAgICBvcGFjaXR5OiAwLjg7XG4gIH1cbn1cblxuLnRhYi1vcmFuZ2Uge1xuICAmLnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiKDI0MiwgMTI5LCA0NykgIWltcG9ydGFudDtcbiAgfVxufVxuXG4uYmVuZWZpdC10YWIge1xuICBAZXh0ZW5kIC5lbGlnaWJlbC10YWI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogNTBweCAhaW1wb3J0YW50O1xuICBhIHtcbiAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICBjb2xvcjogI2RjMGI0MDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjZGMwYjQwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ubW9iaWxlLXN1cHBsaWVyLWRlc2Mge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW46IDEwcHg7XG59XG4iLCIudGVhbS1tZW1iZXItbW9kYWwge1xuICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICBib3gtc2hhZG93OiAyMHB4IDQwcHggNDBweCAwIHJnYmEoMTMsIDM0LCA2MywgMC4xMCk7XG4gIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgcGFkZGluZzogNjBweCAhaW1wb3J0YW50O1xuICAmX19jbG9zZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKFwiLi4vLi4vdGhlbWVzL3N1cHBseS1uYXRpb24tdGhlbWUvaW1hZ2VzL2Nsb3NlLnN2Z1wiKTtcbiAgICB3aWR0aDogMThweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYm9yZGVyOiAwcHggIWltcG9ydGFudDtcbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIkJhY2tcIjtcbiAgICAgIGNvbG9yOiAjRUQ2ODhBO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsZWZ0OiAyNXB4O1xuICAgICAgYm90dG9tOiAxcHg7XG4gICAgfVxuICAgIG1hcmdpbi1sZWZ0OiA1NnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDU2cHg7XG4gIH1cbiAgLnRlYW0tbWVtYmVyLWNhcmQge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICB3aWR0aDogMjIycHg7XG4gICAgaGVpZ2h0OiAzMjJweDtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFRUY1RkY7XG4gICAgYm94LXNoYWRvdzogMCA1cHggMTBweCAwIHJnYmEoMiwgMTEwLCAyNDMsIDAuMTApO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLmxlZnQtYXJyb3ctbWVtYmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi4uLy4uL3RoZW1lcy9zdXBwbHktbmF0aW9uLXRoZW1lL2ltYWdlcy9hcnJvdy1sZWZ0LW1lbWJlci5zdmdcIik7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IC01MHB4O1xuICAgIH1cbiAgICAucmlnaHQtYXJyb3ctbWVtYmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi4uLy4uL3RoZW1lcy9zdXBwbHktbmF0aW9uLXRoZW1lL2ltYWdlcy9hcnJvdy1yaWdodC1tZW1iZXIuc3ZnXCIpO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogLTUwcHg7XG4gICAgfVxuICB9XG59XG5cbi5hYm91dHVzLXRhYiB7XG4gIEBleHRlbmQgLmVsaWdpYmVsLXRhYjtcbiAgZGlzcGxheTogZmxleDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgIGNvbG9yOiAjZGMwYjQwO1xuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6ICNkYzBiNDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi50ZWFtLXN3aXRjaGVycyB7XG4gIEBleHRlbmQgLmVsaWdpYmVsLXRhYjtcbiAgbWFyZ2luLWJvdHRvbTogNzVweCAhaW1wb3J0YW50O1xufVxuXG4ub2NocmVfcGFydG5lcnMtbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgLm9jaHJlX3BhcnRuZXJzLW5hdi1wcmV2aW91cyB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG4gIC5vY2hyZV9wYXJ0bmVycy1uYXYtbmV4dCB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cblxuICAudWstaW52aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAwLjEgIWltcG9ydGFudDtcbiAgfVxuXG59XG5cbi5wYWdlLXRlbXBsYXRlLXNuLWFib3V0LXVzLWZsZXhpYmxlLXBhZ2UtdGVtcGxhdGUge1xuICAjYWJvdXQtaW50cm8ge1xuXG4gICAgYmFja2dyb3VuZDoge1xuICAgICAgaW1hZ2U6IHVybChcImltYWdlcy9hYm91dC1oZWFkZXItYmFja2dyb3VuZC5wbmdcIik7XG4gICAgICBzaXplOiBjb3ZlcjtcbiAgICAgIHBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIH1cbiAgICBwYWRkaW5nOiB7XG4gICAgICB0b3A6IDg4cHg7XG4gICAgICBib3R0b206IDkzcHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBwOmVtcHR5Omxhc3Qtb2YtdHlwZXtcbiAgICAgICAgbWFyZ2luLXRvcDotMjBweDsgLy8gbmVnYXRlcyB0aGUgbWFyZ2luIGlmIHRoZXJlcyBhbiBlbXB0eSBwYXJhIGFzIHRoZSBsYXN0IGVsZW1lbnRcbiAgICB9XG4gIH1cbn1cblxuI2xlYXJuLW1vcmUge1xuXG4gIGEge1xuICAgIGNvbG9yOiAjRkM5MjhBO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwYWRkaW5nOiA4cHg7XG5cbiAgICA+IGRpdiB7XG4gICAgICBwYWRkaW5nOiAwIDAgNDBweCAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICB9XG5cbiAgLmZyYW1lIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5mcmFtZS1ib3JkZXIge1xuICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkIHdoaXRlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIGltZyB7XG5cbiAgICB9XG4gIH1cbn1cblxuXG4jdmFsdWVze1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuICAuaW1hZ2UtcGF0dGVybi1iYWNrZ3JvdW5ke1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZXtcbiAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICB3aWR0aDozNzNweDtcbiAgICAgIGhlaWdodDo0MDhweDtcbiAgICAgIGJhY2tncm91bmQ6IHtcbiAgICAgICAgaW1hZ2U6IHVybChcImltYWdlcy9TdXBwbHlOYXRpb25fbG9nb19jb2xvdXIucG5nXCIpO1xuICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICB9XG4gICAgICByaWdodDogLTc3cHg7XG4gICAgICB0b3A6IC0zM3B4O1xuICAgIH1cblxuICAgIGltZ3tcbiAgICAgIHotaW5kZXg6NTtcbiAgICB9XG4gIH1cbn1cblxuI3RlYW17XG4gIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG59XG5cbiNoaXN0b3J5e1xuICBwYWRkaW5nLXRvcDowO1xuICBwYWRkaW5nLWJvdHRvbTogMjMwcHg7XG4gIHN0cm9uZ3tcbiAgICBjb2xvcjojMDI2RUYzO1xuICB9XG59XG4jYWJvdXQtaW50cm8sXG4jb2NocmUtcGFydG5lcnMtaW50cm8ge1xuICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4jb2NocmUtcGFydG5lcnMtaW50cm8ge1xuICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4jbWVtYmVycyB7XG4gIC51ay1jb250YWluZXIge1xuICAgIGgzIHtcbiAgICAgIHAge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4jdGFibGV7XG4gIC50YWJsZS10aXRsZXtcbiAgICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIgIWltcG9ydGFudDtcbiAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGNvbG9yOiAjM0IzQjNCO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAzN3B4O1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjREFFNUY2O1xuICAgIHBhZGRpbmctYm90dG9tOjIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTo0OHB4O1xuICB9XG4gIHRhYmxle1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRoZWFke1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICMzQjNCM0I7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIm11c2VvLXNhbnNcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA5MDA7XG4gICAgICB0aHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206MTVweDtcbiAgICAgIH1cblxuICAgIH1cbiAgICB0Ym9keXtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGNvbG9yOiAjNUU1RTVFO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIm11c2VvLXNhbnNcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgdGR7XG5cbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRUVGNUZGO1xuXG4gICAgICBwYWRkaW5nOjIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNFRUY1RkY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDZweCAwIDAgNnB4O1xuICAgICAgfVxuICAgICAgJjo6YWZ0ZXJ7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjREFFNUY2O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIHRvcDogMTQuNXB4O1xuICAgICAgICBib3R0b206IDEyLjVweDtcbiAgICAgICAgd2lkdGg6IDFweDtcblxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNFRUY1RkY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgNnB4IDZweCAwO1xuICAgICAgICAmOjphZnRlcntcbiAgICAgICAgICB3aWR0aDowO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICB0cntcbiAgICAgICY6bGFzdC1jaGlsZHtcbiAgICAgICAgdGR7XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDZweCAwIDAgNnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0VFRjVGRjtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgfVxufVxuXG5cblxuXG4jc2xpZGVye1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgbWFyZ2luLWJvdHRvbToxNTBweDtcbiAgLmJveC1zbGlkZXJ7XG4gICAgYm94LXNoYWRvdzogMjBweCA0MHB4IDQwcHggMCByZ2JhKDEzLDM0LDYzLDAuMTApO1xuICAgIG1heC13aWR0aDogNjIwcHg7XG4gIH1cbiAgbGl7XG4gICAgaW1ne1xuICAgICAgd2lkdGg6IDYyMHB4O1xuICAgICAgaGVpZ2h0OiA0MTBweDtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweClcbiAgICAgIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDo3MHZ3O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zbGlkZXItbmF2e1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGxlZnQ6MDtcbiAgICByaWdodDowO1xuICAgIG1hcmdpbjo2MHB4IGF1dG8gMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLmltYWdlLXBhdHRlcm4tYmFja2dyb3VuZHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjpiZWZvcmV7XG4gICAgICBjb250ZW50OlwiXCI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIHdpZHRoOjUwM3B4O1xuICAgICAgaGVpZ2h0OjU1MHB4O1xuICAgICAgbGVmdDogMTk2cHg7XG4gICAgICB0b3A6IC01NHB4O1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweClcbiAgICAgIHtcbiAgICAgICAgd2lkdGg6Y2FsYyg1MDNweCAqIDAuNyk7XG4gICAgICAgIGhlaWdodDpjYWxjKDU1MHB4ICogMC43KTtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICB0b3A6IC01MHB4O1xuICAgICAgfVxuICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICBpbWFnZTogdXJsKFwiaW1hZ2VzL1N1cHBseU5hdGlvbl9sb2dvX2JpZy5wbmdcIik7XG4gICAgICAgIHNpemU6IGNvdmVyO1xuICAgICAgICBwb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG59XG5cbiNzaW5nbGVpbWFnZXtcblxuICBpbWd7XG4gICAgd2lkdGg6IDc4MHB4O1xuICAgIGhlaWdodDogNDQxcHg7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweClcbiAgICB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDo3MHZ3O1xuICAgIH1cbiAgfVxuICAuaW1hZ2UtcGF0dGVybi1iYWNrZ3JvdW5ke1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmJlZm9yZXtcbiAgICAgIGNvbnRlbnQ6XCJcIjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgd2lkdGg6NTAzcHg7XG4gICAgICBoZWlnaHQ6NTUwcHg7XG4gICAgICByaWdodDogMTAwcHg7XG4gICAgICB0b3A6IC03NXB4O1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweClcbiAgICAgIHtcbiAgICAgICAgd2lkdGg6Y2FsYyg1MDNweCAqIDAuNyk7XG4gICAgICAgIGhlaWdodDpjYWxjKDU1MHB4ICogMC43KTtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICB0b3A6IC01MHB4O1xuICAgICAgfVxuICAgICAgYmFja2dyb3VuZDoge1xuICAgICAgICBpbWFnZTogdXJsKFwiaW1hZ2VzL1N1cHBseU5hdGlvbl9sb2dvX3NwaW4ucG5nXCIpO1xuICAgICAgICBzaXplOiBjb3ZlcjtcbiAgICAgICAgcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuXG4jaW1hZ2Vjb3B5LCNjb3B5aW1hZ2UsI3NpbmdsZWNvcHl7XG4gLnRpdGxle1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCIgIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDI0cHg7XG4gIGNvbG9yOiAjM0IzQjNCO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiB9XG4gcHtcbiAgb3BhY2l0eTogMC45O1xuICBmb250LWZhbWlseTogXCJtdXNlby1zYW5zXCI7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgY29sb3I6ICMzQjNCM0I7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMzBweDtcbiB9XG4gaW1ne1xuICAgcGFkZGluZy10b3A6N3B4O1xuIH1cbn1cblxuI2dsb2JhbC1vcmdhbml6YXRpb257XG4gIHBhZGRpbmctdG9wOjE1cHg7XG4gIC5vcmdhbml6YXRpb257XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICAgIG1hcmdpbjo1MHB4IGF1dG8gMDtcbiAgfVxuICBsaXtcbiAgICBtYXJnaW4tYm90dG9tOjI1cHg7XG4gIH1cblxuICAub3JnYW5pemF0aW9uLWNvcHl7XG4gICAgbWF4LXdpZHRoOiA3NjdweDtcbiAgICBtYXJnaW46YXV0bztcblxuICAgIHB7XG4gICAgICBtYXJnaW4tdG9wOjI1cHg7XG4gICAgfVxuICB9XG5cbn1cbiIsIi5jYXJvdXNlbC1ob21lIHtcbiAgICBtaW4taGVpZ2h0OiA2MDBweDtcbiAgICBtaW4td2lkdGg6IDUwNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNTBweDtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICBtaW4td2lkdGg6IDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDBweDtcbiAgICB9XG59XG5cbiNob21lLXNsaWRlciB7XG4gICAgLnVrLXNsaWRlc2hvdy1pdGVtcyB7XG4gICAgICAgIGhlaWdodDogNjAwcHg7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDkwMHB4O1xuICAgICAgICB9XG4gICAgICAgIC51ay1jb250YWluZXIge1xuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC51ay1jYXJkLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhcm91c2VsLW5hdiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206MjBweDtcbiAgICAgICAgICAgIGxlZnQ6MjBweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCIkZ2xvYmFsLW1hcmdpbjogMjBweCAhZGVmYXVsdDtcbiRhY2NvcmRpb24taXRlbS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZTogMS4yNXJlbSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAjMzMzICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtY29sb3I6ICM2NjYgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGFjY29yZGlvbi1jb250ZW50LW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1pbnZlcnNlLWNvbG9yOiAjZmZmICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1jb2xvcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRhbGVydC1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1ndXR0ZXI6IDE1cHggIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZzogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1yaWdodDogJGFsZXJ0LXBhZGRpbmcgKyAxNHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAjZjhmOGY4ICFkZWZhdWx0O1xuJGFsZXJ0LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRhbGVydC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS10b3A6ICRhbGVydC1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXJpZ2h0OiAkYWxlcnQtcGFkZGluZyAhZGVmYXVsdDtcbiRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAjMWU4N2YwICFkZWZhdWx0O1xuJGFsZXJ0LXByaW1hcnktYmFja2dyb3VuZDogbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQ6ICMzMmQyOTYgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1iYWNrZ3JvdW5kOiBsaWdodGVuKG1peCh3aGl0ZSwgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQsIDQwJSksIDI1JSkgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1jb2xvcjogJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZDogI2ZhYTA1YSAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCwgNDUlKSwgMTUlKSAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQ6ICNmMDUwNmUgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJhY2tncm91bmQ6IGxpZ2h0ZW4obWl4KHdoaXRlLCAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRnbG9iYWwtZ3V0dGVyOiAzMHB4ICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRhbGlnbi1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tZ3V0dGVyOiA0MHB4ICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRhbmltYXRpb24tZHVyYXRpb246IDAuNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhZGUtZHVyYXRpb246IDAuOHMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWtlbmJ1cm5zLWR1cmF0aW9uOiAxNXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLWZhc3QtZHVyYXRpb246IDAuMXMgIWRlZmF1bHQ7XG4kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogMTBweCAhZGVmYXVsdDtcbiRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogNTBweCAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtbWFyZ2luOiA3MHB4ICFkZWZhdWx0O1xuJGFydGljbGUtbWFyZ2luLXRvcDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplOiAyLjYyNXJlbSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZS1tOiAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtdGl0bGUtZm9udC1zaXplOiAkYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1mb250LXNpemU6IDAuODc1cmVtICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGdsb2JhbC1tdXRlZC1jb2xvcjogIzk5OSAhZGVmYXVsdDtcbiRhcnRpY2xlLW1ldGEtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3I6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJGludmVyc2UtYXJ0aWNsZS1tZXRhLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWJhY2tncm91bmQ6ICNmZmYgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYWNrZ3JvdW5kLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAjMjIyICFkZWZhdWx0O1xuJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFkZ2Utc2l6ZTogMjJweCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXZlcnRpY2FsOiAwICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDogNXB4ICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGJhZGdlLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhZGdlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYWRnZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtYm9keS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZ2xvYmFsLWZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtZmFtaWx5OiAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXdlaWdodDogbm9ybWFsICFkZWZhdWx0O1xuJGdsb2JhbC1mb250LXNpemU6IDE2cHggIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1ib2R5LWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRnbG9iYWwtbGluay1jb2xvcjogIzFlODdmMCAhZGVmYXVsdDtcbiRiYXNlLWxpbmstY29sb3I6ICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yOiAjMGY2ZWNkICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhZGVmYXVsdDtcbiRiYXNlLXN0cm9uZy1mb250LXdlaWdodDogYm9sZGVyICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogQ29uc29sYXMsIG1vbmFjbywgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGJhc2UtY29kZS1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWVtLWNvbG9yOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtaW5zLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWJhY2tncm91bmQ6ICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtcXVvdGUtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuJGJhc2Utc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ6IG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLXRleHQtdHJhbnNmb3JtOiBub25lICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tbWFyZ2luOiA0MHB4ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemUtbTogJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgxLWZvbnQtc2l6ZTogJGJhc2UtaDEtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6IDEuMiAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZTogMnJlbSAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZS1tOiAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemU6ICRiYXNlLWgyLWZvbnQtc2l6ZS1tICogMC44NSAhZGVmYXVsdDtcbiRiYXNlLWgyLWxpbmUtaGVpZ2h0OiAxLjMgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZTogMS41cmVtICFkZWZhdWx0O1xuJGJhc2UtaDMtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgzLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNC1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg0LWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNS1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDUtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg2LWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNi1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGJhc2UtbGlzdC1wYWRkaW5nLWxlZnQ6IDMwcHggIWRlZmF1bHQ7XG4kYmFzZS1oci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGdsb2JhbC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZ2xvYmFsLWJvcmRlcjogI2U1ZTVlNSAhZGVmYXVsdDtcbiRiYXNlLWhyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLW1hcmdpbjogMTBweCAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1mb290ZXItZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLXByZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtZmFtaWx5OiAkYmFzZS1jb2RlLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ6ICMzOWYgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYmFzZS1saW5rLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWNvZGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWJvcmRlcjogcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYXNlLWhyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXI6IFwiL1wiICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogMjBweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0OiA0MHB4ICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5lLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQ6IDMwcHggIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodDogNTVweCAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ6ICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLXNtYWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTogJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstY29sb3I6ICRnbG9iYWwtbGluay1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tbGluay1ob3Zlci1jb2xvcjogJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWRpc2FibGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi10ZXh0LWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tdGV4dC1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1saW5rLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tbGluay1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjYXJkLXRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1saW5lLWhlaWdodDogMS40ICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtdG9wOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWJhZGdlLXJpZ2h0OiAkY2FyZC1iYWRnZS10b3AgIWRlZmF1bHQ7XG4kY2FyZC1ob3Zlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LXRpdGxlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS10aXRsZS1jb2xvcjogJGNhcmQtcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRjYXJkLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGNhcmQtcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1zZWNvbmRhcnktdGl0bGUtY29sb3I6ICRjYXJkLXNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiByb3VuZCgkZ2xvYmFsLW1hcmdpbiAvIDEuNSkgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWd1dHRlcjogNzBweCAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6IHJvdW5kKCRnbG9iYWwtbGFyZ2UtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbDogcm91bmQoJGdsb2JhbC1sYXJnZS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRjbG9zZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWNsb3NlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1jbG9zZS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXI6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1ndXR0ZXItbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGNvbHVtbi1kaXZpZGVyLXJ1bGUtd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRpbnZlcnNlLWNvbHVtbi1kaXZpZGVyLXJ1bGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY29tbWVudC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LXRpdGxlLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0OiAzMHB4ICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQtbTogMTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLW1heC13aWR0aDogMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRoOiA3NTBweCAhZGVmYXVsdDtcbiRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOiA5MDBweCAhZGVmYXVsdDtcbiRjb250YWluZXItbGFyZ2UtbWF4LXdpZHRoOiAxNjAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXM6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNvdW50ZG93bi1pdGVtLWxpbmUtaGVpZ2h0OiA3MHB4ICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplOiAycmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLXM6IDRyZW0gIWRlZmF1bHQ7XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTogNnJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1zOiAycmVtICFkZWZhdWx0O1xuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLW06IDNyZW0gIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi13aWR0aDogNTBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24taGVpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1jb2xvcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtdG9wOiA1MCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtd2lkdGg6IDEwMCUgIWRlZmF1bHQ7XG4kZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludGVybmFsLWRpdmlkZXItaWNvbi1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjIwJTIyJTIwaGVpZ2h0JTNEJTIyMjAlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyMCUyMDIwJTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NjaXJjbGUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIyJTIyJTIwY3glM0QlMjIxMCUyMiUyMGN5JTNEJTIyMTAlMjIlMjByJTNEJTIyNyUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtd2lkdGg6IDEwMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItc21hbGwtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZGl2aWRlci12ZXJ0aWNhbC1oZWlnaHQ6IDEwMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLWljb24tbGluZS1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXNtYWxsLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItdmVydGljYWwtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsOiAkZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLXdpZHRoOiAxMHB4ICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhlaWdodDogJGRvdG5hdi1pdGVtLXdpZHRoICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWJvcmRlci1yYWRpdXM6IDUwJSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0taG92ZXItYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNikgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRnbG9iYWwtei1pbmRleDogMTAwMCAhZGVmYXVsdDtcbiRkcm9wLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Atd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuJGRyb3AtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkcm9wZG93bi16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmc6IDE1cHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0OiAxNXB4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdGh1bWItYm9yZGVyLXJhZGl1czogNTAwcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10aHVtYi1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0OiAzcHggIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kOiBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kOiBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAxNSUpICFkZWZhdWx0O1xuJGZvcm0taGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tbGluZS1oZWlnaHQ6ICRmb3JtLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctdmVydGljYWw6IDRweCAhZGVmYXVsdDtcbiRmb3JtLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZm9jdXMtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtaGVpZ2h0OiAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiA4cHggIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1saW5lLWhlaWdodDogJGZvcm0tc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWhlaWdodDogJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWxpbmUtaGVpZ2h0OiAkZm9ybS1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0td2lkdGgteHNtYWxsOiA1MHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtc21hbGw6IDEzMHB4ICFkZWZhdWx0O1xuJGZvcm0td2lkdGgtbWVkaXVtOiAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLWxhcmdlOiA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1wYWRkaW5nLXJpZ2h0OiAyMHB4ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3Qtb3B0aW9uLWNvbG9yOiAjNDQ0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1zaXplOiAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogLTRweCAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWJhY2tncm91bmQ6IGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kZm9ybS1zdGFja2VkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kZm9ybS1ob3Jpem9udGFsLWxhYmVsLW1hcmdpbi10b3A6IDdweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ6IDIxNXB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1jb250cm9scy10ZXh0LXBhZGRpbmctdG9wOiA3cHggIWRlZmF1bHQ7XG4kZm9ybS1pY29uLXdpZHRoOiAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taWNvbi1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjI0JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAyNCUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDElMjA5JTIwNiUyMDE1JTIwNiUyMiUyMCUyRiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMTMlMjA5JTIwOCUyMDE1JTIwOCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNiUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTYlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDY2lyY2xlJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBjeCUzRCUyMjglMjIlMjBjeSUzRCUyMjglMjIlMjByJTNEJTIyMiUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjExJTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxMSUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwNSUyMDcuNSUyMDIlMjA1JTIwMSUyMDUuNSUyMDUlMjAxMCUyMDEzJTIwMS41JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3JlY3QlMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHglM0QlMjIzJTIyJTIweSUzRCUyMjglMjIlMjB3aWR0aCUzRCUyMjEwJTIyJTIwaGVpZ2h0JTNEJTIyMSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6IHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjEpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWZvY3VzLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWJhY2tncm91bmQ6IGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMtYmFja2dyb3VuZDogZGFya2VuKCRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWljb24tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0taWNvbi1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbC1sOiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1tZWRpdW0tZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsOiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw6ICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWw6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgIWRlZmF1bHQ7XG4kZ3JpZC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZ3JpZC1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1ncmlkLWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbDogMy43NXJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQtbDogMS4xICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbCAqIDAuOSAhZGVmYXVsdDtcbiRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1sICogMC44ICFkZWZhdWx0O1xuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodDogMS4yICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1mb250LXNpemUtbDogOHJlbSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbDogMSAhZGVmYXVsdDtcbiRoZWFkaW5nLWhlcm8tZm9udC1zaXplLW06ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWwgKiAwLjc1ICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1tOiAxICFkZWZhdWx0O1xuJGhlYWRpbmctaGVyby1mb250LXNpemU6ICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWwgKiAwLjUgIWRlZmF1bHQ7XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0OiAxLjEgIWRlZmF1bHQ7XG4kaGVhZGluZy1kaXZpZGVyLXBhZGRpbmctYm90dG9tOiAxMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LXRvcDogdW5xdW90ZSgnY2FsYygtMC4xICogMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWhlaWdodDogMC45ZW0gIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtbWFyZ2luLXJpZ2h0OiAxMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlci13aWR0aDogNXB4ICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaGVhZGluZy1saW5lLXRvcDogNTAlICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS13aWR0aDogMjAwMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDogMC42ZW0gIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1idWxsZXQtYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWlnaHQtc21hbGwtaGVpZ2h0OiAxNTBweCAhZGVmYXVsdDtcbiRoZWlnaHQtbWVkaXVtLWhlaWdodDogMzAwcHggIWRlZmF1bHQ7XG4kaGVpZ2h0LWxhcmdlLWhlaWdodDogNDUwcHggIWRlZmF1bHQ7XG4kaWNvbi1pbWFnZS1zaXplOiAyMHB4ICFkZWZhdWx0O1xuJGljb24tbGluay1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWxpbmstaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogZGFya2VuKCRnbG9iYWwtY29sb3IsIDUlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1zaXplOiAzNnB4ICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWJvcmRlci1yYWRpdXM6IDUwMHB4ICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tbGluay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1saW5rLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbi1idXR0b24taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb25uYXYtbWFyZ2luLWhvcml6b250YWw6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGljb25uYXYtbWFyZ2luLXZlcnRpY2FsOiAkaWNvbm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRpY29ubmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZ2xvYmFsLWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJGxhYmVsLXBhZGRpbmctdmVydGljYWw6IDAgIWRlZmF1bHQ7XG4kbGFiZWwtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGxhYmVsLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtd2FybmluZy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsYWJlbC13YXJuaW5nLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sYWJlbC1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGFiZWwtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxlYWRlci1maWxsLWNvbnRlbnQ6IHVucXVvdGUoJy4nKSAhZGVmYXVsdDtcbiRsZWFkZXItZmlsbC1tYXJnaW4tbGVmdDogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbGlnaHRib3gtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMTAgIWRlZmF1bHQ7XG4kbGlnaHRib3gtYmFja2dyb3VuZDogIzAwMCAhZGVmYXVsdDtcbiRsaWdodGJveC1pdGVtLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG4kbGlnaHRib3gtaXRlbS1tYXgtd2lkdGg6IDEwMHZ3ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tbWF4LWhlaWdodDogMTAwdmggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsOiAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItcGFkZGluZy1ob3Jpem9udGFsOiAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjMpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWljb24tcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlci1jb2xvcjogI2ZmZiAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tc2l6ZTogNTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tYmFja2dyb3VuZDogJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KSAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24taG92ZXItY29sb3I6ICNmZmYgIWRlZmF1bHQ7XG4kbGluay1tdXRlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxpbmstdGV4dC1ob3Zlci1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLWhlYWRpbmctaG92ZXItY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpbmstaGVhZGluZy1ob3Zlci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLW11dGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLW11dGVkLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLXRleHQtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaXN0LW1hcmdpbi10b3A6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbmVzdGVkLXBhZGRpbmctbGVmdDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LXN0cmlwZWQtYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LXdpZHRoOiAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtaGVpZ2h0OiAkbGlzdC1idWxsZXQtd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1idWxsZXQtbWFyZ2luLXJpZ2h0OiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1pY29uLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2UtbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtbGFyZ2Utc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjYlMjIlMjBoZWlnaHQlM0QlMjI2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNiUyMDYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjIzJTIyJTIwY3klM0QlMjIzJTIyJTIwciUzRCUyMjMlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnZlcnNlLWxpc3QtZGl2aWRlci1ib3JkZXI6ICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbWFyZ2luLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLXNtYWxsLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLW1lZGl1bS1tYXJnaW46ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4tbGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kbWFyZ2luLWxhcmdlLW1hcmdpbi1sOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbjogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1tYXJnaW46IDE0MHB4ICFkZWZhdWx0O1xuJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJrZXItcGFkZGluZzogNXB4ICFkZWZhdWx0O1xuJG1hcmtlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG1hcmtlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJG1hcmtlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW1hcmtlci1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNikgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4ICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTogJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWw6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbC1zOiA1MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1jb250YWluZXItd2lkdGg6IDEyMDBweCAhZGVmYXVsdDtcbiRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbDogKCRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbDogKCRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1mb250LXNpemU6ICRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBvc2l0aW9uOiAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjogMCAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZTogMTAwJSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yOiBsaWdodGVuKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMjAlKSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtcGFkZGluZy1sZWZ0OiAxNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ6IDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiAycHggIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLXdpZHRoOiAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWhlaWdodDogJG5hdi1wYXJlbnQtaWNvbi13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24tY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAkbmF2LWl0ZW0tcGFkZGluZy12ZXJ0aWNhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJG5hdi1oZWFkZXItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6IDAgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1saW5lLWhlaWdodDogJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxMCUyMDElMjA0JTIwNyUyMDEwJTIwMTMlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1uYXYtcGFyZW50LW9wZW4taW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIxNCUyMiUyMGhlaWdodCUzRCUyMjE0JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMTQlMjAxNCUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWxpbmUlMjBmaWxsJTNEJTIybm9uZSUyMiUyMHN0cm9rZSUzRCUyMiMwMDAlMjIlMjBzdHJva2Utd2lkdGglM0QlMjIxLjElMjIlMjBwb2ludHMlM0QlMjIxJTIwNCUyMDclMjAxMCUyMDEzJTIwNCUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRVwiICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItY29sb3ItbW9kZTogbm9uZSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0taGVpZ2h0OiA4MHB4ICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItaXRlbS1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tcGFkZGluZzogMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAkbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcDogMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tYm90dG9tOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1oZWFkZXItY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wYmFyLWJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGRvd24tYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGJhci16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdmJhci10b2dnbGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tcG9zaXRpb246IDEwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLXotaW5kZXg6ICRnbG9iYWwtei1pbmRleCArIDQwICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi13aWR0aDogMzUwcHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbWFyZ2luLXRvcDogMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtZm9udC1zaXplOiAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtdG9wOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcGFkZGluZyArIDVweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ6ICRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnktY29sb3I6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmctY29sb3I6ICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjogJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItd2lkdGg6IDI3MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDogJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItd2lkdGgtbTogMzUwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWNsb3NlLXBvc2l0aW9uOiAyMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjEpICFkZWZhdWx0O1xuJG92ZXJsYXktcGFkZGluZy1ob3Jpem9udGFsOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRvdmVybGF5LXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG92ZXJsYXktZGVmYXVsdC1iYWNrZ3JvdW5kOiByZ2JhKCRnbG9iYWwtYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktYmFja2dyb3VuZDogcmdiYSgkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kLCAwLjgpICFkZWZhdWx0O1xuJG92ZXJsYXktcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctcGFkZGluZy1sOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGFkZGluZy1zbWFsbC1wYWRkaW5nOiAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmc6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtcGFkZGluZy1sOiAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcGxhY2Vob2xkZXItYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjogJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbWVkaXVtLW1hcmdpbjogJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbDogNTBweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1oZWlnaHQ6IDE1cHggIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlYXJjaC1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLWljb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtd2lkdGg6IDE4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWhlaWdodDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw6IDZweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDogJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLXdpZHRoOiA0MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWhlaWdodDogNDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzZWFyY2gtbmF2YmFyLWljb24td2lkdGg6IDQwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLWxhcmdlLXdpZHRoOiA1MDBweCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtaGVpZ2h0OiA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtZm9udC1zaXplOiAkZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOiA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC10b2dnbGUtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtaWNvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1mb2N1cy1iYWNrZ3JvdW5kOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWwtbTogJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG4kc2VjdGlvbi1kZWZhdWx0LWJhY2tncm91bmQ6ICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLW11dGVkLWJhY2tncm91bmQ6ICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktYmFja2dyb3VuZDogJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1wcmltYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHNlY3Rpb24tc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VjdGlvbi1zZWNvbmRhcnktY29sb3ItbW9kZTogbGlnaHQgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtcGFkZGluZy12ZXJ0aWNhbDogNXB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1jb2xvcjogcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWhvdmVyLWNvbG9yOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuOSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kc2xpZGVuYXYtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw6ICRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtaG92ZXItY29sb3I6IHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjk1KSAhZGVmYXVsdDtcbiRpbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZS1jb2xvcjogcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG4kc29ydGFibGUtZHJhZ2dlZC16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggKyA1MCAhZGVmYXVsdDtcbiRzb3J0YWJsZS1wbGFjZWhvbGRlci1vcGFjaXR5OiAwICFkZWZhdWx0O1xuJHNvcnRhYmxlLWVtcHR5LWhlaWdodDogNTBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXNpemU6IDMwcHggIWRlZmF1bHQ7XG4kc3Bpbm5lci1zdHJva2Utd2lkdGg6IDEgIWRlZmF1bHQ7XG4kc3Bpbm5lci1yYWRpdXM6IGZsb29yKCgkc3Bpbm5lci1zaXplIC0gJHNwaW5uZXItc3Ryb2tlLXdpZHRoKSAvIDIpICFkZWZhdWx0O1xuJHNwaW5uZXItY2lyY3VtZmVyZW5jZTogcm91bmQoMiAqIDMuMTQxICogJHNwaW5uZXItcmFkaXVzKSAhZGVmYXVsdDtcbiRzcGlubmVyLWR1cmF0aW9uOiAxLjRzICFkZWZhdWx0O1xuJHN0aWNreS16LWluZGV4OiAkZ2xvYmFsLXotaW5kZXggLSAyMCAhZGVmYXVsdDtcbiRzdGlja3ktYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjJzICFkZWZhdWx0O1xuJHN0aWNreS1yZXZlcnNlLWFuaW1hdGlvbi1kdXJhdGlvbjogMC4ycyAhZGVmYXVsdDtcbiRzdWJuYXYtbWFyZ2luLWhvcml6b250YWw6IDIwcHggIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDogJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItaGVpZ2h0OiAxLjVlbSAhZGVmYXVsdDtcbiRzdWJuYXYtZGl2aWRlci1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHN1Ym5hdi1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6IDEwcHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAkc3VibmF2LWl0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvcjogJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWl0ZW0taG92ZXItY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LWRpdmlkZXItYm9yZGVyOiAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLW1hcmdpbi1ob3Jpem9udGFsOiAyMHB4ICFkZWZhdWx0O1xuJHRhYi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogMTBweCAhZGVmYXVsdDtcbiR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsOiA1cHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHRhYi1pdGVtLWFjdGl2ZS1jb2xvcjogJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAxNnB4ICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAxMnB4ICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZGVyLWNlbGwtY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdGVyLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1mb250LXNpemU6ICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiAjZmZkICFkZWZhdWx0O1xuJHRhYmxlLWRpdmlkZXItYm9yZGVyLXdpZHRoOiAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1kaXZpZGVyLWJvcmRlcjogJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDogJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbDogMTBweCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogMTJweCAhZGVmYXVsdDtcbiR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctdmVydGljYWw6IDIycHggIWRlZmF1bHQ7XG4kdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLWhvcml6b250YWw6IDEycHggIWRlZmF1bHQ7XG4kdGFibGUtZXhwYW5kLW1pbi13aWR0aDogMTUwcHggIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtY2FwdGlvbi1jb2xvcjogJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kOiBmYWRlLW91dCgkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgMC4wMikgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1kaXZpZGVyLWJvcmRlcjogJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXN0cmlwZWQtcm93LWJhY2tncm91bmQ6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWZvbnQtc2l6ZTogJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kdGV4dC1tZXRhLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtc21hbGwtZm9udC1zaXplOiAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0OiAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sYXJnZS1mb250LXNpemU6ICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbGFyZ2UtbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcbiR0ZXh0LWJvbGQtZm9udC13ZWlnaHQ6IGJvbGRlciAhZGVmYXVsdDtcbiR0ZXh0LW11dGVkLWNvbG9yOiAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtZW1waGFzaXMtY29sb3I6ICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kdGV4dC1wcmltYXJ5LWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0ZXh0LXN1Y2Nlc3MtY29sb3I6ICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtd2FybmluZy1jb2xvcjogJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1kYW5nZXItY29sb3I6ICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGV4dC1iYWNrZ3JvdW5kLWNvbG9yOiAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRleHQtbGVhZC1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LWVtcGhhc2lzLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LXByaW1hcnktY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiR0aHVtYm5hdi1tYXJnaW4tdmVydGljYWw6ICR0aHVtYm5hdi1tYXJnaW4taG9yaXpvbnRhbCAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDogMTVweCAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtc21hbGwtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuJHRpbGUtZGVmYXVsdC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1tdXRlZC1iYWNrZ3JvdW5kOiAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWJhY2tncm91bmQ6ICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtcHJpbWFyeS1jb2xvci1tb2RlOiBsaWdodCAhZGVmYXVsdDtcbiR0aWxlLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6IGxpZ2h0ICFkZWZhdWx0O1xuJHRvb2x0aXAtei1pbmRleDogJGdsb2JhbC16LWluZGV4ICsgMzAgIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy12ZXJ0aWNhbDogM3B4ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy1ob3Jpem9udGFsOiA2cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kOiAjNjY2ICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogMnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtc2l6ZTogMTJweCAhZGVmYXVsdDtcbiR0b29sdGlwLW1hcmdpbjogMTBweCAhZGVmYXVsdDtcbiR0b3RvcC1wYWRkaW5nOiA1cHggIWRlZmF1bHQ7XG4kdG90b3AtY29sb3I6ICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kdG90b3AtaG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kdG90b3AtYWN0aXZlLWNvbG9yOiAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRvdG9wLWhvdmVyLWNvbG9yOiAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10b3RvcC1hY3RpdmUtY29sb3I6ICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2NhbGU6IDEuMSAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogMTBweCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGU6IDUwcHggIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1zbG93LWR1cmF0aW9uOiAwLjdzICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtaGVpZ2h0OiAxNzBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc6IDEwcHggIWRlZmF1bHQ7XG4kcGFuZWwtc2Nyb2xsYWJsZS1ib3JkZXItd2lkdGg6ICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyOiAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRib3JkZXItcm91bmRlZC1ib3JkZXItcmFkaXVzOiA1cHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1kdXJhdGlvbjogMC4xcyAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ6IDMwcHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1czogMTAwJSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kOiAjNDQ0ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJsdXI6IDIwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1tYXJnaW4tcmlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kZHJvcGNhcC1mb250LXNpemU6ICgoJGdsb2JhbC1saW5lLWhlaWdodCAqIDMpICogMWVtKSAhZGVmYXVsdDtcbiRsb2dvLWZvbnQtc2l6ZTogJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbG9nby1mb250LWZhbWlseTogJGdsb2JhbC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsb2dvLWNvbG9yOiAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGxvZ28taG92ZXItY29sb3I6ICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kZHJhZ292ZXItYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgxMDAsMTAwLDEwMCwwLjMpICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbG9nby1ob3Zlci1jb2xvcjogJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtc21hbGw6IDY0MHB4ICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtbWVkaXVtOiA5NjBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LWxhcmdlOiAxMjAwcHggIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC14bGFyZ2U6IDE2MDBweCAhZGVmYXVsdDtcbiRicmVha3BvaW50LXhzbWFsbC1tYXg6ICgkYnJlYWtwb2ludC1zbWFsbCAtIDEpICFkZWZhdWx0O1xuJGJyZWFrcG9pbnQtc21hbGwtbWF4OiAoJGJyZWFrcG9pbnQtbWVkaXVtIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1tZWRpdW0tbWF4OiAoJGJyZWFrcG9pbnQtbGFyZ2UgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LWxhcmdlLW1heDogKCRicmVha3BvaW50LXhsYXJnZSAtIDEpICFkZWZhdWx0O1xuJGdsb2JhbC1zbWFsbC1ib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLDAsMCwwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLWJveC1zaGFkb3c6IDAgNXB4IDE1cHggcmdiYSgwLDAsMCwwLjA4KSAhZGVmYXVsdDtcbiRnbG9iYWwtbGFyZ2UtYm94LXNoYWRvdzogMCAxNHB4IDI1cHggcmdiYSgwLDAsMCwwLjE2KSAhZGVmYXVsdDtcbiRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c6IDAgMjhweCA1MHB4IHJnYmEoMCwwLDAsMC4xNikgIWRlZmF1bHQ7XG4kd2lkdGgtc21hbGwtd2lkdGg6IDE1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLW1lZGl1bS13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG4kd2lkdGgtbGFyZ2Utd2lkdGg6IDQ1MHB4ICFkZWZhdWx0O1xuJHdpZHRoLXhsYXJnZS13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG4kd2lkdGgteHhsYXJnZS13aWR0aDogNzUwcHggIWRlZmF1bHQ7IiwiQG1peGluIGhvb2stYWNjb3JkaW9uKCl7fVxuQG1peGluIGhvb2stYWNjb3JkaW9uLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1hY2NvcmRpb24tY29udGVudCgpe31cbkBtaXhpbiBob29rLWFjY29yZGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1hY2NvcmRpb24oKXtcblxuICAgIC51ay1hY2NvcmRpb24gPiA6bnRoLWNoaWxkKG4rMikge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1hY2NvcmRpb24taXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYWNjb3JkaW9uLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlKCk7fVxuICAgIH1cblxuICAgIC51ay1hY2NvcmRpb24tdGl0bGU6aG92ZXIsXG4gICAgLnVrLWFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWFjY29yZGlvbi10aXRsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYWxlcnQoKXt9XG5AbWl4aW4gaG9vay1hbGVydC1jbG9zZSgpe31cbkBtaXhpbiBob29rLWFsZXJ0LWNsb3NlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYWxlcnQtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWFsZXJ0LXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1hbGVydC13YXJuaW5nKCl7fVxuQG1peGluIGhvb2stYWxlcnQtZGFuZ2VyKCl7fVxuQG1peGluIGhvb2stYWxlcnQtbWlzYygpe31cbkBtaXhpbiBob29rLWFsaWduLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1hbmltYXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLWFydGljbGUoKXt9XG5AbWl4aW4gaG9vay1hcnRpY2xlLWFkamFjZW50KCl7fVxuQG1peGluIGhvb2stYXJ0aWNsZS10aXRsZSgpe31cbkBtaXhpbiBob29rLWFydGljbGUtbWV0YSgpe31cbkBtaXhpbiBob29rLWFydGljbGUtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtYXJ0aWNsZSgpe1xuXG4gICAgLnVrLWFydGljbGUtdGl0bGUgIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSgpO31cbiAgICB9XG5cbiAgICAudWstYXJ0aWNsZS1tZXRhICB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1hcnRpY2xlLW1ldGEtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWFydGljbGUtbWV0YSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYmFja2dyb3VuZC1taXNjKCl7fVxuQG1peGluIGhvb2stYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1iYWRnZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJhZGdlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYWRnZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJhZGdlKCl7XG5cbiAgICAudWstYmFkZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1iYWRnZS1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYmFkZ2UtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhZGdlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYWRnZSgpO31cbiAgICB9XG5cbiAgICAudWstYmFkZ2U6aG92ZXIsXG4gICAgLnVrLWJhZGdlOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhZGdlLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYWRnZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFkZ2UtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1iYXNlLWJvZHkoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWxpbmstaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWNvZGUoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWhlYWRpbmcoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWgxKCl7fVxuQG1peGluIGhvb2stYmFzZS1oMigpe31cbkBtaXhpbiBob29rLWJhc2UtaDMoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWg0KCl7fVxuQG1peGluIGhvb2stYmFzZS1oNSgpe31cbkBtaXhpbiBob29rLWJhc2UtaDYoKXt9XG5AbWl4aW4gaG9vay1iYXNlLWhyKCl7fVxuQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlKCl7fVxuQG1peGluIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbkBtaXhpbiBob29rLWJhc2UtcHJlKCl7fVxuQG1peGluIGhvb2stYmFzZS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1jb2RlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhlYWRpbmcoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDEoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDMoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaDYoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3Rlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ocigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJhc2UoKXtcblxuICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWNvbG9yO1xuXG4gICAgLy8gQmFzZVxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgLy9cbiAgICAvLyBMaW5rXG4gICAgLy9cblxuICAgIGEsXG4gICAgLnVrLWxpbmsgIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1saW5rKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWxpbmsoKTt9XG4gICAgfVxuXG4gICAgYTpob3ZlcixcbiAgICAudWstbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gQ29kZVxuICAgIC8vXG5cbiAgICA6bm90KHByZSkgPiBjb2RlLFxuICAgIDpub3QocHJlKSA+IGtiZCxcbiAgICA6bm90KHByZSkgPiBzYW1wIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJhc2UtY29kZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1jb2RlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWNvZGUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBFbXBoYXNpemVcbiAgICAvL1xuXG4gICAgZW0geyBjb2xvcjogJGludmVyc2UtYmFzZS1lbS1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBIZWFkaW5nc1xuICAgIC8vXG5cbiAgICBoMSwgLnVrLWgxLFxuICAgIGgyLCAudWstaDIsXG4gICAgaDMsIC51ay1oMyxcbiAgICBoNCwgLnVrLWg0LFxuICAgIGg1LCAudWstaDUsXG4gICAgaDYsIC51ay1oNiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1iYXNlLWhlYWRpbmctY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1oZWFkaW5nKCk7fVxuICAgIH1cblxuICAgIGgxLCAudWstaDEge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWgxKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWgxKCk7fVxuICAgIH1cblxuICAgIGgyLCAudWstaDIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWgyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWgyKCk7fVxuICAgIH1cblxuICAgIGgzLCAudWstaDMge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWgzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWgzKCk7fVxuICAgIH1cblxuICAgIGg0LCAudWstaDQge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWg0KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWg0KCk7fVxuICAgIH1cblxuICAgIGg1LCAudWstaDUge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWg1KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWg1KCk7fVxuICAgIH1cblxuICAgIGg2LCAudWstaDYge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWg2KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWg2KCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gQmxvY2txdW90ZXNcbiAgICAvL1xuXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJhc2UtYmxvY2txdW90ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCk7fVxuICAgIH1cblxuICAgIGJsb2NrcXVvdGUgZm9vdGVyIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIEhvcml6b250YWwgcnVsZXNcbiAgICAvL1xuXG4gICAgaHIsIC51ay1ociB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLWJhc2UtaHItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1iYXNlLWhyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1iYXNlLWhyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYnJlYWRjcnVtYigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbSgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1icmVhZGNydW1iLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJyZWFkY3J1bWIoKXtcblxuICAgIC51ay1icmVhZGNydW1iID4gKiA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLWJyZWFkY3J1bWIgPiAqID4gOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IC51ay1kaXNhYmxlZCA+ICoge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGl2aWRlclxuICAgIC8vXG5cbiAgICAudWstYnJlYWRjcnVtYiA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stYnV0dG9uKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWZvY3VzKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tc21hbGwoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tbGFyZ2UoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tdGV4dCgpe31cbkBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuQG1peGluIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1idXR0b24tbGluaygpe31cbkBtaXhpbiBob29rLWJ1dHRvbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tbGluaygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWJ1dHRvbigpe1xuXG4gICAgLy9cbiAgICAvLyBEZWZhdWx0XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tZGVmYXVsdCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tZGVmYXVsdDpob3ZlcixcbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLWRlZmF1bHQ6YWN0aXZlLFxuICAgIC51ay1idXR0b24tZGVmYXVsdC51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQcmltYXJ5XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tcHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tcHJpbWFyeTpob3ZlcixcbiAgICAudWstYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXByaW1hcnk6YWN0aXZlLFxuICAgIC51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBTZWNvbmRhcnlcbiAgICAvL1xuXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5OmhvdmVyLFxuICAgIC51ay1idXR0b24tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4gICAgLnVrLWJ1dHRvbi1zZWNvbmRhcnkudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBUZXh0XG4gICAgLy9cblxuICAgIC51ay1idXR0b24tdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1idXR0b24tdGV4dC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtYnV0dG9uLXRleHQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0KCk7fVxuICAgIH1cblxuICAgIC51ay1idXR0b24tdGV4dDpob3ZlcixcbiAgICAudWstYnV0dG9uLXRleHQ6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1idXR0b24tdGV4dC1kaXNhYmxlZCgpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgLnVrLWJ1dHRvbi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWJ1dHRvbi1saW5rLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1idXR0b24tbGluaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtYnV0dG9uLWxpbmsoKTt9XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1saW5rOmhvdmVyLFxuICAgIC51ay1idXR0b24tbGluazpmb2N1cyB7IGNvbG9yOiAkaW52ZXJzZS1idXR0b24tbGluay1ob3Zlci1jb2xvcjsgfVxuXG5cbn1cbkBtaXhpbiBob29rLWNhcmQoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWJvZHkoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWhlYWRlcigpe31cbkBtaXhpbiBob29rLWNhcmQtZm9vdGVyKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYSgpe31cbkBtaXhpbiBob29rLWNhcmQtbWVkaWEtdG9wKCl7fVxuQG1peGluIGhvb2stY2FyZC1tZWRpYS1ib3R0b20oKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLWxlZnQoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1lZGlhLXJpZ2h0KCl7fVxuQG1peGluIGhvb2stY2FyZC10aXRsZSgpe31cbkBtaXhpbiBob29rLWNhcmQtYmFkZ2UoKXt9XG5AbWl4aW4gaG9vay1jYXJkLWhvdmVyKCl7fVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWhvdmVyKCl7fVxuQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWNhcmQtZGVmYXVsdC1mb290ZXIoKXt9XG5AbWl4aW4gaG9vay1jYXJkLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1jYXJkLXByaW1hcnktdGl0bGUoKXt9XG5AbWl4aW4gaG9vay1jYXJkLXByaW1hcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeSgpe31cbkBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1jYXJkLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1jbG9zZSgpe31cbkBtaXhpbiBob29rLWNsb3NlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stY2xvc2UtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtY2xvc2UoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY2xvc2UoKXtcblxuICAgIC51ay1jbG9zZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1jbG9zZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNsb3NlKCk7fVxuICAgIH1cblxuICAgIC51ay1jbG9zZTpob3ZlcixcbiAgICAudWstY2xvc2U6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtY2xvc2UtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jbG9zZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNvbHVtbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY29sdW1uKCl7XG5cbiAgICAudWstY29sdW1uLWRpdmlkZXIgeyBjb2x1bW4tcnVsZS1jb2xvcjogJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjsgfVxuXG59XG5AbWl4aW4gaG9vay1jb21tZW50KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1ib2R5KCl7fVxuQG1peGluIGhvb2stY29tbWVudC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LXRpdGxlKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1tZXRhKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1hdmF0YXIoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQoKXt9XG5AbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViKCl7fVxuQG1peGluIGhvb2stY29tbWVudC1saXN0LXN1Yi1hZGphY2VudCgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWNvbW1lbnQtbWlzYygpe31cbkBtaXhpbiBob29rLWNvbnRhaW5lci1taXNjKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1jb3VudGRvd24tbnVtYmVyKCl7fVxuQG1peGluIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1sYWJlbCgpe31cbkBtaXhpbiBob29rLWNvdW50ZG93bi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtY291bnRkb3duKCl7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlcixcbiAgICAudWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1udW1iZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3Ige1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1jb3VudGRvd24tc2VwYXJhdG9yKCk7fVxuICAgIH1cblxuICAgIC51ay1jb3VudGRvd24tbGFiZWwge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1jb3VudGRvd24tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvdW50ZG93bi1sYWJlbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWNvdmVyLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LXRlcm0oKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRlc2NyaXB0aW9uKCl7fVxuQG1peGluIGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0oKXt9XG5AbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKXt9XG5AbWl4aW4gc3ZnLWZpbGwoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcsICRwcm9wZXJ0eTogYmFja2dyb3VuZC1pbWFnZSl7XG5cbiAgICAkZXNjYXBlLWNvbG9yLWRlZmF1bHQ6ICBlc2NhcGUoJGNvbG9yLWRlZmF1bHQpICFkZWZhdWx0O1xuICAgICRlc2NhcGUtY29sb3ItbmV3OiAgZXNjYXBlKFwiI3skY29sb3ItbmV3fVwiKSAhZGVmYXVsdDtcblxuICAgICRkYXRhLXVyaTogIGRhdGEtdXJpKCdpbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgnLCBcIiN7JHNyY31cIikgIWRlZmF1bHQ7XG4gICAgJHJlcGxhY2Utc3JjOiAgcmVwbGFjZShcIiN7JGRhdGEtdXJpfVwiLCBcIiN7JGVzY2FwZS1jb2xvci1kZWZhdWx0fVwiLCBcIiN7JGVzY2FwZS1jb2xvci1uZXd9XCIsIFwiZ1wiKSAhZGVmYXVsdDtcblxuICAgICN7JHByb3BlcnR5fTogdW5xdW90ZSgkcmVwbGFjZS1zcmMpO1xufVxuQG1peGluIGhvb2stZGl2aWRlci1pY29uKCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1sZWZ0KCl7fVxuQG1peGluIGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQoKXt9XG5AbWl4aW4gaG9vay1kaXZpZGVyLXNtYWxsKCl7fVxuQG1peGluIGhvb2stZGl2aWRlci12ZXJ0aWNhbCgpe31cbkBtaXhpbiBob29rLWRpdmlkZXItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1pY29uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci1zbWFsbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtZGl2aWRlci12ZXJ0aWNhbCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWRpdmlkZXIoKXtcblxuICAgIC51ay1kaXZpZGVyLWljb24ge1xuICAgICAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZGl2aWRlci1pY29uLWNvbG9yKTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZGl2aWRlci1pY29uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKTt9XG4gICAgfVxuXG4gICAgLnVrLWRpdmlkZXItaWNvbjo6YmVmb3JlLFxuICAgIC51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24tbGluZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZGl2aWRlci1pY29uLWxpbmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLWRpdmlkZXItc21hbGw6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtZGl2aWRlci1zbWFsbC1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRpdmlkZXItc21hbGwoKTt9XG4gICAgfVxuXG4gICAgLnVrLWRpdmlkZXItdmVydGljYWw6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRpbnZlcnNlLWRpdmlkZXItdmVydGljYWwtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stZG90bmF2KCl7fVxuQG1peGluIGhvb2stZG90bmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWRvdG5hdi1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1kb3RuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kb3RuYXYoKXtcblxuICAgIC51ay1kb3RuYXYgPiAqID4gKiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstZG90bmF2ID4gKiA+IDpob3ZlcixcbiAgICAudWstZG90bmF2ID4gKiA+IDpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstZG90bmF2ID4gKiA+IDphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLW9uY2xpY2soKTt9XG4gICAgfVxuXG4gICAgLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZG90bmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2stZHJvcC1taXNjKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24oKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYoKXt9XG5AbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stZHJvcGRvd24tbWlzYygpe31cbkBtaXhpbiBob29rLWZsZXgtbWlzYygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRodW1iKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYW5nZS10cmFjaygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhbmdlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1mb3JtKCl7fVxuQG1peGluIGhvb2stZm9ybS1zaW5nbGUtbGluZSgpe31cbkBtaXhpbiBob29rLWZvcm0tbXVsdGktbGluZSgpe31cbkBtaXhpbiBob29rLWZvcm0tZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWRpc2FibGVkKCl7fVxuQG1peGluIGhvb2stZm9ybS1kYW5nZXIoKXt9XG5AbWl4aW4gaG9vay1mb3JtLXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1mb3JtLWJsYW5rKCl7fVxuQG1peGluIGhvb2stZm9ybS1ibGFuay1mb2N1cygpe31cbkBtaXhpbiBob29rLWZvcm0tcmFkaW8oKXt9XG5AbWl4aW4gaG9vay1mb3JtLXJhZGlvLWZvY3VzKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuQG1peGluIGhvb2stZm9ybS1yYWRpby1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLWZvcm0tbGVnZW5kKCl7fVxuQG1peGluIGhvb2stZm9ybS1sYWJlbCgpe31cbkBtaXhpbiBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpe31cbkBtaXhpbiBob29rLWZvcm0taG9yaXpvbnRhbC1sYWJlbCgpe31cbkBtaXhpbiBob29rLWZvcm0tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpbygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1mb2N1cygpe31cbkBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1mb3JtKCl7XG5cbiAgICAudWstaW5wdXQsXG4gICAgLnVrLXNlbGVjdCxcbiAgICAudWstdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1mb3JtLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtKCk7fVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgICAgICAgICAgY29sb3I6ICRpbnZlcnNlLWZvcm0tZm9jdXMtY29sb3I7XG4gICAgICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLWZvY3VzKCk7fVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBQbGFjZWhvbGRlclxuICAgIC8vXG5cbiAgICAudWstaW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuICAgIC51ay10ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRpbnZlcnNlLWZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0YXJlYTo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG4gICAgLy9cbiAgICAvLyBSYWRpbyBhbmQgY2hlY2tib3hcbiAgICAvL1xuXG4gICAgLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy9cbiAgICAvLyBSYWRpbyBhbmQgY2hlY2tib3hcbiAgICAvL1xuXG4gICAgLnVrLXJhZGlvLFxuICAgIC51ay1jaGVja2JveCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtZm9ybS1yYWRpbykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpbygpO31cbiAgICB9XG5cbiAgICAvLyBGb2N1c1xuICAgIC51ay1yYWRpbzpmb2N1cyxcbiAgICAudWstY2hlY2tib3g6Zm9jdXMge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC8vIENoZWNrZWRcbiAgICAudWstcmFkaW86Y2hlY2tlZCxcbiAgICAudWstY2hlY2tib3g6Y2hlY2tlZCxcbiAgICAudWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCgpO31cbiAgICB9XG5cbiAgICAvLyBGb2N1c1xuICAgIC51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDpjaGVja2VkOmZvY3VzLFxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC8vIEljb25cbiAgICAudWstcmFkaW86Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4gICAgLnVrLWNoZWNrYm94OmNoZWNrZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuICAgIC51ay1jaGVja2JveDppbmRldGVybWluYXRlIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy8gTGFiZWxcbiAgICAudWstZm9ybS1sYWJlbCB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWZvcm0tbGFiZWwoKTt9XG4gICAgfVxuXG4gICAgLy8gSWNvblxuICAgIC51ay1mb3JtLWljb24geyBjb2xvcjogJGludmVyc2UtZm9ybS1pY29uLWNvbG9yOyB9XG4gICAgLnVrLWZvcm0taWNvbjpob3ZlciB7IGNvbG9yOiAkaW52ZXJzZS1mb3JtLWljb24taG92ZXItY29sb3I7IH1cblxufVxuQG1peGluIGhvb2stZ3JpZC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtZ3JpZCgpe1xuXG4gICAgLnVrLWdyaWQtZGl2aWRlciA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1ncmlkLWRpdmlkZXItYm9yZGVyOyB9XG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUgeyBib3JkZXItdG9wLWNvbG9yOiAkaW52ZXJzZS1ncmlkLWRpdmlkZXItYm9yZGVyOyB9XG5cbn1cbkBtaXhpbiBob29rLWhlYWRpbmctcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLWhlYWRpbmctaGVybygpe31cbkBtaXhpbiBob29rLWhlYWRpbmctZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWhlYWRpbmctYnVsbGV0KCl7fVxuQG1peGluIGhvb2staGVhZGluZy1saW5lKCl7fVxuQG1peGluIGhvb2staGVhZGluZy1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1saW5lKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtaGVhZGluZygpe1xuXG4gICAgLnVrLWhlYWRpbmctcHJpbWFyeSB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWhlYWRpbmctcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCk7fVxuICAgIH1cblxuICAgIC51ay1oZWFkaW5nLWhlcm8ge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWhlYWRpbmctaGVybygpO31cbiAgICB9XG5cbiAgICAudWstaGVhZGluZy1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtaGVhZGluZy1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctYnVsbGV0OjpiZWZvcmUge1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGludmVyc2UtaGVhZGluZy1idWxsZXQtYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1oZWFkaW5nLWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKTt9XG4gICAgfVxuXG4gICAgLnVrLWhlYWRpbmctbGluZSA+IDo6YmVmb3JlLFxuICAgIC51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaGVhZGluZy1saW5lKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1oZWFkaW5nLWxpbmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1oZWlnaHQtbWlzYygpe31cbkBtaXhpbiBob29rLWljb24tbGluaygpe31cbkBtaXhpbiBob29rLWljb24tbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWljb24tbGluay1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pY29uLWJ1dHRvbigpe31cbkBtaXhpbiBob29rLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staWNvbi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmsoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29uKCl7XG5cbiAgICAvL1xuICAgIC8vIExpbmtcbiAgICAvL1xuXG4gICAgLnVrLWljb24tbGluayB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluaykpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1saW5rKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWxpbms6aG92ZXIsXG4gICAgLnVrLWljb24tbGluazpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1saW5rLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWxpbms6YWN0aXZlLFxuICAgIC51ay1hY3RpdmUgPiAudWstaWNvbi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBCdXR0b25cbiAgICAvL1xuXG4gICAgLnVrLWljb24tYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtaWNvbi1idXR0b24oKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuICAgIC51ay1pY29uLWJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1pY29uLWJ1dHRvbjphY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pY29ubmF2KCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWljb25uYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC1pY29ubmF2KCl7XG5cbiAgICAudWstaWNvbm5hdiA+ICogPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb25uYXYgPiAqID4gYTpob3ZlcixcbiAgICAudWstaWNvbm5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWljb25uYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGluaygpe1xuXG4gICAgYS51ay1saW5rLW11dGVkLFxuICAgIC51ay1saW5rLW11dGVkIGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGluay1tdXRlZC1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGluay1tdXRlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1tdXRlZCgpO31cbiAgICB9XG5cbiAgICBhLnVrLWxpbmstbXV0ZWQ6aG92ZXIsXG4gICAgLnVrLWxpbmstbXV0ZWQgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLW11dGVkLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIGEudWstbGluay10ZXh0OmhvdmVyLFxuICAgIC51ay1saW5rLXRleHQgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLXRleHQtaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstdGV4dC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay10ZXh0LWhvdmVyKCk7fVxuICAgIH1cblxuICAgIGEudWstbGluay1oZWFkaW5nOmhvdmVyLFxuICAgIC51ay1saW5rLWhlYWRpbmcgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXItY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxpbmstaGVhZGluZy1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGluay1oZWFkaW5nLWhvdmVyKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGlzdCgpe1xuXG4gICAgLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbGlzdC1kaXZpZGVyLWJvcmRlcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1saXN0LXN0cmlwZWQoKTt9XG4gICAgfVxuXG4gICAgLnVrLWxpc3Qtc3RyaXBlZCA+IGxpOm50aC1vZi10eXBlKG9kZCkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1saXN0LXN0cmlwZWQtYmFja2dyb3VuZDsgfVxuXG4gICAgLnVrLWxpc3QtYnVsbGV0ID4gbGk6OmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZSwgXCIjMDAwXCIsICRpbnZlcnNlLWxpc3QtYnVsbGV0LWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1saXN0LWJ1bGxldCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbGlzdC1idWxsZXQoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay1pbnZlcnNlLWNvbXBvbmVudC10b3RvcCgpe1xuXG4gICAgLnVrLXRvdG9wIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRvdG9wLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdG90b3AoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRvdG9wOmhvdmVyLFxuICAgIC51ay10b3RvcDpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10b3RvcC1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdG90b3AtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay10b3RvcDphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10b3RvcC1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LWxhYmVsKCl7XG5cbiAgICAudWstbGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1sYWJlbC1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbGFiZWwtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxhYmVsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1sYWJlbCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNlYXJjaCgpe1xuXG4gICAgLy9cbiAgICAvLyBJbnB1dFxuICAgIC8vXG5cbiAgICAudWstc2VhcmNoLWlucHV0IHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1jb2xvcjsgfVxuXG4gICAgLnVrLXNlYXJjaC1pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstc2VhcmNoLWlucHV0OjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4gICAgLy9cbiAgICAvLyBJY29uXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uIHsgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC1pY29uLWNvbG9yOyB9XG4gICAgLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246aG92ZXIgeyBjb2xvcjogJGludmVyc2Utc2VhcmNoLWljb24tY29sb3I7IH1cblxuICAgIC8vXG4gICAgLy8gU3R5bGUgbW9kaWZpZXJcbiAgICAvL1xuXG4gICAgLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKTt9XG4gICAgfVxuICAgIC51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCk7fVxuICAgIH1cblxuICAgIC51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC1uYXZiYXItaW5wdXQoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGludmVyc2Utc2VhcmNoLWxhcmdlLWJhY2tncm91bmQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC1sYXJnZS1pbnB1dCkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gVG9nZ2xlXG4gICAgLy9cblxuICAgIC51ay1zZWFyY2gtdG9nZ2xlIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNlYXJjaC10b2dnbGUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNlYXJjaC10b2dnbGU6aG92ZXIsXG4gICAgLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2VhcmNoLXRvZ2dsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LW5hdigpe1xuXG4gICAgLy9cbiAgICAvLyBQYXJlbnQgaWNvbiBtb2RpZmllclxuICAgIC8vXG5cbiAgICAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLW5hdi1wYXJlbnQtY2xvc2UtaW1hZ2UsIFwiIzAwMFwiLCAkaW52ZXJzZS1uYXYtcGFyZW50LWljb24tY29sb3IpO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yKTsgfVxuXG4gICAgLy9cbiAgICAvLyBEZWZhdWx0XG4gICAgLy9cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCA+IGxpID4gYTpob3ZlcixcbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtaGVhZGVyIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4gICAgLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgbGkudWstYWN0aXZlID4gYSB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOyB9XG5cbiAgICAvL1xuICAgIC8vIFByaW1hcnlcbiAgICAvL1xuXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOyB9XG5cbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpob3ZlcixcbiAgICAudWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuICAgIC51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbmF2YmFyKCl7XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItbmF2ID4gbGk6aG92ZXIgPiBhLFxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuICAgIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLnVrLW9wZW4ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLW5hdiA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLWl0ZW0ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstbmF2YmFyLXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1uYXZiYXItdG9nZ2xlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCk7fVxuICAgIH1cblxuICAgIC51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuICAgIC51ay1uYXZiYXItdG9nZ2xlOmZvY3VzLFxuICAgIC51ay1uYXZiYXItdG9nZ2xlLnVrLW9wZW4ge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXN1Ym5hdigpe1xuXG4gICAgLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2ID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc3VibmF2LWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLy9cbiAgICAvLyBEaXZpZGVyXG4gICAgLy9cblxuICAgIC51ay1zdWJuYXYtZGl2aWRlciA+IDpudGgtY2hpbGQobisyKTpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpO31cbiAgICB9XG5cbiAgICAvL1xuICAgIC8vIFBpbGxcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYmFja2dyb3VuZDtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4gICAgLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCk7fVxuICAgIH1cblxuICAgIC51ay1zdWJuYXYtcGlsbCA+ICogPiBhOmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2spKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpO31cbiAgICB9XG5cbiAgICAudWstc3VibmF2LXBpbGwgPiAudWstYWN0aXZlID4gYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC8vXG4gICAgLy8gRGlzYWJsZWRcbiAgICAvL1xuXG4gICAgLnVrLXN1Ym5hdiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXBhZ2luYXRpb24oKXtcblxuICAgIC51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpO31cbiAgICB9XG5cbiAgICAudWstcGFnaW5hdGlvbiA+ICogPiA6aG92ZXIsXG4gICAgLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGFiKCl7XG5cbiAgICAudWstdGFiIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+ICogPiBhOmhvdmVyLFxuICAgIC51ay10YWIgPiAqID4gYTpmb2N1c3tcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFiLWl0ZW0taG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXRhYi1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYiA+IC51ay1kaXNhYmxlZCA+IGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFiLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXNsaWRlbmF2KCl7XG5cbiAgICAudWstc2xpZGVuYXYge1xuICAgICAgICBjb2xvcjogJGludmVyc2Utc2xpZGVuYXYtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2KSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1zbGlkZW5hdigpO31cbiAgICB9XG5cbiAgICAudWstc2xpZGVuYXY6aG92ZXIsXG4gICAgLnVrLXNsaWRlbmF2OmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLXNsaWRlbmF2LWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYtaG92ZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXNsaWRlbmF2OmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXNsaWRlbmF2LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCk7fVxuICAgIH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGV4dCgpe1xuXG4gICAgLnVrLXRleHQtbGVhZCB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRleHQtbGVhZCkpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGV4dC1sZWFkKCk7fVxuICAgIH1cblxuICAgIC51ay10ZXh0LW1ldGEge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGV4dC1tZXRhLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRleHQtbWV0YSgpO31cbiAgICB9XG5cbiAgICAudWstdGV4dC1tdXRlZCB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1lbXBoYXNpcyB7IGNvbG9yOiAkaW52ZXJzZS10ZXh0LWVtcGhhc2lzLWNvbG9yICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1wcmltYXJ5IHsgY29sb3I6ICRpbnZlcnNlLXRleHQtcHJpbWFyeS1jb2xvciAhaW1wb3J0YW50OyB9XG5cbn1cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXV0aWxpdHkoKXtcblxuICAgIC51ay1kcm9wY2FwOjpmaXJzdC1sZXR0ZXIsXG4gICAgLnVrLWRyb3BjYXAgcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1kcm9wY2FwKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS1kcm9wY2FwKCk7fVxuICAgIH1cblxuICAgIC51ay1sb2dvIHtcbiAgICAgICAgY29sb3I6ICRpbnZlcnNlLWxvZ28tY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLWxvZ28pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxvZ28oKTt9XG4gICAgfVxuXG4gICAgLnVrLWxvZ286aG92ZXIsXG4gICAgLnVrLWxvZ286Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbG9nby1ob3Zlci1jb2xvcjtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtbG9nby1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtbG9nby1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstbG9nbyA+IDpub3QoLnVrLWxvZ28taW52ZXJzZSk6bm90KDpvbmx5LW9mLXR5cGUpIHsgZGlzcGxheTogbm9uZTsgfVxuICAgIC51ay1sb2dvLWludmVyc2UgeyBkaXNwbGF5OiBpbmxpbmU7IH1cblxufVxuQG1peGluIGhvb2staW52ZXJzZSgpe1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYmFzZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGluaygpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaGVhZGluZygpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZGl2aWRlcigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGlzdCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtZm9ybSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYnV0dG9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1ncmlkKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1jbG9zZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdG90b3AoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWJhZGdlKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1sYWJlbCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtYXJ0aWNsZSgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc2VhcmNoKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1uYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LW5hdmJhcigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtc3VibmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1icmVhZGNydW1iKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1wYWdpbmF0aW9uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC10YWIoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LXNsaWRlbmF2KCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC1kb3RuYXYoKTtcbiAgICBAaW5jbHVkZSBob29rLWludmVyc2UtY29tcG9uZW50LWFjY29yZGlvbigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtaWNvbm5hdigpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtdGV4dCgpO1xuICAgIEBpbmNsdWRlIGhvb2staW52ZXJzZS1jb21wb25lbnQtY29sdW1uKCk7XG4gICAgQGluY2x1ZGUgaG9vay1pbnZlcnNlLWNvbXBvbmVudC11dGlsaXR5KCk7XG59XG5AbWl4aW4gaG9vay1sYWJlbCgpe31cbkBtaXhpbiBob29rLWxhYmVsLXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1sYWJlbC13YXJuaW5nKCl7fVxuQG1peGluIGhvb2stbGFiZWwtZGFuZ2VyKCl7fVxuQG1peGluIGhvb2stbGFiZWwtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGFiZWwoKXt9XG5AbWl4aW4gaG9vay1sZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1sZWFkZXItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGVhZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1jb21wb25lbnQtbGVhZGVyKCl7XG5cbiAgICAudWstbGVhZGVyLWZpbGwge1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1sZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLWxlYWRlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLWxpZ2h0Ym94KCl7fVxuQG1peGluIGhvb2stbGlnaHRib3gtaXRlbSgpe31cbkBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24oKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1idXR0b24oKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1idXR0b24taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saWdodGJveC1taXNjKCl7fVxuQG1peGluIGhvb2stbGluay1tdXRlZCgpe31cbkBtaXhpbiBob29rLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saW5rLXRleHQoKXt9XG5AbWl4aW4gaG9vay1saW5rLXRleHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saW5rLWhlYWRpbmcoKXt9XG5AbWl4aW4gaG9vay1saW5rLWhlYWRpbmctaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1saW5rLXJlc2V0KCl7fVxuQG1peGluIGhvb2stbGluay1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlcigpe31cbkBtaXhpbiBob29rLWxpc3QtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWxpc3Qtc3RyaXBlZCgpe31cbkBtaXhpbiBob29rLWxpc3QtYnVsbGV0KCl7fVxuQG1peGluIGhvb2stbGlzdC1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1saXN0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLWxpc3Qtc3RyaXBlZCgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbGlzdC1idWxsZXQoKXt9XG5AbWl4aW4gaG9vay1tYXJnaW4tbWlzYygpe31cbkBtaXhpbiBob29rLW1hcmtlcigpe31cbkBtaXhpbiBob29rLW1hcmtlci1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1hcmtlci1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW1hcmtlci1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LW1hcmtlcigpe1xuXG4gICAgLnVrLW1hcmtlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLW1hcmtlci1iYWNrZ3JvdW5kO1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbWFya2VyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1tYXJrZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW1hcmtlcigpO31cbiAgICB9XG5cbiAgICAudWstbWFya2VyOmhvdmVyLFxuICAgIC51ay1tYXJrZXI6Zm9jdXMge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtbWFya2VyLWhvdmVyLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS1tYXJrZXItaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLW1hcmtlci1ob3ZlcigpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLW1vZGFsKCl7fVxuQG1peGluIGhvb2stbW9kYWwtZGlhbG9nKCl7fVxuQG1peGluIGhvb2stbW9kYWwtZnVsbCgpe31cbkBtaXhpbiBob29rLW1vZGFsLWJvZHkoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1mb290ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe31cbkBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1tb2RhbC1taXNjKCl7fVxuQG1peGluIGhvb2stbmF2LXN1Yigpe31cbkBtaXhpbiBob29rLW5hdi1wYXJlbnQtaWNvbigpe31cbkBtaXhpbiBob29rLW5hdi1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbSgpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG5AbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2stbmF2LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wYXJlbnQtaWNvbigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2LXByaW1hcnktZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdmJhcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1jb250YWluZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItaXRlbSgpe31cbkBtaXhpbiBob29rLW5hdmJhci10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXN1YnRpdGxlKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCl7fVxuQG1peGluIGhvb2stbmF2YmFyLXN0aWNreSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbkBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyKCl7fVxuQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXItc2xpZGUoKXt9XG5AbWl4aW4gaG9vay1uYXZiYXItbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItaXRlbSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbigpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MoKXt9XG5AbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCl7fVxuQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtYmFyKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLWNsb3NlKCl7fVxuQG1peGluIGhvb2stb2ZmY2FudmFzLW92ZXJsYXkoKXt9XG5AbWl4aW4gaG9vay1vZmZjYW52YXMtbWlzYygpe31cbkBtaXhpbiBob29rLW92ZXJsYXkoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LWljb24oKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LXByaW1hcnkoKXt9XG5AbWl4aW4gaG9vay1vdmVybGF5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYWRkaW5nLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wYWdpbmF0aW9uKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXBhZ2luYXRpb24tbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXBsYWNlaG9sZGVyKCl7fVxuQG1peGluIGhvb2stcGxhY2Vob2xkZXItbWlzYygpe31cbkBtaXhpbiBob29rLXBvc2l0aW9uLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1wcmludCgpe31cbkBtaXhpbiBob29rLXByb2dyZXNzKCl7fVxuQG1peGluIGhvb2stcHJvZ3Jlc3MtYmFyKCl7fVxuQG1peGluIGhvb2stcHJvZ3Jlc3MtbWlzYygpe31cbkBtaXhpbiBob29rLXNlYXJjaC1pbnB1dCgpe31cbkBtaXhpbiBob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuQG1peGluIGhvb2stc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuQG1peGluIGhvb2stc2VhcmNoLXRvZ2dsZSgpe31cbkBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zZWFyY2gtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbmF2YmFyLWlucHV0KCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtbGFyZ2UtaW5wdXQoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC10b2dnbGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay1zZWN0aW9uKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1kZWZhdWx0KCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1tdXRlZCgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tcHJpbWFyeSgpe31cbkBtaXhpbiBob29rLXNlY3Rpb24tc2Vjb25kYXJ5KCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1vdmVybGFwKCl7fVxuQG1peGluIGhvb2stc2VjdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYoKXt9XG5AbWl4aW4gaG9vay1zbGlkZW5hdi1ob3Zlcigpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2LWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2LXByZXZpb3VzKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtbmV4dCgpe31cbkBtaXhpbiBob29rLXNsaWRlbmF2LWxhcmdlKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtY29udGFpbmVyKCl7fVxuQG1peGluIGhvb2stc2xpZGVuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2LWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1zbGlkZXIoKXt9XG5AbWl4aW4gaG9vay1zbGlkZXItbWlzYygpe31cbkBtaXhpbiBob29rLXNsaWRlc2hvdygpe31cbkBtaXhpbiBob29rLXNsaWRlc2hvdy1taXNjKCl7fVxuQG1peGluIGhvb2stc29ydGFibGUoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1kcmFnKCl7fVxuQG1peGluIGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIoKXt9XG5AbWl4aW4gaG9vay1zb3J0YWJsZS1lbXB0eSgpe31cbkBtaXhpbiBob29rLXNvcnRhYmxlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zcGlubmVyKCl7fVxuQG1peGluIGhvb2stc3Bpbm5lci1taXNjKCl7fVxuQG1peGluIGhvb2stc3RpY2t5LW1pc2MoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtaXRlbSgpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljaygpe31cbkBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2stc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG5AbWl4aW4gaG9vay1zdWJuYXYtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2soKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXN2Zy1taXNjKCl7fVxuQG1peGluIGhvb2stc3dpdGNoZXItbWlzYygpe31cbkBtaXhpbiBob29rLXRhYigpe31cbkBtaXhpbiBob29rLXRhYi1pdGVtKCl7fVxuQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG5AbWl4aW4gaG9vay10YWItaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10YWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXRhYi1ib3R0b20oKXt9XG5AbWl4aW4gaG9vay10YWItYm90dG9tLWl0ZW0oKXt9XG5AbWl4aW4gaG9vay10YWItbGVmdCgpe31cbkBtaXhpbiBob29rLXRhYi1yaWdodCgpe31cbkBtaXhpbiBob29rLXRhYi1sZWZ0LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay10YWItcmlnaHQtaXRlbSgpe31cbkBtaXhpbiBob29rLXRhYi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWIoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0tYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZCgpe31cbkBtaXhpbiBob29rLXRhYmxlKCl7fVxuQG1peGluIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1jZWxsKCl7fVxuQG1peGluIGhvb2stdGFibGUtZm9vdGVyKCl7fVxuQG1peGluIGhvb2stdGFibGUtY2FwdGlvbigpe31cbkBtaXhpbiBob29rLXRhYmxlLWRpdmlkZXIoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1zdHJpcGVkKCl7fVxuQG1peGluIGhvb2stdGFibGUtaG92ZXIoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1yb3ctYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdGFibGUtc21hbGwoKXt9XG5AbWl4aW4gaG9vay10YWJsZS1sYXJnZSgpe31cbkBtaXhpbiBob29rLXRhYmxlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1kaXZpZGVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10YWJsZS1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRhYmxlKCl7XG5cbiAgICAudWstdGFibGUgdGgge1xuICAgICAgICBjb2xvcjogJGludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwtY29sb3I7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1oZWFkZXItY2VsbCgpO31cbiAgICB9XG5cbiAgICAudWstdGFibGUgY2FwdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkaW52ZXJzZS10YWJsZS1jYXB0aW9uLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1jYXB0aW9uKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZSA+IHRyLnVrLWFjdGl2ZSxcbiAgICAudWstdGFibGUgdGJvZHkgdHIudWstYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGludmVyc2UtdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1yb3ctYWN0aXZlKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZS1kaXZpZGVyID4gdHI6bm90KDpmaXJzdC1jaGlsZCksXG4gICAgLnVrLXRhYmxlLWRpdmlkZXIgPiA6bm90KDpmaXJzdC1jaGlsZCkgPiB0cixcbiAgICAudWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGludmVyc2UtdGFibGUtZGl2aWRlci1ib3JkZXI7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKTt9XG4gICAgfVxuXG4gICAgLnVrLXRhYmxlLXN0cmlwZWQgPiB0cjpudGgtb2YtdHlwZShvZGQpLFxuICAgIC51ay10YWJsZS1zdHJpcGVkIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10YWJsZS1zdHJpcGVkKCk7fVxuICAgIH1cblxuICAgIC51ay10YWJsZS1ob3ZlciA+IHRyOmhvdmVyLFxuICAgIC51ay10YWJsZS1ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZS10YWJsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGFibGUtaG92ZXIoKTt9XG4gICAgfVxuXG59XG5AbWl4aW4gaG9vay10ZXh0LWxlYWQoKXt9XG5AbWl4aW4gaG9vay10ZXh0LW1ldGEoKXt9XG5AbWl4aW4gaG9vay10ZXh0LXNtYWxsKCl7fVxuQG1peGluIGhvb2stdGV4dC1sYXJnZSgpe31cbkBtaXhpbiBob29rLXRleHQtYmFja2dyb3VuZCgpe31cbkBtaXhpbiBob29rLXRleHQtbWlzYygpe31cbkBtaXhpbiBob29rLWludmVyc2UtdGV4dC1sZWFkKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10ZXh0LW1ldGEoKXt9XG5AbWl4aW4gaG9vay10aHVtYm5hdigpe31cbkBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0oKXt9XG5AbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUoKXt9XG5AbWl4aW4gaG9vay10aHVtYm5hdi1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLWludmVyc2UtY29tcG9uZW50LXRodW1ibmF2KCl7XG5cbiAgICAudWstdGh1bWJuYXYgPiAqID4gKiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0oKTt9XG4gICAgfVxuXG4gICAgLnVrLXRodW1ibmF2ID4gKiA+IDpob3ZlcixcbiAgICAudWstdGh1bWJuYXYgPiAqID4gOmZvY3VzIHtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWludmVyc2UtdGh1bWJuYXYtaXRlbS1ob3ZlcigpO31cbiAgICB9XG5cbiAgICAudWstdGh1bWJuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pbnZlcnNlLXRodW1ibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpO31cbiAgICB9XG5cbn1cbkBtaXhpbiBob29rLXRpbGUoKXt9XG5AbWl4aW4gaG9vay10aWxlLWRlZmF1bHQoKXt9XG5AbWl4aW4gaG9vay10aWxlLW11dGVkKCl7fVxuQG1peGluIGhvb2stdGlsZS1wcmltYXJ5KCl7fVxuQG1peGluIGhvb2stdGlsZS1zZWNvbmRhcnkoKXt9XG5AbWl4aW4gaG9vay10aWxlLW1pc2MoKXt9XG5AbWl4aW4gaG9vay10b29sdGlwKCl7fVxuQG1peGluIGhvb2stdG9vbHRpcC1taXNjKCl7fVxuQG1peGluIGhvb2stdG90b3AoKXt9XG5AbWl4aW4gaG9vay10b3RvcC1ob3Zlcigpe31cbkBtaXhpbiBob29rLXRvdG9wLWFjdGl2ZSgpe31cbkBtaXhpbiBob29rLXRvdG9wLW1pc2MoKXt9XG5AbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS10b3RvcC1ob3Zlcigpe31cbkBtaXhpbiBob29rLWludmVyc2UtdG90b3AtYWN0aXZlKCl7fVxuQG1peGluIGhvb2stdHJhbnNpdGlvbi1taXNjKCl7fVxuQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cbkBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuQG1peGluIGhvb2stZHJvcGNhcCgpe31cbkBtaXhpbiBob29rLWxvZ28oKXt9XG5AbWl4aW4gaG9vay1sb2dvLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1kcm9wY2FwKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sb2dvKCl7fVxuQG1peGluIGhvb2staW52ZXJzZS1sb2dvLWhvdmVyKCl7fVxuQG1peGluIGhvb2stdmlzaWJpbGl0eS1taXNjKCl7fVxuQG1peGluIGhvb2std2lkdGgtbWlzYygpe30iLCIvL1xuLy8gQ29yZVxuLy9cblxuQGltcG9ydCBcImNvbXBvbmVudHMvX2ltcG9ydC5zY3NzXCI7IiwiLy8gQmFzZVxuQGltcG9ydCBcInZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwibWl4aW4uc2Nzc1wiO1xuQGltcG9ydCBcImJhc2Uuc2Nzc1wiO1xuXG4vLyBFbGVtZW50c1xuQGltcG9ydCBcImxpbmsuc2Nzc1wiO1xuQGltcG9ydCBcImhlYWRpbmcuc2Nzc1wiO1xuQGltcG9ydCBcImRpdmlkZXIuc2Nzc1wiO1xuQGltcG9ydCBcImxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcImRlc2NyaXB0aW9uLWxpc3Quc2Nzc1wiO1xuQGltcG9ydCBcInRhYmxlLnNjc3NcIjtcbkBpbXBvcnQgXCJpY29uLnNjc3NcIjtcbkBpbXBvcnQgXCJmb3JtLXJhbmdlLnNjc3NcIjtcbkBpbXBvcnQgXCJmb3JtLnNjc3NcIjsgLy8gQWZ0ZXI6IEljb24sIEZvcm0gUmFuZ2VcbkBpbXBvcnQgXCJidXR0b24uc2Nzc1wiO1xuXG4vLyBMYXlvdXRcbkBpbXBvcnQgXCJzZWN0aW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJjb250YWluZXIuc2Nzc1wiO1xuQGltcG9ydCBcImdyaWQuc2Nzc1wiO1xuQGltcG9ydCBcInRpbGUuc2Nzc1wiO1xuQGltcG9ydCBcImNhcmQuc2Nzc1wiO1xuXG4vLyBDb21tb25cbkBpbXBvcnQgXCJjbG9zZS5zY3NzXCI7IC8vIEFmdGVyOiBJY29uXG5AaW1wb3J0IFwic3Bpbm5lci5zY3NzXCI7IC8vIEFmdGVyOiBJY29uXG5AaW1wb3J0IFwidG90b3Auc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuQGltcG9ydCBcIm1hcmtlci5zY3NzXCI7IC8vIEFmdGVyOiBJY29uXG5AaW1wb3J0IFwiYWxlcnQuc2Nzc1wiOyAvLyBBZnRlcjogQ2xvc2VcbkBpbXBvcnQgXCJiYWRnZS5zY3NzXCI7XG5AaW1wb3J0IFwibGFiZWwuc2Nzc1wiO1xuQGltcG9ydCBcIm92ZXJsYXkuc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuQGltcG9ydCBcImFydGljbGUuc2Nzc1wiOyAvLyBBZnRlcjogU3VibmF2XG5AaW1wb3J0IFwiY29tbWVudC5zY3NzXCI7IC8vIEFmdGVyOiBTdWJuYXZcbkBpbXBvcnQgXCJzZWFyY2guc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuXG4vLyBOYXZzXG5AaW1wb3J0IFwibmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJuYXZiYXIuc2Nzc1wiOyAvLyBBZnRlcjogQ2FyZCwgR3JpZCwgTmF2LCBJY29uLCBTZWFyY2hcbkBpbXBvcnQgXCJzdWJuYXYuc2Nzc1wiO1xuQGltcG9ydCBcImJyZWFkY3J1bWIuc2Nzc1wiO1xuQGltcG9ydCBcInBhZ2luYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcInRhYi5zY3NzXCI7XG5AaW1wb3J0IFwic2xpZGVuYXYuc2Nzc1wiOyAvLyBBZnRlcjogSWNvblxuQGltcG9ydCBcImRvdG5hdi5zY3NzXCI7XG5AaW1wb3J0IFwidGh1bWJuYXYuc2Nzc1wiO1xuXG4vLyBKYXZhU2NyaXB0XG5AaW1wb3J0IFwiYWNjb3JkaW9uLnNjc3NcIjtcbkBpbXBvcnQgXCJkcm9wLnNjc3NcIjsgLy8gQWZ0ZXI6IENhcmRcbkBpbXBvcnQgXCJkcm9wZG93bi5zY3NzXCI7IC8vIEFmdGVyOiBDYXJkXG5AaW1wb3J0IFwibW9kYWwuc2Nzc1wiOyAvLyBBZnRlcjogQ2xvc2VcbkBpbXBvcnQgXCJsaWdodGJveC5zY3NzXCI7IC8vIEFmdGVyOiBDbG9zZVxuQGltcG9ydCBcInNsaWRlc2hvdy5zY3NzXCI7XG5AaW1wb3J0IFwic2xpZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJzdGlja3kuc2Nzc1wiO1xuQGltcG9ydCBcIm9mZmNhbnZhcy5zY3NzXCI7XG5AaW1wb3J0IFwic3dpdGNoZXIuc2Nzc1wiO1xuQGltcG9ydCBcImxlYWRlci5zY3NzXCI7XG4vLyBTY3JvbGxzcHlcbi8vIFRvZ2dsZVxuLy8gU2Nyb2xsXG5cbi8vIEFkZGl0aW9uYWxcbkBpbXBvcnQgXCJpY29ubmF2LnNjc3NcIjtcbkBpbXBvcnQgXCJub3RpZmljYXRpb24uc2Nzc1wiO1xuQGltcG9ydCBcInRvb2x0aXAuc2Nzc1wiO1xuQGltcG9ydCBcInBsYWNlaG9sZGVyLnNjc3NcIjtcbkBpbXBvcnQgXCJwcm9ncmVzcy5zY3NzXCI7XG5AaW1wb3J0IFwic29ydGFibGUuc2Nzc1wiO1xuQGltcG9ydCBcImNvdW50ZG93bi5zY3NzXCI7XG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcImFuaW1hdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwid2lkdGguc2Nzc1wiO1xuQGltcG9ydCBcImhlaWdodC5zY3NzXCI7XG5AaW1wb3J0IFwidGV4dC5zY3NzXCI7XG5AaW1wb3J0IFwiY29sdW1uLnNjc3NcIjtcbkBpbXBvcnQgXCJjb3Zlci5zY3NzXCI7XG5AaW1wb3J0IFwiYmFja2dyb3VuZC5zY3NzXCI7XG5AaW1wb3J0IFwiYWxpZ24uc2Nzc1wiO1xuQGltcG9ydCBcInN2Zy5zY3NzXCI7XG5AaW1wb3J0IFwidXRpbGl0eS5zY3NzXCI7XG5AaW1wb3J0IFwiZmxleC5zY3NzXCI7IC8vIEFmdGVyOiBVdGlsaXR5XG5AaW1wb3J0IFwibWFyZ2luLnNjc3NcIjtcbkBpbXBvcnQgXCJwYWRkaW5nLnNjc3NcIjtcbkBpbXBvcnQgXCJwb3NpdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwidHJhbnNpdGlvbi5zY3NzXCI7XG5AaW1wb3J0IFwidmlzaWJpbGl0eS5zY3NzXCI7XG5AaW1wb3J0IFwiaW52ZXJzZS5zY3NzXCI7XG5cbi8vIE5lZWQgdG8gYmUgbG9hZGVkIGxhc3RcbkBpbXBvcnQgXCJwcmludC5zY3NzXCI7XG4iLCIvL1xuLy8gQ29tcG9uZW50OiAgICAgICBWYXJpYWJsZXNcbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmaW5lcyBjb21tb24gdmFsdWVzIHdoaWNoIGFyZSB1c2VkIGFjcm9zcyBhbGwgY29tcG9uZW50c1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIEJyZWFrcG9pbnRzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gUGhvbmUgUG9ydHJhaXQ6ICAgR2FsYXh5ICgzNjB4NjQwKSwgaVBob25lIDYgKDM3NXg2NjcpLCBpUGhvbmUgNisgKDQxNHg3MzYpXG4vLyBQaG9uZSBMYW5kc2NhcGU6ICBHYWxheHkgKDY0MHgzNjApLCBpUGhvbmUgNiAoNjY3eDM3NSksIGlQaG9uZSA2KyAoNzM2eDQxNClcbi8vIFRhYmxldCBQb3J0cmFpdDogIGlQYWQgKDc2OHgxMDI0KSwgR2FsYXh5IFRhYiAoODAweDEyODApLFxuLy8gVGFibGV0IExhbmRzY2FwZTogaVBhZCAoMTAyNHg3NjgpLCBpUGFkIFBybyAoMTAyNHgxMzY2KSxcbi8vIERlc2t0b3A6ICAgICAgICAgIEdhbGF4eSBUYWIgKDEyODB4ODAwKSwgaVBhZCBQcm8gKDEzNjZ4MTAyNClcblxuJGJyZWFrcG9pbnQtc21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjQwcHggIWRlZmF1bHQ7ICAvLyBQaG9uZSBsYW5kc2NhcGVcbiRicmVha3BvaW50LW1lZGl1bTogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk2MHB4ICFkZWZhdWx0OyAgLy8gVGFibGV0IExhbmRzY2FwZVxuJGJyZWFrcG9pbnQtbGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0OyAvLyBEZXNrdG9wXG4kYnJlYWtwb2ludC14bGFyZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNjAwcHggIWRlZmF1bHQ7IC8vIExhcmdlIFNjcmVlbnNcblxuJGJyZWFrcG9pbnQteHNtYWxsLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgKCRicmVha3BvaW50LXNtYWxsIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1zbWFsbC1tYXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAoJGJyZWFrcG9pbnQtbWVkaXVtIC0gMSkgIWRlZmF1bHQ7XG4kYnJlYWtwb2ludC1tZWRpdW0tbWF4OiAgICAgICAgICAgICAgICAgICAgICAgICAoJGJyZWFrcG9pbnQtbGFyZ2UgLSAxKSAhZGVmYXVsdDtcbiRicmVha3BvaW50LWxhcmdlLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgICgkYnJlYWtwb2ludC14bGFyZ2UgLSAxKSAhZGVmYXVsdDtcblxuXG4vLyBHbG9iYWwgdmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFR5cG9ncmFwaHlcbi8vXG5cbiRnbG9iYWwtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBcIk5vdG8gU2Fuc1wiLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiwgXCJOb3RvIENvbG9yIEVtb2ppXCIgIWRlZmF1bHQ7XG4kZ2xvYmFsLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTZweCAhZGVmYXVsdDtcbiRnbG9iYWwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7ICAgICAgLy8gMjRweFxuXG4kZ2xvYmFsLXh4bGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgMi42MjVyZW0gIWRlZmF1bHQ7IC8vIDQycHhcbiRnbG9iYWwteGxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0OyAgICAgLy8gMzJweFxuJGdsb2JhbC1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDsgICAvLyAyNHB4XG4kZ2xvYmFsLW1lZGl1bS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDsgIC8vIDIwcHhcbiRnbG9iYWwtc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAwLjg3NXJlbSAhZGVmYXVsdDsgLy8gMTRweFxuXG4vL1xuLy8gQ29sb3JzXG4vL1xuXG4kZ2xvYmFsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzY2NiAhZGVmYXVsdDtcbiRnbG9iYWwtZW1waGFzaXMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAjMzMzICFkZWZhdWx0O1xuJGdsb2JhbC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICM5OTkgIWRlZmF1bHQ7XG5cbiRnbG9iYWwtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMWU4N2YwICFkZWZhdWx0O1xuJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICMwZjZlY2QgIWRlZmF1bHQ7XG5cbiRnbG9iYWwtaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4vL1xuLy8gQmFja2dyb3VuZHNcbi8vXG5cbiRnbG9iYWwtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG4kZ2xvYmFsLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgI2Y4ZjhmOCAhZGVmYXVsdDtcbiRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAjMWU4N2YwICFkZWZhdWx0O1xuJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICMyMjIgIWRlZmF1bHQ7XG5cbiRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAjMzJkMjk2ICFkZWZhdWx0O1xuJGdsb2JhbC13YXJuaW5nLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICNmYWEwNWEgIWRlZmF1bHQ7XG4kZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgI2YwNTA2ZSAhZGVmYXVsdDtcblxuLy9cbi8vIEJvcmRlcnNcbi8vXG5cbiRnbG9iYWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2U1ZTVlNSAhZGVmYXVsdDtcblxuLy9cbi8vIEJveC1TaGFkb3dzXG4vL1xuXG4kZ2xvYmFsLXNtYWxsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgMCAycHggOHB4IHJnYmEoMCwwLDAsMC4wOCkgIWRlZmF1bHQ7XG4kZ2xvYmFsLW1lZGl1bS1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgMCA1cHggMTVweCByZ2JhKDAsMCwwLDAuMDgpICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgIDAgMTRweCAyNXB4IHJnYmEoMCwwLDAsMC4xNikgIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICAgMCAyOHB4IDUwcHggcmdiYSgwLDAsMCwwLjE2KSAhZGVmYXVsdDtcblxuLy9cbi8vIFNwYWNpbmdzXG4vL1xuXG4vLyBVc2VkIGluIG1hcmdpbiwgc2VjdGlvbiwgbGlzdFxuJGdsb2JhbC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLXNtYWxsLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRnbG9iYWwtbWVkaXVtLW1hcmdpbjogICAgICAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1sYXJnZS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDcwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLXhsYXJnZS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQwcHggIWRlZmF1bHQ7XG5cbi8vIFVzZWQgaW4gZ3JpZCwgY29sdW1uLCBjb250YWluZXIsIGFsaWduLCBjYXJkLCBwYWRkaW5nXG4kZ2xvYmFsLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRnbG9iYWwtc21hbGwtZ3V0dGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGdsb2JhbC1tZWRpdW0tZ3V0dGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG4kZ2xvYmFsLWxhcmdlLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgNzBweCAhZGVmYXVsdDtcblxuLy9cbi8vIENvbnRyb2xzXG4vL1xuXG4kZ2xvYmFsLWNvbnRyb2wtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDtcbiRnbG9iYWwtY29udHJvbC1zbWFsbC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDU1cHggIWRlZmF1bHQ7XG5cbi8vXG4vLyBaLWluZGV4XG4vL1xuXG4kZ2xvYmFsLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDsiLCIvL1xuLy8gQ29tcG9uZW50OiAgICAgICBNaXhpblxuLy8gRGVzY3JpcHRpb246ICAgICBEZWZpbmVzIG1peGlucyB3aGljaCBhcmUgdXNlZCBhY3Jvc3MgYWxsIGNvbXBvbmVudHNcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBTVkdcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG5AbWl4aW4gc3ZnLWZpbGwoJHNyYywgJGNvbG9yLWRlZmF1bHQsICRjb2xvci1uZXcpe1xuXG4gICAgJHJlcGxhY2Utc3JjOiBzdHItcmVwbGFjZSgkc3JjLCAkY29sb3ItZGVmYXVsdCwgJGNvbG9yLW5ldykgIWRlZmF1bHQ7XG4gICAgJHJlcGxhY2Utc3JjOiBzdHItcmVwbGFjZSgkcmVwbGFjZS1zcmMsIFwiI1wiLCBcIiUyM1wiKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwocXVvdGUoJHJlcGxhY2Utc3JjKSk7XG59IiwiLy8gTmFtZTogICAgICAgICAgICBCYXNlXG4vLyBEZXNjcmlwdGlvbjogICAgIERlZmF1bHQgdmFsdWVzIGZvciBIVE1MIGVsZW1lbnRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbGlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWgxYCwgYHVrLWgyYCwgYHVrLWgzYCwgYHVrLWg0YCwgYHVrLWg1YCwgYHVrLWg2YFxuLy8gICAgICAgICAgICAgICAgICBgdWstaHJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJhc2UtYm9keS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWJvZHktZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWJvZHktbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJhc2UtYm9keS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRiYXNlLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRiYXNlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstaG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kYmFzZS1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuXG4kYmFzZS1zdHJvbmctZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtY29kZS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgIENvbnNvbGFzLCBtb25hY28sIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRiYXNlLWNvZGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhc2UtZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFzZS1pbnMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZCAhZGVmYXVsdDtcbiRiYXNlLWlucy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtbWFyay1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICNmZmQgIWRlZmF1bHQ7XG4kYmFzZS1tYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRiYXNlLXF1b3RlLWZvbnQtc3R5bGU6ICAgICAgICAgICAgICAgICAgICAgICAgICBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kYmFzZS1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDtcbiRiYXNlLWhlYWRpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJhc2UtaGVhZGluZy10ZXh0LXRyYW5zZm9ybTogICAgICAgICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaDEtZm9udC1zaXplLW06ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwteHhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtaDEtZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcbiRiYXNlLWgyLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtaDItZm9udC1zaXplLW0gKiAwLjg1ICFkZWZhdWx0O1xuJGJhc2UtaDItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMyAhZGVmYXVsdDtcbiRiYXNlLWgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWgzLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtaDQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiRiYXNlLWg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRiYXNlLWg1LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kYmFzZS1oNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1oNi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kYmFzZS1saXN0LXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcblxuJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGJhc2UtaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kYmFzZS1ibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGJhc2UtYmxvY2txdW90ZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTogICAgICAgICAgICAgICAgICAgICBpdGFsaWMgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU6ICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1saW5lLWhlaWdodDogICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYmFzZS1wcmUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGJhc2UtcHJlLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICRiYXNlLWNvZGUtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYmFzZS1wcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICMzOWYgIWRlZmF1bHQ7XG4kYmFzZS1zZWxlY3Rpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYXNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBgZm9udC1zaXplYCB0byBzdXBwb3J0IGByZW1gIHVuaXRzXG4gKiAgICBOb3QgdXNpbmcgYGZvbnRgIHByb3BlcnR5IGJlY2F1c2UgYSBsZWFkaW5nIGh5cGhlbiAoZS5nLiAtYXBwbGUtc3lzdGVtKSBjYXVzZXMgdGhlIGZvbnQgdG8gYnJlYWsgaW4gSUUxMSBhbmQgRWRnZVxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKiAzLiBTdHlsZVxuICovXG5cbmh0bWwge1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogJGJhc2UtYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXNpemU6ICRiYXNlLWJvZHktZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkYmFzZS1ib2R5LWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ib2R5LWxpbmUtaGVpZ2h0O1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJhY2tncm91bmQ6ICRiYXNlLWJvZHktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhc2UtYm9keS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ib2R5KSkge0BpbmNsdWRlIGhvb2stYmFzZS1ib2R5KCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkgeyBtYXJnaW46IDA7IH1cblxuXG4vKiBMaW5rc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7IC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIFN0eWxlXG4gKi9cblxuYSxcbi51ay1saW5rIHtcbiAgICBjb2xvcjogJGJhc2UtbGluay1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRiYXNlLWxpbmstdGV4dC1kZWNvcmF0aW9uO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1saW5rKSkge0BpbmNsdWRlIGhvb2stYmFzZS1saW5rKCk7fVxufVxuXG5hOmhvdmVyLFxuLnVrLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAkYmFzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJhc2UtbGluay1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJhc2UtbGluay1ob3ZlcigpO31cbn1cblxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBZGQgYW4gdW5kZXJsaW5lIHRleHQgZGVjb3JhdGlvbiBpbiBTYWZhcmksIEVkZ2UgYW5kIElFLlxuICogMi4gQWRkIGBkb3R0ZWRgIHN0eWxlIGluIFNhZmFyaS5cbiAqIE5vdGU6IFRoZSBzaG9ydGhhbmQgZGVjbGFyYXRpb24gYHVuZGVybGluZSBkb3R0ZWRgIGlzIG5vdCBzdXBwb3J0ZWQgaW4gU2FmYXJpLCBFZGdlIGFuZCBJRS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gICAgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1zdHlsZTogZG90dGVkO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHsgZm9udC13ZWlnaHQ6ICRiYXNlLXN0cm9uZy1mb250LXdlaWdodDsgfVxuXG4vKlxuICogMS4gQ29uc29sYXMgaGFzIGEgYmV0dGVyIGJhc2VsaW5lIGluIHJ1bm5pbmcgdGV4dCBjb21wYXJlZCB0byBgQ291cmllcmBcbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqIDMuIFN0eWxlXG4gKi9cblxuOm5vdChwcmUpID4gY29kZSxcbjpub3QocHJlKSA+IGtiZCxcbjpub3QocHJlKSA+IHNhbXAge1xuICAgIC8qIDEgKi9cbiAgICBmb250LWZhbWlseTogJGJhc2UtY29kZS1mb250LWZhbWlseTtcbiAgICAvKiAyICovXG4gICAgZm9udC1zaXplOiAkYmFzZS1jb2RlLWZvbnQtc2l6ZTtcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICRiYXNlLWNvZGUtY29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1jb2RlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1jb2RlKCk7fVxufVxuXG4vKlxuICogRW1waGFzaXplXG4gKi9cblxuZW0geyBjb2xvcjogJGJhc2UtZW0tY29sb3I7IH1cblxuLypcbiAqIEluc2VydFxuICovXG5cbmlucyB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtaW5zLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLWlucy1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBNYXJrXG4gKi9cblxubWFyayB7XG4gICAgYmFja2dyb3VuZDogJGJhc2UtbWFyay1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFzZS1tYXJrLWNvbG9yO1xufVxuXG4vKlxuICogUXVvdGVcbiAqL1xuXG5xIHsgZm9udC1zdHlsZTogJGJhc2UtcXVvdGUtZm9udC1zdHlsZTsgfVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwgeyBmb250LXNpemU6ICRiYXNlLXNtYWxsLWZvbnQtc2l6ZTsgfVxuXG4vKlxuICogUHJldmVudHMgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7IHRvcDogLTAuNWVtOyB9XG5zdWIgeyBib3R0b206IC0wLjI1ZW07IH1cblxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gZW1iZWRkZWQgY29udGVudCBhbmQgdGhlIGJvdHRvbSBvZiB0aGVpciBjb250YWluZXJzLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxuaWZyYW1lLFxuaW1nLFxuc3ZnLFxudmlkZW8geyB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi8qXG4gKiAxLiBBZGQgcmVzcG9uc2l2ZW5lc3MuXG4gKiAyLiBBdXRvLXNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50LlxuICogMy4gQ29ycmVjdHMgcmVzcG9uc2l2ZSBgbWF4LXdpZHRoYCBiZWhhdmlvciBpZiBwYWRkaW5nIGFuZCBib3JkZXIgYXJlIHVzZWQuXG4gKiA0LiBFeGNsdWRlIFNWR3MgZm9yIElFMTEgYmVjYXVzZSB0aGV5IGRvbid0IHByZXNlcnZlIHRoZWlyIGFzcGVjdCByYXRpby5cbiAqL1xuXG5jYW52YXMsXG5pbWcsXG52aWRlbyB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vKiA0ICovXG5Ac3VwcG9ydHMgKGRpc3BsYXk6IGJsb2NrKSB7XG5cbiAgIHN2ZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIH1cblxufVxuXG4vKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qXG4gKiBIaWRlIGBhbHRgIHRleHQgZm9yIGxhenkgbG9hZCBpbWFnZXNcbiAqIFNlbGVjdG9yIGZvciBiYWNrZ3JvdW5kIHdoaWxlIGxvYWRpbmcgaW1nW2RhdGEtc3JjKj0nLmpwZyddW3NyYyo9J2RhdGE6aW1hZ2UnXSB7IGJhY2tncm91bmQ6IGdyZXk7IH1cbiAqL1xuXG5pbWc6bm90KFtzcmNdKSB7IHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4vKlxuICogSWZyYW1lXG4gKiBSZW1vdmUgYm9yZGVyIGluIGFsbCBicm93c2Vyc1xuICovXG5cbmlmcmFtZSB7IGJvcmRlcjogMDsgfVxuXG5cbi8qIEJsb2NrIGVsZW1lbnRzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIE1hcmdpbnNcbiAqL1xuXG5wLFxudWwsXG5vbCxcbmRsLFxucHJlLFxuYWRkcmVzcyxcbmZpZWxkc2V0LFxuZmlndXJlIHsgbWFyZ2luOiAwIDAgJGJhc2UtbWFyZ2luLXZlcnRpY2FsIDA7IH1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgcCxcbiogKyB1bCxcbiogKyBvbCxcbiogKyBkbCxcbiogKyBwcmUsXG4qICsgYWRkcmVzcyxcbiogKyBmaWVsZHNldCxcbiogKyBmaWd1cmUgeyBtYXJnaW4tdG9wOiAkYmFzZS1tYXJnaW4tdmVydGljYWw7IH1cblxuXG4vKiBIZWFkaW5nc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbmgxLCAudWstaDEsXG5oMiwgLnVrLWgyLFxuaDMsIC51ay1oMyxcbmg0LCAudWstaDQsXG5oNSwgLnVrLWg1LFxuaDYsIC51ay1oNiB7XG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtbWFyZ2luLXZlcnRpY2FsIDA7XG4gICAgZm9udC1mYW1pbHk6ICRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRiYXNlLWhlYWRpbmctZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRiYXNlLWhlYWRpbmctY29sb3I7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRiYXNlLWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhc2UtaGVhZGluZykpIHtAaW5jbHVkZSBob29rLWJhc2UtaGVhZGluZygpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaDEsICogKyAudWstaDEsXG4qICsgaDIsICogKyAudWstaDIsXG4qICsgaDMsICogKyAudWstaDMsXG4qICsgaDQsICogKyAudWstaDQsXG4qICsgaDUsICogKyAudWstaDUsXG4qICsgaDYsICogKyAudWstaDYgeyBtYXJnaW4tdG9wOiAkYmFzZS1oZWFkaW5nLW1hcmdpbi10b3A7IH1cblxuLypcbiAqIFNpemVzXG4gKi9cblxuaDEsIC51ay1oMSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgxLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgxKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMSgpO31cbn1cblxuaDIsIC51ay1oMiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMigpO31cbn1cblxuaDMsIC51ay1oMyB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oMy1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWgzLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWgzKSkge0BpbmNsdWRlIGhvb2stYmFzZS1oMygpO31cbn1cblxuaDQsIC51ay1oNCB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg0LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg0KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNCgpO31cbn1cblxuaDUsIC51ay1oNSB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg1LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg1KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNSgpO31cbn1cblxuaDYsIC51ay1oNiB7XG4gICAgZm9udC1zaXplOiAkYmFzZS1oNi1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWg2LWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWg2KSkge0BpbmNsdWRlIGhvb2stYmFzZS1oNigpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICBoMSwgLnVrLWgxIHsgZm9udC1zaXplOiAkYmFzZS1oMS1mb250LXNpemUtbTsgfVxuICAgIGgyLCAudWstaDIgeyBmb250LXNpemU6ICRiYXNlLWgyLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBMaXN0c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbnVsLFxub2wgeyBwYWRkaW5nLWxlZnQ6ICRiYXNlLWxpc3QtcGFkZGluZy1sZWZ0OyB9XG5cbi8qXG4gKiBSZXNldCBtYXJnaW4gZm9yIG5lc3RlZCBsaXN0c1xuICovXG5cbnVsID4gbGkgPiB1bCxcbnVsID4gbGkgPiBvbCxcbm9sID4gbGkgPiBvbCxcbm9sID4gbGkgPiB1bCB7IG1hcmdpbjogMDsgfVxuXG5cbi8qIERlc2NyaXB0aW9uIGxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuZHQgeyBmb250LXdlaWdodDogYm9sZDsgfVxuZGQgeyBtYXJnaW4tbGVmdDogMDsgfVxuXG5cbi8qIEhvcml6b250YWwgcnVsZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgYW5kIGhlaWdodCBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKiAzLiBBZGQgdGhlIGNvcnJlY3QgdGV4dC1hbGlnbiBpbiBFZGdlIGFuZCBJRS5cbiAqIDQuIFN0eWxlXG4gKi9cblxuaHIsIC51ay1ociB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbiAgICAvKiAyICovXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgLyogMyAqL1xuICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XG4gICAgLyogNCAqL1xuICAgIG1hcmdpbjogMCAwICRiYXNlLWhyLW1hcmdpbi12ZXJ0aWNhbCAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItdG9wOiAkYmFzZS1oci1ib3JkZXItd2lkdGggc29saWQgJGJhc2UtaHItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWhyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ocigpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgaHIsXG4qICsgLnVrLWhyIHsgbWFyZ2luLXRvcDogJGJhc2UtaHItbWFyZ2luLXZlcnRpY2FsIH1cblxuXG4vKiBBZGRyZXNzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYWRkcmVzcyB7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG5cbi8qIEJsb2NrcXVvdGVzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWwgMDtcbiAgICBmb250LXNpemU6ICRiYXNlLWJsb2NrcXVvdGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYmFzZS1ibG9ja3F1b3RlLWxpbmUtaGVpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRiYXNlLWJsb2NrcXVvdGUtZm9udC1zdHlsZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFzZS1ibG9ja3F1b3RlKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ibG9ja3F1b3RlKCk7fVxufVxuXG4vKiBBZGQgbWFyZ2luIGlmIGFkamFjZW50IGVsZW1lbnQgKi9cbiogKyBibG9ja3F1b3RlIHsgbWFyZ2luLXRvcDogJGJhc2UtYmxvY2txdW90ZS1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIENvbnRlbnRcbiAqL1xuXG5ibG9ja3F1b3RlIHA6bGFzdC1vZi10eXBlIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5ibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLW1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkYmFzZS1ibG9ja3F1b3RlLWZvb3Rlci1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRiYXNlLWJsb2NrcXVvdGUtZm9vdGVyLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stYmFzZS1ibG9ja3F1b3RlLWZvb3RlcigpO31cbn1cblxuXG4vKiBQcmVmb3JtYXR0ZWQgdGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICAgIGZvbnQ6ICRiYXNlLXByZS1mb250LXNpemUgdW5xdW90ZShcIi9cIikgJGJhc2UtcHJlLWxpbmUtaGVpZ2h0ICRiYXNlLXByZS1mb250LWZhbWlseTtcbiAgICBjb2xvcjogJGJhc2UtcHJlLWNvbG9yO1xuICAgIC1tb3otdGFiLXNpemU6IDQ7XG4gICAgdGFiLXNpemU6IDQ7XG4gICAgLyogMSAqL1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLXByZSkpIHtAaW5jbHVkZSBob29rLWJhc2UtcHJlKCk7fVxufVxuXG5wcmUgY29kZSB7IGZvbnQtZmFtaWx5OiAkYmFzZS1wcmUtZm9udC1mYW1pbHk7IH1cblxuXG4vKiBTZWxlY3Rpb24gcHNldWRvLWVsZW1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJGJhc2Utc2VsZWN0aW9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYXNlLXNlbGVjdGlvbi1jb2xvcjtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuXG4vKiBIVE1MNSBlbGVtZW50c1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWFpbiB7IC8qIDIgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHsgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7IGRpc3BsYXk6IG5vbmU7IH1cblxuXG4vKiBQYXNzIG1lZGlhIGJyZWFrcG9pbnRzIHRvIEpTXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEJyZWFrcG9pbnRzXG4gKi9cblxuLnVrLWJyZWFrcG9pbnQtczo6YmVmb3JlICB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LXNtYWxsfSc7IH1cbi51ay1icmVha3BvaW50LW06OmJlZm9yZSAgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC1tZWRpdW19JzsgfVxuLnVrLWJyZWFrcG9pbnQtbDo6YmVmb3JlICB7IGNvbnRlbnQ6ICcjeyRicmVha3BvaW50LWxhcmdlfSc7IH1cbi51ay1icmVha3BvaW50LXhsOjpiZWZvcmUgeyBjb250ZW50OiAnI3skYnJlYWtwb2ludC14bGFyZ2V9JzsgfVxuXG46cm9vdCB7XG4gICAgLS11ay1icmVha3BvaW50LXM6ICN7JGJyZWFrcG9pbnQtc21hbGx9O1xuICAgIC0tdWstYnJlYWtwb2ludC1tOiAjeyRicmVha3BvaW50LW1lZGl1bX07XG4gICAgLS11ay1icmVha3BvaW50LWw6ICN7JGJyZWFrcG9pbnQtbGFyZ2V9O1xuICAgIC0tdWstYnJlYWtwb2ludC14bDogI3skYnJlYWtwb2ludC14bGFyZ2V9O1xufVxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1iYXNlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1iYXNlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJhc2UtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtbGluaygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtY29kZSgpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDEoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWgyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oMygpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaDQoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWg1KCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1oNigpe31cbi8vIEBtaXhpbiBob29rLWJhc2UtaHIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stYmFzZS1wcmUoKXt9XG4vLyBAbWl4aW4gaG9vay1iYXNlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWJhc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaGVhZGluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJhc2UtaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtbGluaygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1saW5rLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWNvZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhc2UtaGVhZGluZygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oMygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1oNigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFzZS1ibG9ja3F1b3RlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWJsb2NrcXVvdGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1iYXNlLWhyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMaW5rXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgbGlua3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saW5rLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay10ZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay1oZWFkaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGluay1yZXNldGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGluay1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRsaW5rLW11dGVkLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbGluay10ZXh0LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGxpbmstaGVhZGluZy1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxpbmstaGVhZGluZy1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IExpbmtcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIE11dGVkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYS51ay1saW5rLW11dGVkLFxuLnVrLWxpbmstbXV0ZWQgYSB7XG4gICAgY29sb3I6ICRsaW5rLW11dGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLW11dGVkKSkge0BpbmNsdWRlIGhvb2stbGluay1tdXRlZCgpO31cbn1cblxuYS51ay1saW5rLW11dGVkOmhvdmVyLFxuLnVrLWxpbmstbXV0ZWQgYTpob3ZlciB7XG4gICAgY29sb3I6ICRsaW5rLW11dGVkLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLW11dGVkLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGluay1tdXRlZC1ob3ZlcigpO31cbn1cblxuXG4vKiBUZXh0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuYS51ay1saW5rLXRleHQ6bm90KDpob3ZlciksXG4udWstbGluay10ZXh0IGE6bm90KDpob3Zlcikge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saW5rLXRleHQpKSB7QGluY2x1ZGUgaG9vay1saW5rLXRleHQoKTt9XG59XG5cbmEudWstbGluay10ZXh0OmhvdmVyLFxuLnVrLWxpbmstdGV4dCBhOmhvdmVyIHtcbiAgICBjb2xvcjogJGxpbmstdGV4dC1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGluay10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbGluay10ZXh0LWhvdmVyKCk7fVxufVxuXG5cbi8qIEhlYWRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5hLnVrLWxpbmstaGVhZGluZzpub3QoOmhvdmVyKSxcbi51ay1saW5rLWhlYWRpbmcgYTpub3QoOmhvdmVyKSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstaGVhZGluZykpIHtAaW5jbHVkZSBob29rLWxpbmstaGVhZGluZygpO31cbn1cblxuYS51ay1saW5rLWhlYWRpbmc6aG92ZXIsXG4udWstbGluay1oZWFkaW5nIGE6aG92ZXIge1xuICAgIGNvbG9yOiAkbGluay1oZWFkaW5nLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaGVhZGluZy1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstaGVhZGluZy1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWxpbmstaGVhZGluZy1ob3ZlcigpO31cbn1cblxuXG4vKiBSZXNldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBgIWltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJyaWRlIGludmVyc2UgY29tcG9uZW50XG4gKi9cblxuYS51ay1saW5rLXJlc2V0LFxuYS51ay1saW5rLXJlc2V0OmhvdmVyLFxuLnVrLWxpbmstcmVzZXQgYSxcbi51ay1saW5rLXJlc2V0IGE6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstcmVzZXQpKSB7QGluY2x1ZGUgaG9vay1saW5rLXJlc2V0KCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWxpbmstbWlzYykpIHtAaW5jbHVkZSBob29rLWxpbmstbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGluay1tdXRlZCgpe31cbi8vIEBtaXhpbiBob29rLWxpbmstbXV0ZWQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLXRleHQoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLWhlYWRpbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLWhlYWRpbmctaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1saW5rLXJlc2V0KCl7fVxuLy8gQG1peGluIGhvb2stbGluay1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1saW5rLW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLW11dGVkLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saW5rLWhlYWRpbmctaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLW11dGVkLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saW5rLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpbmstaGVhZGluZy1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgSGVhZGluZ1xuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGhlYWRpbmdzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaGVhZGluZy1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGVhZGluZy1oZXJvYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGVhZGluZy1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaGVhZGluZy1idWxsZXRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1oZWFkaW5nLWxpbmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbDogICAgICAgICAgICAgICAgICAgIDMuNzVyZW0gIWRlZmF1bHQ7ICAvLyA2MHB4XG4kaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0LWw6ICAgICAgICAgICAgICAgICAgMS4xICFkZWZhdWx0O1xuXG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbCAqIDAuOSAhZGVmYXVsdDsgLy8gNTRweFxuXG4kaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemUtbCAqIDAuOCAhZGVmYXVsdDsgLy8gNDhweFxuJGhlYWRpbmctcHJpbWFyeS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgIDEuMiAhZGVmYXVsdDtcblxuJGhlYWRpbmctaGVyby1mb250LXNpemUtbDogICAgICAgICAgICAgICAgICAgICAgIDhyZW0gIWRlZmF1bHQ7IC8vIDEyOHB4XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LWw6ICAgICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcblxuJGhlYWRpbmctaGVyby1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWwgKiAwLjc1ICFkZWZhdWx0OyAvLyA5NnB4XG4kaGVhZGluZy1oZXJvLWxpbmUtaGVpZ2h0LW06ICAgICAgICAgICAgICAgICAgICAgMSAhZGVmYXVsdDtcblxuJGhlYWRpbmctaGVyby1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWhlcm8tZm9udC1zaXplLWwgKiAwLjUgIWRlZmF1bHQ7IC8vIDY0cHhcbiRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nLWRpdmlkZXItcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaGVhZGluZy1idWxsZXQtdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5xdW90ZSgnY2FsYygtMC4xICogMWVtKScpICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDAuOWVtICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LW1hcmdpbi1yaWdodDogICAgICAgICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kaGVhZGluZy1idWxsZXQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJGhlYWRpbmctYnVsbGV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaGVhZGluZy1saW5lLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGhlYWRpbmctbGluZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDBweCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRoZWFkaW5nLWxpbmUtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAwLjZlbSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogSGVhZGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogUHJpbWFyeVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLXByaW1hcnkge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctcHJpbWFyeS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLXByaW1hcnktbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctcHJpbWFyeSgpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstaGVhZGluZy1wcmltYXJ5IHsgZm9udC1zaXplOiAkaGVhZGluZy1wcmltYXJ5LWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1oZWFkaW5nLXByaW1hcnkge1xuICAgICAgICBmb250LXNpemU6ICRoZWFkaW5nLXByaW1hcnktZm9udC1zaXplLWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGluZy1wcmltYXJ5LWxpbmUtaGVpZ2h0LWw7XG4gICAgfVxuXG59XG5cblxuLyogSGVyb1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1oZWFkaW5nLWhlcm8ge1xuICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctaGVyby1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctaGVybykpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctaGVybygpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstaGVhZGluZy1oZXJvIHtcbiAgICAgICAgZm9udC1zaXplOiAkaGVhZGluZy1oZXJvLWZvbnQtc2l6ZS1tO1xuICAgICAgICBsaW5lLWhlaWdodDogJGhlYWRpbmctaGVyby1saW5lLWhlaWdodC1tO1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWhlYWRpbmctaGVybyB7XG4gICAgICAgIGZvbnQtc2l6ZTogJGhlYWRpbmctaGVyby1mb250LXNpemUtbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRoZWFkaW5nLWhlcm8tbGluZS1oZWlnaHQtbDtcbiAgICB9XG5cbn1cblxuXG4vKiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWhlYWRpbmctZGl2aWRlciB7XG4gICAgcGFkZGluZy1ib3R0b206ICRoZWFkaW5nLWRpdmlkZXItcGFkZGluZy1ib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlYWRpbmctZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGhlYWRpbmctZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctZGl2aWRlcigpO31cbn1cblxuXG4vKiBCdWxsZXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaGVhZGluZy1idWxsZXQgeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLypcbiAqIDEuIFVzaW5nIGBpbmxpbmUtYmxvY2tgIHRvIG1ha2UgaXQgd29yayB3aXRoIHRleHQgYWxpZ25tZW50XG4gKiAyLiBDZW50ZXIgdmVydGljYWxseVxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstaGVhZGluZy1idWxsZXQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAkaGVhZGluZy1idWxsZXQtdG9wO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMyAqL1xuICAgIGhlaWdodDogJGhlYWRpbmctYnVsbGV0LWhlaWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRoZWFkaW5nLWJ1bGxldC1tYXJnaW4tcmlnaHQ7XG4gICAgYm9yZGVyLWxlZnQ6ICRoZWFkaW5nLWJ1bGxldC1ib3JkZXItd2lkdGggc29saWQgJGhlYWRpbmctYnVsbGV0LWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1idWxsZXQpKSB7QGluY2x1ZGUgaG9vay1oZWFkaW5nLWJ1bGxldCgpO31cbn1cblxuXG4vKiBMaW5lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIENsaXAgdGhlIGNoaWxkIGVsZW1lbnRcbiAqL1xuXG4udWstaGVhZGluZy1saW5lIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogRXh0cmEgbWFya3VwIGlzIG5lZWRlZCB0byBtYWtlIGl0IHdvcmsgd2l0aCB0ZXh0IGFsaWduXG4gKi9cblxuLnVrLWhlYWRpbmctbGluZSA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qXG4gKiAxLiBDZW50ZXIgdmVydGljYWxseVxuICogMi4gTWFrZSB0aGUgZWxlbWVudCBhcyBsYXJnZSBhcyBwb3NzaWJsZS4gSXQncyBjbGlwcGVkIGJ5IHRoZSBjb250YWluZXIuXG4gKiAzLiBTdHlsZVxuICovXG5cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmJlZm9yZSxcbi51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiB1bnF1b3RlKCdjYWxjKCN7JGhlYWRpbmctbGluZS10b3B9IC0gKCN7JGhlYWRpbmctbGluZS1oZWlnaHR9IC8gMikpJyk7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAkaGVhZGluZy1saW5lLXdpZHRoO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItYm90dG9tOiAkaGVhZGluZy1saW5lLWJvcmRlci13aWR0aCBzb2xpZCAkaGVhZGluZy1saW5lLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staGVhZGluZy1saW5lKSkge0BpbmNsdWRlIGhvb2staGVhZGluZy1saW5lKCk7fVxufVxuXG4udWstaGVhZGluZy1saW5lID4gOjpiZWZvcmUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogJGhlYWRpbmctbGluZS1tYXJnaW4taG9yaXpvbnRhbDtcbn1cbi51ay1oZWFkaW5nLWxpbmUgPiA6OmFmdGVyIHtcbiAgICBsZWZ0OiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAkaGVhZGluZy1saW5lLW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWhlYWRpbmctbWlzYykpIHtAaW5jbHVkZSBob29rLWhlYWRpbmctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staGVhZGluZy1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1oZXJvKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2staGVhZGluZy1idWxsZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLWxpbmUoKXt9XG4vLyBAbWl4aW4gaG9vay1oZWFkaW5nLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWhlYWRpbmctZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1oZWFkaW5nLWJ1bGxldC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtaGVhZGluZy1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1oZWFkaW5nLWhlcm8oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaGVhZGluZy1idWxsZXQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWhlYWRpbmctbGluZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRGl2aWRlclxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGRpdmlkZXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZGl2aWRlci1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGl2aWRlci1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpdmlkZXItdmVydGljYWxgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRpdmlkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kZGl2aWRlci1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRkaXZpZGVyLWljb24tbGluZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAxMDAlICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMjAlMjIlMjBoZWlnaHQlM0QlMjIyMCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDIwJTIwMjAlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjJub25lJTIyJTIwc3Ryb2tlJTNEJTIyIzAwMCUyMiUyMHN0cm9rZS13aWR0aCUzRCUyMjIlMjIlMjBjeCUzRCUyMjEwJTIyJTIwY3klM0QlMjIxMCUyMiUyMHIlM0QlMjI3JTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFJTBBXCIgIWRlZmF1bHQ7XG5cbiRkaXZpZGVyLXNtYWxsLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDBweCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkaXZpZGVyLXNtYWxsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuJGRpdmlkZXItdmVydGljYWwtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEwMHB4ICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRpdmlkZXItdmVydGljYWwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEaXZpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlc2V0IGRlZmF1bHQgYGhyYFxuICogMi4gU2V0IG1hcmdpbiBpZiBhIGBkaXZgIGlzIHVzZWQgZm9yIHNlbWFudGljYWwgcmVhc29uXG4gKi9cblxuW2NsYXNzKj0ndWstZGl2aWRlciddIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAkZGl2aWRlci1tYXJnaW4tdmVydGljYWw7XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIFtjbGFzcyo9J3VrLWRpdmlkZXInXSB7IG1hcmdpbi10b3A6ICRkaXZpZGVyLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG5cbi8qIEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZGl2aWRlci1pY29uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAkZGl2aWRlci1pY29uLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZGl2aWRlci1pY29uLWltYWdlLCBcIiMwMDBcIiwgJGRpdmlkZXItaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24pKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24oKTt9XG59XG5cbi51ay1kaXZpZGVyLWljb246OmJlZm9yZSxcbi51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRkaXZpZGVyLWljb24tbGluZS10b3A7XG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSAtICgjeyRkaXZpZGVyLWljb24td2lkdGh9IC8gMikpJyk7XG4gICAgYm9yZGVyLWJvdHRvbTogJGRpdmlkZXItaWNvbi1saW5lLWJvcmRlci13aWR0aCBzb2xpZCAkZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLWljb24tbGluZSkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbi1saW5lKCk7fVxufVxuXG4udWstZGl2aWRlci1pY29uOjpiZWZvcmUge1xuICAgIHJpZ2h0OiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRkaXZpZGVyLWljb24td2lkdGh9IC8gMikpJyk7XG4gICAgd2lkdGg6ICRkaXZpZGVyLWljb24tbGluZS13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uLWxpbmUtbGVmdCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKTt9XG59XG5cbi51ay1kaXZpZGVyLWljb246OmFmdGVyIHtcbiAgICBsZWZ0OiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRkaXZpZGVyLWljb24td2lkdGh9IC8gMikpJyk7XG4gICAgd2lkdGg6ICRkaXZpZGVyLWljb24tbGluZS13aWR0aDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1pY29uLWxpbmUtcmlnaHQpKSB7QGluY2x1ZGUgaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpO31cbn1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBGaXggaGVpZ2h0IG9mIGBocmAgZWxlbWVudCBub3QgYmVpbmcgZXhwYW5kZWQgYnkgY2hpbGQgYm9yZGVyIHdpZHRoLlxuICogYGhlaWdodGAgYWxzbyBuZWVkZWQgdG8gcmVzZXQgdGhlIGNoaWxkIGBsaW5lLWhlaWdodGAgY2F1c2VkIGJ5IGBpbmxpbmUtYmxvY2tgXG4gKi9cblxuLnVrLWRpdmlkZXItc21hbGwgeyBoZWlnaHQ6ICRkaXZpZGVyLXNtYWxsLWJvcmRlci13aWR0aDsgfVxuXG4udWstZGl2aWRlci1zbWFsbDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAkZGl2aWRlci1zbWFsbC13aWR0aDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXRvcDogJGRpdmlkZXItc21hbGwtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLXNtYWxsLWJvcmRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kaXZpZGVyLXNtYWxsKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1zbWFsbCgpO31cbn1cblxuXG4vKiBWZXJ0aWNhbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kaXZpZGVyLXZlcnRpY2FsIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogJGRpdmlkZXItdmVydGljYWwtaGVpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBib3JkZXItbGVmdDogJGRpdmlkZXItdmVydGljYWwtYm9yZGVyLXdpZHRoIHNvbGlkICRkaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci12ZXJ0aWNhbCkpIHtAaW5jbHVkZSBob29rLWRpdmlkZXItdmVydGljYWwoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZGl2aWRlci1taXNjKSkge0BpbmNsdWRlIGhvb2stZGl2aWRlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZSgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItaWNvbi1saW5lLWxlZnQoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLWljb24tbGluZS1yaWdodCgpe31cbi8vIEBtaXhpbiBob29rLWRpdmlkZXItc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuLy8gQG1peGluIGhvb2stZGl2aWRlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1kaXZpZGVyLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtZGl2aWRlci1pY29uLWxpbmUtYm9yZGVyOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLWRpdmlkZXItc21hbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsLWJvcmRlcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRpdmlkZXItaWNvbi1saW5lKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXNtYWxsKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kaXZpZGVyLXZlcnRpY2FsKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMaXN0XG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saXN0YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWxpc3QtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3Qtc3RyaXBlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpc3QtYnVsbGV0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlzdC1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbGlzdC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRsaXN0LW5lc3RlZC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJGxpc3QtZGl2aWRlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbGlzdC1idWxsZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKCRnbG9iYWwtbGluZS1oZWlnaHQgKiAxZW0pICFkZWZhdWx0O1xuJGxpc3QtYnVsbGV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaXN0LWJ1bGxldC13aWR0aCAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1tYXJnaW4tcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRsaXN0LWJ1bGxldC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbGlzdC1sYXJnZS1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgJGdsb2JhbC1zbWFsbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1saXN0LWJ1bGxldC1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjYlMjIlMjBoZWlnaHQlM0QlMjI2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwNiUyMDYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjIzJTIyJTIwY3klM0QlMjIzJTIyJTIwciUzRCUyMjMlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saXN0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1saXN0ID4gbGk6OmJlZm9yZSxcbi51ay1saXN0ID4gbGk6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstbGlzdCA+IGxpOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstbGlzdCA+IGxpID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBOZXN0ZWQgbGlzdHNcbiAqL1xuXG4udWstbGlzdCB1bCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctbGVmdDogJGxpc3QtbmVzdGVkLXBhZGRpbmctbGVmdDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxuICogU3R5bGVcbiAqL1xuXG4udWstbGlzdCA+IGxpOm50aC1jaGlsZChuKzIpLFxuLnVrLWxpc3QgPiBsaSA+IHVsIHsgbWFyZ2luLXRvcDogJGxpc3QtbWFyZ2luLXRvcDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLWxpc3QtZGl2aWRlciA+IGxpOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkbGlzdC1kaXZpZGVyLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRsaXN0LWRpdmlkZXItbWFyZ2luLXRvcDtcbiAgICBib3JkZXItdG9wOiAkbGlzdC1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbGlzdC1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3RyaXBlZFxuICovXG5cbi51ay1saXN0LXN0cmlwZWQgPiBsaSB7XG4gICAgcGFkZGluZzogJGxpc3Qtc3RyaXBlZC1wYWRkaW5nLXZlcnRpY2FsICRsaXN0LXN0cmlwZWQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LXN0cmlwZWQpKSB7QGluY2x1ZGUgaG9vay1saXN0LXN0cmlwZWQoKTt9XG59XG5cbi51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtb2YtdHlwZShvZGQpIHsgYmFja2dyb3VuZDogJGxpc3Qtc3RyaXBlZC1iYWNrZ3JvdW5kOyB9XG5cbi51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtY2hpbGQobisyKSB7IG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEJ1bGxldFxuICogMS4gUmVzZXQgZGlzcGxheSBgdGFibGVgIHdoaWNoIGNhdXNlcyBpc3N1ZXMgaW4gY29tYmluYXRpb24gd2l0aCBtdWx0aSBjb2x1bW4gbGF5b3V0cy5cbiAqL1xuXG4udWstbGlzdC1idWxsZXQgPiBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctbGVmdDogdW5xdW90ZSgnY2FsYygjeyRsaXN0LWJ1bGxldC13aWR0aH0gKyAjeyRsaXN0LWJ1bGxldC1tYXJnaW4tcmlnaHR9KScpO1xufVxuXG4udWstbGlzdC1idWxsZXQgPiBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJGxpc3QtYnVsbGV0LXdpZHRoO1xuICAgIGhlaWdodDogJGxpc3QtYnVsbGV0LWhlaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbGlzdC1idWxsZXQtaW1hZ2UsIFwiIzAwMFwiLCAkbGlzdC1idWxsZXQtaWNvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1idWxsZXQpKSB7QGluY2x1ZGUgaG9vay1saXN0LWJ1bGxldCgpO31cbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpc3QtbGFyZ2UgPiBsaTpudGgtY2hpbGQobisyKSxcbi51ay1saXN0LWxhcmdlID4gbGkgPiB1bCB7IG1hcmdpbi10b3A6ICRsaXN0LWxhcmdlLW1hcmdpbi10b3A7IH1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbGlzdC1sYXJnZS51ay1saXN0LWRpdmlkZXIgPiBsaTpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGxpc3QtbGFyZ2UtZGl2aWRlci1tYXJnaW4tdG9wO1xuICAgIHBhZGRpbmctdG9wOiAkbGlzdC1sYXJnZS1kaXZpZGVyLW1hcmdpbi10b3A7XG59XG5cbi8qXG4gKiBTdHJpcGVkXG4gKi9cblxuLnVrLWxpc3QtbGFyZ2UudWstbGlzdC1zdHJpcGVkID4gbGkge1xuICAgIHBhZGRpbmc6ICRsaXN0LWxhcmdlLXN0cmlwZWQtcGFkZGluZy12ZXJ0aWNhbCAkbGlzdC1sYXJnZS1zdHJpcGVkLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlzdC1zdHJpcGVkKSkge0BpbmNsdWRlIGhvb2stbGlzdC1zdHJpcGVkKCk7fVxufVxuXG4udWstbGlzdC1sYXJnZS51ay1saXN0LXN0cmlwZWQgPiBsaTpudGgtY2hpbGQobisyKSB7IG1hcmdpbi10b3A6IDA7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1saXN0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1saXN0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxpc3QtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWxpc3Qtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLWxpc3QtYnVsbGV0KCl7fVxuLy8gQG1peGluIGhvb2stbGlzdC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1saXN0LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbGlzdC1zdHJpcGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1saXN0LWJ1bGxldC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxpc3QtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGlzdC1zdHJpcGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1saXN0LWJ1bGxldCgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgRGVzY3JpcHRpb24gbGlzdFxuLy8gRGVzY3JpcHRpb246ICAgICBTdHlsZXMgZm9yIGRlc2NyaXB0aW9uIGxpc3RzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZGVzY3JpcHRpb24tbGlzdGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kZGVzY3JpcHRpb24tbGlzdC10ZXJtLW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wOiAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGg6ICAgICAkZ2xvYmFsLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXI6ICAgICAgICAgICAkZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRGVzY3JpcHRpb24gbGlzdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUZXJtXG4gKi9cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdCB7XG4gICAgY29sb3I6ICRkZXNjcmlwdGlvbi1saXN0LXRlcm0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSkpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpO31cbn1cblxuLnVrLWRlc2NyaXB0aW9uLWxpc3QgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtdGVybS1tYXJnaW4tdG9wO1xufVxuXG4vKlxuICogRGVzY3JpcHRpb25cbiAqL1xuXG4udWstZGVzY3JpcHRpb24tbGlzdCA+IGRkIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1kZXNjcmlwdGlvbikpIHtAaW5jbHVkZSBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGluZVxuICovXG5cbi51ay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXIgPiBkdDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLW1hcmdpbi10b3A7XG4gICAgcGFkZGluZy10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1tYXJnaW4tdG9wO1xuICAgIGJvcmRlci10b3A6ICRkZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybS1ib3JkZXItd2lkdGggc29saWQgJGRlc2NyaXB0aW9uLWxpc3QtZGl2aWRlci10ZXJtLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZGVzY3JpcHRpb24tbGlzdC1kaXZpZGVyLXRlcm0pKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1kZXNjcmlwdGlvbi1saXN0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtdGVybSgpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtZGVzY3JpcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1kZXNjcmlwdGlvbi1saXN0LWRpdmlkZXItdGVybSgpe31cbi8vIEBtaXhpbiBob29rLWRlc2NyaXB0aW9uLWxpc3QtbWlzYygpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIFRhYmxlXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgdGFibGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGFibGVgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGFibGUtbWlkZGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtZGl2aWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXN0cmlwZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFibGUtanVzdGlmeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLXNocmlua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWV4cGFuZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYmxlLWxpbmtgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10YWJsZS1yZXNwb25zaXZlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGFibGUtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgIDEycHggIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkZXItY2VsbC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICBib2xkICFkZWZhdWx0O1xuJHRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1mb290ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1yb3ctYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAjZmZkICFkZWZhdWx0O1xuXG4kdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ob3Zlci1yb3ctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkdGFibGUtcm93LWFjdGl2ZS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4kdGFibGUtbGFyZ2UtY2VsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMjJweCAhZGVmYXVsdDtcbiR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4kdGFibGUtZXhwYW5kLW1pbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgMTUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqIDIuIEJlaGF2ZSBsaWtlIGEgYmxvY2sgZWxlbWVudFxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstdGFibGUge1xuICAgIC8qIDEgKi9cbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIC8qIDIgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWJvdHRvbTogJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUpKSB7QGluY2x1ZGUgaG9vay10YWJsZSgpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXRhYmxlIHsgbWFyZ2luLXRvcDogJHRhYmxlLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG5cbi8qIEhlYWRlciBjZWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFN0eWxlXG4gKi9cblxuLnVrLXRhYmxlIHRoIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nLXZlcnRpY2FsICR0YWJsZS1jZWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgLyogMSAqL1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHRhYmxlLWhlYWRlci1jZWxsLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZGVyLWNlbGwtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWhlYWRlci1jZWxsKSkge0BpbmNsdWRlIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKTt9XG59XG5cblxuLyogQ2VsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZSB0ZCB7XG4gICAgcGFkZGluZzogJHRhYmxlLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtY2VsbCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLWNlbGwoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstdGFibGUgdGQgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBGb290ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUgdGZvb3Qge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWZvb3Rlci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWZvb3RlcikpIHtAaW5jbHVkZSBob29rLXRhYmxlLWZvb3RlcigpO31cbn1cblxuXG4vKiBDYXB0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlIGNhcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogJHRhYmxlLWNhcHRpb24tZm9udC1zaXplO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1jYXB0aW9uKSkge0BpbmNsdWRlIGhvb2stdGFibGUtY2FwdGlvbigpO31cbn1cblxuXG4vKiBBbGlnbm1lbnQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtbWlkZGxlLFxuLnVrLXRhYmxlLW1pZGRsZSB0ZCB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLXRhYmxlLWRpdmlkZXIgPiB0cjpub3QoOmZpcnN0LWNoaWxkKSxcbi51ay10YWJsZS1kaXZpZGVyID4gOm5vdCg6Zmlyc3QtY2hpbGQpID4gdHIsXG4udWstdGFibGUtZGl2aWRlciA+IDpmaXJzdC1jaGlsZCA+IHRyOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBib3JkZXItdG9wOiAkdGFibGUtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN0cmlwZWRcbiAqL1xuXG4udWstdGFibGUtc3RyaXBlZCA+IHRyOm50aC1vZi10eXBlKG9kZCksXG4udWstdGFibGUtc3RyaXBlZCB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtc3RyaXBlZC1yb3ctYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtc3RyaXBlZCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXN0cmlwZWQoKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay10YWJsZS1ob3ZlciA+IHRyOmhvdmVyLFxuLnVrLXRhYmxlLWhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaG92ZXItcm93LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYmxlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGFibGUtaG92ZXIoKTt9XG59XG5cblxuLyogQWN0aXZlIHN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRhYmxlID4gdHIudWstYWN0aXZlLFxuLnVrLXRhYmxlIHRib2R5IHRyLnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtcm93LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXJvdy1hY3RpdmUoKTt9XG59XG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtc21hbGwgdGgsXG4udWstdGFibGUtc21hbGwgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1zbWFsbC1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1zbWFsbCkpIHtAaW5jbHVkZSBob29rLXRhYmxlLXNtYWxsKCk7fVxufVxuXG4udWstdGFibGUtbGFyZ2UgdGgsXG4udWstdGFibGUtbGFyZ2UgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1sYXJnZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWxhcmdlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWJsZS1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXRhYmxlLWxhcmdlKCk7fVxufVxuXG5cbi8qIEp1c3RpZnkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGFibGUtanVzdGlmeSB0aDpmaXJzdC1jaGlsZCxcbi51ay10YWJsZS1qdXN0aWZ5IHRkOmZpcnN0LWNoaWxkIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi51ay10YWJsZS1qdXN0aWZ5IHRoOmxhc3QtY2hpbGQsXG4udWstdGFibGUtanVzdGlmeSB0ZDpsYXN0LWNoaWxkIHsgcGFkZGluZy1yaWdodDogMDsgfVxuXG5cbi8qIENlbGwgc2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10YWJsZS1zaHJpbmsgeyB3aWR0aDogMXB4OyB9XG4udWstdGFibGUtZXhwYW5kIHsgbWluLXdpZHRoOiAkdGFibGUtZXhwYW5kLW1pbi13aWR0aDsgfVxuXG5cbi8qIENlbGwgbGluayBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEb2VzIG5vdCB3b3JrIHdpdGggYHVrLXRhYmxlLWp1c3RpZnlgIGF0IHRoZSBtb21lbnRcbiAqL1xuXG4udWstdGFibGUtbGluayB7IHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuXG4udWstdGFibGUtbGluayA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgJHRhYmxlLWNlbGwtcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4udWstdGFibGUtc21hbGwgLnVrLXRhYmxlLWxpbmsgPiBhIHsgcGFkZGluZzogJHRhYmxlLXNtYWxsLWNlbGwtcGFkZGluZy12ZXJ0aWNhbCAkdGFibGUtc21hbGwtY2VsbC1wYWRkaW5nLWhvcml6b250YWw7IH1cblxuXG4vKiBSZXNwb25zaXZlIHRhYmxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbC1tYXgpIHtcblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRib2R5LFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRyIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRoZWFkIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGgsXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQge1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIHRkOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgLnVrLXRhYmxlLWxpbms6bm90KDpmaXJzdC1jaGlsZCkgPiBhIHsgcGFkZGluZy10b3A6IHJvdW5kKCR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgLyAzKSAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstdGFibGUtcmVzcG9uc2l2ZSB0aDpub3QoOmxhc3QtY2hpbGQpOm5vdCgudWstdGFibGUtbGluayksXG4gICAgLnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQ6bm90KDpsYXN0LWNoaWxkKTpub3QoLnVrLXRhYmxlLWxpbmspLFxuICAgIC51ay10YWJsZS1yZXNwb25zaXZlIC51ay10YWJsZS1saW5rOm5vdCg6bGFzdC1jaGlsZCkgPiBhIHsgcGFkZGluZy1ib3R0b206IHJvdW5kKCR0YWJsZS1jZWxsLXBhZGRpbmctdmVydGljYWwgLyAzKSAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstdGFibGUtanVzdGlmeS51ay10YWJsZS1yZXNwb25zaXZlIHRoLFxuICAgIC51ay10YWJsZS1qdXN0aWZ5LnVrLXRhYmxlLXJlc3BvbnNpdmUgdGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuXG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stdGFibGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXRhYmxlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRhYmxlKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtaGVhZGVyLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1jZWxsKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtZm9vdGVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtY2FwdGlvbigpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtc3RyaXBlZCgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdGFibGUtc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10YWJsZS1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLXRhYmxlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXRhYmxlLWhlYWRlci1jZWxsLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIGZhZGUtb3V0KCRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAwLjAyKSAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWJsZS1zdHJpcGVkLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXRhYmxlLWhvdmVyLXJvdy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFibGUtaGVhZGVyLWNlbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWNhcHRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXJvdy1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLXN0cmlwZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYmxlLWhvdmVyKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgSWNvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGljb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaWNvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1pY29uLWltYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaWNvbi1idXR0b25gXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGljb24taW1hZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRpY29uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGljb24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtY29sb3IsIDUlKSAhZGVmYXVsdDtcblxuJGljb24tYnV0dG9uLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM2cHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kaWNvbi1idXR0b24tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpY29uLWJ1dHRvbi1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICBkYXJrZW4oJGljb24tYnV0dG9uLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgZGFya2VuKCRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuJGljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTm90ZTogMS4gLSA3LiBpcyByZXF1aXJlZCBmb3IgYGJ1dHRvbmAgZWxlbWVudHMuIE5lZWRlZCBmb3IgQ2xvc2UgYW5kIEZvcm0gSWNvbiBjb21wb25lbnQuXG4gKiAxLiBSZW1vdmUgbWFyZ2lucyBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKiAyLiBSZW1vdmUgYm9yZGVycyBmb3IgYGJ1dHRvbmAuXG4gKiAzLiBSZW1vdmUgYm9yZGVyLXJhZGl1cyBpbiBDaHJvbWUuXG4gKiA0LiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFLlxuICogNS4gQ29ycmVjdCBgZm9udGAgcHJvcGVydGllcyBhbmQgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGZvciBgYnV0dG9uYC5cbiAqIDYuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogNy4gUmVtb3ZlIGRlZmF1bHQgYGJ1dHRvbmAgcGFkZGluZyBhbmQgYmFja2dyb3VuZCBjb2xvclxuICogOC4gU3R5bGVcbiAqIDkuIEZpbGwgYWxsIFNWRyBlbGVtZW50cyB3aXRoIHRoZSBjdXJyZW50IHRleHQgY29sb3IgaWYgbm8gYGZpbGxgIGF0dHJpYnV0ZSBpcyBzZXRcbiAqIDEwLiBMZXQgdGhlIGNvbnRhaW5lciBmaXQgdGhlIGhlaWdodCBvZiB0aGUgaWNvblxuICovXG5cbi51ay1pY29uIHtcbiAgICAvKiAxICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDIgKi9cbiAgICBib3JkZXI6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgLyogNCAqL1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIC8qIDUgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIC8qIDYgKi9cbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAvKiA3LiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLyogOCAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiA5ICovXG4gICAgZmlsbDogY3VycmVudGNvbG9yO1xuICAgIC8qIDEwICovXG4gICAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbi8qIFJlcXVpcmVkIGZvciBgYnV0dG9uYC4gKi9cbmJ1dHRvbi51ay1pY29uOm5vdCg6ZGlzYWJsZWQpIHsgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbi51ay1pY29uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIFNldCB0aGUgZmlsbCBhbmQgc3Ryb2tlIGNvbG9yIG9mIGFsbCBTVkcgZWxlbWVudHMgdG8gdGhlIGN1cnJlbnQgdGV4dCBjb2xvclxuICovXG5cbi51ay1pY29uOm5vdCgudWstcHJlc2VydmUpIFtmaWxsKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgZmlsbDogY3VycmVudGNvbG9yOyB9XG4udWstaWNvbjpub3QoLnVrLXByZXNlcnZlKSBbc3Ryb2tlKj0nIyddOm5vdCgudWstcHJlc2VydmUpIHsgc3Ryb2tlOiBjdXJyZW50Y29sb3I7IH1cblxuLypcbiAqIEZpeCBGaXJlZm94IGJsdXJyeSBTVkcgcmVuZGVyaW5nOiBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ2ODM1XG4gKi9cblxuLnVrLWljb24gPiAqIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTsgfVxuXG5cbi8qIEltYWdlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERpc3BsYXkgaW1hZ2VzIGluIGljb24gZGltZW5zaW9uc1xuICovXG5cbi51ay1pY29uLWltYWdlIHtcbiAgICB3aWR0aDogJGljb24taW1hZ2Utc2l6ZTtcbiAgICBoZWlnaHQ6ICRpY29uLWltYWdlLXNpemU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBMaW5rXG4gKi9cblxuLnVrLWljb24tbGluayB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluaykpIHtAaW5jbHVkZSBob29rLWljb24tbGluaygpO31cbn1cblxuLnVrLWljb24tbGluazpob3Zlcixcbi51ay1pY29uLWxpbms6Zm9jdXMge1xuICAgIGNvbG9yOiAkaWNvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tbGluay1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWljb24tbGluay1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWljb24tbGluazphY3RpdmUsXG4udWstYWN0aXZlID4gLnVrLWljb24tbGluayB7XG4gICAgY29sb3I6ICRpY29uLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLWxpbmstYWN0aXZlKSkge0BpbmNsdWRlIGhvb2staWNvbi1saW5rLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEJ1dHRvblxuICogMS4gQ2VudGVyIGljb24gdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKi9cblxuLnVrLWljb24tYnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkaWNvbi1idXR0b24tc2l6ZTtcbiAgICBoZWlnaHQ6ICRpY29uLWJ1dHRvbi1zaXplO1xuICAgIGJvcmRlci1yYWRpdXM6ICRpY29uLWJ1dHRvbi1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRpY29uLWJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaWNvbi1idXR0b24tY29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbi1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1pY29uLWJ1dHRvbigpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWljb24tYnV0dG9uOmhvdmVyLFxuLnVrLWljb24tYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1idXR0b24taG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGljb24tYnV0dG9uLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tYnV0dG9uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2staWNvbi1idXR0b24taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1pY29uLWJ1dHRvbjphY3RpdmUsXG4udWstYWN0aXZlID4gLnVrLWljb24tYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaWNvbi1idXR0b24tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpY29uLWJ1dHRvbi1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb24tYnV0dG9uLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWljb24tYnV0dG9uLWFjdGl2ZSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1pY29uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1pY29uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWljb24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWljb24tbGluay1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWljb24tbGluay1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pY29uLWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWljb24tYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1idXR0b24tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staWNvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1pY29uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1pY29uLWJ1dHRvbi1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29uLWJ1dHRvbi1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICBkYXJrZW4oJGludmVyc2UtaWNvbi1idXR0b24tYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb24tYnV0dG9uLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1saW5rKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWxpbmstaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tbGluay1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb24tYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29uLWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbi1idXR0b24tYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGb3JtIFJhbmdlXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgdGhlIHJhbmdlIGlucHV0IHR5cGVcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1yYW5nZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1yYW5nZS10cmFjay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGZvcm0tcmFuZ2UtdHJhY2stYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIGRhcmtlbigkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRmb3JtLXJhbmdlLXRyYWNrLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgICBkYXJrZW4oJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kLCAxNSUpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBGb3JtIFJhbmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE5vcm1hbGl6ZSBhbmQgZGVmYXVsdHNcbiAqIDIuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDMuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDQuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiA1LiBSZW1vdmUgd2hpdGUgYmFja2dyb3VuZCBpbiBDaHJvbWVcbiAqIDYuIFJlbW92ZSBwYWRkaW5nIGluIElFMTFcbiAqL1xuXG4udWstcmFuZ2Uge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDIgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIC8qIDYgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZSgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1yYW5nZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cbi51ay1yYW5nZTo6LW1vei1mb2N1cy1vdXRlciB7IGJvcmRlcjogbm9uZTsgfVxuXG4vKiBJRTExIFJlc2V0ICovXG4udWstcmFuZ2U6Oi1tcy10cmFjayB7XG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBJbXByb3ZlcyBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgZm9yIGNsaWNrYWJsZSBlbGVtZW50c1xuICovXG5cbi51ay1yYW5nZTpub3QoOmRpc2FibGVkKTo6LXdlYmtpdC1zbGlkZXItdGh1bWIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cbi51ay1yYW5nZTpub3QoOmRpc2FibGVkKTo6LW1vei1yYW5nZS10aHVtYiB7IGN1cnNvcjogcG9pbnRlcjsgfVxuLnVrLXJhbmdlOm5vdCg6ZGlzYWJsZWQpOjotbXMtdGh1bWIgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuXG4vKiBUaHVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4vKiBXZWJraXQgKi9cbi51ay1yYW5nZTo6LXdlYmtpdC1zbGlkZXItdGh1bWIge1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogKGZsb29yKCRmb3JtLXJhbmdlLXRodW1iLWhlaWdodCAvIDIpICogLTEpO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEZpcmVmb3ggKi9cbi51ay1yYW5nZTo6LW1vei1yYW5nZS10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiAkZm9ybS1yYW5nZS10aHVtYi1oZWlnaHQ7XG4gICAgd2lkdGg6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRodW1iLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdGh1bWIpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRodW1iKCk7fVxufVxuXG4vKiBFZGdlICovXG4udWstcmFuZ2U6Oi1tcy10aHVtYiB7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbi10b3A6IDA7XG59XG5cbi8qIElFMTEgKi9cbi51ay1yYW5nZTo6LW1zLXRodW1iIHtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRodW1iLWhlaWdodDtcbiAgICB3aWR0aDogJGZvcm0tcmFuZ2UtdGh1bWItaGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRmb3JtLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdGh1bWItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10aHVtYikpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdGh1bWIoKTt9XG59XG5cbi8qIEVkZ2UgKyBJRTExICovXG4udWstcmFuZ2U6Oi1tcy10b29sdGlwIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIFRyYWNrXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNhZmFyaSBkb2Vzbid0IGhhdmUgYSBmb2N1cyBzdGF0ZS4gVXNpbmcgYWN0aXZlIGluc3RlYWQuXG4gKi9cblxuLyogV2Via2l0ICovXG4udWstcmFuZ2U6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjaygpO31cbn1cblxuLnVrLXJhbmdlOmZvY3VzOjotd2Via2l0LXNsaWRlci1ydW5uYWJsZS10cmFjayxcbi8qIDEgKi9cbi51ay1yYW5nZTphY3RpdmU6Oi13ZWJraXQtc2xpZGVyLXJ1bm5hYmxlLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuLyogRmlyZWZveCAqL1xuLnVrLXJhbmdlOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXJhbmdlLXRyYWNrLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjaygpO31cbn1cblxuLnVrLXJhbmdlOmZvY3VzOjotbW96LXJhbmdlLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1yYW5nZS10cmFjay1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cygpO31cbn1cblxuLyogRWRnZSAqL1xuLnVrLXJhbmdlOjotbXMtZmlsbC1sb3dlcixcbi51ay1yYW5nZTo6LW1zLWZpbGwtdXBwZXIge1xuICAgIGhlaWdodDogJGZvcm0tcmFuZ2UtdHJhY2staGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRmb3JtLXJhbmdlLXRyYWNrLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFuZ2UtdHJhY2spKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhbmdlLXRyYWNrKCk7fVxufVxuXG4udWstcmFuZ2U6Zm9jdXM6Oi1tcy1maWxsLWxvd2VyLFxuLnVrLXJhbmdlOmZvY3VzOjotbXMtZmlsbC11cHBlciB7XG4gICAgYmFja2dyb3VuZDogJGZvcm0tcmFuZ2UtdHJhY2stZm9jdXMtYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS10cmFjay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFuZ2UtdHJhY2stZm9jdXMoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYW5nZS1taXNjKSkge0BpbmNsdWRlIGhvb2stZm9ybS1yYW5nZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS10aHVtYigpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFuZ2UtdHJhY2soKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhbmdlLXRyYWNrLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYW5nZS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBGb3JtXG4vLyBEZXNjcmlwdGlvbjogICAgIFN0eWxlcyBmb3IgZm9ybXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1mb3JtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnB1dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlbGVjdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRleHRhcmVhYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcmFkaW9gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jaGVja2JveGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxlZ2VuZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZpZWxkc2V0YFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWZvcm0tY3VzdG9tYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1zdGFja2VkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1ob3Jpem9udGFsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1sYWJlbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tY29udHJvbHNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mb3JtLWljb24tZmxpcGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1mb3JtLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tZGFuZ2VyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1zdWNjZXNzYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS1ibGFua2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgteHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0td2lkdGgtbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZm9ybS13aWR0aC1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWZvcm0tY29udHJvbHMtdGV4dGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9ybS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICA0cHggIWRlZmF1bHQ7XG5cbiRmb3JtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGZvcm0tZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRmb3JtLWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1zbWFsbC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLXNtYWxsLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICA4cHggIWRlZmF1bHQ7XG4kZm9ybS1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJGZvcm0tc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGZvcm0tc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kZm9ybS1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuJGZvcm0tbGFyZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRmb3JtLWxhcmdlLWhlaWdodCAhZGVmYXVsdDtcbiRmb3JtLWxhcmdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRmb3JtLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kZm9ybS13aWR0aC14c21hbGw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLXNtYWxsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMzBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLW1lZGl1bTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRmb3JtLXdpZHRoLWxhcmdlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcblxuJGZvcm0tc2VsZWN0LXBhZGRpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kZm9ybS1zZWxlY3QtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLXNlbGVjdC1vcHRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJGZvcm0tc2VsZWN0LWRpc2FibGVkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLXJhZGlvLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNnB4ICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgIC00cHggIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzLWJhY2tncm91bmQ6ICAgICAgICAgICAgZGFya2VuKCRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuXG4kZm9ybS1yYWRpby1kaXNhYmxlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRmb3JtLWxlZ2VuZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWxlZ2VuZC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC13aWR0aDogICAgICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJGZvcm0taG9yaXpvbnRhbC1sYWJlbC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgIDdweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtbWFyZ2luLWxlZnQ6ICAgICAgICAgICAyMTVweCAhZGVmYXVsdDtcbiRmb3JtLWhvcml6b250YWwtY29udHJvbHMtdGV4dC1wYWRkaW5nLXRvcDogICAgICA3cHggIWRlZmF1bHQ7XG5cbiRmb3JtLWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9ybS1oZWlnaHQgIWRlZmF1bHQ7XG4kZm9ybS1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2U6IFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNDc3ZnJTIwd2lkdGglM0QlMjIyNCUyMiUyMGhlaWdodCUzRCUyMjE2JTIyJTIwdmlld0JveCUzRCUyMjAlMjAwJTIwMjQlMjAxNiUyMiUyMHhtbG5zJTNEJTIyaHR0cCUzQSUyRiUyRnd3dy53My5vcmclMkYyMDAwJTJGc3ZnJTIyJTNFJTBBJTIwJTIwJTIwJTIwJTNDcG9seWdvbiUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwcG9pbnRzJTNEJTIyMTIlMjAxJTIwOSUyMDYlMjAxNSUyMDYlMjIlMjAlMkYlM0UlMEElMjAlMjAlMjAlMjAlM0Nwb2x5Z29uJTIwZmlsbCUzRCUyMiMwMDAlMjIlMjBwb2ludHMlM0QlMjIxMiUyMDEzJTIwOSUyMDglMjAxNSUyMDglMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0UlMEFcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTYlMjIlMjBoZWlnaHQlM0QlMjIxNiUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE2JTIwMTYlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ2NpcmNsZSUyMGZpbGwlM0QlMjIjMDAwJTIyJTIwY3glM0QlMjI4JTIyJTIwY3klM0QlMjI4JTIyJTIwciUzRCUyMjIlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcbiRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxMSUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTElMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlnb24lMjBmaWxsJTNEJTIyIzAwMCUyMiUyMHBvaW50cyUzRCUyMjEyJTIwMSUyMDUlMjA3LjUlMjAyJTIwNSUyMDElMjA1LjUlMjA1JTIwMTAlMjAxMyUyMDEuNSUyMiUyMCUyRiUzRSUwQSUzQyUyRnN2ZyUzRSUwQVwiICFkZWZhdWx0O1xuJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW5kZXRlcm1pbmF0ZS1pbWFnZTogXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD1VVEYtOCwlM0NzdmclMjB3aWR0aCUzRCUyMjE2JTIyJTIwaGVpZ2h0JTNEJTIyMTYlMjIlMjB2aWV3Qm94JTNEJTIyMCUyMDAlMjAxNiUyMDE2JTIyJTIweG1sbnMlM0QlMjJodHRwJTNBJTJGJTJGd3d3LnczLm9yZyUyRjIwMDAlMkZzdmclMjIlM0UlMEElMjAlMjAlMjAlMjAlM0NyZWN0JTIwZmlsbCUzRCUyMiMwMDAlMjIlMjB4JTNEJTIyMyUyMiUyMHklM0QlMjI4JTIyJTIwd2lkdGglM0QlMjIxMCUyMiUyMGhlaWdodCUzRCUyMjElMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRm9ybVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBEZWZpbmUgY29uc2lzdGVudCBib3ggc2l6aW5nLlxuICogICAgRGVmYXVsdCBpcyBgY29udGVudC1ib3hgIHdpdGggZm9sbG93aW5nIGV4Y2VwdGlvbnMgc2V0IHRvIGBib3JkZXItYm94YFxuICogICAgYHNlbGVjdGAsIGBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1gIGFuZCBgaW5wdXRbdHlwZT1cInJhZGlvXCJdYFxuICogICAgYGlucHV0W3R5cGU9XCJzZWFyY2hcIl1gIGluIENocm9tZSwgU2FmYXJpIGFuZCBPcGVyYVxuICogICAgYGlucHV0W3R5cGU9XCJjb2xvclwiXWAgaW4gRmlyZWZveFxuICogMi4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94L0lFIGFuZCBDaHJvbWUvU2FmYXJpL09wZXJhLlxuICogMy4gUmVtb3ZlIGBib3JkZXItcmFkaXVzYCBpbiBpT1MuXG4gKiA0LiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSxcbi51ay1yYWRpbyxcbi51ay1jaGVja2JveCB7XG4gICAgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAzICovXG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAvKiA0ICovXG4gICAgZm9udDogaW5oZXJpdDtcbn1cblxuLypcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuLnVrLWlucHV0IHsgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG4udWstc2VsZWN0IHsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLypcbiAqIDEuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIGFsbCBicm93c2Vyc1xuICogMi4gRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCBhbmQgdXNlIGBib2xkYCBpbnN0ZWFkLlxuICogTk9URTogQm90aCBkZWNsYXJhdGlvbnMgZG9uJ3Qgd29yayBpbiBDaHJvbWUsIFNhZmFyaSBhbmQgT3BlcmEuXG4gKi9cblxuLnVrLXNlbGVjdCBvcHRncm91cCB7XG4gICAgLyogMSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgLyogMiAqL1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gKi9cblxuLnVrLXRleHRhcmVhIHsgb3ZlcmZsb3c6IGF1dG87IH1cblxuLypcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIG9uIE9TIFggYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbi51ay1pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24geyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuXG4vKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cbi51ay1pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuLnVrLWlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24geyBoZWlnaHQ6IGF1dG87IH1cblxuLypcbiAqIFJlbW92ZXMgcGxhY2Vob2xkZXIgdHJhbnNwYXJlbmN5IGluIEZpcmVmb3guXG4gKi9cblxuLnVrLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLFxuLnVrLXRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogSW1wcm92ZXMgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGZvciBjbGlja2FibGUgZWxlbWVudHNcbiAqL1xuXG4udWstcmFkaW86bm90KDpkaXNhYmxlZCksXG4udWstY2hlY2tib3g6bm90KDpkaXNhYmxlZCkgeyBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLypcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG4udWstZmllbGRzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuXG4vKiBJbnB1dCwgc2VsZWN0IGFuZCB0ZXh0YXJlYVxuICogQWxsb3dlZDogYHRleHRgLCBgcGFzc3dvcmRgLCBgZGF0ZXRpbWVgLCBgZGF0ZXRpbWUtbG9jYWxgLCBgZGF0ZWAsICBgbW9udGhgLFxuICAgICAgICAgICAgYHRpbWVgLCBgd2Vla2AsIGBudW1iZXJgLCBgZW1haWxgLCBgdXJsYCwgYHNlYXJjaGAsIGB0ZWxgLCBgY29sb3JgXG4gKiBEaXNhbGxvd2VkOiBgcmFuZ2VgLCBgcmFkaW9gLCBgY2hlY2tib3hgLCBgZmlsZWAsIGBzdWJtaXRgLCBgcmVzZXRgIGFuZCBgaW1hZ2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IHN0eWxlIGluIGlPUy5cbiAqL1xuXG4udWstaW5wdXQsXG4udWstdGV4dGFyZWEgeyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvdyBpZiBhIGZpeGVkIHdpZHRoIGlzIHVzZWRcbiAqIDIuIFRha2UgdGhlIGZ1bGwgd2lkdGhcbiAqIDMuIFJlc2V0IGRlZmF1bHRcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdCxcbi51ay10ZXh0YXJlYSB7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMyAqL1xuICAgIGJvcmRlcjogMCBub25lO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAwICRmb3JtLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkZm9ybS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybSkpIHtAaW5jbHVkZSBob29rLWZvcm0oKTt9XG59XG5cbi8qXG4gKiBTaW5nbGUtbGluZVxuICogMS4gQWxsb3cgYW55IGVsZW1lbnQgdG8gbG9vayBsaWtlIGFuIGBpbnB1dGAgb3IgYHNlbGVjdGAgZWxlbWVudFxuICogMi4gTWFrZSBzdXJlIGxpbmUtaGVpZ2h0IGlzIG5vdCBsYXJnZXIgdGhhbiBoZWlnaHRcbiAqICAgIEFsc28gbmVlZGVkIHRvIGNlbnRlciB0aGUgdGV4dCB2ZXJ0aWNhbGx5XG4gKi9cblxuLnVrLWlucHV0LFxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkge1xuICAgIGhlaWdodDogJGZvcm0taGVpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zaW5nbGUtbGluZSkpIHtAaW5jbHVkZSBob29rLWZvcm0tc2luZ2xlLWxpbmUoKTt9XG59XG5cbi8qIDIgKi9cbi51ay1pbnB1dDpub3QoaW5wdXQpLFxuLnVrLXNlbGVjdDpub3Qoc2VsZWN0KSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1saW5lLWhlaWdodDsgfVxuXG4vKlxuICogTXVsdGktbGluZVxuICovXG5cbi51ay1zZWxlY3RbbXVsdGlwbGVdLFxuLnVrLXNlbGVjdFtzaXplXSxcbi51ay10ZXh0YXJlYSB7XG4gICAgcGFkZGluZy10b3A6ICRmb3JtLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRmb3JtLXBhZGRpbmctdmVydGljYWw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1tdWx0aS1saW5lKSkge0BpbmNsdWRlIGhvb2stZm9ybS1tdWx0aS1saW5lKCk7fVxufVxuXG4vKiBGb2N1cyAqL1xuLnVrLWlucHV0OmZvY3VzLFxuLnVrLXNlbGVjdDpmb2N1cyxcbi51ay10ZXh0YXJlYTpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1mb2N1cy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tZm9jdXMoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstaW5wdXQ6ZGlzYWJsZWQsXG4udWstc2VsZWN0OmRpc2FibGVkLFxuLnVrLXRleHRhcmVhOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1kaXNhYmxlZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkZm9ybS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tZGlzYWJsZWQoKTt9XG59XG5cbi8qXG4gKiBQbGFjZWhvbGRlclxuICovXG5cbi51ay1pbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsgY29sb3I6ICRmb3JtLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay1pbnB1dDo6cGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3I7IH1cblxuLnVrLXRleHRhcmVhOjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogJGZvcm0tcGxhY2Vob2xkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHRhcmVhOjpwbGFjZWhvbGRlciB7IGNvbG9yOiAkZm9ybS1wbGFjZWhvbGRlci1jb2xvcjsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstZm9ybS1zbWFsbCB7IGZvbnQtc2l6ZTogJGZvcm0tc21hbGwtZm9udC1zaXplOyB9XG5cbi51ay1mb3JtLXNtYWxsOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBoZWlnaHQ6ICRmb3JtLXNtYWxsLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1zbWFsbC1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay1mb3JtLXNtYWxsOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1zbWFsbC1saW5lLWhlaWdodDsgfVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstZm9ybS1sYXJnZSB7IGZvbnQtc2l6ZTogJGZvcm0tbGFyZ2UtZm9udC1zaXplOyB9XG5cbi51ay1mb3JtLWxhcmdlOm5vdCh0ZXh0YXJlYSk6bm90KFttdWx0aXBsZV0pOm5vdChbc2l6ZV0pIHtcbiAgICBoZWlnaHQ6ICRmb3JtLWxhcmdlLWhlaWdodDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRmb3JtLWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG59XG5cbi51ay1mb3JtLWxhcmdlOm5vdChzZWxlY3QpOm5vdChpbnB1dCk6bm90KHRleHRhcmVhKSB7IGxpbmUtaGVpZ2h0OiAkZm9ybS1sYXJnZS1saW5lLWhlaWdodDsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRXJyb3JcbiAqL1xuXG4udWstZm9ybS1kYW5nZXIsXG4udWstZm9ybS1kYW5nZXI6Zm9jdXMge1xuICAgIGNvbG9yOiAkZm9ybS1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stZm9ybS1kYW5nZXIoKTt9XG59XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLWZvcm0tc3VjY2Vzcyxcbi51ay1mb3JtLXN1Y2Nlc3M6Zm9jdXMgIHtcbiAgICBjb2xvcjogJGZvcm0tc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdWNjZXNzKCk7fVxufVxuXG4vKlxuICogQmxhbmtcbiAqL1xuXG4udWstZm9ybS1ibGFuayB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1ibGFuaykpIHtAaW5jbHVkZSBob29rLWZvcm0tYmxhbmsoKTt9XG59XG5cbi51ay1mb3JtLWJsYW5rOmZvY3VzIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1ibGFuay1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tYmxhbmstZm9jdXMoKTt9XG59XG5cblxuLyogV2lkdGggbW9kaWZpZXJzIChgdWstaW5wdXRgLCBgdWstc2VsZWN0YCBhbmQgYHVrLXRleHRhcmVhYClcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRml4ZWQgd2lkdGhzXG4gKiBEaWZmZXJlbnQgd2lkdGhzIGZvciBtaW5pIHNpemVkIGBpbnB1dGAgYW5kIGBzZWxlY3RgIGVsZW1lbnRzXG4gKi9cblxuaW5wdXQudWstZm9ybS13aWR0aC14c21hbGwgeyB3aWR0aDogJGZvcm0td2lkdGgteHNtYWxsOyB9XG5cbnNlbGVjdC51ay1mb3JtLXdpZHRoLXhzbWFsbCB7IHdpZHRoOiAoJGZvcm0td2lkdGgteHNtYWxsICsgMjVweCk7IH1cblxuLnVrLWZvcm0td2lkdGgtc21hbGwgeyB3aWR0aDogJGZvcm0td2lkdGgtc21hbGw7IH1cblxuLnVrLWZvcm0td2lkdGgtbWVkaXVtIHsgd2lkdGg6ICRmb3JtLXdpZHRoLW1lZGl1bTsgfVxuXG4udWstZm9ybS13aWR0aC1sYXJnZSB7IHdpZHRoOiAkZm9ybS13aWR0aC1sYXJnZTsgfVxuXG5cbi8qIFNlbGVjdFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZW1vdmUgZGVmYXVsdCBzdHlsZS4gQWxzbyB3b3JrcyBpbiBGaXJlZm94XG4gKiAyLiBTdHlsZVxuICogMy4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gSUUgMTAvMTFcbiAqIDQuIFNldCBgY29sb3JgIGZvciBvcHRpb25zIGluIHRoZSBzZWxlY3QgZHJvcGRvd24sIGJlY2F1c2UgdGhlIGluaGVyaXRlZCBgY29sb3JgIG1pZ2h0IGJlIHRvbyBsaWdodC5cbiAqL1xuXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKSB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctcmlnaHQ6ICRmb3JtLXNlbGVjdC1wYWRkaW5nLXJpZ2h0O1xuICAgIEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXNlbGVjdC1pbWFnZSwgXCIjMDAwXCIsICRmb3JtLXNlbGVjdC1pY29uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEwMCUgNTAlO1xufVxuXG4vKiAzICovXG4udWstc2VsZWN0Om5vdChbbXVsdGlwbGVdKTpub3QoW3NpemVdKTo6LW1zLWV4cGFuZCB7IGRpc3BsYXk6IG5vbmU7IH1cblxuLyogNCAqL1xuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSkgb3B0aW9uIHsgY29sb3I6ICRmb3JtLXNlbGVjdC1vcHRpb24tY29sb3I7IH1cblxuLypcbiAqIERpc2FibGVkXG4gKi9cblxuLnVrLXNlbGVjdDpub3QoW211bHRpcGxlXSk6bm90KFtzaXplXSk6ZGlzYWJsZWQgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1zZWxlY3QtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1zZWxlY3QtZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBSYWRpbyBhbmQgY2hlY2tib3hcbiAqIE5vdGU6IERvZXMgbm90IHdvcmsgaW4gSUUxMVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTdHlsZVxuICogMi4gTWFrZSBib3ggbW9yZSByb2J1c3Qgc28gaXQgY2xpcHMgdGhlIGNoaWxkIGVsZW1lbnRcbiAqIDMuIFZlcnRpY2FsIGFsaWdubWVudFxuICogNC4gUmVtb3ZlIGRlZmF1bHQgc3R5bGVcbiAqIDUuIEZpeCBibGFjayBiYWNrZ3JvdW5kIG9uIGlPU1xuICogNi4gQ2VudGVyIGljb25zXG4gKi9cblxuLnVrLXJhZGlvLFxuLnVrLWNoZWNrYm94IHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogJGZvcm0tcmFkaW8tc2l6ZTtcbiAgICB3aWR0aDogJGZvcm0tcmFkaW8tc2l6ZTtcbiAgICAvKiAyICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLXRvcDogJGZvcm0tcmFkaW8tbWFyZ2luLXRvcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDQgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDUgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1iYWNrZ3JvdW5kO1xuICAgIC8qIDYgKi9cbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8pKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvKCk7fVxufVxuXG4udWstcmFkaW8geyBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpmb2N1cyxcbi51ay1jaGVja2JveDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1yYWRpby1mb2N1cykpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBDaGVja2VkXG4gKi9cblxuLnVrLXJhZGlvOmNoZWNrZWQsXG4udWstY2hlY2tib3g6Y2hlY2tlZCxcbi51ay1jaGVja2JveDppbmRldGVybWluYXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1yYWRpby1jaGVja2VkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tY2hlY2tlZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tcmFkaW8tY2hlY2tlZCgpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1yYWRpbzpjaGVja2VkOmZvY3VzLFxuLnVrLWNoZWNrYm94OmNoZWNrZWQ6Zm9jdXMsXG4udWstY2hlY2tib3g6aW5kZXRlcm1pbmF0ZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBJY29uc1xuICovXG5cbi51ay1yYWRpbzpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tcmFkaW8taW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3IpOyB9XG4udWstY2hlY2tib3g6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLWNoZWNrYm94LWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tY2hlY2tlZC1pY29uLWNvbG9yKTsgfVxuXG4vKlxuICogRGlzYWJsZWRcbiAqL1xuXG4udWstcmFkaW86ZGlzYWJsZWQsXG4udWstY2hlY2tib3g6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRmb3JtLXJhZGlvLWRpc2FibGVkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tcmFkaW8tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCk7fVxufVxuXG4udWstcmFkaW86ZGlzYWJsZWQ6Y2hlY2tlZCB7IEBpbmNsdWRlIHN2Zy1maWxsKCRpbnRlcm5hbC1mb3JtLXJhZGlvLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cbi51ay1jaGVja2JveDpkaXNhYmxlZDpjaGVja2VkIHsgQGluY2x1ZGUgc3ZnLWZpbGwoJGludGVybmFsLWZvcm0tY2hlY2tib3gtaW1hZ2UsIFwiIzAwMFwiLCAkZm9ybS1yYWRpby1kaXNhYmxlZC1pY29uLWNvbG9yKTsgfVxuLnVrLWNoZWNrYm94OmRpc2FibGVkOmluZGV0ZXJtaW5hdGUgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtZm9ybS1jaGVja2JveC1pbmRldGVybWluYXRlLWltYWdlLCBcIiMwMDBcIiwgJGZvcm0tcmFkaW8tZGlzYWJsZWQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBMZWdlbmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogTGVnZW5kXG4gKiAxLiBCZWhhdmUgbGlrZSBibG9jayBlbGVtZW50XG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1sZWdlbmQge1xuICAgIC8qIDEgKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgLyogNCAqL1xuICAgIGZvbnQtc2l6ZTogJGZvcm0tbGVnZW5kLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tbGVnZW5kLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWxlZ2VuZCkpIHtAaW5jbHVkZSBob29rLWZvcm0tbGVnZW5kKCk7fVxufVxuXG5cbi8qIEN1c3RvbSBjb250cm9sc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gQmVoYXZlIGxpa2UgbW9zdCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAqL1xuXG4udWstZm9ybS1jdXN0b20ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vKlxuICogMS4gUG9zaXRpb24gYW5kIHJlc2l6ZSB0aGUgZm9ybSBjb250cm9sIHRvIGFsd2F5cyBjb3ZlciBpdHMgY29udGFpbmVyXG4gKiAyLiBSZXF1aXJlZCBmb3IgRmlyZWZveCBmb3IgcG9zaXRpb25pbmcgdG8gdGhlIGxlZnRcbiAqIDMuIFJlcXVpcmVkIGZvciBXZWJraXQgdG8gbWFrZSBgaGVpZ2h0YCB3b3JrXG4gKiA0LiBIaWRlIGNvbnRyb2xlIGFuZCBzaG93IGN1cnNvclxuICogNS4gTmVlZGVkIGZvciB0aGUgY3Vyc29yXG4gKiA2LiBDbGlwIGhlaWdodCBjYXVzZWQgYnkgNS4gTmVlZGVkIGZvciBXZWJraXQgb25seVxuICovXG5cbi51ay1mb3JtLWN1c3RvbSBzZWxlY3QsXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC8qIDIgKi9cbiAgICBsZWZ0OiAwO1xuICAgIC8qIDMgKi9cbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogNCAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4udWstZm9ybS1jdXN0b20gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICAgIC8qIDUgKi9cbiAgICBmb250LXNpemU6IDUwMHB4O1xuICAgIC8qIDYgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5cbi8qIExhYmVsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWZvcm0tbGFiZWwge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1sYWJlbCgpO31cbn1cblxuXG4vKiBMYXlvdXRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogU3RhY2tlZFxuICovXG5cbi51ay1mb3JtLXN0YWNrZWQgLnVrLWZvcm0tbGFiZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKSkge0BpbmNsdWRlIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCk7fVxufVxuXG4vKlxuICogSG9yaXpvbnRhbFxuICovXG5cbi8qIFRhYmxldCBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLyogQmVoYXZlIGxpa2UgYHVrLWZvcm0tc3RhY2tlZGAgKi9cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXN0YWNrZWQtbWFyZ2luLWJvdHRvbTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWZvcm0tc3RhY2tlZC1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWZvcm0tc3RhY2tlZC1sYWJlbCgpO31cbiAgICB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZm9ybS1ob3Jpem9udGFsIC51ay1mb3JtLWxhYmVsIHtcbiAgICAgICAgd2lkdGg6ICRmb3JtLWhvcml6b250YWwtbGFiZWwtd2lkdGg7XG4gICAgICAgIG1hcmdpbi10b3A6ICRmb3JtLWhvcml6b250YWwtbGFiZWwtbWFyZ2luLXRvcDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1mb3JtLWhvcml6b250YWwtbGFiZWwoKTt9XG4gICAgfVxuXG4gICAgLnVrLWZvcm0taG9yaXpvbnRhbCAudWstZm9ybS1jb250cm9scyB7IG1hcmdpbi1sZWZ0OiAkZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLW1hcmdpbi1sZWZ0OyB9XG5cbiAgICAvKiBCZXR0ZXIgdmVydGljYWwgYWxpZ25tZW50IGlmIGNvbnRyb2xzIGFyZSBjaGVja2JveGVzIGFuZCByYWRpbyBidXR0b25zIHdpdGggdGV4dCAqL1xuICAgIC51ay1mb3JtLWhvcml6b250YWwgLnVrLWZvcm0tY29udHJvbHMtdGV4dCB7IHBhZGRpbmctdG9wOiAkZm9ybS1ob3Jpem9udGFsLWNvbnRyb2xzLXRleHQtcGFkZGluZy10b3A7IH1cblxufVxuXG5cbi8qIEljb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFNldCBwb3NpdGlvblxuICogMi4gU2V0IHdpZHRoXG4gKiAzLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWZvcm0taWNvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAkZm9ybS1pY29uLXdpZHRoO1xuICAgIC8qIDMgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIDQgKi9cbiAgICBjb2xvcjogJGZvcm0taWNvbi1jb2xvcjtcbn1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cblxuLnVrLWZvcm0taWNvbjpob3ZlciB7IGNvbG9yOiAkZm9ybS1pY29uLWhvdmVyLWNvbG9yOyB9XG5cbi8qXG4gKiBNYWtlIGBpbnB1dGAgZWxlbWVudCBjbGlja2FibGUgdGhyb3VnaCBpY29uLCBlLmcuIGlmIGl0J3MgYSBgc3BhbmBcbiAqL1xuXG4udWstZm9ybS1pY29uOm5vdChhKTpub3QoYnV0dG9uKTpub3QoaW5wdXQpIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIElucHV0IHBhZGRpbmdcbiAqL1xuXG4udWstZm9ybS1pY29uOm5vdCgudWstZm9ybS1pY29uLWZsaXApIH4gLnVrLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAkZm9ybS1pY29uLXdpZHRoICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIFBvc2l0aW9uIG1vZGlmaWVyXG4gKi9cblxuLnVrLWZvcm0taWNvbi1mbGlwIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG4udWstZm9ybS1pY29uLWZsaXAgfiAudWstaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAkZm9ybS1pY29uLXdpZHRoICFpbXBvcnRhbnQ7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1mb3JtLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1mb3JtLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWZvcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXNpbmdsZS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1tdWx0aS1saW5lKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWRhbmdlcigpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tYmxhbmsoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWJsYW5rLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1yYWRpbygpe31cbi8vIEBtaXhpbiBob29rLWZvcm0tcmFkaW8tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWNoZWNrZWQtZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLXJhZGlvLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1sZWdlbmQoKXt9XG4vLyBAbWl4aW4gaG9vay1mb3JtLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1zdGFja2VkLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1ob3Jpem9udGFsLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stZm9ybS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1mb3JtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWZvcm0tZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXNlbGVjdC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgIGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLXJhZGlvLWNoZWNrZWQtYmFja2dyb3VuZDogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWljb24tY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZC1mb2N1cy1iYWNrZ3JvdW5kOiAgIGRhcmtlbigkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCAxMCUpICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1mb3JtLWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1mb3JtLWljb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tZm9jdXMoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWZvcm0tcmFkaW8tY2hlY2tlZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZm9ybS1yYWRpby1jaGVja2VkLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1mb3JtLWxhYmVsKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBCdXR0b25cbi8vIERlc2NyaXB0aW9uOiAgICAgU3R5bGVzIGZvciBidXR0b25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYnV0dG9uYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWJ1dHRvbi1ncm91cGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1idXR0b24tZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1kYW5nZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1idXR0b24tdGV4dGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJ1dHRvbi1saW5rYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLXNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYnV0dG9uLWxhcmdlYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYnV0dG9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbnRyb2wtc21hbGwtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1sYXJnZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRidXR0b24tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRidXR0b24tcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tc21hbGwtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRidXR0b24tbGFyZ2UtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRidXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1kZWZhdWx0LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbigkYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICBkYXJrZW4oJGJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXByaW1hcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLXNlY29uZGFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tc2Vjb25kYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgZGFya2VuKCRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRhbmdlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRidXR0b24tZGFuZ2VyLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgZGFya2VuKCRidXR0b24tZGFuZ2VyLWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWRhbmdlci1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLWRpc2FibGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRidXR0b24tdGV4dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGJ1dHRvbi10ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRidXR0b24tdGV4dC1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRidXR0b24tbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmstY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1saW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJGJ1dHRvbi1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbiRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCdXR0b25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUmVtb3ZlIG1hcmdpbnMgaW4gQ2hyb21lLCBTYWZhcmkgYW5kIE9wZXJhLlxuICogMi4gUmVtb3ZlIGJvcmRlcnMgZm9yIGBidXR0b25gLlxuICogMy4gQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRS5cbiAqIDQuIENvcnJlY3QgYGZvbnRgIHByb3BlcnRpZXMgYW5kIGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBmb3IgYGJ1dHRvbmAuXG4gKiA1LiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDYuIFN0eWxlXG4gKiA3LiBgbGluZS1oZWlnaHRgIGlzIHVzZWQgdG8gY3JlYXRlIGEgaGVpZ2h0IGJlY2F1c2UgaXQgYWxzbyBjZW50ZXJzIHRoZSB0ZXh0IHZlcnRpY2FsbHkgZm9yIGBhYCBlbGVtZW50cy5cbiAqICAgIEJldHRlciB3b3VsZCBiZSB0byB1c2UgaGVpZ2h0IGFuZCBmbGV4Ym94IHRvIGNlbnRlciB0aGUgdGV4dCB2ZXJ0aWNhbGx5IGJ1dCBmbGV4Ym94IGRvZXNuJ3Qgd29yayBpbiBGaXJlZm94IG9uIGBidXR0b25gIGVsZW1lbnRzLlxuICogOC4gQWxpZ24gdGV4dCBpZiBidXR0b24gaGFzIGEgd2lkdGhcbiAqIDkuIFJlcXVpcmVkIGZvciBgYWAuXG4gKi9cblxuLnVrLWJ1dHRvbiB7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICAvKiAyICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiA0ICovXG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAvKiA1ICovXG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgLyogNiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDAgJGJ1dHRvbi1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXNpemU6ICRidXR0b24tZm9udC1zaXplO1xuICAgIC8qIDcgKi9cbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1saW5lLWhlaWdodDtcbiAgICAvKiA4ICovXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8qIDkgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbigpO31cbn1cblxuLnVrLWJ1dHRvbjpub3QoOmRpc2FibGVkKSB7IGN1cnNvcjogcG9pbnRlcjsgfVxuXG4vKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLyogSG92ZXIgKi9cbi51ay1idXR0b246aG92ZXIge1xuICAgIC8qIDkgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1ob3ZlcigpO31cbn1cblxuLyogRm9jdXMgKi9cbi51ay1idXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1mb2N1cykpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1mb2N1cygpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbjphY3RpdmUsXG4udWstYnV0dG9uLnVrLWFjdGl2ZSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tYWN0aXZlKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLWJ1dHRvbi1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kZWZhdWx0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWRlZmF1bHQ6aG92ZXIsXG4udWstYnV0dG9uLWRlZmF1bHQ6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGVmYXVsdDphY3RpdmUsXG4udWstYnV0dG9uLWRlZmF1bHQudWstYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRlZmF1bHQtYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGVmYXVsdC1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstYnV0dG9uLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnkoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1idXR0b24tcHJpbWFyeTpob3Zlcixcbi51ay1idXR0b24tcHJpbWFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tcHJpbWFyeS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXByaW1hcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tcHJpbWFyeS1ob3ZlcigpO31cbn1cblxuLyogT25DbGljayArIEFjdGl2ZSAqL1xuLnVrLWJ1dHRvbi1wcmltYXJ5OmFjdGl2ZSxcbi51ay1idXR0b24tcHJpbWFyeS51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tcHJpbWFyeS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1wcmltYXJ5LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKCk7fVxufVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLWJ1dHRvbi1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1zZWNvbmRhcnk6aG92ZXIsXG4udWstYnV0dG9uLXNlY29uZGFyeTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc2Vjb25kYXJ5LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICsgQWN0aXZlICovXG4udWstYnV0dG9uLXNlY29uZGFyeTphY3RpdmUsXG4udWstYnV0dG9uLXNlY29uZGFyeS51ay1hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tc2Vjb25kYXJ5LWFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstYnV0dG9uLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kYW5nZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLWRhbmdlcjpob3Zlcixcbi51ay1idXR0b24tZGFuZ2VyOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWRhbmdlci1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWRhbmdlci1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRhbmdlci1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi1kYW5nZXItaG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKyBBY3RpdmUgKi9cbi51ay1idXR0b24tZGFuZ2VyOmFjdGl2ZSxcbi51ay1idXR0b24tZGFuZ2VyLnVrLWFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1kYW5nZXItYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tZGFuZ2VyLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tZGFuZ2VyLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIERpc2FibGVkXG4gKiBUaGUgc2FtZSBmb3IgYWxsIHN0eWxlIG1vZGlmaWVyc1xuICovXG5cbi51ay1idXR0b24tZGVmYXVsdDpkaXNhYmxlZCxcbi51ay1idXR0b24tcHJpbWFyeTpkaXNhYmxlZCxcbi51ay1idXR0b24tc2Vjb25kYXJ5OmRpc2FibGVkLFxuLnVrLWJ1dHRvbi1kYW5nZXI6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tZGlzYWJsZWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWRpc2FibGVkKCk7fVxufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJ1dHRvbi1zbWFsbCB7XG4gICAgcGFkZGluZzogMCAkYnV0dG9uLXNtYWxsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBsaW5lLWhlaWdodDogJGJ1dHRvbi1zbWFsbC1saW5lLWhlaWdodDtcbiAgICBmb250LXNpemU6ICRidXR0b24tc21hbGwtZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tc21hbGwpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tc21hbGwoKTt9XG59XG5cbi51ay1idXR0b24tbGFyZ2Uge1xuICAgIHBhZGRpbmc6IDAgJGJ1dHRvbi1sYXJnZS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tbGFyZ2UtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkYnV0dG9uLWxhcmdlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWxhcmdlKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLWxhcmdlKCk7fVxufVxuXG5cbi8qIFRleHQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFRleHRcbiAqIDEuIFJlc2V0XG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1idXR0b24tdGV4dCB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGluZS1oZWlnaHQ6ICRidXR0b24tdGV4dC1saW5lLWhlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBjb2xvcjogJGJ1dHRvbi10ZXh0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1idXR0b24tdGV4dCkpIHtAaW5jbHVkZSBob29rLWJ1dHRvbi10ZXh0KCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnV0dG9uLXRleHQ6aG92ZXIsXG4udWstYnV0dG9uLXRleHQ6Zm9jdXMge1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0LWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQtaG92ZXIoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstYnV0dG9uLXRleHQ6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJ1dHRvbi10ZXh0LWRpc2FibGVkKSkge0BpbmNsdWRlIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKTt9XG59XG5cbi8qXG4gKiBMaW5rXG4gKiAxLiBSZXNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstYnV0dG9uLWxpbmsge1xuICAgIC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkYnV0dG9uLWxpbmstbGluZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRidXR0b24tbGluay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLWxpbmspKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbGluaygpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWJ1dHRvbi1saW5rOmhvdmVyLFxuLnVrLWJ1dHRvbi1saW5rOmZvY3VzIHtcbiAgICBjb2xvcjogJGJ1dHRvbi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJ1dHRvbi1saW5rLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1idXR0b24tbGluazpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRidXR0b24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cblxuLyogR3JvdXBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gVXNpbmcgYGZsZXhgIGluc3RlYWQgb2YgYGlubGluZS1ibG9ja2AgdG8gcHJldmVudCB3aGl0ZXNwYWNlIGJldHdlZW50IGNoaWxkIGVsZW1lbnRzXG4gKiAyLiBCZWhhdmUgbGlrZSBidXR0b25cbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0XG4gKi9cblxuLnVrLWJ1dHRvbi1ncm91cCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIC8qIDIgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYnV0dG9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1idXR0b24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYnV0dG9uKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWZvY3VzKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGVmYXVsdC1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXByaW1hcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc2Vjb25kYXJ5LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGFuZ2VyLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLWRhbmdlci1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbGFyZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi10ZXh0LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnV0dG9uLXRleHQtZGlzYWJsZWQoKXt9XG4vLyBAbWl4aW4gaG9vay1idXR0b24tbGluaygpe31cbi8vIEBtaXhpbiBob29rLWJ1dHRvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tZGVmYXVsdC1hY3RpdmUtYmFja2dyb3VuZDogICAgICBkYXJrZW4oJGludmVyc2UtYnV0dG9uLWRlZmF1bHQtYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktaG92ZXItYmFja2dyb3VuZDogICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXByaW1hcnktYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWJhY2tncm91bmQsIDEwJSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItYmFja2dyb3VuZDogICAgIGRhcmtlbigkaW52ZXJzZS1idXR0b24tc2Vjb25kYXJ5LWJhY2tncm91bmQsIDUlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXNlY29uZGFyeS1hY3RpdmUtYmFja2dyb3VuZDogICAgZGFya2VuKCRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYmFja2dyb3VuZCwgMTAlKSAhZGVmYXVsdDtcbiRpbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLXRleHQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnV0dG9uLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1kZWZhdWx0LWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1wcmltYXJ5LWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tcHJpbWFyeS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnkoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi1zZWNvbmRhcnktYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tdGV4dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnV0dG9uLXRleHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJ1dHRvbi10ZXh0LWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1idXR0b24tbGluaygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU2VjdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGhvcml6b250YWwgbGF5b3V0IHNlY3Rpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zZWN0aW9uYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXNlY3Rpb24teHNtYWxsYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VjdGlvbi1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tbGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXhsYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tbXV0ZWRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWN0aW9uLXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlY3Rpb24tb3ZlcmxhcGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1wcmVzZXJ2ZS1jb2xvcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24teHNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXNtYWxsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLW1hcmdpbiAhZGVmYXVsdDtcblxuJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kc2VjdGlvbi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwteGxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW06ICAgICAgICAgICAgICAgICgkZ2xvYmFsLWxhcmdlLW1hcmdpbiArICRnbG9iYWwteGxhcmdlLW1hcmdpbikgIWRlZmF1bHQ7XG5cbiRzZWN0aW9uLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHNlY3Rpb24tbXV0ZWQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzZWN0aW9uLXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG4kc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNlY29uZGFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gTWFrZSBpdCB3b3JrIHdpdGggYDEwMHZoYCBhbmQgaGVpZ2h0IGluIGdlbmVyYWxcbiAqL1xuXG4udWstc2VjdGlvbiB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbigpO31cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1zZWN0aW9uOjpiZWZvcmUsXG4udWstc2VjdGlvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1zZWN0aW9uOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFNpemUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFhTbWFsbFxuICovXG5cbi51ay1zZWN0aW9uLXhzbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi14c21hbGwtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLXNlY3Rpb24tc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogTGFyZ2VcbiAqL1xuXG4udWstc2VjdGlvbi1sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICRzZWN0aW9uLWxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24tbGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24tbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qXG4gKiBYTGFyZ2VcbiAqL1xuXG4udWstc2VjdGlvbi14bGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHNlY3Rpb24teGxhcmdlLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXNlY3Rpb24teGxhcmdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzZWN0aW9uLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc2VjdGlvbi14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tO1xuICAgIH1cblxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLXNlY3Rpb24tZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJHNlY3Rpb24tZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBNdXRlZFxuICovXG5cbi51ay1zZWN0aW9uLW11dGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1tdXRlZC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLW11dGVkKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1tdXRlZCgpO31cbn1cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstc2VjdGlvbi1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1wcmltYXJ5LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlY3Rpb24tcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLXNlY3Rpb24tcHJpbWFyeSgpO31cbn1cblxuQGlmICggJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstc2VjdGlvbi1wcmltYXJ5Om5vdCgudWstcHJlc2VydmUtY29sb3IpIHsgQGV4dGVuZCAudWstbGlnaHQgIW9wdGlvbmFsO30gfVxuQGlmICggJHNlY3Rpb24tcHJpbWFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1zZWN0aW9uLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLXNlY3Rpb24tc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkc2VjdGlvbi1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLXNlY29uZGFyeSgpO31cbn1cblxuQGlmICggJHNlY3Rpb24tc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRzZWN0aW9uLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1zZWN0aW9uLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8qIE92ZXJsYXAgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXJ2ZWQgbW9kaWZpZXIgdG8gbWFrZSBhIHNlY3Rpb24gb3ZlcmxhcCBhbm90aGVyIHNlY3Rpb24gd2l0aCBhbiBib3JkZXIgaW1hZ2VcbiAqIEltcGxlbWVudGVkIGJ5IHRoZSB0aGVtZVxuICovXG5cbi51ay1zZWN0aW9uLW92ZXJsYXAge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWN0aW9uLW92ZXJsYXApKSB7QGluY2x1ZGUgaG9vay1zZWN0aW9uLW92ZXJsYXAoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2VjdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stc2VjdGlvbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWN0aW9uKCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1tdXRlZCgpe31cbi8vIEBtaXhpbiBob29rLXNlY3Rpb24tc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1vdmVybGFwKCl7fVxuLy8gQG1peGluIGhvb2stc2VjdGlvbi1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQ29udGFpbmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBhbGlnbiBhbmQgY2VudGVyIHlvdXIgc2l0ZSBhbmQgZ3JpZCBjb250ZW50XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstY29udGFpbmVyYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLWNvbnRhaW5lci1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1leHBhbmRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb250YWluZXItZXhwYW5kLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvbnRhaW5lci1pdGVtLXBhZGRpbmctcmVtb3ZlLXJpZ2h0YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb250YWluZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRoOiAgICAgICAgICAgICA3NTBweCAhZGVmYXVsdDtcbiRjb250YWluZXItc21hbGwtbWF4LXdpZHRoOiAgICAgICAgICAgICAgOTAwcHggIWRlZmF1bHQ7XG4kY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDogICAgICAgICAgICAgIDE2MDBweCAhZGVmYXVsdDtcblxuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtczogICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQm94IHNpemluZyBoYXMgdG8gYmUgYGNvbnRlbnQtYm94YCBzbyB0aGUgbWF4LXdpZHRoIGlzIGFsd2F5cyB0aGUgc2FtZSBhbmRcbiAqICAgIHVuYWZmZWN0ZWQgYnkgdGhlIHBhZGRpbmcgb24gZGlmZmVyZW50IGJyZWFrcG9pbnRzLiBJdCdzIGltcG9ydGFudCBmb3IgdGhlIHNpemUgbW9kaWZpZXJzLlxuICovXG5cbi51ay1jb250YWluZXIge1xuICAgIC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsO1xufVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zO1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW07XG4gICAgfVxuXG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1jb250YWluZXI6OmJlZm9yZSxcbi51ay1jb250YWluZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstY29udGFpbmVyOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY29udGFpbmVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qXG4gKiBSZW1vdmUgcGFkZGluZyBmcm9tIG5lc3RlZCBjb250YWluZXJzXG4gKi9cblxuLnVrLWNvbnRhaW5lciAudWstY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbnRhaW5lci14c21hbGwgeyBtYXgtd2lkdGg6ICRjb250YWluZXIteHNtYWxsLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLXNtYWxsLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLWxhcmdlIHsgbWF4LXdpZHRoOiAkY29udGFpbmVyLWxhcmdlLW1heC13aWR0aDsgfVxuXG4udWstY29udGFpbmVyLWV4cGFuZCB7IG1heC13aWR0aDogbm9uZTsgfVxuXG5cbi8qIEV4cGFuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBFeHBhbmQgb25lIHNpZGUgb25seVxuICovXG5cbi51ay1jb250YWluZXItZXhwYW5kLWxlZnQgeyBtYXJnaW4tbGVmdDogMDsgfVxuLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXIteHNtYWxsLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci14c21hbGwgeyBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoNTAlICsgKCN7JGNvbnRhaW5lci14c21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zfSknKTsgfVxuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdC51ay1jb250YWluZXItc21hbGwsXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtcmlnaHQudWstY29udGFpbmVyLXNtYWxsIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXItc21hbGwtbWF4LXdpZHRofSAvIDIpIC0gI3skY29udGFpbmVyLXBhZGRpbmctaG9yaXpvbnRhbC1zfSknKTsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbnRhaW5lci1leHBhbmQtbGVmdCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXhzbWFsbCxcbiAgICAudWstY29udGFpbmVyLWV4cGFuZC1yaWdodC51ay1jb250YWluZXIteHNtYWxsIHsgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDUwJSArICgjeyRjb250YWluZXIteHNtYWxsLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLXNtYWxsLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1zbWFsbCB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLXNtYWxsLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxuICAgIC51ay1jb250YWluZXItZXhwYW5kLWxlZnQudWstY29udGFpbmVyLWxhcmdlLFxuICAgIC51ay1jb250YWluZXItZXhwYW5kLXJpZ2h0LnVrLWNvbnRhaW5lci1sYXJnZSB7IG1heC13aWR0aDogdW5xdW90ZSgnY2FsYyg1MCUgKyAoI3skY29udGFpbmVyLWxhcmdlLW1heC13aWR0aH0gLyAyKSAtICN7JGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbX0pJyk7IH1cblxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogVXRpbGl0eSBjbGFzc2VzIHRvIHJlc2V0IGNvbnRhaW5lciBwYWRkaW5nIG9uIHRoZSBsZWZ0IG9yIHJpZ2h0IHNpZGVcbiAqIE5vdGU6IEl0IGhhcyB0byBiZSBuZWdhdGl2ZSBtYXJnaW4gb24gdGhlIGl0ZW0sIGJlY2F1c2UgaXQncyBzcGVjaWZpYyB0byB0aGUgaXRlbS5cbiAqL1xuXG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtbGVmdCxcbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKyAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsfSknKSB9XG5cbi51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwpOyB9XG4udWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwpOyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKyAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLXN9KScpIH1cblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcyk7IH1cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtcyk7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0LFxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKyAjeyRjb250YWluZXItcGFkZGluZy1ob3Jpem9udGFsLW19KScpIH1cblxuICAgIC51ay1jb250YWluZXItaXRlbS1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbSk7IH1cbiAgICAudWstY29udGFpbmVyLWl0ZW0tcGFkZGluZy1yZW1vdmUtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICgtJGNvbnRhaW5lci1wYWRkaW5nLWhvcml6b250YWwtbSk7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvbnRhaW5lci1taXNjKSkge0BpbmNsdWRlIGhvb2stY29udGFpbmVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbnRhaW5lci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgR3JpZFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHJlc3BvbnNpdmUsIGZsdWlkIGFuZCBuZXN0YWJsZSBncmlkc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWdyaWRgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZ3JpZC1zbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWVkaXVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtY29sbGFwc2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLWRpdmlkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hdGNoYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1zdGFja2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZ3JpZC1tYXJnaW4tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ncmlkLW1hcmdpbi1sYXJnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWdyaWQtbWFyZ2luLWNvbGxhcHNlYFxuLy9cbi8vIFN1Yi1tb2RpZmllcjogICAgYHVrLWdyaWQtaXRlbS1tYXRjaGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1maXJzdC1jb2x1bW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sICFkZWZhdWx0O1xuXG4kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbDogICAgICAgICAgICAgICAgICAgJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwtbCAhZGVmYXVsdDtcblxuJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGdyaWQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBHcmlkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGNlbGxzIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLWdyaWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLypcbiAqIEdyaWQgY2VsbFxuICogTm90ZTogU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogUmVzZXQgbWFyZ2luIGZvciBlLmcuIHBhcmFncmFwaHNcbiAqL1xuXG4udWstZ3JpZCA+ICogeyBtYXJnaW46IDA7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1ncmlkID4gKiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEd1dHRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQsXG4udWstZ3JpZCA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAkZ3JpZC1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZCB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwpOyB9XG4gICAgLnVrLWdyaWQgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkICsgLnVrLWdyaWQsXG4gICAgLnVrLWdyaWQgPiAudWstZ3JpZC1tYXJnaW4sXG4gICAgKiArIC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRncmlkLWd1dHRlci12ZXJ0aWNhbC1sOyB9XG5cbn1cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtc21hbGwgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLXNtYWxsID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtc21hbGwsXG4udWstZ3JpZC1zbWFsbCA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tc21hbGwgeyBtYXJnaW4tdG9wOiAkZ3JpZC1zbWFsbC1ndXR0ZXItdmVydGljYWw7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1ncmlkLW1lZGl1bSB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLW1lZGl1bSA+ICogeyBwYWRkaW5nLWxlZnQ6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQgKyAudWstZ3JpZC1tZWRpdW0sXG4udWstZ3JpZC1tZWRpdW0gPiAudWstZ3JpZC1tYXJnaW4sXG4qICsgLnVrLWdyaWQtbWFyZ2luLW1lZGl1bSB7IG1hcmdpbi10b3A6ICRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWw7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtbGFyZ2UgeyBtYXJnaW4tbGVmdDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1ncmlkLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4udWstZ3JpZC1sYXJnZSA+IC51ay1ncmlkLW1hcmdpbixcbiogKyAudWstZ3JpZC1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC8qIEhvcml6b250YWwgKi9cbiAgICAudWstZ3JpZC1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAoLSRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwpOyB9XG4gICAgLnVrLWdyaWQtbGFyZ2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAvKiBWZXJ0aWNhbCAqL1xuICAgIC51ay1ncmlkICsgLnVrLWdyaWQtbGFyZ2UsXG4gICAgLnVrLWdyaWQtbGFyZ2UgPiAudWstZ3JpZC1tYXJnaW4sXG4gICAgKiArIC51ay1ncmlkLW1hcmdpbi1sYXJnZSB7IG1hcmdpbi10b3A6ICRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbC1sOyB9XG5cbn1cblxuLypcbiAqIENvbGxhcHNlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtY29sbGFwc2UgeyBtYXJnaW4tbGVmdDogMDsgfVxuLnVrLWdyaWQtY29sbGFwc2UgPiAqIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi8qIFZlcnRpY2FsICovXG4udWstZ3JpZCArIC51ay1ncmlkLWNvbGxhcHNlLFxuLnVrLWdyaWQtY29sbGFwc2UgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgYm9yZGVyLWxlZnQ6ICRncmlkLWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRncmlkLWRpdmlkZXItYm9yZGVyO1xufVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogJGdyaWQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJGdyaWQtZGl2aWRlci1ib3JkZXI7XG59XG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlciB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1zdGFjayA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICgkZ3JpZC1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBIb3Jpem9udGFsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlciB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpOyB9XG5cbiAgICAudWstZ3JpZC1kaXZpZGVyID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbDsgfVxuXG4gICAgLyogVmVydGljYWwgKi9cbiAgICAudWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgICAgICB0b3A6ICgtJGdyaWQtZ3V0dGVyLXZlcnRpY2FsLWwpO1xuICAgICAgICBsZWZ0OiAoJGdyaWQtZ3V0dGVyLWhvcml6b250YWwtbCAqIDIpO1xuICAgIH1cblxufVxuXG4vKlxuICogU21hbGxcbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgeyBtYXJnaW4tbGVmdDogLSgkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpOyB9XG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtc21hbGwtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtc21hbGwgPiA6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUgeyBsZWZ0OiAkZ3JpZC1zbWFsbC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtc21hbGwtZ3V0dGVyLXZlcnRpY2FsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLXNtYWxsLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLXNtYWxsLWd1dHRlci12ZXJ0aWNhbCk7XG4gICAgbGVmdDogKCRncmlkLXNtYWxsLWd1dHRlci1ob3Jpem9udGFsICogMik7XG59XG5cbi8qXG4gKiBNZWRpdW1cbiAqL1xuXG4vKiBIb3Jpem9udGFsICovXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1tZWRpdW0gPiAqIHsgcGFkZGluZy1sZWZ0OiAoJGdyaWQtbWVkaXVtLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLW1lZGl1bS1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBWZXJ0aWNhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLW1lZGl1bS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWwgKiAyKTsgfVxuXG4udWstZ3JpZC1kaXZpZGVyLnVrLWdyaWQtbWVkaXVtLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgdG9wOiAoLSRncmlkLW1lZGl1bS1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1tZWRpdW0tZ3V0dGVyLWhvcml6b250YWwgKiAyKTtcbn1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLyogSG9yaXpvbnRhbCAqL1xuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlIHsgbWFyZ2luLWxlZnQ6IC0oJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWwgKiAyKTsgfVxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gKiB7IHBhZGRpbmctbGVmdDogKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsICogMik7IH1cblxuLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlID4gOm5vdCgudWstZmlyc3QtY29sdW1uKTo6YmVmb3JlIHsgbGVmdDogJGdyaWQtbGFyZ2UtZ3V0dGVyLWhvcml6b250YWw7IH1cblxuLyogVmVydGljYWwgKi9cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luIHsgbWFyZ2luLXRvcDogKCRncmlkLWxhcmdlLWd1dHRlci12ZXJ0aWNhbCAqIDIpOyB9XG5cbi51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZS51ay1ncmlkLXN0YWNrID4gLnVrLWdyaWQtbWFyZ2luOjpiZWZvcmUge1xuICAgIHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwpO1xuICAgIGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbCAqIDIpO1xufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLyogSG9yaXpvbnRhbCAqL1xuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSB7IG1hcmdpbi1sZWZ0OiAtKCRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWwgKiAyKTsgfVxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+ICogeyBwYWRkaW5nLWxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7IH1cblxuICAgIC51ay1ncmlkLWRpdmlkZXIudWstZ3JpZC1sYXJnZSA+IDpub3QoLnVrLWZpcnN0LWNvbHVtbik6OmJlZm9yZSB7IGxlZnQ6ICRncmlkLWxhcmdlLWd1dHRlci1ob3Jpem9udGFsLWw7IH1cblxuICAgIC8qIFZlcnRpY2FsICovXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW4geyBtYXJnaW4tdG9wOiAoJGdyaWQtbGFyZ2UtZ3V0dGVyLXZlcnRpY2FsLWwgKiAyKTsgfVxuXG4gICAgLnVrLWdyaWQtZGl2aWRlci51ay1ncmlkLWxhcmdlLnVrLWdyaWQtc3RhY2sgPiAudWstZ3JpZC1tYXJnaW46OmJlZm9yZSB7XG4gICAgICAgIHRvcDogKC0kZ3JpZC1sYXJnZS1ndXR0ZXItdmVydGljYWwtbCk7XG4gICAgICAgIGxlZnQ6ICgkZ3JpZC1sYXJnZS1ndXR0ZXItaG9yaXpvbnRhbC1sICogMik7XG4gICAgfVxuXG59XG5cblxuLyogTWF0Y2ggY2hpbGQgb2YgYSBncmlkIGNlbGxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQmVoYXZlIGxpa2UgYSBibG9jayBlbGVtZW50XG4gKiAxLiBXcmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gVGFrZSB0aGUgZnVsbCB3aWR0aCwgYXQgbGVhc3QgMTAwJS4gT25seSBpZiBubyBjbGFzcyBmcm9tIHRoZSBXaWR0aCBjb21wb25lbnQgaXMgc2V0LlxuICogMy4gRXhwYW5kIHdpZHRoIGV2ZW4gaWYgbGFyZ2VyIHRoYW4gMTAwJSwgZS5nLiBiZWNhdXNlIG9mIG5lZ2F0aXZlIG1hcmdpbiAoTmVlZGVkIGZvciBuZXN0ZWQgZ3JpZHMpXG4gKi9cblxuLnVrLWdyaWQtbWF0Y2ggPiAqLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udWstZ3JpZC1tYXRjaCA+ICogPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pLFxuLnVrLWdyaWQtaXRlbS1tYXRjaCA+IDpub3QoW2NsYXNzKj0ndWstd2lkdGgnXSkge1xuICAgIC8qIDIgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDMgKi9cbiAgICBmbGV4OiBhdXRvO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWdyaWQtbWlzYykpIHtAaW5jbHVkZSBob29rLWdyaWQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZ3JpZC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1ncmlkLWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG5cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVGlsZVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRpbGVkIGJveGVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGlsZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay10aWxlLXhzbWFsbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRpbGUtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS14bGFyZ2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10aWxlLW11dGVkYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGlsZS1zZWNvbmRhcnlgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstcHJlc2VydmUtY29sb3JgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1zOiAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS1zbWFsbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiR0aWxlLWxhcmdlLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4gIWRlZmF1bHQ7XG4kdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICAoJGdsb2JhbC1sYXJnZS1tYXJnaW4gKyAkZ2xvYmFsLXhsYXJnZS1tYXJnaW4pICFkZWZhdWx0O1xuXG4kdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0aWxlLW11dGVkLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJHRpbGUtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJHRpbGUtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlOiAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUaWxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRpbGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmctbGVmdDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZSkpIHtAaW5jbHVkZSBob29rLXRpbGUoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay10aWxlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtcztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHRpbGUtcGFkZGluZy1ob3Jpem9udGFsLXM7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRpbGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICR0aWxlLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkdGlsZS1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy10b3A6ICR0aWxlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICB9XG5cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLXRpbGU6OmJlZm9yZSxcbi51ay10aWxlOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLXRpbGU6OmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay10aWxlID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogWFNtYWxsXG4gKi9cblxuLnVrLXRpbGUteHNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUteHNtYWxsLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXhzbWFsbC1wYWRkaW5nLXZlcnRpY2FsO1xufVxuXG4vKlxuICogU21hbGxcbiAqL1xuXG4udWstdGlsZS1zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw7XG4gICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXNtYWxsLXBhZGRpbmctdmVydGljYWw7XG59XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi51ay10aWxlLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbiAgICBwYWRkaW5nLWJvdHRvbTogJHRpbGUtbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGlsZS1sYXJnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cblxuLypcbiAqIFhMYXJnZVxuICovXG5cbi51ay10aWxlLXhsYXJnZSB7XG4gICAgcGFkZGluZy10b3A6ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsO1xuICAgIHBhZGRpbmctYm90dG9tOiAkdGlsZS14bGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstdGlsZS14bGFyZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogJHRpbGUteGxhcmdlLXBhZGRpbmctdmVydGljYWwtbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206ICR0aWxlLXhsYXJnZS1wYWRkaW5nLXZlcnRpY2FsLW07XG4gICAgfVxuXG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHRcbiAqL1xuXG4udWstdGlsZS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLXRpbGUtZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIE11dGVkXG4gKi9cblxuLnVrLXRpbGUtbXV0ZWQge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLW11dGVkLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtbXV0ZWQpKSB7QGluY2x1ZGUgaG9vay10aWxlLW11dGVkKCk7fVxufVxuXG4vKlxuICogUHJpbWFyeVxuICovXG5cbi51ay10aWxlLXByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICR0aWxlLXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1wcmltYXJ5KSkge0BpbmNsdWRlIGhvb2stdGlsZS1wcmltYXJ5KCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay10aWxlLXByaW1hcnk6bm90KC51ay1wcmVzZXJ2ZS1jb2xvcikgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkdGlsZS1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLXRpbGUtcHJpbWFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG4vKlxuICogU2Vjb25kYXJ5XG4gKi9cblxuLnVrLXRpbGUtc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGlsZS1zZWNvbmRhcnktYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGlsZS1zZWNvbmRhcnkpKSB7QGluY2x1ZGUgaG9vay10aWxlLXNlY29uZGFyeSgpO31cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJHRpbGUtc2Vjb25kYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICR0aWxlLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay10aWxlLXNlY29uZGFyeTpub3QoLnVrLXByZXNlcnZlLWNvbG9yKSB7IEBleHRlbmQgLnVrLWRhcmsgIW9wdGlvbmFsO30gfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRpbGUtbWlzYykpIHtAaW5jbHVkZSBob29rLXRpbGUtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdGlsZSgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtZGVmYXVsdCgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtbXV0ZWQoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLXByaW1hcnkoKXt9XG4vLyBAbWl4aW4gaG9vay10aWxlLXNlY29uZGFyeSgpe31cbi8vIEBtaXhpbiBob29rLXRpbGUtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ2FyZFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGJveGVkIGNvbnRlbnQgY29udGFpbmVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNhcmRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstY2FyZC1ib2R5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2FyZC1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWZvb3RlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtbWVkaWEtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWJhZGdlYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWNhcmQtaG92ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXByaW1hcnlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLXNlY29uZGFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNhcmQtc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jYXJkLWxhcmdlYFxuLy9cbi8vIFVzZXM6ICAgICAgICAgICAgYHVrLWdyaWQtc3RhY2tgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcblxuJGNhcmQtYm9keS1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYm9keS1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kY2FyZC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtZ3V0dGVyIC8gMikgIWRlZmF1bHQ7XG5cbiRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDogICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWw6ICAgICAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWVkaXVtLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICgkZ2xvYmFsLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG4kY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw6ICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICAgICByb3VuZCgkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgLyAyKSAhZGVmYXVsdDtcblxuJGNhcmQtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kY2FyZC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRjYXJkLWJhZGdlLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtYmFkZ2UtcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNhcmQtYmFkZ2UtdG9wICFkZWZhdWx0O1xuXG4kY2FyZC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1kZWZhdWx0LXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGNhcmQtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgZGFya2VuKCRjYXJkLWRlZmF1bHQtYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuXG4kY2FyZC1wcmltYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXByaW1hcnktdGl0bGUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRjYXJkLXByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICBkYXJrZW4oJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kLCA1JSkgIWRlZmF1bHQ7XG4kY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJGNhcmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRjYXJkLXNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYXJkLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIGRhcmtlbigkY2FyZC1zZWNvbmRhcnktYmFja2dyb3VuZCwgNSUpICFkZWZhdWx0O1xuJGNhcmQtc2Vjb25kYXJ5LWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtYm9keS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgIHJvdW5kKCRnbG9iYWwtbWFyZ2luIC8gMS41KSAhZGVmYXVsdDtcbiRjYXJkLXNtYWxsLWZvb3Rlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGNhcmQtc21hbGwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgcm91bmQoJGdsb2JhbC1tYXJnaW4gLyAxLjUpICFkZWZhdWx0O1xuXG4kY2FyZC1sYXJnZS1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWd1dHRlciAhZGVmYXVsdDtcbiRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZ3V0dGVyICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOiAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG4kY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy12ZXJ0aWNhbC1sOiAgICAgICAgICByb3VuZCgkZ2xvYmFsLWxhcmdlLWd1dHRlciAvIDIpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDYXJkXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkKSkge0BpbmNsdWRlIGhvb2stY2FyZCgpO31cbn1cblxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLWJvZHkge1xuICAgIHBhZGRpbmc6ICRjYXJkLWJvZHktcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1ib2R5KSkge0BpbmNsdWRlIGhvb2stY2FyZC1ib2R5KCk7fVxufVxuXG4udWstY2FyZC1oZWFkZXIge1xuICAgIHBhZGRpbmc6ICRjYXJkLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsICRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1oZWFkZXIoKTt9XG59XG5cbi51ay1jYXJkLWZvb3RlciB7XG4gICAgcGFkZGluZzogJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwgJGNhcmQtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1mb290ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWZvb3RlcigpO31cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jYXJkLWJvZHkgeyBwYWRkaW5nOiAkY2FyZC1ib2R5LXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG5cbiAgICAudWstY2FyZC1oZWFkZXIgeyBwYWRkaW5nOiAkY2FyZC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWhlYWRlci1wYWRkaW5nLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWNhcmQtZm9vdGVyIHsgcGFkZGluZzogJGNhcmQtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstY2FyZC1ib2R5OjpiZWZvcmUsXG4udWstY2FyZC1ib2R5OjphZnRlcixcbi51ay1jYXJkLWhlYWRlcjo6YmVmb3JlLFxuLnVrLWNhcmQtaGVhZGVyOjphZnRlcixcbi51ay1jYXJkLWZvb3Rlcjo6YmVmb3JlLFxuLnVrLWNhcmQtZm9vdGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLWNhcmQtYm9keTo6YWZ0ZXIsXG4udWstY2FyZC1oZWFkZXI6OmFmdGVyLFxuLnVrLWNhcmQtZm9vdGVyOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY2FyZC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstY2FyZC1oZWFkZXIgPiA6bGFzdC1jaGlsZCxcbi51ay1jYXJkLWZvb3RlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIE1lZGlhXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2VydmVkIGFsaWdubWVudCBtb2RpZmllciB0byBzdHlsZSB0aGUgbWVkaWEgZWxlbWVudCwgZS5nLiB3aXRoIGBib3JkZXItcmFkaXVzYFxuICogSW1wbGVtZW50ZWQgYnkgdGhlIHRoZW1lXG4gKi9cblxuW2NsYXNzKj0ndWstY2FyZC1tZWRpYSddIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYSkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEoKTt9XG59XG5cbi51ay1jYXJkLW1lZGlhLXRvcCxcbi51ay1ncmlkLXN0YWNrID4gLnVrLWNhcmQtbWVkaWEtbGVmdCxcbi51ay1ncmlkLXN0YWNrID4gLnVrLWNhcmQtbWVkaWEtcmlnaHQgIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS10b3ApKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLXRvcCgpO31cbn1cblxuLnVrLWNhcmQtbWVkaWEtYm90dG9tIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay1jYXJkLW1lZGlhLWJvdHRvbSgpO31cbn1cblxuOm5vdCgudWstZ3JpZC1zdGFjaykgPiAudWstY2FyZC1tZWRpYS1sZWZ0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1sZWZ0KSkge0BpbmNsdWRlIGhvb2stY2FyZC1tZWRpYS1sZWZ0KCk7fVxufVxuXG46bm90KC51ay1ncmlkLXN0YWNrKSA+IC51ay1jYXJkLW1lZGlhLXJpZ2h0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1tZWRpYS1yaWdodCkpIHtAaW5jbHVkZSBob29rLWNhcmQtbWVkaWEtcmlnaHQoKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkY2FyZC10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRjYXJkLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stY2FyZC10aXRsZSgpO31cbn1cblxuXG4vKiBCYWRnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jYXJkLWJhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAkY2FyZC1iYWRnZS10b3A7XG4gICAgcmlnaHQ6ICRjYXJkLWJhZGdlLXJpZ2h0O1xuICAgIHotaW5kZXg6IDE7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWJhZGdlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuXG4udWstY2FyZC1iYWRnZTpmaXJzdC1jaGlsZCArICogeyBtYXJnaW4tdG9wOiAwOyB9XG5cblxuLyogSG92ZXIgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY2FyZC1ob3Zlcjpub3QoLnVrLWNhcmQtZGVmYXVsdCk6bm90KC51ay1jYXJkLXByaW1hcnkpOm5vdCgudWstY2FyZC1zZWNvbmRhcnkpOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkY2FyZC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stY2FyZC1ob3ZlcigpO31cbn1cblxuXG4vKiBTdHlsZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICogTm90ZTogSGVhZGVyIGFuZCBGb290ZXIgYXJlIG9ubHkgaW1wbGVtZW50ZWQgZm9yIHRoZSBkZWZhdWx0IHN0eWxlXG4gKi9cblxuLnVrLWNhcmQtZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY2FyZC1kZWZhdWx0LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtdGl0bGUge1xuICAgIGNvbG9yOiAkY2FyZC1kZWZhdWx0LXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtZGVmYXVsdC1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtaGVhZGVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC1oZWFkZXIoKTt9XG59XG5cbi51ay1jYXJkLWRlZmF1bHQgLnVrLWNhcmQtZm9vdGVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1kZWZhdWx0LWZvb3RlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtZGVmYXVsdC1mb290ZXIoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLWNhcmQtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJGNhcmQtcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY2FyZC1wcmltYXJ5LWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXByaW1hcnkoKTt9XG59XG5cbi51ay1jYXJkLXByaW1hcnkgLnVrLWNhcmQtdGl0bGUge1xuICAgIGNvbG9yOiAkY2FyZC1wcmltYXJ5LXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXByaW1hcnktdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXByaW1hcnktdGl0bGUoKTt9XG59XG5cbi51ay1jYXJkLXByaW1hcnkudWstY2FyZC1ob3Zlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtcHJpbWFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXByaW1hcnktaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXByaW1hcnktaG92ZXIoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1jYXJkLXByaW1hcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1wcmltYXJ5LWNvbG9yLW1vZGUgPT0gZGFyayApIHsgLnVrLWNhcmQtcHJpbWFyeS51ay1jYXJkLWJvZHkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1wcmltYXJ5ID4gOm5vdChbY2xhc3MqPSd1ay1jYXJkLW1lZGlhJ10pIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qXG4gKiBTZWNvbmRhcnlcbiAqL1xuXG4udWstY2FyZC1zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLXNlY29uZGFyeS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkY2FyZC1zZWNvbmRhcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtc2Vjb25kYXJ5KSkge0BpbmNsdWRlIGhvb2stY2FyZC1zZWNvbmRhcnkoKTt9XG59XG5cbi51ay1jYXJkLXNlY29uZGFyeSAudWstY2FyZC10aXRsZSB7XG4gICAgY29sb3I6ICRjYXJkLXNlY29uZGFyeS10aXRsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jYXJkLXNlY29uZGFyeS10aXRsZSgpO31cbn1cblxuLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtaG92ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLXNlY29uZGFyeS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jYXJkLXNlY29uZGFyeS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNhcmQtc2Vjb25kYXJ5LWhvdmVyKCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLWNhcmQtc2Vjb25kYXJ5LnVrLWNhcmQtYm9keSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRjYXJkLXNlY29uZGFyeS1jb2xvci1tb2RlID09IGxpZ2h0ICkgeyAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1zZWNvbmRhcnkudWstY2FyZC1ib2R5IHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkY2FyZC1zZWNvbmRhcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstY2FyZC1zZWNvbmRhcnkgPiA6bm90KFtjbGFzcyo9J3VrLWNhcmQtbWVkaWEnXSkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuXG4vKiBTaXplIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFNtYWxsXG4gKi9cblxuLnVrLWNhcmQtc21hbGwudWstY2FyZC1ib2R5LFxuLnVrLWNhcmQtc21hbGwgLnVrLWNhcmQtYm9keSB7IHBhZGRpbmc6ICRjYXJkLXNtYWxsLWJvZHktcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1zbWFsbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1oZWFkZXIgeyBwYWRkaW5nOiAkY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1zbWFsbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsOyB9XG4udWstY2FyZC1zbWFsbCAudWstY2FyZC1mb290ZXIgeyBwYWRkaW5nOiAkY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy12ZXJ0aWNhbCAkY2FyZC1zbWFsbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsOyB9XG5cbi8qXG4gKiBMYXJnZVxuICovXG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY2FyZC1sYXJnZS51ay1jYXJkLWJvZHksXG4gICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtYm9keSB7IHBhZGRpbmc6ICRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy12ZXJ0aWNhbC1sICRjYXJkLWxhcmdlLWJvZHktcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxuICAgIC51ay1jYXJkLWxhcmdlIC51ay1jYXJkLWhlYWRlciB7IHBhZGRpbmc6ICRjYXJkLWxhcmdlLWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsLWwgJGNhcmQtbGFyZ2UtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbC1sOyB9XG4gICAgLnVrLWNhcmQtbGFyZ2UgLnVrLWNhcmQtZm9vdGVyIHsgcGFkZGluZzogJGNhcmQtbGFyZ2UtZm9vdGVyLXBhZGRpbmctdmVydGljYWwtbCAkY2FyZC1sYXJnZS1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsLWw7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNhcmQtbWlzYykpIHtAaW5jbHVkZSBob29rLWNhcmQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY2FyZCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtYm9keSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1tZWRpYS10b3AoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLW1lZGlhLWJvdHRvbSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtbGVmdCgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWVkaWEtcmlnaHQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1iYWRnZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1kZWZhdWx0LWZvb3Rlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtcHJpbWFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtc2Vjb25kYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stY2FyZC1zZWNvbmRhcnktdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jYXJkLXNlY29uZGFyeS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWNhcmQtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ2xvc2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIGNsb3NlIGJ1dHRvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNsb3NlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGNsb3NlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENsb3NlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstY2xvc2Uge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stY2xvc2UoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1jbG9zZTpob3Zlcixcbi51ay1jbG9zZTpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZS1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWNsb3NlLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNsb3NlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jbG9zZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jbG9zZSgpe31cbi8vIEBtaXhpbiBob29rLWNsb3NlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stY2xvc2UtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtY2xvc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWNsb3NlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jbG9zZS1ob3Zlcigpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU3Bpbm5lclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgbG9hZGluZyBzcGlubmVyXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3Bpbm5lcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc3Bpbm5lci1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRzcGlubmVyLXN0cm9rZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAxICFkZWZhdWx0O1xuJHNwaW5uZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsb29yKCgkc3Bpbm5lci1zaXplIC0gJHNwaW5uZXItc3Ryb2tlLXdpZHRoKSAvIDIpICFkZWZhdWx0OyAvLyBNaW51cyBzdHJva2Ugd2lkdGggdG8gcHJldmVudCBvdmVyZmxvdyBjbGlwcGluZ1xuJHNwaW5uZXItY2lyY3VtZmVyZW5jZTogICAgICAgICAgICAgICAgICAgICAgICAgIHJvdW5kKDIgKiAzLjE0MSAqICRzcGlubmVyLXJhZGl1cykgIWRlZmF1bHQ7XG4kc3Bpbm5lci1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS40cyAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3Bpbm5lclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLXNwaW5uZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zcGlubmVyKSkge0BpbmNsdWRlIGhvb2stc3Bpbm5lcigpO31cbn1cblxuXG4vKiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc3Bpbm5lciA+ICogeyBhbmltYXRpb246IHVrLXNwaW5uZXItcm90YXRlICRzcGlubmVyLWR1cmF0aW9uIGxpbmVhciBpbmZpbml0ZTsgfVxuXG5Aa2V5ZnJhbWVzIHVrLXNwaW5uZXItcm90YXRlIHtcbiAgICAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gICAgMTAwJSB7IHRyYW5zZm9ybTogcm90YXRlKDI3MGRlZyk7IH1cbn1cblxuLypcbiAqIENpcmNsZVxuICovXG5cbi51ay1zcGlubmVyID4gKiA+ICoge1xuICAgIHN0cm9rZS1kYXNoYXJyYXk6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7XG4gICAgc3Ryb2tlLWRhc2hvZmZzZXQ6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIGFuaW1hdGlvbjogdWstc3Bpbm5lci1kYXNoICRzcGlubmVyLWR1cmF0aW9uIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuICAgIHN0cm9rZS13aWR0aDogJHNwaW5uZXItc3Ryb2tlLXdpZHRoO1xuICAgIHN0cm9rZS1saW5lY2FwOiByb3VuZDtcbn1cblxuQGtleWZyYW1lcyB1ay1zcGlubmVyLWRhc2gge1xuICAgIDAlIHsgc3Ryb2tlLWRhc2hvZmZzZXQ6ICRzcGlubmVyLWNpcmN1bWZlcmVuY2U7IH1cbiAgICA1MCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZS80O1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDEzNWRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBzdHJva2UtZGFzaG9mZnNldDogJHNwaW5uZXItY2lyY3VtZmVyZW5jZTtcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg0NTBkZWcpO1xuICAgIH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zcGlubmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zcGlubmVyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNwaW5uZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zcGlubmVyLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRvdG9wXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYW4gaWNvbiB0byBzY3JvbGwgYmFjayB0byB0b3Bcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10b3RvcGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdG90b3AtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJHRvdG9wLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiR0b3RvcC1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kdG90b3AtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVG90b3BcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkb3B0cyBgdWstaWNvbmBcbiAqL1xuXG4udWstdG90b3Age1xuICAgIHBhZGRpbmc6ICR0b3RvcC1wYWRkaW5nO1xuICAgIGNvbG9yOiAkdG90b3AtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wKSkge0BpbmNsdWRlIGhvb2stdG90b3AoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10b3RvcDpob3Zlcixcbi51ay10b3RvcDpmb2N1cyB7XG4gICAgY29sb3I6ICR0b3RvcC1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10b3RvcC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXRvdG9wLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstdG90b3A6YWN0aXZlIHtcbiAgICBjb2xvcjogJHRvdG9wLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdG90b3AtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdG90b3AtYWN0aXZlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRvdG9wLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10b3RvcC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10b3RvcCgpe31cbi8vIEBtaXhpbiBob29rLXRvdG9wLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdG90b3AtYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stdG90b3AtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtdG90b3AtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtdG90b3AtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10b3RvcCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdG90b3AtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRvdG9wLWFjdGl2ZSgpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTWFya2VyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYSBtYXJrZXIgaWNvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1hcmtlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kbWFya2VyLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRtYXJrZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRtYXJrZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kbWFya2VyLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTWFya2VyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLW1hcmtlciB7XG4gICAgcGFkZGluZzogJG1hcmtlci1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRtYXJrZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJG1hcmtlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbWFya2VyKSkge0BpbmNsdWRlIGhvb2stbWFya2VyKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbWFya2VyOmhvdmVyLFxuLnVrLW1hcmtlcjpmb2N1cyB7XG4gICAgY29sb3I6ICRtYXJrZXItaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbWFya2VyLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbWFya2VyLWhvdmVyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmtlci1taXNjKSkge0BpbmNsdWRlIGhvb2stbWFya2VyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1hcmtlcigpe31cbi8vIEBtaXhpbiBob29rLW1hcmtlci1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1hcmtlci1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1tYXJrZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbWFya2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1tYXJrZXItaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbWFya2VyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1tYXJrZXItaG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEFsZXJ0XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYWxlcnQgbWVzc2FnZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hbGVydGBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1hbGVydC1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1hbGVydC1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWxlcnQtc3VjY2Vzc2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsZXJ0LXdhcm5pbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGVydC1kYW5nZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFsZXJ0LW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbGVydC1wYWRkaW5nICsgMTRweCAhZGVmYXVsdDtcbiRhbGVydC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYWxlcnQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGFsZXJ0LWNsb3NlLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbGVydC1wYWRkaW5nICsgNXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRhbGVydC1wYWRkaW5nICFkZWZhdWx0O1xuXG4kYWxlcnQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kLCA0MCUpLCAyMCUpICFkZWZhdWx0O1xuJGFsZXJ0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kYWxlcnQtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kLCA0MCUpLCAyNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kYWxlcnQtd2FybmluZy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kLCA0NSUpLCAxNSUpICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kYWxlcnQtZGFuZ2VyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbihtaXgod2hpdGUsICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQsIDQwJSksIDIwJSkgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1kYW5nZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQWxlcnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWxlcnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLXZlcnRpY2FsO1xuICAgIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nICRhbGVydC1wYWRkaW5nLXJpZ2h0ICRhbGVydC1wYWRkaW5nICRhbGVydC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0KSkge0BpbmNsdWRlIGhvb2stYWxlcnQoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1hbGVydCB7IG1hcmdpbi10b3A6ICRhbGVydC1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1hbGVydCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hbGVydC1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJGFsZXJ0LWNsb3NlLXRvcDtcbiAgICByaWdodDogJGFsZXJ0LWNsb3NlLXJpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC1jbG9zZSkpIHtAaW5jbHVkZSBob29rLWFsZXJ0LWNsb3NlKCk7fVxufVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIGFkamFjZW50IGVsZW1lbnRcbiAqL1xuXG4udWstYWxlcnQtY2xvc2U6Zmlyc3QtY2hpbGQgKyAqIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4vKlxuICogSG92ZXIgKyBGb2N1c1xuICovXG5cbi51ay1hbGVydC1jbG9zZTpob3Zlcixcbi51ay1hbGVydC1jbG9zZTpmb2N1cyB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LWNsb3NlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtY2xvc2UtaG92ZXIoKTt9XG59XG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByaW1hcnlcbiAqL1xuXG4udWstYWxlcnQtcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJGFsZXJ0LXByaW1hcnktYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LXByaW1hcnktY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1wcmltYXJ5KCk7fVxufVxuXG4vKlxuICogU3VjY2Vzc1xuICovXG5cbi51ay1hbGVydC1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAkYWxlcnQtc3VjY2Vzcy1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYWxlcnQtc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLWFsZXJ0LXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cblxuLnVrLWFsZXJ0LXdhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC13YXJuaW5nLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRhbGVydC13YXJuaW5nLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hbGVydC13YXJuaW5nKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtd2FybmluZygpO31cbn1cblxuLypcbiAqIERhbmdlclxuICovXG5cbi51ay1hbGVydC1kYW5nZXIge1xuICAgIGJhY2tncm91bmQ6ICRhbGVydC1kYW5nZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGFsZXJ0LWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWxlcnQtZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stYWxlcnQtZGFuZ2VyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFsZXJ0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbGVydC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGVydCgpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stYWxlcnQtc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWFsZXJ0LXdhcm5pbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1hbGVydC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFkZ2Vcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBub3RpZmljYXRpb24gYmFkZ2VzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYmFkZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJhZGdlLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIycHggIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kYmFkZ2UtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kYmFkZ2UtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1wcmltYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGJhZGdlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4kYmFkZ2UtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBCYWRnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTdHlsZVxuICogMi4gQ2VudGVyIGNoaWxkIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICovXG5cbi51ay1iYWRnZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4td2lkdGg6ICRiYWRnZS1zaXplO1xuICAgIGhlaWdodDogJGJhZGdlLXNpemU7XG4gICAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmctdmVydGljYWwgJGJhZGdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBib3JkZXItcmFkaXVzOiAkYmFkZ2UtYm9yZGVyLXJhZGl1cztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDEgKi9cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgICAvKiAyICovXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYmFkZ2UpKSB7QGluY2x1ZGUgaG9vay1iYWRnZSgpO31cbn1cblxuLypcbiAqIFJlcXVpcmVkIGZvciBgYWBcbiAqL1xuXG4udWstYmFkZ2U6aG92ZXIsXG4udWstYmFkZ2U6Zm9jdXMge1xuICAgIGNvbG9yOiAkYmFkZ2UtaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJhZGdlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYmFkZ2UtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYmFkZ2UtbWlzYykpIHtAaW5jbHVkZSBob29rLWJhZGdlLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWJhZGdlKCl7fVxuLy8gQG1peGluIGhvb2stYmFkZ2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1iYWRnZS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1iYWRnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1iYWRnZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYmFkZ2UoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJhZGdlLWhvdmVyKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTGFiZWxcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGluZGljYXRlIGltcG9ydGFudCBub3Rlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxhYmVsYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWxhYmVsLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1sYWJlbC13YXJuaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGFiZWwtZGFuZ2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsYWJlbC1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGxhYmVsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJGxhYmVsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuXG4kbGFiZWwtc3VjY2Vzcy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zdWNjZXNzLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbGFiZWwtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1pbnZlcnNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGFiZWxcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZy12ZXJ0aWNhbCAkbGFiZWwtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGFiZWwtbGluZS1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbCkpIHtAaW5jbHVkZSBob29rLWxhYmVsKCk7fVxufVxuXG5cbi8qIENvbG9yIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLWxhYmVsLXN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC1zdWNjZXNzLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1zdWNjZXNzLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC1zdWNjZXNzKSkge0BpbmNsdWRlIGhvb2stbGFiZWwtc3VjY2VzcygpO31cbn1cblxuLypcbiAqIFdhcm5pbmdcbiAqL1xuXG4udWstbGFiZWwtd2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLXdhcm5pbmctYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLXdhcm5pbmctY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxhYmVsLXdhcm5pbmcpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC13YXJuaW5nKCk7fVxufVxuXG4vKlxuICogRGFuZ2VyXG4gKi9cblxuLnVrLWxhYmVsLWRhbmdlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLWRhbmdlci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtZGFuZ2VyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1sYWJlbC1kYW5nZXIpKSB7QGluY2x1ZGUgaG9vay1sYWJlbC1kYW5nZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbGFiZWwtbWlzYykpIHtAaW5jbHVkZSBob29rLWxhYmVsLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWxhYmVsKCl7fVxuLy8gQG1peGluIGhvb2stbGFiZWwtc3VjY2Vzcygpe31cbi8vIEBtaXhpbiBob29rLWxhYmVsLXdhcm5pbmcoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC1kYW5nZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1sYWJlbC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1sYWJlbC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2UtbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxhYmVsKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgT3ZlcmxheVxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGNvbnRlbnQgYXJlYXMgb3ZlcmxheWluZyBhbiBpbWFnZVxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW92ZXJsYXlgXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstb3ZlcmxheS1pY29uYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLW92ZXJsYXktZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW92ZXJsYXktcHJpbWFyeWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kb3ZlcmxheS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kb3ZlcmxheS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRvdmVybGF5LWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcblxuJG92ZXJsYXktcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCwgMC44KSAhZGVmYXVsdDtcbiRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogT3ZlcmxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1vdmVybGF5IHtcbiAgICBwYWRkaW5nOiAkb3ZlcmxheS1wYWRkaW5nLXZlcnRpY2FsICRvdmVybGF5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheSkpIHtAaW5jbHVkZSBob29rLW92ZXJsYXkoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstb3ZlcmxheSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIEljb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb3ZlcmxheS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1pY29uKSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1pY29uKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuLnVrLW92ZXJsYXktZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZDogJG92ZXJsYXktZGVmYXVsdC1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LWRlZmF1bHQoKTt9XG59XG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLW92ZXJsYXktcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJG92ZXJsYXktcHJpbWFyeS1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vdmVybGF5LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1vdmVybGF5LXByaW1hcnkoKTt9XG59XG5cbi8vIENvbG9yIE1vZGVcbkBpZiAoICRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW92ZXJsYXktcHJpbWFyeSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRvdmVybGF5LXByaW1hcnktY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstb3ZlcmxheS1wcmltYXJ5IHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stb3ZlcmxheS1taXNjKSkge0BpbmNsdWRlIGhvb2stb3ZlcmxheS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1vdmVybGF5KCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stb3ZlcmxheS1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBcnRpY2xlXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgYXJ0aWNsZXNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hcnRpY2xlYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLWFydGljbGUtdGl0bGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hcnRpY2xlLW1ldGFgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFydGljbGUtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG4kYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRhcnRpY2xlLXRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAkYXJ0aWNsZS10aXRsZS1mb250LXNpemUtbSAqIDAuODUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgMS4yICFkZWZhdWx0O1xuXG4kYXJ0aWNsZS1tZXRhLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kYXJ0aWNsZS1tZXRhLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGFydGljbGUtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEFydGljbGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFydGljbGUpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlKCk7fVxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstYXJ0aWNsZTo6YmVmb3JlLFxuLnVrLWFydGljbGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xufVxuXG4udWstYXJ0aWNsZTo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLWFydGljbGUgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBBZGphY2VudCBzaWJsaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFydGljbGUgKyAudWstYXJ0aWNsZSB7XG4gICAgbWFyZ2luLXRvcDogJGFydGljbGUtbWFyZ2luLXRvcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZS1hZGphY2VudCkpIHtAaW5jbHVkZSBob29rLWFydGljbGUtYWRqYWNlbnQoKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAkYXJ0aWNsZS10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRhcnRpY2xlLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLXRpdGxlKSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS10aXRsZSgpO31cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstYXJ0aWNsZS10aXRsZSB7IGZvbnQtc2l6ZTogJGFydGljbGUtdGl0bGUtZm9udC1zaXplLW07IH1cblxufVxuXG5cbi8qIE1ldGFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYXJ0aWNsZS1tZXRhIHtcbiAgICBmb250LXNpemU6ICRhcnRpY2xlLW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYXJ0aWNsZS1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkYXJ0aWNsZS1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hcnRpY2xlLW1ldGEpKSB7QGluY2x1ZGUgaG9vay1hcnRpY2xlLW1ldGEoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYXJ0aWNsZS1taXNjKSkge0BpbmNsdWRlIGhvb2stYXJ0aWNsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlKCl7fVxuLy8gQG1peGluIGhvb2stYXJ0aWNsZS1hZGphY2VudCgpe31cbi8vIEBtaXhpbiBob29rLWFydGljbGUtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLW1ldGEoKXt9XG4vLyBAbWl4aW4gaG9vay1hcnRpY2xlLW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLWFydGljbGUtbWV0YS1jb2xvcjogICAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYXJ0aWNsZS1tZXRhKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQ29tbWVudFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG5lc3RlZCBjb21tZW50c1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvbW1lbnRgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstY29tbWVudC1ib2R5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1oZWFkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1tZXRhYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY29tbWVudC1hdmF0YXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1jb21tZW50LWxpc3RgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstY29tbWVudC1wcmltYXJ5YFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRjb21tZW50LWhlYWRlci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNvbW1lbnQtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG5cbiRjb21tZW50LW1ldGEtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRjb21tZW50LW1ldGEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAxLjQgIWRlZmF1bHQ7XG4kY29tbWVudC1tZXRhLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY29tbWVudC1saXN0LXBhZGRpbmctbGVmdC1tOiAgICAgICAgICAgICAgICAgICAgMTAwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvbW1lbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50KCk7fVxufVxuXG5cbi8qIFNlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtYm9keSB7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtYm9keSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtYm9keSgpO31cbn1cblxuLnVrLWNvbW1lbnQtaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY29tbWVudC1oZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWhlYWRlcigpO31cbn1cblxuLypcbiAqIE1pY3JvIGNsZWFyZml4XG4gKi9cblxuLnVrLWNvbW1lbnQtYm9keTo6YmVmb3JlLFxuLnVrLWNvbW1lbnQtYm9keTo6YWZ0ZXIsXG4udWstY29tbWVudC1oZWFkZXI6OmJlZm9yZSxcbi51ay1jb21tZW50LWhlYWRlcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1jb21tZW50LWJvZHk6OmFmdGVyLFxuLnVrLWNvbW1lbnQtaGVhZGVyOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstY29tbWVudC1ib2R5ID4gOmxhc3QtY2hpbGQsXG4udWstY29tbWVudC1oZWFkZXIgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBUaXRsZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb21tZW50LXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRjb21tZW50LXRpdGxlLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGNvbW1lbnQtdGl0bGUtbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LXRpdGxlKCk7fVxufVxuXG5cbi8qIE1ldGFcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstY29tbWVudC1tZXRhIHtcbiAgICBmb250LXNpemU6ICRjb21tZW50LW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkY29tbWVudC1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY29tbWVudC1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LW1ldGEpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LW1ldGEoKTt9XG59XG5cblxuLyogQXZhdGFyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtYXZhdGFyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1hdmF0YXIpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWF2YXRhcigpO31cbn1cblxuXG4vKiBMaXN0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtbGlzdCB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiBBZGphY2VudCBzaWJsaW5ncyAqL1xuLnVrLWNvbW1lbnQtbGlzdCA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWxpc3QtYWRqYWNlbnQoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICogTm90ZTogR2VuZXJhbCBzaWJsaW5nIHNlbGVjdG9yIGFsbG93cyByZXBseSBibG9jayBiZXR3ZWVuIGNvbW1lbnQgYW5kIHN1Ymxpc3RcbiAqL1xuXG4udWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwge1xuICAgIG1hcmdpbjogJGNvbW1lbnQtbGlzdC1tYXJnaW4tdG9wIDAgMCAwO1xuICAgIHBhZGRpbmctbGVmdDogJGNvbW1lbnQtbGlzdC1wYWRkaW5nLWxlZnQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY29tbWVudC1saXN0LXN1YikpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtbGlzdC1zdWIoKTt9XG59XG5cbi8qIFRhYmxldCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY29tbWVudC1saXN0IC51ay1jb21tZW50IH4gdWwgeyBwYWRkaW5nLWxlZnQ6ICRjb21tZW50LWxpc3QtcGFkZGluZy1sZWZ0LW07IH1cblxufVxuXG4vKiBBZGphY2VudCBzaWJsaW5ncyAqL1xuLnVrLWNvbW1lbnQtbGlzdCAudWstY29tbWVudCB+IHVsID4gOm50aC1jaGlsZChuKzIpIHtcbiAgICBtYXJnaW4tdG9wOiAkY29tbWVudC1saXN0LW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtbGlzdC1zdWItYWRqYWNlbnQpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvbW1lbnQtcHJpbWFyeSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvbW1lbnQtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLWNvbW1lbnQtcHJpbWFyeSgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb21tZW50LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb21tZW50LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtdGl0bGUoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LW1ldGEoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWF2YXRhcigpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1hZGphY2VudCgpe31cbi8vIEBtaXhpbiBob29rLWNvbW1lbnQtbGlzdC1zdWIoKXt9XG4vLyBAbWl4aW4gaG9vay1jb21tZW50LWxpc3Qtc3ViLWFkamFjZW50KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stY29tbWVudC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU2VhcmNoXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgdGhlIHNlYXJjaFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNlYXJjaGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zZWFyY2gtaW5wdXRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zZWFyY2gtdG9nZ2xlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLXNlYXJjaC1pY29uYFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXNlYXJjaC1kZWZhdWx0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2VhcmNoLW5hdmJhcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXNlYXJjaC1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2VhcmNoLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJHNlYXJjaC1kZWZhdWx0LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxODBweCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb250cm9sLWhlaWdodCAhZGVmYXVsdDtcbiRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgNnB4ICFkZWZhdWx0O1xuJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICRzZWFyY2gtZGVmYXVsdC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29udHJvbC1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRzZWFyY2gtbmF2YmFyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDAwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG4kc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHNlYXJjaC1uYXZiYXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuXG4kc2VhcmNoLWxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwMHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzZWFyY2gtbGFyZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14eGxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuJHNlYXJjaC1sYXJnZS1pY29uLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA4MHB4ICFkZWZhdWx0O1xuXG4kc2VhcmNoLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFNlYXJjaFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gUmVzZXQgYGZvcm1gXG4gKi9cblxuLnVrLXNlYXJjaCB7XG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8qIDMgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogNCAqL1xuICAgIG1hcmdpbjogMDtcbn1cblxuXG4vKiBJbnB1dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBvbiBPUyBYIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG4udWstc2VhcmNoLWlucHV0Ojotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuLnVrLXNlYXJjaC1pbnB1dDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7IC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlcyBwbGFjZWhvbGRlciB0cmFuc3BhcmVuY3kgaW4gRmlyZWZveC5cbiAqL1xuXG4udWstc2VhcmNoLWlucHV0OjotbW96LXBsYWNlaG9sZGVyIHsgb3BhY2l0eTogMTsgfVxuXG4vKlxuICogMS4gRGVmaW5lIGNvbnNpc3RlbnQgYm94IHNpemluZy5cbiAqIDIuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveC9JRSBhbmQgQ2hyb21lL1NhZmFyaS9PcGVyYS5cbiAqIDMuIFJlbW92ZSBgYm9yZGVyLXJhZGl1c2AgaW4gaU9TLlxuICogNC4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gYWxsIGJyb3dzZXJzXG4gKiA1LiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICogNi4gUmVtb3ZlIGRlZmF1bHQgc3R5bGUgaW4gaU9TLlxuICogNy4gVmVydGljYWwgYWxpZ25tZW50XG4gKiA4LiBUYWtlIHRoZSBmdWxsIGNvbnRhaW5lciB3aWR0aFxuICogOS4gU3R5bGVcbiAqL1xuXG4udWstc2VhcmNoLWlucHV0IHtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIC8qIDMgKi9cbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIC8qIDQgKi9cbiAgICBmb250OiBpbmhlcml0O1xuICAgIC8qIDUgKi9cbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvKiA2ICovXG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC8qIDcgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDggKi9cbiAgICB3aWR0aDogMTAwJTtcbiAgICAvKiA5ICovXG4gICAgYm9yZGVyOiBub25lO1xuICAgIGNvbG9yOiAkc2VhcmNoLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zZWFyY2gtaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtaW5wdXQoKTt9XG59XG5cbi51ay1zZWFyY2gtaW5wdXQ6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cbi8qIFBsYWNlaG9sZGVyICovXG4udWstc2VhcmNoLWlucHV0Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7IGNvbG9yOiAkc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay1zZWFyY2gtaW5wdXQ6OnBsYWNlaG9sZGVyIHsgY29sb3I6ICRzZWFyY2gtcGxhY2Vob2xkZXItY29sb3I7IH1cblxuXG4vKiBJY29uIChBZG9wdHMgYHVrLWljb25gKVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBSZW1vdmUgZGVmYXVsdCBmb2N1cyBzdHlsZVxuICovXG5cbi51ay1zZWFyY2gtaWNvbjpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIFBvc2l0aW9uIGFib3ZlIGlucHV0XG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIENlbnRlciBpY29uIHZlcnRpY2FsbHkgYW5kIGhvcml6b250YWxseVxuICogMy4gU3R5bGVcbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkc2VhcmNoLWljb24tY29sb3I7XG59XG5cbi8qXG4gKiBSZXF1aXJlZCBmb3IgYGFgLlxuICovXG5cbi51ay1zZWFyY2ggLnVrLXNlYXJjaC1pY29uOmhvdmVyIHsgY29sb3I6ICRzZWFyY2gtaWNvbi1jb2xvcjsgfVxuXG4vKlxuICogTWFrZSBgaW5wdXRgIGVsZW1lbnQgY2xpY2thYmxlIHRocm91Z2ggaWNvbiwgZS5nLiBpZiBpdCdzIGEgYHNwYW5gXG4gKi9cblxuLnVrLXNlYXJjaCAudWstc2VhcmNoLWljb246bm90KGEpOm5vdChidXR0b24pOm5vdChpbnB1dCkgeyBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4vKlxuICogUG9zaXRpb24gbW9kaWZpZXJcbiAqL1xuXG4udWstc2VhcmNoIC51ay1zZWFyY2gtaWNvbi1mbGlwIHtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiBhdXRvO1xufVxuXG5cbi8qIERlZmF1bHQgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2VhcmNoLWRlZmF1bHQgeyB3aWR0aDogJHNlYXJjaC1kZWZhdWx0LXdpZHRoOyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG5cbi51ay1zZWFyY2gtZGVmYXVsdCAudWstc2VhcmNoLWlucHV0IHtcbiAgICBoZWlnaHQ6ICRzZWFyY2gtZGVmYXVsdC1oZWlnaHQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkc2VhcmNoLWRlZmF1bHQtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRzZWFyY2gtZGVmYXVsdC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJHNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0KSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKTt9XG59XG5cbi8qIEZvY3VzICovXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pbnB1dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHNlYXJjaC1kZWZhdWx0LWZvY3VzLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1kZWZhdWx0LWlucHV0LWZvY3VzKSkge0BpbmNsdWRlIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQtZm9jdXMoKTt9XG59XG5cbi8qXG4gKiBJY29uXG4gKi9cblxuLnVrLXNlYXJjaC1kZWZhdWx0IC51ay1zZWFyY2gtaWNvbiB7IHdpZHRoOiAkc2VhcmNoLWRlZmF1bHQtaWNvbi13aWR0aDsgfVxuXG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uOm5vdCgudWstc2VhcmNoLWljb24tZmxpcCkgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1sZWZ0OiAoJHNlYXJjaC1kZWZhdWx0LWljb24td2lkdGgpOyB9XG4udWstc2VhcmNoLWRlZmF1bHQgLnVrLXNlYXJjaC1pY29uLWZsaXAgfiAudWstc2VhcmNoLWlucHV0IHsgcGFkZGluZy1yaWdodDogKCRzZWFyY2gtZGVmYXVsdC1pY29uLXdpZHRoKTsgfVxuXG5cbi8qIE5hdmJhciBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIHsgd2lkdGg6ICRzZWFyY2gtbmF2YmFyLXdpZHRoOyB9XG5cbi8qXG4gKiBJbnB1dFxuICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGhlaWdodDogJHNlYXJjaC1uYXZiYXItaGVpZ2h0O1xuICAgIGJhY2tncm91bmQ6ICRzZWFyY2gtbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgZm9udC1zaXplOiAkc2VhcmNoLW5hdmJhci1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1uYXZiYXItaW5wdXQpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbmF2YmFyLWlucHV0KCk7fVxufVxuXG4vKlxuICogSWNvblxuICovXG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbiB7IHdpZHRoOiAkc2VhcmNoLW5hdmJhci1pY29uLXdpZHRoOyB9XG5cbi51ay1zZWFyY2gtbmF2YmFyIC51ay1zZWFyY2gtaWNvbjpub3QoLnVrLXNlYXJjaC1pY29uLWZsaXApIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctbGVmdDogKCRzZWFyY2gtbmF2YmFyLWljb24td2lkdGgpOyB9XG4udWstc2VhcmNoLW5hdmJhciAudWstc2VhcmNoLWljb24tZmxpcCB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLXJpZ2h0OiAoJHNlYXJjaC1uYXZiYXItaWNvbi13aWR0aCk7IH1cblxuXG4vKiBMYXJnZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zZWFyY2gtbGFyZ2UgeyB3aWR0aDogJHNlYXJjaC1sYXJnZS13aWR0aDsgfVxuXG4vKlxuICogSW5wdXRcbiAqL1xuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaW5wdXQge1xuICAgIGhlaWdodDogJHNlYXJjaC1sYXJnZS1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJHNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kO1xuICAgIGZvbnQtc2l6ZTogJHNlYXJjaC1sYXJnZS1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNlYXJjaC1sYXJnZS1pbnB1dCkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC1sYXJnZS1pbnB1dCgpO31cbn1cblxuLypcbiAqIEljb25cbiAqL1xuXG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbiB7IHdpZHRoOiAkc2VhcmNoLWxhcmdlLWljb24td2lkdGg7IH1cblxuLnVrLXNlYXJjaC1sYXJnZSAudWstc2VhcmNoLWljb246bm90KC51ay1zZWFyY2gtaWNvbi1mbGlwKSB+IC51ay1zZWFyY2gtaW5wdXQgeyBwYWRkaW5nLWxlZnQ6ICgkc2VhcmNoLWxhcmdlLWljb24td2lkdGgpOyB9XG4udWstc2VhcmNoLWxhcmdlIC51ay1zZWFyY2gtaWNvbi1mbGlwIH4gLnVrLXNlYXJjaC1pbnB1dCB7IHBhZGRpbmctcmlnaHQ6ICgkc2VhcmNoLWxhcmdlLWljb24td2lkdGgpOyB9XG5cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXNlYXJjaC10b2dnbGUge1xuICAgIGNvbG9yOiAkc2VhcmNoLXRvZ2dsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLXNlYXJjaC10b2dnbGUoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zZWFyY2gtdG9nZ2xlOmhvdmVyLFxuLnVrLXNlYXJjaC10b2dnbGU6Zm9jdXMge1xuICAgIGNvbG9yOiAkc2VhcmNoLXRvZ2dsZS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLXRvZ2dsZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXNlYXJjaC10b2dnbGUtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2VhcmNoLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zZWFyY2gtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2VhcmNoLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2stc2VhcmNoLWRlZmF1bHQtaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLXNlYXJjaC1uYXZiYXItaW5wdXQoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbGFyZ2UtaW5wdXQoKXt9XG5cbi8vIEBtaXhpbiBob29rLXNlYXJjaC10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuXG4vLyBAbWl4aW4gaG9vay1zZWFyY2gtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2Utc2VhcmNoLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtaWNvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWJhY2tncm91bmQ6ICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtZm9jdXMtYmFja2dyb3VuZDogICAgICAgJGludmVyc2Utc2VhcmNoLWRlZmF1bHQtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJGludmVyc2Utc2VhcmNoLW5hdmJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLXNlYXJjaC1sYXJnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuXG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNlYXJjaC1kZWZhdWx0LWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtZGVmYXVsdC1pbnB1dC1mb2N1cygpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLW5hdmJhci1pbnB1dCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2VhcmNoLWxhcmdlLWlucHV0KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zZWFyY2gtdG9nZ2xlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBOYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgRGVmaW5lcyBzdHlsZXMgZm9yIGxpc3QgbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1uYXZgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbmF2LWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LXN1YmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1uYXYtcGFyZW50LWljb25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXYtZGVmYXVsdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdi1wcmltYXJ5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2LWNlbnRlcmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYXJlbnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1vcGVuYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG91Y2hgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRuYXYtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kbmF2LXN1Ymxpc3QtcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuJG5hdi1zdWJsaXN0LXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2LXN1Ymxpc3QtZGVlcGVyLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAycHggIWRlZmF1bHQ7XG5cbiRuYXYtcGFyZW50LWljb24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAoJGdsb2JhbC1saW5lLWhlaWdodCAqIDFlbSkgIWRlZmF1bHQ7XG4kbmF2LXBhcmVudC1pY29uLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgJG5hdi1wYXJlbnQtaWNvbi13aWR0aCAhZGVmYXVsdDtcbiRuYXYtcGFyZW50LWljb24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2LWhlYWRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWwgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbCAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtOiAgICAgICAgICAgICAgICAgICAgICB1cHBlcmNhc2UgIWRlZmF1bHQ7XG4kbmF2LWhlYWRlci1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJG5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnRlcm5hbC1uYXYtcGFyZW50LWNsb3NlLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMTAlMjAxJTIwNCUyMDclMjAxMCUyMDEzJTIyJTIwJTJGJTNFJTBBJTNDJTJGc3ZnJTNFXCIgIWRlZmF1bHQ7XG4kaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlOiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PVVURi04LCUzQ3N2ZyUyMHdpZHRoJTNEJTIyMTQlMjIlMjBoZWlnaHQlM0QlMjIxNCUyMiUyMHZpZXdCb3glM0QlMjIwJTIwMCUyMDE0JTIwMTQlMjIlMjB4bWxucyUzRCUyMmh0dHAlM0ElMkYlMkZ3d3cudzMub3JnJTJGMjAwMCUyRnN2ZyUyMiUzRSUwQSUyMCUyMCUyMCUyMCUzQ3BvbHlsaW5lJTIwZmlsbCUzRCUyMm5vbmUlMjIlMjBzdHJva2UlM0QlMjIjMDAwJTIyJTIwc3Ryb2tlLXdpZHRoJTNEJTIyMS4xJTIyJTIwcG9pbnRzJTNEJTIyMSUyMDQlMjA3JTIwMTAlMjAxMyUyMDQlMjIlMjAlMkYlM0UlMEElM0MlMkZzdmclM0VcIiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlc2V0XG4gKiAxLiBQcmVwYXJlIGxpc3RzXG4gKiAyLiBQcmVwYXJlIGxpbmtzXG4gKiAzLiBSZW1vdmUgZGVmYXVsdCBmb2N1cyBzdHlsZVxuICovXG5cbi8qIDEgKi9cbi51ay1uYXYsXG4udWstbmF2IHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKiAyICovXG4udWstbmF2IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4vKiAzICovXG4udWstbmF2IGxpID4gYTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuLypcbiAqIEl0ZW1zXG4gKiBNdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBsaXN0cylcbiAqL1xuXG4udWstbmF2ID4gbGkgPiBhIHsgcGFkZGluZzogJG5hdi1pdGVtLXBhZGRpbmctdmVydGljYWwgJG5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDsgfVxuXG5cbi8qIFN1Ymxpc3RzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIExldmVsIDJcbiAqIGB1bGAgbmVlZGVkIGZvciBoaWdoZXIgc3BlY2lmaWNpdHkgdG8gb3ZlcnJpZGUgcGFkZGluZ1xuICovXG5cbnVsLnVrLW5hdi1zdWIge1xuICAgIHBhZGRpbmc6ICRuYXYtc3VibGlzdC1wYWRkaW5nLXZlcnRpY2FsIDAgJG5hdi1zdWJsaXN0LXBhZGRpbmctdmVydGljYWwgJG5hdi1zdWJsaXN0LXBhZGRpbmctbGVmdDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXN1YikpIHtAaW5jbHVkZSBob29rLW5hdi1zdWIoKTt9XG59XG5cbi8qXG4gKiBMZXZlbCAzIGFuZCBkZWVwZXJcbiAqL1xuXG4udWstbmF2LXN1YiB1bCB7IHBhZGRpbmctbGVmdDogJG5hdi1zdWJsaXN0LWRlZXBlci1wYWRkaW5nLWxlZnQ7IH1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1zdWIgYSB7IHBhZGRpbmc6ICRuYXYtc3VibGlzdC1pdGVtLXBhZGRpbmctdmVydGljYWwgMDsgfVxuXG5cbi8qIFBhcmVudCBpY29uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wYXJlbnQtaWNvbiA+IC51ay1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogJG5hdi1wYXJlbnQtaWNvbi13aWR0aDtcbiAgICBoZWlnaHQ6ICRuYXYtcGFyZW50LWljb24taGVpZ2h0O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1jbG9zZS1pbWFnZSwgXCIjMDAwXCIsICRuYXYtcGFyZW50LWljb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXBhcmVudC1pY29uKSkge0BpbmNsdWRlIGhvb2stbmF2LXBhcmVudC1pY29uKCk7fVxufVxuXG4udWstbmF2LXBhcmVudC1pY29uID4gLnVrLXBhcmVudC51ay1vcGVuID4gYTo6YWZ0ZXIgeyBAaW5jbHVkZSBzdmctZmlsbCgkaW50ZXJuYWwtbmF2LXBhcmVudC1vcGVuLWltYWdlLCBcIiMwMDBcIiwgJG5hdi1wYXJlbnQtaWNvbi1jb2xvcik7IH1cblxuXG4vKiBIZWFkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2LWhlYWRlciB7XG4gICAgcGFkZGluZzogJG5hdi1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkbmF2LWhlYWRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgdGV4dC10cmFuc2Zvcm06ICRuYXYtaGVhZGVyLXRleHQtdHJhbnNmb3JtO1xuICAgIGZvbnQtc2l6ZTogJG5hdi1oZWFkZXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWhlYWRlcigpO31cbn1cblxuLnVrLW5hdi1oZWFkZXI6bm90KDpmaXJzdC1jaGlsZCkgeyBtYXJnaW4tdG9wOiAkbmF2LWhlYWRlci1tYXJnaW4tdG9wOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXYtZGl2aWRlciB7XG4gICAgbWFyZ2luOiAkbmF2LWRpdmlkZXItbWFyZ2luLXZlcnRpY2FsICRuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGl2aWRlcigpO31cbn1cblxuXG4vKiBEZWZhdWx0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1kZWZhdWx0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdCgpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJG5hdi1kZWZhdWx0LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6aG92ZXIsXG4udWstbmF2LWRlZmF1bHQgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkbmF2LWRlZmF1bHQtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdi1kZWZhdWx0ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXYtZGVmYXVsdC1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRuYXYtZGVmYXVsdC1oZWFkZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1kZWZhdWx0LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1kZWZhdWx0LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAkbmF2LWRlZmF1bHQtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdi1kZWZhdWx0LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtZGVmYXVsdC1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjsgfVxuXG4udWstbmF2LWRlZmF1bHQgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXYtZGVmYXVsdCAudWstbmF2LXN1YiBhOmZvY3VzIHsgY29sb3I6ICRuYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I7IH1cblxuLnVrLW5hdi1kZWZhdWx0IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJG5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1hY3RpdmUtY29sb3I7IH1cblxuXG4vKiBQcmltYXJ5IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1wcmltYXJ5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnkpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeSgpO31cbn1cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBmb250LXNpemU6ICRuYXYtcHJpbWFyeS1pdGVtLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJG5hdi1wcmltYXJ5LWl0ZW0tbGluZS1oZWlnaHQ7XG4gICAgY29sb3I6ICRuYXYtcHJpbWFyeS1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLFxuLnVrLW5hdi1wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXYtcHJpbWFyeSA+IGxpLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2LXByaW1hcnktaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qXG4gKiBIZWFkZXJcbiAqL1xuXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1oZWFkZXIge1xuICAgIGNvbG9yOiAkbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIpKSB7QGluY2x1ZGUgaG9vay1uYXYtcHJpbWFyeS1oZWFkZXIoKTt9XG59XG5cbi8qXG4gKiBEaXZpZGVyXG4gKi9cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRuYXYtcHJpbWFyeS1kaXZpZGVyLWJvcmRlcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2LXByaW1hcnktZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKTt9XG59XG5cbi8qXG4gKiBTdWJsaXN0c1xuICovXG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBhIHsgY29sb3I6ICRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdi1wcmltYXJ5IC51ay1uYXYtc3ViIGE6aG92ZXIsXG4udWstbmF2LXByaW1hcnkgLnVrLW5hdi1zdWIgYTpmb2N1cyB7IGNvbG9yOiAkbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbi51ay1uYXYtcHJpbWFyeSAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRuYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOyB9XG5cblxuLyogQWxpZ25tZW50IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdi1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyogU3VibGlzdHMgKi9cbi51ay1uYXYtY2VudGVyIC51ay1uYXYtc3ViLFxuLnVrLW5hdi1jZW50ZXIgLnVrLW5hdi1zdWIgdWwgeyBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLyogUGFyZW50IGljb24gbW9kaWZpZXIgICovXG4udWstbmF2LWNlbnRlci51ay1uYXYtcGFyZW50LWljb24gPiAudWstcGFyZW50ID4gYTo6YWZ0ZXIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1uYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLW5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1uYXYtc3ViKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXBhcmVudC1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtZGVmYXVsdC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtaGVhZGVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2LWRlZmF1bHQtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5KCl7fVxuLy8gQG1peGluIGhvb2stbmF2LXByaW1hcnktaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbmF2LXBhcmVudC1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWJvcmRlciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1kZWZhdWx0LXN1Ymxpc3QtaXRlbS1jb2xvcjogICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtZGVmYXVsdC1zdWJsaXN0LWl0ZW0taG92ZXItY29sb3I6ICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LWRlZmF1bHQtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtbmF2LXByaW1hcnktaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2UtbmF2LXByaW1hcnktc3VibGlzdC1pdGVtLWNvbG9yOiAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLW5hdi1wcmltYXJ5LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1uYXYtcHJpbWFyeS1zdWJsaXN0LWl0ZW0tYWN0aXZlLWNvbG9yOiAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcGFyZW50LWljb24oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtZGVmYXVsdC1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1kZWZhdWx0LWRpdmlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXYtcHJpbWFyeS1oZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdi1wcmltYXJ5LWRpdmlkZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIE5hdmJhclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGhvcml6b250YWwgbmF2aWdhdGlvbiBiYXJzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbmF2YmFyYFxuLy9cbi8vIFN1Yi1vYmplY3RzOiAgICAgYHVrLW5hdmJhci1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItY2VudGVyLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItY2VudGVyLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLW5hdmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1pdGVtYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLXRvZ2dsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1zdWJ0aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wYmFyYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bmAgKyBNb2RpZmllcnNcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci1kcm9wZG93bi1uYXZgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItZHJvcGRvd24tZ3JpZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5hdmJhci10b2dnbGUtaWNvbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1uYXZiYXItdHJhbnNwYXJlbnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1uYXZiYXItc3RpY2t5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBhcmVudGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRuYXZiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtaXRlbS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgIDgwcHggIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1zaXplICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbmF2LWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGRvd24tei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAyMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLWhvcml6b250YWw6ICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLWdyaWQtZ3V0dGVyLXZlcnRpY2FsOiAgICAgICAgICAgJG5hdmJhci1kcm9wZG93bi1ncmlkLWd1dHRlci1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcDogICAgICAgICAgICAgMCAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tZHJvcGJhci1tYXJnaW4tYm90dG9tOiAgICAgICAgICAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcCAhZGVmYXVsdDtcblxuJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjogICRnbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkbmF2YmFyLWRyb3Bkb3duLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbmF2YmFyLWRyb3BiYXItei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4IC0gMjAgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE5hdmJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCB0byBjZW50ZXIgbmF2YmFyIGdyb3VwXG4gKi9cblxuLnVrLW5hdmJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXIoKTt9XG59XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1jb250YWluZXI6bm90KC51ay1uYXZiYXItdHJhbnNwYXJlbnQpIHtcbiAgICBiYWNrZ3JvdW5kOiAkbmF2YmFyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1jb250YWluZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItY29udGFpbmVyKCk7fVxufVxuXG4vLyBDb2xvciBNb2RlXG5AaWYgKCAkbmF2YmFyLWNvbG9yLW1vZGUgPT0gbGlnaHQgKSB7IC51ay1uYXZiYXItY29udGFpbmVyOm5vdCgudWstbmF2YmFyLXRyYW5zcGFyZW50KSB7IEBleHRlbmQgLnVrLWxpZ2h0ICFvcHRpb25hbDt9IH1cbkBpZiAoICRuYXZiYXItY29sb3ItbW9kZSA9PSBkYXJrICkgeyAudWstbmF2YmFyLWNvbnRhaW5lcjpub3QoLnVrLW5hdmJhci10cmFuc3BhcmVudCkgeyBAZXh0ZW5kIC51ay1kYXJrICFvcHRpb25hbDt9IH1cblxuLypcbiAqIFJlbW92ZSBwc2V1ZG8gZWxlbWVudHMgY3JlYXRlZCBieSBtaWNybyBjbGVhcmZpeCBhcyBwcmVjYXV0aW9uIChpZiBDb250YWluZXIgY29tcG9uZW50IGlzIHVzZWQpXG4gKi9cblxuLnVrLW5hdmJhci1jb250YWluZXIgPiA6OmJlZm9yZSxcbi51ay1uYXZiYXItY29udGFpbmVyID4gOjphZnRlciB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5cbi8qIEdyb3Vwc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGlnbiBuYXZzIGFuZCBpdGVtcyB2ZXJ0aWNhbGx5IGlmIHRoZXkgaGF2ZSBhIGRpZmZlcmVudCBoZWlnaHRcbiAqIDIuIE5vdGU6IElFIDExIHJlcXVpcmVzIGFuIGV4dHJhIGBkaXZgIHdoaWNoIGFmZmVjdHMgdGhlIGNlbnRlciBzZWxlY3RvclxuICovXG5cbi51ay1uYXZiYXItbGVmdCxcbi51ay1uYXZiYXItcmlnaHQsXG4vLyAyLiBbY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyJ10sXG4udWstbmF2YmFyLWNlbnRlcixcbi51ay1uYXZiYXItY2VudGVyLWxlZnQgPiAqLFxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQgPiAqIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKlxuICogSG9yaXpvbnRhbCBhbGlnbm1lbnRcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBjZW50ZXJlZCBuYXZiYXIgd2l0aCBzdWIgZ3JvdXBzIChsZWZ0L3JpZ2h0KVxuICogMi4gTmVlZGVkIGZvciBkcm9wZG93bnMgYmVjYXVzZSBhIG5ldyBwb3NpdGlvbiBjb250ZXh0IGlzIGNyZWF0ZWRcbiAqICAgIGB6LWluZGV4YCBtdXN0IGJlIHNtYWxsZXIgdGhhbiBvZmYtY2FudmFzXG4gKiAzLiBGaXggdGV4dCB3cmFwcGluZyBpZiB0aGUgY2VudGVyZWQgc2VjdGlvbiBpcyBsYXJnZXIgdGhhbiA1MCUgb2YgdGhlIG5hdmJhclxuICogNC4gQWxpZ24gc3ViIGdyb3VwcyBmb3IgY2VudGVyZWQgbmF2YmFyXG4gKi9cblxuLnVrLW5hdmJhci1yaWdodCB7IG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG5cbi51ay1uYXZiYXItY2VudGVyOm9ubHktY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udWstbmF2YmFyLWNlbnRlcjpub3QoOm9ubHktY2hpbGQpIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgLyogMiAqL1xuICAgIHotaW5kZXg6ICRnbG9iYWwtei1pbmRleCAtIDEwO1xufVxuXG4vKiAzICovXG4udWstbmF2YmFyLWNlbnRlcjpub3QoOm9ubHktY2hpbGQpIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLFxuLnVrLW5hdmJhci1jZW50ZXI6bm90KDpvbmx5LWNoaWxkKSAudWstbmF2YmFyLWl0ZW0sXG4udWstbmF2YmFyLWNlbnRlcjpub3QoOm9ubHktY2hpbGQpIC51ay1uYXZiYXItdG9nZ2xlIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKiA0ICovXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0LFxuLnVrLW5hdmJhci1jZW50ZXItcmlnaHQge1xuICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgdG9wOiAwO1xufVxuXG4udWstbmF2YmFyLWNlbnRlci1sZWZ0IHsgcmlnaHQ6IDEwMCU7IH1cbi51ay1uYXZiYXItY2VudGVyLXJpZ2h0IHsgbGVmdDogMTAwJTsgfVxuXG5bY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyLSddIC51ay1uYXZiYXItbmF2ID4gbGkgPiBhLFxuW2NsYXNzKj0ndWstbmF2YmFyLWNlbnRlci0nXSAudWstbmF2YmFyLWl0ZW0sXG5bY2xhc3MqPSd1ay1uYXZiYXItY2VudGVyLSddIC51ay1uYXZiYXItdG9nZ2xlIHsgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG5cbi8qIE5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLW5hdmJhci1uYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG4gKiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogT25seSBub3QgYGFic29sdXRlYCBwb3NpdGlvbmVkIGdyb3Vwc1xuICovXG5cbi51ay1uYXZiYXItbGVmdCxcbi51ay1uYXZiYXItcmlnaHQsXG4udWstbmF2YmFyLWNlbnRlcjpvbmx5LWNoaWxkIHsgZmxleC13cmFwOiB3cmFwOyB9XG5cbi8qXG4gKiBJdGVtc1xuICogMS4gQ2VudGVyIGNvbnRlbnQgdmVydGljYWxseSBhbmQgaG9yaXpvbnRhbGx5XG4gKiAyLiBEaW1lbnNpb25zXG4gKiAzLiBTdHlsZVxuICogNC4gUmVxdWlyZWQgZm9yIGBhYFxuICovXG5cbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhLCAgICAvLyBOYXYgaXRlbVxuLnVrLW5hdmJhci1pdGVtLCAgICAgICAgICAgIC8vIENvbnRlbnQgaXRlbVxuLnVrLW5hdmJhci10b2dnbGUgeyAgICAgICAgIC8vIENsaWNrYWJsZSBpdGVtXG4gICAgLyogMSAqL1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtaW4taGVpZ2h0OiAkbmF2YmFyLW5hdi1pdGVtLWhlaWdodDtcbiAgICBwYWRkaW5nOiAwICRuYXZiYXItbmF2LWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBmb250LXNpemU6ICRuYXZiYXItbmF2LWl0ZW0tZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkbmF2YmFyLW5hdi1pdGVtLWZvbnQtZmFtaWx5O1xuICAgIC8qIDQgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8qXG4gKiBOYXYgaXRlbXNcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1uYXYtaXRlbSgpO31cbn1cblxuLypcbiAqIEhvdmVyXG4gKiBBcHBseSBob3ZlciBzdHlsZSBhbHNvIHRvIGZvY3VzIHN0YXRlIGFuZCBpZiBkcm9wZG93biBpcyBvcGVuZWRcbiAqL1xuXG4udWstbmF2YmFyLW5hdiA+IGxpOmhvdmVyID4gYSxcbi51ay1uYXZiYXItbmF2ID4gbGkgPiBhOmZvY3VzLFxuLnVrLW5hdmJhci1uYXYgPiBsaSA+IGEudWstb3BlbiB7XG4gICAgY29sb3I6ICRuYXZiYXItbmF2LWl0ZW0taG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstbmF2YmFyLW5hdiA+IGxpID4gYTphY3RpdmUge1xuICAgIGNvbG9yOiAkbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLW5hdmJhci1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJG5hdmJhci1uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItbmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIEl0ZW1cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWl0ZW0ge1xuICAgIGNvbG9yOiAkbmF2YmFyLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWl0ZW0oKTt9XG59XG5cblxuLyogVG9nZ2xlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci10b2dnbGUge1xuICAgIGNvbG9yOiAkbmF2YmFyLXRvZ2dsZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci10b2dnbGUoKTt9XG59XG5cbi51ay1uYXZiYXItdG9nZ2xlOmhvdmVyLFxuLnVrLW5hdmJhci10b2dnbGU6Zm9jdXMsXG4udWstbmF2YmFyLXRvZ2dsZS51ay1vcGVuIHtcbiAgICBjb2xvcjogJG5hdmJhci10b2dnbGUtaG92ZXItY29sb3I7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci10b2dnbGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCk7fVxufVxuXG4vKlxuICogSWNvblxuICogQWRvcHRzIGB1ay1pY29uYFxuICovXG5cbi51ay1uYXZiYXItdG9nZ2xlLWljb24ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdG9nZ2xlLWljb24pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdG9nZ2xlLWljb24oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbjpob3ZlciA+IC51ay1uYXZiYXItdG9nZ2xlLWljb24sXG46Zm9jdXMgPiAudWstbmF2YmFyLXRvZ2dsZS1pY29uIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCk7fVxufVxuXG5cbi8qIFN1YnRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5hdmJhci1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAkbmF2YmFyLXN1YnRpdGxlLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXN1YnRpdGxlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLXN1YnRpdGxlKCk7fVxufVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItdHJhbnNwYXJlbnQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItdHJhbnNwYXJlbnQpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItdHJhbnNwYXJlbnQoKTt9XG59XG5cbi51ay1uYXZiYXItc3RpY2t5IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLXN0aWNreSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1zdGlja3koKTt9XG59XG5cblxuLyogRHJvcGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRvcHRzIGB1ay1kcm9wZG93bmBcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBTZXQgYSBkZWZhdWx0IHdpZHRoXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogJG5hdmJhci1kcm9wZG93bi16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbmF2YmFyLWRyb3Bkb3duLXdpZHRoO1xuICAgIC8qIDQgKi9cbiAgICBwYWRkaW5nOiAkbmF2YmFyLWRyb3Bkb3duLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJG5hdmJhci1kcm9wZG93bi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24pKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24oKTt9XG59XG5cbi8qIFNob3cgKi9cbi51ay1uYXZiYXItZHJvcGRvd24udWstb3BlbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1uYXZiYXItZHJvcGRvd24tdG9wJ10geyBtYXJnaW4tdG9wOiAoLSRuYXZiYXItZHJvcGRvd24tbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstbmF2YmFyLWRyb3Bkb3duLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJG5hdmJhci1kcm9wZG93bi1tYXJnaW47IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1sZWZ0J10geyBtYXJnaW4tbGVmdDogKC0kbmF2YmFyLWRyb3Bkb3duLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLW5hdmJhci1kcm9wZG93bi1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tbWFyZ2luOyB9XG5cbi8qXG4gKiBHcmlkXG4gKiBBZG9wdHMgYHVrLWdyaWRgXG4gKi9cblxuLyogR3V0dGVyIEhvcml6b250YWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCB7IG1hcmdpbi1sZWZ0OiAoLSRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbCk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+ICogeyBwYWRkaW5nLWxlZnQ6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItaG9yaXpvbnRhbDsgfVxuXG4vKiBHdXR0ZXIgVmVydGljYWwgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tZ3JpZCA+IC51ay1ncmlkLW1hcmdpbiB7IG1hcmdpbi10b3A6ICRuYXZiYXItZHJvcGRvd24tZ3JpZC1ndXR0ZXItdmVydGljYWw7IH1cblxuLyogU3RhY2sgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tc3RhY2sgLnVrLW5hdmJhci1kcm9wZG93bi1ncmlkID4gKiB7IHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cblxuLypcbiAqIFdpZHRoIG1vZGlmaWVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC0yOm5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDIpOyB9XG4udWstbmF2YmFyLWRyb3Bkb3duLXdpZHRoLTM6bm90KC51ay1uYXZiYXItZHJvcGRvd24tc3RhY2spIHsgd2lkdGg6ICgkbmF2YmFyLWRyb3Bkb3duLXdpZHRoICogMyk7IH1cbi51ay1uYXZiYXItZHJvcGRvd24td2lkdGgtNDpub3QoLnVrLW5hdmJhci1kcm9wZG93bi1zdGFjaykgeyB3aWR0aDogKCRuYXZiYXItZHJvcGRvd24td2lkdGggKiA0KTsgfVxuLnVrLW5hdmJhci1kcm9wZG93bi13aWR0aC01Om5vdCgudWstbmF2YmFyLWRyb3Bkb3duLXN0YWNrKSB7IHdpZHRoOiAoJG5hdmJhci1kcm9wZG93bi13aWR0aCAqIDUpOyB9XG5cbi8qXG4gKiBEcm9wYmFyIG1vZGlmaWVyXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLWRyb3BiYXIpKSB7QGluY2x1ZGUgaG9vay1uYXZiYXItZHJvcGRvd24tZHJvcGJhcigpO31cbn1cblxuXG4vKiBEcm9wZG93biBOYXZcbiAqIEFkb3B0cyBgdWstbmF2YFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYoKTt9XG59XG5cbi8qXG4gKiBJdGVtc1xuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstbmF2YmFyLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpob3Zlcixcbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkgPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2ID4gbGkudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRuYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIEhlYWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtaGVhZGVyIHtcbiAgICBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaGVhZGVyKCk7fVxufVxuXG4vKlxuICogRGl2aWRlclxuICovXG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXItd2lkdGggc29saWQgJG5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpO31cbn1cblxuLypcbiAqIFN1Ymxpc3RzXG4gKi9cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYSB7IGNvbG9yOiAkbmF2YmFyLWRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLW5hdmJhci1kcm9wZG93bi1uYXYgLnVrLW5hdi1zdWIgYTpob3Zlcixcbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGE6Zm9jdXMgeyBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cbi51ay1uYXZiYXItZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGxpLnVrLWFjdGl2ZSA+IGEgeyBjb2xvcjogJG5hdmJhci1kcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWFjdGl2ZS1jb2xvcjsgfVxuXG5cbi8qIERyb3BiYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbmF2YmFyLWRyb3BiYXIge1xuICAgIGJhY2tncm91bmQ6ICRuYXZiYXItZHJvcGJhci1iYWNrZ3JvdW5kO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGJhcikpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wYmFyKCk7fVxufVxuXG4vKlxuICogU2xpZGUgbW9kaWZpZXJcbiAqL1xuXG4udWstbmF2YmFyLWRyb3BiYXItc2xpZGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAkbmF2YmFyLWRyb3BiYXItei1pbmRleDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1uYXZiYXItZHJvcGJhci1zbGlkZSkpIHtAaW5jbHVkZSBob29rLW5hdmJhci1kcm9wYmFyLXNsaWRlKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW5hdmJhci1taXNjKSkge0BpbmNsdWRlIGhvb2stbmF2YmFyLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW5hdmJhcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1jb250YWluZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci10b2dnbGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRvZ2dsZS1pY29uLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXN1YnRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXRyYW5zcGFyZW50KCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLXN0aWNreSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1kcm9wYmFyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3Bkb3duLW5hdigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wZG93bi1uYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLW5hdmJhci1kcm9wYmFyKCl7fVxuLy8gQG1peGluIGhvb2stbmF2YmFyLWRyb3BiYXItc2xpZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1uYXZiYXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLW5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtbmF2YmFyLXRvZ2dsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItbmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbmF2YmFyLW5hdi1pdGVtLW9uY2xpY2soKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1uYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLW5hdmJhci1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1uYXZiYXItdG9nZ2xlLWhvdmVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTdWJuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIHN1YiBuYXZpZ2F0aW9uXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3VibmF2YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXN1Ym5hdi1kaXZpZGVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc3VibmF2LXBpbGxgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZmlyc3QtY29sdW1uYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRzdWJuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kc3VibmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kc3VibmF2LWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDogICAgICAgICAgICAgICAgICAgMS41ZW0gIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kc3VibmF2LWRpdmlkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkc3VibmF2LWl0ZW0tY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stY29sb3I6ICAgICAgICAgICAgICAgICAkc3VibmF2LXBpbGwtaXRlbS1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRzdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cbiRzdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTdWJuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIEd1dHRlclxuICogMy4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1zdWJuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgLyogMyAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2KSkge0BpbmNsdWRlIGhvb2stc3VibmF2KCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstc3VibmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmctbGVmdDogJHN1Ym5hdi1tYXJnaW4taG9yaXpvbnRhbDtcbiAgICAvKiAzICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zIG11c3QgdGFyZ2V0IGBhYCBlbGVtZW50cyB0byBleGNsdWRlIG90aGVyIGVsZW1lbnRzIChlLmcuIGRyb3Bkb3ducylcbiAqIFVzaW5nIGA6Zmlyc3QtY2hpbGRgIGluc3RlYWQgb2YgYGFgIHRvIHN1cHBvcnQgYHNwYW5gIGVsZW1lbnRzIGZvciB0ZXh0XG4gKiAxLiBQcmV2ZW50IGdhcCBpZiBjaGlsZCBlbGVtZW50IGlzIGBpbmxpbmUtYmxvY2tgLCBlLmcuIGFuIGljb25cbiAqIDIuIFN0eWxlXG4gKi9cblxuLnVrLXN1Ym5hdiA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LWl0ZW0pKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXN1Ym5hdiA+ICogPiBhOmhvdmVyLFxuLnVrLXN1Ym5hdiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHN1Ym5hdi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYgPiAudWstYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICRzdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBEaXZpZGVyIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsaWduIGl0ZW1zIGFuZCBkaXZpZGVyIHZlcnRpY2FsbHlcbiAqL1xuXG4udWstc3VibmF2LWRpdmlkZXIgPiAqIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4vKlxuICogRGl2aWRlclxuICogYG50aC1jaGlsZGAgbWFrZXMgaXQgYWxzbyB3b3JrIHdpdGhvdXQgSlMgaWYgaXQncyBvbmx5IG9uZSByb3dcbiAqL1xuXG4udWstc3VibmF2LWRpdmlkZXIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAkc3VibmF2LWRpdmlkZXItYm9yZGVyLWhlaWdodDtcbiAgICBtYXJnaW4tbGVmdDogKCRzdWJuYXYtZGl2aWRlci1tYXJnaW4taG9yaXpvbnRhbCAtICRzdWJuYXYtbWFyZ2luLWhvcml6b250YWwpO1xuICAgIG1hcmdpbi1yaWdodDogJHN1Ym5hdi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGJvcmRlci1sZWZ0OiAkc3VibmF2LWRpdmlkZXItYm9yZGVyLXdpZHRoIHNvbGlkICRzdWJuYXYtZGl2aWRlci1ib3JkZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1kaXZpZGVyKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LWRpdmlkZXIoKTt9XG59XG5cblxuLyogUGlsbCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zdWJuYXYtcGlsbCA+ICogPiA6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmc6ICRzdWJuYXYtcGlsbC1pdGVtLXBhZGRpbmctdmVydGljYWwgJHN1Ym5hdi1waWxsLWl0ZW0tcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRzdWJuYXYtcGlsbC1pdGVtLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXN1Ym5hdi1waWxsID4gKiA+IGE6aG92ZXIsXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstc3VibmF2LXBpbGwgPiAqID4gYTphY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzdWJuYXYtcGlsbC1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCk7fVxufVxuXG4vKiBBY3RpdmUgKi9cbi51ay1zdWJuYXYtcGlsbCA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1waWxsLWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIERpc2FibGVkXG4gKiBUaGUgc2FtZSBmb3IgYWxsIHN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zdWJuYXYgPiAudWstZGlzYWJsZWQgPiBhIHtcbiAgICBjb2xvcjogJHN1Ym5hdi1pdGVtLWRpc2FibGVkLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXN1Ym5hdi1pdGVtLWRpc2FibGVkKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN1Ym5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2stc3VibmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXN1Ym5hdigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1waWxsLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2stc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zdWJuYXYtaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLXN1Ym5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtZGl2aWRlci1ib3JkZXI6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAgICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0tb25jbGljay1jb2xvcjogICAgICAgICRpbnZlcnNlLXN1Ym5hdi1waWxsLWl0ZW0taG92ZXItY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZS1iYWNrZ3JvdW5kOiAgICAkaW52ZXJzZS1nbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1zdWJuYXYtaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXN1Ym5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LXBpbGwtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zdWJuYXYtcGlsbC1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc3VibmF2LWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEJyZWFkY3J1bWJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIGJyZWFkY3J1bWIgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWJyZWFkY3J1bWJgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZGlzYWJsZWRgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGJyZWFkY3J1bWItaXRlbS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIi9cIiAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQnJlYWRjcnVtYlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gUmVzZXQgbGlzdFxuICovXG5cbi51ay1icmVhZGNydW1iIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWIoKTt9XG59XG5cbi8qXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGNvbnRlbnQgZGltZW5zaW9uczogMCAwIGF1dG9cbiAqL1xuXG4udWstYnJlYWRjcnVtYiA+ICogeyBmbGV4OiBub25lOyB9XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYnJlYWRjcnVtYiA+ICogPiAqIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYi1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1pdGVtKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICovXG4udWstYnJlYWRjcnVtYiA+ICogPiA6aG92ZXIsXG4udWstYnJlYWRjcnVtYiA+ICogPiA6Zm9jdXMge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGJyZWFkY3J1bWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb247XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItaXRlbS1ob3ZlcigpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1icmVhZGNydW1iID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLWJyZWFkY3J1bWItaXRlbS1kaXNhYmxlZCgpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstYnJlYWRjcnVtYiA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqIGBudGgtY2hpbGRgIG1ha2VzIGl0IGFsc28gd29yayB3aXRob3V0IEpTIGlmIGl0J3Mgb25seSBvbmUgcm93XG4gKi9cblxuLnVrLWJyZWFkY3J1bWIgPiA6bnRoLWNoaWxkKG4rMik6bm90KC51ay1maXJzdC1jb2x1bW4pOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICRicmVhZGNydW1iLWRpdmlkZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYi1kaXZpZGVyLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1icmVhZGNydW1iLWRpdmlkZXIpKSB7QGluY2x1ZGUgaG9vay1icmVhZGNydW1iLWRpdmlkZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stYnJlYWRjcnVtYi1taXNjKSkge0BpbmNsdWRlIGhvb2stYnJlYWRjcnVtYi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1icmVhZGNydW1iKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItZGl2aWRlcigpe31cbi8vIEBtaXhpbiBob29rLWJyZWFkY3J1bWItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWJyZWFkY3J1bWItaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYnJlYWRjcnVtYi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1icmVhZGNydW1iLWRpdmlkZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFBhZ2luYXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBhIHBhZ2UgbmF2aWdhdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBhZ2luYXRpb25gXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstcGFnaW5hdGlvbi1uZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFnaW5hdGlvbi1wcmV2aW91c2Bcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGFnaW5hdGlvbi1tYXJnaW4taG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uOiAgICAgICAgICBub25lICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUGFnaW5hdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBBbGxvdyBpdGVtcyB0byB3cmFwIGludG8gdGhlIG5leHQgbGluZVxuICogMi4gR3V0dGVyXG4gKiAzLiBSZXNldCBsaXN0XG4gKi9cblxuLnVrLXBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHBhZ2luYXRpb24tbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24pKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uKCk7fVxufVxuXG4vKlxuICogMS4gU3BhY2UgaXMgYWxsb2NhdGVkIHNvbGVseSBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnM6IDAgMCBhdXRvXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBkcm9wZG93bnNcbiAqL1xuXG4udWstcGFnaW5hdGlvbiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWdpbmF0aW9uLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIC8qIDMgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gUHJldmVudCBnYXAgaWYgY2hpbGQgZWxlbWVudCBpcyBgaW5saW5lLWJsb2NrYCwgZS5nLiBhbiBpY29uXG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1wYWdpbmF0aW9uID4gKiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbSkpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXBhZ2luYXRpb24gPiAqID4gOmhvdmVyLFxuLnVrLXBhZ2luYXRpb24gPiAqID4gOmZvY3VzIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246ICRwYWdpbmF0aW9uLWl0ZW0taG92ZXItdGV4dC1kZWNvcmF0aW9uO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLXBhZ2luYXRpb24gPiAudWstYWN0aXZlID4gKiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stcGFnaW5hdGlvbi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuLyogRGlzYWJsZWQgKi9cbi51ay1wYWdpbmF0aW9uID4gLnVrLWRpc2FibGVkID4gKiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCkpIHtAaW5jbHVkZSBob29rLXBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCgpO31cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wYWdpbmF0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wYWdpbmF0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBhZ2luYXRpb24oKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkKCl7fVxuLy8gQG1peGluIGhvb2stcGFnaW5hdGlvbi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQtY29sb3I6ICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXBhZ2luYXRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtcGFnaW5hdGlvbi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tYWN0aXZlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1wYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRhYlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGEgdGFiYmVkIG5hdmlnYXRpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay10YWJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstdGFiLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRhYi1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdGFiLXJpZ2h0YFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRpc2FibGVkYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0YWItbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiR0YWItaXRlbS1ob3Zlci10ZXh0LWRlY29yYXRpb246ICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kdGFiLWl0ZW0tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRhYi1pdGVtLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGFiXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBHdXR0ZXJcbiAqIDMuIFJlc2V0IGxpc3RcbiAqL1xuXG4udWstdGFiIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSR0YWItbWFyZ2luLWhvcml6b250YWwpO1xuICAgIC8qIDMgKi9cbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYikpIHtAaW5jbHVkZSBob29rLXRhYigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKiAzLiBDcmVhdGUgcG9zaXRpb24gY29udGV4dCBmb3IgZHJvcGRvd25zXG4gKi9cblxuLnVrLXRhYiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICR0YWItbWFyZ2luLWhvcml6b250YWw7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBJdGVtcyBtdXN0IHRhcmdldCBgYWAgZWxlbWVudHMgdG8gZXhjbHVkZSBvdGhlciBlbGVtZW50cyAoZS5nLiBkcm9wZG93bnMpXG4gKiAxLiBDZW50ZXIgdGV4dCBpZiBhIHdpZHRoIGlzIHNldFxuICogMi4gU3R5bGVcbiAqL1xuXG4udWstdGFiID4gKiA+IGEge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLyogMiAqL1xuICAgIHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLXZlcnRpY2FsICR0YWItaXRlbS1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgY29sb3I6ICR0YWItaXRlbS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0pKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLXRhYiA+ICogPiBhOmhvdmVyLFxuLnVrLXRhYiA+ICogPiBhOmZvY3VzIHtcbiAgICBjb2xvcjogJHRhYi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJHRhYi1pdGVtLWhvdmVyLXRleHQtZGVjb3JhdGlvbjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0taG92ZXIpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstdGFiID4gLnVrLWFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAkdGFiLWl0ZW0tYWN0aXZlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1hY3RpdmUoKTt9XG59XG5cbi8qIERpc2FibGVkICovXG4udWstdGFiID4gLnVrLWRpc2FibGVkID4gYSB7XG4gICAgY29sb3I6ICR0YWItaXRlbS1kaXNhYmxlZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWl0ZW0tZGlzYWJsZWQpKSB7QGluY2x1ZGUgaG9vay10YWItaXRlbS1kaXNhYmxlZCgpO31cbn1cblxuXG4vKiBQb3NpdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBCb3R0b21cbiAqL1xuXG4udWstdGFiLWJvdHRvbSB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1ib3R0b20pKSB7QGluY2x1ZGUgaG9vay10YWItYm90dG9tKCk7fVxufVxuXG4udWstdGFiLWJvdHRvbSA+ICogPiBhIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGFiLWJvdHRvbS1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWJvdHRvbS1pdGVtKCk7fVxufVxuXG4vKlxuICogTGVmdCArIFJpZ2h0XG4gKiAxLiBSZXNldCBHdXR0ZXJcbiAqL1xuXG4udWstdGFiLWxlZnQsXG4udWstdGFiLXJpZ2h0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLyogMSAqL1xuLnVrLXRhYi1sZWZ0ID4gKixcbi51ay10YWItcmlnaHQgPiAqIHsgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi51ay10YWItbGVmdCB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1sZWZ0KSkge0BpbmNsdWRlIGhvb2stdGFiLWxlZnQoKTt9XG59XG5cbi51ay10YWItcmlnaHQge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItcmlnaHQpKSB7QGluY2x1ZGUgaG9vay10YWItcmlnaHQoKTt9XG59XG5cbi51ay10YWItbGVmdCA+ICogPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItbGVmdC1pdGVtKSkge0BpbmNsdWRlIGhvb2stdGFiLWxlZnQtaXRlbSgpO31cbn1cblxuLnVrLXRhYi1yaWdodCA+ICogPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10YWItcmlnaHQtaXRlbSkpIHtAaW5jbHVkZSBob29rLXRhYi1yaWdodC1pdGVtKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRhYi1taXNjKSkge0BpbmNsdWRlIGhvb2stdGFiLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRhYigpe31cbi8vIEBtaXhpbiBob29rLXRhYi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stdGFiLWl0ZW0taG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItaXRlbS1kaXNhYmxlZCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1ib3R0b20oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItYm90dG9tLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItbGVmdCgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1sZWZ0LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10YWItcmlnaHQoKXt9XG4vLyBAbWl4aW4gaG9vay10YWItcmlnaHQtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLXRhYi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10YWItaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10YWItaXRlbS1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGFiLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10YWItaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRhYi1pdGVtLWRpc2FibGVkKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU2xpZGVuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBwcmV2aW91cy9uZXh0IGljb24gbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zbGlkZW5hdmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zbGlkZW5hdi1jb250YWluZXJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstc2xpZGVuYXYtcHJldmlvdXNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zbGlkZW5hdi1uZXh0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2xpZGVuYXYtbGFyZ2VgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHNsaWRlbmF2LXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcbiRzbGlkZW5hdi1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuXG4kc2xpZGVuYXYtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuJHNsaWRlbmF2LWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcbiRzbGlkZW5hdi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbiRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICRzbGlkZW5hdi1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTbGlkZW5hdlxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZG9wdHMgYHVrLWljb25gXG4gKi9cblxuLnVrLXNsaWRlbmF2IHtcbiAgICBwYWRkaW5nOiAkc2xpZGVuYXYtcGFkZGluZy12ZXJ0aWNhbCAkc2xpZGVuYXYtcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGNvbG9yOiAkc2xpZGVuYXYtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlbmF2KSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1zbGlkZW5hdjpob3Zlcixcbi51ay1zbGlkZW5hdjpmb2N1cyB7XG4gICAgY29sb3I6ICRzbGlkZW5hdi1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1ob3ZlcikpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LWhvdmVyKCk7fVxufVxuXG4vKiBPbkNsaWNrICovXG4udWstc2xpZGVuYXY6YWN0aXZlIHtcbiAgICBjb2xvcjogJHNsaWRlbmF2LWFjdGl2ZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stc2xpZGVuYXYtYWN0aXZlKCk7fVxufVxuXG5cbi8qIEljb24gbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmlvdXNcbiAqL1xuXG4udWstc2xpZGVuYXYtcHJldmlvdXMge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1wcmV2aW91cykpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LXByZXZpb3VzKCk7fVxufVxuXG4vKlxuICogTmV4dFxuICovXG5cbi51ay1zbGlkZW5hdi1uZXh0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbmV4dCkpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LW5leHQoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zbGlkZW5hdi1sYXJnZSB7XG4gICAgcGFkZGluZzogJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctdmVydGljYWwgJHNsaWRlbmF2LWxhcmdlLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbGFyZ2UpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1sYXJnZSgpO31cbn1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc2xpZGVuYXYtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZW5hdi1jb250YWluZXIpKSB7QGluY2x1ZGUgaG9vay1zbGlkZW5hdi1jb250YWluZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLXNsaWRlbmF2LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2KCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVuYXYtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1wcmV2aW91cygpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW5leHQoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZW5hdi1sYXJnZSgpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LWNvbnRhaW5lcigpe31cbi8vIEBtaXhpbiBob29rLXNsaWRlbmF2LW1pc2MoKXt9XG5cblxuLy8gSW52ZXJzZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRpbnZlcnNlLXNsaWRlbmF2LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjcpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuOTUpICFkZWZhdWx0O1xuJGludmVyc2Utc2xpZGVuYXYtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNykgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXNsaWRlbmF2KCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1zbGlkZW5hdi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2Utc2xpZGVuYXYtYWN0aXZlKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEb3RuYXZcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBkb3QgbmF2aWdhdGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1kb3RuYXZgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstZG90bmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcbiRkb3RuYXYtbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAgICAgICAkZG90bmF2LW1hcmdpbi1ob3Jpem9udGFsICFkZWZhdWx0O1xuXG4kZG90bmF2LWl0ZW0td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZG90bmF2LWl0ZW0td2lkdGggIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgICAgNTAlICFkZWZhdWx0O1xuXG4kZG90bmF2LWl0ZW0tYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuJGRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1jb2xvciwgMC42KSAhZGVmYXVsdDtcbiRkb3RuYXYtaXRlbS1vbmNsaWNrLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtY29sb3IsIDAuMikgIWRlZmF1bHQ7XG4kZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWNvbG9yLCAwLjYpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBEb3RuYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG5cbi51ay1kb3RuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJGRvdG5hdi1tYXJnaW4taG9yaXpvbnRhbCk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdikpIHtAaW5jbHVkZSBob29rLWRvdG5hdigpO31cbn1cblxuLypcbiAqIDEuIFNwYWNlIGlzIGFsbG9jYXRlZCBzb2xlbHkgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zOiAwIDAgYXV0b1xuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdiA+ICoge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwYWRkaW5nLWxlZnQ6ICRkb3RuYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXNcbiAqIDEuIEhpZGUgdGV4dCBpZiBwcmVzZW50XG4gKi9cblxuLnVrLWRvdG5hdiA+ICogPiAqIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkZG90bmF2LWl0ZW0td2lkdGg7XG4gICAgaGVpZ2h0OiAkZG90bmF2LWl0ZW0taGVpZ2h0O1xuICAgIGJvcmRlci1yYWRpdXM6ICRkb3RuYXYtaXRlbS1ib3JkZXItcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRkb3RuYXYtaXRlbS1iYWNrZ3JvdW5kO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWluZGVudDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1kb3RuYXYgPiAqID4gOmhvdmVyLFxuLnVrLWRvdG5hdiA+ICogPiA6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRkb3RuYXYtaXRlbS1ob3Zlci1iYWNrZ3JvdW5kO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stZG90bmF2LWl0ZW0taG92ZXIoKTt9XG59XG5cbi8qIE9uQ2xpY2sgKi9cbi51ay1kb3RuYXYgPiAqID4gOmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRvdG5hdi1pdGVtLW9uY2xpY2stYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZG90bmF2LWl0ZW0tb25jbGljaykpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLW9uY2xpY2soKTt9XG59XG5cbi8qIEFjdGl2ZSAqL1xuLnVrLWRvdG5hdiA+IC51ay1hY3RpdmUgPiAqIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZG90bmF2LWl0ZW0tYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSkpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpO31cbn1cblxuXG4vKiBNb2RpZmllcjogJ3VrLWRvdG5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWRvdG5hdi12ZXJ0aWNhbCB7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6ICgtJGRvdG5hdi1tYXJnaW4tdmVydGljYWwpO1xufVxuXG4vKiAyICovXG4udWstZG90bmF2LXZlcnRpY2FsID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkZG90bmF2LW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kb3RuYXYtbWlzYykpIHtAaW5jbHVkZSBob29rLWRvdG5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1kb3RuYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1kb3RuYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stZG90bmF2LWl0ZW0tb25jbGljaygpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWRvdG5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC41KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyLWJhY2tncm91bmQ6ICAgICAgICAgIHJnYmEoJGludmVyc2UtZ2xvYmFsLWNvbG9yLCAwLjkpICFkZWZhdWx0O1xuJGludmVyc2UtZG90bmF2LWl0ZW0tb25jbGljay1iYWNrZ3JvdW5kOiAgICAgICAgcmdiYSgkaW52ZXJzZS1nbG9iYWwtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUtYmFja2dyb3VuZDogICAgICAgICByZ2JhKCRpbnZlcnNlLWdsb2JhbC1jb2xvciwgMC45KSAhZGVmYXVsdDtcblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtZG90bmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRvdG5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1vbmNsaWNrKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1kb3RuYXYtaXRlbS1hY3RpdmUoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBUaHVtYm5hdlxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHRodW1ibmFpbCBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRodW1ibmF2YFxuLy9cbi8vIE1vZGlmaWVyOiAgICAgICAgYHVrLXRodW1ibmF2LXZlcnRpY2FsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiR0aHVtYm5hdi1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAkdGh1bWJuYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFRodW1ibmF2XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEFsbG93IGl0ZW1zIHRvIHdyYXAgaW50byB0aGUgbmV4dCBsaW5lXG4gKiAyLiBSZXNldCBsaXN0XG4gKiAzLiBHdXR0ZXJcbiAqL1xuXG4udWstdGh1bWJuYXYge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgLyogMSAqL1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAvKiAzICovXG4gICAgbWFyZ2luLWxlZnQ6ICgtJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdigpO31cbn1cblxuLypcbiAqIFNwYWNlIGlzIGFsbG9jYXRlZCBiYXNlZCBvbiBjb250ZW50IGRpbWVuc2lvbnMsIGJ1dCBzaHJpbmtzOiAwIDEgYXV0b1xuICogMS4gR3V0dGVyXG4gKi9cblxuLnVrLXRodW1ibmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmctbGVmdDogJHRodW1ibmF2LW1hcmdpbi1ob3Jpem9udGFsO1xufVxuXG5cbi8qIEl0ZW1zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEl0ZW1zXG4gKi9cblxuLnVrLXRodW1ibmF2ID4gKiA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGh1bWJuYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLXRodW1ibmF2LWl0ZW0oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay10aHVtYm5hdiA+ICogPiA6aG92ZXIsXG4udWstdGh1bWJuYXYgPiAqID4gOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstdGh1bWJuYXYgPiAudWstYWN0aXZlID4gKiB7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRodW1ibmF2LWl0ZW0tYWN0aXZlKSkge0BpbmNsdWRlIGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUoKTt9XG59XG5cblxuLyogTW9kaWZpZXI6ICd1ay10aHVtYm5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLXRodW1ibmF2LXZlcnRpY2FsIHtcbiAgICAvKiAxICovXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAvKiAyICovXG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogKC0kdGh1bWJuYXYtbWFyZ2luLXZlcnRpY2FsKTtcbn1cblxuLyogMiAqL1xuLnVrLXRodW1ibmF2LXZlcnRpY2FsID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkdGh1bWJuYXYtbWFyZ2luLXZlcnRpY2FsO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRodW1ibmF2LW1pc2MpKSB7QGluY2x1ZGUgaG9vay10aHVtYm5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdigpe31cbi8vIEBtaXhpbiBob29rLXRodW1ibmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdGh1bWJuYXYtaXRlbS1hY3RpdmUoKXt9XG4vLyBAbWl4aW4gaG9vay10aHVtYm5hdi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS10aHVtYm5hdi1pdGVtLWFjdGl2ZSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIEFjY29yZGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFjY29yZGlvbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1hY2NvcmRpb25gXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYWNjb3JkaW9uLXRpdGxlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYWNjb3JkaW9uLWNvbnRlbnRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYWNjb3JkaW9uLWl0ZW0tbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGFjY29yZGlvbi10aXRsZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZm9udC1zaXplICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuJGFjY29yZGlvbi10aXRsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcbiRhY2NvcmRpb24tdGl0bGUtaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBY2NvcmRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbikpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbigpO31cbn1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFjY29yZGlvbiA+IDpudGgtY2hpbGQobisyKSB7XG4gICAgbWFyZ2luLXRvcDogJGFjY29yZGlvbi1pdGVtLW1hcmdpbi10b3A7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1pdGVtKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLWl0ZW0oKTt9XG59XG5cblxuLyogVGl0bGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRhY2NvcmRpb24tdGl0bGUtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkYWNjb3JkaW9uLXRpdGxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkYWNjb3JkaW9uLXRpdGxlLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1hY2NvcmRpb24tdGl0bGUoKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1hY2NvcmRpb24tdGl0bGU6aG92ZXIsXG4udWstYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBjb2xvcjogJGFjY29yZGlvbi10aXRsZS1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stYWNjb3JkaW9uLXRpdGxlLWhvdmVyKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCk7fVxufVxuXG5cbi8qIENvbnRlbnRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6ICRhY2NvcmRpb24tY29udGVudC1tYXJnaW4tdG9wO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1hY2NvcmRpb24tY29udGVudCkpIHtAaW5jbHVkZSBob29rLWFjY29yZGlvbi1jb250ZW50KCk7fVxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstYWNjb3JkaW9uLWNvbnRlbnQ6OmJlZm9yZSxcbi51ay1hY2NvcmRpb24tY29udGVudDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG5cbi51ay1hY2NvcmRpb24tY29udGVudDo6YWZ0ZXIgeyBjbGVhcjogYm90aDsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuIC51ay1hY2NvcmRpb24tY29udGVudCA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFjY29yZGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYWNjb3JkaW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbigpe31cbi8vIEBtaXhpbiBob29rLWFjY29yZGlvbi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLXRpdGxlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stYWNjb3JkaW9uLWNvbnRlbnQoKXt9XG4vLyBAbWl4aW4gaG9vay1hY2NvcmRpb24tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWNvbG9yOiAgICAgICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGludmVyc2UtYWNjb3JkaW9uLXRpdGxlLWhvdmVyLWNvbG9yOiAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtYWNjb3JkaW9uLXRpdGxlKCl7fVxuLy8gQG1peGluIGhvb2staW52ZXJzZS1hY2NvcmRpb24tdGl0bGUtaG92ZXIoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBEcm9wXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBwb3NpdGlvbiBhbnkgZWxlbWVudCBuZXh0IHRvIGFueSBvdGhlciBlbGVtZW50LlxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWRyb3BgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstZHJvcC10b3AtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3AtcmlnaHQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyb3Atc3RhY2tgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wLWdyaWRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyBVc2VzOiAgICAgICAgICAgIEFuaW1hdGlvblxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRkcm9wLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDIwICFkZWZhdWx0O1xuJGRyb3Atd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAwcHggIWRlZmF1bHQ7XG4kZHJvcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRHJvcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gU2V0IGEgZGVmYXVsdCB3aWR0aFxuICovXG5cbi51ay1kcm9wIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRkcm9wLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRkcm9wLXdpZHRoO1xufVxuXG4vKiBTaG93ICovXG4udWstZHJvcC51ay1vcGVuIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4vKiBEaXJlY3Rpb24gLyBBbGlnbm1lbnQgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogRGlyZWN0aW9uICovXG5bY2xhc3MqPSd1ay1kcm9wLXRvcCddIHsgbWFyZ2luLXRvcDogKC0kZHJvcC1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1kcm9wLWJvdHRvbSddIHsgbWFyZ2luLXRvcDogJGRyb3AtbWFyZ2luOyB9XG5bY2xhc3MqPSd1ay1kcm9wLWxlZnQnXSB7IG1hcmdpbi1sZWZ0OiAoLSRkcm9wLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLWRyb3AtcmlnaHQnXSB7IG1hcmdpbi1sZWZ0OiAkZHJvcC1tYXJnaW47IH1cblxuXG4vKiBHcmlkIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kcm9wLXN0YWNrIC51ay1kcm9wLWdyaWQgPiAqIHsgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWRyb3AtbWlzYykpIHtAaW5jbHVkZSBob29rLWRyb3AtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZHJvcC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBEcm9wZG93blxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGRyb3Bkb3duIG1lbnVzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstZHJvcGRvd25gXG4vL1xuLy8gQWRvcHRlZDogICAgICAgICBgdWstZHJvcGRvd24tbmF2YFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLWRyb3Bkb3duLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1sZWZ0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZHJvcGRvd24tc3RhY2tgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wZG93bi1ncmlkYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZHJvcGRvd24tei1pbmRleDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgMjAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kZHJvcGRvd24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRkcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICRnbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbmF2LXN1Ymxpc3QtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogRHJvcGRvd25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gSGlkZSBieSBkZWZhdWx0XG4gKiAyLiBTZXQgcG9zaXRpb25cbiAqIDMuIFNldCBhIGRlZmF1bHQgd2lkdGhcbiAqIDQuIFN0eWxlXG4gKi9cblxuLnVrLWRyb3Bkb3duIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRkcm9wZG93bi16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3duLW1pbi13aWR0aDtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRkcm9wZG93bi1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24pKSB7QGluY2x1ZGUgaG9vay1kcm9wZG93bigpO31cbn1cblxuLyogU2hvdyAqL1xuLnVrLWRyb3Bkb3duLnVrLW9wZW4geyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIE5hdlxuICogQWRvcHRzIGB1ay1uYXZgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stZHJvcGRvd24tbmF2KSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2KCk7fVxufVxuXG4vKlxuICogSXRlbXNcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLW5hdi1pdGVtLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdi1pdGVtKCk7fVxufVxuXG4vKiBIb3ZlciArIEZvY3VzICsgQWN0aXZlICovXG4udWstZHJvcGRvd24tbmF2ID4gbGkgPiBhOmhvdmVyLFxuLnVrLWRyb3Bkb3duLW5hdiA+IGxpID4gYTpmb2N1cyxcbi51ay1kcm9wZG93bi1uYXYgPiBsaS51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCk7fVxufVxuXG4vKlxuICogSGVhZGVyXG4gKi9cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LWhlYWRlciB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1uYXYtaGVhZGVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYtaGVhZGVyKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcigpO31cbn1cblxuLypcbiAqIERpdmlkZXJcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtZGl2aWRlciB7XG4gICAgYm9yZGVyLXRvcDogJGRyb3Bkb3duLW5hdi1kaXZpZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tbmF2LWRpdmlkZXItYm9yZGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1uYXYtZGl2aWRlcikpIHtAaW5jbHVkZSBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCk7fVxufVxuXG4vKlxuICogU3VibGlzdHNcbiAqL1xuXG4udWstZHJvcGRvd24tbmF2IC51ay1uYXYtc3ViIGEgeyBjb2xvcjogJGRyb3Bkb3duLW5hdi1zdWJsaXN0LWl0ZW0tY29sb3I7IH1cblxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmhvdmVyLFxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBhOmZvY3VzLFxuLnVrLWRyb3Bkb3duLW5hdiAudWstbmF2LXN1YiBsaS51ay1hY3RpdmUgPiBhIHsgY29sb3I6ICRkcm9wZG93bi1uYXYtc3VibGlzdC1pdGVtLWhvdmVyLWNvbG9yOyB9XG5cblxuLyogRGlyZWN0aW9uIC8gQWxpZ25tZW50IG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qIERpcmVjdGlvbiAqL1xuW2NsYXNzKj0ndWstZHJvcGRvd24tdG9wJ10geyBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bi1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1kcm9wZG93bi1ib3R0b20nXSB7IG1hcmdpbi10b3A6ICRkcm9wZG93bi1tYXJnaW47IH1cbltjbGFzcyo9J3VrLWRyb3Bkb3duLWxlZnQnXSB7IG1hcmdpbi1sZWZ0OiAoLSRkcm9wZG93bi1tYXJnaW4pOyB9XG5bY2xhc3MqPSd1ay1kcm9wZG93bi1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICRkcm9wZG93bi1tYXJnaW47IH1cblxuXG4vKiBHcmlkIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1kcm9wZG93bi1zdGFjayAudWstZHJvcGRvd24tZ3JpZCA+ICogeyB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wZG93bi1taXNjKSkge0BpbmNsdWRlIGhvb2stZHJvcGRvd24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZHJvcGRvd24oKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYoKXt9XG4vLyBAbWl4aW4gaG9vay1kcm9wZG93bi1uYXYtaXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbmF2LWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLWRyb3Bkb3duLW5hdi1kaXZpZGVyKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGRvd24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgTW9kYWxcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBtb2RhbCBkaWFsb2dzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstbW9kYWxgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstbW9kYWwtcGFnZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWRpYWxvZ2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWhlYWRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWJvZHlgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1mb290ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC10aXRsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1vZGFsLWNsb3NlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW1vZGFsLWNsb3NlLWRlZmF1bHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1jbG9zZS1vdXRzaWRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbW9kYWwtY2xvc2UtZnVsbGBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1tb2RhbC1jb250YWluZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tb2RhbC1mdWxsYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLW9wZW5gXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1vZGFsLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDEwICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsMC42KSAhZGVmYXVsdDtcblxuJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLXM6ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy1ob3Jpem9udGFsLW06ICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAgICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwgIWRlZmF1bHQ7XG4kbW9kYWwtcGFkZGluZy12ZXJ0aWNhbC1zOiAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLWRpYWxvZy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRhaW5lci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgIDEyMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWJvZHktcGFkZGluZy1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJG1vZGFsLWJvZHktcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgKCRtb2RhbC1oZWFkZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgKCRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsIC8gMikgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgIDEuMyAhZGVmYXVsdDtcblxuJG1vZGFsLWNsb3NlLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtbWFyZ2luICFkZWZhdWx0O1xuJG1vZGFsLWNsb3NlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kbW9kYWwtY2xvc2Utb3V0c2lkZS10cmFuc2xhdGU6ICAgICAgICAgICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMjAlKSAhZGVmYXVsdDtcbiRtb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IE1vZGFsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEhpZGUgYnkgZGVmYXVsdFxuICogMi4gU2V0IHBvc2l0aW9uXG4gKiAzLiBBbGxvdyBzY3JvbGxpbmcgZm9yIHRoZSBtb2RhbCBkaWFsb2dcbiAqIDQuIEhvcml6b250YWwgcGFkZGluZ1xuICogNS4gTWFzayB0aGUgYmFja2dyb3VuZCBwYWdlXG4gKiA2LiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuXG4udWstbW9kYWwge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRtb2RhbC16LWluZGV4O1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAvKiA0ICovXG4gICAgcGFkZGluZzogJG1vZGFsLXBhZGRpbmctdmVydGljYWwgJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogJG1vZGFsLWJhY2tncm91bmQ7XG4gICAgLyogNiAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsKSkge0BpbmNsdWRlIGhvb2stbW9kYWwoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1tb2RhbCB7IHBhZGRpbmc6ICRtb2RhbC1wYWRkaW5nLXZlcnRpY2FsLXMgJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1zOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstbW9kYWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRtb2RhbC1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJG1vZGFsLXBhZGRpbmctaG9yaXpvbnRhbC1tO1xuICAgIH1cblxufVxuXG4vKlxuICogT3BlblxuICovXG5cbi51ay1tb2RhbC51ay1vcGVuIHsgb3BhY2l0eTogMTsgfVxuXG5cbi8qIFBhZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCBzY3JvbGxiYXJzXG4gKi9cblxuLnVrLW1vZGFsLXBhZ2UgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG5cblxuLyogRGlhbG9nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENyZWF0ZSBwb3NpdGlvbiBjb250ZXh0IGZvciBzcGlubmVyIGFuZCBjbG9zZSBidXR0b25cbiAqIDIuIERpbWVuc2lvbnNcbiAqIDMuIEZpeCBgbWF4LXdpZHRoOiAxMDAlYCBub3Qgd29ya2luZyBpbiBjb21iaW5hdGlvbiB3aXRoIGZsZXggYW5kIHJlc3BvbnNpdmUgaW1hZ2VzIGluIElFMTFcbiAqICAgIGAhaW1wb3J0YW50YCBuZWVkZWQgdG8gb3ZlcndyaXRlIGB1ay13aWR0aC1hdXRvYC4gU2VlIGAjbW9kYWwtbWVkaWEtaW1hZ2VgIGluIHRlc3RzXG4gKiA0LiBTdHlsZVxuICogNS4gU2xpZGUtaW4gdHJhbnNpdGlvblxuICovXG5cbi51ay1tb2RhbC1kaWFsb2cge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6ICRtb2RhbC1kaWFsb2ctd2lkdGg7XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC0gMC4wMXB4KScpICFpbXBvcnRhbnQ7XG4gICAgLyogNCAqL1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1kaWFsb2ctYmFja2dyb3VuZDtcbiAgICAvKiA1ICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMHB4KTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGxpbmVhcjtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCB0cmFuc2Zvcm07XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWRpYWxvZykpIHtAaW5jbHVkZSBob29rLW1vZGFsLWRpYWxvZygpO31cbn1cblxuLypcbiAqIE9wZW5cbiAqL1xuXG4udWstb3BlbiA+IC51ay1tb2RhbC1kaWFsb2cge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG5cbi8qIFNpemUgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ29udGFpbmVyIHNpemVcbiAqIFRha2UgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgQ29udGFpbmVyIGNvbXBvbmVudFxuICovXG5cbi51ay1tb2RhbC1jb250YWluZXIgLnVrLW1vZGFsLWRpYWxvZyB7IHdpZHRoOiAkbW9kYWwtY29udGFpbmVyLXdpZHRoOyB9XG5cbi8qXG4gKiBGdWxsIHNpemVcbiAqIDEuIFJlbW92ZSBwYWRkaW5nIGFuZCBiYWNrZ3JvdW5kIGZyb20gbW9kYWxcbiAqIDIuIFJlc2V0IGFsbCBkZWZhdWx0IGRlY2xhcmF0aW9ucyBmcm9tIG1vZGFsIGRpYWxvZ1xuICovXG5cbi8qIDEgKi9cbi51ay1tb2RhbC1mdWxsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG59XG5cbi8qIDIgKi9cbi51ay1tb2RhbC1mdWxsIC51ay1tb2RhbC1kaWFsb2cge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1mdWxsKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZnVsbCgpO31cbn1cblxuXG4vKiBTZWN0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1tb2RhbC1ib2R5IHtcbiAgICBwYWRkaW5nOiAkbW9kYWwtYm9keS1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1ib2R5LXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtYm9keSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWJvZHkoKTt9XG59XG5cbi51ay1tb2RhbC1oZWFkZXIge1xuICAgIHBhZGRpbmc6ICRtb2RhbC1oZWFkZXItcGFkZGluZy12ZXJ0aWNhbCAkbW9kYWwtaGVhZGVyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbW9kYWwtaGVhZGVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWhlYWRlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWhlYWRlcigpO31cbn1cblxuLnVrLW1vZGFsLWZvb3RlciB7XG4gICAgcGFkZGluZzogJG1vZGFsLWZvb3Rlci1wYWRkaW5nLXZlcnRpY2FsICRtb2RhbC1mb290ZXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIGJhY2tncm91bmQ6ICRtb2RhbC1mb290ZXItYmFja2dyb3VuZDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtZm9vdGVyKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtZm9vdGVyKCk7fVxufVxuXG4vKlxuICogTWljcm8gY2xlYXJmaXhcbiAqL1xuXG4udWstbW9kYWwtYm9keTo6YmVmb3JlLFxuLnVrLW1vZGFsLWJvZHk6OmFmdGVyLFxuLnVrLW1vZGFsLWhlYWRlcjo6YmVmb3JlLFxuLnVrLW1vZGFsLWhlYWRlcjo6YWZ0ZXIsXG4udWstbW9kYWwtZm9vdGVyOjpiZWZvcmUsXG4udWstbW9kYWwtZm9vdGVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLW1vZGFsLWJvZHk6OmFmdGVyLFxuLnVrLW1vZGFsLWhlYWRlcjo6YWZ0ZXIsXG4udWstbW9kYWwtZm9vdGVyOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstbW9kYWwtYm9keSA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWhlYWRlciA+IDpsYXN0LWNoaWxkLFxuLnVrLW1vZGFsLWZvb3RlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIFRpdGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1vZGFsLXRpdGxlIHtcbiAgICBmb250LXNpemU6ICRtb2RhbC10aXRsZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRtb2RhbC10aXRsZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtdGl0bGUpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC10aXRsZSgpO31cbn1cblxuXG4vKiBDbG9zZVxuICogQWRvcHRzIGB1ay1jbG9zZWBcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1tb2RhbC1jbG9zZS0nXSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRtb2RhbC16LWluZGV4O1xuICAgIHRvcDogJG1vZGFsLWNsb3NlLXBvc2l0aW9uO1xuICAgIHJpZ2h0OiAkbW9kYWwtY2xvc2UtcG9zaXRpb247XG4gICAgcGFkZGluZzogJG1vZGFsLWNsb3NlLXBhZGRpbmc7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlKSkge0BpbmNsdWRlIGhvb2stbW9kYWwtY2xvc2UoKTt9XG59XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gYWRqYWNlbnQgZWxlbWVudFxuICovXG5cbltjbGFzcyo9J3VrLW1vZGFsLWNsb3NlLSddOmZpcnN0LWNoaWxkICsgKiB7IG1hcmdpbi10b3A6IDA7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuW2NsYXNzKj0ndWstbW9kYWwtY2xvc2UtJ106aG92ZXIge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1tb2RhbC1jbG9zZS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWhvdmVyKCk7fVxufVxuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1tb2RhbC1jbG9zZS1kZWZhdWx0IHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1kZWZhdWx0OmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWRlZmF1bHQtaG92ZXIoKTt9XG59XG5cbi8qXG4gKiBPdXRzaWRlXG4gKiAxLiBQcmV2ZW50IHNjcm9sbGJhciBvbiBzbWFsbCBkZXZpY2VzXG4gKi9cblxuLnVrLW1vZGFsLWNsb3NlLW91dHNpZGUge1xuICAgIHRvcDogJG1vZGFsLWNsb3NlLW91dHNpZGUtcG9zaXRpb247XG4gICAgLyogMSAqL1xuICAgIHJpZ2h0OiAoLSRtb2RhbC1jbG9zZS1wYWRkaW5nKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIGNvbG9yOiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2Utb3V0c2lkZSkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1vdXRzaWRlOmhvdmVyIHtcbiAgICBjb2xvcjogJG1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXItY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW1vZGFsLWNsb3NlLW91dHNpZGUtaG92ZXIpKSB7QGluY2x1ZGUgaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC8qIDEgKi9cbiAgICAudWstbW9kYWwtY2xvc2Utb3V0c2lkZSB7XG4gICAgICAgIHJpZ2h0OiAkbW9kYWwtY2xvc2Utb3V0c2lkZS1wb3NpdGlvbjtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJG1vZGFsLWNsb3NlLW91dHNpZGUtdHJhbnNsYXRlLCAtKCRtb2RhbC1jbG9zZS1vdXRzaWRlLXRyYW5zbGF0ZSkpO1xuICAgIH1cblxufVxuXG4vKlxuICogRnVsbFxuICovXG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbCkpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwoKTt9XG59XG5cbi51ay1tb2RhbC1jbG9zZS1mdWxsOmhvdmVyIHtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtY2xvc2UtZnVsbC1ob3ZlcikpIHtAaW5jbHVkZSBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stbW9kYWwtbWlzYykpIHtAaW5jbHVkZSBob29rLW1vZGFsLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1vZGFsKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZGlhbG9nKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWhlYWRlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWJvZHkoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1mb290ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC10aXRsZSgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1kZWZhdWx0KCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZGVmYXVsdC1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLW91dHNpZGUoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1jbG9zZS1vdXRzaWRlLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stbW9kYWwtY2xvc2UtZnVsbCgpe31cbi8vIEBtaXhpbiBob29rLW1vZGFsLWNsb3NlLWZ1bGwtaG92ZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1tb2RhbC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBMaWdodGJveFxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIGxpZ2h0Ym94IGltYWdlIGdhbGxlcnlcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1saWdodGJveGBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1saWdodGJveC1wYWdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtaXRlbXNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1saWdodGJveC10b29sYmFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtdG9vbGJhci1pY29uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtYnV0dG9uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbGlnaHRib3gtY2FwdGlvbmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWxpZ2h0Ym94LWlmcmFtZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1vcGVuYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRsaWdodGJveC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAxMCAhZGVmYXVsdDtcbiRsaWdodGJveC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtaXRlbS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgIDEwMHZ3ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LWl0ZW0tbWF4LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDEwMHZoICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsMC4zKSAhZGVmYXVsdDtcbiRsaWdodGJveC10b29sYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC10b29sYmFyLWljb24tcGFkZGluZzogICAgICAgICAgICAgICAgICA1cHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgcmdiYSgyNTUsMjU1LDI1NSwwLjcpICFkZWZhdWx0O1xuXG4kbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZiAhZGVmYXVsdDtcblxuJGxpZ2h0Ym94LWJ1dHRvbi1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG4kbGlnaHRib3gtYnV0dG9uLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgJGxpZ2h0Ym94LXRvb2xiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRsaWdodGJveC1idXR0b24tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LDAuNykgIWRlZmF1bHQ7XG5cbiRsaWdodGJveC1idXR0b24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAjZmZmICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBMaWdodGJveFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICogMy4gQWxsb3cgc2Nyb2xsaW5nIGZvciB0aGUgbW9kYWwgZGlhbG9nXG4gKiA0LiBIb3Jpem9udGFsIHBhZGRpbmdcbiAqIDUuIE1hc2sgdGhlIGJhY2tncm91bmQgcGFnZVxuICogNi4gRmFkZS1pbiB0cmFuc2l0aW9uXG4gKi9cblxuLnVrLWxpZ2h0Ym94IHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiAkbGlnaHRib3gtei1pbmRleDtcbiAgICAvKiA1ICovXG4gICAgYmFja2dyb3VuZDogJGxpZ2h0Ym94LWJhY2tncm91bmQ7XG4gICAgLyogNiAqL1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBsaW5lYXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxpZ2h0Ym94KSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3goKTt9XG59XG5cbi8qXG4gKiBPcGVuXG4gKiAxLiBDZW50ZXIgY2hpbGRcbiAqIDIuIEZhZGUtaW5cbiAqL1xuXG4udWstbGlnaHRib3gudWstb3BlbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIG9wYWNpdHk6IDE7XG59XG5cblxuLyogUGFnZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IHNjcm9sbGJhcnNcbiAqL1xuXG4udWstbGlnaHRib3gtcGFnZSB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuXG4vKiBJdGVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIENlbnRlciBjaGlsZCB3aXRoaW4gdGhlIHZpZXdwb3J0XG4gKiAyLiBOb3QgdmlzaWJsZSBieSBkZWZhdWx0XG4gKiAzLiBDb2xvciBuZWVkZWQgZm9yIHNwaW5uZXIgaWNvblxuICogNC4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiA1LiBSZXNwb25zaXZlbmVzc1xuICogICAgVXNpbmcgYHZoYCBmb3IgYG1heC1oZWlnaHRgIHRvIGZpeCBpbWFnZSBwcm9wb3J0aW9ucyBhZnRlciByZXNpemUgaW4gU2FmYXJpIGFuZCBPcGVyYVxuICogICAgVXNpbmcgYHZoYCBhbmQgYHZ3YCB0byBtYWtlIHJlc3BvbnNpdmUgaW1hZ2Ugd29yayBpbiBJRTExXG4gKi9cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgLyogMiAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAvKiAzICovXG4gICAgY29sb3I6ICRsaWdodGJveC1pdGVtLWNvbG9yO1xuICAgIC8qIDQgKi9cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1pdGVtKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtaXRlbSgpO31cbn1cblxuLyogNSAqL1xuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gKiA+ICoge1xuICAgIG1heC13aWR0aDogJGxpZ2h0Ym94LWl0ZW0tbWF4LXdpZHRoO1xuICAgIG1heC1oZWlnaHQ6ICRsaWdodGJveC1pdGVtLW1heC1oZWlnaHQ7XG59XG5cbi51ay1saWdodGJveC1pdGVtcyA+ICogPiA6bm90KGlmcmFtZSkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLnVrLWxpZ2h0Ym94LWl0ZW1zID4gLnVrLWFjdGl2ZSB7IGRpc3BsYXk6IGZsZXg7IH1cblxuLyogVG9vbGJhclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC10b29sYmFyIHtcbiAgICBwYWRkaW5nOiAkbGlnaHRib3gtdG9vbGJhci1wYWRkaW5nLXZlcnRpY2FsICRsaWdodGJveC10b29sYmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICBiYWNrZ3JvdW5kOiAkbGlnaHRib3gtdG9vbGJhci1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbGlnaHRib3gtdG9vbGJhcikpIHtAaW5jbHVkZSBob29rLWxpZ2h0Ym94LXRvb2xiYXIoKTt9XG59XG5cbi51ay1saWdodGJveC10b29sYmFyID4gKiB7IGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1jb2xvcjsgfVxuXG5cbi8qIFRvb2xiYXIgSWNvbiAoQ2xvc2UpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LXRvb2xiYXItaWNvbiB7XG4gICAgcGFkZGluZzogJGxpZ2h0Ym94LXRvb2xiYXItaWNvbi1wYWRkaW5nO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1pY29uLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC10b29sYmFyLWljb24pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC10b29sYmFyLWljb24oKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay1saWdodGJveC10b29sYmFyLWljb246aG92ZXIge1xuICAgIGNvbG9yOiAkbGlnaHRib3gtdG9vbGJhci1pY29uLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC10b29sYmFyLWljb24taG92ZXIoKTt9XG59XG5cblxuXG4vKiBCdXR0b24gKFNsaWRlbmF2KVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDZW50ZXIgaWNvbiB2ZXJ0aWNhbGx5IGFuZCBob3Jpem9udGFsbHlcbiAqL1xuXG4udWstbGlnaHRib3gtYnV0dG9uIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAkbGlnaHRib3gtYnV0dG9uLXNpemU7XG4gICAgaGVpZ2h0OiAkbGlnaHRib3gtYnV0dG9uLXNpemU7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0Ym94LWJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGlnaHRib3gtYnV0dG9uLWNvbG9yO1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1idXR0b24pKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1idXR0b24oKTt9XG59XG5cbi8qXG4gKiBIb3ZlclxuICovXG5cbi51ay1saWdodGJveC1idXR0b246aG92ZXIge1xuICAgIGNvbG9yOiAkbGlnaHRib3gtYnV0dG9uLWhvdmVyLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1idXR0b24taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1saWdodGJveC1idXR0b24taG92ZXIoKTt9XG59XG5cblxuLyogQ2FwdGlvblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1saWdodGJveC1jYXB0aW9uIHt9XG5cblxuLyogSWZyYW1lXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxpZ2h0Ym94LWlmcmFtZSB7XG4gICAgd2lkdGg6IDgwJTtcbiAgICBoZWlnaHQ6IDgwJTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1saWdodGJveC1taXNjKSkge0BpbmNsdWRlIGhvb2stbGlnaHRib3gtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stbGlnaHRib3goKXt9XG4vLyBAbWl4aW4gaG9vay1saWdodGJveC1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2stbGlnaHRib3gtdG9vbGJhcigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LXRvb2xiYXItaWNvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LWJ1dHRvbi1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWxpZ2h0Ym94LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNsaWRlc2hvd1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHNsaWRlc2hvd3Ncbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zbGlkZXNob3dgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstc2xpZGVzaG93LWl0ZW1zYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2xpZGVzaG93XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cblxuLnVrLXNsaWRlc2hvdyB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlc2hvdykpIHtAaW5jbHVkZSBob29rLXNsaWRlc2hvdygpO31cbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDcmVhdGUgcG9zaXRpb24gYW5kIHN0YWNraW5nIGNvbnRleHRcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIENsaXAgY2hpbGQgZWxlbWVudHNcbiAqIDQuIFByZXZlbnQgZGlzcGxheWluZyB0aGUgY2FsbG91dCBpbmZvcm1hdGlvbiBvbiBpT1MuXG4gKi9cblxuLnVrLXNsaWRlc2hvdy1pdGVtcyB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDQgKi9cbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG59XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBQb3NpdGlvbiBpdGVtcyBhYm92ZSBlYWNoIG90aGVyXG4gKiAyLiBUYWtlIHRoZSBmdWxsIHdpZHRoXG4gKiAzLiBDbGlwIGNoaWxkIGVsZW1lbnRzLCBlLmcuIGZvciBgdWstY292ZXJgXG4gKiA0LiBPcHRpbWl6ZSBhbmltYXRpb25cbiAqIDUuIERpc2FibGUgaG9yaXpvbnRhbCBwYW5uaW5nIGdlc3R1cmVzIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuXG4udWstc2xpZGVzaG93LWl0ZW1zID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIC8qIDMgKi9cbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIC8qIDQgKi9cbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIC8qIDUgKi9cbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4vKlxuICogSGlkZSBub3QgYWN0aXZlIGl0ZW1zXG4gKi9cblxuLnVrLXNsaWRlc2hvdy1pdGVtcyA+IDpub3QoLnVrLWFjdGl2ZSkgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc2xpZGVzaG93LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zbGlkZXNob3ctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc2xpZGVzaG93KCl7fVxuLy8gQG1peGluIGhvb2stc2xpZGVzaG93LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFNsaWRlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGhvcml6b250YWwgc2xpZGVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXNsaWRlcmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zbGlkZXItY29udGFpbmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc2xpZGVyLWl0ZW1zYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU2xpZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cblxuLnVrLXNsaWRlciB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNsaWRlcikpIHtAaW5jbHVkZSBob29rLXNsaWRlcigpO31cbn1cblxuXG4vKiBDb250YWluZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2xpcCBjaGlsZCBlbGVtZW50c1xuICovXG5cbi51ay1zbGlkZXItY29udGFpbmVyIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gT3B0aW1pemUgYW5pbWF0aW9uXG4gKiAyLiBDcmVhdGUgYSBjb250YWluaW5nIGJsb2NrLiBJbiBTYWZhcmkgaXQncyBuZWl0aGVyIGNyZWF0ZWQgYnkgYHRyYW5zZm9ybWAgbm9yIGB3aWxsLWNoYW5nZWAuXG4gKi9cblxuLnVrLXNsaWRlci1pdGVtcyB7XG4gICAgLyogMSAqL1xuICAgIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLypcbiAqIDEuIFJlc2V0IGxpc3Qgc3R5bGUgd2l0aG91dCBpbnRlcmZlcmluZyB3aXRoIGdyaWRcbiAqIDIuIFByZXZlbnQgZGlzcGxheWluZyB0aGUgY2FsbG91dCBpbmZvcm1hdGlvbiBvbiBpT1MuXG4gKi9cblxuLnVrLXNsaWRlci1pdGVtczpub3QoLnVrLWdyaWQpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG59XG5cbi51ay1zbGlkZXItaXRlbXMudWstZ3JpZCB7IGZsZXgtd3JhcDogbm93cmFwOyB9XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBMZXQgaXRlbXMgdGFrZSBjb250ZW50IGRpbWVuc2lvbnMgKDAgMCBhdXRvKVxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIERpc2FibGUgaG9yaXpvbnRhbCBwYW5uaW5nIGdlc3R1cmVzIGluIElFMTEgYW5kIEVkZ2VcbiAqL1xuXG4udWstc2xpZGVyLWl0ZW1zID4gKiB7XG4gICAgLyogMSAqL1xuICAgIGZsZXg6IG5vbmU7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zbGlkZXItbWlzYykpIHtAaW5jbHVkZSBob29rLXNsaWRlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zbGlkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1zbGlkZXItbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU3RpY2t5XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBtYWtlIGVsZW1lbnRzIHN0aWNreSBpbiB0aGUgdmlld3BvcnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zdGlja3lgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstc3RpY2t5LWZpeGVkYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc3RpY2t5LXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4IC0gMjAgIWRlZmF1bHQ7XG5cbiRzdGlja3ktYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAwLjJzICFkZWZhdWx0O1xuJHN0aWNreS1yZXZlcnNlLWFuaW1hdGlvbi1kdXJhdGlvbjogICAgICAgICAgICAgIDAuMnMgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFN0aWNreVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXNvbHZlIGZyYW1lIHJhdGUgaXNzdWVzIG9uIGRldmljZXMgd2l0aCBsb3dlciBmcmFtZSByYXRlcyBieSBmb3JjaW5nIGhhcmR3YXJlIGFjY2VsZXJhdGlvblxuICovXG5cbi51ay1zdGlja3ktZml4ZWQge1xuICAgIHotaW5kZXg6ICRzdGlja3ktei1pbmRleDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIC8qIDEgKi9cbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8qXG4gKiBGYXN0ZXIgYW5pbWF0aW9uc1xuICovXG5cbi51ay1zdGlja3lbY2xhc3MqPSd1ay1hbmltYXRpb24tJ10geyBhbmltYXRpb24tZHVyYXRpb246ICRzdGlja3ktYW5pbWF0aW9uLWR1cmF0aW9uOyB9XG5cbi51ay1zdGlja3kudWstYW5pbWF0aW9uLXJldmVyc2UgeyBhbmltYXRpb24tZHVyYXRpb246ICRzdGlja3ktcmV2ZXJzZS1hbmltYXRpb24tZHVyYXRpb247IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1zdGlja3ktbWlzYykpIHtAaW5jbHVkZSBob29rLXN0aWNreS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zdGlja3ktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgT2ZmLWNhbnZhc1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIGFuIG9mZi1jYW52YXMgc2lkZWJhclxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW9mZmNhbnZhc2Bcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1vZmZjYW52YXMtYmFyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWNvbnRhaW5lcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1wYWdlYFxuLy9cbi8vIEFkb3B0ZWQ6ICAgICAgICAgYHVrLW9mZmNhbnZhcy1jbG9zZWBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1vZmZjYW52YXMtZmxpcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1iYXItYW5pbWF0aW9uYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLXJldmVhbGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW9mZmNhbnZhcy1vdmVybGF5YFxuLy8gICAgICAgICAgICAgICAgICBgdWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb25gXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstb3BlbmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kb2ZmY2FudmFzLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICFkZWZhdWx0O1xuXG4kb2ZmY2FudmFzLWJhci13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgMjcwcHggIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG4kb2ZmY2FudmFzLWJhci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zZWNvbmRhcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLWNvbG9yLW1vZGU6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1iYXItd2lkdGgtbTogICAgICAgICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbC1tOiAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcbiRvZmZjYW52YXMtYmFyLXBhZGRpbmctaG9yaXpvbnRhbC1tOiAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgIDVweCAhZGVmYXVsdDtcblxuJG9mZmNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogT2ZmLWNhbnZhc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFNldCBwb3NpdGlvblxuICovXG5cbi51ay1vZmZjYW52YXMge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtei1pbmRleDtcbn1cblxuLypcbiAqIEZsaXAgbW9kaWZpZXJcbiAqL1xuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcyB7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bztcbn1cblxuXG4vKiBCYXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBTaXplIGFuZCBzdHlsZVxuICogMy4gQWxsb3cgc2Nyb2xsaW5nXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIC8qIDEgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoKTtcbiAgICAvKiAyICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogJG9mZmNhbnZhcy1iYXItd2lkdGg7XG4gICAgcGFkZGluZzogJG9mZmNhbnZhcy1iYXItcGFkZGluZy12ZXJ0aWNhbCAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYXItYmFja2dyb3VuZDtcbiAgICAvKiAzICovXG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtYmFyKCk7fVxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1vZmZjYW52YXMtYmFyIHtcbiAgICAgICAgbGVmdDogKC0kb2ZmY2FudmFzLWJhci13aWR0aC1tKTtcbiAgICAgICAgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoLW07XG4gICAgICAgIHBhZGRpbmc6ICRvZmZjYW52YXMtYmFyLXBhZGRpbmctdmVydGljYWwtbSAkb2ZmY2FudmFzLWJhci1wYWRkaW5nLWhvcml6b250YWwtbTtcbiAgICB9XG5cbn1cblxuLy8gQ29sb3IgTW9kZVxuQGlmICggJG9mZmNhbnZhcy1iYXItY29sb3ItbW9kZSA9PSBsaWdodCApIHsgLnVrLW9mZmNhbnZhcy1iYXIgeyBAZXh0ZW5kIC51ay1saWdodCAhb3B0aW9uYWw7fSB9XG5AaWYgKCAkb2ZmY2FudmFzLWJhci1jb2xvci1tb2RlID09IGRhcmsgKSB7IC51ay1vZmZjYW52YXMtYmFyIHsgQGV4dGVuZCAudWstZGFyayAhb3B0aW9uYWw7fSB9XG5cbi8qIEZsaXAgbW9kaWZpZXIgKi9cbi51ay1vZmZjYW52YXMtZmxpcCAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogKC0kb2ZmY2FudmFzLWJhci13aWR0aCk7XG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtYmFyIHsgcmlnaHQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgtbSk7IH1cblxufVxuXG4vKlxuICogT3BlblxuICovXG5cbi51ay1vcGVuID4gLnVrLW9mZmNhbnZhcy1iYXIgeyBsZWZ0OiAwOyB9XG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLWJhciB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbn1cblxuLypcbiAqIFNsaWRlIEFuaW1hdGlvbiAoVXNlZCBpbiBzbGlkZSBhbmQgcHVzaCBtb2RlKVxuICovXG5cbi51ay1vZmZjYW52YXMtYmFyLWFuaW1hdGlvbiB7IHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLW91dDsgfVxuLnVrLW9mZmNhbnZhcy1mbGlwIC51ay1vZmZjYW52YXMtYmFyLWFuaW1hdGlvbiB7IHRyYW5zaXRpb24tcHJvcGVydHk6IHJpZ2h0OyB9XG5cbi8qXG4gKiBSZXZlYWwgQW5pbWF0aW9uXG4gKiAxLiBTZXQgcG9zaXRpb25cbiAqIDIuIENsaXAgdGhlIGJhclxuICogMy4gQW5pbWF0aW9uXG4gKiA0LiBSZXNldCBwb3NpdGlvblxuICovXG5cbi51ay1vZmZjYW52YXMtcmV2ZWFsIHtcbiAgICAvKiAxICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAzICovXG4gICAgdHJhbnNpdGlvbjogd2lkdGggMC4zcyBlYXNlLW91dDtcbn1cblxuLnVrLW9mZmNhbnZhcy1yZXZlYWwgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIC8qIDQgKi9cbiAgICBsZWZ0OiAwO1xufVxuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1yZXZlYWwgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgIC8qIDQgKi9cbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstb3BlbiA+IC51ay1vZmZjYW52YXMtcmV2ZWFsIHsgd2lkdGg6ICRvZmZjYW52YXMtYmFyLXdpZHRoOyB9XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLW9wZW4gPiAudWstb2ZmY2FudmFzLXJldmVhbCB7IHdpZHRoOiAkb2ZmY2FudmFzLWJhci13aWR0aC1tOyB9XG5cbn1cblxuLypcbiAqIEZsaXAgbW9kaWZpZXJcbiAqL1xuXG4udWstb2ZmY2FudmFzLWZsaXAgLnVrLW9mZmNhbnZhcy1yZXZlYWwge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG59XG5cblxuLyogQ2xvc2VcbiAqIEFkb3B0cyBgdWstY2xvc2VgXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW9mZmNhbnZhcy1jbG9zZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICRvZmZjYW52YXMtei1pbmRleDtcbiAgICB0b3A6ICRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb247XG4gICAgcmlnaHQ6ICRvZmZjYW52YXMtY2xvc2UtcG9zaXRpb247XG4gICAgcGFkZGluZzogJG9mZmNhbnZhcy1jbG9zZS1wYWRkaW5nO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1vZmZjYW52YXMtY2xvc2UpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtY2xvc2UoKTt9XG59XG5cblxuLyogT3ZlcmxheVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBPdmVybGF5IHRoZSB3aG9sZSBwYWdlLiBOZWVkZWQgZm9yIHRoZSBgOjpiZWZvcmVgXG4gKiAxLiBVc2luZyBgMTAwdndgIHNvIG5vIG1vZGlmaWNhdGlvbiBpcyBuZWVkZWQgd2hlbiBvZmYtY2FudmFzIGlzIGZsaXBwZWRcbiAqIDIuIEFsbG93IGZvciBjbG9zaW5nIHdpdGggc3dpcGUgZ2VzdHVyZSBvbiBkZXZpY2VzIHdpdGggcG9pbnRlciBldmVudHMuXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1vdmVybGF5IHtcbiAgICAvKiAxICovXG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIC8qIDIgKi9cbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8qXG4gKiAxLiBNYXNrIHRoZSB3aG9sZSBwYWdlXG4gKiAyLiBGYWRlLWluIHRyYW5zaXRpb25cbiAqL1xuXG4udWstb2ZmY2FudmFzLW92ZXJsYXk6OmJlZm9yZSB7XG4gICAgLyogMSAqL1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDtcbiAgICAvKiAyICovXG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMTVzIGxpbmVhcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stb2ZmY2FudmFzLW92ZXJsYXkpKSB7QGluY2x1ZGUgaG9vay1vZmZjYW52YXMtb3ZlcmxheSgpO31cbn1cblxuLnVrLW9mZmNhbnZhcy1vdmVybGF5LnVrLW9wZW46OmJlZm9yZSB7IG9wYWNpdHk6IDE7IH1cblxuXG4vKiBQcmV2ZW50IHNjcm9sbGluZ1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmV2ZW50IGhvcml6b250YWwgc2Nyb2xsYmFyIHdoZW4gdGhlIGNvbnRlbnQgaXMgc2xpZGUtb3V0XG4gKiBIYXMgdG8gYmUgb24gdGhlIGBodG1sYCBlbGVtZW50IHRvbyB0byBtYWtlIGl0IHdvcmsgb24gdGhlIGBib2R5YFxuICovXG5cbi51ay1vZmZjYW52YXMtcGFnZSxcbi51ay1vZmZjYW52YXMtY29udGFpbmVyIHsgb3ZlcmZsb3cteDogaGlkZGVuOyB9XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFByZXBhcmUgc2xpZGUtb3V0IGFuaW1hdGlvbiAoVXNlZCBpbiByZXZlYWwgYW5kIHB1c2ggbW9kZSlcbiAqIFVzaW5nIGBwb3NpdGlvbjogbGVmdGAgaW5zdGVhZCBvZiBgdHJhbnNmb3JtYCBiZWNhdXNlIHBvc2l0aW9uIGBmaXhlZGAgZWxlbWVudHMgbGlrZSBzdGlja3kgbmF2YmFyc1xuICogbG9zZSB0aGVpciBmaXhlZCBzdGF0ZSBhbmQgYmVoYXZlcyBsaWtlIGBhYnNvbHV0ZWAgd2l0aGluIGEgdHJhbnNmb3JtZWQgY29udGFpbmVyXG4gKiAxLiBQcm92aWRlIGEgZml4ZWQgd2lkdGggYW5kIHByZXZlbnQgc2hyaW5raW5nXG4gKi9cblxuLnVrLW9mZmNhbnZhcy1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC4zcyBlYXNlLW91dDtcbiAgICAvKiAxICovXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLypcbiAqIEFjdGl2YXRlIHNsaWRlLW91dCBhbmltYXRpb25cbiAqL1xuXG46bm90KC51ay1vZmZjYW52YXMtZmxpcCkudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24geyBsZWZ0OiAkb2ZmY2FudmFzLWJhci13aWR0aDsgfVxuXG4udWstb2ZmY2FudmFzLWZsaXAudWstb2ZmY2FudmFzLWNvbnRhaW5lci1hbmltYXRpb24geyBsZWZ0OiAoLSRvZmZjYW52YXMtYmFyLXdpZHRoKTsgfVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIDpub3QoLnVrLW9mZmNhbnZhcy1mbGlwKS51ay1vZmZjYW52YXMtY29udGFpbmVyLWFuaW1hdGlvbiB7IGxlZnQ6ICRvZmZjYW52YXMtYmFyLXdpZHRoLW07IH1cblxuICAgIC51ay1vZmZjYW52YXMtZmxpcC51ay1vZmZjYW52YXMtY29udGFpbmVyLWFuaW1hdGlvbiB7IGxlZnQ6ICgtJG9mZmNhbnZhcy1iYXItd2lkdGgtbSk7IH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW9mZmNhbnZhcy1taXNjKSkge0BpbmNsdWRlIGhvb2stb2ZmY2FudmFzLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1iYXIoKXt9XG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtY2xvc2UoKXt9XG4vLyBAbWl4aW4gaG9vay1vZmZjYW52YXMtb3ZlcmxheSgpe31cbi8vIEBtaXhpbiBob29rLW9mZmNhbnZhcy1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBTd2l0Y2hlclxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gbmF2aWdhdGUgdGhyb3VnaCBkaWZmZXJlbnQgY29udGVudCBwYW5lc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXN3aXRjaGVyYFxuLy9cbi8vIFN0YXRlczogICAgICAgICAgYHVrLWFjdGl2ZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU3dpdGNoZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUmVzZXQgbGlzdFxuICovXG5cbi51ay1zd2l0Y2hlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuXG4vKiBJdGVtc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIG5vdCBhY3RpdmUgaXRlbXNcbiAqL1xuXG4udWstc3dpdGNoZXIgPiA6bm90KC51ay1hY3RpdmUpIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogUmVtb3ZlIG1hcmdpbiBmcm9tIHRoZSBsYXN0LWNoaWxkXG4gKi9cblxuLnVrLXN3aXRjaGVyID4gKiA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXN3aXRjaGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zd2l0Y2hlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zd2l0Y2hlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTGVhZGVyXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgZG90IGxlYWRlcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1sZWFkZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGxlYWRlci1maWxsLWNvbnRlbnQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVucXVvdGUoJy4nKSAhZGVmYXVsdDtcbiRsZWFkZXItZmlsbC1tYXJnaW4tbGVmdDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogTGVhZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWxlYWRlciB7IG92ZXJmbG93OiBoaWRkZW47IH1cblxuLypcbiAqIDEuIFBsYWNlIGVsZW1lbnQgaW4gdGV4dCBmbG93XG4gKiAyLiBOZXZlciBicmVhayBpbnRvIGEgbmV3IGxpbmVcbiAqIDMuIEdldCBhIHN0cmluZyBiYWNrIHdpdGggYXMgbWFueSByZXBlYXRpbmcgY2hhcmFjdGVycyB0byBmaWxsIHRoZSBjb250YWluZXJcbiAqIDQuIFByZXZlbnQgd3JhcHBpbmcuIE92ZXJmbG93aW5nIGNoYXJhY3RlcnMgd2lsbCBiZSBjbGlwcGVkIGJ5IHRoZSBjb250YWluZXJcbiAqL1xuXG4udWstbGVhZGVyLWZpbGw6OmFmdGVyIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAkbGVhZGVyLWZpbGwtbWFyZ2luLWxlZnQ7XG4gICAgLyogMiAqL1xuICAgIHdpZHRoOiAwO1xuICAgIC8qIDMgKi9cbiAgICBjb250ZW50OiBhdHRyKGRhdGEtZmlsbCk7XG4gICAgLyogNCAqL1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxlYWRlcikpIHtAaW5jbHVkZSBob29rLWxlYWRlcigpO31cbn1cblxuLypcbiAqIEhpZGUgaWYgbWVkaWEgZG9lcyBub3QgbWF0Y2hcbiAqL1xuXG4udWstbGVhZGVyLWZpbGwudWstbGVhZGVyLWhpZGU6OmFmdGVyIHsgZGlzcGxheTogbm9uZTsgfVxuXG4vKlxuICogUGFzcyBmaWxsIGNoYXJhY3RlciB0byBKU1xuICovXG5cbi51ay1sZWFkZXItZmlsbC1jb250ZW50OjpiZWZvcmUgeyBjb250ZW50OiAnI3skbGVhZGVyLWZpbGwtY29udGVudH0nOyB9XG46cm9vdCB7IC0tdWstbGVhZGVyLWZpbGwtY29udGVudDogI3skbGVhZGVyLWZpbGwtY29udGVudH07IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1sZWFkZXItbWlzYykpIHtAaW5jbHVkZSBob29rLWxlYWRlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1sZWFkZXIoKXt9XG4vLyBAbWl4aW4gaG9vay1sZWFkZXItbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG5cbi8vIEBtaXhpbiBob29rLWludmVyc2UtbGVhZGVyKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBJY29ubmF2XG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgaWNvbiBuYXZpZ2F0aW9uc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWljb25uYXZgXG4vL1xuLy8gTW9kaWZpZXI6ICAgICAgICBgdWstaWNvbm5hdi12ZXJ0aWNhbGBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGljb25uYXYtbWFyZ2luLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcbiRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgJGljb25uYXYtbWFyZ2luLWhvcml6b250YWwgIWRlZmF1bHQ7XG5cbiRpY29ubmF2LWl0ZW0tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcblxuJGljb25uYXYtaXRlbS1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kaWNvbm5hdi1pdGVtLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEljb25uYXZcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWxsb3cgaXRlbXMgdG8gd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmVcbiAqIDIuIFJlc2V0IGxpc3RcbiAqIDMuIEd1dHRlclxuICovXG5cbi51ay1pY29ubmF2IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgLyogMiAqL1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIG1hcmdpbi1sZWZ0OiAoLSRpY29ubmF2LW1hcmdpbi1ob3Jpem9udGFsKTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdikpIHtAaW5jbHVkZSBob29rLWljb25uYXYoKTt9XG59XG5cbi8qXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgYmFzZWQgb24gY29udGVudCBkaW1lbnNpb25zLCBidXQgc2hyaW5rczogMCAxIGF1dG9cbiAqIDEuIEd1dHRlclxuICovXG5cbi51ay1pY29ubmF2ID4gKiB7XG4gICAgLyogMSAqL1xuICAgIHBhZGRpbmctbGVmdDogJGljb25uYXYtbWFyZ2luLWhvcml6b250YWw7XG59XG5cblxuLyogSXRlbXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSXRlbXMgbXVzdCB0YXJnZXQgYGFgIGVsZW1lbnRzIHRvIGV4Y2x1ZGUgb3RoZXIgZWxlbWVudHMgKGUuZy4gZHJvcGRvd25zKVxuICogMS4gUHJldmVudCBnYXAgaWYgY2hpbGQgZWxlbWVudCBpcyBgaW5saW5lLWJsb2NrYCwgZS5nLiBhbiBpY29uXG4gKiAyLiBTdHlsZVxuICovXG5cbi51ay1pY29ubmF2ID4gKiA+IGEge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvKiAyICovXG4gICAgY29sb3I6ICRpY29ubmF2LWl0ZW0tY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYtaXRlbSkpIHtAaW5jbHVkZSBob29rLWljb25uYXYtaXRlbSgpO31cbn1cblxuLyogSG92ZXIgKyBGb2N1cyAqL1xuLnVrLWljb25uYXYgPiAqID4gYTpob3Zlcixcbi51ay1pY29ubmF2ID4gKiA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAkaWNvbm5hdi1pdGVtLWhvdmVyLWNvbG9yO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYtaXRlbS1ob3ZlcikpIHtAaW5jbHVkZSBob29rLWljb25uYXYtaXRlbS1ob3ZlcigpO31cbn1cblxuLyogQWN0aXZlICovXG4udWstaWNvbm5hdiA+IC51ay1hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogJGljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWljb25uYXYtaXRlbS1hY3RpdmUpKSB7QGluY2x1ZGUgaG9vay1pY29ubmF2LWl0ZW0tYWN0aXZlKCk7fVxufVxuXG5cbi8qIE1vZGlmaWVyOiAndWstaWNvbm5hdi12ZXJ0aWNhbCdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQ2hhbmdlIGRpcmVjdGlvblxuICogMi4gR3V0dGVyXG4gKi9cblxuLnVrLWljb25uYXYtdmVydGljYWwge1xuICAgIC8qIDEgKi9cbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIC8qIDIgKi9cbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAoLSRpY29ubmF2LW1hcmdpbi12ZXJ0aWNhbCk7XG59XG5cbi8qIDIgKi9cbi51ay1pY29ubmF2LXZlcnRpY2FsID4gKiB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctdG9wOiAkaWNvbm5hdi1tYXJnaW4tdmVydGljYWw7XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staWNvbm5hdi1taXNjKSkge0BpbmNsdWRlIGhvb2staWNvbm5hdi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1pY29ubmF2KCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtKCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2staWNvbm5hdi1pdGVtLWFjdGl2ZSgpe31cbi8vIEBtaXhpbiBob29rLWljb25uYXYtbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtaWNvbm5hdi1pdGVtLWNvbG9yOiAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1pY29ubmF2LWl0ZW0taG92ZXItY29sb3I6ICAgICAgICAgICRpbnZlcnNlLWdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWljb25uYXYtaXRlbS1hY3RpdmUtY29sb3I6ICAgICAgICAgJGludmVyc2UtZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1pY29ubmF2LWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWljb25uYXYtaXRlbS1ob3Zlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtaWNvbm5hdi1pdGVtLWFjdGl2ZSgpe30iLCIvLyBOYW1lOiAgICAgICAgICAgIE5vdGlmaWNhdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIG5vdGlmaWNhdGlvbiBtZXNzYWdlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW5vdGlmaWNhdGlvbmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZWBcbi8vXG4vLyBBZG9wdGVkOiAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tY2xvc2VgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstbm90aWZpY2F0aW9uLXRvcC1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tdG9wLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLWJvdHRvbS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLWJvdHRvbS1jZW50ZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3NgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRub3RpZmljYXRpb24tcG9zaXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtei1pbmRleCArIDQwICFkZWZhdWx0O1xuJG5vdGlmaWNhdGlvbi13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuXG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbWFyZ2luLXRvcDogICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLWd1dHRlciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1mb250LXNpemUgIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLW1lc3NhZ2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgMS40ICFkZWZhdWx0O1xuXG4kbm90aWZpY2F0aW9uLWNsb3NlLXRvcDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgKyA1cHggIWRlZmF1bHQ7XG4kbm90aWZpY2F0aW9uLWNsb3NlLXJpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbiRub3RpZmljYXRpb24tbWVzc2FnZS1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXN1Y2Nlc3MtYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXdhcm5pbmctYmFja2dyb3VuZCAhZGVmYXVsdDtcbiRub3RpZmljYXRpb24tbWVzc2FnZS1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWRhbmdlci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBOb3RpZmljYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gU2V0IHBvc2l0aW9uXG4gKiAyLiBEaW1lbnNpb25zXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbiB7XG4gICAgLyogMSAqL1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgbGVmdDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICB6LWluZGV4OiAkbm90aWZpY2F0aW9uLXotaW5kZXg7XG4gICAgLyogMiAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6ICRub3RpZmljYXRpb24td2lkdGg7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbikpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbigpO31cbn1cblxuXG4vKiBQb3NpdGlvbiBtb2RpZmllcnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ub3RpZmljYXRpb24tdG9wLXJpZ2h0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tcmlnaHQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG59XG5cbi51ay1ub3RpZmljYXRpb24tdG9wLWNlbnRlcixcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLWNlbnRlciB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAoJG5vdGlmaWNhdGlvbi13aWR0aCAvIC0yKTtcbn1cblxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tbGVmdCxcbi51ay1ub3RpZmljYXRpb24tYm90dG9tLXJpZ2h0LFxuLnVrLW5vdGlmaWNhdGlvbi1ib3R0b20tY2VudGVyIHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAkbm90aWZpY2F0aW9uLXBvc2l0aW9uO1xufVxuXG5cbi8qIFJlc3BvbnNpdmVuZXNzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBQaG9uZXMgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC14c21hbGwtbWF4KSB7XG5cbiAgICAudWstbm90aWZpY2F0aW9uIHtcbiAgICAgICAgbGVmdDogJG5vdGlmaWNhdGlvbi1wb3NpdGlvbjtcbiAgICAgICAgcmlnaHQ6ICRub3RpZmljYXRpb24tcG9zaXRpb247XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG59XG5cblxuLyogTWVzc2FnZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRub3RpZmljYXRpb24tbWVzc2FnZS1jb2xvcjtcbiAgICBmb250LXNpemU6ICRub3RpZmljYXRpb24tbWVzc2FnZS1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRub3RpZmljYXRpb24tbWVzc2FnZS1saW5lLWhlaWdodDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UoKTt9XG59XG5cbiogKyAudWstbm90aWZpY2F0aW9uLW1lc3NhZ2UgeyBtYXJnaW4tdG9wOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtbWFyZ2luLXRvcDsgfVxuXG5cbi8qIENsb3NlXG4gKiBBZG9wdHMgYHVrLWNsb3NlYFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1ub3RpZmljYXRpb24tY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJG5vdGlmaWNhdGlvbi1jbG9zZS10b3A7XG4gICAgcmlnaHQ6ICRub3RpZmljYXRpb24tY2xvc2UtcmlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1jbG9zZSkpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1jbG9zZSgpO31cbn1cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlOmhvdmVyIC51ay1ub3RpZmljYXRpb24tY2xvc2UgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIFN0eWxlIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBQcmltYXJ5XG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeS1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSkpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXByaW1hcnkoKTt9XG59XG5cbi8qXG4gKiBTdWNjZXNzXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3Mge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2Vzcy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utc3VjY2VzcykpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MoKTt9XG59XG5cbi8qXG4gKiBXYXJuaW5nXG4gKi9cblxuLnVrLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcge1xuICAgIGNvbG9yOiAkbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZy1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2Utd2FybmluZykpIHtAaW5jbHVkZSBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXdhcm5pbmcoKTt9XG59XG5cbi8qXG4gKiBEYW5nZXJcbiAqL1xuXG4udWstbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyIHtcbiAgICBjb2xvcjogJG5vdGlmaWNhdGlvbi1tZXNzYWdlLWRhbmdlci1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCk7fVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW5vdGlmaWNhdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stbm90aWZpY2F0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbigpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLWNsb3NlKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtcHJpbWFyeSgpe31cbi8vIEBtaXhpbiBob29rLW5vdGlmaWNhdGlvbi1tZXNzYWdlLXN1Y2Nlc3MoKXt9XG4vLyBAbWl4aW4gaG9vay1ub3RpZmljYXRpb24tbWVzc2FnZS13YXJuaW5nKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1lc3NhZ2UtZGFuZ2VyKCl7fVxuLy8gQG1peGluIGhvb2stbm90aWZpY2F0aW9uLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRvb2x0aXBcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSB0b29sdGlwc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXRvb2x0aXBgXG4vL1xuLy8gTW9kaWZpZXJzICAgICAgICBgdWstdG9vbHRpcC10b3BgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLXRvcC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstdG9vbHRpcC10b3AtcmlnaHRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtYm90dG9tLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10b29sdGlwLWJvdHRvbS1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtbGVmdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRvb2x0aXAtcmlnaHRgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstYWN0aXZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0b29sdGlwLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXotaW5kZXggKyAzMCAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDBweCAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmctdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAgICAgNnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICM2NjYgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAgICAgICAgMnB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMnB4ICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVG9vbHRpcFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBIaWRlIGJ5IGRlZmF1bHRcbiAqIDIuIFBvc2l0aW9uXG4gKiAzLiBEaW1lbnNpb25zXG4gKiA0LiBTdHlsZVxuICovXG5cbi51ay10b29sdGlwIHtcbiAgICAvKiAxICovXG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6ICR0b29sdGlwLXotaW5kZXg7XG4gICAgLyogMyAqL1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gICAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZy12ZXJ0aWNhbCAkdG9vbHRpcC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgLyogNCAqL1xuICAgIGJhY2tncm91bmQ6ICR0b29sdGlwLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtYm9yZGVyLXJhZGl1cztcbiAgICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gICAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXRvb2x0aXApKSB7QGluY2x1ZGUgaG9vay10b29sdGlwKCk7fVxufVxuXG4vKiBTaG93ICovXG4udWstdG9vbHRpcC51ay1hY3RpdmUgeyBkaXNwbGF5OiBibG9jazsgfVxuXG5cbi8qIERpcmVjdGlvbiAvIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEaXJlY3Rpb24gKi9cbltjbGFzcyo9J3VrLXRvb2x0aXAtdG9wJ10geyBtYXJnaW4tdG9wOiAoLSR0b29sdGlwLW1hcmdpbik7IH1cbltjbGFzcyo9J3VrLXRvb2x0aXAtYm90dG9tJ10geyBtYXJnaW4tdG9wOiAkdG9vbHRpcC1tYXJnaW47IH1cbltjbGFzcyo9J3VrLXRvb2x0aXAtbGVmdCddIHsgbWFyZ2luLWxlZnQ6ICgtJHRvb2x0aXAtbWFyZ2luKTsgfVxuW2NsYXNzKj0ndWstdG9vbHRpcC1yaWdodCddIHsgbWFyZ2luLWxlZnQ6ICR0b29sdGlwLW1hcmdpbjsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXRvb2x0aXAtbWlzYykpIHtAaW5jbHVkZSBob29rLXRvb2x0aXAtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stdG9vbHRpcCgpe31cbi8vIEBtaXhpbiBob29rLXRvb2x0aXAtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUGxhY2Vob2xkZXJcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBwbGFjZWhvbGRlciBib3hlc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBsYWNlaG9sZGVyYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1wYWRkaW5nLWhvcml6b250YWw6ICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwbGFjZWhvbGRlci1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBsYWNlaG9sZGVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBsYWNlaG9sZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsO1xuICAgIHBhZGRpbmc6ICRwbGFjZWhvbGRlci1wYWRkaW5nLXZlcnRpY2FsICRwbGFjZWhvbGRlci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgYmFja2dyb3VuZDogJHBsYWNlaG9sZGVyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXBsYWNlaG9sZGVyKSkge0BpbmNsdWRlIGhvb2stcGxhY2Vob2xkZXIoKTt9XG59XG5cbi8qIEFkZCBtYXJnaW4gaWYgYWRqYWNlbnQgZWxlbWVudCAqL1xuKiArIC51ay1wbGFjZWhvbGRlciB7IG1hcmdpbi10b3A6ICRwbGFjZWhvbGRlci1tYXJnaW4tdmVydGljYWw7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1wbGFjZWhvbGRlciA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXBsYWNlaG9sZGVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wbGFjZWhvbGRlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1wbGFjZWhvbGRlcigpe31cbi8vIEBtaXhpbiBob29rLXBsYWNlaG9sZGVyLW1pc2MoKXt9IiwiLy8gTmFtZTogICAgICAgICAgICBQcm9ncmVzc1xuLy8gRGVzY3JpcHRpb246ICAgICBDb21wb25lbnQgdG8gY3JlYXRlIHByb2dyZXNzIGJhcnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wcm9ncmVzc2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcbiRwcm9ncmVzcy1tYXJnaW4tdmVydGljYWw6ICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiRwcm9ncmVzcy1iYXItYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogUHJvZ3Jlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqIDIuIFJlbW92ZSBkZWZhdWx0IHN0eWxlXG4gKiAzLiBCZWhhdmUgbGlrZSBhIGJsb2NrIGVsZW1lbnRcbiAqIDQuIFJlbW92ZSBib3JkZXJzIGluIEZpcmVmb3ggYW5kIEVkZ2VcbiAqIDUuIFNldCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBwcm9ncmVzcyBjb250YWluZXIgaW4gRmlyZWZveCwgSUUxMSBhbmQgRWRnZVxuICogNi4gU3R5bGVcbiAqL1xuXG4udWstcHJvZ3Jlc3Mge1xuICAgIC8qIDEgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgLyogMiAqL1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLyogMyAqL1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICBib3JkZXI6IDA7XG4gICAgLyogNSAqL1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuICAgIC8qIDYgKi9cbiAgICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLXZlcnRpY2FsO1xuICAgIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcygpO31cbn1cblxuLyogQWRkIG1hcmdpbiBpZiBhZGphY2VudCBlbGVtZW50ICovXG4qICsgLnVrLXByb2dyZXNzIHsgbWFyZ2luLXRvcDogJHByb2dyZXNzLW1hcmdpbi12ZXJ0aWNhbDsgfVxuXG4vKlxuICogUmVtb3ZlIGFuaW1hdGVkIGNpcmNsZXMgZm9yIGluZGV0ZXJtaW5hdGUgc3RhdGUgaW4gSUUxMSBhbmQgRWRnZVxuICovXG5cbi51ay1wcm9ncmVzczppbmRldGVybWluYXRlIHsgY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qXG4gKiBQcm9ncmVzcyBjb250YWluZXJcbiAqIDIuIFJlbW92ZSBwcm9ncmVzcyBiYXIgZm9yIGluZGV0ZXJtaW5hdGUgc3RhdGUgaW4gRmlyZWZveFxuICovXG5cbi51ay1wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy1iYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbiAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MoKTt9XG59XG5cbi8qIDIgKi9cbi51ay1wcm9ncmVzczppbmRldGVybWluYXRlOjotbW96LXByb2dyZXNzLWJhciB7IHdpZHRoOiAwOyB9XG5cbi8qXG4gKiBQcm9ncmVzcyBiYXJcbiAqIDEuIFJlbW92ZSByaWdodCBib3JkZXIgaW4gSUUxMSBhbmQgRWRnZVxuICovXG5cbi51ay1wcm9ncmVzczo6LXdlYmtpdC1wcm9ncmVzcy12YWx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtYmFyKSkge0BpbmNsdWRlIGhvb2stcHJvZ3Jlc3MtYmFyKCk7fVxufVxuXG4udWstcHJvZ3Jlc3M6Oi1tb3otcHJvZ3Jlc3MtYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJhY2tncm91bmQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByb2dyZXNzLWJhcikpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLWJhcigpO31cbn1cblxuLnVrLXByb2dyZXNzOjotbXMtZmlsbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhci1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNnMgZWFzZTtcbiAgICAvKiAxICovXG4gICAgYm9yZGVyOiAwO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wcm9ncmVzcy1iYXIpKSB7QGluY2x1ZGUgaG9vay1wcm9ncmVzcy1iYXIoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stcHJvZ3Jlc3MtbWlzYykpIHtAaW5jbHVkZSBob29rLXByb2dyZXNzLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXByb2dyZXNzKCl7fVxuLy8gQG1peGluIGhvb2stcHJvZ3Jlc3MtYmFyKCl7fVxuLy8gQG1peGluIGhvb2stcHJvZ3Jlc3MtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgU29ydGFibGVcbi8vIERlc2NyaXB0aW9uOiAgICAgQ29tcG9uZW50IHRvIGNyZWF0ZSBzb3J0YWJsZSBncmlkcyBhbmQgbGlzdHNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1zb3J0YWJsZWBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1zb3J0YWJsZS1kcmFnYFxuLy8gICAgICAgICAgICAgICAgICBgdWstc29ydGFibGUtcGxhY2Vob2xkZXJgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1zb3J0YWJsZS1oYW5kbGVgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstc29ydGFibGUtZW1wdHlgXG4vL1xuLy8gU3RhdGVzOiAgICAgICAgICBgdWstZHJhZ2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc29ydGFibGUtZHJhZ2dlZC16LWluZGV4OiAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC16LWluZGV4ICsgNTAgIWRlZmF1bHQ7XG5cbiRzb3J0YWJsZS1wbGFjZWhvbGRlci1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kc29ydGFibGUtZW1wdHktaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgNTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogU29ydGFibGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc29ydGFibGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stc29ydGFibGUpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZSgpO31cbn1cblxuLypcbiAqIERlYWN0aXZhdGUgcG9pbnRlci1ldmVudHMgb24gU1ZHcyBpbiBTYWZhcmlcbiAqL1xuXG4udWstc29ydGFibGUgc3ZnIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLypcbiAqIFJlbW92ZSBtYXJnaW4gZnJvbSB0aGUgbGFzdC1jaGlsZFxuICovXG5cbi51ay1zb3J0YWJsZSA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5cbi8qIERyYWdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc29ydGFibGUtZHJhZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgei1pbmRleDogJHNvcnRhYmxlLWRyYWdnZWQtei1pbmRleCAhaW1wb3J0YW50O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1zb3J0YWJsZS1kcmFnKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUtZHJhZygpO31cbn1cblxuXG4vKiBQbGFjZWhvbGRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1zb3J0YWJsZS1wbGFjZWhvbGRlciB7XG4gICAgb3BhY2l0eTogJHNvcnRhYmxlLXBsYWNlaG9sZGVyLW9wYWNpdHk7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLXBsYWNlaG9sZGVyKSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUtcGxhY2Vob2xkZXIoKTt9XG59XG5cblxuLyogRW1wdHkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstc29ydGFibGUtZW1wdHkge1xuICAgIG1pbi1oZWlnaHQ6ICRzb3J0YWJsZS1lbXB0eS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLWVtcHR5KSkge0BpbmNsdWRlIGhvb2stc29ydGFibGUtZW1wdHkoKTt9XG59XG5cblxuLyogSGFuZGxlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyogSG92ZXIgKi9cbi51ay1zb3J0YWJsZS1oYW5kbGU6aG92ZXIgeyBjdXJzb3I6IG1vdmU7IH1cblxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXNvcnRhYmxlLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zb3J0YWJsZS1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZSgpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLWRyYWcoKXt9XG4vLyBAbWl4aW4gaG9vay1zb3J0YWJsZS1wbGFjZWhvbGRlcigpe31cbi8vIEBtaXhpbiBob29rLXNvcnRhYmxlLWVtcHR5KCl7fVxuLy8gQG1peGluIGhvb2stc29ydGFibGUtbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgQ291bnRkb3duXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBjcmVhdGUgY291bnRkb3duIHRpbWVyc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvdW50ZG93bmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jb3VudGRvd24tbnVtYmVyYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY291bnRkb3duLXNlcGFyYXRvcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWNvdW50ZG93bi1sYWJlbGBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY291bnRkb3duLWl0ZW0tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgNzBweCAhZGVmYXVsdDtcblxuJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7IC8vIDMycHhcbiRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1zOiAgICAgICAgICAgICAgICAgICA0cmVtICFkZWZhdWx0OyAvLyA2NHB4XG4kY291bnRkb3duLW51bWJlci1mb250LXNpemUtbTogICAgICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDsgLy8gOTZweFxuXG4kY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gMTZweFxuJGNvdW50ZG93bi1zZXBhcmF0b3ItZm9udC1zaXplLXM6ICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7IC8vIDMycHhcbiRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1tOiAgICAgICAgICAgICAgICAzcmVtICFkZWZhdWx0OyAvLyA0OHB4XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IENvdW50ZG93blxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb3VudGRvd24ge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24pKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24oKTt9XG59XG5cblxuLyogSXRlbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDZW50ZXIgbnVtYmVycyBhbmQgc2VwYXJhdG9ycyB2ZXJ0aWNhbGx5XG4gKi9cblxuLnVrLWNvdW50ZG93bi1udW1iZXIsXG4udWstY291bnRkb3duLXNlcGFyYXRvciB7XG4gICAgLyogMSAqL1xuICAgIGxpbmUtaGVpZ2h0OiAkY291bnRkb3duLWl0ZW0tbGluZS1oZWlnaHQ7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWNvdW50ZG93bi1pdGVtKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLWl0ZW0oKTt9XG59XG5cblxuLyogTnVtYmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWNvdW50ZG93bi1udW1iZXIge1xuICAgIGZvbnQtc2l6ZTogJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tbnVtYmVyKSkge0BpbmNsdWRlIGhvb2stY291bnRkb3duLW51bWJlcigpO31cbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1udW1iZXIgeyBmb250LXNpemU6ICRjb3VudGRvd24tbnVtYmVyLWZvbnQtc2l6ZS1zOyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstY291bnRkb3duLW51bWJlciB7IGZvbnQtc2l6ZTogJGNvdW50ZG93bi1udW1iZXItZm9udC1zaXplLW07IH1cblxufVxuXG5cbi8qIFNlcGFyYXRvclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb3VudGRvd24tc2VwYXJhdG9yIHtcbiAgICBmb250LXNpemU6ICRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLXNlcGFyYXRvcikpIHtAaW5jbHVkZSBob29rLWNvdW50ZG93bi1zZXBhcmF0b3IoKTt9XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb3VudGRvd24tc2VwYXJhdG9yIHsgZm9udC1zaXplOiAkY291bnRkb3duLXNlcGFyYXRvci1mb250LXNpemUtczsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvdW50ZG93bi1zZXBhcmF0b3IgeyBmb250LXNpemU6ICRjb3VudGRvd24tc2VwYXJhdG9yLWZvbnQtc2l6ZS1tOyB9XG5cbn1cblxuXG4vKiBMYWJlbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb3VudGRvd24tbGFiZWwge1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1jb3VudGRvd24tbGFiZWwpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbGFiZWwoKTt9XG59XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stY291bnRkb3duLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb3VudGRvd24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stY291bnRkb3duKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLWl0ZW0oKXt9XG4vLyBAbWl4aW4gaG9vay1jb3VudGRvd24tbnVtYmVyKCl7fVxuLy8gQG1peGluIGhvb2stY291bnRkb3duLXNlcGFyYXRvcigpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1sYWJlbCgpe31cbi8vIEBtaXhpbiBob29rLWNvdW50ZG93bi1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cblxuLy8gQG1peGluIGhvb2staW52ZXJzZS1jb3VudGRvd24taXRlbSgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLW51bWJlcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLXNlcGFyYXRvcigpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtY291bnRkb3duLWxhYmVsKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBbmltYXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBrZXlmcmFtZSBhbmltYXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYW5pbWF0aW9uLSpgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstYW5pbWF0aW9uLXJldmVyc2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tZmFzdGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFuaW1hdGlvbi1mYWRlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNjYWxlLXVwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNjYWxlLWRvd25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtdG9wLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2xpZGUtbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24ta2VuYnVybnNgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbmltYXRpb24tc2hha2VgXG4vL1xuLy8gU3ViLW9iamVjdHM6ICAgICBgdWstYW5pbWF0aW9uLXRvZ2dsZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kYW5pbWF0aW9uLWR1cmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMC41cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFkZS1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAwLjhzICFkZWZhdWx0O1xuJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgIDE1cyAhZGVmYXVsdDtcbiRhbmltYXRpb24tZmFzdC1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAwLjFzICFkZWZhdWx0O1xuXG4kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogICAgICAgICAgICAgICA1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbmltYXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1hbmltYXRpb24tJ10ge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1kdXJhdGlvbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xufVxuXG5cbi8qIERpcmVjdGlvbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1hbmltYXRpb24tcmV2ZXJzZSB7XG4gICAgYW5pbWF0aW9uLWRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluO1xufVxuXG5cbi8qIFRvZ2dsZSAoSG92ZXIgKyBGb2N1cylcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBUaGUgdG9nZ2xlIGlzIHRyaWdnZXJlZCBvbiB0b3VjaCBkZXZpY2VzIHVzaW5nIGA6Zm9jdXNgIGFuZCB0YWJpbmRleFxuICovXG5cbi51ay1hbmltYXRpb24tdG9nZ2xlOm5vdCg6aG92ZXIpOm5vdCg6Zm9jdXMpIFtjbGFzcyo9J3VrLWFuaW1hdGlvbi0nXSB7IGFuaW1hdGlvbi1uYW1lOiBub25lOyB9XG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay1hbmltYXRpb24tdG9nZ2xlIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIFJlbW92ZSBvdXRsaW5lIGZvciBgdGFiaW5kZXhgXG4gKi9cblxuLnVrLWFuaW1hdGlvbi10b2dnbGU6Zm9jdXMgeyBvdXRsaW5lOiBub25lOyB9XG5cblxuLyogQW5pbWF0aW9uc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBGYWRlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1mYWRlIHtcbiAgICBhbmltYXRpb24tbmFtZTogdWstZmFkZTtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltYXRpb24tZmFkZS1kdXJhdGlvbjtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG59XG5cbi8qXG4gKiBTY2FsZVxuICovXG5cbi51ay1hbmltYXRpb24tc2NhbGUtdXAgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1zY2FsZS0wMjsgfVxuLnVrLWFuaW1hdGlvbi1zY2FsZS1kb3duIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtc2NhbGUtMTg7IH1cblxuLypcbiAqIFNsaWRlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3AgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3A7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0OyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0IHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQ7IH1cblxuLypcbiAqIFNsaWRlIFNtYWxsXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zbGlkZS10b3Atc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS10b3Atc21hbGw7IH1cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtYm90dG9tLXNtYWxsOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLWxlZnQtc21hbGwgeyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LXNtYWxsOyB9XG4udWstYW5pbWF0aW9uLXNsaWRlLXJpZ2h0LXNtYWxsIHsgYW5pbWF0aW9uLW5hbWU6IHVrLWZhZGUtcmlnaHQtc21hbGw7IH1cblxuLypcbiAqIFNsaWRlIE1lZGl1bVxuICovXG5cbi51ay1hbmltYXRpb24tc2xpZGUtdG9wLW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLXRvcC1tZWRpdW07IH1cbi51ay1hbmltYXRpb24tc2xpZGUtYm90dG9tLW1lZGl1bSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1mYWRlLWJvdHRvbS1tZWRpdW07IH1cbi51ay1hbmltYXRpb24tc2xpZGUtbGVmdC1tZWRpdW0geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1sZWZ0LW1lZGl1bTsgfVxuLnVrLWFuaW1hdGlvbi1zbGlkZS1yaWdodC1tZWRpdW0geyBhbmltYXRpb24tbmFtZTogdWstZmFkZS1yaWdodC1tZWRpdW07IH1cblxuLypcbiAqIEtlbmJ1cm5zXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1rZW5idXJucyB7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHVrLXNjYWxlLWtlbmJ1cm5zO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW1hdGlvbi1rZW5idXJucy1kdXJhdGlvbjtcbn1cblxuLypcbiAqIFNoYWtlXG4gKi9cblxuLnVrLWFuaW1hdGlvbi1zaGFrZSB7IGFuaW1hdGlvbi1uYW1lOiB1ay1zaGFrZTsgfVxuXG5cbi8qIER1cmF0aW9uIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWFuaW1hdGlvbi1mYXN0IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbWF0aW9uLWZhc3QtZHVyYXRpb247IH1cblxuXG4vKiBLZXlmcmFtZXMgdXNlZCBieSBhbmltYXRpb24gY2xhc3Nlc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBGYWRlXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlIHtcbiAgICAwJSB7IG9wYWNpdHk6IDA7IH1cbiAgICAxMDAlIHsgb3BhY2l0eTogMTsgfVxufVxuXG4vKlxuICogU2xpZGUgVG9wXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIEJvdHRvbVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIExlZnRcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtbGVmdCB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIFJpZ2h0XG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0IHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBUb3AgU21hbGxcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtdG9wLXNtYWxsIHtcbiAgICAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJGFuaW1hdGlvbi1zbGlkZS1zbWFsbC10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIEJvdHRvbSBTbWFsbFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1ib3R0b20tc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBMZWZ0IFNtYWxsXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLWxlZnQtc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kYW5pbWF0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgUmlnaHQgU21hbGxcbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtcmlnaHQtc21hbGwge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRhbmltYXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBUb3AgTWVkaXVtXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXRvcC1tZWRpdW0ge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0kYW5pbWF0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIH1cbn1cblxuLypcbiAqIFNsaWRlIEJvdHRvbSBNZWRpdW1cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtYm90dG9tLW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTbGlkZSBMZWZ0IE1lZGl1bVxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1sZWZ0LW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRhbmltYXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxufVxuXG4vKlxuICogU2xpZGUgUmlnaHQgTWVkaXVtXG4gKi9cblxuQGtleWZyYW1lcyB1ay1mYWRlLXJpZ2h0LW1lZGl1bSB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJGFuaW1hdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG59XG5cbi8qXG4gKiBTY2FsZSBVcFxuICovXG5cbkBrZXlmcmFtZXMgdWstZmFkZS1zY2FsZS0wMiB7XG4gICAgMCUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLypcbiAqIFNjYWxlIERvd25cbiAqL1xuXG5Aa2V5ZnJhbWVzIHVrLWZhZGUtc2NhbGUtMTgge1xuICAgIDAlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi8qXG4gKiBLZW5idXJuc1xuICovXG5cbkBrZXlmcmFtZXMgdWstc2NhbGUta2VuYnVybnMge1xuICAgIDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfVxuICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IH1cbn1cblxuLypcbiAqIFNoYWtlXG4gKi9cblxuQGtleWZyYW1lcyB1ay1zaGFrZSB7XG4gICAgMCUsIDEwMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgICAxMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTlweCk7IH1cbiAgICAyMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoOHB4KTsgfVxuICAgIDMwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtN3B4KTsgfVxuICAgIDQwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCg2cHgpOyB9XG4gICAgNTAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01cHgpOyB9XG4gICAgNjAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCk7IH1cbiAgICA3MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTNweCk7IH1cbiAgICA4MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMnB4KTsgfVxuICAgIDkwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMXB4KTsgfVxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFuaW1hdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stYW5pbWF0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLWFuaW1hdGlvbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBXaWR0aFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHdpZHRoc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNoaWxkLXdpZHRoLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay13aWR0aC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR3aWR0aC1zbWFsbC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNTBweCAhZGVmYXVsdDtcbiR3aWR0aC1tZWRpdW0td2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcbiR3aWR0aC1sYXJnZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NTBweCAhZGVmYXVsdDtcbiR3aWR0aC14bGFyZ2Utd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2MDBweCAhZGVmYXVsdDtcbiR3aWR0aC14eGxhcmdlLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3NTBweCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogV2lkdGhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIEVxdWFsIGNoaWxkIHdpZHRoc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbltjbGFzcyo9J3VrLWNoaWxkLXdpZHRoJ10gPiAqIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4udWstY2hpbGQtd2lkdGgtMS0yID4gKiB7IHdpZHRoOiA1MCU7IH1cbi51ay1jaGlsZC13aWR0aC0xLTMgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuLnVrLWNoaWxkLXdpZHRoLTEtNCA+ICogeyB3aWR0aDogMjUlOyB9XG4udWstY2hpbGQtd2lkdGgtMS01ID4gKiB7IHdpZHRoOiAyMCU7IH1cbi51ay1jaGlsZC13aWR0aC0xLTYgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4udWstY2hpbGQtd2lkdGgtYXV0byA+ICogeyB3aWR0aDogYXV0bzsgfVxuXG4vKlxuICogMS4gUmVzZXQgdGhlIGBtaW4td2lkdGhgLCB3aGljaCBpcyBzZXQgdG8gYXV0byBieSBkZWZhdWx0LCBiZWNhdXNlXG4gKiAgICBmbGV4IGl0ZW1zIHdvbid0IHNocmluayBiZWxvdyB0aGVpciBtaW5pbXVtIGludHJpbnNpYyBjb250ZW50IHNpemUuXG4gKiAgICBVc2luZyBgMXB4YCBpbnN0ZWFkIG9mIGAwYCwgc28gaXRlbXMgc3RpbGwgd3JhcCBpbnRvIHRoZSBuZXh0IGxpbmUsXG4gKiAgICBpZiB0aGV5IGhhdmUgemVybyB3aWR0aCBhbmQgcGFkZGluZyBhbmQgdGhlIHByZWRlY2Vzc29yIGlzIDEwMCUgd2lkZS5cbiAqL1xuXG4udWstY2hpbGQtd2lkdGgtZXhwYW5kID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgZmxleDogMTtcbiAgICAvKiAxICovXG4gICAgbWluLXdpZHRoOiAxcHg7XG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEBzID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQHMgPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEBzID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAcyA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQHMgPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEBzID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAcyA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBzID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1jaGlsZC13aWR0aC0xLTFcXEBtID4gKiB7IHdpZHRoOiAxMDAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMlxcQG0gPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEBtID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS00XFxAbSA+ICogeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNVxcQG0gPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEBtID4gKiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cblxuICAgIC51ay1jaGlsZC13aWR0aC1hdXRvXFxAbSA+ICogeyB3aWR0aDogYXV0bzsgfVxuICAgIC51ay1jaGlsZC13aWR0aC1leHBhbmRcXEBtID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtMVxcQGwgPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAbCA+ICogeyB3aWR0aDogNTAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtM1xcQGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTRcXEBsID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAbCA+ICogeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNlxcQGwgPiAqIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuXG4gICAgLnVrLWNoaWxkLXdpZHRoLWF1dG9cXEBsID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQGwgPiA6bm90KFtjbGFzcyo9J3VrLXdpZHRoJ10pIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstY2hpbGQtd2lkdGgtMS0xXFxAeGwgPiAqIHsgd2lkdGg6IDEwMCU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS0yXFxAeGwgPiAqIHsgd2lkdGg6IDUwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTNcXEB4bCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLTEtNFxcQHhsID4gKiB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstY2hpbGQtd2lkdGgtMS01XFxAeGwgPiAqIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay1jaGlsZC13aWR0aC0xLTZcXEB4bCA+ICogeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG5cbiAgICAudWstY2hpbGQtd2lkdGgtYXV0b1xcQHhsID4gKiB7IHdpZHRoOiBhdXRvOyB9XG4gICAgLnVrLWNoaWxkLXdpZHRoLWV4cGFuZFxcQHhsID4gOm5vdChbY2xhc3MqPSd1ay13aWR0aCddKSB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG5cbi8qIFNpbmdsZSBXaWR0aHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gYG1heC13aWR0aGAgaXMgbmVlZGVkIGZvciB0aGUgcGl4ZWwtYmFzZWQgY2xhc3Nlc1xuICovXG5cbltjbGFzcyo9J3VrLXdpZHRoJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLyogMSAqL1xuICAgIG1heC13aWR0aDogMTAwJTtcbn1cblxuLyogSGFsdmVzICovXG4udWstd2lkdGgtMS0yIHsgd2lkdGg6IDUwJTsgfVxuXG4vKiBUaGlyZHMgKi9cbi51ay13aWR0aC0xLTMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4udWstd2lkdGgtMi0zIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4vKiBRdWFydGVycyAqL1xuLnVrLXdpZHRoLTEtNCB7IHdpZHRoOiAyNSU7IH1cbi51ay13aWR0aC0zLTQgeyB3aWR0aDogNzUlOyB9XG5cbi8qIEZpZnRocyAqL1xuLnVrLXdpZHRoLTEtNSB7IHdpZHRoOiAyMCU7IH1cbi51ay13aWR0aC0yLTUgeyB3aWR0aDogNDAlOyB9XG4udWstd2lkdGgtMy01IHsgd2lkdGg6IDYwJTsgfVxuLnVrLXdpZHRoLTQtNSB7IHdpZHRoOiA4MCU7IH1cblxuLyogU2l4dGhzICovXG4udWstd2lkdGgtMS02IHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuLnVrLXdpZHRoLTUtNiB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuLyogUGl4ZWwgKi9cbi51ay13aWR0aC1zbWFsbCB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbi51ay13aWR0aC1tZWRpdW0geyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuLnVrLXdpZHRoLWxhcmdlIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuLnVrLXdpZHRoLXhsYXJnZSB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4udWstd2lkdGgteHhsYXJnZSB7IHdpZHRoOiAkd2lkdGgteHhsYXJnZS13aWR0aDsgfVxuXG4vKiBBdXRvICovXG4udWstd2lkdGgtYXV0byB7IHdpZHRoOiBhdXRvOyB9XG5cbi8qIEV4cGFuZCAqL1xuLnVrLXdpZHRoLWV4cGFuZCB7XG4gICAgZmxleDogMTtcbiAgICBtaW4td2lkdGg6IDFweDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLyogV2hvbGUgKi9cbiAgICAudWstd2lkdGgtMS0xXFxAcyB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAvKiBIYWx2ZXMgKi9cbiAgICAudWstd2lkdGgtMS0yXFxAcyB7IHdpZHRoOiA1MCU7IH1cblxuICAgIC8qIFRoaXJkcyAqL1xuICAgIC51ay13aWR0aC0xLTNcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyAzLjAwMSknKTsgfVxuICAgIC51ay13aWR0aC0yLTNcXEBzIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4gICAgLyogUXVhcnRlcnMgKi9cbiAgICAudWstd2lkdGgtMS00XFxAcyB7IHdpZHRoOiAyNSU7IH1cbiAgICAudWstd2lkdGgtMy00XFxAcyB7IHdpZHRoOiA3NSU7IH1cblxuICAgIC8qIEZpZnRocyAqL1xuICAgIC51ay13aWR0aC0xLTVcXEBzIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay13aWR0aC0yLTVcXEBzIHsgd2lkdGg6IDQwJTsgfVxuICAgIC51ay13aWR0aC0zLTVcXEBzIHsgd2lkdGg6IDYwJTsgfVxuICAgIC51ay13aWR0aC00LTVcXEBzIHsgd2lkdGg6IDgwJTsgfVxuXG4gICAgLyogU2l4dGhzICovXG4gICAgLnVrLXdpZHRoLTEtNlxcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDYuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTUtNlxcQHMgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogNSAvIDYuMDAxKScpOyB9XG5cbiAgICAvKiBQaXhlbCAqL1xuICAgIC51ay13aWR0aC1zbWFsbFxcQHMgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQHMgeyB3aWR0aDogJHdpZHRoLW1lZGl1bS13aWR0aDsgfVxuICAgIC51ay13aWR0aC1sYXJnZVxcQHMgeyB3aWR0aDogJHdpZHRoLWxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXhsYXJnZVxcQHMgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14eGxhcmdlXFxAcyB7IHdpZHRoOiAkd2lkdGgteHhsYXJnZS13aWR0aDsgfVxuXG4gICAgLyogQXV0byAqL1xuICAgIC51ay13aWR0aC1hdXRvXFxAcyB7IHdpZHRoOiBhdXRvOyB9XG5cbiAgICAvKiBFeHBhbmQgKi9cbiAgICAudWstd2lkdGgtZXhwYW5kXFxAcyB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC8qIFdob2xlICovXG4gICAgLnVrLXdpZHRoLTEtMVxcQG0geyB3aWR0aDogMTAwJTsgfVxuXG4gICAgLyogSGFsdmVzICovXG4gICAgLnVrLXdpZHRoLTEtMlxcQG0geyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gMy4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtMi0zXFxAbSB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAyIC8gMy4wMDEpJyk7IH1cblxuICAgIC8qIFF1YXJ0ZXJzICovXG4gICAgLnVrLXdpZHRoLTEtNFxcQG0geyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQG0geyB3aWR0aDogNzUlOyB9XG5cbiAgICAvKiBGaWZ0aHMgKi9cbiAgICAudWstd2lkdGgtMS01XFxAbSB7IHdpZHRoOiAyMCU7IH1cbiAgICAudWstd2lkdGgtMi01XFxAbSB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAbSB7IHdpZHRoOiA2MCU7IH1cbiAgICAudWstd2lkdGgtNC01XFxAbSB7IHdpZHRoOiA4MCU7IH1cblxuICAgIC8qIFNpeHRocyAqL1xuICAgIC51ay13aWR0aC0xLTZcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEBtIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDUgLyA2LjAwMSknKTsgfVxuXG4gICAgLyogUGl4ZWwgKi9cbiAgICAudWstd2lkdGgtc21hbGxcXEBtIHsgd2lkdGg6ICR3aWR0aC1zbWFsbC13aWR0aDsgfVxuICAgIC51ay13aWR0aC1tZWRpdW1cXEBtIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEBtIHsgd2lkdGg6ICR3aWR0aC1sYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14bGFyZ2VcXEBtIHsgd2lkdGg6ICR3aWR0aC14bGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteHhsYXJnZVxcQG0geyB3aWR0aDogJHdpZHRoLXh4bGFyZ2Utd2lkdGg7IH1cblxuICAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEBtIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEBtIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEBsIHsgd2lkdGg6IDEwMCU7IH1cblxuICAgIC8qIEhhbHZlcyAqL1xuICAgIC51ay13aWR0aC0xLTJcXEBsIHsgd2lkdGg6IDUwJTsgfVxuXG4gICAgLyogVGhpcmRzICovXG4gICAgLnVrLXdpZHRoLTEtM1xcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMiAvIDMuMDAxKScpOyB9XG5cbiAgICAvKiBRdWFydGVycyAqL1xuICAgIC51ay13aWR0aC0xLTRcXEBsIHsgd2lkdGg6IDI1JTsgfVxuICAgIC51ay13aWR0aC0zLTRcXEBsIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQGwgeyB3aWR0aDogMjAlOyB9XG4gICAgLnVrLXdpZHRoLTItNVxcQGwgeyB3aWR0aDogNDAlOyB9XG4gICAgLnVrLXdpZHRoLTMtNVxcQGwgeyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQGwgeyB3aWR0aDogODAlOyB9XG5cbiAgICAvKiBTaXh0aHMgKi9cbiAgICAudWstd2lkdGgtMS02XFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiAxIC8gNi4wMDEpJyk7IH1cbiAgICAudWstd2lkdGgtNS02XFxAbCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAbCB7IHdpZHRoOiAkd2lkdGgtc21hbGwtd2lkdGg7IH1cbiAgICAudWstd2lkdGgtbWVkaXVtXFxAbCB7IHdpZHRoOiAkd2lkdGgtbWVkaXVtLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLWxhcmdlXFxAbCB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAbCB7IHdpZHRoOiAkd2lkdGgteGxhcmdlLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLXh4bGFyZ2VcXEBsIHsgd2lkdGg6ICR3aWR0aC14eGxhcmdlLXdpZHRoOyB9XG5cbiAgICAvKiBBdXRvICovXG4gICAgLnVrLXdpZHRoLWF1dG9cXEBsIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEBsIHtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLXdpZHRoOiAxcHg7XG4gICAgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAvKiBXaG9sZSAqL1xuICAgIC51ay13aWR0aC0xLTFcXEB4bCB7IHdpZHRoOiAxMDAlOyB9XG5cbiAgICAvKiBIYWx2ZXMgKi9cbiAgICAudWstd2lkdGgtMS0yXFxAeGwgeyB3aWR0aDogNTAlOyB9XG5cbiAgICAvKiBUaGlyZHMgKi9cbiAgICAudWstd2lkdGgtMS0zXFxAeGwgeyB3aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlICogMSAvIDMuMDAxKScpOyB9XG4gICAgLnVrLXdpZHRoLTItM1xcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDIgLyAzLjAwMSknKTsgfVxuXG4gICAgLyogUXVhcnRlcnMgKi9cbiAgICAudWstd2lkdGgtMS00XFxAeGwgeyB3aWR0aDogMjUlOyB9XG4gICAgLnVrLXdpZHRoLTMtNFxcQHhsIHsgd2lkdGg6IDc1JTsgfVxuXG4gICAgLyogRmlmdGhzICovXG4gICAgLnVrLXdpZHRoLTEtNVxcQHhsIHsgd2lkdGg6IDIwJTsgfVxuICAgIC51ay13aWR0aC0yLTVcXEB4bCB7IHdpZHRoOiA0MCU7IH1cbiAgICAudWstd2lkdGgtMy01XFxAeGwgeyB3aWR0aDogNjAlOyB9XG4gICAgLnVrLXdpZHRoLTQtNVxcQHhsIHsgd2lkdGg6IDgwJTsgfVxuXG4gICAgLyogU2l4dGhzICovXG4gICAgLnVrLXdpZHRoLTEtNlxcQHhsIHsgd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAqIDEgLyA2LjAwMSknKTsgfVxuICAgIC51ay13aWR0aC01LTZcXEB4bCB7IHdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgKiA1IC8gNi4wMDEpJyk7IH1cblxuICAgIC8qIFBpeGVsICovXG4gICAgLnVrLXdpZHRoLXNtYWxsXFxAeGwgeyB3aWR0aDogJHdpZHRoLXNtYWxsLXdpZHRoOyB9XG4gICAgLnVrLXdpZHRoLW1lZGl1bVxcQHhsIHsgd2lkdGg6ICR3aWR0aC1tZWRpdW0td2lkdGg7IH1cbiAgICAudWstd2lkdGgtbGFyZ2VcXEB4bCB7IHdpZHRoOiAkd2lkdGgtbGFyZ2Utd2lkdGg7IH1cbiAgICAudWstd2lkdGgteGxhcmdlXFxAeGwgeyB3aWR0aDogJHdpZHRoLXhsYXJnZS13aWR0aDsgfVxuICAgIC51ay13aWR0aC14eGxhcmdlXFxAeGwgeyB3aWR0aDogJHdpZHRoLXh4bGFyZ2Utd2lkdGg7IH1cblxuICAgIC8qIEF1dG8gKi9cbiAgICAudWstd2lkdGgtYXV0b1xcQHhsIHsgd2lkdGg6IGF1dG87IH1cblxuICAgIC8qIEV4cGFuZCAqL1xuICAgIC51ay13aWR0aC1leHBhbmRcXEB4bCB7XG4gICAgICAgIGZsZXg6IDE7XG4gICAgICAgIG1pbi13aWR0aDogMXB4O1xuICAgIH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXdpZHRoLW1pc2MpKSB7QGluY2x1ZGUgaG9vay13aWR0aC1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay13aWR0aC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBIZWlnaHRcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBoZWlnaHRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaGVpZ2h0LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGhlaWdodC1zbWFsbC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE1MHB4ICFkZWZhdWx0O1xuJGhlaWdodC1tZWRpdW0taGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuJGhlaWdodC1sYXJnZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ1MHB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBIZWlnaHRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1oZWlnaHQnXSB7IGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuLypcbiAqIE9ubHkgd29ya3MgaWYgcGFyZW50IGVsZW1lbnQgaGFzIGEgaGVpZ2h0IHNldFxuICovXG5cbi51ay1oZWlnaHQtMS0xIHsgaGVpZ2h0OiAxMDAlOyB9XG5cbi8qXG4gKiBVc2VmdWwgdG8gY3JlYXRlIGltYWdlIHRlYXNlcnNcbiAqL1xuXG4udWstaGVpZ2h0LXZpZXdwb3J0IHsgbWluLWhlaWdodDogMTAwdmg7IH1cblxuLypcbiAqIFBpeGVsXG4gKiBVc2VmdWwgZm9yIGBvdmVyZmxvdzogYXV0b2BcbiAqL1xuXG4udWstaGVpZ2h0LXNtYWxsIHsgaGVpZ2h0OiAkaGVpZ2h0LXNtYWxsLWhlaWdodDsgfVxuLnVrLWhlaWdodC1tZWRpdW0geyBoZWlnaHQ6ICRoZWlnaHQtbWVkaXVtLWhlaWdodDsgfVxuLnVrLWhlaWdodC1sYXJnZSB7IGhlaWdodDogJGhlaWdodC1sYXJnZS1oZWlnaHQ7IH1cblxuLnVrLWhlaWdodC1tYXgtc21hbGwgeyBtYXgtaGVpZ2h0OiAkaGVpZ2h0LXNtYWxsLWhlaWdodDsgfVxuLnVrLWhlaWdodC1tYXgtbWVkaXVtIHsgbWF4LWhlaWdodDogJGhlaWdodC1tZWRpdW0taGVpZ2h0OyB9XG4udWstaGVpZ2h0LW1heC1sYXJnZSB7IG1heC1oZWlnaHQ6ICRoZWlnaHQtbGFyZ2UtaGVpZ2h0OyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2staGVpZ2h0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay1oZWlnaHQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2staGVpZ2h0LW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFRleHRcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB0ZXh0XG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdGV4dC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0ZXh0LWxlYWQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiR0ZXh0LWxlYWQtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kdGV4dC1sZWFkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1lbXBoYXNpcy1jb2xvciAhZGVmYXVsdDtcblxuJHRleHQtbWV0YS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJHRleHQtbWV0YS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIDEuNCAhZGVmYXVsdDtcbiR0ZXh0LW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW11dGVkLWNvbG9yICFkZWZhdWx0O1xuXG4kdGV4dC1zbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1zbWFsbC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kdGV4dC1sYXJnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kdGV4dC1sYXJnZS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kdGV4dC1ib2xkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9sZGVyICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1jb2xvciAhZGVmYXVsdDtcbiR0ZXh0LWVtcGhhc2lzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWVtcGhhc2lzLWNvbG9yICFkZWZhdWx0O1xuJHRleHQtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc3VjY2Vzcy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtd2FybmluZy1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJHRleHQtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZGFuZ2VyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbiR0ZXh0LWJhY2tncm91bmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogVGV4dFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cblxuLyogU3R5bGUgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbGVhZCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1sZWFkLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHRleHQtbGVhZC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogJHRleHQtbGVhZC1jb2xvcjtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sZWFkKSkge0BpbmNsdWRlIGhvb2stdGV4dC1sZWFkKCk7fVxufVxuXG4udWstdGV4dC1tZXRhIHtcbiAgICBmb250LXNpemU6ICR0ZXh0LW1ldGEtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1tZXRhLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkdGV4dC1tZXRhLWNvbG9yO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LW1ldGEpKSB7QGluY2x1ZGUgaG9vay10ZXh0LW1ldGEoKTt9XG59XG5cblxuLyogU2l6ZSBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1zbWFsbCB7XG4gICAgZm9udC1zaXplOiAkdGV4dC1zbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICR0ZXh0LXNtYWxsLWxpbmUtaGVpZ2h0O1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LXNtYWxsKSkge0BpbmNsdWRlIGhvb2stdGV4dC1zbWFsbCgpO31cbn1cblxuLnVrLXRleHQtbGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogJHRleHQtbGFyZ2UtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkdGV4dC1sYXJnZS1saW5lLWhlaWdodDtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1sYXJnZSkpIHtAaW5jbHVkZSBob29rLXRleHQtbGFyZ2UoKTt9XG59XG5cblxuLyogV2VpZ2h0IG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtYm9sZCB7IGZvbnQtd2VpZ2h0OiAkdGV4dC1ib2xkLWZvbnQtd2VpZ2h0OyB9XG5cblxuLyogVHJhbnNmb3JtIG1vZGlmaWVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtdXBwZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtbG93ZXJjYXNlIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50OyB9XG5cblxuLyogQ29sb3IgbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRleHQtbXV0ZWQgeyBjb2xvcjogJHRleHQtbXV0ZWQtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtZW1waGFzaXMgeyBjb2xvcjogJHRleHQtZW1waGFzaXMtY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtcHJpbWFyeSB7IGNvbG9yOiAkdGV4dC1wcmltYXJ5LWNvbG9yICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LXN1Y2Nlc3MgeyBjb2xvcjogJHRleHQtc3VjY2Vzcy1jb2xvciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC13YXJuaW5nIHsgY29sb3I6ICR0ZXh0LXdhcm5pbmctY29sb3IgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtZGFuZ2VyIHsgY29sb3I6ICR0ZXh0LWRhbmdlci1jb2xvciAhaW1wb3J0YW50OyB9XG5cblxuLyogQmFja2dyb3VuZCBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBUaGUgYmFja2dyb3VuZCBjbGlwcyB0byB0aGUgZm9yZWdyb3VuZCB0ZXh0LiBXb3JrcyBpbiBDaHJvbWUsIEZpcmVmb3gsIFNhZmFyaSwgRWRnZSBhbmQgT3BlcmFcbiAqICAgIERlZmF1bHQgY29sb3IgaXMgc2V0IHRvIHRyYW5zcGFyZW50XG4gKiAyLiBDb250YWluZXIgZml0cyB0aGUgdGV4dFxuICogMy4gRmFsbGJhY2sgY29sb3IgZm9yIElFMTFcbiAqL1xuXG4udWstdGV4dC1iYWNrZ3JvdW5kIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gICAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC8qIDIgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMyAqL1xuICAgIGNvbG9yOiAkdGV4dC1iYWNrZ3JvdW5kLWNvbG9yICFpbXBvcnRhbnQ7XG59XG5cbkBzdXBwb3J0cyAoLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQpIHtcblxuICAgIC51ay10ZXh0LWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGV4dC1iYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stdGV4dC1iYWNrZ3JvdW5kKSkge0BpbmNsdWRlIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCk7fVxuICAgIH1cblxufVxuXG5cbi8qIEFsaWdubWVudCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1yaWdodCB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LWNlbnRlciB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBzIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBzIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQHMgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLXRleHQtbGVmdFxcQG0geyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQG0geyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtY2VudGVyXFxAbSB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay10ZXh0LWxlZnRcXEBsIHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLXRleHQtcmlnaHRcXEBsIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQGwgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstdGV4dC1sZWZ0XFxAeGwgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cbiAgICAudWstdGV4dC1yaWdodFxcQHhsIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgIC51ay10ZXh0LWNlbnRlclxcQHhsIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKlxuICogVmVydGljYWxcbiAqL1xuXG4udWstdGV4dC10b3AgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi51ay10ZXh0LW1pZGRsZSB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLnVrLXRleHQtYm90dG9tIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4udWstdGV4dC1iYXNlbGluZSB7IHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50OyB9XG5cblxuLyogV3JhcCBtb2RpZmllcnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJldmVudCB0ZXh0IGZyb20gd3JhcHBpbmcgb250byBtdWx0aXBsZSBsaW5lc1xuICovXG5cbi51ay10ZXh0LW5vd3JhcCB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLypcbiAqIDEuIE1ha2Ugc3VyZSBhIG1heC13aWR0aCBpcyBzZXQgYWZ0ZXIgd2hpY2ggdHJ1bmNhdGlvbiBjYW4gb2NjdXJcbiAqIDIuIFByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nIG9udG8gbXVsdGlwbGUgbGluZXMsIGFuZCB0cnVuY2F0ZSB3aXRoIGFuIGVsbGlwc2lzXG4gKiAzLiBGaXggZm9yIHRhYmxlIGNlbGxzXG4gKi9cblxuLnVrLXRleHQtdHJ1bmNhdGUge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogMiAqL1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLyogMiAqL1xudGgudWstdGV4dC10cnVuY2F0ZSxcbnRkLnVrLXRleHQtdHJ1bmNhdGUgeyBtYXgtd2lkdGg6IDA7IH1cblxuXG4vKlxuICogMS4gV3JhcCBsb25nIHdvcmRzIG9udG8gdGhlIG5leHQgbGluZSBhbmQgYnJlYWsgdGhlbSBpZiB0aGV5IGFyZSB0b28gbG9uZyB0byBmaXRcbiAqIDIuIExlZ2FjeSBgd29yZC13cmFwYCBhcyBmYWxsYmFjayBmb3IgYG92ZXJmbG93LXdyYXBgXG4gKiAzLiBGaXggYG92ZXJmbG93LXdyYXBgIHdoaWNoIGRvZXNuJ3Qgd29yayB3aXRoIHRhYmxlIGNlbGxzIGluIENocm9tZSwgT3BlcmEsIElFMTEgYW5kIEVkZ2VcbiAqICAgIE11c3QgdXNlIGBicmVhay1hbGxgIHRvIHN1cHBvcnQgSUUxMSBhbmQgRWRnZVxuICogTm90ZTogTm90IHVzaW5nIGBoeXBoZW5zOiBhdXRvO2AgYmVjYXVzZSBpdCBoeXBoZW5hdGVzIHRleHQgZXZlbiBpZiBub3QgbmVlZGVkXG4gKi9cblxuLnVrLXRleHQtYnJlYWsge1xuICAgIC8qIDEgKi9cbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIC8qIDIgKi9cbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG59XG5cbi8qIDMgKi9cbnRoLnVrLXRleHQtYnJlYWssXG50ZC51ay10ZXh0LWJyZWFrIHsgd29yZC1icmVhazogYnJlYWstYWxsOyB9XG5cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10ZXh0LW1pc2MpKSB7QGluY2x1ZGUgaG9vay10ZXh0LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtbWV0YSgpe31cbi8vIEBtaXhpbiBob29rLXRleHQtc21hbGwoKXt9XG4vLyBAbWl4aW4gaG9vay10ZXh0LWxhcmdlKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1iYWNrZ3JvdW5kKCl7fVxuLy8gQG1peGluIGhvb2stdGV4dC1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS10ZXh0LWxlYWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW1ldGEtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LW11dGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LWVtcGhhc2lzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtZW1waGFzaXMtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS10ZXh0LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLXRleHQtbGVhZCgpe31cbi8vIEBtaXhpbiBob29rLWludmVyc2UtdGV4dC1tZXRhKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBDb2x1bW5cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciB0ZXh0IGNvbHVtbnNcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1jb2x1bW4tKmBcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay1jb2x1bW4tc3BhbmBcbi8vXG4vLyBNb2RpZmllcnM6ICAgICAgIGB1ay1jb2x1bW4tZGl2aWRlcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kY29sdW1uLWd1dHRlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWd1dHRlci1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG4kY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ib3JkZXIgIWRlZmF1bHQ7XG4kY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aDogICAgICAgICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBDb2x1bW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5bY2xhc3MqPSd1ay1jb2x1bW4tJ10geyBjb2x1bW4tZ2FwOiAkY29sdW1uLWd1dHRlcjsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgW2NsYXNzKj0ndWstY29sdW1uLSddIHsgY29sdW1uLWdhcDogJGNvbHVtbi1ndXR0ZXItbDsgfVxuXG59XG5cbi8qXG4gKiBGaXggaW1hZ2UgMXB4IGxpbmUgd3JhcHBpbmcgaW50byB0aGUgbmV4dCBjb2x1bW4gaW4gQ2hyb21lXG4gKi9cblxuW2NsYXNzKj0ndWstY29sdW1uLSddIGltZyB7IHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApOyB9XG5cblxuLyogRGl2aWRlclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBEb3VibGUgdGhlIGNvbHVtbiBnYXBcbiAqL1xuXG4udWstY29sdW1uLWRpdmlkZXIge1xuICAgIGNvbHVtbi1ydWxlOiAkY29sdW1uLWRpdmlkZXItcnVsZS13aWR0aCBzb2xpZCAkY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjtcbiAgICAvKiAxICovXG4gICAgY29sdW1uLWdhcDogKCRjb2x1bW4tZ3V0dGVyICogMik7XG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLWRpdmlkZXIge1xuICAgICAgICBjb2x1bW4tZ2FwOiAoJGNvbHVtbi1ndXR0ZXItbCAqIDIpO1xuICAgIH1cblxufVxuXG5cbi8qIFdpZHRoIG1vZGlmaWVyc1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb2x1bW4tMS0yIHsgY29sdW1uLWNvdW50OiAyO31cbi51ay1jb2x1bW4tMS0zIHsgY29sdW1uLWNvdW50OiAzOyB9XG4udWstY29sdW1uLTEtNCB7IGNvbHVtbi1jb3VudDogNDsgfVxuLnVrLWNvbHVtbi0xLTUgeyBjb2x1bW4tY291bnQ6IDU7IH1cbi51ay1jb2x1bW4tMS02IHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAcyB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAcyB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAcyB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAcyB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAcyB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWNvbHVtbi0xLTJcXEBtIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEBtIHsgY29sdW1uLWNvdW50OiAzOyB9XG4gICAgLnVrLWNvbHVtbi0xLTRcXEBtIHsgY29sdW1uLWNvdW50OiA0OyB9XG4gICAgLnVrLWNvbHVtbi0xLTVcXEBtIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEBtIHsgY29sdW1uLWNvdW50OiA2OyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1jb2x1bW4tMS0yXFxAbCB7IGNvbHVtbi1jb3VudDogMjsgfVxuICAgIC51ay1jb2x1bW4tMS0zXFxAbCB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAbCB7IGNvbHVtbi1jb3VudDogNDsgfVxuICAgIC51ay1jb2x1bW4tMS01XFxAbCB7IGNvbHVtbi1jb3VudDogNTsgfVxuICAgIC51ay1jb2x1bW4tMS02XFxAbCB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstY29sdW1uLTEtMlxcQHhsIHsgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLnVrLWNvbHVtbi0xLTNcXEB4bCB7IGNvbHVtbi1jb3VudDogMzsgfVxuICAgIC51ay1jb2x1bW4tMS00XFxAeGwgeyBjb2x1bW4tY291bnQ6IDQ7IH1cbiAgICAudWstY29sdW1uLTEtNVxcQHhsIHsgY29sdW1uLWNvdW50OiA1OyB9XG4gICAgLnVrLWNvbHVtbi0xLTZcXEB4bCB7IGNvbHVtbi1jb3VudDogNjsgfVxuXG59XG5cbi8qIE1ha2UgZWxlbWVudCBzcGFuIGFjcm9zcyBhbGwgY29sdW1uc1xuICogRG9lcyBub3Qgd29yayBpbiBGaXJlZm94IHlldFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1jb2x1bW4tc3BhbiB7IGNvbHVtbi1zcGFuOiBhbGw7IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1jb2x1bW4tbWlzYykpIHtAaW5jbHVkZSBob29rLWNvbHVtbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb2x1bW4tbWlzYygpe31cblxuXG4vLyBJbnZlcnNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGludmVyc2UtY29sdW1uLWRpdmlkZXItcnVsZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4iLCIvLyBOYW1lOiAgICAgICAgICAgIENvdmVyXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyB0byBsZXQgZW1iZWRkZWQgY29udGVudCBjb3ZlciB0aGVpciBjb250YWluZXIgaW4gYSBjZW50ZXJlZCBwb3NpdGlvblxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWNvdmVyYFxuLy9cbi8vIFN1Yi1vYmplY3Q6ICAgICAgYHVrLWNvdmVyLWNvbnRhaW5lcmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENvbXBvbmVudDogQ292ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogV29ya3Mgd2l0aCBpZnJhbWVzIGFuZCBlbWJlZGRlZCBjb250ZW50XG4gKiAxLiBSZXNldCByZXNwb25zaXZlbmVzcyBmb3IgZW1iZWRkZWQgY29udGVudFxuICogMi4gQ2VudGVyIG9iamVjdFxuICogTm90ZTogUGVyY2VudCB2YWx1ZXMgb24gdGhlIGB0b3BgIHByb3BlcnR5IG9ubHkgd29ya3MgaWYgdGhpcyBlbGVtZW50XG4gKiAgICAgICBpcyBhYnNvbHV0ZSBwb3NpdGlvbmVkIG9yIGlmIHRoZSBjb250YWluZXIgaGFzIGEgaGVpZ2h0XG4gKi9cblxuLnVrLWNvdmVyIHtcbiAgICAvKiAxICovXG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIC8qIDIgKi9cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG59XG5cbmlmcmFtZS51ay1jb3ZlciB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cblxuLyogQ29udGFpbmVyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFBhcmVudCBjb250YWluZXIgd2hpY2ggY2xpcHMgcmVzaXplZCBvYmplY3RcbiAqIDIuIE5lZWRlZCBpZiB0aGUgY2hpbGQgaXMgcG9zaXRpb25lZCBhYnNvbHV0ZS4gU2VlIG5vdGUgYWJvdmVcbiAqL1xuXG4udWstY292ZXItY29udGFpbmVyIHtcbiAgICAvKiAxICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAvKiAyICovXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWNvdmVyLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1jb3Zlci1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1jb3Zlci1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgQmFja2dyb3VuZFxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIGJhY2tncm91bmRzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstYmFja2dyb3VuZC0qYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4kYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtcHJpbWFyeS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuJGJhY2tncm91bmQtc2Vjb25kYXJ5LWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICRnbG9iYWwtc2Vjb25kYXJ5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEJhY2tncm91bmRcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG5cbi8qIENvbG9yXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtZGVmYXVsdCB7IGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWRlZmF1bHQtYmFja2dyb3VuZDsgfVxuLnVrLWJhY2tncm91bmQtbXV0ZWQgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1tdXRlZC1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1wcmltYXJ5IHsgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtcHJpbWFyeS1iYWNrZ3JvdW5kOyB9XG4udWstYmFja2dyb3VuZC1zZWNvbmRhcnkgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1zZWNvbmRhcnktYmFja2dyb3VuZDsgfVxuXG5cbi8qIFNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1jb3Zlcixcbi51ay1iYWNrZ3JvdW5kLWNvbnRhaW4ge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cblxuLnVrLWJhY2tncm91bmQtY292ZXIgeyBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4udWstYmFja2dyb3VuZC1jb250YWluIHsgYmFja2dyb3VuZC1zaXplOiBjb250YWluOyB9XG5cblxuLyogUG9zaXRpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC10b3AtbGVmdCB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxuLnVrLWJhY2tncm91bmQtdG9wLWNlbnRlciB7IGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwOyB9XG4udWstYmFja2dyb3VuZC10b3AtcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDA7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1sZWZ0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCA1MCU7IH1cbi51ay1iYWNrZ3JvdW5kLWNlbnRlci1jZW50ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlOyB9XG4udWstYmFja2dyb3VuZC1jZW50ZXItcmlnaHQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlIDUwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLWxlZnQgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDEwMCU7IH1cbi51ay1iYWNrZ3JvdW5kLWJvdHRvbS1jZW50ZXIgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMTAwJTsgfVxuLnVrLWJhY2tncm91bmQtYm90dG9tLXJpZ2h0IHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSAxMDAlOyB9XG5cblxuLyogUmVwZWF0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWJhY2tncm91bmQtbm9yZXBlYXQgeyBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cblxuLyogQXR0YWNobWVudFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBGaXggYnVnIGludHJvZHVjZWQgaW4gQ2hyb21lIDY3OiB0aGUgYmFja2dyb3VuZCBpbWFnZSBpcyBub3QgdmlzaWJsZSBpZiBhbnkgZWxlbWVudCBvbiB0aGUgcGFnZSB1c2VzIGB0cmFuc2xhdGUzZGBcbiAqL1xuXG4udWstYmFja2dyb3VuZC1maXhlZCB7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICAvKiAxICovXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4vKlxuICogRXhjbHVkZSB0b3VjaCBkZXZpY2VzIGJlY2F1c2UgYGZpeGVkYCBkb2Vzbid0IHdvcmsgb24gaU9TIGFuZCBBbmRyb2lkXG4gKi9cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAudWstYmFja2dyb3VuZC1maXhlZCB7IGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOyB9XG59XG5cblxuLyogSW1hZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBQaG9uZSBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAcyB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLWJhY2tncm91bmQtaW1hZ2VcXEBtIHsgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1lZGl1bS1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAbCB7IGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZS1tYXgpIHtcblxuICAgIC51ay1iYWNrZ3JvdW5kLWltYWdlXFxAeGwge2JhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmFja2dyb3VuZC1ibGVuZC1tdWx0aXBseSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNjcmVlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1vdmVybGF5IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1kYXJrZW4geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGRhcmtlbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtbGlnaHRlbiB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtY29sb3ItZG9kZ2UgeyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1jb2xvci1idXJuIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvci1idXJuOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1oYXJkLWxpZ2h0IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1zb2Z0LWxpZ2h0IHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1kaWZmZXJlbmNlIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyB9XG4udWstYmFja2dyb3VuZC1ibGVuZC1leGNsdXNpb24geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtaHVlIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBodWU7IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLXNhdHVyYXRpb24geyBiYWNrZ3JvdW5kLWJsZW5kLW1vZGU6IHNhdHVyYXRpb247IH1cbi51ay1iYWNrZ3JvdW5kLWJsZW5kLWNvbG9yIHsgYmFja2dyb3VuZC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuLnVrLWJhY2tncm91bmQtYmxlbmQtbHVtaW5vc2l0eSB7IGJhY2tncm91bmQtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWJhY2tncm91bmQtbWlzYykpIHtAaW5jbHVkZSBob29rLWJhY2tncm91bmQtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stYmFja2dyb3VuZC1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBBbGlnblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gYWxpZ24gZW1iZWRkZWQgY29udGVudFxuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWFsaWduLWxlZnQtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWFsaWduLXJpZ2h0LSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1hbGlnbi1jZW50ZXJgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDogICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuXG4kYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDogICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tZ3V0dGVyICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBBbGlnblxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBEZWZhdWx0XG4gKi9cblxuW2NsYXNzKj0ndWstYWxpZ24nXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogJGFsaWduLW1hcmdpbi12ZXJ0aWNhbDtcbn1cblxuKiArIFtjbGFzcyo9J3VrLWFsaWduJ10geyBtYXJnaW4tdG9wOiAkYWxpZ24tbWFyZ2luLXZlcnRpY2FsOyB9XG5cbi8qXG4gKiBDZW50ZXJcbiAqL1xuXG4udWstYWxpZ24tY2VudGVyIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8qXG4gKiBMZWZ0L1JpZ2h0XG4gKi9cblxuLnVrLWFsaWduLWxlZnQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi51ay1hbGlnbi1yaWdodCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgIGZsb2F0OiByaWdodDtcbn1cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQHMge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWFsaWduLWxlZnRcXEBtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWw7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1yaWdodFxcQG0ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogJGFsaWduLW1hcmdpbi1ob3Jpem9udGFsO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstYWxpZ24tbGVmdFxcQGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEBsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC51ay1hbGlnbi1sZWZ0LFxuICAgIC51ay1hbGlnbi1sZWZ0XFxAcyxcbiAgICAudWstYWxpZ24tbGVmdFxcQG0sXG4gICAgLnVrLWFsaWduLWxlZnRcXEBsIHsgbWFyZ2luLXJpZ2h0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDsgfVxuXG4gICAgLnVrLWFsaWduLXJpZ2h0LFxuICAgIC51ay1hbGlnbi1yaWdodFxcQHMsXG4gICAgLnVrLWFsaWduLXJpZ2h0XFxAbSxcbiAgICAudWstYWxpZ24tcmlnaHRcXEBsIHsgbWFyZ2luLWxlZnQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sOyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1hbGlnbi1sZWZ0XFxAeGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRhbGlnbi1tYXJnaW4taG9yaXpvbnRhbC1sO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudWstYWxpZ24tcmlnaHRcXEB4bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkYWxpZ24tbWFyZ2luLWhvcml6b250YWwtbDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWFsaWduLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1hbGlnbi1taXNjKCk7fVxuXG4vLyBAbWl4aW4gaG9vay1hbGlnbi1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgU1ZHXG4vLyBEZXNjcmlwdGlvbjogICAgIENvbXBvbmVudCB0byBzdHlsZSBTVkdzXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstc3ZnYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBTVkdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogMS4gRmlsbCBhbGwgU1ZHIGVsZW1lbnRzIHdpdGggdGhlIGN1cnJlbnQgdGV4dCBjb2xvciBpZiBubyBgZmlsbGAgYXR0cmlidXRlIGlzIHNldFxuICogMi4gU2V0IHRoZSBmaWxsIGFuZCBzdHJva2UgY29sb3Igb2YgYWxsIFNWRyBlbGVtZW50cyB0byB0aGUgY3VycmVudCB0ZXh0IGNvbG9yXG4gKi9cblxuLyogMSAqL1xuLnVrLXN2Zyxcbi8qIDIgKi9cbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW2ZpbGwqPScjJ106bm90KC51ay1wcmVzZXJ2ZSkgeyBmaWxsOiBjdXJyZW50Y29sb3I7IH1cbi51ay1zdmc6bm90KC51ay1wcmVzZXJ2ZSkgW3N0cm9rZSo9JyMnXTpub3QoLnVrLXByZXNlcnZlKSB7IHN0cm9rZTogY3VycmVudGNvbG9yOyB9XG5cbi8qXG4gKiBGaXggRmlyZWZveCBibHVycnkgU1ZHIHJlbmRlcmluZzogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NjgzNVxuICovXG5cbi51ay1zdmcgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLDApOyB9XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5AaWYobWl4aW4tZXhpc3RzKGhvb2stc3ZnLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1zdmctbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stc3ZnLW1pc2MoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIFV0aWxpdHlcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGNvbGxlY3Rpb25cbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wYW5lbC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstY2xlYXJmaXhgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1mbG9hdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstb3ZlcmZsb3ctKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXJlc2l6ZS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGlzcGxheS0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstaW5saW5lLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1yZXNwb25zaXZlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wcmVzZXJ2ZS13aWR0aGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJvcmRlci0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYm94LXNoYWRvdy0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstYm94LXNoYWRvdy1ib3R0b21gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcm9wY2FwYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbG9nb2Bcbi8vICAgICAgICAgICAgICAgICAgYHVrLWJsZW5kLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2Zvcm0tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zZm9ybS1vcmlnaW4tKmBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1kaXNhYmxlZGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWRyYWdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1kcmFnb3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXByZXNlcnZlYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8vIFZhcmlhYmxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRwYW5lbC1zY3JvbGxhYmxlLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAxNzBweCAhZGVmYXVsdDtcbiRwYW5lbC1zY3JvbGxhYmxlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtYm9yZGVyICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJvdW5kZWQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgNXB4ICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1kdXJhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgICAgMC4xcyAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctYm90dG9tLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1ib3R0b20tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWJvdHRvbS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJGJveC1zaGFkb3ctYm90dG9tLWJsdXI6ICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRkcm9wY2FwLW1hcmdpbi1yaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGRyb3BjYXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgoJGdsb2JhbC1saW5lLWhlaWdodCAqIDMpICogMWVtKSAhZGVmYXVsdDtcblxuJGxvZ28tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbGFyZ2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGxvZ28tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kbG9nby1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcbiRsb2dvLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWNvbG9yICFkZWZhdWx0O1xuXG4kZHJhZ292ZXItYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAwIDIwcHggcmdiYSgxMDAsMTAwLDEwMCwwLjMpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBVdGlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBQYW5lbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYW5lbCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi8qXG4gKiBNaWNybyBjbGVhcmZpeFxuICovXG5cbi51ay1wYW5lbDo6YmVmb3JlLFxuLnVrLXBhbmVsOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbn1cblxuLnVrLXBhbmVsOjphZnRlciB7IGNsZWFyOiBib3RoOyB9XG5cbi8qXG4gKiBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGRcbiAqL1xuXG4udWstcGFuZWwgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKlxuICogU2Nyb2xsYWJsZVxuICovXG5cbi51ay1wYW5lbC1zY3JvbGxhYmxlIHtcbiAgICBoZWlnaHQ6ICRwYW5lbC1zY3JvbGxhYmxlLWhlaWdodDtcbiAgICBwYWRkaW5nOiAkcGFuZWwtc2Nyb2xsYWJsZS1wYWRkaW5nO1xuICAgIGJvcmRlcjogJHBhbmVsLXNjcm9sbGFibGUtYm9yZGVyLXdpZHRoIHNvbGlkICRwYW5lbC1zY3JvbGxhYmxlLWJvcmRlcjtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgcmVzaXplOiBib3RoO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1wYW5lbC1zY3JvbGxhYmxlKSkge0BpbmNsdWRlIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpO31cbn1cblxuXG4vKiBDbGVhcmZpeFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBgdGFibGUtY2VsbGAgaXMgdXNlZCB3aXRoIGA6OmJlZm9yZWAgYmVjYXVzZSBgdGFibGVgIGNyZWF0ZXMgYSAxcHggZ2FwIHdoZW4gaXQgYmVjb21lcyBhIGZsZXggaXRlbSwgb25seSBpbiBXZWJraXRcbiAqIDIuIGB0YWJsZWAgaXMgdXNlZCBhZ2FpbiB3aXRoIGA6OmFmdGVyYCBiZWNhdXNlIGBjbGVhcmAgb25seSB3b3JrcyB3aXRoIGJsb2NrIGVsZW1lbnRzLlxuICogTm90ZTogYGRpc3BsYXk6IGJsb2NrYCB3aXRoIGBvdmVyZmxvdzogaGlkZGVuYCBpcyBjdXJyZW50bHkgbm90IHdvcmtpbmcgaW4gdGhlIGxhdGVzdCBTYWZhcmlcbiAqL1xuXG4vKiAxICovXG4udWstY2xlYXJmaXg6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xufVxuXG4vKiAyICovXG4udWstY2xlYXJmaXg6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG5cbi8qIEZsb2F0XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICovXG5cbi51ay1mbG9hdC1sZWZ0IHsgZmxvYXQ6IGxlZnQ7IH1cbi51ay1mbG9hdC1yaWdodCB7IGZsb2F0OiByaWdodDsgfVxuXG4vKiAxICovXG5bY2xhc3MqPSd1ay1mbG9hdC0nXSB7IG1heC13aWR0aDogMTAwJTsgfVxuXG5cbi8qIE92ZXJmb3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstb3ZlcmZsb3ctaGlkZGVuIHsgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKlxuICogRW5hYmxlIHNjcm9sbGJhcnMgaWYgY29udGVudCBpcyBjbGlwcGVkXG4gKiBOb3RlOiBGaXJlZm94IGlnbm9yZXMgYHBhZGRpbmctYm90dG9tYCBmb3IgdGhlIHNjcm9sbGFibGUgb3ZlcmZsb3cgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTE4XG4gKi9cblxuLnVrLW92ZXJmbG93LWF1dG8ge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuLnVrLW92ZXJmbG93LWF1dG8gPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cblxuXG4vKiBSZXNpemVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcmVzaXplIHsgcmVzaXplOiBib3RoOyB9XG4udWstcmVzaXplLXZlcnRpY2FsIHsgcmVzaXplOiB2ZXJ0aWNhbDsgfVxuXG5cbi8qIERpc3BsYXlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZGlzcGxheS1ibG9jayB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbi51ay1kaXNwbGF5LWlubGluZSB7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4udWstZGlzcGxheS1pbmxpbmUtYmxvY2sgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuXG5cbi8qIElubGluZVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBDb250YWluZXIgZml0cyBpdHMgY29udGVudFxuICogMi4gQ3JlYXRlIHBvc2l0aW9uIGNvbnRleHRcbiAqIDMuIFByZXZlbnQgY29udGVudCBvdmVyZmxvd1xuICogNC4gQmVoYXZlIGxpa2UgbW9zdCBpbmxpbmUtYmxvY2sgZWxlbWVudHNcbiAqIDUuIEZvcmNlIGhhcmR3YXJlIGFjY2VsZXJhdGlvbiB3aXRob3V0IGNyZWF0aW5nIGEgbmV3IHN0YWNraW5nIGNvbnRleHRcbiAqICAgIHRvIGZpeCAxcHggZ2xpdGNoIHdoZW4gY29tYmluZWQgd2l0aCBvdmVybGF5cyBhbmQgdHJhbnNpdGlvbnMgaW4gV2Via2l0XG4gKiA2LiBDbGlwIGNoaWxkIGVsZW1lbnRzXG4gKi9cblxuW2NsYXNzKj0ndWstaW5saW5lJ10ge1xuICAgIC8qIDEgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLyogMiAqL1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvKiAzICovXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC8qIDQgKi9cbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC8qIDUgKi9cbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLnVrLWlubGluZS1jbGlwIHtcbiAgICAvKiA2ICovXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4vKiBSZXNwb25zaXZlIG9iamVjdHNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogUHJlc2VydmUgb3JpZ2luYWwgZGltZW5zaW9uc1xuICogQmVjYXVzZSBgaW1nLCBgdmlkZW9gLCBgY2FudmFzYCBhbmQgIGBhdWRpb2AgYXJlIGFscmVhZHkgcmVzcG9uc2l2ZSBieSBkZWZhdWx0LCBzZWUgQmFzZSBjb21wb25lbnRcbiAqL1xuXG4udWstcHJlc2VydmUtd2lkdGgsXG4udWstcHJlc2VydmUtd2lkdGggY2FudmFzLFxuLnVrLXByZXNlcnZlLXdpZHRoIGltZyxcbi51ay1wcmVzZXJ2ZS13aWR0aCBzdmcsXG4udWstcHJlc2VydmUtd2lkdGggdmlkZW8geyBtYXgtd2lkdGg6IG5vbmU7IH1cblxuLypcbiAqIFJlc3BvbnNpdmVuZXNzXG4gKiBDb3JyZWN0cyBgbWF4LXdpZHRoYCBhbmQgYG1heC1oZWlnaHRgIGJlaGF2aW9yIGlmIHBhZGRpbmcgYW5kIGJvcmRlciBhcmUgdXNlZFxuICovXG5cbi51ay1yZXNwb25zaXZlLXdpZHRoLFxuLnVrLXJlc3BvbnNpdmUtaGVpZ2h0IHsgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4vKlxuICogMS4gU2V0IGEgbWF4aW11bSB3aWR0aC4gYGltcG9ydGFudGAgbmVlZGVkIHRvIG92ZXJyaWRlIGB1ay1wcmVzZXJ2ZS13aWR0aCBpbWdgXG4gKiAyLiBBdXRvIHNjYWxlIHRoZSBoZWlnaHQuIE9ubHkgbmVlZGVkIGlmIGBoZWlnaHRgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtd2lkdGgge1xuICAgIC8qIDEgKi9cbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAvKiAyICovXG4gICAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKlxuICogMS4gU2V0IGEgbWF4aW11bSBoZWlnaHQuIE9ubHkgd29ya3MgaWYgdGhlIHBhcmVudCBlbGVtZW50IGhhcyBhIGZpeGVkIGhlaWdodFxuICogMi4gQXV0byBzY2FsZSB0aGUgd2lkdGguIE9ubHkgbmVlZGVkIGlmIGB3aWR0aGAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAqIDMuIFJlc2V0IG1heC13aWR0aCwgd2hpY2ggYGltZywgYHZpZGVvYCwgYGNhbnZhc2AgYW5kICBgYXVkaW9gIGFscmVhZHkgaGF2ZSBieSBkZWZhdWx0XG4gKi9cblxuLnVrLXJlc3BvbnNpdmUtaGVpZ2h0IHtcbiAgICAvKiAxICovXG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAvKiAyICovXG4gICAgd2lkdGg6IGF1dG87XG4gICAgLyogMyAqL1xuICAgIG1heC13aWR0aDogbm9uZTtcbn1cblxuXG4vKiBCb3JkZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYm9yZGVyLWNpcmNsZSB7IGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuLnVrLWJvcmRlci1waWxsIHsgYm9yZGVyLXJhZGl1czogNTAwcHg7IH1cbi51ay1ib3JkZXItcm91bmRlZCB7IGJvcmRlci1yYWRpdXM6ICRib3JkZXItcm91bmRlZC1ib3JkZXItcmFkaXVzOyB9XG5cbi8qXG4gKiBGaXggYG92ZXJmbG93OiBoaWRkZW5gIHRvIGJlIGlnbm9yZWQgd2l0aCBib3JkZXItcmFkaXVzIGFuZCBDU1MgdHJhbnNmb3JtcyBpbiBXZWJraXRcbiAqL1xuXG4udWstaW5saW5lLWNsaXBbY2xhc3MqPSd1ay1ib3JkZXItJ10geyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgfVxuXG5cbi8qIEJveC1zaGFkb3dcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYm94LXNoYWRvdy1zbWFsbCB7IGJveC1zaGFkb3c6ICRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctbWVkaXVtIHsgYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctbGFyZ2UgeyBib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LXhsYXJnZSB7IGJveC1zaGFkb3c6ICRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c7IH1cblxuLypcbiAqIEhvdmVyXG4gKi9cblxuW2NsYXNzKj0ndWstYm94LXNoYWRvdy1ob3ZlciddIHsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAkYm94LXNoYWRvdy1kdXJhdGlvbiBlYXNlLWluLW91dDsgfVxuXG4udWstYm94LXNoYWRvdy1ob3Zlci1zbWFsbDpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwtc21hbGwtYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXItbWVkaXVtOmhvdmVyIHsgYm94LXNoYWRvdzogJGdsb2JhbC1tZWRpdW0tYm94LXNoYWRvdzsgfVxuLnVrLWJveC1zaGFkb3ctaG92ZXItbGFyZ2U6aG92ZXIgeyBib3gtc2hhZG93OiAkZ2xvYmFsLWxhcmdlLWJveC1zaGFkb3c7IH1cbi51ay1ib3gtc2hhZG93LWhvdmVyLXhsYXJnZTpob3ZlciB7IGJveC1zaGFkb3c6ICRnbG9iYWwteGxhcmdlLWJveC1zaGFkb3c7IH1cblxuXG4vKiBCb3gtc2hhZG93IGJvdHRvbVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBTZXQgcG9zaXRpb24uXG4gKiAyLiBTZXQgc3R5bGVcbiAqIDMuIEJsdXIgZG9lc24ndCB3b3JrIG9uIHBzZXVkbyBlbGVtZW50cyB3aXRoIG5lZ2F0aXZlIGB6LWluZGV4YCBpbiBFZGdlLlxuICogICAgU29sdmVkIGJ5IHVzaW5nIGBiZWZvcmVgIGFuZCBhZGQgcG9zaXRpb24gY29udGV4dCB0byBjaGlsZCBlbGVtZW50cy5cbiAqL1xuXG5Ac3VwcG9ydHMgKGZpbHRlcjogYmx1cigwKSkge1xuXG4gICAgLnVrLWJveC1zaGFkb3ctYm90dG9tIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAudWstYm94LXNoYWRvdy1ib3R0b206OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAvKiAxICovXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAoLSRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgLyogMiAqL1xuICAgICAgICBoZWlnaHQ6ICRib3gtc2hhZG93LWJvdHRvbS1oZWlnaHQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRib3gtc2hhZG93LWJvdHRvbS1ib3JkZXItcmFkaXVzO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYm94LXNoYWRvdy1ib3R0b20tYmFja2dyb3VuZDtcbiAgICAgICAgZmlsdGVyOiBibHVyKCRib3gtc2hhZG93LWJvdHRvbS1ibHVyKTtcbiAgICAgICAgQGlmKG1peGluLWV4aXN0cyhob29rLWJveC1zaGFkb3ctYm90dG9tKSkge0BpbmNsdWRlIGhvb2stYm94LXNoYWRvdy1ib3R0b20oKTt9XG4gICAgfVxuXG4gICAgLyogMyAqL1xuICAgIC51ay1ib3gtc2hhZG93LWJvdHRvbSA+ICogeyBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxufVxuXG5cbi8qIERyb3AgY2FwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIEZpcmVmb3ggZG9lc24ndCBhcHBseSBgOjpmaXJzdC1sZXR0ZXJgIGlmIHRoZSBmaXJzdCBsZXR0ZXIgaXMgaW5zaWRlIGNoaWxkIGVsZW1lbnRzXG4gKiAgICBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTQwMDRcbiAqIDIuIEluIEZpcmVmb3gsIGEgZmxvYXRpbmcgYDo6Zmlyc3QtbGV0dGVyYCBkb2Vzbid0IGhhdmUgYSBsaW5lIGJveCBhbmQgdGhlcmUgZm9yIG5vIGBsaW5lLWhlaWdodGBcbiAqICAgIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTMxNzkzM1xuICogMy4gQ2F1c2VkIGJ5IDEuOiBFZGdlIGNyZWF0ZXMgdHdvIG5lc3RlZCBgOjpmaXJzdC1sZXR0ZXJgIGNvbnRhaW5lcnMsIG9uZSBmb3IgZWFjaCBzZWxlY3RvclxuICogICAgVGhpcyBkb3VibGVzIHRoZSBgZm9udC1zaXplYCBleHBvbmVudGlhbCB3aGVuIHVzaW5nIHRoZSBgZW1gIHVuaXQuXG4gKi9cblxuLnVrLWRyb3BjYXA6OmZpcnN0LWxldHRlcixcbi8qIDEgKi9cbi51ay1kcm9wY2FwID4gcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogJGRyb3BjYXAtbWFyZ2luLXJpZ2h0O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogJGRyb3BjYXAtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIEBpZihtaXhpbi1leGlzdHMoaG9vay1kcm9wY2FwKSkge0BpbmNsdWRlIGhvb2stZHJvcGNhcCgpO31cbn1cblxuLyogMiAqL1xuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcblxuICAudWstZHJvcGNhcDo6Zmlyc3QtbGV0dGVyLFxuICAudWstZHJvcGNhcCA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHsgbWFyZ2luLXRvcDogMS4xJTsgfVxuXG59XG5cbi8qIDMgKi9cbkBzdXBwb3J0cyAoLW1zLWltZS1hbGlnbjogYXV0bykge1xuXG4gIC51ay1kcm9wY2FwID4gcDpmaXJzdC1vZi10eXBlOjpmaXJzdC1sZXR0ZXIgeyBmb250LXNpemU6IDFlbTsgfVxuXG59XG5cblxuLyogTG9nb1xuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiAxLiBSZXF1aXJlZCBmb3IgYGFgXG4gKi9cblxuLnVrLWxvZ28ge1xuICAgIGZvbnQtc2l6ZTogJGxvZ28tZm9udC1zaXplO1xuICAgIGZvbnQtZmFtaWx5OiAkbG9nby1mb250LWZhbWlseTtcbiAgICBjb2xvcjogJGxvZ28tY29sb3I7XG4gICAgLyogMSAqL1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaWYobWl4aW4tZXhpc3RzKGhvb2stbG9nbykpIHtAaW5jbHVkZSBob29rLWxvZ28oKTt9XG59XG5cbi8qIEhvdmVyICsgRm9jdXMgKi9cbi51ay1sb2dvOmhvdmVyLFxuLnVrLWxvZ286Zm9jdXMge1xuICAgIGNvbG9yOiAkbG9nby1ob3Zlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIC8qIDEgKi9cbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgQGlmKG1peGluLWV4aXN0cyhob29rLWxvZ28taG92ZXIpKSB7QGluY2x1ZGUgaG9vay1sb2dvLWhvdmVyKCk7fVxufVxuXG4udWstbG9nby1pbnZlcnNlIHsgZGlzcGxheTogbm9uZTsgfVxuXG5cbi8qIERpc2FibGVkIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLWRpc2FibGVkIHsgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuXG4vKiBEcmFnIFN0YXRlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIE5lZWRlZCBpZiBtb3Zpbmcgb3ZlciBlbGVtZW50cyB3aXRoIGhhdmUgdGhlaXIgb3duIGN1cnNvciBvbiBob3ZlciwgZS5nLiBsaW5rcyBvciBidXR0b25zXG4gKiAyLiBGaXggZHJhZ2dpbmcgb3ZlciBpZnJhbWVzXG4gKi9cblxuLnVrLWRyYWcsXG4vKiAxICovXG4udWstZHJhZyAqIHsgY3Vyc29yOiBtb3ZlOyB9XG5cbi8qIDIgKi9cbi51ay1kcmFnIGlmcmFtZSB7IHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cblxuLyogRHJhZ292ZXIgU3RhdGVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQ3JlYXRlIGEgYm94LXNoYWRvdyB3aGVuIGRyYWdnaW5nIGEgZmlsZSBvdmVyIHRoZSB1cGxvYWQgYXJlYVxuICovXG5cbi51ay1kcmFnb3ZlciB7IGJveC1zaGFkb3c6ICRkcmFnb3Zlci1ib3gtc2hhZG93OyB9XG5cblxuLyogQmxlbmQgbW9kZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstYmxlbmQtbXVsdGlwbHkgeyBtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7IH1cbi51ay1ibGVuZC1zY3JlZW4geyBtaXgtYmxlbmQtbW9kZTogc2NyZWVuOyB9XG4udWstYmxlbmQtb3ZlcmxheSB7IG1peC1ibGVuZC1tb2RlOiBvdmVybGF5OyB9XG4udWstYmxlbmQtZGFya2VuIHsgbWl4LWJsZW5kLW1vZGU6IGRhcmtlbjsgfVxuLnVrLWJsZW5kLWxpZ2h0ZW4geyBtaXgtYmxlbmQtbW9kZTogbGlnaHRlbjsgfVxuLnVrLWJsZW5kLWNvbG9yLWRvZGdlIHsgbWl4LWJsZW5kLW1vZGU6IGNvbG9yLWRvZGdlOyB9XG4udWstYmxlbmQtY29sb3ItYnVybiB7IG1peC1ibGVuZC1tb2RlOiBjb2xvci1idXJuOyB9XG4udWstYmxlbmQtaGFyZC1saWdodCB7IG1peC1ibGVuZC1tb2RlOiBoYXJkLWxpZ2h0OyB9XG4udWstYmxlbmQtc29mdC1saWdodCB7IG1peC1ibGVuZC1tb2RlOiBzb2Z0LWxpZ2h0OyB9XG4udWstYmxlbmQtZGlmZmVyZW5jZSB7IG1peC1ibGVuZC1tb2RlOiBkaWZmZXJlbmNlOyB9XG4udWstYmxlbmQtZXhjbHVzaW9uIHsgbWl4LWJsZW5kLW1vZGU6IGV4Y2x1c2lvbjsgfVxuLnVrLWJsZW5kLWh1ZSB7IG1peC1ibGVuZC1tb2RlOiBodWU7IH1cbi51ay1ibGVuZC1zYXR1cmF0aW9uIHsgbWl4LWJsZW5kLW1vZGU6IHNhdHVyYXRpb247IH1cbi51ay1ibGVuZC1jb2xvciB7IG1peC1ibGVuZC1tb2RlOiBjb2xvcjsgfVxuLnVrLWJsZW5kLWx1bWlub3NpdHkgeyBtaXgtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTsgfVxuXG5cbi8qIFRyYW5zZm9ybVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zZm9ybS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG5cbi8qIFRyYW5zZm9ybSBPcmlnaW5cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1sZWZ0IHsgdHJhbnNmb3JtLW9yaWdpbjogMCAwOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi10b3AtY2VudGVyIHsgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLXRvcC1yaWdodCB7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMDsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLWxlZnQgeyB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTsgfVxuLnVrLXRyYW5zZm9ybS1vcmlnaW4tY2VudGVyLXJpZ2h0IHsgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSA1MCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1sZWZ0IHsgdHJhbnNmb3JtLW9yaWdpbjogMCAxMDAlOyB9XG4udWstdHJhbnNmb3JtLW9yaWdpbi1ib3R0b20tY2VudGVyIHsgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7IH1cbi51ay10cmFuc2Zvcm0tb3JpZ2luLWJvdHRvbS1yaWdodCB7IHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMTAwJTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLXV0aWxpdHktbWlzYykpIHtAaW5jbHVkZSBob29rLXV0aWxpdHktbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcGFuZWwtc2Nyb2xsYWJsZSgpe31cbi8vIEBtaXhpbiBob29rLWJveC1zaGFkb3ctYm90dG9tKCl7fVxuLy8gQG1peGluIGhvb2stZHJvcGNhcCgpe31cbi8vIEBtaXhpbiBob29rLWxvZ28oKXt9XG4vLyBAbWl4aW4gaG9vay1sb2dvLWhvdmVyKCl7fVxuLy8gQG1peGluIGhvb2stdXRpbGl0eS1taXNjKCl7fVxuXG5cbi8vIEludmVyc2Vcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1sb2dvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1sb2dvLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkaW52ZXJzZS1nbG9iYWwtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWRyb3BjYXAoKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28oKXt9XG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlLWxvZ28taG92ZXIoKXt9XG4iLCIvLyBOYW1lOiAgICAgICAgICAgIEZsZXhcbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIGZvciBsYXlvdXRzIGJhc2VkIG9uIGZsZXhib3hcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1mbGV4LSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IEZsZXhcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstZmxleCB7IGRpc3BsYXk6IGZsZXg7IH1cbi51ay1mbGV4LWlubGluZSB7IGRpc3BsYXk6IGlubGluZS1mbGV4OyB9XG5cbi8qXG4gKiBSZW1vdmUgcHNldWRvIGVsZW1lbnRzIGNyZWF0ZWQgYnkgbWljcm8gY2xlYXJmaXggYXMgcHJlY2F1dGlvblxuICovXG5cbi51ay1mbGV4OjpiZWZvcmUsXG4udWstZmxleDo6YWZ0ZXIsXG4udWstZmxleC1pbmxpbmU6OmJlZm9yZSxcbi51ay1mbGV4LWlubGluZTo6YWZ0ZXIgeyBkaXNwbGF5OiBub25lOyB9XG5cblxuLyogQWxpZ25tZW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFsaWduIGl0ZW1zIGFsb25nIHRoZSBtYWluIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogSG9yaXpvbnRhbFxuICovXG5cbi8vIERlZmF1bHRcbi51ay1mbGV4LWxlZnQgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbi51ay1mbGV4LWNlbnRlciB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4udWstZmxleC1yaWdodCB7IGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbi51ay1mbGV4LWJldHdlZW4geyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbi51ay1mbGV4LWFyb3VuZCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cblxuLyogUGhvbmUgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1zbWFsbCkge1xuXG4gICAgLnVrLWZsZXgtbGVmdFxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAudWstZmxleC1jZW50ZXJcXEBzIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLnVrLWZsZXgtYmV0d2VlblxcQHMgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAudWstZmxleC1hcm91bmRcXEBzIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKiBUYWJsZXQgbGFuZHNjYXBlIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1tZWRpdW0pIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBtIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAbSB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEBtIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBtIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAbSB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEBsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLnVrLWZsZXgtY2VudGVyXFxAbCB7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLnVrLWZsZXgtcmlnaHRcXEBsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEBsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnVrLWZsZXgtYXJvdW5kXFxAbCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbn1cblxuLyogTGFyZ2Ugc2NyZWVuIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC14bGFyZ2UpIHtcblxuICAgIC51ay1mbGV4LWxlZnRcXEB4bCB7IGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC51ay1mbGV4LWNlbnRlclxcQHhsIHsganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAudWstZmxleC1yaWdodFxcQHhsIHsganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC51ay1mbGV4LWJldHdlZW5cXEB4bCB7IGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC51ay1mbGV4LWFyb3VuZFxcQHhsIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxufVxuXG4vKlxuICogQWxpZ24gaXRlbXMgaW4gdGhlIGNyb3NzIGF4aXMgb2YgdGhlIGN1cnJlbnQgbGluZSBvZiB0aGUgZmxleCBjb250YWluZXJcbiAqIFJvdzogVmVydGljYWxcbiAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1zdHJldGNoIHsgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbi51ay1mbGV4LXRvcCB7IGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4udWstZmxleC1taWRkbGUgeyBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4udWstZmxleC1ib3R0b20geyBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuXG4vKiBEaXJlY3Rpb25cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBEZWZhdWx0XG4udWstZmxleC1yb3cgeyBmbGV4LWRpcmVjdGlvbjogcm93OyB9XG4udWstZmxleC1yb3ctcmV2ZXJzZSB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTsgfVxuLnVrLWZsZXgtY29sdW1uIHsgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuLnVrLWZsZXgtY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cblxuXG4vKiBXcmFwXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtbm93cmFwIHsgZmxleC13cmFwOiBub3dyYXA7IH1cbi51ay1mbGV4LXdyYXAgeyBmbGV4LXdyYXA6IHdyYXA7IH1cbi51ay1mbGV4LXdyYXAtcmV2ZXJzZSB7IGZsZXgtd3JhcDogd3JhcC1yZXZlcnNlOyB9XG5cbi8qXG4gKiBBbGlnbnMgaXRlbXMgd2l0aGluIHRoZSBmbGV4IGNvbnRhaW5lciB3aGVuIHRoZXJlIGlzIGV4dHJhIHNwYWNlIGluIHRoZSBjcm9zcy1heGlzXG4gKiBPbmx5IHdvcmtzIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgbGluZSBvZiBmbGV4IGl0ZW1zXG4gKi9cblxuLy8gRGVmYXVsdFxuLnVrLWZsZXgtd3JhcC1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaDsgfVxuLnVrLWZsZXgtd3JhcC10b3AgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4udWstZmxleC13cmFwLW1pZGRsZSB7IGFsaWduLWNvbnRlbnQ6IGNlbnRlcjsgfVxuLnVrLWZsZXgtd3JhcC1ib3R0b20geyBhbGlnbi1jb250ZW50OiBmbGV4LWVuZDsgfVxuLnVrLWZsZXgtd3JhcC1iZXR3ZWVuIHsgYWxpZ24tY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuLnVrLWZsZXgtd3JhcC1hcm91bmQgeyBhbGlnbi1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuXG4vKiBJdGVtIG9yZGVyaW5nXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIERlZmF1bHQgaXMgMFxuICovXG5cbi51ay1mbGV4LWZpcnN0IHsgb3JkZXI6IC0xO31cbi51ay1mbGV4LWxhc3QgeyBvcmRlcjogOTk7fVxuXG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtc21hbGwpIHtcblxuICAgIC51ay1mbGV4LWZpcnN0XFxAcyB7IG9yZGVyOiAtMTsgfVxuICAgIC51ay1mbGV4LWxhc3RcXEBzIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbWVkaXVtKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQG0geyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAbSB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQGwgeyBvcmRlcjogLTE7IH1cbiAgICAudWstZmxleC1sYXN0XFxAbCB7IG9yZGVyOiA5OTsgfVxuXG59XG5cbi8qIExhcmdlIHNjcmVlbiBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQteGxhcmdlKSB7XG5cbiAgICAudWstZmxleC1maXJzdFxcQHhsIHsgb3JkZXI6IC0xOyB9XG4gICAgLnVrLWZsZXgtbGFzdFxcQHhsIHsgb3JkZXI6IDk5OyB9XG5cbn1cblxuXG4vKiBJdGVtIGRpbWVuc2lvbnNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogSW5pdGlhbDogMCAxIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9ucywgYnV0IHNocmlua3NcbiAqL1xuXG4vKlxuICogTm8gRmxleDogMCAwIGF1dG9cbiAqIENvbnRlbnQgZGltZW5zaW9uc1xuICovXG5cbi51ay1mbGV4LW5vbmUgeyBmbGV4OiBub25lOyB9XG5cbi8qXG4gKiBSZWxhdGl2ZSBGbGV4OiAxIDEgYXV0b1xuICogU3BhY2UgaXMgYWxsb2NhdGVkIGNvbnNpZGVyaW5nIGNvbnRlbnRcbiAqL1xuXG4udWstZmxleC1hdXRvIHsgZmxleDogYXV0bzsgfVxuXG4vKlxuICogQWJzb2x1dGUgRmxleDogMSAxIDAlXG4gKiBTcGFjZSBpcyBhbGxvY2F0ZWQgc29sZWx5IGJhc2VkIG9uIGZsZXhcbiAqL1xuXG4udWstZmxleC0xIHsgZmxleDogMTsgfVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLWZsZXgtbWlzYykpIHtAaW5jbHVkZSBob29rLWZsZXgtbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stZmxleC1taXNjKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgTWFyZ2luXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgbWFyZ2luc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLW1hcmdpbi0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstbWFyZ2luLXNtYWxsLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tbWVkaXVtLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1tYXJnaW4tbGFyZ2UtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi14bGFyZ2UtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1yZW1vdmUtKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLW1hcmdpbi1hdXRvLSpgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJG1hcmdpbi1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi1zbWFsbC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLXNtYWxsLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi1tZWRpdW0tbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLW1lZGl1bS1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRtYXJnaW4tbGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1tZWRpdW0tbWFyZ2luICFkZWZhdWx0O1xuJG1hcmdpbi1sYXJnZS1tYXJnaW4tbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcblxuJG1hcmdpbi14bGFyZ2UtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWxhcmdlLW1hcmdpbiAhZGVmYXVsdDtcbiRtYXJnaW4teGxhcmdlLW1hcmdpbi1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC14bGFyZ2UtbWFyZ2luICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBNYXJnaW5cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogRGVmYXVsdFxuICovXG5cbi51ay1tYXJnaW4geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4geyBtYXJnaW4tdG9wOiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG5cbi8qIFNtYWxsXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1zbWFsbCB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tc21hbGwtbWFyZ2luOyB9XG4qICsgLnVrLW1hcmdpbi1zbWFsbCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1zbWFsbC10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4tc21hbGwtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tc21hbGwtbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXNtYWxsLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXNtYWxsLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cblxuLyogTWVkaXVtXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLW1hcmdpbi1tZWRpdW0geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLW1lZGl1bSB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cbi51ay1tYXJnaW4tbWVkaXVtLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLW1lZGl1bS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tbGVmdCB7IG1hcmdpbi1sZWZ0OiAkbWFyZ2luLW1lZGl1bS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1tZWRpdW0tcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbWVkaXVtLW1hcmdpbiAhaW1wb3J0YW50OyB9XG5cblxuLyogTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW47IH1cbiogKyAudWstbWFyZ2luLWxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuXG4udWstbWFyZ2luLWxhcmdlLXRvcCB7IG1hcmdpbi10b3A6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi1sYXJnZS1tYXJnaW4gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1sYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tbGFyZ2UtcmlnaHQgeyBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tbGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sOyB9XG4gICAgKiArIC51ay1tYXJnaW4tbGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cblxuICAgIC51ay1tYXJnaW4tbGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1ib3R0b20geyBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWxhcmdlLW1hcmdpbi1sICFpbXBvcnRhbnQ7IH1cbiAgICAudWstbWFyZ2luLWxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi1sYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi1sYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBYTGFyZ2VcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLXhsYXJnZSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbjsgfVxuKiArIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi14bGFyZ2UtdG9wIHsgbWFyZ2luLXRvcDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4teGxhcmdlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1sZWZ0IHsgbWFyZ2luLWxlZnQ6ICRtYXJnaW4teGxhcmdlLW1hcmdpbiAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXhsYXJnZS1yaWdodCB7IG1hcmdpbi1yaWdodDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luICFpbXBvcnRhbnQ7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1tYXJnaW4teGxhcmdlIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWw7IH1cbiAgICAqICsgLnVrLW1hcmdpbi14bGFyZ2UgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbiAgICAudWstbWFyZ2luLXhsYXJnZS10b3AgeyBtYXJnaW4tdG9wOiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG4gICAgLnVrLW1hcmdpbi14bGFyZ2UtYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLWxlZnQgeyBtYXJnaW4tbGVmdDogJG1hcmdpbi14bGFyZ2UtbWFyZ2luLWwgIWltcG9ydGFudDsgfVxuICAgIC51ay1tYXJnaW4teGxhcmdlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAkbWFyZ2luLXhsYXJnZS1tYXJnaW4tbCAhaW1wb3J0YW50OyB9XG5cbn1cblxuXG4vKiBSZW1vdmVcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLXJlbW92ZSB7IG1hcmdpbjogMCAhaW1wb3J0YW50OyB9XG4udWstbWFyZ2luLXJlbW92ZS10b3AgeyBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmVtb3ZlLWJvdHRvbSB7IG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1yZW1vdmUtbGVmdCB7IG1hcmdpbi1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tcmVtb3ZlLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1yZW1vdmUtdmVydGljYWwge1xuICAgIG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tcmVtb3ZlLWFkamFjZW50ICsgKiB7IG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxuXG5cbi8qIEF1dG9cbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstbWFyZ2luLWF1dG8ge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi51ay1tYXJnaW4tYXV0by10b3AgeyBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYXV0by1ib3R0b20geyBtYXJnaW4tYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cbi51ay1tYXJnaW4tYXV0by1sZWZ0IHsgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuLnVrLW1hcmdpbi1hdXRvLXJpZ2h0IHsgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnVrLW1hcmdpbi1hdXRvLXZlcnRpY2FsIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogYXV0byAhaW1wb3J0YW50O1xufVxuXG5cbi8vIEhvb2tzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmKG1peGluLWV4aXN0cyhob29rLW1hcmdpbi1taXNjKSkge0BpbmNsdWRlIGhvb2stbWFyZ2luLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLW1hcmdpbi1taXNjKCl7fVxuIiwiLy8gTmFtZTogICAgICAgICAgICBQYWRkaW5nXG4vLyBEZXNjcmlwdGlvbjogICAgIFV0aWxpdGllcyBmb3IgcGFkZGluZ1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLXBhZGRpbmdgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wYWRkaW5nLWxhcmdlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcGFkZGluZy1yZW1vdmUtKmBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcGFkZGluZy1wYWRkaW5nOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwYWRkaW5nLXBhZGRpbmctbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtbWVkaXVtLWd1dHRlciAhZGVmYXVsdDtcblxuJHBhZGRpbmctc21hbGwtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1zbWFsbC1ndXR0ZXIgIWRlZmF1bHQ7XG5cbiRwYWRkaW5nLWxhcmdlLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtZ3V0dGVyICFkZWZhdWx0O1xuJHBhZGRpbmctbGFyZ2UtcGFkZGluZy1sOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1sYXJnZS1ndXR0ZXIgIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBhZGRpbmdcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcGFkZGluZyB7IHBhZGRpbmc6ICRwYWRkaW5nLXBhZGRpbmc7IH1cblxuLyogRGVza3RvcCBhbmQgYmlnZ2VyICovXG5AbWVkaWEgKG1pbi13aWR0aDogJGJyZWFrcG9pbnQtbGFyZ2UpIHtcblxuICAgIC51ay1wYWRkaW5nIHsgcGFkZGluZzogJHBhZGRpbmctcGFkZGluZy1sOyB9XG5cbn1cblxuXG4vKiBTbWFsbFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wYWRkaW5nLXNtYWxsIHsgcGFkZGluZzogJHBhZGRpbmctc21hbGwtcGFkZGluZzsgfVxuXG5cbi8qIExhcmdlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmctbGFyZ2UgeyBwYWRkaW5nOiAkcGFkZGluZy1sYXJnZS1wYWRkaW5nOyB9XG5cbi8qIERlc2t0b3AgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LWxhcmdlKSB7XG5cbiAgICAudWstcGFkZGluZy1sYXJnZSB7IHBhZGRpbmc6ICRwYWRkaW5nLWxhcmdlLXBhZGRpbmctbDsgfVxuXG59XG5cblxuLyogUmVtb3ZlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBhZGRpbmctcmVtb3ZlIHsgcGFkZGluZzogMCAhaW1wb3J0YW50OyB9XG4udWstcGFkZGluZy1yZW1vdmUtdG9wIHsgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuLnVrLXBhZGRpbmctcmVtb3ZlLWJvdHRvbSB7IHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS1sZWZ0IHsgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cbi51ay1wYWRkaW5nLXJlbW92ZS1yaWdodCB7IHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuXG4udWstcGFkZGluZy1yZW1vdmUtdmVydGljYWwge1xuICAgIHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLnVrLXBhZGRpbmctcmVtb3ZlLWhvcml6b250YWwge1xuICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wYWRkaW5nLW1pc2MpKSB7QGluY2x1ZGUgaG9vay1wYWRkaW5nLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXBhZGRpbmctbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgUG9zaXRpb25cbi8vIERlc2NyaXB0aW9uOiAgICAgVXRpbGl0aWVzIHRvIHBvc2l0aW9uIGNvbnRlbnRcbi8vXG4vLyBDb21wb25lbnQ6ICAgICAgIGB1ay1wb3NpdGlvbi1hYnNvbHV0ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXJlbGF0aXZlYFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tei1pbmRleGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWxlZnRgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tdG9wLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLXRvcC1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tYm90dG9tLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWJvdHRvbS1yaWdodGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY2VudGVyLXJpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstcG9zaXRpb24tY292ZXJgXG4vL1xuLy8gTW9kaWZpZXJzOiAgICAgICBgdWstcG9zaXRpb24tc21hbGxgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1tZWRpdW1gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1wb3NpdGlvbi1sYXJnZWBcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kcG9zaXRpb24tc21hbGwtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRnbG9iYWwtc21hbGwtZ3V0dGVyICFkZWZhdWx0O1xuJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZ2xvYmFsLWd1dHRlciAhZGVmYXVsdDtcbiRwb3NpdGlvbi1sYXJnZS1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdsb2JhbC1ndXR0ZXIgIWRlZmF1bHQ7XG4kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWw6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFBvc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBEaXJlY3Rpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuW2NsYXNzKj0ndWstcG9zaXRpb24tdG9wJ10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1ib3R0b20nXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLWxlZnQnXSxcbltjbGFzcyo9J3VrLXBvc2l0aW9uLXJpZ2h0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXInXSB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cblxuLyogRWRnZXNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKiBEb24ndCB1c2UgYHdpZHRoOiAxMDAlYCBiZWNhdXNlIGl0IGlzIHdyb25nIGlmIHRoZSBwYXJlbnQgaGFzIHBhZGRpbmcuICovXG4udWstcG9zaXRpb24tdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLWJvdHRvbSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1sZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi51ay1wb3NpdGlvbi1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbn1cblxuXG4vKiBDb3JuZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXBvc2l0aW9uLXRvcC1sZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbn1cblxuLnVrLXBvc2l0aW9uLXRvcC1yaWdodCB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLWxlZnQge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xufVxuXG4udWstcG9zaXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cbi8qXG4gKiBDZW50ZXJcbiAqIDEuIEZpeCB0ZXh0IHdyYXBwaW5nIGlmIGNvbnRlbnQgaXMgbGFyZ2VyIHRoYW4gNTAlIG9mIHRoZSBjb250YWluZXIuXG4gKi9cblxuLnVrLXBvc2l0aW9uLWNlbnRlciB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsLTUwJSk7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiAtbW96LW1heC1jb250ZW50O1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLyogVmVydGljYWwgKi9cbltjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG5bY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLWxlZnQgeyBsZWZ0OiAwOyB9XG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0IHsgcmlnaHQ6IDA7IH1cblxuLnVrLXBvc2l0aW9uLWNlbnRlci1sZWZ0LW91dCB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IC1tb3otbWF4LWNvbnRlbnQ7XG4gICAgd2lkdGg6IG1heC1jb250ZW50O1xufVxuXG4udWstcG9zaXRpb24tY2VudGVyLXJpZ2h0LW91dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgICB3aWR0aDogLW1vei1tYXgtY29udGVudDtcbiAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG59XG5cbi8qIEhvcml6b250YWwgKi9cbi51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIge1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLyogMSAqL1xuICAgIHdpZHRoOiAtbW96LW1heC1jb250ZW50O1xuICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIgeyB0b3A6IDA7IH1cbi51ay1wb3NpdGlvbi1ib3R0b20tY2VudGVyIHsgYm90dG9tOiAwOyB9XG5cblxuLyogQ292ZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstcG9zaXRpb24tY292ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG59XG5cblxuLyogVXRpbGl0eVxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi51ay1wb3NpdGlvbi1yZWxhdGl2ZSB7IHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1hYnNvbHV0ZSB7IHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi1maXhlZCB7IHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50OyB9XG5cbi51ay1wb3NpdGlvbi16LWluZGV4IHsgei1pbmRleDogMTsgfVxuXG5cbi8qIE1hcmdpbiBtb2RpZmllclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBTbWFsbFxuICovXG5cbi51ay1wb3NpdGlvbi1zbWFsbCB7XG4gICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAoI3skcG9zaXRpb24tc21hbGwtbWFyZ2lufSAqIDIpKScpO1xuICAgIG1hcmdpbjogJHBvc2l0aW9uLXNtYWxsLW1hcmdpbjtcbn1cblxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpIHRyYW5zbGF0ZSgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbiwgKC0kcG9zaXRpb24tc21hbGwtbWFyZ2luKSk7IH1cblxuLnVrLXBvc2l0aW9uLXNtYWxsW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbi51ay1wb3NpdGlvbi1zbWFsbFtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1yaWdodCddIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVkoLSRwb3NpdGlvbi1zbWFsbC1tYXJnaW4pOyB9XG5cbi51ay1wb3NpdGlvbi1zbWFsbC51ay1wb3NpdGlvbi10b3AtY2VudGVyLFxuLnVrLXBvc2l0aW9uLXNtYWxsLnVrLXBvc2l0aW9uLWJvdHRvbS1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWCgtJHBvc2l0aW9uLXNtYWxsLW1hcmdpbik7IH1cblxuLypcbiAqIE1lZGl1bVxuICovXG5cbi51ay1wb3NpdGlvbi1tZWRpdW0ge1xuICAgIG1heC13aWR0aDogdW5xdW90ZSgnY2FsYygxMDAlIC0gKCN7JHBvc2l0aW9uLW1lZGl1bS1tYXJnaW59ICogMikpJyk7XG4gICAgbWFyZ2luOiAkcG9zaXRpb24tbWVkaXVtLW1hcmdpbjtcbn1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bS51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luLCAoLSRwb3NpdGlvbi1tZWRpdW0tbWFyZ2luKSk7IH1cblxuLnVrLXBvc2l0aW9uLW1lZGl1bVtjbGFzcyo9J3VrLXBvc2l0aW9uLWNlbnRlci1sZWZ0J10sXG4udWstcG9zaXRpb24tbWVkaXVtW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLW1lZGl1bS1tYXJnaW4pOyB9XG5cbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tdG9wLWNlbnRlcixcbi51ay1wb3NpdGlvbi1tZWRpdW0udWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbWVkaXVtLW1hcmdpbik7IH1cblxuLypcbiAqIExhcmdlXG4gKi9cblxuLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgICBtYXgtd2lkdGg6IHVucXVvdGUoJ2NhbGMoMTAwJSAtICgjeyRwb3NpdGlvbi1sYXJnZS1tYXJnaW59ICogMikpJyk7XG4gICAgbWFyZ2luOiAkcG9zaXRpb24tbGFyZ2UtbWFyZ2luO1xufVxuXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tY2VudGVyIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgdHJhbnNsYXRlKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLCAoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4pKTsgfVxuXG4udWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItbGVmdCddLFxuLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLXJpZ2h0J10geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWSgtJHBvc2l0aW9uLWxhcmdlLW1hcmdpbik7IH1cblxuLnVrLXBvc2l0aW9uLWxhcmdlLnVrLXBvc2l0aW9uLXRvcC1jZW50ZXIsXG4udWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luKTsgfVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnF1b3RlKCdjYWxjKDEwMCUgLSAoI3skcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWx9ICogMikpJyk7XG4gICAgICAgIG1hcmdpbjogJHBvc2l0aW9uLWxhcmdlLW1hcmdpbi1sO1xuICAgIH1cblxuICAgIC51ay1wb3NpdGlvbi1sYXJnZS51ay1wb3NpdGlvbi1jZW50ZXIgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSB0cmFuc2xhdGUoLSRwb3NpdGlvbi1sYXJnZS1tYXJnaW4tbCwgKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpKTsgfVxuXG4gICAgLnVrLXBvc2l0aW9uLWxhcmdlW2NsYXNzKj0ndWstcG9zaXRpb24tY2VudGVyLWxlZnQnXSxcbiAgICAudWstcG9zaXRpb24tbGFyZ2VbY2xhc3MqPSd1ay1wb3NpdGlvbi1jZW50ZXItcmlnaHQnXSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVZKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpOyB9XG5cbiAgICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tdG9wLWNlbnRlcixcbiAgICAudWstcG9zaXRpb24tbGFyZ2UudWstcG9zaXRpb24tYm90dG9tLWNlbnRlciB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVYKC0kcG9zaXRpb24tbGFyZ2UtbWFyZ2luLWwpOyB9XG5cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay1wb3NpdGlvbi1taXNjKSkge0BpbmNsdWRlIGhvb2stcG9zaXRpb24tbWlzYygpO31cblxuLy8gQG1peGluIGhvb2stcG9zaXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVHJhbnNpdGlvblxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgZm9yIHRyYW5zaXRpb25zXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstdHJhbnNpdGlvbi0qYFxuLy9cbi8vIE1vZGlmaWVyczogICAgICAgYHVrLXRyYW5zaXRpb24tZmFkZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2NhbGUtdXBgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNjYWxlLWRvd25gXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLXNsaWRlLXRvcC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1ib3R0b20tKmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zbGlkZS1yaWdodC0qYFxuLy8gICAgICAgICAgICAgICAgICBgdWstdHJhbnNpdGlvbi1zdHJva2VgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLW9wYXF1ZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLXRyYW5zaXRpb24tc2xvd2Bcbi8vXG4vLyBTdWItb2JqZWN0czogICAgIGB1ay10cmFuc2l0aW9uLXRvZ2dsZWAsXG4vLyAgICAgICAgICAgICAgICAgIGB1ay10cmFuc2l0aW9uLWFjdGl2ZWBcbi8vXG4vLyBTdGF0ZXM6ICAgICAgICAgIGB1ay1hY3RpdmVgXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLy8gVmFyaWFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRyYW5zaXRpb24tZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAuM3MgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNjYWxlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjEgIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZTogICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZTogICAgICAgICAgICAgIDUwcHggIWRlZmF1bHQ7XG5cbiR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb246ICAgICAgICAgICAgICAgICAgICAgICAwLjdzICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBUcmFuc2l0aW9uXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG4vKiBUb2dnbGUgKEhvdmVyICsgRm9jdXMpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIDEuIFByZXZlbnQgdGFiIGhpZ2hsaWdodGluZyBvbiBpT1MuXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlIHtcbiAgICAvKiAxICovXG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLypcbiAqIFJlbW92ZSBvdXRsaW5lIGZvciBgdGFiaW5kZXhgXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIHsgb3V0bGluZTogbm9uZTsgfVxuXG5cbi8qIFRyYW5zaXRpb25zXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFRoZSB0b2dnbGUgaXMgdHJpZ2dlcmVkIG9uIHRvdWNoIGRldmljZXMgYnkgdHdvIG1ldGhvZHM6XG4gKiAxLiBVc2luZyBgOmZvY3VzYCBhbmQgdGFiaW5kZXhcbiAqIDIuIFVzaW5nIGA6aG92ZXJgIGFuZCBhIGB0b3VjaHN0YXJ0YCBldmVudCBsaXN0ZW5lciByZWdpc3RlcmVkIG9uIHRoZSBkb2N1bWVudFxuICogICAgKERvZXNuJ3Qgd29yayBvbiBTdXJmYWNlIHRvdWNoIGRldmljZXMpXG4gKlxuICogTm90ZTogVHJhbnNpdGlvbnMgZG9uJ3Qgd29yayB3aXRoIGB1ay1wb3N0aW9uLWNlbnRlci0qYCBjbGFzc2VzIGJlY2F1c2UgdGhleSBhbHNvIHVzZSBgdHJhbnNmb3JtYCxcbiAqICAgICAgIHRoZXJlZm9yZSBpdCdzIHJlY29tbWVuZGVkIHRvIHVzZSBhbiBleHRyYSBgZGl2YCBmb3IgdGhlIHRyYW5zaXRpb24uXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tZmFkZSxcbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2NhbGUnXSxcbltjbGFzcyo9J3VrLXRyYW5zaXRpb24tc2xpZGUnXSxcbi51ay10cmFuc2l0aW9uLXN0cm9rZSwge1xuICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2Utb3V0O1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zZm9ybSwgZmlsdGVyLCBzdHJva2UtZGFzaG9mZnNldDtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4vKlxuICogRmFkZVxuICovXG5cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1mYWRlLFxuLnVrLXRyYW5zaXRpb24tdG9nZ2xlOmZvY3VzIC51ay10cmFuc2l0aW9uLWZhZGUsXG4udWstdHJhbnNpdGlvbi1hY3RpdmUudWstYWN0aXZlIC51ay10cmFuc2l0aW9uLWZhZGUgeyBvcGFjaXR5OiAxOyB9XG5cbi8qXG4gKiBTY2FsZVxuICogTm90ZTogVXNpbmcgYHNjYWxlM2RgIGZvciBiZXR0ZXIgaW1hZ2UgcmVuZGVyaW5nXG4gKi9cblxuLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAgeyB0cmFuc2Zvcm06IHNjYWxlM2QoMSwxLDEpOyB9XG4udWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHsgdHJhbnNmb3JtOiBzY2FsZTNkKCR0cmFuc2l0aW9uLXNjYWxlLCR0cmFuc2l0aW9uLXNjYWxlLDEpOyB9XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1zY2FsZS11cCxcbi51ay10cmFuc2l0aW9uLWFjdGl2ZS51ay1hY3RpdmUgLnVrLXRyYW5zaXRpb24tc2NhbGUtdXAge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZTNkKCR0cmFuc2l0aW9uLXNjYWxlLCR0cmFuc2l0aW9uLXNjYWxlLDEpO1xufVxuXG4udWstdHJhbnNpdGlvbi10b2dnbGU6aG92ZXIgLnVrLXRyYW5zaXRpb24tc2NhbGUtZG93bixcbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpmb2N1cyAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSAudWstdHJhbnNpdGlvbi1zY2FsZS1kb3duIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLDEsMSk7XG59XG5cbi8qXG4gKiBTbGlkZVxuICovXG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtbGVmdCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0IHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi51ay10cmFuc2l0aW9uLXNsaWRlLXRvcC1zbWFsbCB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zaXRpb24tc2xpZGUtc21hbGwtdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtYm90dG9tLXNtYWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtc21hbGwgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLXJpZ2h0LXNtYWxsIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR0cmFuc2l0aW9uLXNsaWRlLXNtYWxsLXRyYW5zbGF0ZSk7IH1cblxuLnVrLXRyYW5zaXRpb24tc2xpZGUtdG9wLW1lZGl1bSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWJvdHRvbS1tZWRpdW0geyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRyYW5zaXRpb24tc2xpZGUtbWVkaXVtLXRyYW5zbGF0ZSk7IH1cbi51ay10cmFuc2l0aW9uLXNsaWRlLWxlZnQtbWVkaXVtIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kdHJhbnNpdGlvbi1zbGlkZS1tZWRpdW0tdHJhbnNsYXRlKTsgfVxuLnVrLXRyYW5zaXRpb24tc2xpZGUtcmlnaHQtbWVkaXVtIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCR0cmFuc2l0aW9uLXNsaWRlLW1lZGl1bS10cmFuc2xhdGUpOyB9XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXRvZ2dsZTpob3ZlciBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10sXG4udWstdHJhbnNpdGlvbi10b2dnbGU6Zm9jdXMgW2NsYXNzKj0ndWstdHJhbnNpdGlvbi1zbGlkZSddLFxuLnVrLXRyYW5zaXRpb24tYWN0aXZlLnVrLWFjdGl2ZSBbY2xhc3MqPSd1ay10cmFuc2l0aW9uLXNsaWRlJ10ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTtcbn1cblxuLypcbiAqIFN0cm9rZVxuICovXG5cbi51ay10cmFuc2l0aW9uLXN0cm9rZSB7IHRyYW5zaXRpb24tZHVyYXRpb246IDNzOyB9XG5cbi8qIFNob3cgKi9cbi51ay10cmFuc2l0aW9uLXN0cm9rZTpob3Zlcixcbi51ay10cmFuc2l0aW9uLXN0cm9rZTpmb2N1cyxcbi51ay10cmFuc2l0aW9uLXN0cm9rZS51ay10cmFuc2l0aW9uLWFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBzdHJva2UtZGFzaG9mZnNldDogMCAhaW1wb3J0YW50O1xufVxuXG5cbi8qIE9wYWNpdHkgbW9kaWZpZXJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstdHJhbnNpdGlvbi1vcGFxdWUgeyBvcGFjaXR5OiAxOyB9XG5cblxuLyogRHVyYXRpb24gbW9kaWZpZXJzXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLnVrLXRyYW5zaXRpb24tc2xvdyB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR0cmFuc2l0aW9uLXNsb3ctZHVyYXRpb247IH1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay10cmFuc2l0aW9uLW1pc2MpKSB7QGluY2x1ZGUgaG9vay10cmFuc2l0aW9uLW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXRyYW5zaXRpb24tbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgVmlzaWJpbGl0eVxuLy8gRGVzY3JpcHRpb246ICAgICBVdGlsaXRpZXMgdG8gc2hvdyBvciBoaWRlIGNvbnRlbnQgb24gYnJlYWtwb2ludHMsIGhvdmVyIG9yIHRvdWNoXG4vL1xuLy8gQ29tcG9uZW50OiAgICAgICBgdWstaGlkZGVuLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay12aXNpYmxlLSpgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay1pbnZpc2libGVgXG4vLyAgICAgICAgICAgICAgICAgIGB1ay12aXNpYmxlLXRvZ2dsZWBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWludmlzaWJsZS1ob3ZlcmBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi10b3VjaGBcbi8vICAgICAgICAgICAgICAgICAgYHVrLWhpZGRlbi1ub3RvdWNoYFxuLy9cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBWaXNpYmlsaXR5XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGRlblxuICogYGhpZGRlbmAgYXR0cmlidXRlIGFsc28gc2V0IGhlcmUgdG8gbWFrZSBpdCBzdHJvbmdlclxuICovXG5cbltoaWRkZW5dLFxuLnVrLWhpZGRlbiB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4vKiBQaG9uZSBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXNtYWxsKSB7XG5cbiAgICAudWstaGlkZGVuXFxAcyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFRhYmxldCBsYW5kc2NhcGUgYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LW1lZGl1bSkge1xuXG4gICAgLnVrLWhpZGRlblxcQG0geyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBEZXNrdG9wIGFuZCBiaWdnZXIgKi9cbkBtZWRpYSAobWluLXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZSkge1xuXG4gICAgLnVrLWhpZGRlblxcQGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vKiBMYXJnZSBzY3JlZW4gYW5kIGJpZ2dlciAqL1xuQG1lZGlhIChtaW4td2lkdGg6ICRicmVha3BvaW50LXhsYXJnZSkge1xuXG4gICAgLnVrLWhpZGRlblxcQHhsIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLypcbiAqIFZpc2libGVcbiAqL1xuXG4vKiBQaG9uZSBwb3J0cmFpdCBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXhzbWFsbC1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAcyB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIFBob25lIGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LXNtYWxsLW1heCkge1xuXG4gICAgLnVrLXZpc2libGVcXEBtIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbn1cblxuLyogVGFibGV0IGxhbmRzY2FwZSBhbmQgc21hbGxlciAqL1xuQG1lZGlhIChtYXgtd2lkdGg6ICRicmVha3BvaW50LW1lZGl1bS1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAbCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG59XG5cbi8qIERlc2t0b3AgYW5kIHNtYWxsZXIgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiAkYnJlYWtwb2ludC1sYXJnZS1tYXgpIHtcblxuICAgIC51ay12aXNpYmxlXFxAeGwgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxufVxuXG5cbi8qIFZpc2liaWxpdHlcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4udWstaW52aXNpYmxlIHsgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7IH1cblxuXG4vKiBUb2dnbGUgKEhvdmVyICsgRm9jdXMpXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEhpZGRlblxuICogMS4gVGhlIHRvZ2dsZSBpcyB0cmlnZ2VyZWQgb24gdG91Y2ggZGV2aWNlcyB1c2luZyBgOmZvY3VzYCBhbmQgdGFiaW5kZXhcbiAqIDIuIFRoZSB0YXJnZXQgc3RheXMgdmlzaWJsZSBpZiBhbnkgZWxlbWVudCB3aXRoaW4gcmVjZWl2ZXMgZm9jdXMgdGhyb3VnaCBrZXlib2FyZFxuICogICAgRG9lc24ndCB3b3JrIGluIEVkZ2UsIHlldC5cbiAqIDMuIENhbid0IHVzZSBgZGlzcGxheTogbm9uZWAgbm9yIGB2aXNpYmlsaXR5OiBoaWRkZW5gIGJlY2F1c2UgYm90aCBhcmUgbm90IGZvY3VzYWJsZS5cbiAqXG4gKi9cblxuLyogMSArIDIgKi9cbi51ay12aXNpYmxlLXRvZ2dsZTpub3QoOmhvdmVyKTpub3QoOmZvY3VzKSAudWstaGlkZGVuLWhvdmVyOm5vdCg6Zm9jdXMtd2l0aGluKSB7XG4gICAgLyogMyAqL1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcbn1cblxuLypcbiAqIEludmlzaWJsZVxuICovXG5cbi8qIDEgKyAyICovXG4udWstdmlzaWJsZS10b2dnbGU6bm90KDpob3Zlcik6bm90KDpmb2N1cykgLnVrLWludmlzaWJsZS1ob3Zlcjpub3QoOmZvY3VzLXdpdGhpbikge1xuICAgIC8qIDMgKi9cbiAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG59XG5cbi8qXG4gKiAxLiBQcmV2ZW50IHRhYiBoaWdobGlnaHRpbmcgb24gaU9TLlxuICovXG5cbi51ay12aXNpYmxlLXRvZ2dsZSB7XG4gICAgLyogMSAqL1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qXG4gKiBSZW1vdmUgb3V0bGluZSBmb3IgYHRhYmluZGV4YFxuICovXG5cbi51ay12aXNpYmxlLXRvZ2dsZTpmb2N1cyB7IG91dGxpbmU6IG5vbmU7IH1cblxuXG4vKiBUb3VjaFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIGlmIHByaW1hcnkgcG9pbnRpbmcgZGV2aWNlIGhhcyBsaW1pdGVkIGFjY3VyYWN5LCBlLmcuIGEgdG91Y2ggc2NyZWVuLlxuICogV29ya3Mgb24gbW9iaWxlIGJyb3dzZXJzOiBTYWZhcmksIENocm9tZSBhbmQgQW5kcm9pZCBicm93c2VyXG4gKi9cblxuQG1lZGlhIChwb2ludGVyOiBjb2Fyc2UpIHtcbiAgICAudWstaGlkZGVuLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG59XG5cbi8qXG4gKiBIaWRlIGlmIHByaW1hcnkgcG9pbnRpbmcgZGV2aWNlIGlzIGFjY3VyYXRlLCBlLmcuIG1vdXNlLlxuICogMS4gRmFsbGJhY2sgZm9yIElFMTEgYW5kIEZpcmVmb3gsIGJlY2F1c2UgYHBvaW50ZXJgIGlzIG5vdCBzdXBwb3J0ZWRcbiAqIDIuIFJlc2V0IGlmIHN1cHBvcnRlZFxuICovXG5cbi8qIDEgKi9cbi51ay1oaWRkZW4tbm90b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgKHBvaW50ZXI6IGNvYXJzZSkge1xuICAgIC51ay1oaWRkZW4tbm90b3VjaCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbn1cblxuXG4vLyBIb29rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBpZihtaXhpbi1leGlzdHMoaG9vay12aXNpYmlsaXR5LW1pc2MpKSB7QGluY2x1ZGUgaG9vay12aXNpYmlsaXR5LW1pc2MoKTt9XG5cbi8vIEBtaXhpbiBob29rLXZpc2liaWxpdHktbWlzYygpe31cbiIsIi8vIE5hbWU6ICAgICAgICAgICAgSW52ZXJzZVxuLy8gRGVzY3JpcHRpb246ICAgICBJbnZlcnNlIGNvbXBvbmVudCBzdHlsZSBmb3IgbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kc1xuLy9cbi8vIENvbXBvbmVudDogICAgICAgYHVrLWxpZ2h0YFxuLy8gICAgICAgICAgICAgICAgICBgdWstZGFya2Bcbi8vXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuXG4vLyBWYXJpYWJsZXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZTogICAgICAgICAgICAgICAgICAgICAgbGlnaHQgIWRlZmF1bHQ7XG5cbiRpbnZlcnNlLWdsb2JhbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC43KSAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1lbXBoYXNpcy1jb2xvcjogICAgICAgICAgICAgICAgICAkZ2xvYmFsLWludmVyc2UtY29sb3IgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtbXV0ZWQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgcmdiYSgkZ2xvYmFsLWludmVyc2UtY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG4kaW52ZXJzZS1nbG9iYWwtaW52ZXJzZS1jb2xvcjogICAgICAgICAgICAgICAgICAgJGdsb2JhbC1jb2xvciAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLXByaW1hcnktYmFja2dyb3VuZDogICAgICAgICAgICAgICRnbG9iYWwtaW52ZXJzZS1jb2xvciAhZGVmYXVsdDtcbiRpbnZlcnNlLWdsb2JhbC1tdXRlZC1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICByZ2JhKCRnbG9iYWwtaW52ZXJzZS1jb2xvciwgMC4xKSAhZGVmYXVsdDtcblxuJGludmVyc2UtZ2xvYmFsLWJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGdsb2JhbC1pbnZlcnNlLWNvbG9yLCAwLjIpICFkZWZhdWx0O1xuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiBJbnZlcnNlXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuXG5cbi8qXG4gKiBJbXBsZW1lbnRlZCBjbGFzcyBkZXBlbmRzIG9uIHRoZSBnZW5lcmFsIHRoZW1lIGNvbG9yXG4gKiBgdWstbGlnaHRgIGlzIGZvciBsaWdodCBjb2xvcnMgb24gZGFyayBiYWNrZ3JvdW5kc1xuICogYHVrLWRhcmtgIGlzIG9yIGRhcmsgY29sb3JzIG9uIGxpZ2h0IGJhY2tncm91bmRzXG4gKi9cblxuQGlmICgkaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZSA9PSBsaWdodCkgeyAudWstbGlnaHQgeyBAaWYobWl4aW4tZXhpc3RzKGhvb2staW52ZXJzZSkpIHtAaW5jbHVkZSBob29rLWludmVyc2UoKTt9fX1cblxuQGlmICgkaW52ZXJzZS1nbG9iYWwtY29sb3ItbW9kZSA9PSBkYXJrKSB7IC51ay1kYXJrIHsgQGlmKG1peGluLWV4aXN0cyhob29rLWludmVyc2UpKSB7QGluY2x1ZGUgaG9vay1pbnZlcnNlKCk7fX19XG5cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1pbnZlcnNlKCl7fSIsIi8vIE5hbWU6ICAgICAgICAgICAgUHJpbnRcbi8vIERlc2NyaXB0aW9uOiAgICAgT3B0aW1pemUgcGFnZSBmb3IgcHJpbnRpbmdcbi8vXG4vLyBBZGFwdGVkIGZyb20gaHR0cDovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZVxuLy9cbi8vIE1vZGlmaWNhdGlvbnM6ICAgUmVtb3ZlZCBsaW5rIGBocmVmYCBhbmQgYHRpdGxlYCByZWxhdGVkIHJ1bGVzXG4vL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBDb21wb25lbnQ6IFByaW50XG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIHByaW50IHtcblxuICAgICosXG4gICAgKjo6YmVmb3JlLFxuICAgICo6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cblxuICAgQGlmKG1peGluLWV4aXN0cyhob29rLXByaW50KSkge0BpbmNsdWRlIGhvb2stcHJpbnQoKTt9XG5cbn1cblxuLy8gSG9va3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAbWl4aW4gaG9vay1wcmludCgpe31cbiIsIi51ay1ib3gtc2hhZG93LW5vbmUge1xuXHRib3gtc2hhZG93Om5vbmU7XG59XG5cbi51ay1ib3JkZXItcmFkaXVzIHtcblx0Ym9yZGVyLXJhZGl1czo1cHg7XG5cdG92ZXJmbG93OmhpZGRlbjtcbn1cblxuLy8gU3RvcCBzaWRlIHNjcm9sbGluZyBmcm9tIGRvdCBwYXR0ZXJuc1xuLnVrLXNlY3Rpb24ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogNjBweDtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG59IiwiLnNpdGUtZm9vdGVye1xuXHQmX19zb2NpYWx7XG5cdFx0aGVpZ2h0OjEwMCU7XG5cdH1cblxuXHQmX190b3B7XG5cdFx0cGFkZGluZzo0MHB4IDAgNDBweDtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk1OXB4KXtcblx0XHRcdHBhZGRpbmc6NDBweCAzMHB4IDQwcHg7XG5cdFx0fVxuXG5cdFx0LnVrLWJ1dHRvbi1sYXJnZXtcblx0XHRcdGZvbnQtc2l6ZToxNnB4ICFpbXBvcnRhbnQ7XG5cdFx0XHRjb2xvcjojRUQ2ODhBIWltcG9ydGFudDtcblx0XHRcdGZvbnQtd2VpZ2h0OjUwMCAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXG5cdCZfX21pZHtcblx0XHRwYWRkaW5nOiA0MHB4IDAgMDtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk1OXB4KXtcblx0XHRcdHBhZGRpbmc6NDBweCAzMHB4IDQwcHg7XG5cdFx0fVxuXG5cdFx0cCB7XG5cdFx0XHRmb250LXdlaWdodDo1MDA7XG5cdFx0fVxuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCl7XG5cdFx0XHRwYWRkaW5nOiB7XG5cdFx0XHRcdGxlZnQ6IDMwcHg7XG5cdFx0XHRcdHJpZ2h0OiAzMHB4O1xuXHRcdFx0fVxuXHRcdFx0bWFyZ2luLWJvdHRvbTogNDhweDtcblxuXHRcdFx0cCB7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5oaWRlLXNte1xuXHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpe1xuXHRcdFx0ZGlzcGxheTpub25lO1xuXHRcdH1cblx0fVxuXG5cdCZfX2JvdHRvbXtcblx0XHRwYWRkaW5nOiAwIDAgNjBweDtcblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjk1OXB4KXtcblx0XHRcdHBhZGRpbmc6MHB4IDBweCA2MHB4O1xuXHRcdFx0ZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7XG5cdFx0fVxuXG5cblx0XHQuY29weXJpZ2h0IHtcblx0XHRcdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDE1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cHtcblx0XHRcdGZvbnQtc2l6ZToxNnB4O1xuXHRcdFx0Zm9udC13ZWlnaHQ6NTAwO1xuXHRcdFx0bWluLXdpZHRoOiAyMDBweDtcblxuXHRcdH1cblxuXHRcdHVse1xuXHRcdFx0bGl7XG5cdFx0XHRcdGRpc3BsYXk6ZmxleDtcblx0XHRcdFx0YXtcblx0XHRcdFx0XHRmb250LXNpemU6MTZweDtcblx0XHRcdFx0XHRmb250LXdlaWdodDo1MDA7XG5cdFx0XHRcdFx0cGFkZGluZzoge1xuXHRcdFx0XHRcdFx0bGVmdDogMDtcblx0XHRcdFx0XHRcdHJpZ2h0OiAxOHB4O1xuXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjdweCl7XG5cblx0XHRcdCZfX21lbnV7XG5cdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdHRleHQtYWxpZ246Y2VudGVyO1xuXG5cdFx0XHRcdHB7XG5cdFx0XHRcdFx0Zm9udC1zaXplOjE2cHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6MSAhaW1wb3J0YW50O1xuXHRcdFx0XHRcdG1hcmdpbjogMCAwIDIwcHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHR1bHtcblx0XHRcdFx0XHRmbGV4LXdyYXA6d3JhcDtcblxuXHRcdFx0XHRcdGxpe1xuXHRcdFx0XHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdFx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDoxLjc4NTtcblx0XHRcdFx0XHRcdG1hcmdpbjogMCAwIDE1cHg7XG5cblx0XHRcdFx0XHRcdGF7XG5cdFx0XHRcdFx0XHRcdGZvbnQtc2l6ZToxNnB4O1xuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6YXV0bztcblx0XHRcdFx0XHRcdFx0bWluLWhlaWdodDogMDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn0iLCJoZWFkZXIge1xuICAgICosICo6YmVmb3JlLCAqOmFmdGVyIHtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgLnVrLWxvZ28ge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgIG1hcmdpbjogMCAxNXB4O1xuICAgICAgICB6LWluZGV4OiA5OTtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgbWFyZ2luOiAzcHggNDBweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5uYXZpZ2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgMTQ5cHg7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMzgwcHgpIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMjBweCkge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICB9XG59XG5cbi8qIFN0YXJ0IEhlcmUgKi9cbi5leHBhbmRlZCB7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbn1cblxuLm1haW5tZW51IHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICB6LWluZGV4OiA5O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge1xuICAgICAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICAvLyBwYWRkaW5nLXRvcDogODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcblxuXG4gICAgICAgICAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNjZweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0OHB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggNHB4IHJnYmEoIDAsIDAsIDAsIDAuNSk7XG5cbiAgICAgICAgICAgICAgICAgICAgJi52aXNpYmxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTMuNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDdweCBzb2xpZCBibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgd2hpdGUgd2hpdGU7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEzNWRlZyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IC0ycHggMnB4IDJweCAwIHJnYmEoIDAsIDAsIDAsIDAuMSk7XG5cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAmLmN1cnJlbnQtbWVudS1pdGVtIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjM0IzQjNCICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNGMkYyRjI7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzNCM0IzQjtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2RjMGI0MCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudWstYnV0dG9uLXByaW1hcnkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5idXR0b257XG4gICAgICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAudWstYnV0dG9uO1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC51ay1idXR0b24tcHJpbWFyeTtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAudWstYnV0dG9uLWxhcmdlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM1ZTVlNWU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgIC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAzOXB4IDAgMDtcbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTIwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4IDAgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIm11c2VvLXNhbnNcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMzAwbXMgZWFzZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiRzbi1waW5rO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTlFQUVBO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgICAuaGlkZGVuIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNtZW51LWNsb3NlIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuXG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0LWl0ZW1zIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgfVxufVxuXG4uZXhwYW5kZWQge1xuICAgIHBhZGRpbmc6IDgwcHggMzBweDtcblxuICAgIC5yaWdodC1pdGVtcyB7XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgICAgYTphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbGkgYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IHVybChcIi4uLy4uL3RoZW1lcy9zdXBwbHktbmF0aW9uLXRoZW1lL2ltYWdlcy9yaWdodC1hcnJvdy5zdmdcIik7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRjY3NDc0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVrLW5hdmJhci10b2dnbGUge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnVrLWJ1dHRvbi1sYXJnZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC8vICY6YWZ0ZXIge1xuICAgICAgICAvLyAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIC8vIH1cblxuICAgIH1cblxuICAgIC51ay1idXR0b24tcHJpbWFyeSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAjZGMwYjQwICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IDEuMWVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAxMDA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tYWlubWVudS5leHBhbmRlZCBsaSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDk2MHB4KSB7XG4gICAgLm1haW5tZW51IGxpLFxuICAgIC5tYWlubWVudS5leHBhbmRlZCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5tYWlubWVudSAubWVudSxcbiAgICAubWFpbm1lbnUuZXhwYW5kZWQgLm1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubWFpbm1lbnUgdWwgLm1lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAvLyBoZWlnaHQ6IDgwcHg7XG4gICAgYSNtZW51LW9wZW4sXG4gICAgYSNtZW51LWNsb3NlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gICNtb2JpbGUtbWVudS1idXR0b24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgI3NuLW1vYmlsZS1tZW51IHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVrLW9mZmNhbnZhcy1iYXIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIC5zbi1tb2JpbGUtbWVudS10b3AtYmFyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgYmFja2dyb3VuZDogd2hpdGUgIWltcG9ydGFudDtcblxuICAgICAgICBhLnVrLW9mZmNhbnZhcy1jbG9zZS51ay1pY29uLnVrLWNsb3NlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICB3aWR0aDogNjRweDtcbiAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHNwYW4udWstaWNvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgICAgLyogYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7ICovXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuc24tbW9iaWxlLW1lbnUtY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMnB4O1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMCA1MHB4O1xuICAgICAgICAgICYuc3ViLW1lbnV7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAzMHB4IDA7XG5cbiAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206MHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggMDtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIC8vIGhlaWdodDogNjJweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTllYWVhO1xuICAgICAgICAgICAgcGFkZGluZzogMThweCAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAuc24tc2VhcmNoLWljb257XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogdXJsKFwiLi4vLi4vdGhlbWVzL3N1cHBseS1uYXRpb24tdGhlbWUvaW1hZ2VzL3JpZ2h0LWFycm93LnN2Z1wiKTtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBjb2xvcjogIzVlNWU1ZTtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwibXVzZW8tc2Fuc1wiO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGxpLmFjdGl2ZXtcbiAgICAgICAgICAgICAgPmF7XG4gICAgICAgICAgICAgICAgICBjb2xvcjojZGMwYjQwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogdXJsKFwiLi4vLi4vdGhlbWVzL3N1cHBseS1uYXRpb24tdGhlbWUvaW1hZ2VzL2Rvd24ucG5nXCIpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMjJweDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHVsLnN1Yi1tZW51e1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBsaS5zbi1tb2JpbGUtam9pbi1ub3cgYSB7XG4gICAgICBjb2xvcjogI2RjMGI0MCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICNtb2JpbGUtbWVudS1idXR0b24ge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAgIHNwYW4udWstaWNvbiB7XG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgd2lkdGg6IDY0cHg7XG4gICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgLyogYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7ICovXG4gICAgfVxuICB9XG4iLCIuYmVuZWZpdHNsaWRlcntcblx0LnVrLXNsaWRlci1pdGVtc3tcblx0XHR1bHtcblx0XHRcdHBhZGRpbmc6MTBweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRiYWNrZ3JvdW5kOiNGRkY7XG5cdFx0XHRhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuXG5cdFx0XHRsaXtcblx0XHRcdFx0Zm9udC1zaXplOjE2cHg7XG5cblx0XHRcdFx0LmNvcnBvcmF0ZS1kZXNje1xuXHRcdFx0XHRcdHBhZGRpbmctcmlnaHQ6MTQwcHggIWltcG9ydGFudDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQmOmFmdGVye1xuXHRcdFx0XHR0b3A6MTBweCAgIWltcG9ydGFudDtcblx0XHRcdFx0aGVpZ2h0OmNhbGMoMTAwJSAtIDIwcHgpICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdCZfX25hdntcblx0ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0ICAgIGJvdHRvbTogLTczcHg7XG5cdCAgICBsZWZ0OiA1MCU7XG5cdCAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cdH1cblxuXHQmX19jdGF7XG5cdCAgICBtYXJnaW4tdG9wOiA4MHB4O1xuXHR9XG59IiwiLmN1cnJlbnQtbWVtYmVyc3tcblx0Jl9fY3Rhc3tcblx0XHRhe1xuXHRcdFx0bWFyZ2luOiAxNXB4O1xuXHRcdH1cblx0fVxufSIsIi5jbGllbnQtY2FyZCB7XG5cdHBhZGRpbmc6IDBweCAxNXB4IDI1cHg7XG5cdGJvcmRlci1yYWRpdXM6NXB4O1xuXHRib3JkZXI6MXB4IHNvbGlkICNFRUY1RkY7XG5cdGJveC1zaGFkb3c6IDBweCA1cHggMTBweCByZ2JhKDIsMTEwLDI0MywuMSkgIWltcG9ydGFudDtcblx0bWluLWhlaWdodDogMjYwcHg7XG5cblx0LmNsaWVudC1uYW1lIHtcblx0XHRjb2xvcjogIzNCM0IzQjtcblx0XHRmb250LWZhbWlseTogXCJtdXNlby1zYW5zXCI7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdFx0bWFyZ2luLXRvcDogMDtcblx0XHRsaW5lLWhlaWdodDogMS4xODc1ICFpbXBvcnRhbnQ7XG5cdFx0Ym9yZGVyLXRvcDoxcHggc29saWQgI0RBRTVGNjtcblx0XHRwYWRkaW5nLXRvcDoyMHB4O1xuXHR9XG5cdC5jbGllbnQtaW5kdXN0cnkge1xuXHRcdG1hcmdpbjowO1xuXHRcdGNvbG9yOiAjM2IzYjNiO1xuXHRcdGZvbnQtc2l6ZTogMTRweDtcblx0XHRmb250LWZhbWlseTogXCJtdXNlby1zYW5zXCI7XG5cdFx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0XHR0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDI4ICFpbXBvcnRhbnQ7XG5cdH1cblxuXHQuY2xpZW50LXRpbWV7XG5cdFx0ZGlzcGxheTpub25lO1xuXHR9XG5cdC5jbGllbnQtbG9nb3tcblx0XHR3aWR0aDogMTAwJTtcblx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdFx0bWluLWhlaWdodDogMTQ1cHg7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRmbGV4LWRpcmVjdGlvbjogcm93O1xuXHRcdGZsZXgtd3JhcDogd3JhcDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXG5cdFx0aW1ne1xuXHRcdFx0bWF4LXdpZHRoOjEwMCU7XG5cdFx0XHR3aWR0aDoxMDBweDtcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdH1cblx0fVxufVxuXG4uaXNvdG9wZS1lbGVtZW50e1xuXHR3aWR0aDogY2FsYygyNSUgLSA1MHB4KTtcblx0bWFyZ2luOjEwcHg7XG5cdEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTYwcHgpXG5cdHtcblx0XHR3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG5cdH1cbn0iLCIuc2l0ZS1zZWFyY2gge1xuICBtaW4taGVpZ2h0OiA1NXZoO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvcm0ge1xuICAgIG1hcmdpbi10b3A6IDE1dmg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICAvLyBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgLy8gaW5wdXQ6bm90KC5zZWFyY2gtc3VibWl0KSB7XG4gICAgLy8gICB6LWluZGV4OiAxMDAwO1xuICAgIC8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC8vICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8vICAgYm94LXNoYWRvdzogMCAyOHB4IDQzcHggcmdiYSgwLCAwLCAwLCAwLjExKTtcbiAgICAvLyAgIGJvcmRlcjogbm9uZTtcbiAgICAvLyAgIGhlaWdodDogNzJweDtcbiAgICAvLyAgIG1heC13aWR0aDogNjE2cHg7XG4gICAgLy8gICB3aWR0aDogMTAwJTtcbiAgICAvLyAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgIC8vICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAvLyAgIHBhZGRpbmc6IDBweCA0MHB4O1xuICAgIC8vICAgZm9udC1zaXplOiAxNnB4O1xuICAgIC8vICAgbWFyZ2luOiAyMHB4IGF1dG8gIWltcG9ydGFudDtcbiAgICAvLyAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgLy8gICBib3JkZXI6IDFweCBzb2xpZCAjZGFlNWY2O1xuICAgIC8vIH1cbiAgICAvLyBpbnB1dC5zZWFyY2gtc3VibWl0IHtcbiAgICAvLyAgIHBhZGRpbmc6IDAgNDBweCAhaW1wb3J0YW50O1xuICAgIC8vICAgbGluZS1oZWlnaHQ6IDUzcHggIWltcG9ydGFudDtcbiAgICAvLyAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgIC8vICAgZm9udC1mYW1pbHk6IFwibXVzZW8tc2Fuc1wiO1xuICAgIC8vICAgbWF4LXdpZHRoOiAxNDBweDtcbiAgICAvLyAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAvLyAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgLy8gfVxuICB9XG59XG4iLCIucHVtLXRoZW1lLXN1cHBseS1uYXRpb24ge1xuICAucHVtLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDYwcHggNDBweCAhaW1wb3J0YW50O1xuICAgIG1heC13aWR0aDogNTc1cHggIWltcG9ydGFudDtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMTFweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5wdW0tdGl0bGUge1xuICAgICAgY29sb3I6ICMzQjNCM0I7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWhlYWRpbmctZm9udC1mYW1pbHk7XG5cbiAgICAgIHBhZGRpbmc6IHtcbiAgICAgICAgYm90dG9tOiAxNnB4O1xuICAgICAgfVxuXG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHVtLWNvbnRlbnQge1xuICAgICAgY29sb3I6ICM0QzRDNEM7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgICAgIGNvbG9yOiAjNUU1RTVFO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wb3BtYWtlLWNsb3NlIHtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHdpZHRoOiA2MCUgIWltcG9ydGFudDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxOHB4IDAgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMjVweCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgIG1hcmdpbjowO1xuICB9XG59IiwiI2JyZWFkY3J1bWJzIHtcbiAgYmFja2dyb3VuZDogI0YxRjRGRDtcbiAgcGFkZGluZzogMTNweCAwO1xuXG4gIC5jb250ZW50IHtcbiAgICA+IHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1sZWZ0OiA3MHB4O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgYSwgc3Ryb25nIHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZm9udDoge1xuICAgICAgICB3ZWlnaHQ6IDEwMDtcbiAgICAgIH1cbiAgICAgIGNvbG9yOiAjMUExQTI1O1xuXG4gICAgICAmLmhvbWUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB7XG4gICAgICAgICAgaW1hZ2U6IHVybChpbWFnZXMvaWNvbi1ob21lLnN2Zyk7XG4gICAgICAgICAgcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgc2l6ZTogY29udGFpbjtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICAjYnJlYWRjcnVtYnMge1xuICAgIC5jb250ZW50IHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUNBQSxBQUNFLGtCQURnQixDQUNoQixPQUFPLENBQUM7RUFDTixRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsTUFBTTtFQUNsQixVQUFVLEVBQUUsS0FBSyxHQUlsQjtFQVJILEFBS0ksa0JBTGMsQ0FDaEIsT0FBTyxBQUlKLE1BQU0sQ0FBQztJQUNOLE1BQU0sRUFBRSxZQUFZLEdBQ3JCOztBQVBMLEFBU0Usa0JBVGdCLENBU2hCLE9BQU8sQUFBQSxTQUFTLENBQUM7RUFDZixNQUFNLEVBQUUsMkJBQTJCLEdBQ3BDOztBQVhILEFBWUUsa0JBWmdCLENBWWhCLE9BQU8sQUFBQSxtQkFBbUIsQ0FBQztFQUN6QixPQUFPLEVBQUUsSUFBSSxHQUNkOztBQWRILEFBZUUsa0JBZmdCLENBZWhCLFNBQVMsQ0FBQztFQUNSLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxHQUFHO0VB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QUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJOztBQUkzQyxpQ0FBaUM7QUFDakMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0VBRXBCLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJOztBQUkzQyx3QkFBd0I7QUFDeEIsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3ZDLEFBQUEsaUJBQWlCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJOztBQUkzQyw2QkFBNkI7QUFDN0IsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNO0VBRXJCLEFBQUEsa0JBQWtCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3hDLEFBQUEsa0JBQWtCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3hDLEFBQUEsa0JBQWtCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3hDLEFBQUEsa0JBQWtCLENBQUM7SUFBRSxZQUFZLEVBQUUsQ0FBQyxHQUFJO0VBQ3hDLEFBQUEsa0JBQWtC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 */