/*
    Velocity Transitions List
     .velocity('transition.fadeIn')
    .velocity('transition.fadeOut')
    .velocity('transition.flipXIn')
    .velocity('transition.flipXOut')
    .velocity('transition.flipYIn')
    .velocity('transition.flipYOut')
    .velocity('transition.flipBounceXIn')
    .velocity('transition.flipBounceXOut')
    .velocity('transition.flipBounceYIn')
    .velocity('transition.flipBounceYOut')
    .velocity('transition.swoopIn')
    .velocity('transition.swoopOut')
    .velocity('transition.whirlIn')
    .velocity('transition.whirlOut')
    .velocity('transition.shrinkIn')
    .velocity('transition.shrinkOut')
    .velocity('transition.expandIn')
    .velocity('transition.expandOut')
    .velocity('transition.bounceIn')
    .velocity('transition.bounceOut')
    .velocity('transition.bounceUpIn')
    .velocity('transition.bounceUpOut')
    .velocity('transition.bounceDownIn')
    .velocity('transition.bounceDownOut')
    .velocity('transition.bounceLeftIn')
    .velocity('transition.bounceLeftOut')
    .velocity('transition.bounceRightIn')
    .velocity('transition.bounceRightOut')
    .velocity('transition.slideUpIn')
    .velocity('transition.slideUpOut')
    .velocity('transition.slideDownIn')
    .velocity('transition.slideDownOut')
    .velocity('transition.slideLeftIn')
    .velocity('transition.slideLeftOut')
    .velocity('transition.slideRightIn')
    .velocity('transition.slideRightOut')
    .velocity('transition.slideUpBigIn')
    .velocity('transition.slideUpBigOut')
    .velocity('transition.slideDownBigIn')
    .velocity('transition.slideDownBigOut')
    .velocity('transition.slideLeftBigIn')
    .velocity('transition.slideLeftBigOut')
    .velocity('transition.slideRightBigIn')
    .velocity('transition.slideRightBigOut')
    .velocity('transition.perspectiveUpIn')
    .velocity('transition.perspectiveUpOut')
    .velocity('transition.perspectiveDownIn')
    .velocity('transition.perspectiveDownOut')
    .velocity('transition.perspectiveLeftIn')
    .velocity('transition.perspectiveLeftOut')
    .velocity('transition.perspectiveRightIn')
    .velocity('transition.perspectiveRightOut'); 

*/
/* Mixins
--------------------------------------------------------------- */
/*
    Velocity Transitions List
     .velocity('transition.fadeIn')
    .velocity('transition.fadeOut')
    .velocity('transition.flipXIn')
    .velocity('transition.flipXOut')
    .velocity('transition.flipYIn')
    .velocity('transition.flipYOut')
    .velocity('transition.flipBounceXIn')
    .velocity('transition.flipBounceXOut')
    .velocity('transition.flipBounceYIn')
    .velocity('transition.flipBounceYOut')
    .velocity('transition.swoopIn')
    .velocity('transition.swoopOut')
    .velocity('transition.whirlIn')
    .velocity('transition.whirlOut')
    .velocity('transition.shrinkIn')
    .velocity('transition.shrinkOut')
    .velocity('transition.expandIn')
    .velocity('transition.expandOut')
    .velocity('transition.bounceIn')
    .velocity('transition.bounceOut')
    .velocity('transition.bounceUpIn')
    .velocity('transition.bounceUpOut')
    .velocity('transition.bounceDownIn')
    .velocity('transition.bounceDownOut')
    .velocity('transition.bounceLeftIn')
    .velocity('transition.bounceLeftOut')
    .velocity('transition.bounceRightIn')
    .velocity('transition.bounceRightOut')
    .velocity('transition.slideUpIn')
    .velocity('transition.slideUpOut')
    .velocity('transition.slideDownIn')
    .velocity('transition.slideDownOut')
    .velocity('transition.slideLeftIn')
    .velocity('transition.slideLeftOut')
    .velocity('transition.slideRightIn')
    .velocity('transition.slideRightOut')
    .velocity('transition.slideUpBigIn')
    .velocity('transition.slideUpBigOut')
    .velocity('transition.slideDownBigIn')
    .velocity('transition.slideDownBigOut')
    .velocity('transition.slideLeftBigIn')
    .velocity('transition.slideLeftBigOut')
    .velocity('transition.slideRightBigIn')
    .velocity('transition.slideRightBigOut')
    .velocity('transition.perspectiveUpIn')
    .velocity('transition.perspectiveUpOut')
    .velocity('transition.perspectiveDownIn')
    .velocity('transition.perspectiveDownOut')
    .velocity('transition.perspectiveLeftIn')
    .velocity('transition.perspectiveLeftOut')
    .velocity('transition.perspectiveRightIn')
    .velocity('transition.perspectiveRightOut'); 

*/
/* Mixins
--------------------------------------------------------------- */
.top_img_article_card {
  margin: 0 10px;
  padding: 20px 0;
  border-top: 1px solid #d8d8d8; }
  @media (min-width: 768px) {
    .top_img_article_card {
      margin: 0;
      padding: 0;
      border-top: none; } }
  .top_img_article_card .article_image {
    max-width: 40%;
    width: 100%;
    margin-left: auto; }
    @media (min-width: 768px) {
      .top_img_article_card .article_image {
        margin: 0 0 12px;
        width: 100%;
        max-width: 100%; } }
    .top_img_article_card .article_image .article_media {
      position: relative;
      margin: 0; }
      .top_img_article_card .article_image .article_media:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 76.92308%; }
      @media (min-width: 768px) {
        .top_img_article_card .article_image .article_media {
          position: relative; }
          .top_img_article_card .article_image .article_media:before {
            display: block;
            content: "";
            width: 100%;
            padding-top: 56.34675%; } }
      .top_img_article_card .article_image .article_media a {
        display: block;
        height: 100%;
        position: absolute;
        width: 100%;
        top: 0;
        left: 0; }
        .top_img_article_card .article_image .article_media a img {
          display: block;
          max-width: 100%;
          width: 100%;
          object-fit: cover;
          height: 100%; }
    .top_img_article_card .article_image .vid_icon {
      position: absolute;
      left: 50%;
      -webkit-transform: translateX(-50%) translateY(-50%);
      -moz-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
      -o-transform: translateX(-50%) translateY(-50%);
      transform: translateX(-50%) translateY(-50%);
      top: 50%;
      width: auto;
      position: absolute;
      background-image: url(https://thegospeldev.wpenginepowered.com/wp-content/themes/luther/images/play.svg);
      width: 15%;
      height: 26.67%;
      background-size: 100% 100%;
      padding: 0;
      color: #fff;
      fill: #fff;
      display: block;
      z-index: 2;
      opacity: .5; }
  .top_img_article_card .article_content {
    max-width: 45%; }
    @media (min-width: 768px) {
      .top_img_article_card .article_content {
        max-width: 100%; } }
    .top_img_article_card .article_content .article_title {
      font-size: 16px;
      font-weight: 800;
      margin: 6px 0; }
      .top_img_article_card .article_content .article_title a {
        font-family: "Noe Display"; }
      @media (min-width: 768px) {
        .top_img_article_card .article_content .article_title {
          font-size: 22px;
          line-height: 24px;
          font-size: calc( 16px + (22 - 16) * ((100vw - 300px) / (1920 - 300)));
          line-height: calc( 20px + (24 - 20) * ((100vw - 300px) / (1920 - 300)));
          margin: 0 0 10px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .top_img_article_card .article_content .article_title {
      font-size: 22px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .top_img_article_card .article_content .article_title {
      line-height: 24px; } }
    .top_img_article_card .article_content .article_author {
      font-family: "gotham", sans-serif;
      font-size: 10px;
      text-transform: uppercase;
      margin: 0; }
      @media (min-width: 768px) {
        .top_img_article_card .article_content .article_author {
          font-size: 14px;
          line-height: 24px;
          font-size: calc( 10px + (14 - 10) * ((100vw - 300px) / (1920 - 300)));
          line-height: calc( 10px + (24 - 10) * ((100vw - 300px) / (1920 - 300)));
          margin: 0 0 30px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .top_img_article_card .article_content .article_author {
      font-size: 14px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .top_img_article_card .article_content .article_author {
      line-height: 24px; } }
      .top_img_article_card .article_content .article_author .scripture_ref a {
        text-decoration: none !important; }

.featured_article_card {
  margin: 0; }
  @media (min-width: 768px) {
    .featured_article_card {
      padding: 0; } }
  .featured_article_card .article_image {
    width: 100%;
    margin: 0 0 14px; }
    @media (min-width: 768px) {
      .featured_article_card .article_image {
        width: 100%;
        margin-left: auto;
        max-width: 50%; } }
    .featured_article_card .article_image .article_media {
      position: relative;
      margin: 0; }
      .featured_article_card .article_image .article_media:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 56.26667%; }
      @media (min-width: 768px) {
        .featured_article_card .article_image .article_media {
          position: relative; }
          .featured_article_card .article_image .article_media:before {
            display: block;
            content: "";
            width: 100%;
            padding-top: 70.93023%; } }
      .featured_article_card .article_image .article_media a {
        display: block;
        height: 100%;
        position: absolute;
        width: 100%;
        top: 0;
        left: 0; }
        .featured_article_card .article_image .article_media a img {
          display: block;
          height: auto;
          max-width: 100%;
          width: 100%;
          object-fit: cover; }
          @media (max-width: 1023.98px) {
            .featured_article_card .article_image .article_media a img {
              height: 100%; } }
        .featured_article_card .article_image .article_media a .vid_icon {
          position: absolute;
          left: 50%;
          -webkit-transform: translateX(-50%) translateY(-50%);
          -moz-transform: translateX(-50%) translateY(-50%);
          -ms-transform: translateX(-50%) translateY(-50%);
          -o-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
          top: 50%;
          width: auto;
          position: absolute;
          background-image: url(https://thegospeldev.wpenginepowered.com/wp-content/themes/luther/images/play.svg);
          width: 15%;
          height: 26.67%;
          background-size: 100% 100%;
          padding: 0;
          color: #fff;
          fill: #fff;
          display: block;
          z-index: 2;
          opacity: .5; }
  .featured_article_card .article_content {
    max-width: 100%;
    margin: 0 10px;
    text-align: center; }
    @media (min-width: 768px) {
      .featured_article_card .article_content {
        max-width: 45%;
        margin: 0;
        text-align: left; } }
    .featured_article_card .article_content .article_title {
      font-size: 18px;
      font-weight: 800;
      margin: 0 0 15px;
      padding: 0 40px; }
      .featured_article_card .article_content .article_title a {
        font-family: "Noe Display";
        position: relative; }
      @media (min-width: 768px) {
        .featured_article_card .article_content .article_title {
          font-size: 28px;
          line-height: 1;
          font-size: calc( 18px + (28 - 18) * ((100vw - 300px) / (1920 - 300)));
          line-height: calc( 18px + (28 - 18) * ((100vw - 300px) / (1920 - 300)));
          margin: 0 0 10px;
          padding: 0; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .featured_article_card .article_content .article_title {
      font-size: 28px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .featured_article_card .article_content .article_title {
      line-height: 28px; } }
    .featured_article_card .article_content .article_author {
      font-family: "gotham", sans-serif;
      font-size: 10px;
      text-transform: uppercase;
      margin: 0 0 9px; }
      @media (min-width: 768px) {
        .featured_article_card .article_content .article_author {
          line-height: 24px;
          font-size: 14px;
          font-size: calc( 10px + (14 - 10) * ((100vw - 300px) / (1920 - 300)));
          line-height: calc( 10px + (24 - 10) * ((100vw - 300px) / (1920 - 300)));
          margin: 0 0 11px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .featured_article_card .article_content .article_author {
      font-size: 14px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .featured_article_card .article_content .article_author {
      line-height: 24px; } }
    .featured_article_card .article_content .article_excerpt {
      font-size: 12px;
      color: #58585B;
      margin: 0 0 20px; }
      @media (min-width: 768px) {
        .featured_article_card .article_content .article_excerpt {
          font-size: 18px;
          line-height: 24px;
          font-size: calc( 12px + (18 - 12) * ((100vw - 300px) / (1920 - 300)));
          line-height: calc( 18px + (24 - 18) * ((100vw - 300px) / (1920 - 300))); } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .featured_article_card .article_content .article_excerpt {
      font-size: 18px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .featured_article_card .article_content .article_excerpt {
      line-height: 24px; } }

.excerpt_article_card {
  margin: 0 10px;
  padding: 20px 0;
  border-top: 1px solid #d8d8d8; }
  @media (min-width: 768px) {
    .excerpt_article_card {
      margin: 0;
      padding: 0;
      border-top: none; } }
  .excerpt_article_card .article_content {
    max-width: 45%; }
    @media (min-width: 768px) {
      .excerpt_article_card .article_content {
        max-width: 100%; } }
    .excerpt_article_card .article_content .article_title {
      font-size: 16px;
      font-weight: 800;
      margin: 0 0 10px; }
      .excerpt_article_card .article_content .article_title a {
        font-family: "Noe Display"; }
      @media (min-width: 768px) {
        .excerpt_article_card .article_content .article_title {
          font-size: 22px;
          line-height: 24px;
          font-size: calc( 16px + (22 - 16) * ((100vw - 300px) / (1920 - 300)));
          line-height: calc( 16px + (24 - 16) * ((100vw - 300px) / (1920 - 300))); } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .excerpt_article_card .article_content .article_title {
      font-size: 22px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .excerpt_article_card .article_content .article_title {
      line-height: 24px; } }
    .excerpt_article_card .article_content .article_author {
      font-family: "gotham", sans-serif;
      font-size: 10px;
      text-transform: uppercase;
      margin: 0 0 12px; }
      @media (min-width: 768px) {
        .excerpt_article_card .article_content .article_author {
          font-size: 14px;
          line-height: 24px;
          font-size: calc( 10px + (14 - 10) * ((100vw - 300px) / (1920 - 300)));
          line-height: calc( 10px + (24 - 10) * ((100vw - 300px) / (1920 - 300))); } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .excerpt_article_card .article_content .article_author {
      font-size: 14px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .excerpt_article_card .article_content .article_author {
      line-height: 24px; } }
    .excerpt_article_card .article_content .article_excerpt {
      font-size: 14px;
      color: #58585B;
      margin: 0; }
      @media (min-width: 768px) {
        .excerpt_article_card .article_content .article_excerpt {
          font-size: 18px;
          line-height: 24px;
          font-size: calc( 14px + (18 - 14) * ((100vw - 300px) / (1920 - 300)));
          line-height: calc( 14px + (24 - 14) * ((100vw - 300px) / (1920 - 300)));
          margin: 0 0 30px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .excerpt_article_card .article_content .article_excerpt {
      font-size: 18px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .excerpt_article_card .article_content .article_excerpt {
      line-height: 24px; } }
  .excerpt_article_card .article_image {
    max-width: 40%;
    width: 100%;
    margin-left: auto; }
    .excerpt_article_card .article_image .article_media {
      position: relative;
      margin: 0; }
      .excerpt_article_card .article_image .article_media:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 76.92308%; }
      .excerpt_article_card .article_image .article_media a {
        display: block;
        height: 100%;
        position: absolute;
        width: 100%;
        top: 0;
        left: 0; }
        .excerpt_article_card .article_image .article_media a img {
          display: block;
          height: auto;
          max-width: 100%;
          width: 100%;
          object-fit: cover; }
          @media (max-width: 1023.98px) {
            .excerpt_article_card .article_image .article_media a img {
              height: 100%; } }

.title_article_card {
  margin: 0 10px;
  padding: 20px 0;
  border-top: 1px solid #d8d8d8; }
  @media (min-width: 768px) {
    .title_article_card {
      margin: 0;
      padding: 0;
      border-top: none; } }
  .title_article_card .article_content {
    max-width: 45%; }
    @media (min-width: 768px) {
      .title_article_card .article_content {
        max-width: 100%; } }
    .title_article_card .article_content .article_title {
      font-size: 16px;
      font-weight: 800;
      margin: 0 0 10px; }
      .title_article_card .article_content .article_title a {
        font-family: "Noe Display"; }
      @media (min-width: 768px) {
        .title_article_card .article_content .article_title {
          font-size: 22px;
          line-height: 24px;
          font-size: calc( 16px + (22 - 16) * ((100vw - 300px) / (1920 - 300)));
          line-height: calc( 16px + (24 - 16) * ((100vw - 300px) / (1920 - 300))); } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .title_article_card .article_content .article_title {
      font-size: 22px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .title_article_card .article_content .article_title {
      line-height: 24px; } }
    .title_article_card .article_content .article_author {
      font-family: "gotham", sans-serif;
      font-size: 10px;
      text-transform: uppercase;
      margin: 0 0 20px; }
      @media (min-width: 768px) {
        .title_article_card .article_content .article_author {
          font-size: 14px;
          line-height: 24px;
          font-size: calc( 10px + (14 - 10) * ((100vw - 300px) / (1920 - 300)));
          line-height: calc( 10px + (24 - 10) * ((100vw - 300px) / (1920 - 300))); } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .title_article_card .article_content .article_author {
      font-size: 14px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .title_article_card .article_content .article_author {
      line-height: 24px; } }
  .title_article_card .article_image {
    max-width: 40%;
    width: 100%;
    margin-left: auto; }
    .title_article_card .article_image .article_media {
      position: relative;
      margin: 0; }
      .title_article_card .article_image .article_media:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 76.92308%; }
      .title_article_card .article_image .article_media a {
        display: block;
        height: 100%;
        position: absolute;
        width: 100%;
        top: 0;
        left: 0; }
        .title_article_card .article_image .article_media a img {
          display: block;
          height: auto;
          max-width: 100%;
          width: 100%;
          object-fit: cover; }
          @media (max-width: 1023.98px) {
            .title_article_card .article_image .article_media a img {
              height: 100%; } }

.num_article_list_item .num_article {
  padding-left: 25px;
  padding-right: 15px; }
  @media (min-width: 768px) {
    .num_article_list_item .num_article {
      padding-left: 0;
      padding-right: 0; } }

.num_article_list_item:not(:first-child) .num_article {
  padding-top: 20px;
  position: relative; }
  .num_article_list_item:not(:first-child) .num_article:after {
    content: "";
    position: absolute;
    border-top: 1px solid #d8d8d8;
    bottom: auto;
    left: 0;
    right: 0;
    top: 0;
    margin: 0 10px; }
  @media (min-width: 768px) {
    .num_article_list_item:not(:first-child) .num_article:after {
      margin: 0; } }

.num_article_list_item .article_title {
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 10px;
  letter-spacing: 0; }
  .num_article_list_item .article_title .article_link {
    font-style: italic; }
  .num_article_list_item .article_title .repeater_num {
    font-size: 18px;
    font-family: "Noe Display";
    color: #79AE4A;
    padding-right: 5px;
    font-weight: 800; }
    @media (min-width: 768px) {
      .num_article_list_item .article_title .repeater_num {
        font-size: 22px;
        line-height: 24px;
        font-size: calc( 18px + (22 - 18) * ((100vw - 300px) / (1920 - 300)));
        line-height: calc( 18px + (24 - 18) * ((100vw - 300px) / (1920 - 300))); } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .num_article_list_item .article_title .repeater_num {
      font-size: 22px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .num_article_list_item .article_title .repeater_num {
      line-height: 24px; } }
  .num_article_list_item .article_title a {
    font-family: "Noe Display"; }
  @media (min-width: 768px) {
    .num_article_list_item .article_title {
      font-size: 22px;
      line-height: 24px;
      font-size: calc( 18px + (22 - 18) * ((100vw - 300px) / (1920 - 300)));
      line-height: calc( 18px + (24 - 18) * ((100vw - 300px) / (1920 - 300)));
      letter-spacing: 0; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .num_article_list_item .article_title {
      font-size: 22px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .num_article_list_item .article_title {
      line-height: 24px; } }

.num_article_list_item .article_author {
  font-family: "gotham", sans-serif;
  font-size: 10px;
  text-transform: uppercase;
  margin: 0 0 30px; }
  @media (min-width: 768px) {
    .num_article_list_item .article_author {
      font-size: 14px;
      line-height: 24px;
      font-size: calc( 10px + (14 - 10) * ((100vw - 300px) / (1920 - 300)));
      line-height: calc( 10px + (24 - 10) * ((100vw - 300px) / (1920 - 300))); } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .num_article_list_item .article_author {
      font-size: 14px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .num_article_list_item .article_author {
      line-height: 24px; } }

@media (min-width: 768px) {
  .book_review_article_card,
  .series_card {
    padding: 0 24.5px; } }

.book_review_article_card .article_image,
.series_card .article_image {
  width: 100%;
  max-height: 415px;
  max-width: 270px;
  margin: 0 auto 24.5px; }
  @media (min-width: 768px) {
    .book_review_article_card .article_image,
    .series_card .article_image {
      margin: 0 0 12px;
      width: 100%;
      max-height: none;
      max-width: 100%; } }
  .book_review_article_card .article_image .article_media,
  .series_card .article_image .article_media {
    position: relative;
    margin: 0; }
    .book_review_article_card .article_image .article_media:before,
    .series_card .article_image .article_media:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 152.7881%; }
    @media (min-width: 768px) {
      .book_review_article_card .article_image .article_media,
      .series_card .article_image .article_media {
        position: relative; }
        .book_review_article_card .article_image .article_media:before,
        .series_card .article_image .article_media:before {
          display: block;
          content: "";
          width: 100%;
          padding-top: 153.25077%; } }
    .book_review_article_card .article_image .article_media a,
    .series_card .article_image .article_media a {
      display: block;
      height: 100%;
      position: absolute;
      width: 100%;
      top: 0;
      left: 0; }
      .book_review_article_card .article_image .article_media a img,
      .series_card .article_image .article_media a img {
        display: block;
        height: auto;
        max-width: 100%;
        width: 100%;
        object-fit: cover; }
        @media (max-width: 1023.98px) {
          .book_review_article_card .article_image .article_media a img,
          .series_card .article_image .article_media a img {
            height: 100%; } }

.book_review_article_card .article_title,
.series_card .article_title {
  font-size: 18px;
  font-weight: 800;
  margin: 0 auto 10px;
  text-align: center; }
  .book_review_article_card .article_title a,
  .series_card .article_title a {
    font-family: "Noe Display"; }
  @media (min-width: 768px) {
    .book_review_article_card .article_title,
    .series_card .article_title {
      text-align: left;
      font-size: 22px;
      line-height: 24px;
      font-size: calc( 18px + (22 - 18) * ((100vw - 300px) / (1920 - 300)));
      line-height: calc( 20px + (24 - 20) * ((100vw - 300px) / (1920 - 300))); } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .book_review_article_card .article_title,
    .series_card .article_title {
      font-size: 22px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .book_review_article_card .article_title,
    .series_card .article_title {
      line-height: 24px; } }

.book_review_article_card .article_author,
.book_review_article_card .article_author a,
.series_card .article_author,
.series_card .article_author a {
  font-size: 10px;
  text-transform: uppercase;
  margin: 0 auto 17px;
  text-align: center;
  font-family: "gotham", sans-serif; }
  @media (min-width: 768px) {
    .book_review_article_card .article_author,
    .book_review_article_card .article_author a,
    .series_card .article_author,
    .series_card .article_author a {
      text-align: left;
      font-size: 14px;
      line-height: 24px;
      font-size: calc( 10px + (14 - 10) * ((100vw - 300px) / (1920 - 300)));
      line-height: calc( 10px + (24 - 10) * ((100vw - 300px) / (1920 - 300))); } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .book_review_article_card .article_author,
    .book_review_article_card .article_author a,
    .series_card .article_author,
    .series_card .article_author a {
      font-size: 14px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .book_review_article_card .article_author,
    .book_review_article_card .article_author a,
    .series_card .article_author,
    .series_card .article_author a {
      line-height: 24px; } }

.podcast_article_card {
  margin: 0;
  padding: 0; }
  .podcast_article_card .article_content .article_title {
    font-size: 16px;
    font-weight: 800;
    margin: 0 0 10px;
    text-align: center; }
    .podcast_article_card .article_content .article_title a {
      font-family: "Noe Display"; }
    @media (min-width: 768px) {
      .podcast_article_card .article_content .article_title {
        text-align: left;
        font-size: 22px;
        line-height: 24px;
        font-size: calc( 16px + (22 - 16) * ((100vw - 300px) / (1920 - 300)));
        line-height: calc( 16px + (24 - 16) * ((100vw - 300px) / (1920 - 300))); } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .podcast_article_card .article_content .article_title {
      font-size: 22px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .podcast_article_card .article_content .article_title {
      line-height: 24px; } }
  .podcast_article_card .article_content .article_author {
    font-family: "gotham", sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    margin: 0 0 20px;
    text-align: center; }
    @media (min-width: 768px) {
      .podcast_article_card .article_content .article_author {
        text-align: left;
        font-size: 14px;
        line-height: 24px;
        font-size: calc( 10px + (14 - 10) * ((100vw - 300px) / (1920 - 300)));
        line-height: calc( 10px + (24 - 10) * ((100vw - 300px) / (1920 - 300))); } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .podcast_article_card .article_content .article_author {
      font-size: 14px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .podcast_article_card .article_content .article_author {
      line-height: 24px; } }
  .podcast_article_card .article_content .btn {
    font-weight: 400; }

.video_article_card {
  margin: 0 10px;
  padding: 20px 0;
  border-top: 1px solid #d8d8d8; }
  @media (min-width: 768px) {
    .video_article_card {
      margin: 0;
      padding: 0;
      border-top: none; } }
  .video_article_card .vid_image {
    max-width: 40%;
    width: 100%;
    margin-left: auto; }
    @media (min-width: 768px) {
      .video_article_card .vid_image {
        margin: 0 0 12px;
        width: 100%;
        max-width: 100%; } }
  .video_article_card .article_content {
    max-width: 45%; }
    @media (min-width: 768px) {
      .video_article_card .article_content {
        max-width: 100%;
        margin: 0 10px; } }
    .video_article_card .article_content .article_title {
      font-size: 16px;
      font-weight: 800;
      margin: 6px 0; }
      .video_article_card .article_content .article_title a {
        font-family: "Noe Display"; }
      @media (min-width: 768px) {
        .video_article_card .article_content .article_title {
          font-size: 22px;
          line-height: 24px;
          font-size: calc( 16px + (22 - 16) * ((100vw - 300px) / (1920 - 300)));
          line-height: calc( 20px + (24 - 20) * ((100vw - 300px) / (1920 - 300)));
          margin: 0 0 10px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .video_article_card .article_content .article_title {
      font-size: 22px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .video_article_card .article_content .article_title {
      line-height: 24px; } }
    .video_article_card .article_content .article_author {
      font-family: "gotham", sans-serif;
      font-size: 10px;
      text-transform: uppercase;
      margin: 0; }
      @media (min-width: 768px) {
        .video_article_card .article_content .article_author {
          font-size: 14px;
          line-height: 24px;
          font-size: calc( 10px + (14 - 10) * ((100vw - 300px) / (1920 - 300)));
          line-height: calc( 10px + (24 - 10) * ((100vw - 300px) / (1920 - 300)));
          margin: 0 0 30px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .video_article_card .article_content .article_author {
      font-size: 14px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .video_article_card .article_content .article_author {
      line-height: 24px; } }
    .video_article_card .article_content .article_excerpt {
      font-size: 14px;
      color: #58585B;
      margin: 0; }
      @media (min-width: 768px) {
        .video_article_card .article_content .article_excerpt {
          font-size: 18px;
          line-height: 24px;
          font-size: calc( 14px + (18 - 14) * ((100vw - 300px) / (1920 - 300)));
          line-height: calc( 14px + (24 - 14) * ((100vw - 300px) / (1920 - 300)));
          margin: 0 0 30px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .video_article_card .article_content .article_excerpt {
      font-size: 18px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .video_article_card .article_content .article_excerpt {
      line-height: 24px; } }

.left_image_article_card .article_image {
  width: 100%;
  max-width: 35%;
  min-width: 35%; }
  @media (min-width: 1024px) {
    .left_image_article_card .article_image {
      max-width: 344px;
      min-width: 344px; } }
  .left_image_article_card .article_image .article_media {
    margin: 0;
    position: relative; }
    .left_image_article_card .article_image .article_media:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 56.39535%; }
    .left_image_article_card .article_image .article_media a {
      display: block;
      height: 100%;
      position: absolute;
      width: 100%;
      top: 0;
      left: 0; }
      .left_image_article_card .article_image .article_media a img {
        display: block;
        height: auto;
        max-width: 100%;
        width: 100%;
        object-fit: cover; }
        @media (max-width: 1023.98px) {
          .left_image_article_card .article_image .article_media a img {
            height: 100%; } }
      .left_image_article_card .article_image .article_media a .vid_icon {
        position: absolute;
        left: 50%;
        -webkit-transform: translateX(-50%) translateY(-50%);
        -moz-transform: translateX(-50%) translateY(-50%);
        -ms-transform: translateX(-50%) translateY(-50%);
        -o-transform: translateX(-50%) translateY(-50%);
        transform: translateX(-50%) translateY(-50%);
        top: 50%;
        width: auto;
        position: absolute;
        background-image: url(https://thegospeldev.wpenginepowered.com/wp-content/themes/luther/images/play.svg);
        width: 15%;
        height: 26.67%;
        background-size: 100% 100%;
        padding: 0;
        color: #fff;
        fill: #fff;
        display: block;
        z-index: 2;
        opacity: .5; }

.left_image_article_card .article_content {
  padding-left: 16px;
  padding-top: 0; }
  @media (min-width: 768px) {
    .left_image_article_card .article_content {
      padding-left: 32px;
      padding-top: 10px; } }
  .left_image_article_card .article_content .article_title {
    font-size: 18px;
    font-weight: 800;
    margin: 6px 0; }
    .left_image_article_card .article_content .article_title a {
      font-family: "Noe Display"; }
    @media (min-width: 768px) {
      .left_image_article_card .article_content .article_title {
        font-size: 22px;
        line-height: 24px;
        font-size: calc( 18px + (28 - 18) * ((100vw - 300px) / (1920 - 300)));
        line-height: calc( 18px + (30 - 18) * ((100vw - 300px) / (1920 - 300)));
        margin: 0 0 10px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .left_image_article_card .article_content .article_title {
      font-size: 28px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .left_image_article_card .article_content .article_title {
      line-height: 30px; } }
  .left_image_article_card .article_content .article_author {
    font-family: "gotham", sans-serif;
    font-size: 10px;
    text-transform: uppercase;
    margin: 0; }
    @media (min-width: 768px) {
      .left_image_article_card .article_content .article_author {
        font-size: 14px;
        line-height: 24px;
        font-size: calc( 10px + (14 - 10) * ((100vw - 300px) / (1920 - 300)));
        line-height: calc( 10px + (24 - 10) * ((100vw - 300px) / (1920 - 300)));
        margin: 0 0 12px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .left_image_article_card .article_content .article_author {
      font-size: 14px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .left_image_article_card .article_content .article_author {
      line-height: 24px; } }
  .left_image_article_card .article_content .article_excerpt {
    font-size: 14px;
    color: #58585B;
    margin: 0;
    display: none; }
    @media (min-width: 768px) {
      .left_image_article_card .article_content .article_excerpt {
        display: block;
        font-size: 18px;
        line-height: 24px;
        font-size: calc( 14px + (18 - 14) * ((100vw - 300px) / (1920 - 300)));
        line-height: calc( 14px + (24 - 14) * ((100vw - 300px) / (1920 - 300))); } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .left_image_article_card .article_content .article_excerpt {
      font-size: 18px; } }
  @media (min-width: 768px) and (min-width: 1920px) {
    .left_image_article_card .article_content .article_excerpt {
      line-height: 24px; } }

@media (min-width: 768px) {
  .series_card {
    padding: 0; } }

.featured_commentary_card {
  background-color: #F1F1F1;
  padding: 49px 33px 56px; }
  @media (max-width: 1023.98px) {
    .featured_commentary_card {
      text-align: center; } }
  .featured_commentary_card .title_wrap h2 {
    text-transform: uppercase;
    font-weight: 700;
    font-size: 36px;
    margin-bottom: 43px; }
  .featured_commentary_card .pre_text {
    font-family: "gotham", sans-serif;
    text-transform: uppercase;
    font-weight: 500; }
  .featured_commentary_card .author {
    font-size: 28px;
    font-weight: 700;
    margin-top: 10px; }
  .featured_commentary_card .flat_btn {
    position: absolute;
    bottom: 0;
    right: 26px;
    border: 2px solid #272727; }
    @media (max-width: 1023.98px) {
      .featured_commentary_card .flat_btn {
        position: relative;
        bottom: unset;
        right: unset;
        margin-top: 30px; } }
    .featured_commentary_card .flat_btn:hover {
      background-color: transparent; }

.single-cohort-main {
  font-size: clamp(16px, 1.25vw, 20px); }
  .single-cohort-main .btn {
    font-family: "halyard-display", sans-serif;
    letter-spacing: 0.05em;
    display: flex;
    font-size: 0.9em;
    margin: auto;
    color: var(--accentcolor8-color);
    background-color: var(--accentcolor-color);
    border-color: var(--accentcolor-color);
    padding: 10px 30px; }
    .single-cohort-main .btn:hover {
      background-color: var(--accentcolor-color);
      color: var(--accentcolor8-color); }
  .single-cohort-main a:not(.btn) {
    color: var(--accentcolor7-color) !important;
    text-decoration: underline; }
  .single-cohort-main .section-title {
    font-family: "halyard-display", sans-serif;
    color: var(--accentcolor-color);
    font-weight: 700;
    font-size: 40px;
    font-size: 36px;
    letter-spacing: 0.02em;
    margin-bottom: 30px; }
  .single-cohort-main .section-subtitle {
    font-family: "halyard-display", sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: var(--accentcolor-color);
    margin-bottom: 5px; }
  .single-cohort-main .vid_image {
    padding: 40px 0 0px; }
    .single-cohort-main .vid_image .vid-cover-image {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      object-fit: cover; }
  .single-cohort-main .hero {
    position: relative;
    padding-top: 220px;
    padding-bottom: 220px; }
    .single-cohort-main .hero .hero-bg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
      .single-cohort-main .hero .hero-bg img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: 50% 0px; }
    .single-cohort-main .hero .hero-content .tag-name {
      font-family: "halyard-display", sans-serif;
      font-weight: 700;
      font-size: 1.1em;
      color: var(--accentcolor-color);
      text-transform: uppercase;
      margin-bottom: 15px; }
    .single-cohort-main .hero .hero-content .cohort-title {
      font-family: "ivypresto-headline", serif;
      font-size: 3em;
      font-size: 3.4em;
      font-weight: 500;
      color: var(--accentcolor4-color);
      margin-bottom: 20px;
      line-height: 1.2; }
      @media (min-width: 768px) {
        .single-cohort-main .hero .hero-content .cohort-title {
          max-width: 860px;
          margin-left: auto;
          margin-right: auto; } }
    .single-cohort-main .hero .hero-content .subtitle-author {
      display: flex;
      justify-content: center;
      align-items: center;
      font-family: "halyard-display", sans-serif;
      font-size: 0.9em;
      text-transform: uppercase;
      font-weight: 500;
      margin-bottom: 30px;
      margin-left: auto;
      margin-right: auto;
      max-width: 670px; }
      .single-cohort-main .hero .hero-content .subtitle-author div {
        color: var(--accentcolor4-color); }
        .single-cohort-main .hero .hero-content .subtitle-author div:after {
          content: "\2014";
          margin: 0 5px; }
        .single-cohort-main .hero .hero-content .subtitle-author div.no_author:after {
          display: none; }
      .single-cohort-main .hero .hero-content .subtitle-author a {
        color: var(--accentcolor-color);
        text-decoration: none; }
        .single-cohort-main .hero .hero-content .subtitle-author a:not(.btn) {
          color: var(--accentcolor11-color) !important; }
    .single-cohort-main .hero .hero-content .btn {
      padding: 15px 30px;
      border-radius: 3px !important; }
      .single-cohort-main .hero .hero-content .btn.closed {
        background-color: transparent; }
  .single-cohort-main .main-content {
    background-color: var(--accentcolor2-color);
    padding-top: 30px; }
    .single-cohort-main .main-content .container {
      max-width: min(1489px, 100%); }
      .single-cohort-main .main-content .container .details .details-item-text {
        font-family: "halyard-display", sans-serif;
        font-weight: 400;
        font-size: 20px;
        color: var(--accentcolor5-color); }
      .single-cohort-main .main-content .container .desktop-main .details {
        padding-top: 40px; }
      .single-cohort-main .main-content .container .description {
        color: var(--accentcolor5-color);
        font-size: 24px;
        line-height: 1.42;
        padding-top: 40px; }
        @media (max-width: 1023.98px) {
          .single-cohort-main .main-content .container .description {
            font-size: 20px;
            line-height: 1.5; } }
      .single-cohort-main .main-content .container .checkmarks {
        background-color: var(--accentcolor9-color);
        padding: 30px 40px;
        margin: 50px 0;
        color: var(--accentcolor5-color); }
        .single-cohort-main .main-content .container .checkmarks .checkmarks-item:not(:last-child) {
          margin-bottom: 30px; }
        .single-cohort-main .main-content .container .checkmarks .checkmarks-item .fa-check {
          color: var(--accentcolor-color); }
      .single-cohort-main .main-content .container .article_author_bio {
        background-color: var(--accentcolor9-color);
        padding: 26px;
        width: 100%;
        margin: 24px 0 30px;
        clear: both; }
        .single-cohort-main .main-content .container .article_author_bio .col-10 {
          padding: 0 15px 0 0;
          margin: 0; }
        @media (min-width: 768px) {
          .single-cohort-main .main-content .container .article_author_bio .col-md-2 {
            flex: 0 0 15.66667%;
            max-width: 105px;
            float: left; } }
        .single-cohort-main .main-content .container .article_author_bio .author_img_wrap {
          background-position: center center;
          background-repeat: no-repeat;
          background-size: cover;
          height: 0;
          padding-bottom: 100%;
          position: relative;
          width: 100%;
          border-radius: 50%;
          display: block;
          height: auto;
          max-width: 100%;
          margin-left: 12.5px; }
          @media (max-width: 767.98px) {
            .single-cohort-main .main-content .container .article_author_bio .author_img_wrap {
              width: 125px;
              padding-bottom: 125px;
              margin: 0 auto 25px; } }
        .single-cohort-main .main-content .container .article_author_bio p {
          margin: 0;
          color: var(--accentcolor5-color);
          font-size: 18px; }
          @media (max-width: 767.98px) {
            .single-cohort-main .main-content .container .article_author_bio p {
              text-align: center; } }
          .single-cohort-main .main-content .container .article_author_bio p strong,
          .single-cohort-main .main-content .container .article_author_bio p b {
            font-weight: 800; }
      .single-cohort-main .main-content .container .summary-cards {
        padding-bottom: 150px; }
        .single-cohort-main .main-content .container .summary-cards .summary-card {
          position: relative;
          padding: 45px 20px;
          margin-bottom: 45px;
          background-color: var(--accentcolor3-color);
          text-align: center;
          border: 1px solid rgba(252, 252, 249, 0.04);
          box-shadow: 0px 0px 20px rgba(6, 17, 20, 0.32);
          border-radius: 10px; }
          @media (min-width: 768px) {
            .single-cohort-main .main-content .container .summary-cards .summary-card {
              padding: 45px 40px; } }
          .single-cohort-main .main-content .container .summary-cards .summary-card .summary-title {
            font-family: "ivypresto-headline", serif;
            font-size: 36px;
            color: var(--accentcolor6-color);
            font-weight: 300;
            margin-bottom: 0.04em; }
          .single-cohort-main .main-content .container .summary-cards .summary-card .summary-text p {
            font-family: "halyard-display", sans-serif;
            font-weight: 400;
            font-size: 20px;
            color: var(--accentcolor6-color); }
          .single-cohort-main .main-content .container .summary-cards .summary-card:not(:last-child):after {
            content: "";
            position: absolute;
            left: 0;
            right: 0;
            bottom: -46px;
            margin: auto;
            height: 45px;
            width: 2px;
            background: var(--accentcolor10-color);
            transform: translateZ(-1px); }
        .single-cohort-main .main-content .container .summary-cards.has_btn div:last-of-type:after {
          display: none; }
        .single-cohort-main .main-content .container .summary-cards .btn {
          padding: 15px 30px;
          border-radius: 3px !important; }
          .single-cohort-main .main-content .container .summary-cards .btn.closed {
            background-color: transparent; }

.footer_bottom.new:before {
  content: none !important; }

.footer_bottom.new .container-footer {
  padding-top: 125px; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2luZ2xlLWNvaG9ydC5jc3MiLCJzb3VyY2VzIjpbInNpbmdsZS1jb2hvcnQuc2NzcyIsIi4uL2NvbW1vbi9fdGhlbWVfdmFyaWFibGVzLnNjc3MiLCIuLi9jb21tb24vX21peGlucy5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fZnVuY3Rpb25zLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL192YXJpYWJsZXMuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX21peGlucy5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92ZW5kb3IvX3Jmcy5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2RlcHJlY2F0ZS5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faG92ZXIuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzaXplLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NpemUuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdGV4dC1lbXBoYXNpcy5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtaGlkZS5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtdHJ1bmNhdGUuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL192aXNpYmlsaXR5LnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19idXR0b25zLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fY2FyZXQuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19wYWdpbmF0aW9uLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdHMuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19saXN0LWdyb3VwLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbmF2LWRpdmlkZXIuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RhYmxlLXJvdy5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JhY2tncm91bmQtdmFyaWFudC5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3gtc2hhZG93LnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZmxvYXQuc2NzcyIsIi4uL3BhcnRpYWxzL2FydGljbGUtY2FyZHMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiLi4vY29tbW9uL3RoZW1lX3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL2NvbW1vbi9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL2Z1bmN0aW9uc1wiO1xuQGltcG9ydCBcIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnNcIjtcbkBpbXBvcnQgXCIuLi9wYXJ0aWFscy9hcnRpY2xlLWNhcmRzXCI7XG4uc2luZ2xlLWNvaG9ydC1tYWluIHtcbiAgZm9udC1zaXplOiBjbGFtcCgxNnB4LCAxLjI1dncsIDIwcHgpO1xuICAkcHJpbWFyeV9jb2xvcjogdmFyKC0tYWNjZW50Y29sb3ItY29sb3IpO1xuICAkc2Vjb25kYXJ5X2NvbG9yOiB2YXIoLS1hY2NlbnRjb2xvcjItY29sb3IpO1xuICAkdGVydGlhcnlfY29sb3I6IHZhcigtLWFjY2VudGNvbG9yMy1jb2xvcik7XG4gICRoZWFkbGluZV9jb2xvcjogdmFyKC0tYWNjZW50Y29sb3I0LWNvbG9yKTtcbiAgJGJvZHlfY29sb3I6IHZhcigtLWFjY2VudGNvbG9yNS1jb2xvcik7XG4gICRib2R5X2NvbG9yMjogdmFyKC0tYWNjZW50Y29sb3I2LWNvbG9yKTtcbiAgJGh5cGVybGlua19jb2xvcjogdmFyKC0tYWNjZW50Y29sb3I3LWNvbG9yKTtcbiAgJGJ0bl90ZXh0X2NvbG9yOiB2YXIoLS1hY2NlbnRjb2xvcjgtY29sb3IpO1xuICAkc2lkZWJhcl9ia2dfY29sb3I6IHZhcigtLWFjY2VudGNvbG9yOS1jb2xvcik7XG4gICRzdW1tYXJ5X3NlcHB5X2NvbG9yOiB2YXIoLS1hY2NlbnRjb2xvcjEwLWNvbG9yKTtcbiAgJGhlYWRlcl9oeXBlcmxpbmtfY29sb3I6IHZhcigtLWFjY2VudGNvbG9yMTEtY29sb3IpO1xuICAuYnRuIHtcbiAgICBmb250LWZhbWlseTogXCJoYWx5YXJkLWRpc3BsYXlcIiwgc2Fucy1zZXJpZjtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgY29sb3I6ICRidG5fdGV4dF9jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpbWFyeV9jb2xvcjtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICAgICAgY29sb3I6ICRidG5fdGV4dF9jb2xvcjtcbiAgICB9XG4gIH1cbiAgYTpub3QoLmJ0bikge1xuICAgIGNvbG9yOiAkaHlwZXJsaW5rX2NvbG9yICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbiAgLnNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcImhhbHlhcmQtZGlzcGxheVwiLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAkcHJpbWFyeV9jb2xvcjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG4gIC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJoYWx5YXJkLWRpc3BsYXlcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBjb2xvcjogJHByaW1hcnlfY29sb3I7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG4gIC52aWRfaW1hZ2Uge1xuICAgIHBhZGRpbmc6IDQwcHggMCAwcHg7XG4gICAgLnZpZC1jb3Zlci1pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG4gIH1cblxuICAuaGVybyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAyMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjIwcHg7XG4gICAgLmhlcm8tYmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogNTAlIDBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmhlcm8tY29udGVudCB7XG4gICAgICAudGFnLW5hbWUge1xuICAgICAgICBmb250LWZhbWlseTogXCJoYWx5YXJkLWRpc3BsYXlcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuICAgICAgLmNvaG9ydC10aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIml2eXByZXN0by1oZWFkbGluZVwiLCBzZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAzZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMy40ZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAkaGVhZGxpbmVfY29sb3I7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDg2MHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnN1YnRpdGxlLWF1dGhvciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBmb250LWZhbWlseTogXCJoYWx5YXJkLWRpc3BsYXlcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAwLjllbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA2NzBweDtcbiAgICAgICAgZGl2IHtcbiAgICAgICAgICBjb2xvcjogJGhlYWRsaW5lX2NvbG9yO1xuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXDIwMTRcIjtcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICYubm9fYXV0aG9ye1xuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRwcmltYXJ5X2NvbG9yO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAmOm5vdCguYnRuKSB7XG4gICAgICAgICAgICBjb2xvcjogJGhlYWRlcl9oeXBlcmxpbmtfY29sb3IgIWltcG9ydGFudDsgICAgICAgICAgXG4gICAgICAgICAgfVxuICAgICAgICB9ICAgICAgICBcbiAgICAgIH1cbiAgICAgIC5idG4ge1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweCAhaW1wb3J0YW50O1xuICAgICAgICAmLmNsb3NlZHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAubWFpbi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2Vjb25kYXJ5X2NvbG9yO1xuICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIC5jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAje1wibWluKDE0ODlweCwgMTAwJSlcIn07XG4gICAgICAuZGV0YWlscyB7XG4gICAgICAgIC5kZXRhaWxzLWl0ZW0tdGV4dCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiaGFseWFyZC1kaXNwbGF5XCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgY29sb3I6ICRib2R5X2NvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZGVza3RvcC1tYWluIHtcbiAgICAgICAgLmRldGFpbHMge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBjb2xvcjogJGJvZHlfY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDI7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNoZWNrbWFya3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2lkZWJhcl9ia2dfY29sb3I7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggNDBweDtcbiAgICAgICAgbWFyZ2luOiA1MHB4IDA7XG4gICAgICAgIGNvbG9yOiAkYm9keV9jb2xvcjtcbiAgICAgICAgLmNoZWNrbWFya3MtaXRlbSB7XG4gICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5mYS1jaGVjayB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnlfY29sb3I7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYXJ0aWNsZV9hdXRob3JfYmlvIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHNpZGViYXJfYmtnX2NvbG9yO1xuICAgICAgICBwYWRkaW5nOiAyNnB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAyNHB4IDAgMzBweDtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIC5jb2wtMTAge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTVweCAwIDA7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbC1tZC0yIHtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTUuNjY2NjclO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDVweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hdXRob3JfaW1nX3dyYXAge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEyLjVweDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgd2lkdGg6IDEyNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEyNXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgY29sb3I6ICRib2R5X2NvbG9yO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHN0cm9uZyxcbiAgICAgICAgICBiIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuc3VtbWFyeS1jYXJkcyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNTBweDtcbiAgICAgICAgLnN1bW1hcnktY2FyZCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmc6IDQ1cHggMjBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0ZXJ0aWFyeV9jb2xvcjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTIsIDI1MiwgMjQ5LCAwLjA0KTtcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDIwcHggcmdiYSg2LCAxNywgMjAsIDAuMzIpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgcGFkZGluZzogNDVweCA0MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc3VtbWFyeS10aXRsZSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJpdnlwcmVzdG8taGVhZGxpbmVcIiwgc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgICAgICBjb2xvcjogJGJvZHlfY29sb3IyO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMDRlbTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnN1bW1hcnktdGV4dCB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiaGFseWFyZC1kaXNwbGF5XCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgY29sb3I6ICRib2R5X2NvbG9yMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IC00NnB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgd2lkdGg6IDJweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzdW1tYXJ5X3NlcHB5X2NvbG9yO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVaKC0xcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmhhc19idG4ge1xuICAgICAgICAgZGl2Omxhc3Qtb2YtdHlwZTphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDMwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgJi5jbG9zZWR7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gICAgICBcbiAgICB9XG4gIH1cbn1cbi5mb290ZXJfYm90dG9tLm5ldyB7XG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNvbnRhaW5lci1mb290ZXIge1xuICAgIHBhZGRpbmctdG9wOiAxMjVweDtcbiAgfVxufVxuIiwiLy8gVXNlIHRoaXMgZmlsZSB0byBvdmVyd3JpdGUgdGhlIGJhc2ljIEJvb3RzdHJhcCB2YXJpYWJsZXMgYW5kIGFkZCB5b3VyIG93biB2YXJpYWJsZXNcbi8vIFRvIG92ZXJ3cml0ZSBhIEJvb3RzdHJhcCB2YXJpYWJsZSB5b3UgZG9uwrR0IGhhdmUgdG8gdG91Y2ggdGhlIEJvb3RzdHJhcCBmb2xkZXIuXG4vLyBKdXN0IGNvcHkgYSB2YXJpYWJsZSBmcm9tIHNyYy9zYXNzL2Jvb3RzdHJhcDQvX3ZhcmlhYmxlcy5zY3NzLCBwYXN0ZSBpdCBoZXJlIGFuZCBlZGl0IHRoZSB2YWx1ZS5cblxuLy9Db250YWluZXIgd2lkdGhcbiRncmlkLWd1dHRlci13aWR0aDogNDlweCAhZGVmYXVsdDtcbiRncmlkLWJyZWFrcG9pbnRzOiAoIHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDEwMjRweCwgeGw6IDEyNzBweCwgeHhsOjE1MDBweCApICFkZWZhdWx0O1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoIHNtOiA1NDBweCwgbWQ6IDc1MHB4LCBsZzogOTQycHgsIHhsOiAxMjQwcHgsIHh4bDogMTQ4OXB4ICkgIWRlZmF1bHQ7XG5cbi8vIENvbG9yc1xuJGJyYW5kLXByaW1hcnk6ICM3OUFFNEE7XG4kcHJpbWFyeTogIzc5QUU0QTtcbiRicmFuZC1wcmltYXJ5LXJnYmE6IHJnYmEoMTIxLCAxNzQsIDc0LCAxKTtcbiRib2R5LWNvbG9yOiAjMjcyNzI3O1xuJGJvZHktYmc6ICNmZmY7XG4kbGlnaHQ6ICNmZmY7XG4kbGlnaHRfZ3JleTogI0YxRjFGMTtcbiRncmV5OiAjZDhkOGQ4O1xuJGhlYWRpbmdfZ3JleTogI2E3YTdhNztcbiRkYXJrX2dyZXk6ICM1ODU4NUI7XG4kbWVudV9ncmV5OiAjNzA3MDcwO1xuJGJsYWNrOiAjMjcyNzI3O1xuJGdyZXlfYmdfYmxhY2s6IzE3MTcxNztcbiRibG9ja3F1b3RlX2dyZWVuOiAjNzdBRjQzO1xuXG4vL2ZvbnRzXG4kZ290aGFtOiBcImdvdGhhbVwiLCBzYW5zLXNlcmlmO1xuJGNoYXJ0ZXI6IFwiY2hhcnRlci1idC1wcm9cIjtcbiRub2U6IFwiTm9lIERpc3BsYXlcIjtcblxuXG4vL3NvY2lhbCBjb2xvcnNcbiRmYWNlYm9va19jb2xvcjogaHNsYSgyMjIsIDQ3JSwgNDAlLCAxKTsgLy8gIzM2NTM5N1xuJHR3aXR0ZXJfY29sb3I6IGhzbGEoMTk4LCAxMDAlLCA0NyUsIDEpOyAvLyAjMDBhOWYxXG4kbGlua2VkaW5fY29sb3I6IGhzbGEoMjAzLCAxMDAlLCAzNSUsIDEpOyAvLyAjMDA2ZGIzXG4kYXBwbGVfY29sb3I6IGhzbGEoMCwgMCUsIDQ1JSwgMSk7IC8vICM3MzczNzNcbiRnb29nbGVfY29sb3I6IGhzbGEoMjE3LCA4OSUsIDYxJSwgMSk7IC8vICM0Mjg1ZjRcbiRnb29nbGVfcGx1c19jb2xvcjogaHNsYSg4LCA3NCUsIDUzJSwgMSk7IC8vICNlMDQ1MmNcbiR5b3V0dWJlX2NvbG9yOiBoc2xhKDAsIDEwMCUsIDYwJSwgMSk7IC8vICNmZjMzMzNcbiR2aW1lb19jb2xvcjogaHNsYSgyMDAsIDgyJSwgNjElLCAxKTsgLy8gIzQ4YjZlZFxuJHBpbnRlcmVzdF9jb2xvcjogaHNsYSgwLCA3OCUsIDQ1JSwgMSk7IC8vICNjZTFhMTlcbiR5ZWxwX2NvbG9yOiBoc2xhKDUsIDEwMCUsIDM4JSwgMSk7IC8vICNjMzBmMDBcbiRkcmliYmJsZV9jb2xvcjogaHNsYSgzMzgsIDgyJSwgNjAlLCAxKTsgLy8gI2VkNDU4NFxuJGFtYXpvbl9jb2xvcjogaHNsYSgzNiwgMTAwJSwgNTAlLCAxKTsgLy8gI2ZmOTcwMFxuJGViYXlfY29sb3I6IGhzbGEoMjE5LCA4OSUsIDMwJSwgMSk7IC8vICMwODM3OTBcbiRza3lwZV9jb2xvcjogaHNsYSgxOTgsIDEwMCUsIDQ4JSwgMSk7IC8vICMwMGFjZjRcbiRpbnN0YWdyYW1fY29sb3I6IGhzbGEoMjA4LCA0NiUsIDQxJSwgMSk7IC8vICMzOTZkOWFcbiRkcm9wYm94X2NvbG9yOiBoc2xhKDIwNiwgODklLCA0NiUsIDEpOyAvLyAjMGQ4NGRlXG4kZmxpY2tyX2NvbG9yOiBoc2xhKDMzNCwgMTAwJSwgNDYlLCAxKTsgLy8gI2VhMDA2NlxuJGdpdGh1Yl9jb2xvcjogaHNsYSgwLCAwJSwgMTglLCAxKTsgLy8gIzJmMmYyZlxuJGJhc2VjYW1wX2NvbG9yOiBoc2xhKDEyMSwgMzglLCA1OCUsIDEpOyAvLyAjNmJiZDZkXG4kdHVtYmxyX2NvbG9yOiBoc2xhKDIxMCwgMzclLCAzMCUsIDEpOyAvLyAjMzA0YzY4XG4kZm91cnNxdWFyZV9jb2xvcjogaHNsYSgyMDYsIDcyJSwgNDUlLCAxKTsgLy8gIzIwN2RjNVxuJGJveF9jb2xvcjogaHNsYSgyMDQsIDgzJSwgNDAlLCAxKTsgLy8gIzEyNzdiY1xuXG4vL3RyYW5zaXRpb25zXG4kY3ViaWM6IGFsbCAuNnMgY3ViaWMtYmV6aWVyKC4xOSwxLC4yMiwxKSA1MG1zO1xuJGN1YmljLWZhc3Q6IGFsbCAuM3MgY3ViaWMtYmV6aWVyKC4xOSwxLC4yMiwxKSA1MG1zO1xuJGN1YmljLXNsb3c6IGFsbCAxLjVzIGN1YmljLWJlemllciguMTksMSwuMjIsMSkgNTBtcztcbiRlYXNlOiBhbGwgLjZzIGVhc2UtaW4tb3V0O1xuXG4vL2hlYWRlciBoZWlnaHRcbiRuYXZiYXJfaGVpZ2h0OiA1MHB4O1xuJG1vYmlsZV9uYXZiYXJfaGVpZ2h0OjQwcHg7XG5cblxuLypcbiAgICBWZWxvY2l0eSBUcmFuc2l0aW9ucyBMaXN0XG4gICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5mYWRlSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5mYWRlT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uZmxpcFhJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmZsaXBYT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uZmxpcFlJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmZsaXBZT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uZmxpcEJvdW5jZVhJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmZsaXBCb3VuY2VYT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uZmxpcEJvdW5jZVlJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmZsaXBCb3VuY2VZT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uc3dvb3BJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnN3b29wT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24ud2hpcmxJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLndoaXJsT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uc2hyaW5rSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zaHJpbmtPdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5leHBhbmRJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmV4cGFuZE91dCcpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmJvdW5jZUluJylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uYm91bmNlT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uYm91bmNlVXBJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmJvdW5jZVVwT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uYm91bmNlRG93bkluJylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uYm91bmNlRG93bk91dCcpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmJvdW5jZUxlZnRJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmJvdW5jZUxlZnRPdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5ib3VuY2VSaWdodEluJylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uYm91bmNlUmlnaHRPdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZVVwSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZVVwT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uc2xpZGVEb3duSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZURvd25PdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZUxlZnRJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnNsaWRlTGVmdE91dCcpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnNsaWRlUmlnaHRJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnNsaWRlUmlnaHRPdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZVVwQmlnSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZVVwQmlnT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uc2xpZGVEb3duQmlnSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZURvd25CaWdPdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZUxlZnRCaWdJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnNsaWRlTGVmdEJpZ091dCcpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnNsaWRlUmlnaHRCaWdJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnNsaWRlUmlnaHRCaWdPdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5wZXJzcGVjdGl2ZVVwSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5wZXJzcGVjdGl2ZVVwT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24ucGVyc3BlY3RpdmVEb3duSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5wZXJzcGVjdGl2ZURvd25PdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5wZXJzcGVjdGl2ZUxlZnRJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnBlcnNwZWN0aXZlTGVmdE91dCcpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnBlcnNwZWN0aXZlUmlnaHRJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnBlcnNwZWN0aXZlUmlnaHRPdXQnKTsgXG5cbiovXG4iLCIvKiBNaXhpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vLy8vLy8vIEF2aWxhYmxlIEJvb3RzdHJhcCBNaXhpbnNcbi8vLy8gQWxlcnRzXG4vL0BpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICR0ZXh0LWNvbG9yKTtcbi8vXG4vLy8vIEJhY2tncm91bmQgVmFyaWFudFxuLy9AaW5jbHVkZSBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcik7XG4vL1xuLy8vLyBCb3JkZXIgUmFkaXVzXG4vL0BpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpO1xuLy9AaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpO1xuLy9AaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKTtcbi8vQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpO1xuLy9cbi8vLy8gQnV0dG9uc1xuLy9AaW5jbHVkZSBidXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKTtcbi8vQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpO1xuLy9cbi8vLy8gQ2VudGVyIEJsb2NrXG4vL0BpbmNsdWRlIGNlbnRlci1ibG9jaygpO1xuLy9cbi8vLy8gQ2xlYXJmaXhcbi8vQGluY2x1ZGUgY2xlYXJmaXgoKTtcbi8vXG4vLy8vIEZvcm1zXG4vL0BpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCR0ZXh0LWNvbG9yOiAjNTU1LCAkYm9yZGVyLWNvbG9yOiAjY2NjLCAkYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSk7XG4vL0BpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygkY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXMpO1xuLy9AaW5jbHVkZSBpbnB1dC1zaXplKCRwYXJlbnQsICRpbnB1dC1oZWlnaHQsICRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKTtcbi8vXG4vLy8vIEdyYWRpZW50c1xuLy9AaW5jbHVkZSBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpO1xuLy9AaW5jbHVkZSBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKTtcbi8vQGluY2x1ZGUgZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZyk7XG4vL0BpbmNsdWRlIGdyYWRpZW50LWhvcml6b250YWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zik7XG4vL0BpbmNsdWRlIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpO1xuLy9AaW5jbHVkZSBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpO1xuLy9AaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKTtcbi8vXG4vLy8vIEdyaWQgRnJhbWV3b3JrXG4vL0BpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCRpOiAxLCAkbGlzdDogXCIuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCIpO1xuLy9AaW5jbHVkZSBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzLCAkaTogMSwgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX1cIik7XG4vL0BpbmNsdWRlIGNhbGMtZ3JpZC1jb2x1bW4oJGluZGV4LCAkY2xhc3MsICR0eXBlKTtcbi8vQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpO1xuLy9AaW5jbHVkZSBtYWtlLWdyaWQoJGNsYXNzKTtcbi8vXG4vLy8vIEdyaWRcbi8vQGluY2x1ZGUgY29udGFpbmVyLWZpeGVkKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCk7XG4vL0BpbmNsdWRlIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCk7XG4vL0BpbmNsdWRlIG1ha2UteHMtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuLy9AaW5jbHVkZSBtYWtlLXhzLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpO1xuLy9AaW5jbHVkZSBtYWtlLXhzLWNvbHVtbi1wdXNoKCRjb2x1bW5zKTtcbi8vQGluY2x1ZGUgbWFrZS14cy1jb2x1bW4tcHVsbCgkY29sdW1ucyk7XG4vL0BpbmNsdWRlIG1ha2Utc20tY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuLy9AaW5jbHVkZSBtYWtlLXNtLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpO1xuLy9AaW5jbHVkZSBtYWtlLXNtLWNvbHVtbi1wdXNoKCRjb2x1bW5zKTtcbi8vQGluY2x1ZGUgbWFrZS1zbS1jb2x1bW4tcHVsbCgkY29sdW1ucyk7XG4vL0BpbmNsdWRlIG1ha2UtbWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuLy9AaW5jbHVkZSBtYWtlLW1kLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpO1xuLy9AaW5jbHVkZSBtYWtlLW1kLWNvbHVtbi1wdXNoKCRjb2x1bW5zKTtcbi8vQGluY2x1ZGUgbWFrZS1tZC1jb2x1bW4tcHVsbCgkY29sdW1ucyk7XG4vL0BpbmNsdWRlIG1ha2UtbGctY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuLy9AaW5jbHVkZSBtYWtlLWxnLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpO1xuLy9AaW5jbHVkZSBtYWtlLWxnLWNvbHVtbi1wdXNoKCRjb2x1bW5zKTtcbi8vQGluY2x1ZGUgbWFrZS1sZy1jb2x1bW4tcHVsbCgkY29sdW1ucyk7XG4vL1xuLy8vLyBIaWRlIFRleHRcbi8vQGluY2x1ZGUgdGV4dC1oaWRlKCk7XG4vL1xuLy8vLyBJbWFnZVxuLy9AaW5jbHVkZSBpbWctcmVzcG9uc2l2ZSgkZGlzcGxheTogYmxvY2spO1xuLy9AaW5jbHVkZSBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KTtcbi8vXG4vLy8vIExhYmVsc1xuLy9AaW5jbHVkZSBsYWJlbC12YXJpYW50KCRjb2xvcik7XG4vL1xuLy8vLyBMaXN0IEdyb3VwXG4vL0BpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcik7XG4vL1xuLy8vLyBOYXYgRGl2aWRlclxuLy9AaW5jbHVkZSBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpO1xuLy9cbi8vLy8gTmF2IFZlcnRpY2FsIEFsaWduXG4vL0BpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkZWxlbWVudC1oZWlnaHQpO1xuLy9cbi8vLy8gT3BhY2l0eVxuLy9AaW5jbHVkZSBvcGFjaXR5KCRvcGFjaXR5KTtcbi8vXG4vLy8vIFBhZ2luYXRpb25cbi8vQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cyk7XG4vL1xuLy8vLyBQYW5lbHNcbi8vQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKTtcbi8vXG4vLy8vIFByb2dyZXNzIEJhclxuLy9AaW5jbHVkZSBwcm9ncmVzcy1iYXItdmFyaWFudCgkY29sb3IpO1xuLy9cbi8vLy8gUmVzZXQgRmlsdGVyXG4vL0BpbmNsdWRlIHJlc2V0LWZpbHRlcigpO1xuLy9cbi8vLy8gUmVzaXplXG4vL0BpbmNsdWRlIHJlc2l6YWJsZSgkZGlyZWN0aW9uKTtcbi8vXG4vLy8vIFJlc3BvbnNpdmUgVmlzaWJpbGl0eVxuLy9AaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJHBhcmVudCk7XG4vL0BpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCRwYXJlbnQpO1xuLy9cbi8vLy8gU2l6ZVxuLy9AaW5jbHVkZSBzaXplKCR3aWR0aCwgJGhlaWdodCk7XG4vL0BpbmNsdWRlIHNxdWFyZSgkc2l6ZSk7XG4vL1xuLy8vLyBUYWIgRm9jdXNcbi8vQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4vL1xuLy8vLyBUYWJsZSBSb3dcbi8vQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCk7XG4vL1xuLy8vLyBUZXh0IEVtcGhhc2lzXG4vL0BpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpO1xuLy9cbi8vLy8gVGV4dCBPdmVyZmxvd1xuLy9AaW5jbHVkZSB0ZXh0LW92ZXJmbG93KCk7XG4vL1xuLy8vLyBWZW5kb3IgUHJlZml4ZXNcbi8vQGluY2x1ZGUgYW5pbWF0aW9uKCRhbmltYXRpb24pO1xuLy9AaW5jbHVkZSBhbmltYXRpb24tbmFtZSgkbmFtZSk7XG4vL0BpbmNsdWRlIGFuaW1hdGlvbi1kdXJhdGlvbigkZHVyYXRpb24pO1xuLy9AaW5jbHVkZSBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmctZnVuY3Rpb24pO1xuLy9AaW5jbHVkZSBhbmltYXRpb24tZGVsYXkoJGRlbGF5KTtcbi8vQGluY2x1ZGUgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkaXRlcmF0aW9uLWNvdW50KTtcbi8vQGluY2x1ZGUgYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcbi8vQGluY2x1ZGUgYW5pbWF0aW9uLWZpbGwtbW9kZSgkZmlsbC1tb2RlKTtcbi8vQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSk7XG4vL0BpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdy4uLik7XG4vL0BpbmNsdWRlIGJveC1zaXppbmcoJGJveG1vZGVsKTtcbi8vQGluY2x1ZGUgY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuLy9AaW5jbHVkZSBoeXBoZW5zKCRtb2RlOiBhdXRvKTtcbi8vQGluY2x1ZGUgcGxhY2Vob2xkZXIoJGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpO1xuLy9AaW5jbHVkZSBzY2FsZSgkcmF0aW8uLi4pO1xuLy9AaW5jbHVkZSBzY2FsZVgoJHJhdGlvKTtcbi8vQGluY2x1ZGUgc2NhbGVZKCRyYXRpbyk7XG4vL0BpbmNsdWRlIHNrZXcoJHgsICR5KTtcbi8vQGluY2x1ZGUgdHJhbnNsYXRlKCR4LCAkeSk7XG4vL0BpbmNsdWRlIHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xuLy9AaW5jbHVkZSByb3RhdGUoJGRlZ3JlZXMpO1xuLy9AaW5jbHVkZSByb3RhdGVYKCRkZWdyZWVzKTtcbi8vQGluY2x1ZGUgcm90YXRlWSgkZGVncmVlcyk7XG4vL0BpbmNsdWRlIHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSk7XG4vL0BpbmNsdWRlIHBlcnNwZWN0aXZlLW9yaWdpbigkcGVyc3BlY3RpdmUpO1xuLy9AaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4pO1xuLy9AaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKTtcbi8vQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSgkdHJhbnNpdGlvbi1wcm9wZXJ0eS4uLik7XG4vL0BpbmNsdWRlIHRyYW5zaXRpb24tZGVsYXkoJHRyYW5zaXRpb24tZGVsYXkpO1xuLy9AaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0cmFuc2l0aW9uLWR1cmF0aW9uLi4uKTtcbi8vQGluY2x1ZGUgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbik7XG4vL0BpbmNsdWRlIHRyYW5zaXRpb24tdHJhbnNmb3JtKCR0cmFuc2l0aW9uLi4uKTtcbi8vQGluY2x1ZGUgdXNlci1zZWxlY3QoJHNlbGVjdCk7XG5cbi8vLy8vLy9DdXN0b20gTWl4aW5zXG5AbWl4aW4gaGlkZS10ZXh0IHtcbiAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbkBtaXhpbiBoZWFkaW5ncygkZnJvbTogMSwgJHRvOiA2KSB7XG4gIEBmb3IgJGkgZnJvbSAkZnJvbSB0aHJvdWdoICR0byB7XG4gICAgaCN7JGl9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGRzIGxldHRlciBzcGFjaW5nIHRvIG1hdGNoIHBob3Rvc2hvcCB0cmFja2luZ1xuQG1peGluIHRyYWNraW5nKCRwcy10cmFja2luZykge1xuICBsZXR0ZXItc3BhY2luZzogI3skcHMtdHJhY2tpbmd9cHg7XG59XG5cbkBtaXhpbiBzY3JvbGxfdHJhbnNpdGlvbiB7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtKCRlZmZlY3QuLi4pIHtcbiAgLW1vei10cmFuc2Zvcm06ICRlZmZlY3Q7XG4gIC1tcy10cmFuc2Zvcm06ICRlZmZlY3Q7XG4gIC1vLXRyYW5zZm9ybTogJGVmZmVjdDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06ICRlZmZlY3Q7XG4gIHRyYW5zZm9ybTogJGVmZmVjdDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbi8vdGhpcyBtaXhpbiBieXBhc3NlcyB0aGUgYm9vdHN0cmFwIG1peGluIHRoYXQgaGFzIHRoZSAocHJlZmVycy1yZWR1Y2VkLW1vdGlvbikgY2hlY2tcbkBtaXhpbiBUcmFuc2l0aW9uKCRlZmZlY3QuLi4pIHtcbiAgLW1vei10cmFuc2l0aW9uOiAkZWZmZWN0O1xuICAtbXMtdHJhbnNpdGlvbjogJGVmZmVjdDtcbiAgLW8tdHJhbnNpdGlvbjogJGVmZmVjdDtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAkZWZmZWN0O1xuICB0cmFuc2l0aW9uOiAkZWZmZWN0O1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6ICgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGFzcGVjdF9yYXRpb19zZWN0aW9uKCR3aWR0aCwgJGhlaWdodCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy10b3A6ICgkaGVpZ2h0IC8gJHdpZHRoKSAqIDEwMCU7XG4gIH1cblxuICA+IC5hc3BlY3RfY29udGVudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gYWJzb2x1dGUtY292ZXIge1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbn1cblxuQG1peGluIGJhY2tncm91bmQtYmx1cigkc2l6ZSkge1xuICAtd2Via2l0LWZpbHRlcjogYmx1cigkc2l6ZSk7XG4gIC1tb3otZmlsdGVyOiBibHVyKCRzaXplKTtcbiAgLW8tZmlsdGVyOiBibHVyKCRzaXplKTtcbiAgLW1zLWZpbHRlcjogYmx1cigkc2l6ZSk7XG4gIGZpbHRlcjogYmx1cigkc2l6ZSk7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWZpeCB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDEzNjZweCkge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGJhY2tncm91bmQtY292ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG5AbWl4aW4gaG92ZXJfdHJhbnNpdGlvbiB7XG4gIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSkgNTBtcztcbiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSkgNTBtcztcbiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDUwbXM7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMjIsIDEpIDUwbXM7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjE5LCAxLCAwLjIyLCAxKSA1MG1zO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5AbWl4aW4gYWJzb2x1dGVfbWlkZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbkBtaXhpbiBtaWRkbGVfdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgdG9wOiA1MCU7XG59XG5cbkBtaXhpbiBtaWRkbGVfaCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG5AbWl4aW4gZ3JleXNjYWxlIHtcbiAgLXdlYmtpdC1maWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTtcbiAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG59XG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXMpIHtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG59XG5cbkBmdW5jdGlvbiByYW5nZS1wcm9ncmVzcygkY29sb3IsICRkaXN0LCAkb2Zmc2V0KSB7XG4gICR2YWw6IC0jeyRkaXN0fSAwIDAgLSN7JG9mZnNldH0gJGNvbG9yO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggMTUwIHtcbiAgICAkdmFsOiAjeyR2YWx9LFxuICAgICAgI3stJGRpc3QgLSAoKCRkaXN0IC0gJG9mZnNldCkgKiAkaSl9IDAgMCAtI3skb2Zmc2V0fSAjeyRjb2xvcn07XG4gIH1cblxuICBAcmV0dXJuICR2YWw7XG59XG5cbkBtaXhpbiBmb250LXJlc3BvbnNpdmUoJG1pbiwgJG1heCkge1xuICAkbWlucHg6ICRtaW4gKyBweDtcbiAgZm9udC1zaXplOiBjYWxjKFxuICAgICN7JG1pbnB4fSArICgjeyRtYXh9IC0gI3skbWlufSkgKiAoKDEwMHZ3IC0gMzAwcHgpIC8gKDE5MjAgLSAzMDApKVxuICApO1xuICBAbWVkaWEgKG1pbi13aWR0aDogMTkyMHB4KSB7XG4gICAgZm9udC1zaXplOiAkbWF4ICsgcHg7XG4gIH1cbn1cblxuQG1peGluIGxpbmUtaGVpZ2h0LXJlc3BvbnNpdmUoJG1pbiwgJG1heCkge1xuICAkbWlucHg6ICRtaW4gKyBweDtcbiAgbGluZS1oZWlnaHQ6IGNhbGMoXG4gICAgI3skbWlucHh9ICsgKCN7JG1heH0gLSAjeyRtaW59KSAqICgoMTAwdncgLSAzMDBweCkgLyAoMTkyMCAtIDMwMCkpXG4gICk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDE5MjBweCkge1xuICAgIGxpbmUtaGVpZ2h0OiAkbWF4ICsgcHg7XG4gIH1cbn1cblxuQG1peGluIGNsYW1wQXV0b1Z3KCRwcm9wZXJ0eSwgJG1pbiwgJG1heCkge1xuICAkdndNYXg6IDE5MjA7IC8vIE1heGltdW0gc2NyZWVuIHdpZHRoXG4gICRtYXhWdzogKCRtYXggLyAkdndNYXgpICogMTAwOyAvLyBDYWxjdWxhdGUgbWF4IHZhbHVlIGluIHZ3IHVuaXRzXG4gICN7JHByb3BlcnR5fTogY2xhbXAoI3skbWlufXB4LCAjeyRtYXhWd312dywgI3skbWF4fXB4KTtcbn1cblxuJHZpZGVvLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTUnIGhlaWdodD0nMTEnIHZpZXdCb3g9JzAgMCAxNSAxMScgZmlsbD0nbm9uZSclM0UlM0NwYXRoIGQ9J00zLjU0MTYxIDBDMi4wNzAwNyAwIDAuODc1IDEuMjcyMjggMC44NzUgMi44Mzg2OVY4LjE2MTMxQzAuODc1IDkuNzI3ODEgMi4wNzAxNiAxMSAzLjU0MTYxIDExSDEyLjIwODRDMTMuNjc5OSAxMSAxNC44NzUgOS43Mjc3MiAxNC44NzUgOC4xNjEzMVYyLjgzODY5QzE0Ljg3NSAxLjI3MjE5IDEzLjY3OTggMCAxMi4yMDg0IDBIMy41NDE2MVpNMy41NDE2MSAwLjcwOTczSDEyLjIwODRDMTMuMzIyMSAwLjcwOTczIDE0LjIwODUgMS42NTMxNiAxNC4yMDg1IDIuODM4ODdWOC4xNjE1QzE0LjIwODUgOS4zNDcxMiAxMy4zMjIyIDEwLjI5MDYgMTIuMjA4NCAxMC4yOTA2SDMuNTQxNjFDMi40Mjc4NiAxMC4yOTA2IDEuNTQxNTMgOS4zNDcyMiAxLjU0MTUzIDguMTYxNVYyLjgzODg3QzEuNTQxNTMgMS42NTMyNSAyLjQyNzc3IDAuNzA5NzMgMy41NDE2MSAwLjcwOTczWk02LjUxNTY3IDIuODM4ODdWMi44Mzg3OEM2LjQzMTg0IDIuODQ1NzUgNi4zNTM2MiAyLjg4NjIgNi4yOTY2NyAyLjk1MjA0QzYuMjM5NjQgMy4wMTc4IDYuMjA4MTEgMy4xMDQxIDYuMjA4MzcgMy4xOTM2MVY3LjgwNjc0QzYuMjA3MjUgNy44OTExMSA2LjIzNDM5IDcuOTczMjggNi4yODQ5NiA4LjAzODNDNi4zMzU1MyA4LjEwMzMyIDYuNDA2MjYgOC4xNDcwNyA2LjQ4NDQgOC4xNjE1NkM2LjU2MzMxIDguMTc2NiA2LjY0NDcyIDguMTYwODMgNi43MTM1NyA4LjExNzE3TDEwLjM4MDQgNS44MTA2OEMxMC40NDg1IDUuNzY5MDQgMTAuNTAwNiA1LjcwMzEgMTAuNTI3NSA1LjYyNDZDMTAuNTU0NSA1LjU0NiAxMC41NTQ1IDUuNDU5ODkgMTAuNTI3NSA1LjM4MTM5QzEwLjUwMDYgNS4zMDI4IDEwLjQ0ODUgNS4yMzY4NiAxMC4zODA0IDUuMTk1MjJMNi43MTM1NyAyLjg4ODczQzYuNjU0MTIgMi44NTA1OCA2LjU4NDk0IDIuODMzMTUgNi41MTU2OCAyLjgzODg0TDYuNTE1NjcgMi44Mzg4N1pNNi44NzUwOSAzLjgyMDI2TDkuNTQ3IDUuNTAwM0w2Ljg3NTA5IDcuMTg1ODRWMy44MjAyNlonIGZpbGw9J3doaXRlJy8lM0UlM0Mvc3ZnJTNFXCIpO1xuJGF1ZGlvLWljb246IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTUnIGhlaWdodD0nMTEnIHZpZXdCb3g9JzAgMCAxNSAxMScgZmlsbD0nbm9uZScgc3Ryb2tlPSd3aGl0ZScgc3Ryb2tlLXdpZHRoPScwLjgnIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLWxpbmVqb2luPSdyb3VuZCclM0UlM0NwYXRoIGQ9J00xIDRIMy41TDcgMVYxMEwzLjUgN0gxVjRaJy8lM0UlM0NsaW5lIHgxPSczLjUnIHkxPSc0JyB4Mj0nMy41JyB5Mj0nNycvJTNFJTNDcGF0aCBkPSdNOS41NTk3IDIuNzQ0N0MxMC41MjQ2IDMuMTk2NSAxMS4xNjkgNC4yODQ2IDExLjE2MjkgNS40NTNDMTEuMTY5IDYuNjIwOSAxMC41MjQ2IDcuNzA5IDkuNTU5NyA4LjE2MTgnLyUzRSUzQ3BhdGggZD0nTTEwLjQwMDIgMS4wNjA0QzExLjk2NTggMS43OTI5IDEzLjAxMDMgMy41NTggMTMuMDAwMiA1LjQ1MjNDMTMuMDEwNCA3LjM0NzIgMTEuOTY1OCA5LjExMjIgMTAuNDAwMiA5Ljg0NDknLyUzRSUzQy9zdmclM0VcIik7XG5cbkBtaXhpbiBtZWRpYUNhcmRCYWRnZVRvZ2dsZSgkaWNvbiwgJGljb24tc2l6ZTogbnVsbCkge1xuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIEBjb250YWluZXIgKHdpZHRoID49IDQwMHB4KSB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgQGNvbnRhaW5lciAod2lkdGggPCA0MDBweCkge1xuICAgIC52aWQtaWNvbjpiZWZvcmUsLnZpZF9pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogYXR0cihkYXRhLXR5cGUpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDUlO1xuICAgIHJpZ2h0OiA0JTtcbiAgICBmb250LWZhbWlseTogJGdvdGhhbTtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIHotaW5kZXg6IDI7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICBwYWRkaW5nOiA1cHggNnB4IDVweCAyOXB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNnB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRpY29uO1xuICAgIFxuICAgIEBpZiAkaWNvbi1zaXplIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogJGljb24tc2l6ZTtcbiAgICB9XG4gIH1cbn0iLCIvLyBCb290c3RyYXAgZnVuY3Rpb25zXG4vL1xuLy8gVXRpbGl0eSBtaXhpbnMgYW5kIGZ1bmN0aW9ucyBmb3IgZXZhbHVhdGluZyBzb3VyY2UgY29kZSBhY3Jvc3Mgb3VyIHZhcmlhYmxlcywgbWFwcywgYW5kIG1peGlucy5cblxuLy8gQXNjZW5kaW5nXG4vLyBVc2VkIHRvIGV2YWx1YXRlIFNhc3MgbWFwcyBsaWtlIG91ciBncmlkIGJyZWFrcG9pbnRzLlxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xuICAkcHJldi1rZXk6IG51bGw7XG4gICRwcmV2LW51bTogbnVsbDtcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcbiAgICBAaWYgJHByZXYtbnVtID09IG51bGwgb3IgdW5pdCgkbnVtKSA9PSBcIiVcIiB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gVXNlZCB0byBlbnN1cmUgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXG5AbWl4aW4gX2Fzc2VydC1zdGFydHMtYXQtemVybygkbWFwLCAkbWFwLW5hbWU6IFwiJGdyaWQtYnJlYWtwb2ludHNcIikge1xuICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xuICAkZmlyc3QtdmFsdWU6IG50aCgkdmFsdWVzLCAxKTtcbiAgQGlmICRmaXJzdC12YWx1ZSAhPSAwIHtcbiAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gI3skbWFwLW5hbWV9IG11c3Qgc3RhcnQgYXQgMCwgYnV0IHN0YXJ0cyBhdCAjeyRmaXJzdC12YWx1ZX0uXCI7XG4gIH1cbn1cblxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxuLy8gVXNlZCBvbiBvdXIgU1ZHIGljb24gYmFja2dyb3VuZHMgZm9yIGN1c3RvbSBmb3Jtcy5cbi8vXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc3RyaW5nIC0gSW5pdGlhbCBzdHJpbmdcbi8vIEBwYXJhbSB7U3RyaW5nfSAkc2VhcmNoIC0gU3Vic3RyaW5nIHRvIHJlcGxhY2Vcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXG4vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVXBkYXRlZCBzdHJpbmdcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogXCJcIikge1xuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuICBAaWYgJGluZGV4IHtcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gIH1cblxuICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbi8vIENvbG9yIGNvbnRyYXN0XG5AZnVuY3Rpb24gY29sb3IteWlxKCRjb2xvciwgJGRhcms6ICR5aXEtdGV4dC1kYXJrLCAkbGlnaHQ6ICR5aXEtdGV4dC1saWdodCkge1xuICAkcjogcmVkKCRjb2xvcik7XG4gICRnOiBncmVlbigkY29sb3IpO1xuICAkYjogYmx1ZSgkY29sb3IpO1xuXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcblxuICBAaWYgKCR5aXEgPj0gJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJGRhcms7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gJGxpZ2h0O1xuICB9XG59XG5cbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xuQGZ1bmN0aW9uIGNvbG9yKCRrZXk6IFwiYmx1ZVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yKCRrZXk6IFwicHJpbWFyeVwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcbn1cblxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGdyYXlzLCAka2V5KTtcbn1cblxuLy8gUmVxdWVzdCBhIHRoZW1lIGNvbG9yIGxldmVsXG5AZnVuY3Rpb24gdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLW5hbWU6IFwicHJpbWFyeVwiLCAkbGV2ZWw6IDApIHtcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XG4gICRjb2xvci1iYXNlOiBpZigkbGV2ZWwgPiAwLCAkYmxhY2ssICR3aGl0ZSk7XG4gICRsZXZlbDogYWJzKCRsZXZlbCk7XG5cbiAgQHJldHVybiBtaXgoJGNvbG9yLWJhc2UsICRjb2xvciwgJGxldmVsICogJHRoZW1lLWNvbG9yLWludGVydmFsKTtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cbi8vIENvbG9yIHN5c3RlbVxuXG4kd2hpdGU6ICAgICNmZmYgIWRlZmF1bHQ7XG4kZ3JheS0xMDA6ICNmOGY5ZmEgIWRlZmF1bHQ7XG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XG4kZ3JheS0zMDA6ICNkZWUyZTYgIWRlZmF1bHQ7XG4kZ3JheS00MDA6ICNjZWQ0ZGEgIWRlZmF1bHQ7XG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XG4kZ3JheS02MDA6ICM2Yzc1N2QgIWRlZmF1bHQ7XG4kZ3JheS03MDA6ICM0OTUwNTcgIWRlZmF1bHQ7XG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XG4kZ3JheS05MDA6ICMyMTI1MjkgIWRlZmF1bHQ7XG4kYmxhY2s6ICAgICMwMDAgIWRlZmF1bHQ7XG5cbiRncmF5czogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGdyYXlzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcIjEwMFwiOiAkZ3JheS0xMDAsXG4gICAgXCIyMDBcIjogJGdyYXktMjAwLFxuICAgIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgICBcIjQwMFwiOiAkZ3JheS00MDAsXG4gICAgXCI1MDBcIjogJGdyYXktNTAwLFxuICAgIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgICBcIjcwMFwiOiAkZ3JheS03MDAsXG4gICAgXCI4MDBcIjogJGdyYXktODAwLFxuICAgIFwiOTAwXCI6ICRncmF5LTkwMFxuICApLFxuICAkZ3JheXNcbik7XG5cbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xuJGluZGlnbzogICM2NjEwZjIgIWRlZmF1bHQ7XG4kcHVycGxlOiAgIzZmNDJjMSAhZGVmYXVsdDtcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xuJHJlZDogICAgICNkYzM1NDUgIWRlZmF1bHQ7XG4kb3JhbmdlOiAgI2ZkN2UxNCAhZGVmYXVsdDtcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xuJGdyZWVuOiAgICMyOGE3NDUgIWRlZmF1bHQ7XG4kdGVhbDogICAgIzIwYzk5NyAhZGVmYXVsdDtcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xuXG4kY29sb3JzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kY29sb3JzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXG4gICAgXCJpbmRpZ29cIjogICAgICRpbmRpZ28sXG4gICAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxuICAgIFwicmVkXCI6ICAgICAgICAkcmVkLFxuICAgIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxuICAgIFwiZ3JlZW5cIjogICAgICAkZ3JlZW4sXG4gICAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcbiAgICBcIndoaXRlXCI6ICAgICAgJHdoaXRlLFxuICAgIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxuICApLFxuICAkY29sb3JzXG4pO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJHRoZW1lLWNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxuICAgIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICAgIFwic3VjY2Vzc1wiOiAgICAkc3VjY2VzcyxcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXG4gICAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICAgIFwiZGFuZ2VyXCI6ICAgICAkZGFuZ2VyLFxuICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXG4gICAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4gICksXG4gICR0aGVtZS1jb2xvcnNcbik7XG5cbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcbiR0aGVtZS1jb2xvci1pbnRlcnZhbDogICAgICA4JSAhZGVmYXVsdDtcblxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXG4keWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkOiAgMTUwICFkZWZhdWx0O1xuXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cbiR5aXEtdGV4dC1kYXJrOiAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4keWlxLXRleHQtbGlnaHQ6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeTogICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXG4kZW5hYmxlLWdyaWQtY2xhc3NlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcG9pbnRlci1jdXJzb3ItZm9yLWJ1dHRvbnM6ICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1wcmludC1zdHlsZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXZhbGlkYXRpb24taWNvbnM6ICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXM6ICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuXG5cbi8vIFNwYWNpbmdcbi8vXG4vLyBDb250cm9sIHRoZSBkZWZhdWx0IHN0eWxpbmcgb2YgbW9zdCBCb290c3RyYXAgZWxlbWVudHMgYnkgbW9kaWZ5aW5nIHRoZXNlXG4vLyB2YXJpYWJsZXMuIE1vc3RseSBmb2N1c2VkIG9uIHNwYWNpbmcuXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxuXG4kc3BhY2VyOiAxcmVtICFkZWZhdWx0O1xuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzcGFjZXJzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICAwOiAwLFxuICAgIDE6ICgkc3BhY2VyICogLjI1KSxcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcbiAgICAzOiAkc3BhY2VyLFxuICAgIDQ6ICgkc3BhY2VyICogMS41KSxcbiAgICA1OiAoJHNwYWNlciAqIDMpXG4gICksXG4gICRzcGFjZXJzXG4pO1xuXG4vLyBUaGlzIHZhcmlhYmxlIGFmZmVjdHMgdGhlIGAuaC0qYCBhbmQgYC53LSpgIGNsYXNzZXMuXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRzaXplczogbWFwLW1lcmdlKFxuICAoXG4gICAgMjU6IDI1JSxcbiAgICA1MDogNTAlLFxuICAgIDc1OiA3NSUsXG4gICAgMTAwOiAxMDAlLFxuICAgIGF1dG86IGF1dG9cbiAgKSxcbiAgJHNpemVzXG4pO1xuXG5cbi8vIEJvZHlcbi8vXG4vLyBTZXR0aW5ncyBmb3IgdGhlIGA8Ym9keT5gIGVsZW1lbnQuXG5cbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kYm9keS1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kbGluay1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICBub25lICFkZWZhdWx0O1xuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lICFkZWZhdWx0O1xuLy8gRGFya2VuIHBlcmNlbnRhZ2UgZm9yIGxpbmtzIHdpdGggYC50ZXh0LSpgIGNsYXNzIChlLmcuIGAudGV4dC1zdWNjZXNzYClcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuXG5cbi8vIEdyaWQgY29udGFpbmVyc1xuLy9cbi8vIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbiRjb250YWluZXItbWF4LXdpZHRoczogKFxuICBzbTogNTQwcHgsXG4gIG1kOiA3MjBweCxcbiAgbGc6IDk2MHB4LFxuICB4bDogMTE0MHB4XG4pICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBfYXNzZXJ0LWFzY2VuZGluZygkY29udGFpbmVyLW1heC13aWR0aHMsIFwiJGNvbnRhaW5lci1tYXgtd2lkdGhzXCIpO1xuXG5cbi8vIEdyaWQgY29sdW1uc1xuLy9cbi8vIFNldCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIHNwZWNpZnkgdGhlIHdpZHRoIG9mIHRoZSBndXR0ZXJzLlxuXG4kZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgICAxMiAhZGVmYXVsdDtcbiRncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cblxuLy8gQ29tcG9uZW50c1xuLy9cbi8vIERlZmluZSBjb21tb24gcGFkZGluZyBhbmQgYm9yZGVyIHJhZGl1cyBzaXplcyBhbmQgbW9yZS5cblxuJGxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgMS41ICFkZWZhdWx0O1xuXG4kYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxcHggIWRlZmF1bHQ7XG4kYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgIC4zcmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG5cbiRyb3VuZGVkLXBpbGw6ICAgICAgICAgICAgICAgIDUwcmVtICFkZWZhdWx0O1xuXG4kYm94LXNoYWRvdy1zbTogICAgICAgICAgICAgICAwIC4xMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuJGNhcmV0LXZlcnRpY2FsLWFsaWduOiAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuJGNhcmV0LXNwYWNpbmc6ICAgICAgICAgICAgICAgJGNhcmV0LXdpZHRoICogLjg1ICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRlbWJlZC1yZXNwb25zaXZlLWFzcGVjdC1yYXRpb3M6IGpvaW4oXG4gIChcbiAgICAoMjEgOSksXG4gICAgKDE2IDkpLFxuICAgICg0IDMpLFxuICAgICgxIDEpLFxuICApLFxuICAkZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zXG4pO1xuXG4vLyBUeXBvZ3JhcGh5XG4vL1xuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXG5cbi8vIHN0eWxlbGludC1kaXNhYmxlIHZhbHVlLWtleXdvcmQtY2FzZVxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogICAgICAgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1iYXNlOiAgICAgICAgICAgICRmb250LWZhbWlseS1zYW5zLXNlcmlmICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcblxuJGZvbnQtc2l6ZS1iYXNlOiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDsgLy8gQXNzdW1lcyB0aGUgYnJvd3NlciBkZWZhdWx0LCB0eXBpY2FsbHkgYDE2cHhgXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjg3NSAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWxpZ2h0ZXI6ICAgICAgICAgbGlnaHRlciAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICAgIDQwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkOiAgICAgICAgICAgIDcwMCAhZGVmYXVsdDtcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcblxuJGZvbnQtd2VpZ2h0LWJhc2U6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGgxLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMi41ICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNzUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG4kbGVhZC1mb250LXdlaWdodDogICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG5cbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcblxuJHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYmxvY2txdW90ZS1zbWFsbC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1zbWFsbC1mb250LXNpemU6ICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1jb2xvcjogICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWJnOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0YWJsZS1hY2NlbnQtYmc6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDUpICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJHRhYmxlLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWhvdmVyLWJnOiAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWFjdGl2ZS1iZzogICAgICAgICAgICAgJHRhYmxlLWhvdmVyLWJnICFkZWZhdWx0O1xuXG4kdGFibGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJHRhYmxlLWhlYWQtYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuXG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1iZzogICAgICAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1hY2NlbnQtYmc6ICAgICAgICByZ2JhKCR3aGl0ZSwgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWNvbG9yOiAgICAgICR0YWJsZS1kYXJrLWNvbG9yICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstaG92ZXItYmc6ICAgICAgICAgcmdiYSgkd2hpdGUsIC4wNzUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yOiAgICAgbGlnaHRlbigkdGFibGUtZGFyay1iZywgNy41JSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiR0YWJsZS1zdHJpcGVkLW9yZGVyOiAgICAgICAgIG9kZCAhZGVmYXVsdDtcblxuJHRhYmxlLWNhcHRpb24tY29sb3I6ICAgICAgICAgJHRleHQtbXV0ZWQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZy1sZXZlbDogICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1sZXZlbDogICAgICAgICAgLTYgIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9ucyArIEZvcm1zXG4vL1xuLy8gU2hhcmVkIHZhcmlhYmxlcyB0aGF0IGFyZSByZWFzc2lnbmVkIHRvIGAkaW5wdXQtYCBhbmQgYCRidG4tYCBzcGVjaWZpYyB2YXJpYWJsZXMuXG5cbiRpbnB1dC1idG4tcGFkZGluZy15OiAgICAgICAgIC4zNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtZmFtaWx5OiAgICAgICBudWxsICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemU6ICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodDogICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tZm9jdXMtd2lkdGg6ICAgICAgIC4ycmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb2N1cy1jb2xvcjogICAgICAgcmdiYSgkY29tcG9uZW50LWFjdGl2ZS1iZywgLjI1KSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdzogIDAgMCAwICRpbnB1dC1idG4tZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktc206ICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXgtc206ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbTogICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZzogICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogICAgJGxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnNcbi8vXG4vLyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCwgYW5kIGJvcmRlciBjb2xvci5cblxuJGJ0bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteDogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRidG4tZm9udC1mYW1pbHk6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LXNtICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRidG4tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYnRuLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ0bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKCR3aGl0ZSwgLjE1KSwgMCAxcHggMXB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiRidG4tZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kYnRuLWRpc2FibGVkLW9wYWNpdHk6ICAgICAgICAuNjUgIWRlZmF1bHQ7XG4kYnRuLWFjdGl2ZS1ib3gtc2hhZG93OiAgICAgICBpbnNldCAwIDNweCA1cHggcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuXG4kYnRuLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRidG4tYmxvY2stc3BhY2luZy15OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4vLyBBbGxvd3MgZm9yIGN1c3RvbWl6aW5nIGJ1dHRvbiByYWRpdXMgaW5kZXBlbmRlbnRseSBmcm9tIGdsb2JhbCBib3JkZXIgcmFkaXVzXG4kYnRuLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICRib3JkZXItcmFkaXVzLWxnICFkZWZhdWx0O1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRidG4tdHJhbnNpdGlvbjogICAgICAgICAgICAgIGNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuXG4vLyBGb3Jtc1xuXG4kbGFiZWwtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtd2VpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1iYXNlICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemUtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRpbnB1dC1wbGFpbnRleHQtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1saW5lLWhlaWdodCAqIDFlbX0gKyAjeyRpbnB1dC1wYWRkaW5nLXkgKiAyfSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY6ICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1saW5lLWhlaWdodCAqIC41ZW19ICsgI3skaW5wdXQtcGFkZGluZy15fSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI6ICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1saW5lLWhlaWdodCAqIC4yNWVtfSArICN7JGlucHV0LXBhZGRpbmcteSAvIDJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAxZW19ICsgI3skaW5wdXQtcGFkZGluZy15ICogMn0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LXNtOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1saW5lLWhlaWdodC1zbSAqIDFlbX0gKyAjeyRpbnB1dC1idG4tcGFkZGluZy15LXNtICogMn0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1saW5lLWhlaWdodC1sZyAqIDFlbX0gKyAjeyRpbnB1dC1idG4tcGFkZGluZy15LWxnICogMn0gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyaWQtZ3V0dGVyLXdpZHRoOiAgICAgICAgICAgICAgICAxMHB4ICFkZWZhdWx0O1xuJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRpbnB1dC1ncm91cC1hZGRvbi1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogICAgICAgICRpbnB1dC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZm9ybXMtdHJhbnNpdGlvbjogICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1ndXR0ZXI6ICAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc6ICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgICRpbnB1dC1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3JkZXItY29sb3I6ICRncmF5LTUwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoOiAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkaW5wdXQtZGlzYWJsZWQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3JkZXItY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJvcmRlci1jb2xvcjogICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1jb2xvcjogICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93OiAgICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nIGQ9J002LjU2NC43NWwtMy41OSAzLjYxMi0xLjUzOC0xLjU1TDAgNC4yNiAyLjk3NCA3LjI1IDggMi4xOTN6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU6ICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDQnJTNlJTNjcGF0aCBzdHJva2U9JyN7JGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1jb2xvcn0nIGQ9J00wIDJoNCcvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJvcmRlci1jb2xvcjogJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1yYWRpby1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9Jy00IC00IDggOCclM2UlM2NjaXJjbGUgcj0nMycgZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc3dpdGNoLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZSAqIDEuNzUgIWRlZmF1bHQ7XG4kY3VzdG9tLXN3aXRjaC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1czogICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgLyAyICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLXNpemU6ICAgICAgICAgICAgICAgICAgY2FsYygjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZX0gLSAjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLXdpZHRoICogNH0pICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXk6ICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtZmFtaWx5OiAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZTogICAgICAgICAgICRpbnB1dC1mb250LXNpemUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQ6ICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmc6ICAgMXJlbSAhZGVmYXVsdDsgLy8gRXh0cmEgcGFkZGluZyB0byBhY2NvdW50IGZvciB0aGUgcHJlc2VuY2Ugb2YgdGhlIGJhY2tncm91bmQtaW1hZ2UgYmFzZWQgaW5kaWNhdG9yXG4kY3VzdG9tLXNlbGVjdC1mb250LXdlaWdodDogICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDogICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjogICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZzogICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZzogICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iZy1zaXplOiAgICAgICAgICAgICA4cHggMTBweCAhZGVmYXVsdDsgLy8gSW4gcGl4ZWxzIGJlY2F1c2UgaW1hZ2UgZGltZW5zaW9uc1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLWNvbG9yOiAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiAgICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNlJTNjcGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJhY2tncm91bmQ6ICAgICAgICAgICRjdXN0b20tc2VsZWN0LWluZGljYXRvciBuby1yZXBlYXQgcmlnaHQgJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14IGNlbnRlciAvICRjdXN0b20tc2VsZWN0LWJnLXNpemUgIWRlZmF1bHQ7IC8vIFVzZWQgc28gd2UgY2FuIGhhdmUgbXVsdGlwbGUgYmFja2dyb3VuZCBlbGVtZW50cyAoZS5nLiwgYXJyb3cgYW5kIGZlZWRiYWNrIGljb24pXG5cbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDogY2FsYygoMWVtICsgI3syICogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15fSkgKiAzIC8gNCArICN7JGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmd9KSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb246ICAgICAgY2VudGVyIHJpZ2h0ICgkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXggKyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItcGFkZGluZykgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU6ICAgICAgICAgICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1ib3gtc2hhZG93OiAgICAgICAgICBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGg6ICAgICAgICAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgMCAwIDAgJGN1c3RvbS1zZWxlY3QtZm9jdXMtd2lkdGggJGlucHV0LWJ0bi1mb2N1cy1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LXNtOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICAkaW5wdXQtZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15LWxnOiAgICAgICAgJGlucHV0LXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteC1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAkaW5wdXQtZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10cmFjay13aWR0aDogICAgICAgICAgMTAwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2staGVpZ2h0OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1jdXJzb3I6ICAgICAgICAgcG9pbnRlciAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYmc6ICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stYm9yZGVyLXJhZGl1czogIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJveC1zaGFkb3c6ICAgICBpbnNldCAwIC4yNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1yYW5nZS10aHVtYi13aWR0aDogICAgICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm9yZGVyOiAgICAgICAgICAgICAgICAgIDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgMCAuMXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItZm9jdXMtYm94LXNoYWRvdzogICAgICAgIDAgMCAwIDFweCAkYm9keS1iZywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3ctd2lkdGg6ICAkaW5wdXQtZm9jdXMtd2lkdGggIWRlZmF1bHQ7IC8vIEZvciBmb2N1cyBib3ggc2hhZG93IGlzc3VlIGluIElFL0VkZ2VcbiRjdXN0b20tcmFuZ2UtdGh1bWItYWN0aXZlLWJnOiAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbXBvbmVudC1hY3RpdmUtYmcsIDM1JSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWRpc2FibGVkLWJnOiAgICAgICAgICAgICAkZ3JheS01MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICRpbnB1dC1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtaGVpZ2h0LWlubmVyOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWZvY3VzLWJvcmRlci1jb2xvcjogICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3gtc2hhZG93OiAgICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWRpc2FibGVkLWJnOiAgICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtcGFkZGluZy15OiAgICAgICAgICAgICAkaW5wdXQtcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1saW5lLWhlaWdodDogICAgICAgICAgICRpbnB1dC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LWZhbWlseTogICAgICAgICAgICRpbnB1dC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb250LXdlaWdodDogICAgICAgICAgICRpbnB1dC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1jb2xvcjogICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1iZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuXG4kZm9ybS1mZWVkYmFjay1tYXJnaW4tdG9wOiAgICAgICAgICAkZm9ybS10ZXh0LW1hcmdpbi10b3AgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1mb250LXNpemU6ICAgICAgICAgICAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3I6ICAgICAgICAgdGhlbWUtY29sb3IoXCJzdWNjZXNzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcjogICAgICAgdGhlbWUtY29sb3IoXCJkYW5nZXJcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3I6ICAgICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZDogICAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQtY29sb3J9JyBkPSdNMi4zIDYuNzNMLjYgNC41M2MtLjQtMS4wNC40Ni0xLjQgMS4xLS44bDEuMSAxLjQgMy40LTMuOGMuNi0uNjMgMS42LS4yNyAxLjIuN2wtNCA0LjZjLS40My41LS44LjQtMS4xLjF6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3I6ICAkZm9ybS1mZWVkYmFjay1pbnZhbGlkLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yfScgdmlld0JveD0nLTIgLTIgNyA3JyUzZSUzY3BhdGggc3Ryb2tlPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIGQ9J00wIDBsMyAzbTAtM0wwIDMnLyUzZSUzY2NpcmNsZSByPScuNScvJTNlJTNjY2lyY2xlIGN4PSczJyByPScuNScvJTNlJTNjY2lyY2xlIGN5PSczJyByPScuNScvJTNlJTNjY2lyY2xlIGN4PSczJyBjeT0nMycgcj0nLjUnLyUzZSUzYy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiBtYXAtbWVyZ2UoXG4gIChcbiAgICBcInZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2stdmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi12YWxpZFxuICAgICksXG4gICAgXCJpbnZhbGlkXCI6IChcbiAgICAgIFwiY29sb3JcIjogJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcixcbiAgICAgIFwiaWNvblwiOiAkZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWRcbiAgICApLFxuICApLFxuICAkZm9ybS12YWxpZGF0aW9uLXN0YXRlc1xuKTtcblxuLy8gWi1pbmRleCBtYXN0ZXIgbGlzdFxuLy9cbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xuLy8gb2YgY29tcG9uZW50cyBkZXBlbmRlbnQgb24gdGhlIHotYXhpcyBhbmQgYXJlIGRlc2lnbmVkIHRvIGFsbCB3b3JrIHRvZ2V0aGVyLlxuXG4kemluZGV4LWRyb3Bkb3duOiAgICAgICAgICAgICAgICAgICAxMDAwICFkZWZhdWx0O1xuJHppbmRleC1zdGlja3k6ICAgICAgICAgICAgICAgICAgICAgMTAyMCAhZGVmYXVsdDtcbiR6aW5kZXgtZml4ZWQ6ICAgICAgICAgICAgICAgICAgICAgIDEwMzAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsLWJhY2tkcm9wOiAgICAgICAgICAgICAxMDQwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbDogICAgICAgICAgICAgICAgICAgICAgMTA1MCAhZGVmYXVsdDtcbiR6aW5kZXgtcG9wb3ZlcjogICAgICAgICAgICAgICAgICAgIDEwNjAgIWRlZmF1bHQ7XG4kemluZGV4LXRvb2x0aXA6ICAgICAgICAgICAgICAgICAgICAxMDcwICFkZWZhdWx0O1xuXG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRuYXYtZGl2aWRlci1jb2xvcjogICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRuYXYtZGl2aWRlci1tYXJnaW4teTogICAgICAgICAgICAgICRzcGFjZXIgLyAyICFkZWZhdWx0O1xuXG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcbiRuYXZiYXItcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICRzcGFjZXIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbmF2YmFyLWJyYW5kLWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9udC1zaXplLWxnICFkZWZhdWx0O1xuLy8gQ29tcHV0ZSB0aGUgbmF2YmFyLWJyYW5kIHBhZGRpbmcteSBzbyB0aGUgbmF2YmFyLWJyYW5kIHdpbGwgaGF2ZSB0aGUgc2FtZSBoZWlnaHQgYXMgbmF2YmFyLXRleHQgYW5kIG5hdi1saW5rXG4kbmF2LWxpbmstaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyICFkZWZhdWx0O1xuJG5hdmJhci1icmFuZC1oZWlnaHQ6ICAgICAgICAgICAgICAgJG5hdmJhci1icmFuZC1mb250LXNpemUgKiAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtcGFkZGluZy15OiAgICAgICAgICAgICgkbmF2LWxpbmstaGVpZ2h0IC0gJG5hdmJhci1icmFuZC1oZWlnaHQpIC8gMiAhZGVmYXVsdDtcblxuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteTogICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJG5hdmJhci10b2dnbGVyLWZvbnQtc2l6ZTogICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzOiAgICAgICRidG4tYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJG5hdmJhci1kYXJrLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkd2hpdGUsIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1ob3Zlci1jb2xvcjogICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNzUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjogICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yOiAgICAgICAgcmdiYSgkd2hpdGUsIC4yNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1pY29uLWJnOiAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHZpZXdCb3g9JzAgMCAzMCAzMCcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyUzZSUzY3BhdGggc3Ryb2tlPScjeyRuYXZiYXItZGFyay1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I6ICByZ2JhKCR3aGl0ZSwgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWNvbG9yOiAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1ob3Zlci1jb2xvcjogICAgICAgICAgcmdiYSgkYmxhY2ssIC43KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yOiAgICAgICAgIHJnYmEoJGJsYWNrLCAuOSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWRpc2FibGVkLWNvbG9yOiAgICAgICByZ2JhKCRibGFjaywgLjMpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC10b2dnbGVyLWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstYnJhbmQtY29sb3I6ICAgICAgICAgICAgICAgICAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcblxuXG4vLyBEcm9wZG93bnNcbi8vXG4vLyBEcm9wZG93biBtZW51IGNvbnRhaW5lciBhbmQgY29udGVudHMuXG5cbiRkcm9wZG93bi1taW4td2lkdGg6ICAgICAgICAgICAgICAgIDEwcmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tc3BhY2VyOiAgICAgICAgICAgICAgICAgICAuMTI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgIGNhbGMoI3skZHJvcGRvd24tYm9yZGVyLXJhZGl1c30gLSAjeyRkcm9wZG93bi1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLW1hcmdpbi15OiAgICAgICAgICRuYXYtZGl2aWRlci1tYXJnaW4teSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBQYWdpbmF0aW9uXG5cbiRwYWdpbmF0aW9uLXBhZGRpbmcteTogICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LXNtOiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LXNtOiAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktbGc6ICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5lLWhlaWdodDogICAgICAgICAgICAxLjI1ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1jb2xvcjogICAgICAgICAgICAgICAgICAkbGluay1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItY29sb3I6ICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWZvY3VzLW91dGxpbmU6ICAgICAgICAgIDAgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICRsaW5rLWhvdmVyLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yOiAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1iZzogICAgICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlci1jb2xvcjogICAgJHBhZ2luYXRpb24tYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1iZzogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I6ICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cblxuLy8gSnVtYm90cm9uXG5cbiRqdW1ib3Ryb24tcGFkZGluZzogICAgICAgICAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kanVtYm90cm9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBjYWxjKCN7JGNhcmQtYm9yZGVyLXJhZGl1c30gLSAjeyRjYXJkLWJvcmRlci13aWR0aH0pICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1jYXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJGNhcmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZzogICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGNhcmQtZ3JvdXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMiAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLW9wYWNpdHk6ICAgICAgICAgICAgICAgICAgIC45ICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXJnaW46ICAgICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAuOHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWhlaWdodDogICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgICAgICAgJHRvb2x0aXAtYmcgIWRlZmF1bHQ7XG5cbi8vIEZvcm0gdG9vbHRpcHMgbXVzdCBjb21lIGFmdGVyIHJlZ3VsYXIgdG9vbHRpcHNcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy15OiAgICAgJHRvb2x0aXAtcGFkZGluZy15ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg6ICAgICAkdG9vbHRpcC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWZvbnQtc2l6ZTogICAgICR0b29sdGlwLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtbGluZS1oZWlnaHQ6ICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLW9wYWNpdHk6ICAgICAgICR0b29sdGlwLW9wYWNpdHkgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXM6ICR0b29sdGlwLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cblxuLy8gUG9wb3ZlcnNcblxuJHBvcG92ZXItZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwb3BvdmVyLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDI3NnB4ICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRwb3BvdmVyLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWhlYWRlci1iZzogICAgICAgICAgICAgICAgIGRhcmtlbigkcG9wb3Zlci1iZywgMyUpICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGhlYWRpbmdzLWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1oZWFkZXItcGFkZGluZy14OiAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJHBvcG92ZXItYm9keS1wYWRkaW5nLXk6ICAgICAgICAgICAgJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy14OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7XG5cbiRwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICRwb3BvdmVyLWJnICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjogICAgICAgICBmYWRlLWluKCRwb3BvdmVyLWJvcmRlci1jb2xvciwgLjA1KSAhZGVmYXVsdDtcblxuXG4vLyBUb2FzdHNcblxuJHRvYXN0LW1heC13aWR0aDogICAgICAgICAgICAgICAgICAgMzUwcHggIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAuODc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiR0b2FzdC1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kdG9hc3QtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdG9hc3QtYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNzVyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcblxuJHRvYXN0LWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1iYWNrZ3JvdW5kLWNvbG9yOiAgICAgcmdiYSgkd2hpdGUsIC44NSkgIWRlZmF1bHQ7XG4kdG9hc3QtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICByZ2JhKDAsIDAsIDAsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICRidG4tdHJhbnNpdGlvbiAhZGVmYXVsdDtcbiRiYWRnZS1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtd2lkdGggIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6ICAgICAgIDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1jb2xvcjogICAgICAgICAgICAgICBudWxsICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYmc6ICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLWNvbG9yOiAgICAgICAgcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aDogICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAkYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aDogICAgICAgICAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZy15OiAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgICAgICAgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXkgJG1vZGFsLWhlYWRlci1wYWRkaW5nLXggIWRlZmF1bHQ7IC8vIEtlZXAgdGhpcyBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHlcblxuJG1vZGFsLXhsOiAgICAgICAgICAgICAgICAgICAgICAgICAgMTE0MHB4ICFkZWZhdWx0O1xuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtZmFkZS10cmFuc2Zvcm06ICAgICAgICAgICAgICB0cmFuc2xhdGUoMCwgLTUwcHgpICFkZWZhdWx0O1xuJG1vZGFsLXNob3ctdHJhbnNmb3JtOiAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRtb2RhbC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAuM3MgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gQWxlcnRzXG4vL1xuLy8gRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXG5cbiRhbGVydC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRhbGVydC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtbWFyZ2luLWJvdHRvbTogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRhbGVydC1iZy1sZXZlbDogICAgICAgICAgICAgICAgICAgIC0xMCAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItbGV2ZWw6ICAgICAgICAgICAgICAgIC05ICFkZWZhdWx0O1xuJGFsZXJ0LWNvbG9yLWxldmVsOiAgICAgICAgICAgICAgICAgNiAhZGVmYXVsdDtcblxuXG4vLyBQcm9ncmVzcyBiYXJzXG5cbiRwcm9ncmVzcy1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAuNzUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIExpc3QgZ3JvdXBcblxuJGxpc3QtZ3JvdXAtY29sb3I6ICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBxdW90ZShcIi9cIikgIWRlZmF1bHQ7XG5cbiRicmVhZGNydW1iLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIENhcm91c2VsXG5cbiRjYXJvdXNlbC1jb250cm9sLWNvbG9yOiAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAgMTUlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgIC41ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtaG92ZXItb3BhY2l0eTogICAgIC45ICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtdHJhbnNpdGlvbjogICAgICAgIG9wYWNpdHkgLjE1cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoOiAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhpdC1hcmVhLWhlaWdodDogMTBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgICAzcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci10cmFuc2l0aW9uOiAgICAgIG9wYWNpdHkgLjZzIGVhc2UgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jYXB0aW9uLXdpZHRoOiAgICAgICAgICAgICA3MCUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY2FwdGlvbi1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAgMjBweCAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnOiAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM2UlM2NwYXRoIGQ9J001LjI1IDBsLTQgNCA0IDQgMS41LTEuNS0yLjUtMi41IDIuNS0yLjUtMS41LTEuNXonLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbi1iZzogICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBkPSdNMi43NSAwbC0xLjUgMS41IDIuNSAyLjUtMi41IDIuNSAxLjUgMS41IDQtNC00LTR6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uOiAgICAgICAuNnMgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgdHJhbnNmb3JtICRjYXJvdXNlbC10cmFuc2l0aW9uLWR1cmF0aW9uIGVhc2UtaW4tb3V0ICFkZWZhdWx0OyAvLyBEZWZpbmUgdHJhbnNmb3JtIHRyYW5zaXRpb24gZmlyc3QgaWYgdXNpbmcgbXVsdGlwbGUgdHJhbnNpdGlvbnMgKGUuZy4sIGB0cmFuc2Zvcm0gMnMgZWFzZSwgb3BhY2l0eSAuNXMgZWFzZS1vdXRgKVxuXG5cbi8vIFNwaW5uZXJzXG5cbiRzcGlubmVyLXdpZHRoOiAgICAgICAgIDJyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQ6ICAgICAgICAkc3Bpbm5lci13aWR0aCAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aDogIC4yNWVtICFkZWZhdWx0O1xuXG4kc3Bpbm5lci13aWR0aC1zbTogICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kc3Bpbm5lci1oZWlnaHQtc206ICAgICAgICRzcGlubmVyLXdpZHRoLXNtICFkZWZhdWx0O1xuJHNwaW5uZXItYm9yZGVyLXdpZHRoLXNtOiAuMmVtICFkZWZhdWx0O1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gQ29kZVxuXG4kY29kZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICA4Ny41JSAhZGVmYXVsdDtcbiRjb2RlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRwaW5rICFkZWZhdWx0O1xuXG4ka2JkLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRrYmQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgIC40cmVtICFkZWZhdWx0O1xuJGtiZC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgJGNvZGUtZm9udC1zaXplICFkZWZhdWx0O1xuJGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuXG4kcHJlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDogICAgICAgICAzNDBweCAhZGVmYXVsdDtcblxuXG4vLyBVdGlsaXRpZXNcblxuJGRpc3BsYXlzOiBub25lLCBpbmxpbmUsIGlubGluZS1ibG9jaywgYmxvY2ssIHRhYmxlLCB0YWJsZS1yb3csIHRhYmxlLWNlbGwsIGZsZXgsIGlubGluZS1mbGV4ICFkZWZhdWx0O1xuJG92ZXJmbG93czogYXV0bywgaGlkZGVuICFkZWZhdWx0O1xuJHBvc2l0aW9uczogc3RhdGljLCByZWxhdGl2ZSwgYWJzb2x1dGUsIGZpeGVkLCBzdGlja3kgIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcblxuJHByaW50LXBhZ2Utc2l6ZTogICAgICAgICAgICAgICAgICAgYTMgIWRlZmF1bHQ7XG4kcHJpbnQtYm9keS1taW4td2lkdGg6ICAgICAgICAgICAgICBtYXAtZ2V0KCRncmlkLWJyZWFrcG9pbnRzLCBcImxnXCIpICFkZWZhdWx0O1xuIiwiLy8gVG9nZ2xlc1xuLy9cbi8vIFVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCBnbG9iYWwgdmFyaWFibGVzIHRvIGVuYWJsZSBjZXJ0YWluIHRoZW1lIGZlYXR1cmVzLlxuXG4vLyBWZW5kb3JcbkBpbXBvcnQgXCJ2ZW5kb3IvcmZzXCI7XG5cbi8vIERlcHJlY2F0ZVxuQGltcG9ydCBcIm1peGlucy9kZXByZWNhdGVcIjtcblxuLy8gVXRpbGl0aWVzXG5AaW1wb3J0IFwibWl4aW5zL2JyZWFrcG9pbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2hvdmVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL2ltYWdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JhZGdlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2l6ZVwiO1xuQGltcG9ydCBcIm1peGlucy9zY3JlZW4tcmVhZGVyXCI7XG5AaW1wb3J0IFwibWl4aW5zL3NpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvcmVzZXQtdGV4dFwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWVtcGhhc2lzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RleHQtaGlkZVwiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LXRydW5jYXRlXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Zpc2liaWxpdHlcIjtcblxuLy8gLy8gQ29tcG9uZW50c1xuQGltcG9ydCBcIm1peGlucy9hbGVydFwiO1xuQGltcG9ydCBcIm1peGlucy9idXR0b25zXCI7XG5AaW1wb3J0IFwibWl4aW5zL2NhcmV0XCI7XG5AaW1wb3J0IFwibWl4aW5zL3BhZ2luYXRpb25cIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbGlzdC1ncm91cFwiO1xuQGltcG9ydCBcIm1peGlucy9uYXYtZGl2aWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9mb3Jtc1wiO1xuQGltcG9ydCBcIm1peGlucy90YWJsZS1yb3dcIjtcblxuLy8gLy8gU2tpbnNcbkBpbXBvcnQgXCJtaXhpbnMvYmFja2dyb3VuZC12YXJpYW50XCI7XG5AaW1wb3J0IFwibWl4aW5zL2JvcmRlci1yYWRpdXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYm94LXNoYWRvd1wiO1xuQGltcG9ydCBcIm1peGlucy9ncmFkaWVudHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdHJhbnNpdGlvblwiO1xuXG4vLyAvLyBMYXlvdXRcbkBpbXBvcnQgXCJtaXhpbnMvY2xlYXJmaXhcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JpZFwiO1xuQGltcG9ydCBcIm1peGlucy9mbG9hdFwiO1xuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0LCBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG5cbi8vIFNDU1MgUkZTIG1peGluXG4vL1xuLy8gQXV0b21hdGVkIGZvbnQtcmVzaXppbmdcbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzXG5cbi8vIENvbmZpZ3VyYXRpb25cblxuLy8gQmFzZSBmb250IHNpemVcbiRyZnMtYmFzZS1mb250LXNpemU6IDEuMjVyZW0gIWRlZmF1bHQ7XG4kcmZzLWZvbnQtc2l6ZS11bml0OiByZW0gIWRlZmF1bHQ7XG5cbi8vIEJyZWFrcG9pbnQgYXQgd2hlcmUgZm9udC1zaXplIHN0YXJ0cyBkZWNyZWFzaW5nIGlmIHNjcmVlbiB3aWR0aCBpcyBzbWFsbGVyXG4kcmZzLWJyZWFrcG9pbnQ6IDEyMDBweCAhZGVmYXVsdDtcbiRyZnMtYnJlYWtwb2ludC11bml0OiBweCAhZGVmYXVsdDtcblxuLy8gUmVzaXplIGZvbnQtc2l6ZSBiYXNlZCBvbiBzY3JlZW4gaGVpZ2h0IGFuZCB3aWR0aFxuJHJmcy10d28tZGltZW5zaW9uYWw6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBGYWN0b3Igb2YgZGVjcmVhc2VcbiRyZnMtZmFjdG9yOiAxMCAhZGVmYXVsdDtcblxuQGlmIHR5cGUtb2YoJHJmcy1mYWN0b3IpICE9IFwibnVtYmVyXCIgb3IgJHJmcy1mYWN0b3IgPD0gMSB7XG4gIEBlcnJvciBcImAjeyRyZnMtZmFjdG9yfWAgaXMgbm90IGEgdmFsaWQgICRyZnMtZmFjdG9yLCBpdCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAxLlwiO1xufVxuXG4vLyBHZW5lcmF0ZSBlbmFibGUgb3IgZGlzYWJsZSBjbGFzc2VzLiBQb3NzaWJpbGl0aWVzOiBmYWxzZSwgXCJlbmFibGVcIiBvciBcImRpc2FibGVcIlxuJHJmcy1jbGFzczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIDEgcmVtID0gJHJmcy1yZW0tdmFsdWUgcHhcbiRyZnMtcmVtLXZhbHVlOiAxNiAhZGVmYXVsdDtcblxuLy8gU2FmYXJpIGlmcmFtZSByZXNpemUgYnVnOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9yZnMvaXNzdWVzLzE0XG4kcmZzLXNhZmFyaS1pZnJhbWUtcmVzaXplLWJ1Zy1maXg6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBEaXNhYmxlIFJGUyBieSBzZXR0aW5nICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHRvIGZhbHNlXG4kZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gQ2FjaGUgJHJmcy1iYXNlLWZvbnQtc2l6ZSB1bml0XG4kcmZzLWJhc2UtZm9udC1zaXplLXVuaXQ6IHVuaXQoJHJmcy1iYXNlLWZvbnQtc2l6ZSk7XG5cbi8vIFJlbW92ZSBweC11bml0IGZyb20gJHJmcy1iYXNlLWZvbnQtc2l6ZSBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0ID09IFwicHhcIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxKTtcbn1cbkBlbHNlIGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInJlbVwiIHtcbiAgJHJmcy1iYXNlLWZvbnQtc2l6ZTogJHJmcy1iYXNlLWZvbnQtc2l6ZSAvICgkcmZzLWJhc2UtZm9udC1zaXplICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG59XG5cbi8vIENhY2hlICRyZnMtYnJlYWtwb2ludCB1bml0IHRvIHByZXZlbnQgbXVsdGlwbGUgY2FsbHNcbiRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlOiB1bml0KCRyZnMtYnJlYWtwb2ludCk7XG5cbi8vIFJlbW92ZSB1bml0IGZyb20gJHJmcy1icmVha3BvaW50IGZvciBjYWxjdWxhdGlvbnNcbkBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInB4XCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcInJlbVwiIG9yICRyZnMtYnJlYWtwb2ludC11bml0LWNhY2hlID09IFwiZW1cIiB7XG4gICRyZnMtYnJlYWtwb2ludDogJHJmcy1icmVha3BvaW50IC8gKCRyZnMtYnJlYWtwb2ludCAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBSZXNwb25zaXZlIGZvbnQtc2l6ZSBtaXhpblxuQG1peGluIHJmcygkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIC8vIENhY2hlICRmcyB1bml0XG4gICRmcy11bml0OiBpZih0eXBlLW9mKCRmcykgPT0gXCJudW1iZXJcIiwgdW5pdCgkZnMpLCBmYWxzZSk7XG5cbiAgLy8gQWRkICFpbXBvcnRhbnQgc3VmZml4IGlmIG5lZWRlZFxuICAkcmZzLXN1ZmZpeDogaWYoJGltcG9ydGFudCwgXCIgIWltcG9ydGFudFwiLCBcIlwiKTtcblxuICAvLyBJZiAkZnMgaXNuJ3QgYSBudW1iZXIgKGxpa2UgaW5oZXJpdCkgb3IgJGZzIGhhcyBhIHVuaXQgKG5vdCBweCBvciByZW0sIGxpa2UgMS41ZW0pIG9yICQgaXMgMCwganVzdCBwcmludCB0aGUgdmFsdWVcbiAgQGlmIG5vdCAkZnMtdW5pdCBvciAkZnMtdW5pdCAhPSBcIlwiIGFuZCAkZnMtdW5pdCAhPSBcInB4XCIgYW5kICRmcy11bml0ICE9IFwicmVtXCIgb3IgJGZzID09IDAge1xuICAgIGZvbnQtc2l6ZTogI3skZnN9I3skcmZzLXN1ZmZpeH07XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFZhcmlhYmxlcyBmb3Igc3RvcmluZyBzdGF0aWMgYW5kIGZsdWlkIHJlc2NhbGluZ1xuICAgICRyZnMtc3RhdGljOiBudWxsO1xuICAgICRyZnMtZmx1aWQ6IG51bGw7XG5cbiAgICAvLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRmcyBmb3IgY2FsY3VsYXRpb25zXG4gICAgQGlmICRmcy11bml0ID09IFwicHhcIiB7XG4gICAgICAkZnM6ICRmcyAvICgkZnMgKiAwICsgMSk7XG4gICAgfVxuICAgIEBlbHNlIGlmICRmcy11bml0ID09IFwicmVtXCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEgLyAkcmZzLXJlbS12YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gU2V0IGRlZmF1bHQgZm9udC1zaXplXG4gICAgQGlmICRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtIHtcbiAgICAgICRyZnMtc3RhdGljOiAjeyRmcyAvICRyZnMtcmVtLXZhbHVlfXJlbSN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHB4IHtcbiAgICAgICRyZnMtc3RhdGljOiAjeyRmc31weCN7JHJmcy1zdWZmaXh9O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZXJyb3IgXCJgI3skcmZzLWZvbnQtc2l6ZS11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1mb250LXNpemUtdW5pdC4gVXNlIGBweGAgb3IgYHJlbWAuXCI7XG4gICAgfVxuXG4gICAgLy8gT25seSBhZGQgbWVkaWEgcXVlcnkgaWYgZm9udC1zaXplIGlzIGJpZ2dlciBhcyB0aGUgbWluaW11bSBmb250LXNpemVcbiAgICAvLyBJZiAkcmZzLWZhY3RvciA9PSAxLCBubyByZXNjYWxpbmcgd2lsbCB0YWtlIHBsYWNlXG4gICAgQGlmICRmcyA+ICRyZnMtYmFzZS1mb250LXNpemUgYW5kICRlbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemVzIHtcbiAgICAgICRtaW4td2lkdGg6IG51bGw7XG4gICAgICAkdmFyaWFibGUtdW5pdDogbnVsbDtcblxuICAgICAgLy8gQ2FsY3VsYXRlIG1pbmltdW0gZm9udC1zaXplIGZvciBnaXZlbiBmb250LXNpemVcbiAgICAgICRmcy1taW46ICRyZnMtYmFzZS1mb250LXNpemUgKyAoJGZzIC0gJHJmcy1iYXNlLWZvbnQtc2l6ZSkgLyAkcmZzLWZhY3RvcjtcblxuICAgICAgLy8gQ2FsY3VsYXRlIGRpZmZlcmVuY2UgYmV0d2VlbiBnaXZlbiBmb250LXNpemUgYW5kIG1pbmltdW0gZm9udC1zaXplIGZvciBnaXZlbiBmb250LXNpemVcbiAgICAgICRmcy1kaWZmOiAkZnMgLSAkZnMtbWluO1xuXG4gICAgICAvLyBCYXNlIGZvbnQtc2l6ZSBmb3JtYXR0aW5nXG4gICAgICAvLyBObyBuZWVkIHRvIGNoZWNrIGlmIHRoZSB1bml0IGlzIHZhbGlkLCBiZWNhdXNlIHdlIGRpZCB0aGF0IGJlZm9yZVxuICAgICAgJG1pbi13aWR0aDogaWYoJHJmcy1mb250LXNpemUtdW5pdCA9PSByZW0sICN7JGZzLW1pbiAvICRyZnMtcmVtLXZhbHVlfXJlbSwgI3skZnMtbWlufXB4KTtcblxuICAgICAgLy8gSWYgdHdvLWRpbWVuc2lvbmFsLCB1c2Ugc21hbGxlc3Qgb2Ygc2NyZWVuIHdpZHRoIGFuZCBoZWlnaHRcbiAgICAgICR2YXJpYWJsZS11bml0OiBpZigkcmZzLXR3by1kaW1lbnNpb25hbCwgdm1pbiwgdncpO1xuXG4gICAgICAvLyBDYWxjdWxhdGUgdGhlIHZhcmlhYmxlIHdpZHRoIGJldHdlZW4gMCBhbmQgJHJmcy1icmVha3BvaW50XG4gICAgICAkdmFyaWFibGUtd2lkdGg6ICN7JGZzLWRpZmYgKiAxMDAgLyAkcmZzLWJyZWFrcG9pbnR9I3skdmFyaWFibGUtdW5pdH07XG5cbiAgICAgIC8vIFNldCB0aGUgY2FsY3VsYXRlZCBmb250LXNpemUuXG4gICAgICAkcmZzLWZsdWlkOiBjYWxjKCN7JG1pbi13aWR0aH0gKyAjeyR2YXJpYWJsZS13aWR0aH0pICN7JHJmcy1zdWZmaXh9O1xuICAgIH1cblxuICAgIC8vIFJlbmRlcmluZ1xuICAgIEBpZiAkcmZzLWZsdWlkID09IG51bGwge1xuICAgICAgLy8gT25seSByZW5kZXIgc3RhdGljIGZvbnQtc2l6ZSBpZiBubyBmbHVpZCBmb250LXNpemUgaXMgYXZhaWxhYmxlXG4gICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkbXEtdmFsdWU6IG51bGw7XG5cbiAgICAgIC8vIFJGUyBicmVha3BvaW50IGZvcm1hdHRpbmdcbiAgICAgIEBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBlbSBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSByZW0ge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50IC8gJHJmcy1yZW0tdmFsdWV9I3skcmZzLWJyZWFrcG9pbnQtdW5pdH07XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcmZzLWJyZWFrcG9pbnQtdW5pdCA9PSBweCB7XG4gICAgICAgICRtcS12YWx1ZTogI3skcmZzLWJyZWFrcG9pbnR9cHg7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcImAjeyRyZnMtYnJlYWtwb2ludC11bml0fWAgaXMgbm90IGEgdmFsaWQgdW5pdCBmb3IgJHJmcy1icmVha3BvaW50LXVuaXQuIFVzZSBgcHhgLCBgZW1gIG9yIGByZW1gLlwiO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImRpc2FibGVcIiB7XG4gICAgICAgIC8vIEFkZGluZyBhbiBleHRyYSBjbGFzcyBpbmNyZWFzZXMgc3BlY2lmaWNpdHksXG4gICAgICAgIC8vIHdoaWNoIHByZXZlbnRzIHRoZSBtZWRpYSBxdWVyeSB0byBvdmVycmlkZSB0aGUgZm9udCBzaXplXG4gICAgICAgICYsXG4gICAgICAgIC5kaXNhYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplICYsXG4gICAgICAgICYuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBmb250LXNpemU6ICRyZnMtc3RhdGljO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHJmcy10d28tZGltZW5zaW9uYWwge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogI3skbXEtdmFsdWV9KSwgKG1heC1oZWlnaHQ6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgICAgICAgICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAgICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4IHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBsZW5ndGgtemVyby1uby11bml0XG4gICAgICAgICAgICBtaW4td2lkdGg6IDB2dztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSkge1xuICAgICAgICAgIEBpZiAkcmZzLWNsYXNzID09IFwiZW5hYmxlXCIge1xuICAgICAgICAgICAgLmVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAgICAgJi5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1mbHVpZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4IHtcbiAgICAgICAgICAgIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBsZW5ndGgtemVyby1uby11bml0XG4gICAgICAgICAgICBtaW4td2lkdGg6IDB2dztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gVGhlIGZvbnQtc2l6ZSAmIHJlc3BvbnNpdmUtZm9udC1zaXplIG1peGluIHVzZXMgUkZTIHRvIHJlc2NhbGUgZm9udCBzaXplc1xuQG1peGluIGZvbnQtc2l6ZSgkZnMsICRpbXBvcnRhbnQ6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIHJmcygkZnMsICRpbXBvcnRhbnQpO1xufVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS1mb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cbiIsIi8vIERlcHJlY2F0ZSBtaXhpblxuLy9cbi8vIFRoaXMgbWl4aW4gY2FuIGJlIHVzZWQgdG8gZGVwcmVjYXRlIG1peGlucyBvciBmdW5jdGlvbnMuXG4vLyBgJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlc2AgaXMgYSBnbG9iYWwgdmFyaWFibGUsIGAkaWdub3JlLXdhcm5pbmdgIGlzIGEgdmFyaWFibGUgdGhhdCBjYW4gYmUgcGFzc2VkIHRvXG4vLyBzb21lIGRlcHJlY2F0ZWQgbWl4aW5zIHRvIHN1cHByZXNzIHRoZSB3YXJuaW5nIChmb3IgZXhhbXBsZSBpZiB0aGUgbWl4aW4gaXMgc3RpbGwgYmUgdXNlZCBpbiB0aGUgY3VycmVudCB2ZXJzaW9uIG9mIEJvb3RzdHJhcClcbkBtaXhpbiBkZXByZWNhdGUoJG5hbWUsICRkZXByZWNhdGUtdmVyc2lvbiwgJHJlbW92ZS12ZXJzaW9uLCAkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIEBpZiAoJGVuYWJsZS1kZXByZWNhdGlvbi1tZXNzYWdlcyAhPSBmYWxzZSBhbmQgJGlnbm9yZS13YXJuaW5nICE9IHRydWUpIHtcbiAgICBAd2FybiBcIiN7JG5hbWV9IGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgI3skZGVwcmVjYXRlLXZlcnNpb259LiBJdCB3aWxsIGJlIHJlbW92ZWQgZW50aXJlbHkgaW4gI3skcmVtb3ZlLXZlcnNpb259LlwiO1xuICB9XG59XG4iLCIvLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpXG4vL1xuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJGdyaWQtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQgbGcgeGwpKVxuLy8gICAgbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRuICE9IG51bGwgYW5kICRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNTc2cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICBAcmV0dXJuIGlmKCRtaW4gIT0gMCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMDJweFxuLy8gdG8gd29yayBhcm91bmQgdGhlIGxpbWl0YXRpb25zIG9mIGBtaW4tYCBhbmQgYG1heC1gIHByZWZpeGVzIGFuZCB2aWV3cG9ydHMgd2l0aCBmcmFjdGlvbmFsIHdpZHRocy5cbi8vIFNlZSBodHRwczovL3d3dy53My5vcmcvVFIvbWVkaWFxdWVyaWVzLTQvI21xLW1pbi1tYXhcbi8vIFVzZXMgMC4wMnB4IHJhdGhlciB0aGFuIDAuMDFweCB0byB3b3JrIGFyb3VuZCBhIGN1cnJlbnQgcm91bmRpbmcgYnVnIGluIFNhZmFyaS5cbi8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4MjYxXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA3NjcuOThweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gLjAyLCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbiBmcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2luYWxseSBhZGRlZCBkdXJpbmcgb3VyIGFscGhhcyBhbmQgbWFpbnRhaW5lZCBkdXJpbmcgYmV0YXMsIHRoaXMgbWl4aW4gd2FzXG4vLyBkZXNpZ25lZCB0byBwcmV2ZW50IGA6aG92ZXJgIHN0aWNraW5lc3Mgb24gaU9TLWFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHNldWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cyB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuXG5AbWl4aW4gaW1nLWZsdWlkIHtcbiAgLy8gUGFydCAxOiBTZXQgYSBtYXhpbXVtIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnRcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvLyBQYXJ0IDI6IE92ZXJyaWRlIHRoZSBoZWlnaHQgdG8gYXV0bywgb3RoZXJ3aXNlIGltYWdlcyB3aWxsIGJlIHN0cmV0Y2hlZFxuICAvLyB3aGVuIHNldHRpbmcgYSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZSBvbiB0aGUgaW1nIGVsZW1lbnQuXG4gIGhlaWdodDogYXV0bztcbn1cblxuXG4vLyBSZXRpbmEgaW1hZ2Vcbi8vXG4vLyBTaG9ydCByZXRpbmEgbWl4aW4gZm9yIHNldHRpbmcgYmFja2dyb3VuZC1pbWFnZSBhbmQgLXNpemUuXG5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0xeCk7XG5cbiAgLy8gQXV0b3ByZWZpeGVyIHRha2VzIGNhcmUgb2YgYWRkaW5nIC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbyBhbmQgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbyxcbiAgLy8gYnV0IGRvZXNuJ3QgY29udmVydCBkcHB4PT5kcGkuXG4gIC8vIFRoZXJlJ3Mgbm8gc3VjaCB0aGluZyBhcyB1bnByZWZpeGVkIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gc2luY2UgaXQncyBub25zdGFuZGFyZC5cbiAgLy8gQ29tcGF0aWJpbGl0eSBpbmZvOiBodHRwczovL2Nhbml1c2UuY29tLyNmZWF0PWNzcy1tZWRpYS1yZXNvbHV0aW9uXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLCAvLyBJRTktMTEgZG9uJ3Qgc3VwcG9ydCBkcHB4XG4gICAgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHsgLy8gU3RhbmRhcmRpemVkXG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRmaWxlLTJ4KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aC0xeCAkaGVpZ2h0LTF4O1xuICB9XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbWctcmV0aW5hKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgQGF0LXJvb3QgYSN7Jn0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmcsIDEwJSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYmFkZ2UtZm9jdXMtd2lkdGggcmdiYSgkYmcsIC41KTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFJlc2l6ZSBhbnl0aGluZ1xuXG5AbWl4aW4gcmVzaXphYmxlKCRkaXJlY3Rpb24pIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFBlciBDU1MzIFVJLCBgcmVzaXplYCBvbmx5IGFwcGxpZXMgd2hlbiBgb3ZlcmZsb3dgIGlzbid0IGB2aXNpYmxlYFxuICByZXNpemU6ICRkaXJlY3Rpb247IC8vIE9wdGlvbnM6IGhvcml6b250YWwsIHZlcnRpY2FsLCBib3RoXG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cHM6Ly9hMTF5cHJvamVjdC5jb20vcG9zdHMvaG93LXRvLWhpZGUtY29udGVudC9cbi8vIFNlZTogaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTYvMTAvMTMvY3NzLWhpZGUtYW5kLXNlZWsvXG5cbkBtaXhpbiBzci1vbmx5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vXG4vLyBVc2VmdWwgZm9yIFwiU2tpcCB0byBtYWluIGNvbnRlbnRcIiBsaW5rczsgc2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDEzL05PVEUtV0NBRzIwLVRFQ0hTLTIwMTMwOTA1L0cxXG4vL1xuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG5AbWl4aW4gc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgY2xpcDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB9XG59XG4iLCIvLyBTaXppbmcgc2hvcnRjdXRzXG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHNpemUoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiByZXNldC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZSBvciB3b3JkLXdyYXAuXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRmFsbGJhY2sgZm9yIHdoZXJlIGBzdGFydGAgaXMgbm90IHN1cHBvcnRlZFxuICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVHlwb2dyYXBoeVxuXG5AbWl4aW4gdGV4dC1lbXBoYXNpcy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBjb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgQGlmICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UgIT0gMCB7XG4gICAgYSN7JHBhcmVudH0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgJGVtcGhhc2l6ZWQtbGluay1ob3Zlci1kYXJrZW4tcGVyY2VudGFnZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIENTUyBpbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHRleHQtaGlkZSgkaWdub3JlLXdhcm5pbmc6IGZhbHNlKSB7XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBmb250LWZhbWlseS1uby1taXNzaW5nLWdlbmVyaWMtZmFtaWx5LWtleXdvcmRcbiAgZm9udDogMC8wIGE7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYHRleHQtaGlkZSgpYFwiLCBcInY0LjEuMFwiLCBcInY1XCIsICRpZ25vcmUtd2FybmluZyk7XG59XG4iLCIvLyBUZXh0IHRydW5jYXRlXG4vLyBSZXF1aXJlcyBpbmxpbmUtYmxvY2sgb3IgYmxvY2sgZm9yIHByb3BlciBzdHlsaW5nXG5cbkBtaXhpbiB0ZXh0LXRydW5jYXRlKCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBWaXNpYmlsaXR5XG5cbkBtaXhpbiBpbnZpc2libGUoJHZpc2liaWxpdHkpIHtcbiAgdmlzaWJpbGl0eTogJHZpc2liaWxpdHkgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiYGludmlzaWJsZSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNy41JSksICRob3Zlci1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMi41JSkpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgY29tZXMgZmlyc3Qgc28gYWN0aXZlIGNhbiBwcm9wZXJseSByZXN0eWxlXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50cyBpZiB0aGV5J3JlIGVuYWJsZWRcbiAgICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJGNvbG9yLCAkY29sb3ItaG92ZXI6IGNvbG9yLXlpcSgkY29sb3IpLCAkYWN0aXZlLWJhY2tncm91bmQ6ICRjb2xvciwgJGFjdGl2ZS1ib3JkZXI6ICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcbiAgfVxuXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgfVxuXG4gICYuZGlzYWJsZWQsXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG5AbWl4aW4gYnV0dG9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gIEBpbmNsdWRlIGZvbnQtc2l6ZSgkZm9udC1zaXplKTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgLy8gTWFudWFsbHkgZGVjbGFyZSB0byBwcm92aWRlIGFuIG92ZXJyaWRlIHRvIHRoZSBicm93c2VyIGRlZmF1bHRcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cywgMCk7XG59XG4iLCJAbWl4aW4gY2FyZXQtZG93biB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQ7XG59XG5cbkBtaXhpbiBjYXJldC1sZWZ0IHtcbiAgYm9yZGVyLXRvcDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQoJGRpcmVjdGlvbjogZG93bikge1xuICBAaWYgJGVuYWJsZS1jYXJldCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJldC1zcGFjaW5nO1xuICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaWYgJGRpcmVjdGlvbiA9PSBkb3duIHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtZG93bjtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXVwO1xuICAgICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgICAgdmVydGljYWwtYWxpZ246ICRjYXJldC12ZXJ0aWNhbC1hbGlnbjtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2FyZXQtbGVmdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmVtcHR5OjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBMaXN0c1xuXG4vLyBVbnN0eWxlZCBrZWVwcyBsaXN0IGl0ZW1zIGJsb2NrIGxldmVsLCBqdXN0IHJlbW92ZXMgZGVmYXVsdCBicm93c2VyIHBhZGRpbmcgYW5kIGxpc3Qtc3R5bGVcbkBtaXhpbiBsaXN0LXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuIiwiLy8gTGlzdCBHcm91cHNcblxuQG1peGluIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcikge1xuICAubGlzdC1ncm91cC1pdGVtLSN7JHN0YXRlfSB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcblxuICAgICYubGlzdC1ncm91cC1pdGVtLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbkBtaXhpbiBuYXYtZGl2aWRlcigkY29sb3I6ICRuYXYtZGl2aWRlci1jb2xvciwgJG1hcmdpbi15OiAkbmF2LWRpdmlkZXItbWFyZ2luLXkpIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW46ICRtYXJnaW4teSAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yO1xufVxuIiwiLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcmAgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbkBtaXhpbiBmb3JtLWNvbnRyb2wtZm9jdXMoKSB7XG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkaW5wdXQtZm9jdXMtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWZvY3VzLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1ib3gtc2hhZG93LCAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6ICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG5cbkBtaXhpbiBmb3JtLXZhbGlkYXRpb24tc3RhdGUoJHN0YXRlLCAkY29sb3IsICRpY29uKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stZm9udC1zaXplKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteSAkZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteDtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBAaW5jbHVkZSBmb250LXNpemUoJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5KTtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuZm9ybS1jb250cm9sIHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRpY29uO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6ICRpbnB1dC1oZWlnaHQtaW5uZXItaGFsZiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGY7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sIHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGlucHV0LWhlaWdodC1pbm5lcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlciByaWdodCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1zZWxlY3Qge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuXG4gICAgICBAaWYgJGVuYWJsZS12YWxpZGF0aW9uLWljb25zIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wYWRkaW5nLXJpZ2h0O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kLCAkaWNvbiAkY3VzdG9tLXNlbGVjdC1iZyBuby1yZXBlYXQgJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1wb3NpdGlvbiAvICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tc2l6ZTtcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuICAuZm9ybS1jb250cm9sLWZpbGUge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBsaWdodGVuKCRjb2xvciwgMTAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBncmFkaWVudC1iZyhsaWdodGVuKCRjb2xvciwgMTAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpjaGVja2VkKSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWxlXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCwgJGJvcmRlcjogbnVsbCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICBAaWYgJGJvcmRlciAhPSBudWxsIHtcbiAgICAgIHRoLFxuICAgICAgdGQsXG4gICAgICB0aGVhZCB0aCxcbiAgICAgIHRib2R5ICsgdGJvZHkge1xuICAgICAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyIHtcbiAgICAkaG92ZXItYmFja2dyb3VuZDogZGFya2VuKCRiYWNrZ3JvdW5kLCA1JSk7XG5cbiAgICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG5cbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGhvdmVyLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdFxuLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cywgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXM6IGZhbHNlKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbiAgQGVsc2UgaWYgJGZhbGxiYWNrLWJvcmRlci1yYWRpdXMgIT0gZmFsc2Uge1xuICAgIGJvcmRlci1yYWRpdXM6ICRmYWxsYmFjay1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci10b3AtbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuIiwiQG1peGluIGJveC1zaGFkb3coJHNoYWRvdy4uLikge1xuICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAkcmVzdWx0OiAoKTtcblxuICAgIEBpZiAobGVuZ3RoKCRzaGFkb3cpID09IDEpIHtcbiAgICAgIC8vIFdlIGNhbiBwYXNzIGBAaW5jbHVkZSBib3gtc2hhZG93KG5vbmUpO2BcbiAgICAgICRyZXN1bHQ6ICRzaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICAvLyBGaWx0ZXIgdG8gYXZvaWQgaW52YWxpZCBwcm9wZXJ0aWVzIGZvciBleGFtcGxlIGBib3gtc2hhZG93OiBub25lLCAxcHggMXB4IGJsYWNrO2BcbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRzaGFkb3cpIHtcbiAgICAgICAgQGlmIG50aCgkc2hhZG93LCAkaSkgIT0gXCJub25lXCIge1xuICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJHNoYWRvdywgJGkpLCBcImNvbW1hXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAobGVuZ3RoKCRyZXN1bHQpID4gMCkge1xuICAgICAgYm94LXNoYWRvdzogJHJlc3VsdDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteSgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG5AbWl4aW4gZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC15LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICRibHVlLCAkbWlkLWNvbG9yOiAkcHVycGxlLCAkY29sb3Itc3RvcDogNTAlLCAkZW5kLWNvbG9yOiAkcmVkKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXJhZGlhbCgkaW5uZXItY29sb3I6ICRncmF5LTcwMCwgJG91dGVyLWNvbG9yOiAkZ3JheS04MDApIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKCR3aGl0ZSwgLjE1KSwgJGFuZ2xlOiA0NWRlZykge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJGFuZ2xlLCAkY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgJGNvbG9yIDUwJSwgJGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3RcbkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGVuYWJsZS1wcmVmZXJzLXJlZHVjZWQtbW90aW9uLW1lZGlhLXF1ZXJ5IHtcbiAgICBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBHcmlkIHN5c3RlbVxuLy9cbi8vIEdlbmVyYXRlIHNlbWFudGljIGdyaWQgY29sdW1ucyB3aXRoIHRoZXNlIG1peGlucy5cblxuQG1peGluIG1ha2UtY29udGFpbmVyKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlciAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cblxuLy8gRm9yIGVhY2ggYnJlYWtwb2ludCwgZGVmaW5lIHRoZSBtYXhpbXVtIHdpZHRoIG9mIHRoZSBjb250YWluZXIgaW4gYSBtZWRpYSBxdWVyeVxuQG1peGluIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoJG1heC13aWR0aHM6ICRjb250YWluZXItbWF4LXdpZHRocywgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAZWFjaCAkYnJlYWtwb2ludCwgJGNvbnRhaW5lci1tYXgtd2lkdGggaW4gJG1heC13aWR0aHMge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLW1heC13aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLSRndXR0ZXIgLyAyO1xuICBtYXJnaW4tbGVmdDogLSRndXR0ZXIgLyAyO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xufVxuXG5AbWl4aW4gbWFrZS1jb2woJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIGZsZXg6IDAgMCBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xuICAvLyBBZGQgYSBgbWF4LXdpZHRoYCB0byBlbnN1cmUgY29udGVudCB3aXRoaW4gZWFjaCBjb2x1bW4gZG9lcyBub3QgYmxvdyBvdXRcbiAgLy8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4uIEFwcGxpZXMgdG8gSUUxMCsgYW5kIEZpcmVmb3guIENocm9tZSBhbmQgU2FmYXJpXG4gIC8vIGRvIG5vdCBhcHBlYXIgdG8gcmVxdWlyZSB0aGlzLlxuICBtYXgtd2lkdGg6IHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG59XG5cbkBtaXhpbiBtYWtlLWNvbC1vZmZzZXQoJHNpemUsICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gICRudW06ICRzaXplIC8gJGNvbHVtbnM7XG4gIG1hcmdpbi1sZWZ0OiBpZigkbnVtID09IDAsIDAsIHBlcmNlbnRhZ2UoJG51bSkpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbkBtaXhpbiBmbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgQGluY2x1ZGUgZGVwcmVjYXRlKFwiVGhlIGBmbG9hdC1sZWZ0YCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuQG1peGluIGZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtcmlnaHRgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG5AbWl4aW4gZmxvYXQtbm9uZSB7XG4gIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtbm9uZWAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIu+7v0BpbXBvcnQgXCIuLi9jb21tb24vdGhlbWVfdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiLi4vY29tbW9uL21peGluc1wiO1xuQGltcG9ydCBcIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvZnVuY3Rpb25zXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGluc1wiO1xuXG4udG9wX2ltZ19hcnRpY2xlX2NhcmQge1xuICBtYXJnaW46IDAgMTBweDtcbiAgcGFkZGluZzogMjBweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyZXk7XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG4gIH1cblxuICAuYXJ0aWNsZV9pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBtYXJnaW46IDAgMCAxMnB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmFydGljbGVfbWVkaWEge1xuICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDEzMCwgMTAwKTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMzIzLCAxODIpO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgLy9oZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudmlkX2ljb24ge1xuICAgICAgQGluY2x1ZGUgYWJzb2x1dGVfbWlkZGxlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC93cC1jb250ZW50L3RoZW1lcy9sdXRoZXIvaW1hZ2VzL3BsYXkuc3ZnKTtcbiAgICAgIHdpZHRoOiAxNSU7XG4gICAgICBoZWlnaHQ6IDI2LjY3JTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZmlsbDogI2ZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIG9wYWNpdHk6IC41O1xuICAgIH1cbiAgfVxuXG4gIC5hcnRpY2xlX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDUlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5hcnRpY2xlX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBtYXJnaW46IDZweCAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTm9lIERpc3BsYXlcIjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMTYsIDIyKTtcbiAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQtcmVzcG9uc2l2ZSgyMCwgMjQpO1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlX2F1dGhvciB7XG4gICAgICBmb250LWZhbWlseTogJGdvdGhhbTtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDEwLCAxNCk7XG4gICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0LXJlc3BvbnNpdmUoMTAsIDI0KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgIH1cbiAgICAgIC5zY3JpcHR1cmVfcmVmIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmZlYXR1cmVkX2FydGljbGVfY2FyZCB7XG4gIG1hcmdpbjogMDtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC5hcnRpY2xlX2ltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMCAxNHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgIH1cblxuICAgIC5hcnRpY2xlX21lZGlhIHtcbiAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbygzNzUsIDIxMSk7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDM0NCwgMjQ0KTtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC52aWRfaWNvbiB7XG4gICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGVfbWlkZGxlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3dwLWNvbnRlbnQvdGhlbWVzL2x1dGhlci9pbWFnZXMvcGxheS5zdmcpO1xuICAgICAgICAgIHdpZHRoOiAxNSU7XG4gICAgICAgICAgaGVpZ2h0OiAyNi42NyU7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZV9jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgbWF4LXdpZHRoOiA0NSU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5hcnRpY2xlX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgcGFkZGluZzogMCA0MHB4O1xuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiTm9lIERpc3BsYXlcIjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgxOCwgMjgpO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodC1yZXNwb25zaXZlKDE4LCAyOCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGVfYXV0aG9yIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbjogMCAwIDlweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMTAsIDE0KTtcbiAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQtcmVzcG9uc2l2ZSgxMCwgMjQpO1xuICAgICAgICBtYXJnaW46IDAgMCAxMXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlX2V4Y2VycHQge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgxMiwgMTgpO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodC1yZXNwb25zaXZlKDE4LCAyNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5leGNlcnB0X2FydGljbGVfY2FyZCB7XG4gIG1hcmdpbjogMCAxMHB4O1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JleTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgfVxuXG4gIC5hcnRpY2xlX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDUlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5hcnRpY2xlX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRub2U7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDE2LCAyMik7XG4gICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0LXJlc3BvbnNpdmUoMTYsIDI0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9hdXRob3Ige1xuICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW07XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luOiAwIDAgMTJweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMTAsIDE0KTtcbiAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQtcmVzcG9uc2l2ZSgxMCwgMjQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlX2V4Y2VycHQge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDE0LCAxOCk7XG4gICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0LXJlc3BvbnNpdmUoMTQsIDI0KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZV9pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA0MCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgICAuYXJ0aWNsZV9tZWRpYSB7XG4gICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMTMwLCAxMDApO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnRpdGxlX2FydGljbGVfY2FyZCB7XG4gIG1hcmdpbjogMCAxMHB4O1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDhkOGQ4O1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICB9XG5cbiAgLmFydGljbGVfY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0NSU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmFydGljbGVfdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LWZhbWlseTogJG5vZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMTYsIDIyKTtcbiAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQtcmVzcG9uc2l2ZSgxNiwgMjQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlX2F1dGhvciB7XG4gICAgICBmb250LWZhbWlseTogJGdvdGhhbTtcbiAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgxMCwgMTQpO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodC1yZXNwb25zaXZlKDEwLCAyNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFydGljbGVfaW1hZ2Uge1xuICAgIG1heC13aWR0aDogNDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgLmFydGljbGVfbWVkaWEge1xuICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDEzMCwgMTAwKTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5udW1fYXJ0aWNsZV9saXN0X2l0ZW0ge1xuICAubnVtX2FydGljbGUge1xuICAgIHBhZGRpbmctbGVmdDogMjVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAubnVtX2FydGljbGUge1xuICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JleTtcbiAgICAgICAgYm90dG9tOiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZV90aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcblxuICAgIC5hcnRpY2xlX2xpbmsge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC5yZXBlYXRlcl9udW0ge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICRub2U7XG4gICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDE4LCAyMik7XG4gICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0LXJlc3BvbnNpdmUoMTgsIDI0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkbm9lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDE4LCAyMik7XG4gICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodC1yZXNwb25zaXZlKDE4LCAyNCk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZV9hdXRob3Ige1xuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgxMCwgMTQpO1xuICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQtcmVzcG9uc2l2ZSgxMCwgMjQpO1xuICAgIH1cbiAgfVxufVxuXG4uYm9va19yZXZpZXdfYXJ0aWNsZV9jYXJkLFxuLnNlcmllc19jYXJkIHtcbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgIHBhZGRpbmc6IDAgMjQuNXB4O1xuICB9XG5cbiAgLmFydGljbGVfaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDQxNXB4O1xuICAgIG1heC13aWR0aDogMjcwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjQuNXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9tZWRpYSB7XG4gICAgICBAaW5jbHVkZSBhc3BlY3QtcmF0aW8oMjY5LCA0MTEpO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIEBpbmNsdWRlIGFzcGVjdC1yYXRpbygzMjMsIDQ5NSk7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hcnRpY2xlX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICBtYXJnaW46IDAgYXV0byAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGEge1xuICAgICAgZm9udC1mYW1pbHk6ICRub2U7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDE4LCAyMik7XG4gICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodC1yZXNwb25zaXZlKDIwLCAyNCk7XG4gICAgfVxuICB9XG5cbiAgLmFydGljbGVfYXV0aG9yLFxuICAuYXJ0aWNsZV9hdXRob3IgYSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAwIGF1dG8gMTdweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMTAsIDE0KTtcbiAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0LXJlc3BvbnNpdmUoMTAsIDI0KTtcbiAgICB9XG4gIH1cbn1cblxuLnBvZGNhc3RfYXJ0aWNsZV9jYXJkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIC5hcnRpY2xlX2NvbnRlbnQge1xuICAgIC5hcnRpY2xlX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRub2U7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDE2LCAyMik7XG4gICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0LXJlc3BvbnNpdmUoMTYsIDI0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9hdXRob3Ige1xuICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW07XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMTAsIDE0KTtcbiAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQtcmVzcG9uc2l2ZSgxMCwgMjQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG4gIH1cbn1cblxuLnZpZGVvX2FydGljbGVfY2FyZCB7XG4gIG1hcmdpbjogMCAxMHB4O1xuICBwYWRkaW5nOiAyMHB4IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JleTtcblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgfVxuXG4gIC52aWRfaW1hZ2Uge1xuICAgIG1heC13aWR0aDogNDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5hcnRpY2xlX2NvbnRlbnQge1xuICAgIG1heC13aWR0aDogNDUlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgfVxuXG4gICAgLmFydGljbGVfdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgICAgIG1hcmdpbjogNnB4IDA7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LWZhbWlseTogXCJOb2UgRGlzcGxheVwiO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgxNiwgMjIpO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodC1yZXNwb25zaXZlKDIwLCAyNCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGVfYXV0aG9yIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbjogMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMTAsIDE0KTtcbiAgICAgICAgQGluY2x1ZGUgbGluZS1oZWlnaHQtcmVzcG9uc2l2ZSgxMCwgMjQpO1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlX2V4Y2VycHQge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgY29sb3I6ICRkYXJrX2dyZXk7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDE0LCAxOCk7XG4gICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0LXJlc3BvbnNpdmUoMTQsIDI0KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmxlZnRfaW1hZ2VfYXJ0aWNsZV9jYXJkIHtcbiAgLmFydGljbGVfaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMzUlO1xuICAgIG1pbi13aWR0aDogMzUlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgbWF4LXdpZHRoOiAzNDRweDtcbiAgICAgIG1pbi13aWR0aDogMzQ0cHg7XG4gICAgfVxuXG4gICAgLmFydGljbGVfbWVkaWEge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgQGluY2x1ZGUgYXNwZWN0LXJhdGlvKDM0NCwgMTk0KTtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC52aWRfaWNvbiB7XG4gICAgICAgICAgQGluY2x1ZGUgYWJzb2x1dGVfbWlkZGxlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3dwLWNvbnRlbnQvdGhlbWVzL2x1dGhlci9pbWFnZXMvcGxheS5zdmcpO1xuICAgICAgICAgIHdpZHRoOiAxNSU7XG4gICAgICAgICAgaGVpZ2h0OiAyNi42NyU7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmaWxsOiAjZmZmO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgb3BhY2l0eTogLjU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZV9jb250ZW50IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMycHg7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZV90aXRsZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgbWFyZ2luOiA2cHggMDtcblxuICAgICAgYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIk5vZSBEaXNwbGF5XCI7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDE4LCAyOCk7XG4gICAgICAgIEBpbmNsdWRlIGxpbmUtaGVpZ2h0LXJlc3BvbnNpdmUoMTgsIDMwKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJ0aWNsZV9hdXRob3Ige1xuICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW07XG4gICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgxMCwgMTQpO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodC1yZXNwb25zaXZlKDEwLCAyNCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGVfZXhjZXJwdCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JleTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgxNCwgMTgpO1xuICAgICAgICBAaW5jbHVkZSBsaW5lLWhlaWdodC1yZXNwb25zaXZlKDE0LCAyNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5zZXJpZXNfY2FyZCB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4uZmVhdHVyZWRfY29tbWVudGFyeV9jYXJkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0X2dyZXk7XG4gIHBhZGRpbmc6IDQ5cHggMzNweCA1NnB4O1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgLnRpdGxlX3dyYXAgaDIge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNDNweDtcbiAgfVxuICAucHJlX3RleHQge1xuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuICAuYXV0aG9yIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG4gIC5mbGF0X2J0biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMjZweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkYmxhY2s7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvdHRvbTogdW5zZXQ7XG4gICAgICByaWdodDogdW5zZXQ7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFDa0VBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBdURFO0FDekhGO2tFQUNrRTtBRGlFbEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUF1REU7QUN6SEY7a0VBQ2tFO0FvQ0tsRSxBQUFBLHFCQUFxQixDQUFDO0VBQ3BCLE1BQU0sRUFBRSxNQUFNO0VBQ2QsT0FBTyxFQUFFLE1BQU07RUFDZixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JDUWhCLE9BQU8sR3FDa0diO0U5QnZERyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SThCdEQ1QixBQUFBLHFCQUFxQixDQUFDO01BTWxCLE1BQU0sRUFBRSxDQUFDO01BQ1QsT0FBTyxFQUFFLENBQUM7TUFDVixVQUFVLEVBQUUsSUFBSSxHQXFHbkI7RUE3R0QsQUFXRSxxQkFYbUIsQ0FXbkIsY0FBYyxDQUFDO0lBQ2IsU0FBUyxFQUFFLEdBQUc7SUFDZCxLQUFLLEVBQUUsSUFBSTtJQUNYLFdBQVcsRUFBRSxJQUFJLEdBZ0RsQjtJOUJSQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TThCdEQ1QixBQVdFLHFCQVhtQixDQVduQixjQUFjLENBQUM7UUFNWCxNQUFNLEVBQUUsUUFBUTtRQUNoQixLQUFLLEVBQUUsSUFBSTtRQUNYLFNBQVMsRUFBRSxJQUFJLEdBMkNsQjtJQTlESCxBQXNCSSxxQkF0QmlCLENBV25CLGNBQWMsQ0FXWixjQUFjLENBQUM7TXBDc0xqQixRQUFRLEVBQUUsUUFBUTtNb0NwTGQsTUFBTSxFQUFFLENBQUMsR0F1QlY7TUEvQ0wsQXBDOE1FLHFCb0M5TW1CLENBV25CLGNBQWMsQ0FXWixjQUFjLEFwQ3dMZixPQUFPLENBQUM7UUFDUCxPQUFPLEVBQUUsS0FBSztRQUNkLE9BQU8sRUFBRSxFQUFFO1FBQ1gsS0FBSyxFQUFFLElBQUk7UUFDWCxXQUFXLEVBQUUsU0FBeUIsR0FDdkM7TU03SkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1E4QnRENUIsQUFzQkkscUJBdEJpQixDQVduQixjQUFjLENBV1osY0FBYyxDQUFDO1VwQ3NMakIsUUFBUSxFQUFFLFFBQVEsR29DN0pmO1VBL0NMLEFwQzhNRSxxQm9DOU1tQixDQVduQixjQUFjLENBV1osY0FBYyxBcEN3TGYsT0FBTyxDQUFDO1lBQ1AsT0FBTyxFQUFFLEtBQUs7WUFDZCxPQUFPLEVBQUUsRUFBRTtZQUNYLEtBQUssRUFBRSxJQUFJO1lBQ1gsV0FBVyxFQUFFLFNBQXlCLEdBQ3ZDO01vQ25OSCxBQThCTSxxQkE5QmUsQ0FXbkIsY0FBYyxDQVdaLGNBQWMsQ0FRWixDQUFDLENBQUM7UUFDQSxPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSxJQUFJO1FBQ1osUUFBUSxFQUFFLFFBQVE7UUFDbEIsS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLEVBQUUsQ0FBQztRQUNOLElBQUksRUFBRSxDQUFDLEdBVVI7UUE5Q1AsQUFzQ1EscUJBdENhLENBV25CLGNBQWMsQ0FXWixjQUFjLENBUVosQ0FBQyxDQVFDLEdBQUcsQ0FBQztVQUNGLE9BQU8sRUFBRSxLQUFLO1VBRWQsU0FBUyxFQUFFLElBQUk7VUFDZixLQUFLLEVBQUUsSUFBSTtVQUNYLFVBQVUsRUFBRSxLQUFLO1VBQ2pCLE1BQU0sRUFBRSxJQUFJLEdBQ2I7SUE3Q1QsQUFnREkscUJBaERpQixDQVduQixjQUFjLENBcUNaLFNBQVMsQ0FBQztNcEM0T1osUUFBUSxFQUFFLFFBQVE7TUFDbEIsSUFBSSxFQUFFLEdBQUc7TUFDVCxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7TUFDcEQsY0FBYyxFQUFFLGdCQUFnQixDQUFDLGdCQUFnQjtNQUNqRCxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCO01BQ2hELFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7TUFDL0MsU0FBUyxFQUFFLGdCQUFnQixDQUFDLGdCQUFnQjtNQUM1QyxHQUFHLEVBQUUsR0FBRztNQUNSLEtBQUssRUFBRSxJQUFJO01vQ2xQUCxRQUFRLEVBQUUsUUFBUTtNQUNsQixnQkFBZ0IsRUFBRSw4Q0FBOEM7TUFDaEUsS0FBSyxFQUFFLEdBQUc7TUFDVixNQUFNLEVBQUUsTUFBTTtNQUNkLGVBQWUsRUFBRSxTQUFTO01BQzFCLE9BQU8sRUFBRSxDQUFDO01BQ1YsS0FBSyxFQUFFLElBQUk7TUFDWCxJQUFJLEVBQUUsSUFBSTtNQUNWLE9BQU8sRUFBRSxLQUFLO01BQ2QsT0FBTyxFQUFFLENBQUM7TUFDVixPQUFPLEVBQUUsRUFBRSxHQUNaO0VBN0RMLEFBZ0VFLHFCQWhFbUIsQ0FnRW5CLGdCQUFnQixDQUFDO0lBQ2YsU0FBUyxFQUFFLEdBQUcsR0EyQ2Y7STlCdERDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNOEJ0RDVCLEFBZ0VFLHFCQWhFbUIsQ0FnRW5CLGdCQUFnQixDQUFDO1FBSWIsU0FBUyxFQUFFLElBQUksR0F3Q2xCO0lBNUdILEFBdUVJLHFCQXZFaUIsQ0FnRW5CLGdCQUFnQixDQU9kLGNBQWMsQ0FBQztNQUNiLFNBQVMsRUFBRSxJQUFJO01BQ2YsV0FBVyxFQUFFLEdBQUc7TUFDaEIsTUFBTSxFQUFFLEtBQUssR0FhZDtNQXZGTCxBQTRFTSxxQkE1RWUsQ0FnRW5CLGdCQUFnQixDQU9kLGNBQWMsQ0FLWixDQUFDLENBQUM7UUFDQSxXQUFXLEVBQUUsYUFBYSxHQUMzQjtNOUJ4QkgsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1E4QnRENUIsQUF1RUkscUJBdkVpQixDQWdFbkIsZ0JBQWdCLENBT2QsY0FBYyxDQUFDO1VBVVgsU0FBUyxFQUFFLElBQUk7VUFDZixXQUFXLEVBQUUsSUFBSTtVcENpUXZCLFNBQVMsRUFBRSwwREFFVjtVQVFELFdBQVcsRUFBRSwwREFFWjtVb0MxUUssTUFBTSxFQUFFLFFBQVEsR0FFbkI7RXBDK1BILE1BQU0sRU1oU0ksU0FBUyxFQUFFLEtBQUssT05nU2xCLFNBQVMsRUFBRSxNQUFNO0lvQ3RWM0IsQUF1RUkscUJBdkVpQixDQWdFbkIsZ0JBQWdCLENBT2QsY0FBYyxDQUFDO01wQ2dSZixTQUFTLEVBQUUsSUFBUyxHb0NoUW5CO0VwQzBRSCxNQUFNLEVNM1NJLFNBQVMsRUFBRSxLQUFLLE9OMlNsQixTQUFTLEVBQUUsTUFBTTtJb0NqVzNCLEFBdUVJLHFCQXZFaUIsQ0FnRW5CLGdCQUFnQixDQU9kLGNBQWMsQ0FBQztNcEMyUmYsV0FBVyxFQUFFLElBQVMsR29DM1FyQjtJQXZGTCxBQXlGSSxxQkF6RmlCLENBZ0VuQixnQkFBZ0IsQ0F5QmQsZUFBZSxDQUFDO01BQ2QsV0FBVyxFckN0RVIsUUFBUSxFQUFFLFVBQVU7TXFDdUV2QixTQUFTLEVBQUUsSUFBSTtNQUNmLGNBQWMsRUFBRSxTQUFTO01BQ3pCLE1BQU0sRUFBRSxDQUFDLEdBY1Y7TTlCckRELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztROEJ0RDVCLEFBeUZJLHFCQXpGaUIsQ0FnRW5CLGdCQUFnQixDQXlCZCxlQUFlLENBQUM7VUFPWixTQUFTLEVBQUUsSUFBSTtVQUNmLFdBQVcsRUFBRSxJQUFJO1VwQ2tQdkIsU0FBUyxFQUFFLDBEQUVWO1VBUUQsV0FBVyxFQUFFLDBEQUVaO1VvQzNQSyxNQUFNLEVBQUUsUUFBUSxHQU9uQjtFcEMyT0gsTUFBTSxFTWhTSSxTQUFTLEVBQUUsS0FBSyxPTmdTbEIsU0FBUyxFQUFFLE1BQU07SW9DdFYzQixBQXlGSSxxQkF6RmlCLENBZ0VuQixnQkFBZ0IsQ0F5QmQsZUFBZSxDQUFDO01wQzhQaEIsU0FBUyxFQUFFLElBQVMsR29DNU9uQjtFcENzUEgsTUFBTSxFTTNTSSxTQUFTLEVBQUUsS0FBSyxPTjJTbEIsU0FBUyxFQUFFLE1BQU07SW9DalczQixBQXlGSSxxQkF6RmlCLENBZ0VuQixnQkFBZ0IsQ0F5QmQsZUFBZSxDQUFDO01wQ3lRaEIsV0FBVyxFQUFFLElBQVMsR29DdlByQjtNQTNHTCxBQXVHUSxxQkF2R2EsQ0FnRW5CLGdCQUFnQixDQXlCZCxlQUFlLENBYWIsY0FBYyxDQUNaLENBQUMsQ0FBQztRQUNBLGVBQWUsRUFBRSxlQUFlLEdBQ2pDOztBQU1ULEFBQUEsc0JBQXNCLENBQUM7RUFDckIsTUFBTSxFQUFFLENBQUMsR0F3SFY7RTlCbExHLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJOEJ5RDVCLEFBQUEsc0JBQXNCLENBQUM7TUFJbkIsT0FBTyxFQUFFLENBQUMsR0FxSGI7RUF6SEQsQUFPRSxzQkFQb0IsQ0FPcEIsY0FBYyxDQUFDO0lBQ2IsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsUUFBUSxHQWtEakI7STlCcEhDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNOEJ5RDVCLEFBT0Usc0JBUG9CLENBT3BCLGNBQWMsQ0FBQztRQUtYLEtBQUssRUFBRSxJQUFJO1FBQ1gsV0FBVyxFQUFFLElBQUk7UUFDakIsU0FBUyxFQUFFLEdBQUcsR0E2Q2pCO0lBM0RILEFBaUJJLHNCQWpCa0IsQ0FPcEIsY0FBYyxDQVVaLGNBQWMsQ0FBQztNcEM0RWpCLFFBQVEsRUFBRSxRQUFRO01vQzFFZCxNQUFNLEVBQUUsQ0FBQyxHQXVDVjtNQTFETCxBcEMrRkUsc0JvQy9Gb0IsQ0FPcEIsY0FBYyxDQVVaLGNBQWMsQXBDOEVmLE9BQU8sQ0FBQztRQUNQLE9BQU8sRUFBRSxLQUFLO1FBQ2QsT0FBTyxFQUFFLEVBQUU7UUFDWCxLQUFLLEVBQUUsSUFBSTtRQUNYLFdBQVcsRUFBRSxTQUF5QixHQUN2QztNTTdKQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UThCeUQ1QixBQWlCSSxzQkFqQmtCLENBT3BCLGNBQWMsQ0FVWixjQUFjLENBQUM7VXBDNEVqQixRQUFRLEVBQUUsUUFBUSxHb0NuQ2Y7VUExREwsQXBDK0ZFLHNCb0MvRm9CLENBT3BCLGNBQWMsQ0FVWixjQUFjLEFwQzhFZixPQUFPLENBQUM7WUFDUCxPQUFPLEVBQUUsS0FBSztZQUNkLE9BQU8sRUFBRSxFQUFFO1lBQ1gsS0FBSyxFQUFFLElBQUk7WUFDWCxXQUFXLEVBQUUsU0FBeUIsR0FDdkM7TW9DcEdILEFBeUJNLHNCQXpCZ0IsQ0FPcEIsY0FBYyxDQVVaLGNBQWMsQ0FRWixDQUFDLENBQUM7UUFDQSxPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSxJQUFJO1FBQ1osUUFBUSxFQUFFLFFBQVE7UUFDbEIsS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLEVBQUUsQ0FBQztRQUNOLElBQUksRUFBRSxDQUFDLEdBMEJSO1FBekRQLEFBaUNRLHNCQWpDYyxDQU9wQixjQUFjLENBVVosY0FBYyxDQVFaLENBQUMsQ0FRQyxHQUFHLENBQUM7VUFDRixPQUFPLEVBQUUsS0FBSztVQUNkLE1BQU0sRUFBRSxJQUFJO1VBQ1osU0FBUyxFQUFFLElBQUk7VUFDZixLQUFLLEVBQUUsSUFBSTtVQUNYLFVBQVUsRUFBRSxLQUFLLEdBSWxCO1U5QnRGTCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7WThCNENoQyxBQWlDUSxzQkFqQ2MsQ0FPcEIsY0FBYyxDQVVaLGNBQWMsQ0FRWixDQUFDLENBUUMsR0FBRyxDQUFDO2NBT0EsTUFBTSxFQUFFLElBQUksR0FFZjtRQTFDVCxBQTJDUSxzQkEzQ2MsQ0FPcEIsY0FBYyxDQVVaLGNBQWMsQ0FRWixDQUFDLENBa0JDLFNBQVMsQ0FBQztVcENrSWhCLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLElBQUksRUFBRSxHQUFHO1VBQ1QsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCO1VBQ3BELGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7VUFDakQsYUFBYSxFQUFFLGdCQUFnQixDQUFDLGdCQUFnQjtVQUNoRCxZQUFZLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCO1VBQy9DLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7VUFDNUMsR0FBRyxFQUFFLEdBQUc7VUFDUixLQUFLLEVBQUUsSUFBSTtVb0N4SUgsUUFBUSxFQUFFLFFBQVE7VUFDbEIsZ0JBQWdCLEVBQUUsOENBQThDO1VBQ2hFLEtBQUssRUFBRSxHQUFHO1VBQ1YsTUFBTSxFQUFFLE1BQU07VUFDZCxlQUFlLEVBQUUsU0FBUztVQUMxQixPQUFPLEVBQUUsQ0FBQztVQUNWLEtBQUssRUFBRSxJQUFJO1VBQ1gsSUFBSSxFQUFFLElBQUk7VUFDVixPQUFPLEVBQUUsS0FBSztVQUNkLE9BQU8sRUFBRSxDQUFDO1VBQ1YsT0FBTyxFQUFFLEVBQUUsR0FDWjtFQXhEVCxBQTZERSxzQkE3RG9CLENBNkRwQixnQkFBZ0IsQ0FBQztJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsTUFBTSxFQUFFLE1BQU07SUFDZCxVQUFVLEVBQUUsTUFBTSxHQXdEbkI7STlCakxDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNOEJ5RDVCLEFBNkRFLHNCQTdEb0IsQ0E2RHBCLGdCQUFnQixDQUFDO1FBTWIsU0FBUyxFQUFFLEdBQUc7UUFDZCxNQUFNLEVBQUUsQ0FBQztRQUNULFVBQVUsRUFBRSxJQUFJLEdBbURuQjtJQXhISCxBQXdFSSxzQkF4RWtCLENBNkRwQixnQkFBZ0IsQ0FXZCxjQUFjLENBQUM7TUFDYixTQUFTLEVBQUUsSUFBSTtNQUNmLFdBQVcsRUFBRSxHQUFHO01BQ2hCLE1BQU0sRUFBRSxRQUFRO01BQ2hCLE9BQU8sRUFBRSxNQUFNLEdBZWhCO01BM0ZMLEFBOEVNLHNCQTlFZ0IsQ0E2RHBCLGdCQUFnQixDQVdkLGNBQWMsQ0FNWixDQUFDLENBQUM7UUFDQSxXQUFXLEVBQUUsYUFBYTtRQUMxQixRQUFRLEVBQUUsUUFBUSxHQUNuQjtNOUIxSUgsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1E4QnlENUIsQUF3RUksc0JBeEVrQixDQTZEcEIsZ0JBQWdCLENBV2QsY0FBYyxDQUFDO1VBWVgsU0FBUyxFQUFFLElBQUk7VUFDZixXQUFXLEVBQUUsQ0FBQztVcEMrSXBCLFNBQVMsRUFBRSwwREFFVjtVQVFELFdBQVcsRUFBRSwwREFFWjtVb0N4SkssTUFBTSxFQUFFLFFBQVE7VUFDaEIsT0FBTyxFQUFFLENBQUMsR0FFYjtFcEM0SUgsTUFBTSxFTWhTSSxTQUFTLEVBQUUsS0FBSyxPTmdTbEIsU0FBUyxFQUFFLE1BQU07SW9Ddk8zQixBQXdFSSxzQkF4RWtCLENBNkRwQixnQkFBZ0IsQ0FXZCxjQUFjLENBQUM7TXBDZ0tmLFNBQVMsRUFBRSxJQUFTLEdvQzdJbkI7RXBDdUpILE1BQU0sRU0zU0ksU0FBUyxFQUFFLEtBQUssT04yU2xCLFNBQVMsRUFBRSxNQUFNO0lvQ2xQM0IsQUF3RUksc0JBeEVrQixDQTZEcEIsZ0JBQWdCLENBV2QsY0FBYyxDQUFDO01wQzJLZixXQUFXLEVBQUUsSUFBUyxHb0N4SnJCO0lBM0ZMLEFBNkZJLHNCQTdGa0IsQ0E2RHBCLGdCQUFnQixDQWdDZCxlQUFlLENBQUM7TUFDZCxXQUFXLEVyQ3pMUixRQUFRLEVBQUUsVUFBVTtNcUMwTHZCLFNBQVMsRUFBRSxJQUFJO01BQ2YsY0FBYyxFQUFFLFNBQVM7TUFDekIsTUFBTSxFQUFFLE9BQU8sR0FTaEI7TTlCbktELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztROEJ5RDVCLEFBNkZJLHNCQTdGa0IsQ0E2RHBCLGdCQUFnQixDQWdDZCxlQUFlLENBQUM7VUFPWixXQUFXLEVBQUUsSUFBSTtVQUNqQixTQUFTLEVBQUUsSUFBSTtVcEMrSHJCLFNBQVMsRUFBRSwwREFFVjtVQVFELFdBQVcsRUFBRSwwREFFWjtVb0N4SUssTUFBTSxFQUFFLFFBQVEsR0FFbkI7RXBDNkhILE1BQU0sRU1oU0ksU0FBUyxFQUFFLEtBQUssT05nU2xCLFNBQVMsRUFBRSxNQUFNO0lvQ3ZPM0IsQUE2Rkksc0JBN0ZrQixDQTZEcEIsZ0JBQWdCLENBZ0NkLGVBQWUsQ0FBQztNcEMySWhCLFNBQVMsRUFBRSxJQUFTLEdvQzlIbkI7RXBDd0lILE1BQU0sRU0zU0ksU0FBUyxFQUFFLEtBQUssT04yU2xCLFNBQVMsRUFBRSxNQUFNO0lvQ2xQM0IsQUE2Rkksc0JBN0ZrQixDQTZEcEIsZ0JBQWdCLENBZ0NkLGVBQWUsQ0FBQztNcENzSmhCLFdBQVcsRUFBRSxJQUFTLEdvQ3pJckI7SUExR0wsQUE0R0ksc0JBNUdrQixDQTZEcEIsZ0JBQWdCLENBK0NkLGdCQUFnQixDQUFDO01BQ2YsU0FBUyxFQUFFLElBQUk7TUFDZixLQUFLLEVyQ2hOQyxPQUFPO01xQ2lOYixNQUFNLEVBQUUsUUFBUSxHQVFqQjtNOUJoTEQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1E4QnlENUIsQUE0R0ksc0JBNUdrQixDQTZEcEIsZ0JBQWdCLENBK0NkLGdCQUFnQixDQUFDO1VBTWIsU0FBUyxFQUFFLElBQUk7VUFDZixXQUFXLEVBQUUsSUFBSTtVcENpSHZCLFNBQVMsRUFBRSwwREFFVjtVQVFELFdBQVcsRUFBRSwwREFFWixHb0N6SEU7RXBDZ0hILE1BQU0sRU1oU0ksU0FBUyxFQUFFLEtBQUssT05nU2xCLFNBQVMsRUFBRSxNQUFNO0lvQ3ZPM0IsQUE0R0ksc0JBNUdrQixDQTZEcEIsZ0JBQWdCLENBK0NkLGdCQUFnQixDQUFDO01wQzRIakIsU0FBUyxFQUFFLElBQVMsR29DakhuQjtFcEMySEgsTUFBTSxFTTNTSSxTQUFTLEVBQUUsS0FBSyxPTjJTbEIsU0FBUyxFQUFFLE1BQU07SW9DbFAzQixBQTRHSSxzQkE1R2tCLENBNkRwQixnQkFBZ0IsQ0ErQ2QsZ0JBQWdCLENBQUM7TXBDdUlqQixXQUFXLEVBQUUsSUFBUyxHb0M1SHJCOztBQUlMLEFBQUEscUJBQXFCLENBQUM7RUFDcEIsTUFBTSxFQUFFLE1BQU07RUFDZCxPQUFPLEVBQUUsTUFBTTtFQUNmLFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDckNsT2hCLE9BQU8sR3FDNlRiO0U5QmxSRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SThCb0w1QixBQUFBLHFCQUFxQixDQUFDO01BTWxCLE1BQU0sRUFBRSxDQUFDO01BQ1QsT0FBTyxFQUFFLENBQUM7TUFDVixVQUFVLEVBQUUsSUFBSSxHQXNGbkI7RUE5RkQsQUFXRSxxQkFYbUIsQ0FXbkIsZ0JBQWdCLENBQUM7SUFDZixTQUFTLEVBQUUsR0FBRyxHQWtEZjtJOUJsUEMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO004Qm9MNUIsQUFXRSxxQkFYbUIsQ0FXbkIsZ0JBQWdCLENBQUM7UUFJYixTQUFTLEVBQUUsSUFBSSxHQStDbEI7SUE5REgsQUFrQkkscUJBbEJpQixDQVduQixnQkFBZ0IsQ0FPZCxjQUFjLENBQUM7TUFDYixTQUFTLEVBQUUsSUFBSTtNQUNmLFdBQVcsRUFBRSxHQUFHO01BQ2hCLE1BQU0sRUFBRSxRQUFRLEdBWWpCO01BakNMLEFBdUJNLHFCQXZCZSxDQVduQixnQkFBZ0IsQ0FPZCxjQUFjLENBS1osQ0FBQyxDQUFDO1FBQ0EsV0FBVyxFckM1T2IsYUFBYSxHcUM2T1o7TTlCN01ILE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztROEJvTDVCLEFBa0JJLHFCQWxCaUIsQ0FXbkIsZ0JBQWdCLENBT2QsY0FBYyxDQUFDO1VBVVgsU0FBUyxFQUFFLElBQUk7VUFDZixXQUFXLEVBQUUsSUFBSTtVcEM0RXZCLFNBQVMsRUFBRSwwREFFVjtVQVFELFdBQVcsRUFBRSwwREFFWixHb0NwRkU7RXBDMkVILE1BQU0sRU1oU0ksU0FBUyxFQUFFLEtBQUssT05nU2xCLFNBQVMsRUFBRSxNQUFNO0lvQzVHM0IsQUFrQkkscUJBbEJpQixDQVduQixnQkFBZ0IsQ0FPZCxjQUFjLENBQUM7TXBDMkZmLFNBQVMsRUFBRSxJQUFTLEdvQzVFbkI7RXBDc0ZILE1BQU0sRU0zU0ksU0FBUyxFQUFFLEtBQUssT04yU2xCLFNBQVMsRUFBRSxNQUFNO0lvQ3ZIM0IsQUFrQkkscUJBbEJpQixDQVduQixnQkFBZ0IsQ0FPZCxjQUFjLENBQUM7TXBDc0dmLFdBQVcsRUFBRSxJQUFTLEdvQ3ZGckI7SUFqQ0wsQUFtQ0kscUJBbkNpQixDQVduQixnQkFBZ0IsQ0F3QmQsZUFBZSxDQUFDO01BQ2QsV0FBVyxFckMxUFIsUUFBUSxFQUFFLFVBQVU7TXFDMlB2QixTQUFTLEVBQUUsSUFBSTtNQUNmLGNBQWMsRUFBRSxTQUFTO01BQ3pCLE1BQU0sRUFBRSxRQUFRLEdBUWpCO005Qm5PRCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UThCb0w1QixBQW1DSSxxQkFuQ2lCLENBV25CLGdCQUFnQixDQXdCZCxlQUFlLENBQUM7VUFPWixTQUFTLEVBQUUsSUFBSTtVQUNmLFdBQVcsRUFBRSxJQUFJO1VwQzhEdkIsU0FBUyxFQUFFLDBEQUVWO1VBUUQsV0FBVyxFQUFFLDBEQUVaLEdvQ3RFRTtFcEM2REgsTUFBTSxFTWhTSSxTQUFTLEVBQUUsS0FBSyxPTmdTbEIsU0FBUyxFQUFFLE1BQU07SW9DNUczQixBQW1DSSxxQkFuQ2lCLENBV25CLGdCQUFnQixDQXdCZCxlQUFlLENBQUM7TXBDMEVoQixTQUFTLEVBQUUsSUFBUyxHb0M5RG5CO0VwQ3dFSCxNQUFNLEVNM1NJLFNBQVMsRUFBRSxLQUFLLE9OMlNsQixTQUFTLEVBQUUsTUFBTTtJb0N2SDNCLEFBbUNJLHFCQW5DaUIsQ0FXbkIsZ0JBQWdCLENBd0JkLGVBQWUsQ0FBQztNcENxRmhCLFdBQVcsRUFBRSxJQUFTLEdvQ3pFckI7SUEvQ0wsQUFpREkscUJBakRpQixDQVduQixnQkFBZ0IsQ0FzQ2QsZ0JBQWdCLENBQUM7TUFDZixTQUFTLEVBQUUsSUFBSTtNQUNmLEtBQUssRXJDaFJDLE9BQU87TXFDaVJiLE1BQU0sRUFBRSxDQUFDLEdBU1Y7TTlCalBELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztROEJvTDVCLEFBaURJLHFCQWpEaUIsQ0FXbkIsZ0JBQWdCLENBc0NkLGdCQUFnQixDQUFDO1VBTWIsU0FBUyxFQUFFLElBQUk7VUFDZixXQUFXLEVBQUUsSUFBSTtVcENpRHZCLFNBQVMsRUFBRSwwREFFVjtVQVFELFdBQVcsRUFBRSwwREFFWjtVb0MxREssTUFBTSxFQUFFLFFBQVEsR0FFbkI7RXBDK0NILE1BQU0sRU1oU0ksU0FBUyxFQUFFLEtBQUssT05nU2xCLFNBQVMsRUFBRSxNQUFNO0lvQzVHM0IsQUFpREkscUJBakRpQixDQVduQixnQkFBZ0IsQ0FzQ2QsZ0JBQWdCLENBQUM7TXBDNERqQixTQUFTLEVBQUUsSUFBUyxHb0NoRG5CO0VwQzBESCxNQUFNLEVNM1NJLFNBQVMsRUFBRSxLQUFLLE9OMlNsQixTQUFTLEVBQUUsTUFBTTtJb0N2SDNCLEFBaURJLHFCQWpEaUIsQ0FXbkIsZ0JBQWdCLENBc0NkLGdCQUFnQixDQUFDO01wQ3VFakIsV0FBVyxFQUFFLElBQVMsR29DM0RyQjtFQTdETCxBQWdFRSxxQkFoRW1CLENBZ0VuQixjQUFjLENBQUM7SUFDYixTQUFTLEVBQUUsR0FBRztJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsV0FBVyxFQUFFLElBQUksR0EwQmxCO0lBN0ZILEFBcUVJLHFCQXJFaUIsQ0FnRW5CLGNBQWMsQ0FLWixjQUFjLENBQUM7TXBDbkdqQixRQUFRLEVBQUUsUUFBUTtNb0NxR2QsTUFBTSxFQUFFLENBQUMsR0FxQlY7TUE1RkwsQXBDNUJFLHFCb0M0Qm1CLENBZ0VuQixjQUFjLENBS1osY0FBYyxBcENqR2YsT0FBTyxDQUFDO1FBQ1AsT0FBTyxFQUFFLEtBQUs7UUFDZCxPQUFPLEVBQUUsRUFBRTtRQUNYLEtBQUssRUFBRSxJQUFJO1FBQ1gsV0FBVyxFQUFFLFNBQXlCLEdBQ3ZDO01vQ3VCSCxBQXlFTSxxQkF6RWUsQ0FnRW5CLGNBQWMsQ0FLWixjQUFjLENBSVosQ0FBQyxDQUFDO1FBQ0EsT0FBTyxFQUFFLEtBQUs7UUFDZCxNQUFNLEVBQUUsSUFBSTtRQUNaLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLEtBQUssRUFBRSxJQUFJO1FBQ1gsR0FBRyxFQUFFLENBQUM7UUFDTixJQUFJLEVBQUUsQ0FBQyxHQVlSO1FBM0ZQLEFBaUZRLHFCQWpGYSxDQWdFbkIsY0FBYyxDQUtaLGNBQWMsQ0FJWixDQUFDLENBUUMsR0FBRyxDQUFDO1VBQ0YsT0FBTyxFQUFFLEtBQUs7VUFDZCxNQUFNLEVBQUUsSUFBSTtVQUNaLFNBQVMsRUFBRSxJQUFJO1VBQ2YsS0FBSyxFQUFFLElBQUk7VUFDWCxVQUFVLEVBQUUsS0FBSyxHQUlsQjtVOUJqUUwsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO1k4QnVLaEMsQUFpRlEscUJBakZhLENBZ0VuQixjQUFjLENBS1osY0FBYyxDQUlaLENBQUMsQ0FRQyxHQUFHLENBQUM7Y0FPQSxNQUFNLEVBQUUsSUFBSSxHQUVmOztBQU1ULEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsTUFBTSxFQUFFLE1BQU07RUFDZCxPQUFPLEVBQUUsTUFBTTtFQUNmLFVBQVUsRUFBRSxpQkFBaUIsR0E2RTlCO0U5QnBXRyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SThCb1I1QixBQUFBLG1CQUFtQixDQUFDO01BTWhCLE1BQU0sRUFBRSxDQUFDO01BQ1QsT0FBTyxFQUFFLENBQUM7TUFDVixVQUFVLEVBQUUsSUFBSSxHQXdFbkI7RUFoRkQsQUFXRSxtQkFYaUIsQ0FXakIsZ0JBQWdCLENBQUM7SUFDZixTQUFTLEVBQUUsR0FBRyxHQW9DZjtJOUJwVUMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO004Qm9SNUIsQUFXRSxtQkFYaUIsQ0FXakIsZ0JBQWdCLENBQUM7UUFJYixTQUFTLEVBQUUsSUFBSSxHQWlDbEI7SUFoREgsQUFrQkksbUJBbEJlLENBV2pCLGdCQUFnQixDQU9kLGNBQWMsQ0FBQztNQUNiLFNBQVMsRUFBRSxJQUFJO01BQ2YsV0FBVyxFQUFFLEdBQUc7TUFDaEIsTUFBTSxFQUFFLFFBQVEsR0FZakI7TUFqQ0wsQUF1Qk0sbUJBdkJhLENBV2pCLGdCQUFnQixDQU9kLGNBQWMsQ0FLWixDQUFDLENBQUM7UUFDQSxXQUFXLEVyQzVVYixhQUFhLEdxQzZVWjtNOUI3U0gsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1E4Qm9SNUIsQUFrQkksbUJBbEJlLENBV2pCLGdCQUFnQixDQU9kLGNBQWMsQ0FBQztVQVVYLFNBQVMsRUFBRSxJQUFJO1VBQ2YsV0FBVyxFQUFFLElBQUk7VXBDcEJ2QixTQUFTLEVBQUUsMERBRVY7VUFRRCxXQUFXLEVBQUUsMERBRVosR29DWUU7RXBDckJILE1BQU0sRU1oU0ksU0FBUyxFQUFFLEtBQUssT05nU2xCLFNBQVMsRUFBRSxNQUFNO0lvQ1ozQixBQWtCSSxtQkFsQmUsQ0FXakIsZ0JBQWdCLENBT2QsY0FBYyxDQUFDO01wQ0xmLFNBQVMsRUFBRSxJQUFTLEdvQ29CbkI7RXBDVkgsTUFBTSxFTTNTSSxTQUFTLEVBQUUsS0FBSyxPTjJTbEIsU0FBUyxFQUFFLE1BQU07SW9DdkIzQixBQWtCSSxtQkFsQmUsQ0FXakIsZ0JBQWdCLENBT2QsY0FBYyxDQUFDO01wQ01mLFdBQVcsRUFBRSxJQUFTLEdvQ1NyQjtJQWpDTCxBQW1DSSxtQkFuQ2UsQ0FXakIsZ0JBQWdCLENBd0JkLGVBQWUsQ0FBQztNQUNkLFdBQVcsRXJDMVZSLFFBQVEsRUFBRSxVQUFVO01xQzJWdkIsU0FBUyxFQUFFLElBQUk7TUFDZixjQUFjLEVBQUUsU0FBUztNQUN6QixNQUFNLEVBQUUsUUFBUSxHQVFqQjtNOUJuVUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1E4Qm9SNUIsQUFtQ0ksbUJBbkNlLENBV2pCLGdCQUFnQixDQXdCZCxlQUFlLENBQUM7VUFPWixTQUFTLEVBQUUsSUFBSTtVQUNmLFdBQVcsRUFBRSxJQUFJO1VwQ2xDdkIsU0FBUyxFQUFFLDBEQUVWO1VBUUQsV0FBVyxFQUFFLDBEQUVaLEdvQzBCRTtFcENuQ0gsTUFBTSxFTWhTSSxTQUFTLEVBQUUsS0FBSyxPTmdTbEIsU0FBUyxFQUFFLE1BQU07SW9DWjNCLEFBbUNJLG1CQW5DZSxDQVdqQixnQkFBZ0IsQ0F3QmQsZUFBZSxDQUFDO01wQ3RCaEIsU0FBUyxFQUFFLElBQVMsR29Da0NuQjtFcEN4QkgsTUFBTSxFTTNTSSxTQUFTLEVBQUUsS0FBSyxPTjJTbEIsU0FBUyxFQUFFLE1BQU07SW9DdkIzQixBQW1DSSxtQkFuQ2UsQ0FXakIsZ0JBQWdCLENBd0JkLGVBQWUsQ0FBQztNcENYaEIsV0FBVyxFQUFFLElBQVMsR29DdUJyQjtFQS9DTCxBQWtERSxtQkFsRGlCLENBa0RqQixjQUFjLENBQUM7SUFDYixTQUFTLEVBQUUsR0FBRztJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsV0FBVyxFQUFFLElBQUksR0EwQmxCO0lBL0VILEFBdURJLG1CQXZEZSxDQWtEakIsY0FBYyxDQUtaLGNBQWMsQ0FBQztNcENyTGpCLFFBQVEsRUFBRSxRQUFRO01vQ3VMZCxNQUFNLEVBQUUsQ0FBQyxHQXFCVjtNQTlFTCxBcEM1SEUsbUJvQzRIaUIsQ0FrRGpCLGNBQWMsQ0FLWixjQUFjLEFwQ25MZixPQUFPLENBQUM7UUFDUCxPQUFPLEVBQUUsS0FBSztRQUNkLE9BQU8sRUFBRSxFQUFFO1FBQ1gsS0FBSyxFQUFFLElBQUk7UUFDWCxXQUFXLEVBQUUsU0FBeUIsR0FDdkM7TW9DdUhILEFBMkRNLG1CQTNEYSxDQWtEakIsY0FBYyxDQUtaLGNBQWMsQ0FJWixDQUFDLENBQUM7UUFDQSxPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSxJQUFJO1FBQ1osUUFBUSxFQUFFLFFBQVE7UUFDbEIsS0FBSyxFQUFFLElBQUk7UUFDWCxHQUFHLEVBQUUsQ0FBQztRQUNOLElBQUksRUFBRSxDQUFDLEdBWVI7UUE3RVAsQUFtRVEsbUJBbkVXLENBa0RqQixjQUFjLENBS1osY0FBYyxDQUlaLENBQUMsQ0FRQyxHQUFHLENBQUM7VUFDRixPQUFPLEVBQUUsS0FBSztVQUNkLE1BQU0sRUFBRSxJQUFJO1VBQ1osU0FBUyxFQUFFLElBQUk7VUFDZixLQUFLLEVBQUUsSUFBSTtVQUNYLFVBQVUsRUFBRSxLQUFLLEdBSWxCO1U5Qm5WTCxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7WThCdVFoQyxBQW1FUSxtQkFuRVcsQ0FrRGpCLGNBQWMsQ0FLWixjQUFjLENBSVosQ0FBQyxDQVFDLEdBQUcsQ0FBQztjQU9BLE1BQU0sRUFBRSxJQUFJLEdBRWY7O0FBTVQsQUFDRSxzQkFEb0IsQ0FDcEIsWUFBWSxDQUFDO0VBQ1gsWUFBWSxFQUFFLElBQUk7RUFDbEIsYUFBYSxFQUFFLElBQUksR0FNcEI7RTlCL1dDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJOEJzVzVCLEFBQ0Usc0JBRG9CLENBQ3BCLFlBQVksQ0FBQztNQUtULFlBQVksRUFBRSxDQUFDO01BQ2YsYUFBYSxFQUFFLENBQUMsR0FFbkI7O0FBVEgsQUFZSSxzQkFaa0IsQUFXbkIsSUFBSyxDQUFBLFlBQVksRUFDaEIsWUFBWSxDQUFDO0VBQ1gsV0FBVyxFQUFFLElBQUk7RUFDakIsUUFBUSxFQUFFLFFBQVEsR0FrQm5CO0VBaENMLEFBZ0JNLHNCQWhCZ0IsQUFXbkIsSUFBSyxDQUFBLFlBQVksRUFDaEIsWUFBWSxBQUlULE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxFQUFFO0lBQ1gsUUFBUSxFQUFFLFFBQVE7SUFDbEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENyQ3BhdEIsT0FBTztJcUNxYU4sTUFBTSxFQUFFLElBQUk7SUFDWixJQUFJLEVBQUUsQ0FBQztJQUNQLEtBQUssRUFBRSxDQUFDO0lBQ1IsR0FBRyxFQUFFLENBQUM7SUFDTixNQUFNLEVBQUUsTUFBTSxHQUNmO0U5Qi9YSCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SThCc1c1QixBQTRCUSxzQkE1QmMsQUFXbkIsSUFBSyxDQUFBLFlBQVksRUFDaEIsWUFBWSxBQWdCUCxNQUFNLENBQUM7TUFDTixNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQTlCVCxBQW1DRSxzQkFuQ29CLENBbUNwQixjQUFjLENBQUM7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLE1BQU0sRUFBRSxRQUFRO0VBQ2hCLGNBQWMsRUFBRSxDQUFDLEdBaUNsQjtFQXhFSCxBQXlDSSxzQkF6Q2tCLENBbUNwQixjQUFjLENBTVosYUFBYSxDQUFDO0lBQ1osVUFBVSxFQUFFLE1BQU0sR0FDbkI7RUEzQ0wsQUE2Q0ksc0JBN0NrQixDQW1DcEIsY0FBYyxDQVVaLGFBQWEsQ0FBQztJQUNaLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFckNyYlgsYUFBYTtJcUNzYmIsS0FBSyxFckN2Y0QsT0FBTztJcUN3Y1gsYUFBYSxFQUFFLEdBQUc7SUFDbEIsV0FBVyxFQUFFLEdBQUcsR0FTakI7STlCamFELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNOEJzVzVCLEFBNkNJLHNCQTdDa0IsQ0FtQ3BCLGNBQWMsQ0FVWixhQUFhLENBQUM7UUFRVixTQUFTLEVBQUUsSUFBSTtRQUNmLFdBQVcsRUFBRSxJQUFJO1FwQy9IdkIsU0FBUyxFQUFFLDBEQUVWO1FBUUQsV0FBVyxFQUFFLDBEQUVaLEdvQ3dIRTtFcENqSUgsTUFBTSxFTWhTSSxTQUFTLEVBQUUsS0FBSyxPTmdTbEIsU0FBUyxFQUFFLE1BQU07SW9Dc0UzQixBQTZDSSxzQkE3Q2tCLENBbUNwQixjQUFjLENBVVosYUFBYSxDQUFDO01wQ2xIZCxTQUFTLEVBQUUsSUFBUyxHb0NnSW5CO0VwQ3RISCxNQUFNLEVNM1NJLFNBQVMsRUFBRSxLQUFLLE9OMlNsQixTQUFTLEVBQUUsTUFBTTtJb0MyRDNCLEFBNkNJLHNCQTdDa0IsQ0FtQ3BCLGNBQWMsQ0FVWixhQUFhLENBQUM7TXBDdkdkLFdBQVcsRUFBRSxJQUFTLEdvQ3FIckI7RUEzREwsQUE2REksc0JBN0RrQixDQW1DcEIsY0FBYyxDQTBCWixDQUFDLENBQUM7SUFDQSxXQUFXLEVyQ3BjWCxhQUFhLEdxQ3FjZDtFOUJyYUQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0k4QnNXNUIsQUFtQ0Usc0JBbkNvQixDQW1DcEIsY0FBYyxDQUFDO01BK0JYLFNBQVMsRUFBRSxJQUFJO01BQ2YsV0FBVyxFQUFFLElBQUk7TXBDNUlyQixTQUFTLEVBQUUsMERBRVY7TUFRRCxXQUFXLEVBQUUsMERBRVo7TW9DbUlHLGNBQWMsRUFBRSxDQUFDLEdBRXBCO0VwQzlJRCxNQUFNLEVNaFNJLFNBQVMsRUFBRSxLQUFLLE9OZ1NsQixTQUFTLEVBQUUsTUFBTTtJb0NzRTNCLEFBbUNFLHNCQW5Db0IsQ0FtQ3BCLGNBQWMsQ0FBQztNcEN4R2IsU0FBUyxFQUFFLElBQVMsR29DNklyQjtFcENuSUQsTUFBTSxFTTNTSSxTQUFTLEVBQUUsS0FBSyxPTjJTbEIsU0FBUyxFQUFFLE1BQU07SW9DMkQzQixBQW1DRSxzQkFuQ29CLENBbUNwQixjQUFjLENBQUM7TXBDN0ZiLFdBQVcsRUFBRSxJQUFTLEdvQ2tJdkI7O0FBeEVILEFBMEVFLHNCQTFFb0IsQ0EwRXBCLGVBQWUsQ0FBQztFQUNkLFdBQVcsRXJDbmROLFFBQVEsRUFBRSxVQUFVO0VxQ29kekIsU0FBUyxFQUFFLElBQUk7RUFDZixjQUFjLEVBQUUsU0FBUztFQUN6QixNQUFNLEVBQUUsUUFBUSxHQVFqQjtFOUI1YkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0k4QnNXNUIsQUEwRUUsc0JBMUVvQixDQTBFcEIsZUFBZSxDQUFDO01BT1osU0FBUyxFQUFFLElBQUk7TUFDZixXQUFXLEVBQUUsSUFBSTtNcEMzSnJCLFNBQVMsRUFBRSwwREFFVjtNQVFELFdBQVcsRUFBRSwwREFFWixHb0NtSkE7RXBDNUpELE1BQU0sRU1oU0ksU0FBUyxFQUFFLEtBQUssT05nU2xCLFNBQVMsRUFBRSxNQUFNO0lvQ3NFM0IsQUEwRUUsc0JBMUVvQixDQTBFcEIsZUFBZSxDQUFDO01wQy9JZCxTQUFTLEVBQUUsSUFBUyxHb0MySnJCO0VwQ2pKRCxNQUFNLEVNM1NJLFNBQVMsRUFBRSxLQUFLLE9OMlNsQixTQUFTLEVBQUUsTUFBTTtJb0MyRDNCLEFBMEVFLHNCQTFFb0IsQ0EwRXBCLGVBQWUsQ0FBQztNcENwSWQsV0FBVyxFQUFFLElBQVMsR29DZ0p2Qjs7QTlCNWJDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFOEIrYjVCLEFBQUEseUJBQXlCO0VBQ3pCLFlBQVksQ0FBQztJQUVULE9BQU8sRUFBRSxRQUFRLEdBaUZwQjs7QUFwRkQsQUFNRSx5QkFOdUIsQ0FNdkIsY0FBYztBQUxoQixZQUFZLENBS1YsY0FBYyxDQUFDO0VBQ2IsS0FBSyxFQUFFLElBQUk7RUFDWCxVQUFVLEVBQUUsS0FBSztFQUNqQixTQUFTLEVBQUUsS0FBSztFQUNoQixNQUFNLEVBQUUsYUFBYSxHQXFDdEI7RTlCOWVDLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztJOEIrYjVCLEFBTUUseUJBTnVCLENBTXZCLGNBQWM7SUFMaEIsWUFBWSxDQUtWLGNBQWMsQ0FBQztNQU9YLE1BQU0sRUFBRSxRQUFRO01BQ2hCLEtBQUssRUFBRSxJQUFJO01BQ1gsVUFBVSxFQUFFLElBQUk7TUFDaEIsU0FBUyxFQUFFLElBQUksR0ErQmxCO0VBL0NILEFBbUJJLHlCQW5CcUIsQ0FNdkIsY0FBYyxDQWFaLGNBQWM7RUFsQmxCLFlBQVksQ0FLVixjQUFjLENBYVosY0FBYyxDQUFDO0lwQzVUakIsUUFBUSxFQUFFLFFBQVE7SW9DOFRkLE1BQU0sRUFBRSxDQUFDLEdBeUJWO0lBOUNMLEFwQ3ZTRSx5Qm9DdVN1QixDQU12QixjQUFjLENBYVosY0FBYyxBcEMxVGYsT0FBTztJb0N3U1YsWUFBWSxDQUtWLGNBQWMsQ0FhWixjQUFjLEFwQzFUZixPQUFPLENBQUM7TUFDUCxPQUFPLEVBQUUsS0FBSztNQUNkLE9BQU8sRUFBRSxFQUFFO01BQ1gsS0FBSyxFQUFFLElBQUk7TUFDWCxXQUFXLEVBQUUsU0FBeUIsR0FDdkM7SU03SkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO004QitiNUIsQUFtQkkseUJBbkJxQixDQU12QixjQUFjLENBYVosY0FBYztNQWxCbEIsWUFBWSxDQUtWLGNBQWMsQ0FhWixjQUFjLENBQUM7UXBDNVRqQixRQUFRLEVBQUUsUUFBUSxHb0N1VmY7UUE5Q0wsQXBDdlNFLHlCb0N1U3VCLENBTXZCLGNBQWMsQ0FhWixjQUFjLEFwQzFUZixPQUFPO1FvQ3dTVixZQUFZLENBS1YsY0FBYyxDQWFaLGNBQWMsQXBDMVRmLE9BQU8sQ0FBQztVQUNQLE9BQU8sRUFBRSxLQUFLO1VBQ2QsT0FBTyxFQUFFLEVBQUU7VUFDWCxLQUFLLEVBQUUsSUFBSTtVQUNYLFdBQVcsRUFBRSxVQUF5QixHQUN2QztJb0NrU0gsQUEyQk0seUJBM0JtQixDQU12QixjQUFjLENBYVosY0FBYyxDQVFaLENBQUM7SUExQlAsWUFBWSxDQUtWLGNBQWMsQ0FhWixjQUFjLENBUVosQ0FBQyxDQUFDO01BQ0EsT0FBTyxFQUFFLEtBQUs7TUFDZCxNQUFNLEVBQUUsSUFBSTtNQUNaLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEtBQUssRUFBRSxJQUFJO01BQ1gsR0FBRyxFQUFFLENBQUM7TUFDTixJQUFJLEVBQUUsQ0FBQyxHQVlSO01BN0NQLEFBbUNRLHlCQW5DaUIsQ0FNdkIsY0FBYyxDQWFaLGNBQWMsQ0FRWixDQUFDLENBUUMsR0FBRztNQWxDWCxZQUFZLENBS1YsY0FBYyxDQWFaLGNBQWMsQ0FRWixDQUFDLENBUUMsR0FBRyxDQUFDO1FBQ0YsT0FBTyxFQUFFLEtBQUs7UUFDZCxNQUFNLEVBQUUsSUFBSTtRQUNaLFNBQVMsRUFBRSxJQUFJO1FBQ2YsS0FBSyxFQUFFLElBQUk7UUFDWCxVQUFVLEVBQUUsS0FBSyxHQUlsQjtROUI5ZEwsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO1U4QmtiaEMsQUFtQ1EseUJBbkNpQixDQU12QixjQUFjLENBYVosY0FBYyxDQVFaLENBQUMsQ0FRQyxHQUFHO1VBbENYLFlBQVksQ0FLVixjQUFjLENBYVosY0FBYyxDQVFaLENBQUMsQ0FRQyxHQUFHLENBQUM7WUFPQSxNQUFNLEVBQUUsSUFBSSxHQUVmOztBQTVDVCxBQWlERSx5QkFqRHVCLENBaUR2QixjQUFjO0FBaERoQixZQUFZLENBZ0RWLGNBQWMsQ0FBQztFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7RUFDaEIsTUFBTSxFQUFFLFdBQVc7RUFDbkIsVUFBVSxFQUFFLE1BQU0sR0FhbkI7RUFsRUgsQUF1REkseUJBdkRxQixDQWlEdkIsY0FBYyxDQU1aLENBQUM7RUF0REwsWUFBWSxDQWdEVixjQUFjLENBTVosQ0FBQyxDQUFDO0lBQ0EsV0FBVyxFckN2aEJYLGFBQWEsR3FDd2hCZDtFOUJ4ZkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0k4QitiNUIsQUFpREUseUJBakR1QixDQWlEdkIsY0FBYztJQWhEaEIsWUFBWSxDQWdEVixjQUFjLENBQUM7TUFXWCxVQUFVLEVBQUUsSUFBSTtNQUNoQixTQUFTLEVBQUUsSUFBSTtNQUNmLFdBQVcsRUFBRSxJQUFJO01wQ2hPckIsU0FBUyxFQUFFLDBEQUVWO01BUUQsV0FBVyxFQUFFLDBEQUVaLEdvQ3dOQTtFcENqT0QsTUFBTSxFTWhTSSxTQUFTLEVBQUUsS0FBSyxPTmdTbEIsU0FBUyxFQUFFLE1BQU07SW9DK0ozQixBQWlERSx5QkFqRHVCLENBaUR2QixjQUFjO0lBaERoQixZQUFZLENBZ0RWLGNBQWMsQ0FBQztNcEMvTWIsU0FBUyxFQUFFLElBQVMsR29DZ09yQjtFcEN0TkQsTUFBTSxFTTNTSSxTQUFTLEVBQUUsS0FBSyxPTjJTbEIsU0FBUyxFQUFFLE1BQU07SW9Db0ozQixBQWlERSx5QkFqRHVCLENBaUR2QixjQUFjO0lBaERoQixZQUFZLENBZ0RWLGNBQWMsQ0FBQztNcENwTWIsV0FBVyxFQUFFLElBQVMsR29DcU52Qjs7QUFsRUgsQUFvRUUseUJBcEV1QixDQW9FdkIsZUFBZTtBQXBFakIseUJBQXlCLENBcUV2QixlQUFlLENBQUMsQ0FBQztBQXBFbkIsWUFBWSxDQW1FVixlQUFlO0FBbkVqQixZQUFZLENBb0VWLGVBQWUsQ0FBQyxDQUFDLENBQUM7RUFDaEIsU0FBUyxFQUFFLElBQUk7RUFDZixjQUFjLEVBQUUsU0FBUztFQUN6QixNQUFNLEVBQUUsV0FBVztFQUNuQixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVyQzNpQk4sUUFBUSxFQUFFLFVBQVUsR3FDb2pCMUI7RTlCbGhCQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SThCK2I1QixBQW9FRSx5QkFwRXVCLENBb0V2QixlQUFlO0lBcEVqQix5QkFBeUIsQ0FxRXZCLGVBQWUsQ0FBQyxDQUFDO0lBcEVuQixZQUFZLENBbUVWLGVBQWU7SUFuRWpCLFlBQVksQ0FvRVYsZUFBZSxDQUFDLENBQUMsQ0FBQztNQVFkLFVBQVUsRUFBRSxJQUFJO01BQ2hCLFNBQVMsRUFBRSxJQUFJO01BQ2YsV0FBVyxFQUFFLElBQUk7TXBDalByQixTQUFTLEVBQUUsMERBRVY7TUFRRCxXQUFXLEVBQUUsMERBRVosR29DeU9BO0VwQ2xQRCxNQUFNLEVNaFNJLFNBQVMsRUFBRSxLQUFLLE9OZ1NsQixTQUFTLEVBQUUsTUFBTTtJb0MrSjNCLEFBb0VFLHlCQXBFdUIsQ0FvRXZCLGVBQWU7SUFwRWpCLHlCQUF5QixDQXFFdkIsZUFBZSxDQUFDLENBQUM7SUFwRW5CLFlBQVksQ0FtRVYsZUFBZTtJQW5FakIsWUFBWSxDQW9FVixlQUFlLENBQUMsQ0FBQyxDQUFDO01wQ25PaEIsU0FBUyxFQUFFLElBQVMsR29DaVByQjtFcEN2T0QsTUFBTSxFTTNTSSxTQUFTLEVBQUUsS0FBSyxPTjJTbEIsU0FBUyxFQUFFLE1BQU07SW9Db0ozQixBQW9FRSx5QkFwRXVCLENBb0V2QixlQUFlO0lBcEVqQix5QkFBeUIsQ0FxRXZCLGVBQWUsQ0FBQyxDQUFDO0lBcEVuQixZQUFZLENBbUVWLGVBQWU7SUFuRWpCLFlBQVksQ0FvRVYsZUFBZSxDQUFDLENBQUMsQ0FBQztNcEN4TmhCLFdBQVcsRUFBRSxJQUFTLEdvQ3NPdkI7O0FBR0gsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixNQUFNLEVBQUUsQ0FBQztFQUNULE9BQU8sRUFBRSxDQUFDLEdBMENYO0VBNUNELEFBS0kscUJBTGlCLENBSW5CLGdCQUFnQixDQUNkLGNBQWMsQ0FBQztJQUNiLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsTUFBTSxFQUFFLFFBQVE7SUFDaEIsVUFBVSxFQUFFLE1BQU0sR0FhbkI7SUF0QkwsQUFXTSxxQkFYZSxDQUluQixnQkFBZ0IsQ0FDZCxjQUFjLENBTVosQ0FBQyxDQUFDO01BQ0EsV0FBVyxFckNqa0JiLGFBQWEsR3FDa2tCWjtJOUJsaUJILE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNOEJxaEI1QixBQUtJLHFCQUxpQixDQUluQixnQkFBZ0IsQ0FDZCxjQUFjLENBQUM7UUFXWCxVQUFVLEVBQUUsSUFBSTtRQUNoQixTQUFTLEVBQUUsSUFBSTtRQUNmLFdBQVcsRUFBRSxJQUFJO1FwQzFRdkIsU0FBUyxFQUFFLDBEQUVWO1FBUUQsV0FBVyxFQUFFLDBEQUVaLEdvQ2tRRTtFcEMzUUgsTUFBTSxFTWhTSSxTQUFTLEVBQUUsS0FBSyxPTmdTbEIsU0FBUyxFQUFFLE1BQU07SW9DcVAzQixBQUtJLHFCQUxpQixDQUluQixnQkFBZ0IsQ0FDZCxjQUFjLENBQUM7TXBDelBmLFNBQVMsRUFBRSxJQUFTLEdvQzBRbkI7RXBDaFFILE1BQU0sRU0zU0ksU0FBUyxFQUFFLEtBQUssT04yU2xCLFNBQVMsRUFBRSxNQUFNO0lvQzBPM0IsQUFLSSxxQkFMaUIsQ0FJbkIsZ0JBQWdCLENBQ2QsY0FBYyxDQUFDO01wQzlPZixXQUFXLEVBQUUsSUFBUyxHb0MrUHJCO0VBdEJMLEFBd0JJLHFCQXhCaUIsQ0FJbkIsZ0JBQWdCLENBb0JkLGVBQWUsQ0FBQztJQUNkLFdBQVcsRXJDaGxCUixRQUFRLEVBQUUsVUFBVTtJcUNpbEJ2QixTQUFTLEVBQUUsSUFBSTtJQUNmLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFVBQVUsRUFBRSxNQUFNLEdBU25CO0k5QjNqQkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO004QnFoQjVCLEFBd0JJLHFCQXhCaUIsQ0FJbkIsZ0JBQWdCLENBb0JkLGVBQWUsQ0FBQztRQVFaLFVBQVUsRUFBRSxJQUFJO1FBQ2hCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsV0FBVyxFQUFFLElBQUk7UXBDMVJ2QixTQUFTLEVBQUUsMERBRVY7UUFRRCxXQUFXLEVBQUUsMERBRVosR29Da1JFO0VwQzNSSCxNQUFNLEVNaFNJLFNBQVMsRUFBRSxLQUFLLE9OZ1NsQixTQUFTLEVBQUUsTUFBTTtJb0NxUDNCLEFBd0JJLHFCQXhCaUIsQ0FJbkIsZ0JBQWdCLENBb0JkLGVBQWUsQ0FBQztNcEM1UWhCLFNBQVMsRUFBRSxJQUFTLEdvQzBSbkI7RXBDaFJILE1BQU0sRU0zU0ksU0FBUyxFQUFFLEtBQUssT04yU2xCLFNBQVMsRUFBRSxNQUFNO0lvQzBPM0IsQUF3QkkscUJBeEJpQixDQUluQixnQkFBZ0IsQ0FvQmQsZUFBZSxDQUFDO01wQ2pRaEIsV0FBVyxFQUFFLElBQVMsR29DK1FyQjtFQXRDTCxBQXdDSSxxQkF4Q2lCLENBSW5CLGdCQUFnQixDQW9DZCxJQUFJLENBQUM7SUFDSCxXQUFXLEVBQUUsR0FBRyxHQUNqQjs7QUFJTCxBQUFBLG1CQUFtQixDQUFDO0VBQ2xCLE1BQU0sRUFBRSxNQUFNO0VBQ2QsT0FBTyxFQUFFLE1BQU07RUFDZixVQUFVLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JDam5CaEIsT0FBTyxHcUM0ckJiO0U5QmpwQkcsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO0k4Qm1rQjVCLEFBQUEsbUJBQW1CLENBQUM7TUFNaEIsTUFBTSxFQUFFLENBQUM7TUFDVCxPQUFPLEVBQUUsQ0FBQztNQUNWLFVBQVUsRUFBRSxJQUFJLEdBc0VuQjtFQTlFRCxBQVdFLG1CQVhpQixDQVdqQixVQUFVLENBQUM7SUFDVCxTQUFTLEVBQUUsR0FBRztJQUNkLEtBQUssRUFBRSxJQUFJO0lBQ1gsV0FBVyxFQUFFLElBQUksR0FPbEI7STlCeGxCQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7TThCbWtCNUIsQUFXRSxtQkFYaUIsQ0FXakIsVUFBVSxDQUFDO1FBTVAsTUFBTSxFQUFFLFFBQVE7UUFDaEIsS0FBSyxFQUFFLElBQUk7UUFDWCxTQUFTLEVBQUUsSUFBSSxHQUVsQjtFQXJCSCxBQXVCRSxtQkF2QmlCLENBdUJqQixnQkFBZ0IsQ0FBQztJQUNmLFNBQVMsRUFBRSxHQUFHLEdBcURmO0k5QmhwQkMsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO004Qm1rQjVCLEFBdUJFLG1CQXZCaUIsQ0F1QmpCLGdCQUFnQixDQUFDO1FBSWIsU0FBUyxFQUFFLElBQUk7UUFDZixNQUFNLEVBQUUsTUFBTSxHQWlEakI7SUE3RUgsQUErQkksbUJBL0JlLENBdUJqQixnQkFBZ0IsQ0FRZCxjQUFjLENBQUM7TUFDYixTQUFTLEVBQUUsSUFBSTtNQUNmLFdBQVcsRUFBRSxHQUFHO01BQ2hCLE1BQU0sRUFBRSxLQUFLLEdBYWQ7TUEvQ0wsQUFvQ00sbUJBcENhLENBdUJqQixnQkFBZ0IsQ0FRZCxjQUFjLENBS1osQ0FBQyxDQUFDO1FBQ0EsV0FBVyxFQUFFLGFBQWEsR0FDM0I7TTlCem1CSCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UThCbWtCNUIsQUErQkksbUJBL0JlLENBdUJqQixnQkFBZ0IsQ0FRZCxjQUFjLENBQUM7VUFVWCxTQUFTLEVBQUUsSUFBSTtVQUNmLFdBQVcsRUFBRSxJQUFJO1VwQ2hWdkIsU0FBUyxFQUFFLDBEQUVWO1VBUUQsV0FBVyxFQUFFLDBEQUVaO1VvQ3VVSyxNQUFNLEVBQUUsUUFBUSxHQUVuQjtFcENsVkgsTUFBTSxFTWhTSSxTQUFTLEVBQUUsS0FBSyxPTmdTbEIsU0FBUyxFQUFFLE1BQU07SW9DbVMzQixBQStCSSxtQkEvQmUsQ0F1QmpCLGdCQUFnQixDQVFkLGNBQWMsQ0FBQztNcENqVWYsU0FBUyxFQUFFLElBQVMsR29DaVZuQjtFcEN2VUgsTUFBTSxFTTNTSSxTQUFTLEVBQUUsS0FBSyxPTjJTbEIsU0FBUyxFQUFFLE1BQU07SW9Dd1IzQixBQStCSSxtQkEvQmUsQ0F1QmpCLGdCQUFnQixDQVFkLGNBQWMsQ0FBQztNcEN0VGYsV0FBVyxFQUFFLElBQVMsR29Dc1VyQjtJQS9DTCxBQWlESSxtQkFqRGUsQ0F1QmpCLGdCQUFnQixDQTBCZCxlQUFlLENBQUM7TUFDZCxXQUFXLEVyQ3ZwQlIsUUFBUSxFQUFFLFVBQVU7TXFDd3BCdkIsU0FBUyxFQUFFLElBQUk7TUFDZixjQUFjLEVBQUUsU0FBUztNQUN6QixNQUFNLEVBQUUsQ0FBQyxHQVNWO005QmpvQkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1E4Qm1rQjVCLEFBaURJLG1CQWpEZSxDQXVCakIsZ0JBQWdCLENBMEJkLGVBQWUsQ0FBQztVQU9aLFNBQVMsRUFBRSxJQUFJO1VBQ2YsV0FBVyxFQUFFLElBQUk7VXBDL1Z2QixTQUFTLEVBQUUsMERBRVY7VUFRRCxXQUFXLEVBQUUsMERBRVo7VW9Dc1ZLLE1BQU0sRUFBRSxRQUFRLEdBRW5CO0VwQ2pXSCxNQUFNLEVNaFNJLFNBQVMsRUFBRSxLQUFLLE9OZ1NsQixTQUFTLEVBQUUsTUFBTTtJb0NtUzNCLEFBaURJLG1CQWpEZSxDQXVCakIsZ0JBQWdCLENBMEJkLGVBQWUsQ0FBQztNcENuVmhCLFNBQVMsRUFBRSxJQUFTLEdvQ2dXbkI7RXBDdFZILE1BQU0sRU0zU0ksU0FBUyxFQUFFLEtBQUssT04yU2xCLFNBQVMsRUFBRSxNQUFNO0lvQ3dSM0IsQUFpREksbUJBakRlLENBdUJqQixnQkFBZ0IsQ0EwQmQsZUFBZSxDQUFDO01wQ3hVaEIsV0FBVyxFQUFFLElBQVMsR29DcVZyQjtJQTlETCxBQWdFSSxtQkFoRWUsQ0F1QmpCLGdCQUFnQixDQXlDZCxnQkFBZ0IsQ0FBQztNQUNmLFNBQVMsRUFBRSxJQUFJO01BQ2YsS0FBSyxFckM5cUJDLE9BQU87TXFDK3FCYixNQUFNLEVBQUUsQ0FBQyxHQVNWO005Qi9vQkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO1E4Qm1rQjVCLEFBZ0VJLG1CQWhFZSxDQXVCakIsZ0JBQWdCLENBeUNkLGdCQUFnQixDQUFDO1VBTWIsU0FBUyxFQUFFLElBQUk7VUFDZixXQUFXLEVBQUUsSUFBSTtVcEM3V3ZCLFNBQVMsRUFBRSwwREFFVjtVQVFELFdBQVcsRUFBRSwwREFFWjtVb0NvV0ssTUFBTSxFQUFFLFFBQVEsR0FFbkI7RXBDL1dILE1BQU0sRU1oU0ksU0FBUyxFQUFFLEtBQUssT05nU2xCLFNBQVMsRUFBRSxNQUFNO0lvQ21TM0IsQUFnRUksbUJBaEVlLENBdUJqQixnQkFBZ0IsQ0F5Q2QsZ0JBQWdCLENBQUM7TXBDbFdqQixTQUFTLEVBQUUsSUFBUyxHb0M4V25CO0VwQ3BXSCxNQUFNLEVNM1NJLFNBQVMsRUFBRSxLQUFLLE9OMlNsQixTQUFTLEVBQUUsTUFBTTtJb0N3UjNCLEFBZ0VJLG1CQWhFZSxDQXVCakIsZ0JBQWdCLENBeUNkLGdCQUFnQixDQUFDO01wQ3ZWakIsV0FBVyxFQUFFLElBQVMsR29DbVdyQjs7QUFJTCxBQUNFLHdCQURzQixDQUN0QixjQUFjLENBQUM7RUFDYixLQUFLLEVBQUUsSUFBSTtFQUNYLFNBQVMsRUFBRSxHQUFHO0VBQ2QsU0FBUyxFQUFFLEdBQUcsR0E2Q2Y7RTlCcHNCQyxNQUFNLEVBQUUsU0FBUyxFQUFFLE1BQU07SThCbXBCN0IsQUFDRSx3QkFEc0IsQ0FDdEIsY0FBYyxDQUFDO01BTVgsU0FBUyxFQUFFLEtBQUs7TUFDaEIsU0FBUyxFQUFFLEtBQUssR0F5Q25CO0VBakRILEFBV0ksd0JBWG9CLENBQ3RCLGNBQWMsQ0FVWixjQUFjLENBQUM7SUFDYixNQUFNLEVBQUUsQ0FBQztJcEN6Z0JiLFFBQVEsRUFBRSxRQUFRLEdvQzZpQmY7SUFoREwsQXBDM2ZFLHdCb0MyZnNCLENBQ3RCLGNBQWMsQ0FVWixjQUFjLEFwQ3RnQmYsT0FBTyxDQUFDO01BQ1AsT0FBTyxFQUFFLEtBQUs7TUFDZCxPQUFPLEVBQUUsRUFBRTtNQUNYLEtBQUssRUFBRSxJQUFJO01BQ1gsV0FBVyxFQUFFLFNBQXlCLEdBQ3ZDO0lvQ3NmSCxBQWVNLHdCQWZrQixDQUN0QixjQUFjLENBVVosY0FBYyxDQUlaLENBQUMsQ0FBQztNQUNBLE9BQU8sRUFBRSxLQUFLO01BQ2QsTUFBTSxFQUFFLElBQUk7TUFDWixRQUFRLEVBQUUsUUFBUTtNQUNsQixLQUFLLEVBQUUsSUFBSTtNQUNYLEdBQUcsRUFBRSxDQUFDO01BQ04sSUFBSSxFQUFFLENBQUMsR0EwQlI7TUEvQ1AsQUF1QlEsd0JBdkJnQixDQUN0QixjQUFjLENBVVosY0FBYyxDQUlaLENBQUMsQ0FRQyxHQUFHLENBQUM7UUFDRixPQUFPLEVBQUUsS0FBSztRQUNkLE1BQU0sRUFBRSxJQUFJO1FBQ1osU0FBUyxFQUFFLElBQUk7UUFDZixLQUFLLEVBQUUsSUFBSTtRQUNYLFVBQVUsRUFBRSxLQUFLLEdBSWxCO1E5QnRxQkwsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTO1U4QnNvQmhDLEFBdUJRLHdCQXZCZ0IsQ0FDdEIsY0FBYyxDQVVaLGNBQWMsQ0FJWixDQUFDLENBUUMsR0FBRyxDQUFDO1lBT0EsTUFBTSxFQUFFLElBQUksR0FFZjtNQWhDVCxBQWlDUSx3QkFqQ2dCLENBQ3RCLGNBQWMsQ0FVWixjQUFjLENBSVosQ0FBQyxDQWtCQyxTQUFTLENBQUM7UXBDOWNoQixRQUFRLEVBQUUsUUFBUTtRQUNsQixJQUFJLEVBQUUsR0FBRztRQUNULGlCQUFpQixFQUFFLGdCQUFnQixDQUFDLGdCQUFnQjtRQUNwRCxjQUFjLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCO1FBQ2pELGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxnQkFBZ0I7UUFDaEQsWUFBWSxFQUFFLGdCQUFnQixDQUFDLGdCQUFnQjtRQUMvQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsZ0JBQWdCO1FBQzVDLEdBQUcsRUFBRSxHQUFHO1FBQ1IsS0FBSyxFQUFFLElBQUk7UW9Dd2NILFFBQVEsRUFBRSxRQUFRO1FBQ2xCLGdCQUFnQixFQUFFLDhDQUE4QztRQUNoRSxLQUFLLEVBQUUsR0FBRztRQUNWLE1BQU0sRUFBRSxNQUFNO1FBQ2QsZUFBZSxFQUFFLFNBQVM7UUFDMUIsT0FBTyxFQUFFLENBQUM7UUFDVixLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxJQUFJO1FBQ1YsT0FBTyxFQUFFLEtBQUs7UUFDZCxPQUFPLEVBQUUsQ0FBQztRQUNWLE9BQU8sRUFBRSxFQUFFLEdBQ1o7O0FBOUNULEFBbURFLHdCQW5Ec0IsQ0FtRHRCLGdCQUFnQixDQUFDO0VBQ2YsWUFBWSxFQUFFLElBQUk7RUFDbEIsV0FBVyxFQUFFLENBQUMsR0FzRGY7RTlCOXZCQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7SThCbXBCNUIsQUFtREUsd0JBbkRzQixDQW1EdEIsZ0JBQWdCLENBQUM7TUFLYixZQUFZLEVBQUUsSUFBSTtNQUNsQixXQUFXLEVBQUUsSUFBSSxHQWtEcEI7RUEzR0gsQUE0REksd0JBNURvQixDQW1EdEIsZ0JBQWdCLENBU2QsY0FBYyxDQUFDO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsR0FBRztJQUNoQixNQUFNLEVBQUUsS0FBSyxHQWFkO0lBNUVMLEFBaUVNLHdCQWpFa0IsQ0FtRHRCLGdCQUFnQixDQVNkLGNBQWMsQ0FLWixDQUFDLENBQUM7TUFDQSxXQUFXLEVBQUUsYUFBYSxHQUMzQjtJOUJ0dEJILE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztNOEJtcEI1QixBQTRESSx3QkE1RG9CLENBbUR0QixnQkFBZ0IsQ0FTZCxjQUFjLENBQUM7UUFVWCxTQUFTLEVBQUUsSUFBSTtRQUNmLFdBQVcsRUFBRSxJQUFJO1FwQzdidkIsU0FBUyxFQUFFLDBEQUVWO1FBUUQsV0FBVyxFQUFFLDBEQUVaO1FvQ29iSyxNQUFNLEVBQUUsUUFBUSxHQUVuQjtFcEMvYkgsTUFBTSxFTWhTSSxTQUFTLEVBQUUsS0FBSyxPTmdTbEIsU0FBUyxFQUFFLE1BQU07SW9DbVgzQixBQTRESSx3QkE1RG9CLENBbUR0QixnQkFBZ0IsQ0FTZCxjQUFjLENBQUM7TXBDOWFmLFNBQVMsRUFBRSxJQUFTLEdvQzhibkI7RXBDcGJILE1BQU0sRU0zU0ksU0FBUyxFQUFFLEtBQUssT04yU2xCLFNBQVMsRUFBRSxNQUFNO0lvQ3dXM0IsQUE0REksd0JBNURvQixDQW1EdEIsZ0JBQWdCLENBU2QsY0FBYyxDQUFDO01wQ25hZixXQUFXLEVBQUUsSUFBUyxHb0NtYnJCO0VBNUVMLEFBOEVJLHdCQTlFb0IsQ0FtRHRCLGdCQUFnQixDQTJCZCxlQUFlLENBQUM7SUFDZCxXQUFXLEVyQ3B3QlIsUUFBUSxFQUFFLFVBQVU7SXFDcXdCdkIsU0FBUyxFQUFFLElBQUk7SUFDZixjQUFjLEVBQUUsU0FBUztJQUN6QixNQUFNLEVBQUUsQ0FBQyxHQVNWO0k5Qjl1QkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO004Qm1wQjVCLEFBOEVJLHdCQTlFb0IsQ0FtRHRCLGdCQUFnQixDQTJCZCxlQUFlLENBQUM7UUFPWixTQUFTLEVBQUUsSUFBSTtRQUNmLFdBQVcsRUFBRSxJQUFJO1FwQzVjdkIsU0FBUyxFQUFFLDBEQUVWO1FBUUQsV0FBVyxFQUFFLDBEQUVaO1FvQ21jSyxNQUFNLEVBQUUsUUFBUSxHQUVuQjtFcEM5Y0gsTUFBTSxFTWhTSSxTQUFTLEVBQUUsS0FBSyxPTmdTbEIsU0FBUyxFQUFFLE1BQU07SW9DbVgzQixBQThFSSx3QkE5RW9CLENBbUR0QixnQkFBZ0IsQ0EyQmQsZUFBZSxDQUFDO01wQ2hjaEIsU0FBUyxFQUFFLElBQVMsR29DNmNuQjtFcENuY0gsTUFBTSxFTTNTSSxTQUFTLEVBQUUsS0FBSyxPTjJTbEIsU0FBUyxFQUFFLE1BQU07SW9Dd1czQixBQThFSSx3QkE5RW9CLENBbUR0QixnQkFBZ0IsQ0EyQmQsZUFBZSxDQUFDO01wQ3JiaEIsV0FBVyxFQUFFLElBQVMsR29Da2NyQjtFQTNGTCxBQTZGSSx3QkE3Rm9CLENBbUR0QixnQkFBZ0IsQ0EwQ2QsZ0JBQWdCLENBQUM7SUFDZixTQUFTLEVBQUUsSUFBSTtJQUNmLEtBQUssRXJDM3hCQyxPQUFPO0lxQzR4QmIsTUFBTSxFQUFFLENBQUM7SUFDVCxPQUFPLEVBQUUsSUFBSSxHQVNkO0k5Qjd2QkQsTUFBTSxFQUFFLFNBQVMsRUFBRSxLQUFLO004Qm1wQjVCLEFBNkZJLHdCQTdGb0IsQ0FtRHRCLGdCQUFnQixDQTBDZCxnQkFBZ0IsQ0FBQztRQU9iLE9BQU8sRUFBRSxLQUFLO1FBQ2QsU0FBUyxFQUFFLElBQUk7UUFDZixXQUFXLEVBQUUsSUFBSTtRcEM1ZHZCLFNBQVMsRUFBRSwwREFFVjtRQVFELFdBQVcsRUFBRSwwREFFWixHb0NvZEU7RXBDN2RILE1BQU0sRU1oU0ksU0FBUyxFQUFFLEtBQUssT05nU2xCLFNBQVMsRUFBRSxNQUFNO0lvQ21YM0IsQUE2Rkksd0JBN0ZvQixDQW1EdEIsZ0JBQWdCLENBMENkLGdCQUFnQixDQUFDO01wQy9jakIsU0FBUyxFQUFFLElBQVMsR29DNGRuQjtFcENsZEgsTUFBTSxFTTNTSSxTQUFTLEVBQUUsS0FBSyxPTjJTbEIsU0FBUyxFQUFFLE1BQU07SW9Dd1czQixBQTZGSSx3QkE3Rm9CLENBbUR0QixnQkFBZ0IsQ0EwQ2QsZ0JBQWdCLENBQUM7TXBDcGNqQixXQUFXLEVBQUUsSUFBUyxHb0NpZHJCOztBOUI3dkJELE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztFOEJpd0I1QixBQUFBLFlBQVksQ0FBQztJQUVULE9BQU8sRUFBRSxDQUFDLEdBRWI7O0FBQ0QsQUFBQSx5QkFBeUIsQ0FBQztFQUN4QixnQkFBZ0IsRXJDbnpCTCxPQUFPO0VxQ296QmxCLE9BQU8sRUFBRSxjQUFjLEdBcUN4QjtFOUJoeUJHLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztJOEJ5dkJoQyxBQUFBLHlCQUF5QixDQUFDO01BSXRCLFVBQVUsRUFBRSxNQUFNLEdBbUNyQjtFQXZDRCxBQU1FLHlCQU51QixDQU12QixXQUFXLENBQUMsRUFBRSxDQUFDO0lBQ2IsY0FBYyxFQUFFLFNBQVM7SUFDekIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsU0FBUyxFQUFFLElBQUk7SUFDZixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQVhILEFBWUUseUJBWnVCLENBWXZCLFNBQVMsQ0FBQztJQUNSLFdBQVcsRXJDcnpCTixRQUFRLEVBQUUsVUFBVTtJcUNzekJ6QixjQUFjLEVBQUUsU0FBUztJQUN6QixXQUFXLEVBQUUsR0FBRyxHQUNqQjtFQWhCSCxBQWlCRSx5QkFqQnVCLENBaUJ2QixPQUFPLENBQUM7SUFDTixTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VBckJILEFBc0JFLHlCQXRCdUIsQ0FzQnZCLFNBQVMsQ0FBQztJQUNSLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JDdjBCYixPQUFPLEdxQ20xQlo7STlCL3hCQyxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVM7TThCeXZCaEMsQUFzQkUseUJBdEJ1QixDQXNCdkIsU0FBUyxDQUFDO1FBT04sUUFBUSxFQUFFLFFBQVE7UUFDbEIsTUFBTSxFQUFFLEtBQUs7UUFDYixLQUFLLEVBQUUsS0FBSztRQUNaLFVBQVUsRUFBRSxJQUFJLEdBTW5CO0lBdENILEFBbUNJLHlCQW5DcUIsQ0FzQnZCLFNBQVMsQUFhTixNQUFNLENBQUM7TUFDTixnQkFBZ0IsRUFBRSxXQUFXLEdBQzlCOztBdENqMkJMLEFBQUEsbUJBQW1CLENBQUM7RUFDbEIsU0FBUyxFQUFFLHlCQUF5QixHQXNTckM7RUF2U0QsQUFhRSxtQkFiaUIsQ0FhakIsSUFBSSxDQUFDO0lBQ0gsV0FBVyxFQUFFLDZCQUE2QjtJQUMxQyxjQUFjLEVBQUUsTUFBTTtJQUN0QixPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFQVZVLHlCQUF5QjtJQVd4QyxnQkFBZ0IsRUFsQkYsd0JBQXdCO0lBbUJ0QyxZQUFZLEVBbkJFLHdCQUF3QjtJQW9CdEMsT0FBTyxFQUFFLFNBQVMsR0FLbkI7SUEzQkgsQUF1QkksbUJBdkJlLENBYWpCLElBQUksQUFVRCxNQUFNLENBQUM7TUFDTixnQkFBZ0IsRUF0Qkosd0JBQXdCO01BdUJwQyxLQUFLLEVBaEJRLHlCQUF5QixHQWlCdkM7RUExQkwsQUE0QkUsbUJBNUJpQixDQTRCakIsQ0FBQyxBQUFBLElBQUssQ0FBQSxJQUFJLEVBQUU7SUFDVixLQUFLLEVBckJXLHlCQUF5QixDQXFCakIsVUFBVTtJQUNsQyxlQUFlLEVBQUUsU0FBUyxHQUMzQjtFQS9CSCxBQWdDRSxtQkFoQ2lCLENBZ0NqQixjQUFjLENBQUM7SUFDYixXQUFXLEVBQUUsNkJBQTZCO0lBQzFDLEtBQUssRUFoQ1Msd0JBQXdCO0lBaUN0QyxXQUFXLEVBQUUsR0FBRztJQUNoQixTQUFTLEVBQUUsSUFBSTtJQUNmLFNBQVMsRUFBRSxJQUFJO0lBQ2YsY0FBYyxFQUFFLE1BQU07SUFDdEIsYUFBYSxFQUFFLElBQUksR0FDcEI7RUF4Q0gsQUF5Q0UsbUJBekNpQixDQXlDakIsaUJBQWlCLENBQUM7SUFDaEIsV0FBVyxFQUFFLDZCQUE2QjtJQUMxQyxXQUFXLEVBQUUsR0FBRztJQUNoQixTQUFTLEVBQUUsSUFBSTtJQUNmLEtBQUssRUEzQ1Msd0JBQXdCO0lBNEN0QyxhQUFhLEVBQUUsR0FBRyxHQUNuQjtFQS9DSCxBQWdERSxtQkFoRGlCLENBZ0RqQixVQUFVLENBQUM7SUFDVCxPQUFPLEVBQUUsVUFBVSxHQVNwQjtJQTFESCxBQWtESSxtQkFsRGUsQ0FnRGpCLFVBQVUsQ0FFUixnQkFBZ0IsQ0FBQztNQUNmLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxDQUFDO01BQ04sSUFBSSxFQUFFLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osVUFBVSxFQUFFLEtBQUssR0FDbEI7RUF6REwsQUE0REUsbUJBNURpQixDQTREakIsS0FBSyxDQUFDO0lBQ0osUUFBUSxFQUFFLFFBQVE7SUFDbEIsV0FBVyxFQUFFLEtBQUs7SUFDbEIsY0FBYyxFQUFFLEtBQUssR0E2RXRCO0lBNUlILEFBZ0VJLG1CQWhFZSxDQTREakIsS0FBSyxDQUlILFFBQVEsQ0FBQztNQUNQLFFBQVEsRUFBRSxRQUFRO01BQ2xCLEdBQUcsRUFBRSxDQUFDO01BQ04sSUFBSSxFQUFFLENBQUM7TUFDUCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJLEdBT2I7TUE1RUwsQUFzRU0sbUJBdEVhLENBNERqQixLQUFLLENBSUgsUUFBUSxDQU1OLEdBQUcsQ0FBQztRQUNGLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLElBQUk7UUFDWixVQUFVLEVBQUUsS0FBSztRQUNqQixlQUFlLEVBQUUsT0FBTyxHQUN6QjtJQTNFUCxBQThFTSxtQkE5RWEsQ0E0RGpCLEtBQUssQ0FpQkgsYUFBYSxDQUNYLFNBQVMsQ0FBQztNQUNSLFdBQVcsRUFBRSw2QkFBNkI7TUFDMUMsV0FBVyxFQUFFLEdBQUc7TUFDaEIsU0FBUyxFQUFFLEtBQUs7TUFDaEIsS0FBSyxFQWhGSyx3QkFBd0I7TUFpRmxDLGNBQWMsRUFBRSxTQUFTO01BQ3pCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO0lBckZQLEFBc0ZNLG1CQXRGYSxDQTREakIsS0FBSyxDQWlCSCxhQUFhLENBU1gsYUFBYSxDQUFDO01BQ1osV0FBVyxFQUFFLDJCQUEyQjtNQUN4QyxTQUFTLEVBQUUsR0FBRztNQUNkLFNBQVMsRUFBRSxLQUFLO01BQ2hCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLEtBQUssRUF0Rk0seUJBQXlCO01BdUZwQyxhQUFhLEVBQUUsSUFBSTtNQUNuQixXQUFXLEVBQUUsR0FBRyxHQU1qQjtNUTdDSCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7UVJ0RDVCLEFBc0ZNLG1CQXRGYSxDQTREakIsS0FBSyxDQWlCSCxhQUFhLENBU1gsYUFBYSxDQUFDO1VBU1YsU0FBUyxFQUFFLEtBQUs7VUFDaEIsV0FBVyxFQUFFLElBQUk7VUFDakIsWUFBWSxFQUFFLElBQUksR0FFckI7SUFuR1AsQUFvR00sbUJBcEdhLENBNERqQixLQUFLLENBaUJILGFBQWEsQ0F1QlgsZ0JBQWdCLENBQUM7TUFDZixPQUFPLEVBQUUsSUFBSTtNQUNiLGVBQWUsRUFBRSxNQUFNO01BQ3ZCLFdBQVcsRUFBRSxNQUFNO01BQ25CLFdBQVcsRUFBRSw2QkFBNkI7TUFDMUMsU0FBUyxFQUFFLEtBQUs7TUFDaEIsY0FBYyxFQUFFLFNBQVM7TUFDekIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsYUFBYSxFQUFFLElBQUk7TUFDbkIsV0FBVyxFQUFFLElBQUk7TUFDakIsWUFBWSxFQUFFLElBQUk7TUFDbEIsU0FBUyxFQUFFLEtBQUssR0FvQmpCO01BbklQLEFBZ0hRLG1CQWhIVyxDQTREakIsS0FBSyxDQWlCSCxhQUFhLENBdUJYLGdCQUFnQixDQVlkLEdBQUcsQ0FBQztRQUNGLEtBQUssRUE1R0kseUJBQXlCLEdBc0huQztRQTNIVCxBQWtIVSxtQkFsSFMsQ0E0RGpCLEtBQUssQ0FpQkgsYUFBYSxDQXVCWCxnQkFBZ0IsQ0FZZCxHQUFHLEFBRUEsTUFBTSxDQUFDO1VBQ04sT0FBTyxFQUFFLE9BQU87VUFDaEIsTUFBTSxFQUFFLEtBQUssR0FDZDtRQXJIWCxBQXVIWSxtQkF2SE8sQ0E0RGpCLEtBQUssQ0FpQkgsYUFBYSxDQXVCWCxnQkFBZ0IsQ0FZZCxHQUFHLEFBTUEsVUFBVSxBQUNSLE1BQU0sQ0FBQTtVQUNMLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7TUF6SGIsQUE0SFEsbUJBNUhXLENBNERqQixLQUFLLENBaUJILGFBQWEsQ0F1QlgsZ0JBQWdCLENBd0JkLENBQUMsQ0FBQztRQUNBLEtBQUssRUEzSEcsd0JBQXdCO1FBNEhoQyxlQUFlLEVBQUUsSUFBSSxHQUl0QjtRQWxJVCxBQStIVSxtQkEvSFMsQ0E0RGpCLEtBQUssQ0FpQkgsYUFBYSxDQXVCWCxnQkFBZ0IsQ0F3QmQsQ0FBQyxBQUdFLElBQUssQ0FBQSxJQUFJLEVBQUU7VUFDVixLQUFLLEVBcEhVLDBCQUEwQixDQW9IVixVQUFVLEdBQzFDO0lBaklYLEFBb0lNLG1CQXBJYSxDQTREakIsS0FBSyxDQWlCSCxhQUFhLENBdURYLElBQUksQ0FBQztNQUNILE9BQU8sRUFBRSxTQUFTO01BQ2xCLGFBQWEsRUFBRSxjQUFjLEdBSTlCO01BMUlQLEFBdUlRLG1CQXZJVyxDQTREakIsS0FBSyxDQWlCSCxhQUFhLENBdURYLElBQUksQUFHRCxPQUFPLENBQUE7UUFDTixnQkFBZ0IsRUFBRSxXQUFXLEdBQzlCO0VBeklULEFBNklFLG1CQTdJaUIsQ0E2SWpCLGFBQWEsQ0FBQztJQUNaLGdCQUFnQixFQTNJQSx5QkFBeUI7SUE0SXpDLFdBQVcsRUFBRSxJQUFJLEdBdUpsQjtJQXRTSCxBQWdKSSxtQkFoSmUsQ0E2SWpCLGFBQWEsQ0FHWCxVQUFVLENBQUM7TUFDVCxTQUFTLEVBQUMsaUJBQUMsR0FvSlo7TUFyU0wsQUFtSlEsbUJBbkpXLENBNklqQixhQUFhLENBR1gsVUFBVSxDQUVSLFFBQVEsQ0FDTixrQkFBa0IsQ0FBQztRQUNqQixXQUFXLEVBQUUsNkJBQTZCO1FBQzFDLFdBQVcsRUFBRSxHQUFHO1FBQ2hCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsS0FBSyxFQWpKQSx5QkFBeUIsR0FrSi9CO01BeEpULEFBMkpRLG1CQTNKVyxDQTZJakIsYUFBYSxDQUdYLFVBQVUsQ0FVUixhQUFhLENBQ1gsUUFBUSxDQUFDO1FBQ1AsV0FBVyxFQUFFLElBQUksR0FDbEI7TUE3SlQsQUErSk0sbUJBL0phLENBNklqQixhQUFhLENBR1gsVUFBVSxDQWVSLFlBQVksQ0FBQztRQUNYLEtBQUssRUExSkUseUJBQXlCO1FBMkpoQyxTQUFTLEVBQUUsSUFBSTtRQUNmLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFdBQVcsRUFBRSxJQUFJLEdBS2xCO1FRckdILE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUztVUm5FaEMsQUErSk0sbUJBL0phLENBNklqQixhQUFhLENBR1gsVUFBVSxDQWVSLFlBQVksQ0FBQztZQU1ULFNBQVMsRUFBRSxJQUFJO1lBQ2YsV0FBVyxFQUFFLEdBQUcsR0FFbkI7TUF4S1AsQUF5S00sbUJBekthLENBNklqQixhQUFhLENBR1gsVUFBVSxDQXlCUixXQUFXLENBQUM7UUFDVixnQkFBZ0IsRUFoS0YseUJBQXlCO1FBaUt2QyxPQUFPLEVBQUUsU0FBUztRQUNsQixNQUFNLEVBQUUsTUFBTTtRQUNkLEtBQUssRUF2S0UseUJBQXlCLEdBZ0xqQztRQXRMUCxBQStLVSxtQkEvS1MsQ0E2SWpCLGFBQWEsQ0FHWCxVQUFVLENBeUJSLFdBQVcsQ0FLVCxnQkFBZ0IsQUFDYixJQUFLLENBQUEsV0FBVyxFQUFFO1VBQ2pCLGFBQWEsRUFBRSxJQUFJLEdBQ3BCO1FBakxYLEFBa0xVLG1CQWxMUyxDQTZJakIsYUFBYSxDQUdYLFVBQVUsQ0F5QlIsV0FBVyxDQUtULGdCQUFnQixDQUlkLFNBQVMsQ0FBQztVQUNSLEtBQUssRUFqTEMsd0JBQXdCLEdBa0wvQjtNQXBMWCxBQXVMTSxtQkF2TGEsQ0E2SWpCLGFBQWEsQ0FHWCxVQUFVLENBdUNSLG1CQUFtQixDQUFDO1FBQ2xCLGdCQUFnQixFQTlLRix5QkFBeUI7UUErS3ZDLE9BQU8sRUFBRSxJQUFJO1FBQ2IsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsV0FBVztRQUNuQixLQUFLLEVBQUUsSUFBSSxHQWlEWjtRQTdPUCxBQTZMUSxtQkE3TFcsQ0E2SWpCLGFBQWEsQ0FHWCxVQUFVLENBdUNSLG1CQUFtQixDQU1qQixPQUFPLENBQUM7VUFDTixPQUFPLEVBQUUsVUFBVTtVQUNuQixNQUFNLEVBQUUsQ0FBQyxHQUNWO1FRMUlMLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSztVUnRENUIsQUFrTVEsbUJBbE1XLENBNklqQixhQUFhLENBR1gsVUFBVSxDQXVDUixtQkFBbUIsQ0FXakIsU0FBUyxDQUFDO1lBRU4sSUFBSSxFQUFFLGFBQWE7WUFDbkIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsS0FBSyxFQUFFLElBQUksR0FFZDtRQXhNVCxBQTBNUSxtQkExTVcsQ0E2SWpCLGFBQWEsQ0FHWCxVQUFVLENBdUNSLG1CQUFtQixDQW1CakIsZ0JBQWdCLENBQUM7VUFDZixtQkFBbUIsRUFBRSxhQUFhO1VBQ2xDLGlCQUFpQixFQUFFLFNBQVM7VUFDNUIsZUFBZSxFQUFFLEtBQUs7VUFDdEIsTUFBTSxFQUFFLENBQUM7VUFDVCxjQUFjLEVBQUUsSUFBSTtVQUNwQixRQUFRLEVBQUUsUUFBUTtVQUNsQixLQUFLLEVBQUUsSUFBSTtVQUNYLGFBQWEsRUFBRSxHQUFHO1VBQ2xCLE9BQU8sRUFBRSxLQUFLO1VBQ2QsTUFBTSxFQUFFLElBQUk7VUFDWixTQUFTLEVBQUUsSUFBSTtVQUNmLFdBQVcsRUFBRSxNQUFNLEdBT3BCO1VRMUpMLE1BQU0sRUFBRSxTQUFTLEVBQUUsUUFBUTtZUm5FL0IsQUEwTVEsbUJBMU1XLENBNklqQixhQUFhLENBR1gsVUFBVSxDQXVDUixtQkFBbUIsQ0FtQmpCLGdCQUFnQixDQUFDO2NBZWIsS0FBSyxFQUFFLEtBQUs7Y0FDWixjQUFjLEVBQUUsS0FBSztjQUNyQixNQUFNLEVBQUUsV0FBVyxHQUV0QjtRQTdOVCxBQStOUSxtQkEvTlcsQ0E2SWpCLGFBQWEsQ0FHWCxVQUFVLENBdUNSLG1CQUFtQixDQXdDakIsQ0FBQyxDQUFDO1VBQ0EsTUFBTSxFQUFFLENBQUM7VUFDVCxLQUFLLEVBM05BLHlCQUF5QjtVQTROOUIsU0FBUyxFQUFFLElBQUksR0FVaEI7VVF6S0wsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRO1lSbkUvQixBQStOUSxtQkEvTlcsQ0E2SWpCLGFBQWEsQ0FHWCxVQUFVLENBdUNSLG1CQUFtQixDQXdDakIsQ0FBQyxDQUFDO2NBTUUsVUFBVSxFQUFFLE1BQU0sR0FPckI7VUE1T1QsQUF3T1UsbUJBeE9TLENBNklqQixhQUFhLENBR1gsVUFBVSxDQXVDUixtQkFBbUIsQ0F3Q2pCLENBQUMsQ0FTQyxNQUFNO1VBeE9oQixtQkFBbUIsQ0E2SWpCLGFBQWEsQ0FHWCxVQUFVLENBdUNSLG1CQUFtQixDQXdDakIsQ0FBQyxDQVVDLENBQUMsQ0FBQztZQUNBLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO01BM09YLEFBOE9NLG1CQTlPYSxDQTZJakIsYUFBYSxDQUdYLFVBQVUsQ0E4RlIsY0FBYyxDQUFDO1FBQ2IsY0FBYyxFQUFFLEtBQUssR0FxRHRCO1FBcFNQLEFBZ1BRLG1CQWhQVyxDQTZJakIsYUFBYSxDQUdYLFVBQVUsQ0E4RlIsY0FBYyxDQUVaLGFBQWEsQ0FBQztVQUNaLFFBQVEsRUFBRSxRQUFRO1VBQ2xCLE9BQU8sRUFBRSxTQUFTO1VBQ2xCLGFBQWEsRUFBRSxJQUFJO1VBQ25CLGdCQUFnQixFQWhQUCx5QkFBeUI7VUFpUGxDLFVBQVUsRUFBRSxNQUFNO1VBQ2xCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDQUFDLHlCQUF5QjtVQUMzQyxVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMscUJBQXFCO1VBQzlDLGFBQWEsRUFBRSxJQUFJLEdBK0JwQjtVUWpPTCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7WVJ0RDVCLEFBZ1BRLG1CQWhQVyxDQTZJakIsYUFBYSxDQUdYLFVBQVUsQ0E4RlIsY0FBYyxDQUVaLGFBQWEsQ0FBQztjQVVWLE9BQU8sRUFBRSxTQUFTLEdBNkJyQjtVQXZSVCxBQTRQVSxtQkE1UFMsQ0E2SWpCLGFBQWEsQ0FHWCxVQUFVLENBOEZSLGNBQWMsQ0FFWixhQUFhLENBWVgsY0FBYyxDQUFDO1lBQ2IsV0FBVyxFQUFFLDJCQUEyQjtZQUN4QyxTQUFTLEVBQUUsSUFBSTtZQUNmLEtBQUssRUF4UEQseUJBQXlCO1lBeVA3QixXQUFXLEVBQUUsR0FBRztZQUNoQixhQUFhLEVBQUUsTUFBTSxHQUN0QjtVQWxRWCxBQW9RWSxtQkFwUU8sQ0E2SWpCLGFBQWEsQ0FHWCxVQUFVLENBOEZSLGNBQWMsQ0FFWixhQUFhLENBbUJYLGFBQWEsQ0FDWCxDQUFDLENBQUM7WUFDQSxXQUFXLEVBQUUsNkJBQTZCO1lBQzFDLFdBQVcsRUFBRSxHQUFHO1lBQ2hCLFNBQVMsRUFBRSxJQUFJO1lBQ2YsS0FBSyxFQWpRSCx5QkFBeUIsR0FrUTVCO1VBelFiLEFBMlFVLG1CQTNRUyxDQTZJakIsYUFBYSxDQUdYLFVBQVUsQ0E4RlIsY0FBYyxDQUVaLGFBQWEsQUEyQlYsSUFBSyxDQUFBLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDdkIsT0FBTyxFQUFFLEVBQUU7WUFDWCxRQUFRLEVBQUUsUUFBUTtZQUNsQixJQUFJLEVBQUUsQ0FBQztZQUNQLEtBQUssRUFBRSxDQUFDO1lBQ1IsTUFBTSxFQUFFLEtBQUs7WUFDYixNQUFNLEVBQUUsSUFBSTtZQUNaLE1BQU0sRUFBRSxJQUFJO1lBQ1osS0FBSyxFQUFFLEdBQUc7WUFDVixVQUFVLEVBelFFLDBCQUEwQjtZQTBRdEMsU0FBUyxFQUFFLGdCQUFnQixHQUM1QjtRQXRSWCxBQXlSUyxtQkF6UlUsQ0E2SWpCLGFBQWEsQ0FHWCxVQUFVLENBOEZSLGNBQWMsQUEwQ1gsUUFBUSxDQUNSLEdBQUcsQUFBQSxhQUFhLEFBQUEsTUFBTSxDQUFDO1VBQ3BCLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7UUEzUlgsQUE2UlEsbUJBN1JXLENBNklqQixhQUFhLENBR1gsVUFBVSxDQThGUixjQUFjLENBK0NaLElBQUksQ0FBQztVQUNILE9BQU8sRUFBRSxTQUFTO1VBQ2xCLGFBQWEsRUFBRSxjQUFjLEdBSTlCO1VBblNULEFBZ1NVLG1CQWhTUyxDQTZJakIsYUFBYSxDQUdYLFVBQVUsQ0E4RlIsY0FBYyxDQStDWixJQUFJLEFBR0QsT0FBTyxDQUFBO1lBQ04sZ0JBQWdCLEVBQUUsV0FBVyxHQUM5Qjs7QUFNWCxBQUNFLGNBRFksQUFBQSxJQUFJLEFBQ2YsT0FBTyxDQUFDO0VBQ1AsT0FBTyxFQUFFLGVBQWUsR0FDekI7O0FBSEgsQUFJRSxjQUpZLEFBQUEsSUFBSSxDQUloQixpQkFBaUIsQ0FBQztFQUNoQixXQUFXLEVBQUUsS0FBSyxHQUNuQiJ9 */
