@font-face{
  font-family: Rubik;
  font-style: italic;
  font-weight: 300;
  src: local("Rubik Light Italic"),local(Rubik-LightItalic),url(//fonts.gstatic.com/s/rubik/v7/jSFETpKxzveU_p3gZhzIHFQlYEbsez9cZjKsNMjLOwM.eot?#) format("eot"),url(//fonts.gstatic.com/s/rubik/v7/jSFETpKxzveU_p3gZhzIHPk_vArhqVIZ0nv9q090hN8.woff2) format("woff2"),url(//fonts.gstatic.com/s/rubik/v7/jSFETpKxzveU_p3gZhzIHBsxEYwM7FgeyaSgU71cLG0.woff) format("woff"); }
@font-face{
  font-family: Rubik;
  font-style: italic;
  font-weight: 400;
  src: local("Rubik Italic"),local(Rubik-Italic),url(//fonts.gstatic.com/s/rubik/v7/aFXROJ6oH458ZIAMTgYySQ.eot?#) format("eot"),url(//fonts.gstatic.com/s/rubik/v7/lgXEloT2N61mSYqQZpy1fQ.woff2) format("woff2"),url(//fonts.gstatic.com/s/rubik/v7/OPYJOGLS2lfdqoDEaGxyDA.woff) format("woff"); }
@font-face{
  font-family: Rubik;
  font-style: italic;
  font-weight: 500;
  src: local("Rubik Medium Italic"),local(Rubik-MediumItalic),url(//fonts.gstatic.com/s/rubik/v7/tPyoCFMoMFY1gioFWtoyXlQlYEbsez9cZjKsNMjLOwM.eot?#) format("eot"),url(//fonts.gstatic.com/s/rubik/v7/tPyoCFMoMFY1gioFWtoyXvk_vArhqVIZ0nv9q090hN8.woff2) format("woff2"),url(//fonts.gstatic.com/s/rubik/v7/tPyoCFMoMFY1gioFWtoyXhsxEYwM7FgeyaSgU71cLG0.woff) format("woff"); }
@font-face{
  font-family: Rubik;
  font-style: italic;
  font-weight: 700;
  src: local("Rubik Bold Italic"),local(Rubik-BoldItalic),url(//fonts.gstatic.com/s/rubik/v7/wD94vlSNmKRl1po-RMwWclQlYEbsez9cZjKsNMjLOwM.eot?#) format("eot"),url(//fonts.gstatic.com/s/rubik/v7/wD94vlSNmKRl1po-RMwWcvk_vArhqVIZ0nv9q090hN8.woff2) format("woff2"),url(//fonts.gstatic.com/s/rubik/v7/wD94vlSNmKRl1po-RMwWchsxEYwM7FgeyaSgU71cLG0.woff) format("woff"); }
@font-face{
  font-family: Rubik;
  font-style: italic;
  font-weight: 900;
  src: local("Rubik Black Italic"),local(Rubik-BlackItalic),url(//fonts.gstatic.com/s/rubik/v7/UAhftYFr35UpkSlTfXNWL1QlYEbsez9cZjKsNMjLOwM.eot?#) format("eot"),url(//fonts.gstatic.com/s/rubik/v7/UAhftYFr35UpkSlTfXNWL_k_vArhqVIZ0nv9q090hN8.woff2) format("woff2"),url(//fonts.gstatic.com/s/rubik/v7/UAhftYFr35UpkSlTfXNWLxsxEYwM7FgeyaSgU71cLG0.woff) format("woff"); }
@font-face{
  font-family: Rubik;
  font-style: normal;
  font-weight: 300;
  src: local("Rubik Light"),local(Rubik-Light),url(//fonts.gstatic.com/s/rubik/v7/WJYfot4nvWguliZiQ0KHUvesZW2xOQ-xsNqO47m55DA.eot?#) format("eot"),url(//fonts.gstatic.com/s/rubik/v7/tRvJQnSw4lmceQIbdzOKGPesZW2xOQ-xsNqO47m55DA.woff2) format("woff2"),url(//fonts.gstatic.com/s/rubik/v7/lr6Pb3GuskYO6A0ddSEJcvesZW2xOQ-xsNqO47m55DA.woff) format("woff"); }
@font-face{
  font-family: Rubik;
  font-style: normal;
  font-weight: 400;
  src: local(Rubik),local(Rubik-Regular),url(//fonts.gstatic.com/s/rubik/v7/0f976ZfzmmYp7Tv7T3DB3A.eot?#) format("eot"),url(//fonts.gstatic.com/s/rubik/v7/_mlO9_1N7oXYhEnEzC2l-g.woff2) format("woff2"),url(//fonts.gstatic.com/s/rubik/v7/KOAvUwfoM3DiLr6_Ac8qkg.woff) format("woff"); }
@font-face{
  font-family: Rubik;
  font-style: normal;
  font-weight: 500;
  src: local("Rubik Medium"),local(Rubik-Medium),url(//fonts.gstatic.com/s/rubik/v7/yFvcRay1ZOu26HH6CacUgPesZW2xOQ-xsNqO47m55DA.eot?#) format("eot"),url(//fonts.gstatic.com/s/rubik/v7/IUSlgBbgyuDQpy87mBOAc_esZW2xOQ-xsNqO47m55DA.woff2) format("woff2"),url(//fonts.gstatic.com/s/rubik/v7/dr9AO_oRJOJvBo3VnoPe1_esZW2xOQ-xsNqO47m55DA.woff) format("woff"); }
@font-face{
  font-family: Rubik;
  font-style: normal;
  font-weight: 700;
  src: local("Rubik Bold"),local(Rubik-Bold),url(//fonts.gstatic.com/s/rubik/v7/AGAINRfrc_sL5zxVdgH1O_esZW2xOQ-xsNqO47m55DA.eot?#) format("eot"),url(//fonts.gstatic.com/s/rubik/v7/0hS39AKxpJlEXQF3mVPgrvesZW2xOQ-xsNqO47m55DA.woff2) format("woff2"),url(//fonts.gstatic.com/s/rubik/v7/dwBNC4Sd5CDAYmaqw1hU7PesZW2xOQ-xsNqO47m55DA.woff) format("woff"); }
@font-face{
  font-family: Rubik;
  font-style: normal;
  font-weight: 900;
  src: local("Rubik Black"),local(Rubik-Black),url(//fonts.gstatic.com/s/rubik/v7/uoYmAnIa8NjRiXX5h5bcEfesZW2xOQ-xsNqO47m55DA.eot?#) format("eot"),url(//fonts.gstatic.com/s/rubik/v7/q1zR17dXuC8hEk69Lb7Bo_esZW2xOQ-xsNqO47m55DA.woff2) format("woff2"),url(//fonts.gstatic.com/s/rubik/v7/sTiPQxXk0M6XQ-AVBh7ef_esZW2xOQ-xsNqO47m55DA.woff) format("woff"); }
@charset "UTF-8";
#wishlist_button,
#wishlist_button_nopop,
.wishlist_button,
.wishlist_button_nopop {
  cursor: pointer; }
  #wishlist_button i,
  #wishlist_button_nopop i,
  .wishlist_button i,
  .wishlist_button_nopop i {
    display: inline-block; }
    #wishlist_button i + i,
    #wishlist_button_nopop i + i,
    .wishlist_button i + i,
    .wishlist_button_nopop i + i {
      display: none; }

#wishlist_button.added-to-wishlist i,
.dropup.added-to-wishlist i,
.wishlist_button.added-to-wishlist i,
.wishlist_button_nopop.added-to-wishlist i {
  display: none; }
  #wishlist_button.added-to-wishlist i + i,
  .dropup.added-to-wishlist i + i,
  .wishlist_button.added-to-wishlist i + i,
  .wishlist_button_nopop.added-to-wishlist i + i {
    display: inline-block; }

.wishlist-link {
  display: inline-block; }
  .wishlist-link > a {
    display: block; }
  .wishlist-link .dropdown-menu {
    width: 8.57143rem;
    min-width: 0;
    margin-left: -3.35714rem;
    padding: 0.71429rem;
    line-height: 1; }
    .wishlist-link .dropdown-menu .title {
      padding: 0.71429rem 0.5rem;
      margin: -0.71429rem -0.71429rem 0.71429rem;
      background: #f1f1f1;
      color: #3a3a3a;
      font-size: 1.14286rem;
      font-weight: 700;
      text-transform: uppercase; }

.wishlist-item {
  color: #919191;
  -webkit-transition: 0.3s color ease;
  transition: 0.3s color ease;
  white-space: normal; }
  .wishlist-item + .wishlist-item {
    margin-top: 0.71429rem; }
  .wishlist-item:hover {
    cursor: pointer;
    color: #efa523; }

.product-additional-info .wishlist-button {
  display: inline-block;
  color: #3a3a3a;
  line-height: 1; }
  .product-additional-info .wishlist-button i {
    font-size: 1.85714rem;
    line-height: 1;
    vertical-align: middle;
    margin-right: 0.85714rem; }
  .product-additional-info .wishlist-button span {
    font-family: "Rubik", sans-serif;
    vertical-align: middle;
    padding-top: 0.21429rem; }
  .product-additional-info .wishlist-button:hover {
    color: #ababab; }

.product-additional-info .dropdown-menu {
  width: 100%;
  min-width: 8.57143rem;
  margin-left: 0; }

.all-wishlist > li {
  padding: 2.64286rem 1.57143rem 2.28571rem;
  background: #f6f6f6;
  margin-bottom: 2.14286rem; }
  .all-wishlist > li #add-new-layout {
    float: right; }
    @media (max-width: 480px) {
      .all-wishlist > li #add-new-layout {
        float: left;
        margin: 2.14286rem 0;
        clear: left; } }
  .all-wishlist > li .btn-product-wishlist {
    float: right;
    color: #0f0f0f;
    font: 400 1.14286rem/1.5rem "Rubik", sans-serif;
    text-decoration: underline;
    margin: 0.85714rem 1.07143rem 0 0;
    outline: 0;
    cursor: pointer; }
    @media (max-width: 480px) {
      .all-wishlist > li .btn-product-wishlist {
        float: left;
        clear: left; } }
    .all-wishlist > li .btn-product-wishlist:hover {
      color: #919191; }
  .all-wishlist > li .wishlist-products-container {
    padding-bottom: 1.78571rem;
    border-bottom: 0.07143rem solid #cdcdcd;
    display: none; }
    .all-wishlist > li .wishlist-products-container ul li {
      padding-top: 1.78571rem; }
      .all-wishlist > li .wishlist-products-container ul li .product_image {
        margin-bottom: 1.42857rem;
        position: relative; }
        .all-wishlist > li .wishlist-products-container ul li .product_image .lnkdel {
          position: absolute;
          right: 0.71429rem;
          top: 0.71429rem; }
      .all-wishlist > li .wishlist-products-container ul li h5 {
        text-align: center; }
        .all-wishlist > li .wishlist-products-container ul li h5 a {
          font: 400 1rem/1.21429rem "Rubik", sans-serif;
          color: #1b1b1b; }
          .all-wishlist > li .wishlist-products-container ul li h5 a .quantity-formated {
            color: #333;
            display: inline-block;
            font-size: 0.71429rem;
            padding-right: 0.35714rem;
            text-transform: uppercase; }
            .all-wishlist > li .wishlist-products-container ul li h5 a .quantity-formated .quantity {
              font-size: 1rem; }
          .all-wishlist > li .wishlist-products-container ul li h5 a:hover {
            color: #777; }
      .all-wishlist > li .wishlist-products-container ul li .content_price span {
        color: #333;
        font: 600 1.28571rem/1.5rem "Rubik", sans-serif; }
    .all-wishlist > li .wishlist-products-container .alert.alert-warning {
      margin: 2.14286rem 0 0; }
  .all-wishlist > li .wishlist-row-bottom {
    margin-top: 1.78571rem; }
    @media (max-width: 575.98px) {
      .all-wishlist > li .wishlist-row-bottom {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; }
        .all-wishlist > li .wishlist-row-bottom > * {
          float: none;
          width: auto;
          margin-left: 0;
          margin-right: 0;
          margin-top: 1.07143rem;
          display: inline-block; } }

.all-wishlist .lnkdel.close {
  margin-top: 0.35714rem; }

#wishlistModal .modal-dialog {
  max-width: 72.85714rem; }

.wishlist_content .product_image {
  border: 0.07143rem solid #d6d4d4;
  position: relative; }
  .wishlist_content .product_image .lnkdel {
    position: absolute;
    right: 0.71429rem;
    top: 0.71429rem; }

.pop_btn_wishlist {
  float: right;
  margin-top: 1.42857rem; }

/**************************************************************************
		        Style for popup with select layouts
**************************************************************************/
#wishlistModal .modal-dialog, #wishlistAddedModal .modal-dialog {
  max-width: 72.85714rem; }

#wishlistModal .jxwl-title > span, #wishlistAddedModal .jxwl-title > span {
  color: #1b1b1b;
  font-weight: bold;
  font-size: 2.14286rem;
  line-height: 2.35714rem;
  text-transform: uppercase; }
  #wishlistModal .jxwl-title > span span, #wishlistAddedModal .jxwl-title > span span {
    color: #333;
    font-weight: bold;
    font-size: 1.07143rem;
    line-height: 2.35714rem;
    text-transform: none;
    display: inline-block;
    margin-left: 1.42857rem;
    letter-spacing: 0; }

#jxwl-layouts-popup {
  margin-left: -1.07143rem;
  margin-right: -1.07143rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  #jxwl-layouts-popup .jxwl_popup_item {
    position: relative; }
    #jxwl-layouts-popup .jxwl_popup_item .popup_store_logo {
      position: absolute;
      left: 54%;
      top: 7%;
      width: 10rem; }
      #jxwl-layouts-popup .jxwl_popup_item .popup_store_logo img {
        max-width: 100%;
        height: auto; }
    #jxwl-layouts-popup .jxwl_popup_item h5 {
      color: #1b1b1b;
      font: 600 1.14286rem/1.35714rem "Rubik", sans-serif;
      position: absolute;
      left: 53%;
      top: 40%; }
    #jxwl-layouts-popup .jxwl_popup_item.jxwl_row_1, #jxwl-layouts-popup .jxwl_popup_item.jxwl_row_2 {
      margin-bottom: 2.14286rem; }
    @media (max-width: 768px) {
      #jxwl-layouts-popup .jxwl_popup_item.jxwl_row_3 {
        margin-bottom: 2.14286rem; } }
    #jxwl-layouts-popup .jxwl_popup_item.jxwl_row_1 .popup_store_logo {
      right: 22%; }
    #jxwl-layouts-popup .jxwl_popup_item.jxwl_row_2 h5 {
      left: 63%;
      top: 48%; }
    #jxwl-layouts-popup .jxwl_popup_item.jxwl_row_3 h5 {
      left: 7%;
      top: 12%; }
    #jxwl-layouts-popup .jxwl_popup_item.jxwl_row_4 .popup_store_logo {
      right: inherit;
      left: 7%;
      top: inherit;
      bottom: 7%; }
    #jxwl-layouts-popup .jxwl_popup_item.jxwl_row_4 h5 {
      left: 7%;
      top: 5%; }
    #jxwl-layouts-popup .jxwl_popup_item > ul {
      min-height: 17.71429rem;
      -webkit-transition: all 0.3s linear 0s;
      transition: all 0.3s linear 0s;
      cursor: pointer;
      border: 0.07143rem solid #f6f6f6; }
      #jxwl-layouts-popup .jxwl_popup_item > ul:hover {
        -webkit-box-shadow: rgba(0, 0, 0, 0.2) 0 0 0.5rem;
                box-shadow: rgba(0, 0, 0, 0.2) 0 0 0.5rem; }
  @media (min-width: 768px) {
    #jxwl-layouts-popup .block-container-row {
      border-right: none; } }
  #jxwl-layouts-popup .block-container-row {
    width: 100%; }
    #jxwl-layouts-popup .block-container-row .jxwl_popup_item {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%;
      width: 100%;
      padding: 0;
      margin-bottom: 2.14286rem; }
      #jxwl-layouts-popup .block-container-row .jxwl_popup_item .popup_store_logo {
        display: none; }
      #jxwl-layouts-popup .block-container-row .jxwl_popup_item .items {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
      #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul {
        padding: 0;
        border: none;
        cursor: auto;
        background: none; }
        #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul:hover {
          background: none;
          -webkit-box-shadow: none;
                  box-shadow: none; }
        #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul.jxwl_row_4 {
          min-height: 13rem; }
          #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul.jxwl_row_4 li {
            width: 20%;
            float: left;
            padding: 0 1.07143rem; }
            #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul.jxwl_row_4 li .content {
              height: 13.21429rem; }
        @media (max-width: 768px) {
          #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul.jxwl_row_2 li:first-child {
            margin-bottom: 2.14286rem; }
          #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul.jxwl_row_3 li {
            margin-bottom: 2.14286rem; }
          #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul.jxwl_row_4 li {
            margin-bottom: 2.14286rem;
            width: 50%; } }
        @media (max-width: 1199px) {
          #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul.jxwl_row_3 li {
            margin-bottom: 2.14286rem; } }
        @media (max-width: 480px) {
          #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul.jxwl_row_4 li {
            width: 100%; } }
        #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul li {
          border: none; }
          #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul li .content {
            background: #f6f6f6;
            border: 0.07143rem solid #f6f6f6;
            cursor: pointer;
            overflow: hidden;
            position: relative;
            -webkit-transition: all 0.3s linear 0s;
            transition: all 0.3s linear 0s;
            min-height: 18.21429rem;
            height: 100%; }
            #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul li .content:before {
              font-family: 'FontAwesome';
              content: "\F0FE";
              font-size: 2.14286rem;
              line-height: 1;
              color: #efa523;
              position: absolute;
              left: 50%;
              top: 50%;
              -webkit-transform: translate(-50%, -50%);
                      transform: translate(-50%, -50%); }
            #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul li .content img {
              width: 18.35714rem;
              margin: 0 auto; }
            #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul li .content .clear-item {
              color: #cccccc;
              position: absolute;
              right: 0.5rem;
              top: 0.5rem;
              -webkit-transition: all 0.3s linear 0s;
              transition: all 0.3s linear 0s;
              z-index: 3; }
              #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul li .content .clear-item:hover {
                color: #333; }
            #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul li .content:hover {
              -webkit-box-shadow: rgba(0, 0, 0, 0.15) 0 0 0.5rem;
                      box-shadow: rgba(0, 0, 0, 0.15) 0 0 0.5rem; }
            #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul li .content.current {
              background: #fff; }
              #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul li .content.current .jxwl-content-image img {
                max-width: 100%;
                height: auto; }
              #jxwl-layouts-popup .block-container-row .jxwl_popup_item ul li .content.current:before {
                display: none; }
    #jxwl-layouts-popup .block-container-row .block-container-product {
      padding: 0 1.07143rem; }
      #jxwl-layouts-popup .block-container-row .block-container-product .product {
        float: left;
        padding: 0.42857rem;
        width: 11.07143rem;
        cursor: pointer; }
        #jxwl-layouts-popup .block-container-row .block-container-product .product.active {
          display: none; }
        #jxwl-layouts-popup .block-container-row .block-container-product .product:hover {
          -webkit-box-shadow: rgba(174, 193, 199, 0.3) 0 0 0.28571rem 0.07143rem;
                  box-shadow: rgba(174, 193, 199, 0.3) 0 0 0.28571rem 0.07143rem; }
        #jxwl-layouts-popup .block-container-row .block-container-product .product img {
          max-width: 100%;
          height: auto; }
    #jxwl-layouts-popup .block-container-row .share_button {
      margin-right: 1.07143rem;
      float: right; }
      #jxwl-layouts-popup .block-container-row .share_button:hover {
        border-color: #e5e5e5; }
    #jxwl-layouts-popup .block-container-row .back_button {
      margin-left: 1.07143rem; }
    #jxwl-layouts-popup .block-container-row #back_button_step_2 {
      margin-top: 2.14286rem; }

.jxwl_popup_item > .jxwl_row_1 {
  background: url(../../../../modules/jxwishlist/views/img/jxwl_row_1.jpg) left top no-repeat;
  background-size: 100% 100%; }

.jxwl_popup_item > .jxwl_row_2 {
  background: url(../../../../modules/jxwishlist/views/img/jxwl_row_2.jpg) left top no-repeat;
  background-size: 100% 100%; }

.jxwl_popup_item > .jxwl_row_3 {
  background: url(../../../../modules/jxwishlist/views/img/jxwl_row_3.jpg) left top no-repeat;
  background-size: 100% 100%; }

.jxwl_popup_item > .jxwl_row_4 {
  background: url(../../../../modules/jxwishlist/views/img/jxwl_row_4.jpg) left top no-repeat;
  background-size: 100% 100%; }

#view_wishlist ul li .product_image {
  margin: 0 0 1.42857rem; }

#view_wishlist ul li .product_container {
  text-align: center;
  padding-bottom: 2.14286rem; }
  #view_wishlist ul li .product_container h5 .quantity-formated {
    color: #333;
    display: inline-block;
    font-size: 0.71429rem;
    padding-right: 0.35714rem;
    text-transform: uppercase; }
    #view_wishlist ul li .product_container h5 .quantity-formated .quantity {
      font-size: 1.21429rem; }
  #view_wishlist ul li .product_container .content_price {
    color: #333;
    font-size: 1.5rem;
    margin-bottom: 1.42857rem; }

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9tb2R1bGVzL2p4d2lzaGxpc3Qvdmlld3MvY3NzL0M6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvdGhlbWVfQ2xpbWJlclN0b3JlL3RoZW1lcy90aGVtZV8xNTEyL19kZXYvPG5vIHNvdXJjZT4iLCJ3ZWJwYWNrOi8vLy4vbW9kdWxlcy9qeHdpc2hsaXN0L3ZpZXdzL2Nzcy9DOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L3RoZW1lX0NsaW1iZXJTdG9yZS90aGVtZXMvdGhlbWVfMTUxMi9fZGV2L2Zyb250X3dpc2hsaXN0cy5zY3NzIiwid2VicGFjazovLy8uL21vZHVsZXMvanh3aXNobGlzdC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC90aGVtZV9DbGltYmVyU3RvcmUvdGhlbWVzL3RoZW1lXzE1MTIvX2Rldi9tb2R1bGVzL2p4d2lzaGxpc3Qvdmlld3MvY3NzL2Zyb250X3dpc2hsaXN0cy5zY3NzIiwid2VicGFjazovLy8uL21vZHVsZXMvanh3aXNobGlzdC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC90aGVtZV9DbGltYmVyU3RvcmUvdGhlbWVzL3RoZW1lXzE1MTIvX2Rldi9jc3MvcGFydGlhbHMvX3ZhcmlhYmxlc19jb2xvci5zY3NzIiwid2VicGFjazovLy8uL21vZHVsZXMvanh3aXNobGlzdC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC90aGVtZV9DbGltYmVyU3RvcmUvdGhlbWVzL3RoZW1lXzE1MTIvX2Rldi9jc3MvcGFydGlhbHMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovLy8uL21vZHVsZXMvanh3aXNobGlzdC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC90aGVtZV9DbGltYmVyU3RvcmUvdGhlbWVzL3RoZW1lXzE1MTIvX2Rldi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL21vZHVsZXMvanh3aXNobGlzdC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC90aGVtZV9DbGltYmVyU3RvcmUvdGhlbWVzL3RoZW1lXzE1MTIvX2Rldi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3gtc2hhZG93LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbW9kdWxlcy9qeHdpc2hsaXN0L3ZpZXdzL2Nzcy9DOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L3RoZW1lX0NsaW1iZXJTdG9yZS90aGVtZXMvdGhlbWVfMTUxMi9fZGV2L2Nzcy9wYXJ0aWFscy9fbWl4aW5zLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBQ0FBLGlCQUFpQjtBQ0NqQjs7OztFQUlFLGdCQUFlLEVBT2hCO0VBWEQ7Ozs7SUFNSSxzQkFBcUIsRUFJdEI7SUFWSDs7OztNQVFNLGNBQWEsRUFDZDs7QUFJTDs7OztFQU1NLGNBQWEsRUFJZDtFQVZMOzs7O0lBUVEsc0JBQXFCLEVBQ3RCOztBQU1QO0VBQ0Usc0JBQXFCLEVBcUJ0QjtFQXRCRDtJQUdJLGVBQWMsRUFDZjtFQUpIO0lBT0ksa0JBQVk7SUFDWixhQUFZO0lBQ1oseUJBQWtCO0lBQ2xCLG9CQUFhO0lBQ2IsZUFBYyxFQVVmO0lBckJIO01BYU0sMkJBQWlCO01BQ2pCLDJDQUF3QjtN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VUFzTlUsZ0JBQWU7VUFDZixhQUFZLEVBQ2I7SUF4TlQ7TUE0Tk0seUJBQWtCO01BQ2xCLGFBQVksRUFJYjtNQWpPTDtRQStOUSxzQkFBcUIsRUFDdEI7SUFoT1A7TUFtT00sd0JBQWlCLEVBQ2xCO0lBcE9MO01Bc09NLHVCQUFnQixFQUNqQjs7QUFJTDtFQUNFLDZEQUF5RDtFQUN6RCwyQkFBMEIsRUFDM0I7O0FBRUQ7RUFDRSw2REFBeUQ7RUFDekQsMkJBQTBCLEVBQzNCOztBQUVEO0VBQ0UsNkRBQXlEO0VBQ3pELDJCQUEwQixFQUMzQjs7QUFFRDtFQUNFLDZEQUF5RDtFQUN6RCwyQkFBMEIsRUFDM0I7O0FBRUQ7RUFFSSx1QkFBZ0IsRUFDakI7O0FBSEg7RUFLSSxtQkFBa0I7RUFDbEIsMkJBQW9CLEVBa0JyQjtFQXhCSDtJQVNRLFlBQVc7SUFDWCxzQkFBcUI7SUFDckIsc0JBQWU7SUFDZiwwQkFBa0I7SUFDbEIsMEJBQXlCLEVBSTFCO0lBakJQO01BZVUsc0JBQWUsRUFDaEI7RUFoQlQ7SUFvQk0sWUFBVztJQUNYLGtCQUFlO0lBQ2YsMEJBQW1CLEVBQ3BCIiwiZmlsZSI6Ii4uXFxtb2R1bGVzXFxqeHdpc2hsaXN0XFx2aWV3c1xcY3NzXFxmcm9udF93aXNobGlzdHMuY3NzIiwic291cmNlc0NvbnRlbnQiOltudWxsLCJAY2hhcnNldCBcIlVURi04XCI7XG4jd2lzaGxpc3RfYnV0dG9uLFxuI3dpc2hsaXN0X2J1dHRvbl9ub3BvcCxcbi53aXNobGlzdF9idXR0b24sXG4ud2lzaGxpc3RfYnV0dG9uX25vcG9wIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICN3aXNobGlzdF9idXR0b24gaSxcbiAgI3dpc2hsaXN0X2J1dHRvbl9ub3BvcCBpLFxuICAud2lzaGxpc3RfYnV0dG9uIGksXG4gIC53aXNobGlzdF9idXR0b25fbm9wb3AgaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgI3dpc2hsaXN0X2J1dHRvbiBpICsgaSxcbiAgICAjd2lzaGxpc3RfYnV0dG9uX25vcG9wIGkgKyBpLFxuICAgIC53aXNobGlzdF9idXR0b24gaSArIGksXG4gICAgLndpc2hsaXN0X2J1dHRvbl9ub3BvcCBpICsgaSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiN3aXNobGlzdF9idXR0b24uYWRkZWQtdG8td2lzaGxpc3QgaSxcbi5kcm9wdXAuYWRkZWQtdG8td2lzaGxpc3QgaSxcbi53aXNobGlzdF9idXR0b24uYWRkZWQtdG8td2lzaGxpc3QgaSxcbi53aXNobGlzdF9idXR0b25fbm9wb3AuYWRkZWQtdG8td2lzaGxpc3QgaSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3dpc2hsaXN0X2J1dHRvbi5hZGRlZC10by13aXNobGlzdCBpICsgaSxcbiAgLmRyb3B1cC5hZGRlZC10by13aXNobGlzdCBpICsgaSxcbiAgLndpc2hsaXN0X2J1dHRvbi5hZGRlZC10by13aXNobGlzdCBpICsgaSxcbiAgLndpc2hsaXN0X2J1dHRvbl9ub3BvcC5hZGRlZC10by13aXNobGlzdCBpICsgaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi53aXNobGlzdC1saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC53aXNobGlzdC1saW5rID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLndpc2hsaXN0LWxpbmsgLmRyb3Bkb3duLW1lbnUge1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC00N3B4O1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAud2lzaGxpc3QtbGluayAuZHJvcGRvd24tbWVudSAudGl0bGUge1xuICAgICAgcGFkZGluZzogMTBweCA3cHg7XG4gICAgICBtYXJnaW46IC0xMHB4IC0xMHB4IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgICAgY29sb3I6ICMzYTNhM2E7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ud2lzaGxpc3QtaXRlbSB7XG4gIGNvbG9yOiAjOTE5MTkxO1xuICB0cmFuc2l0aW9uOiAwLjNzIGNvbG9yIGVhc2U7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgLndpc2hsaXN0LWl0ZW0gKyAud2lzaGxpc3QtaXRlbSB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAud2lzaGxpc3QtaXRlbTpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjZWZhNTIzOyB9XG5cbi5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAud2lzaGxpc3QtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjb2xvcjogIzNhM2EzYTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnByb2R1Y3QtYWRkaXRpb25hbC1pbmZvIC53aXNobGlzdC1idXR0b24gaSB7XG4gICAgZm9udC1zaXplOiAyNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XG4gIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAud2lzaGxpc3QtYnV0dG9uIHNwYW4ge1xuICAgIGZvbnQtZmFtaWx5OiBcIlJ1YmlrXCIsIHNhbnMtc2VyaWY7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwYWRkaW5nLXRvcDogM3B4OyB9XG4gIC5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyAud2lzaGxpc3QtYnV0dG9uOmhvdmVyIHtcbiAgICBjb2xvcjogI2FiYWJhYjsgfVxuXG4ucHJvZHVjdC1hZGRpdGlvbmFsLWluZm8gLmRyb3Bkb3duLW1lbnUge1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMjBweDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFsbC13aXNobGlzdCA+IGxpIHtcbiAgcGFkZGluZzogMzdweCAyMnB4IDMycHg7XG4gIGJhY2tncm91bmQ6ICNmNmY2ZjY7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLmFsbC13aXNobGlzdCA+IGxpICNhZGQtbmV3LWxheW91dCB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgICAuYWxsLXdpc2hsaXN0ID4gbGkgI2FkZC1uZXctbGF5b3V0IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgICAgICBjbGVhcjogbGVmdDsgfSB9XG4gIC5hbGwtd2lzaGxpc3QgPiBsaSAuYnRuLXByb2R1Y3Qtd2lzaGxpc3Qge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBjb2xvcjogIzBmMGYwZjtcbiAgICBmb250OiA0MDAgMTZweC8yMXB4IFwiUnViaWtcIiwgc2Fucy1zZXJpZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBtYXJnaW46IDEycHggMTVweCAwIDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAgIC5hbGwtd2lzaGxpc3QgPiBsaSAuYnRuLXByb2R1Y3Qtd2lzaGxpc3Qge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuICAgIC5hbGwtd2lzaGxpc3QgPiBsaSAuYnRuLXByb2R1Y3Qtd2lzaGxpc3Q6aG92ZXIge1xuICAgICAgY29sb3I6ICM5MTkxOTE7IH1cbiAgLmFsbC13aXNobGlzdCA+IGxpIC53aXNobGlzdC1wcm9kdWN0cy1jb250YWluZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2RjZGNkO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYWxsLXdpc2hsaXN0ID4gbGkgLndpc2hsaXN0LXByb2R1Y3RzLWNvbnRhaW5lciB1bCBsaSB7XG4gICAgICBwYWRkaW5nLXRvcDogMjVweDsgfVxuICAgICAgLmFsbC13aXNobGlzdCA+IGxpIC53aXNobGlzdC1wcm9kdWN0cy1jb250YWluZXIgdWwgbGkgLnByb2R1Y3RfaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmFsbC13aXNobGlzdCA+IGxpIC53aXNobGlzdC1wcm9kdWN0cy1jb250YWluZXIgdWwgbGkgLnByb2R1Y3RfaW1hZ2UgLmxua2RlbCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgIHRvcDogMTBweDsgfVxuICAgICAgLmFsbC13aXNobGlzdCA+IGxpIC53aXNobGlzdC1wcm9kdWN0cy1jb250YWluZXIgdWwgbGkgaDUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLmFsbC13aXNobGlzdCA+IGxpIC53aXNobGlzdC1wcm9kdWN0cy1jb250YWluZXIgdWwgbGkgaDUgYSB7XG4gICAgICAgICAgZm9udDogNDAwIDE0cHgvMTdweCBcIlJ1YmlrXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgY29sb3I6ICMxYjFiMWI7IH1cbiAgICAgICAgICAuYWxsLXdpc2hsaXN0ID4gbGkgLndpc2hsaXN0LXByb2R1Y3RzLWNvbnRhaW5lciB1bCBsaSBoNSBhIC5xdWFudGl0eS1mb3JtYXRlZCB7XG4gICAgICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgICAgIC5hbGwtd2lzaGxpc3QgPiBsaSAud2lzaGxpc3QtcHJvZHVjdHMtY29udGFpbmVyIHVsIGxpIGg1IGEgLnF1YW50aXR5LWZvcm1hdGVkIC5xdWFudGl0eSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgICAgICAgIC5hbGwtd2lzaGxpc3QgPiBsaSAud2lzaGxpc3QtcHJvZHVjdHMtY29udGFpbmVyIHVsIGxpIGg1IGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5hbGwtd2lzaGxpc3QgPiBsaSAud2lzaGxpc3QtcHJvZHVjdHMtY29udGFpbmVyIHVsIGxpIC5jb250ZW50X3ByaWNlIHNwYW4ge1xuICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgZm9udDogNjAwIDE4cHgvMjFweCBcIlJ1YmlrXCIsIHNhbnMtc2VyaWY7IH1cbiAgICAuYWxsLXdpc2hsaXN0ID4gbGkgLndpc2hsaXN0LXByb2R1Y3RzLWNvbnRhaW5lciAuYWxlcnQuYWxlcnQtd2FybmluZyB7XG4gICAgICBtYXJnaW46IDMwcHggMCAwOyB9XG4gIC5hbGwtd2lzaGxpc3QgPiBsaSAud2lzaGxpc3Qtcm93LWJvdHRvbSB7XG4gICAgbWFyZ2luLXRvcDogMjVweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzUuOThweCkge1xuICAgICAgLmFsbC13aXNobGlzdCA+IGxpIC53aXNobGlzdC1yb3ctYm90dG9tIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgLmFsbC13aXNobGlzdCA+IGxpIC53aXNobGlzdC1yb3ctYm90dG9tID4gKiB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLmFsbC13aXNobGlzdCAubG5rZGVsLmNsb3NlIHtcbiAgbWFyZ2luLXRvcDogNXB4OyB9XG5cbiN3aXNobGlzdE1vZGFsIC5tb2RhbC1kaWFsb2cge1xuICBtYXgtd2lkdGg6IDEwMjBweDsgfVxuXG4ud2lzaGxpc3RfY29udGVudCAucHJvZHVjdF9pbWFnZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ0ZDQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAud2lzaGxpc3RfY29udGVudCAucHJvZHVjdF9pbWFnZSAubG5rZGVsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgdG9wOiAxMHB4OyB9XG5cbi5wb3BfYnRuX3dpc2hsaXN0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG5cdFx0ICAgICAgICBTdHlsZSBmb3IgcG9wdXAgd2l0aCBzZWxlY3QgbGF5b3V0c1xyXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbiN3aXNobGlzdE1vZGFsIC5tb2RhbC1kaWFsb2csICN3aXNobGlzdEFkZGVkTW9kYWwgLm1vZGFsLWRpYWxvZyB7XG4gIG1heC13aWR0aDogMTAyMHB4OyB9XG5cbiN3aXNobGlzdE1vZGFsIC5qeHdsLXRpdGxlID4gc3BhbiwgI3dpc2hsaXN0QWRkZWRNb2RhbCAuanh3bC10aXRsZSA+IHNwYW4ge1xuICBjb2xvcjogIzFiMWIxYjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI3dpc2hsaXN0TW9kYWwgLmp4d2wtdGl0bGUgPiBzcGFuIHNwYW4sICN3aXNobGlzdEFkZGVkTW9kYWwgLmp4d2wtdGl0bGUgPiBzcGFuIHNwYW4ge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDA7IH1cblxuI2p4d2wtbGF5b3V0cy1wb3B1cCB7XG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gICNqeHdsLWxheW91dHMtcG9wdXAgLmp4d2xfcG9wdXBfaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI2p4d2wtbGF5b3V0cy1wb3B1cCAuanh3bF9wb3B1cF9pdGVtIC5wb3B1cF9zdG9yZV9sb2dvIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDU0JTtcbiAgICAgIHRvcDogNyU7XG4gICAgICB3aWR0aDogMTQwcHg7IH1cbiAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmp4d2xfcG9wdXBfaXRlbSAucG9wdXBfc3RvcmVfbG9nbyBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmp4d2xfcG9wdXBfaXRlbSBoNSB7XG4gICAgICBjb2xvcjogIzFiMWIxYjtcbiAgICAgIGZvbnQ6IDYwMCAxNnB4LzE5cHggXCJSdWJpa1wiLCBzYW5zLXNlcmlmO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTMlO1xuICAgICAgdG9wOiA0MCU7IH1cbiAgICAjanh3bC1sYXlvdXRzLXBvcHVwIC5qeHdsX3BvcHVwX2l0ZW0uanh3bF9yb3dfMSwgI2p4d2wtbGF5b3V0cy1wb3B1cCAuanh3bF9wb3B1cF9pdGVtLmp4d2xfcm93XzIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgI2p4d2wtbGF5b3V0cy1wb3B1cCAuanh3bF9wb3B1cF9pdGVtLmp4d2xfcm93XzMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgICAjanh3bC1sYXlvdXRzLXBvcHVwIC5qeHdsX3BvcHVwX2l0ZW0uanh3bF9yb3dfMSAucG9wdXBfc3RvcmVfbG9nbyB7XG4gICAgICByaWdodDogMjIlOyB9XG4gICAgI2p4d2wtbGF5b3V0cy1wb3B1cCAuanh3bF9wb3B1cF9pdGVtLmp4d2xfcm93XzIgaDUge1xuICAgICAgbGVmdDogNjMlO1xuICAgICAgdG9wOiA0OCU7IH1cbiAgICAjanh3bC1sYXlvdXRzLXBvcHVwIC5qeHdsX3BvcHVwX2l0ZW0uanh3bF9yb3dfMyBoNSB7XG4gICAgICBsZWZ0OiA3JTtcbiAgICAgIHRvcDogMTIlOyB9XG4gICAgI2p4d2wtbGF5b3V0cy1wb3B1cCAuanh3bF9wb3B1cF9pdGVtLmp4d2xfcm93XzQgLnBvcHVwX3N0b3JlX2xvZ28ge1xuICAgICAgcmlnaHQ6IGluaGVyaXQ7XG4gICAgICBsZWZ0OiA3JTtcbiAgICAgIHRvcDogaW5oZXJpdDtcbiAgICAgIGJvdHRvbTogNyU7IH1cbiAgICAjanh3bC1sYXlvdXRzLXBvcHVwIC5qeHdsX3BvcHVwX2l0ZW0uanh3bF9yb3dfNCBoNSB7XG4gICAgICBsZWZ0OiA3JTtcbiAgICAgIHRvcDogNSU7IH1cbiAgICAjanh3bC1sYXlvdXRzLXBvcHVwIC5qeHdsX3BvcHVwX2l0ZW0gPiB1bCB7XG4gICAgICBtaW4taGVpZ2h0OiAyNDhweDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhciAwcztcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmNmY2ZjY7IH1cbiAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmp4d2xfcG9wdXBfaXRlbSA+IHVsOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjIpIDAgMCA3cHg7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgI2p4d2wtbGF5b3V0cy1wb3B1cCAuYmxvY2stY29udGFpbmVyLXJvdyB7XG4gICAgICBib3JkZXItcmlnaHQ6IG5vbmU7IH0gfVxuICAjanh3bC1sYXlvdXRzLXBvcHVwIC5ibG9jay1jb250YWluZXItcm93IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmp4d2xfcG9wdXBfaXRlbSB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmp4d2xfcG9wdXBfaXRlbSAucG9wdXBfc3RvcmVfbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmp4d2xfcG9wdXBfaXRlbSAuaXRlbXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmp4d2xfcG9wdXBfaXRlbSB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lOyB9XG4gICAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmp4d2xfcG9wdXBfaXRlbSB1bDpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmp4d2xfcG9wdXBfaXRlbSB1bC5qeHdsX3Jvd180IHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAxODJweDsgfVxuICAgICAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmp4d2xfcG9wdXBfaXRlbSB1bC5qeHdsX3Jvd180IGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAgICAgICAgICAgI2p4d2wtbGF5b3V0cy1wb3B1cCAuYmxvY2stY29udGFpbmVyLXJvdyAuanh3bF9wb3B1cF9pdGVtIHVsLmp4d2xfcm93XzQgbGkgLmNvbnRlbnQge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDE4NXB4OyB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmp4d2xfcG9wdXBfaXRlbSB1bC5qeHdsX3Jvd18yIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICAgICAgICAjanh3bC1sYXlvdXRzLXBvcHVwIC5ibG9jay1jb250YWluZXItcm93IC5qeHdsX3BvcHVwX2l0ZW0gdWwuanh3bF9yb3dfMyBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgICAgICAgI2p4d2wtbGF5b3V0cy1wb3B1cCAuYmxvY2stY29udGFpbmVyLXJvdyAuanh3bF9wb3B1cF9pdGVtIHVsLmp4d2xfcm93XzQgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gICAgICAgICAgI2p4d2wtbGF5b3V0cy1wb3B1cCAuYmxvY2stY29udGFpbmVyLXJvdyAuanh3bF9wb3B1cF9pdGVtIHVsLmp4d2xfcm93XzMgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgICAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmp4d2xfcG9wdXBfaXRlbSB1bC5qeHdsX3Jvd180IGxpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgICAgI2p4d2wtbGF5b3V0cy1wb3B1cCAuYmxvY2stY29udGFpbmVyLXJvdyAuanh3bF9wb3B1cF9pdGVtIHVsIGxpIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7IH1cbiAgICAgICAgICAjanh3bC1sYXlvdXRzLXBvcHVwIC5ibG9jay1jb250YWluZXItcm93IC5qeHdsX3BvcHVwX2l0ZW0gdWwgbGkgLmNvbnRlbnQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmNmY2ZjY7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyIDBzO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjU1cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgICAgICAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmp4d2xfcG9wdXBfaXRlbSB1bCBsaSAuY29udGVudDpiZWZvcmUge1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICAgICAgICAgICAgY29udGVudDogXCLvg75cIjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgY29sb3I6ICNlZmE1MjM7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgICAgICAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmp4d2xfcG9wdXBfaXRlbSB1bCBsaSAuY29udGVudCBpbWcge1xuICAgICAgICAgICAgICB3aWR0aDogMjU3cHg7XG4gICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAgICAgICAjanh3bC1sYXlvdXRzLXBvcHVwIC5ibG9jay1jb250YWluZXItcm93IC5qeHdsX3BvcHVwX2l0ZW0gdWwgbGkgLmNvbnRlbnQgLmNsZWFyLWl0ZW0ge1xuICAgICAgICAgICAgICBjb2xvcjogI2NjY2NjYztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICByaWdodDogN3B4O1xuICAgICAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyIDBzO1xuICAgICAgICAgICAgICB6LWluZGV4OiAzOyB9XG4gICAgICAgICAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmp4d2xfcG9wdXBfaXRlbSB1bCBsaSAuY29udGVudCAuY2xlYXItaXRlbTpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMzMzM7IH1cbiAgICAgICAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmp4d2xfcG9wdXBfaXRlbSB1bCBsaSAuY29udGVudDpob3ZlciB7XG4gICAgICAgICAgICAgIGJveC1zaGFkb3c6IHJnYmEoMCwgMCwgMCwgMC4xNSkgMCAwIDdweDsgfVxuICAgICAgICAgICAgI2p4d2wtbGF5b3V0cy1wb3B1cCAuYmxvY2stY29udGFpbmVyLXJvdyAuanh3bF9wb3B1cF9pdGVtIHVsIGxpIC5jb250ZW50LmN1cnJlbnQge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgICAgICAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmp4d2xfcG9wdXBfaXRlbSB1bCBsaSAuY29udGVudC5jdXJyZW50IC5qeHdsLWNvbnRlbnQtaW1hZ2UgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgICAgICAgICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmp4d2xfcG9wdXBfaXRlbSB1bCBsaSAuY29udGVudC5jdXJyZW50OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgLmJsb2NrLWNvbnRhaW5lci1wcm9kdWN0IHtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAgICAgI2p4d2wtbGF5b3V0cy1wb3B1cCAuYmxvY2stY29udGFpbmVyLXJvdyAuYmxvY2stY29udGFpbmVyLXByb2R1Y3QgLnByb2R1Y3Qge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICB3aWR0aDogMTU1cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICAjanh3bC1sYXlvdXRzLXBvcHVwIC5ibG9jay1jb250YWluZXItcm93IC5ibG9jay1jb250YWluZXItcHJvZHVjdCAucHJvZHVjdC5hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgI2p4d2wtbGF5b3V0cy1wb3B1cCAuYmxvY2stY29udGFpbmVyLXJvdyAuYmxvY2stY29udGFpbmVyLXByb2R1Y3QgLnByb2R1Y3Q6aG92ZXIge1xuICAgICAgICAgIGJveC1zaGFkb3c6IHJnYmEoMTc0LCAxOTMsIDE5OSwgMC4zKSAwIDAgNHB4IDFweDsgfVxuICAgICAgICAjanh3bC1sYXlvdXRzLXBvcHVwIC5ibG9jay1jb250YWluZXItcm93IC5ibG9jay1jb250YWluZXItcHJvZHVjdCAucHJvZHVjdCBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAjanh3bC1sYXlvdXRzLXBvcHVwIC5ibG9jay1jb250YWluZXItcm93IC5zaGFyZV9idXR0b24ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAjanh3bC1sYXlvdXRzLXBvcHVwIC5ibG9jay1jb250YWluZXItcm93IC5zaGFyZV9idXR0b246aG92ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6ICNlNWU1ZTU7IH1cbiAgICAjanh3bC1sYXlvdXRzLXBvcHVwIC5ibG9jay1jb250YWluZXItcm93IC5iYWNrX2J1dHRvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDsgfVxuICAgICNqeHdsLWxheW91dHMtcG9wdXAgLmJsb2NrLWNvbnRhaW5lci1yb3cgI2JhY2tfYnV0dG9uX3N0ZXBfMiB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi5qeHdsX3BvcHVwX2l0ZW0gPiAuanh3bF9yb3dfMSB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvanh3bF9yb3dfMS5qcGcpIGxlZnQgdG9wIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7IH1cblxuLmp4d2xfcG9wdXBfaXRlbSA+IC5qeHdsX3Jvd18yIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9qeHdsX3Jvd18yLmpwZykgbGVmdCB0b3Agbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTsgfVxuXG4uanh3bF9wb3B1cF9pdGVtID4gLmp4d2xfcm93XzMge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2p4d2xfcm93XzMuanBnKSBsZWZ0IHRvcCBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOyB9XG5cbi5qeHdsX3BvcHVwX2l0ZW0gPiAuanh3bF9yb3dfNCB7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvanh3bF9yb3dfNC5qcGcpIGxlZnQgdG9wIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7IH1cblxuI3ZpZXdfd2lzaGxpc3QgdWwgbGkgLnByb2R1Y3RfaW1hZ2Uge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbiN2aWV3X3dpc2hsaXN0IHVsIGxpIC5wcm9kdWN0X2NvbnRhaW5lciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cbiAgI3ZpZXdfd2lzaGxpc3QgdWwgbGkgLnByb2R1Y3RfY29udGFpbmVyIGg1IC5xdWFudGl0eS1mb3JtYXRlZCB7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICN2aWV3X3dpc2hsaXN0IHVsIGxpIC5wcm9kdWN0X2NvbnRhaW5lciBoNSAucXVhbnRpdHktZm9ybWF0ZWQgLnF1YW50aXR5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICAjdmlld193aXNobGlzdCB1bCBsaSAucHJvZHVjdF9jb250YWluZXIgLmNvbnRlbnRfcHJpY2Uge1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cblxuXG4vLyBXRUJQQUNLIEZPT1RFUiAvL1xuLy8gLi9tb2R1bGVzL2p4d2lzaGxpc3Qvdmlld3MvY3NzL0M6L09wZW5TZXJ2ZXIvZG9tYWlucy9sb2NhbGhvc3QvdGhlbWVfQ2xpbWJlclN0b3JlL3RoZW1lcy90aGVtZV8xNTEyL19kZXYvZnJvbnRfd2lzaGxpc3RzLnNjc3MiLCJAaW1wb3J0IFwiY3NzL3BhcnRpYWxzL192YXJpYWJsZXNcIjtcclxuI3dpc2hsaXN0X2J1dHRvbixcclxuI3dpc2hsaXN0X2J1dHRvbl9ub3BvcCxcclxuLndpc2hsaXN0X2J1dHRvbixcclxuLndpc2hsaXN0X2J1dHRvbl9ub3BvcCB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgKyBpIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiN3aXNobGlzdF9idXR0b24sXHJcbi5kcm9wdXAsXHJcbi53aXNobGlzdF9idXR0b24sXHJcbi53aXNobGlzdF9idXR0b25fbm9wb3Age1xyXG4gICYuYWRkZWQtdG8td2lzaGxpc3Qge1xyXG4gICAgaSB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICsgaSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLndpc2hsaXN0LWxpbmsge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICA+IGEge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIFxyXG4gIC5kcm9wZG93bi1tZW51IHtcclxuICAgIHdpZHRoOiAxMjBweDtcclxuICAgIG1pbi13aWR0aDogMDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtNDdweDtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuICAgIC50aXRsZSB7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggN3B4O1xyXG4gICAgICBtYXJnaW46IC0xMHB4IC0xMHB4IDEwcHg7XHJcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5LTIwMDtcclxuICAgICAgY29sb3I6ICRncmF5LTgwMDtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi53aXNobGlzdC1pdGVtIHtcclxuICBjb2xvcjogJGdyYXktNjAwO1xyXG4gIHRyYW5zaXRpb246IDAuM3MgY29sb3IgZWFzZTtcclxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICYgKyAud2lzaGxpc3QtaXRlbSB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIH1cclxuICAmOmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcclxuICB9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWFkZGl0aW9uYWwtaW5mbyB7XHJcbiAgLndpc2hsaXN0LWJ1dHRvbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBjb2xvcjogJGdyYXktODAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBpIHtcclxuICAgICAgZm9udC1zaXplOiAyNnB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcclxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgcGFkZGluZy10b3A6IDNweDtcclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICBjb2xvcjogJGdyYXktNTAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1pbi13aWR0aDogMTIwcHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICB9XHJcbn1cclxuXHJcblxyXG4uYWxsLXdpc2hsaXN0IHtcclxuICA+IGxpIHtcclxuICAgIHBhZGRpbmc6IDM3cHggMjJweCAzMnB4O1xyXG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAjYWRkLW5ldy1sYXlvdXQge1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xyXG4gICAgICAgIGNsZWFyOiBsZWZ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuYnRuLXByb2R1Y3Qtd2lzaGxpc3Qge1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIGNvbG9yOiAkZ3JheS05MDA7XHJcbiAgICAgIGZvbnQ6IDQwMCAxNnB4LzIxcHggJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICBtYXJnaW46IDEycHggMTVweCAwIDA7XHJcbiAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgY2xlYXI6IGxlZnQ7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICRncmF5LTYwMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLndpc2hsaXN0LXByb2R1Y3RzLWNvbnRhaW5lciB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xyXG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NkY2RjZDtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgdWwge1xyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xyXG4gICAgICAgICAgLnByb2R1Y3RfaW1hZ2Uge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIC5sbmtkZWwge1xyXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIGg1IHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICBmb250OiA0MDAgMTRweC8xN3B4ICRmb250LWZhbWlseS1iYXNlO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAjMWIxYjFiO1xyXG4gICAgICAgICAgICAgIC5xdWFudGl0eS1mb3JtYXRlZCB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzMzMztcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgICAgICAucXVhbnRpdHkge1xyXG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICM3Nzc7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAuY29udGVudF9wcmljZSB7XHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgICAgICAgIGZvbnQ6IDYwMCAxOHB4LzIxcHggJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLmFsZXJ0LmFsZXJ0LXdhcm5pbmcge1xyXG4gICAgICAgIG1hcmdpbjogMzBweCAwIDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC53aXNobGlzdC1yb3ctYm90dG9tIHtcclxuICAgICAgbWFyZ2luLXRvcDogMjVweDtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHhzKSB7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICA+ICoge1xyXG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLmxua2RlbC5jbG9zZSB7XHJcbiAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuI3dpc2hsaXN0TW9kYWwge1xyXG4gIC5tb2RhbC1kaWFsb2cge1xyXG4gICAgbWF4LXdpZHRoOiAxMDIwcHg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLndpc2hsaXN0X2NvbnRlbnQge1xyXG4gIC5wcm9kdWN0X2ltYWdlIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ0ZDQ7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAubG5rZGVsIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICByaWdodDogMTBweDtcclxuICAgICAgdG9wOiAxMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnBvcF9idG5fd2lzaGxpc3Qge1xyXG4gIGZsb2F0OiByaWdodDtcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuXHRcdCAgICAgICAgU3R5bGUgZm9yIHBvcHVwIHdpdGggc2VsZWN0IGxheW91dHNcclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcbiN3aXNobGlzdE1vZGFsLCAjd2lzaGxpc3RBZGRlZE1vZGFsIHtcclxuICAubW9kYWwtZGlhbG9nIHtcclxuICAgIG1heC13aWR0aDogMTAyMHB4O1xyXG4gIH1cclxuICAuanh3bC10aXRsZSB7XHJcbiAgICA+IHNwYW4ge1xyXG4gICAgICBjb2xvcjogIzFiMWIxYjtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIHNwYW4ge1xyXG4gICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiNqeHdsLWxheW91dHMtcG9wdXAge1xyXG4gIG1hcmdpbi1sZWZ0OiAtMTVweDtcclxuICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIC5qeHdsX3BvcHVwX2l0ZW0ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLnBvcHVwX3N0b3JlX2xvZ28ge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDU0JTtcclxuICAgICAgdG9wOiA3JTtcclxuICAgICAgd2lkdGg6IDE0MHB4O1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGg1IHtcclxuICAgICAgY29sb3I6ICMxYjFiMWI7XHJcbiAgICAgIGZvbnQ6IDYwMCAxNnB4LzE5cHggJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogNTMlO1xyXG4gICAgICB0b3A6IDQwJTtcclxuICAgIH1cclxuICAgICYuanh3bF9yb3dfMSxcclxuICAgICYuanh3bF9yb3dfMiB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICAgJi5qeHdsX3Jvd18zIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmp4d2xfcm93XzEge1xyXG4gICAgICAucG9wdXBfc3RvcmVfbG9nbyB7XHJcbiAgICAgICAgcmlnaHQ6IDIyJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5qeHdsX3Jvd18yIHtcclxuICAgICAgaDUge1xyXG4gICAgICAgIGxlZnQ6IDYzJTtcclxuICAgICAgICB0b3A6IDQ4JTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5qeHdsX3Jvd18zIHtcclxuICAgICAgaDUge1xyXG4gICAgICAgIGxlZnQ6IDclO1xyXG4gICAgICAgIHRvcDogMTIlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmp4d2xfcm93XzQge1xyXG4gICAgICAucG9wdXBfc3RvcmVfbG9nbyB7XHJcbiAgICAgICAgcmlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgbGVmdDogNyU7XHJcbiAgICAgICAgdG9wOiBpbmhlcml0O1xyXG4gICAgICAgIGJvdHRvbTogNyU7XHJcbiAgICAgIH1cclxuICAgICAgaDUge1xyXG4gICAgICAgIGxlZnQ6IDclO1xyXG4gICAgICAgIHRvcDogNSU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgID4gdWwge1xyXG4gICAgICBtaW4taGVpZ2h0OiAyNDhweDtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyIDBzO1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmNmY2ZjY7XHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3cocmdiYShibGFjaywgMC4yKSAwIDAgN3B4KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XHJcbiAgICAuYmxvY2stY29udGFpbmVyLXJvdyB7XHJcbiAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLmJsb2NrLWNvbnRhaW5lci1yb3cge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAuanh3bF9wb3B1cF9pdGVtIHtcclxuICAgICAgZmxleDogMCAwIDEwMCU7XHJcbiAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgIC5wb3B1cF9zdG9yZV9sb2dvIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICAgIC5pdGVtcyB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgIH1cclxuICAgICAgdWwge1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIGN1cnNvcjogYXV0bztcclxuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcclxuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuanh3bF9yb3dfNCB7XHJcbiAgICAgICAgICBtaW4taGVpZ2h0OiAxODJweDtcclxuICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMTg1cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAmLmp4d2xfcm93XzIge1xyXG4gICAgICAgICAgICBsaTpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJi5qeHdsX3Jvd18zIHtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYuanh3bF9yb3dfNCB7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xyXG4gICAgICAgICAgJi5qeHdsX3Jvd18zIHtcclxuICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAgICAgICAmLmp4d2xfcm93XzQge1xyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjZmNmY2O1xyXG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyIDBzO1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyNTVweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYWRkSWNvbignXFxmMGZlJywgMzBweCwgMSwgJGJyYW5kLXByaW1hcnksIG1hcmdpbi1sZWZ0LCBtYXJnaW4tcmlnaHQsIHZlcnRpY2FsLWFsaWduKTtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDI1N3B4O1xyXG4gICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jbGVhci1pdGVtIHtcclxuICAgICAgICAgICAgICBjb2xvcjogI2NjY2NjYztcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgcmlnaHQ6IDdweDtcclxuICAgICAgICAgICAgICB0b3A6IDdweDtcclxuICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXIgMHM7XHJcbiAgICAgICAgICAgICAgei1pbmRleDogMztcclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBib3gtc2hhZG93KHJnYmEoYmxhY2ssIDAuMTUpIDAgMCA3cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICYuY3VycmVudCB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcclxuICAgICAgICAgICAgICAuanh3bC1jb250ZW50LWltYWdlIHtcclxuICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBcclxuICAgIH1cclxuICAgIC5ibG9jay1jb250YWluZXItcHJvZHVjdCB7XHJcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgLnByb2R1Y3Qge1xyXG4gICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgIHBhZGRpbmc6IDZweDtcclxuICAgICAgICB3aWR0aDogMTU1cHg7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdyhyZ2JhKDE3NCwgMTkzLCAxOTksIDAuMykgMCAwIDRweCAxcHgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpbWcge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNoYXJlX2J1dHRvbiB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICNlNWU1ZTU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIC5iYWNrX2J1dHRvbiB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgfVxyXG4gICAgI2JhY2tfYnV0dG9uX3N0ZXBfMiB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uanh3bF9wb3B1cF9pdGVtID4gLmp4d2xfcm93XzEge1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvanh3bF9yb3dfMS5qcGcpIGxlZnQgdG9wIG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxufVxyXG5cclxuLmp4d2xfcG9wdXBfaXRlbSA+IC5qeHdsX3Jvd18yIHtcclxuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2p4d2xfcm93XzIuanBnKSBsZWZ0IHRvcCBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbn1cclxuXHJcbi5qeHdsX3BvcHVwX2l0ZW0gPiAuanh3bF9yb3dfMyB7XHJcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9qeHdsX3Jvd18zLmpwZykgbGVmdCB0b3Agbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xyXG59XHJcblxyXG4uanh3bF9wb3B1cF9pdGVtID4gLmp4d2xfcm93XzQge1xyXG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvanh3bF9yb3dfNC5qcGcpIGxlZnQgdG9wIG5vLXJlcGVhdDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxufVxyXG5cclxuI3ZpZXdfd2lzaGxpc3QgdWwgbGkge1xyXG4gIC5wcm9kdWN0X2ltYWdlIHtcclxuICAgIG1hcmdpbjogMCAwIDIwcHg7XHJcbiAgfVxyXG4gIC5wcm9kdWN0X2NvbnRhaW5lciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxuICAgIGg1IHtcclxuICAgICAgLnF1YW50aXR5LWZvcm1hdGVkIHtcclxuICAgICAgICBjb2xvcjogIzMzMztcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIC5xdWFudGl0eSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDE3cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY29udGVudF9wcmljZSB7XHJcbiAgICAgIGNvbG9yOiAjMzMzO1xyXG4gICAgICBmb250LXNpemU6IDIxcHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL21vZHVsZXMvanh3aXNobGlzdC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC90aGVtZV9DbGltYmVyU3RvcmUvdGhlbWVzL3RoZW1lXzE1MTIvX2Rldi9tb2R1bGVzL2p4d2lzaGxpc3Qvdmlld3MvY3NzL2Zyb250X3dpc2hsaXN0cy5zY3NzIiwiLy9cbi8vIENvbG9yIHN5c3RlbVxuLy9cbiR3aGl0ZTogICNmZmY7XG4kZ3JheS0xMDA6ICNmYWZhZmEgO1xuJGdyYXktMjAwOiAjZjFmMWYxO1xuJGdyYXktMzAwOiAjZWJlYmViO1xuJGdyYXktNDAwOiAjZGRkZGRkO1xuJGdyYXktNTAwOiAjYWJhYmFiO1xuJGdyYXktNjAwOiAjOTE5MTkxO1xuJGdyYXktNzAwOiAjNjM2MzYzO1xuJGdyYXktODAwOiAjM2EzYTNhO1xuJGdyYXktOTAwOiAjMGYwZjBmO1xuJGJsYWNrOiAgIzAwMDtcblxuJGdyYXlzOiAoXG4gIDEwMDogJGdyYXktMTAwLFxuICAyMDA6ICRncmF5LTIwMCxcbiAgMzAwOiAkZ3JheS0zMDAsXG4gIDQwMDogJGdyYXktNDAwLFxuICA1MDA6ICRncmF5LTUwMCxcbiAgNjAwOiAkZ3JheS02MDAsXG4gIDcwMDogJGdyYXktNzAwLFxuICA4MDA6ICRncmF5LTgwMCxcbiAgOTAwOiAkZ3JheS05MDBcbik7XG5cbiRibHVlOiAgICAjNWQ5Y2VjO1xuJGluZGlnbzogICM2NjEwZjI7XG4kcHVycGxlOiAgIzZmNDJjMTtcbiRwaW5rOiAgICAjZGU2ZDZkO1xuJHJlZDogICAgICNkMDU2NTY7XG4kb3JhbmdlOiAgI2VmYTUyMztcbiR5ZWxsb3c6ICAjZmZmMWJjO1xuJGdyZWVuOiAgICM3Y2QyMmY7XG4kdGVhbDogICAgIzIwYzk5NztcbiRjeWFuOiAgICAjYzVmMmZkO1xuXG4kY29sb3JzOiAoXG4gIGJsdWU6ICRibHVlLFxuICBpbmRpZ286ICRpbmRpZ28sXG4gIHB1cnBsZTogJHB1cnBsZSxcbiAgcGluazogJHBpbmssXG4gIHJlZDogJHJlZCxcbiAgb3JhbmdlOiAkb3JhbmdlLFxuICB5ZWxsb3c6ICR5ZWxsb3csXG4gIGdyZWVuOiAkZ3JlZW4sXG4gIHRlYWw6ICR0ZWFsLFxuICBjeWFuOiAkY3lhbixcbiAgd2hpdGU6ICR3aGl0ZSxcbiAgZ3JheTogJGdyYXktNjAwLFxuICBncmF5LWRhcms6ICRncmF5LTgwMCxcbiAgZ3JheS1kYXJrZXI6ICRncmF5LTkwMCxcbiAgZ3JheS1saWdodDogJGdyYXktMjAwLFxuICBncmF5LWxpZ2h0ZXI6ICRncmF5LTEwMFxuKTtcblxuJHRoZW1lLWNvbG9yczogKFxuICBwcmltYXJ5OiAkb3JhbmdlLFxuICBzZWNvbmRhcnk6ICRncmF5LTkwMCxcbiAgc3VjY2VzczogJGdyZWVuLFxuICBpbmZvOiAkY3lhbixcbiAgd2FybmluZzogJG9yYW5nZSxcbiAgZGFuZ2VyOiAkcGluayxcbiAgbGlnaHQ6ICRncmF5LTIwMCxcbiAgZGFyazogJGdyYXktOTAwLFxuICB3aGl0ZTogJHdoaXRlXG4pO1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL21vZHVsZXMvanh3aXNobGlzdC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC90aGVtZV9DbGltYmVyU3RvcmUvdGhlbWVzL3RoZW1lXzE1MTIvX2Rldi9jc3MvcGFydGlhbHMvX3ZhcmlhYmxlc19jb2xvci5zY3NzIiwiQGltcG9ydCBcInZhcmlhYmxlc19jb2xvclwiO1xuQGltcG9ydCBcIn5ib290c3RyYXAvc2Nzcy9taXhpbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnNcIjtcblxuLy9tYWluIGNvbG9yc1xuJGJyYW5kLXByaW1hcnk6ICRvcmFuZ2U7XG4kYnJhbmQtc2Vjb25kYXJ5OiAkZ3JheS02MDA7XG4kYnJhbmQtc3VjY2VzczogJGdyZWVuO1xuJGJyYW5kLWluZm86ICRjeWFuO1xuJGJyYW5kLXdhcm5pbmc6ICRvcmFuZ2U7XG4kYnJhbmQtZGFuZ2VyOiAkcmVkO1xuJGJvZHktY29sb3I6ICRncmF5LTYwMDtcbiRib2R5LWJnOiB3aGl0ZTtcblxuLy9mb250c1xuJGZvbnQtZmFtaWx5LWJhc2U6ICdSdWJpaycsIHNhbnMtc2VyaWY7XG5cbi8vTGlua3NcbiRsaW5rLWNvbG9yOiAkZ3JheS04MDA7XG4kbGluay1ob3Zlci1jb2xvcjogJGdyYXktNjAwO1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogbm9uZTtcblxuLy9mb250IHNpemVcbiRmb250LXNpemUtbGc6IDEuMjVyZW07XG4kZm9udC1zaXplLXNtOiAwLjc1cmVtO1xuJGZvbnQtd2VpZ2h0LWJhc2U6IDQwMDtcbiRsaW5lLWhlaWdodC1iYXNlOiAxLjI4NjtcbiRoMS1mb250LXNpemU6IDIuNXJlbTtcbiRoMi1mb250LXNpemU6IDEuNzUwcmVtO1xuJGgzLWZvbnQtc2l6ZTogMS41cmVtO1xuJGg0LWZvbnQtc2l6ZTogMS41cmVtO1xuJGg1LWZvbnQtc2l6ZTogMS4xMjVyZW07XG4kaDYtZm9udC1zaXplOiAxLjEyNXJlbTtcbiRoZWFkaW5ncy1tYXJnaW4tYm90dG9tOiAyN3B4O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiBib2xkO1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAxLjU7XG4kaGVhZGluZ3MtY29sb3I6ICRncmF5LTgwMDtcblxuLy9idXR0b25zXG4kYnRuLWZvbnQtd2VpZ2h0OiBib2xkO1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAwO1xuJGJ0bi1ib3JkZXItcmFkaXVzLXNtOiAwO1xuJGJ0bi1ib3JkZXItcmFkaXVzLWxnOiAwO1xuJGJ0bi1ib3gtc2hhZG93OiBub25lO1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiBub25lO1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogbm9uZTtcblxuLy9TcGFjaW5nXG4kYm9yZGVyLXJhZGl1czogMDtcbiRib3JkZXItcmFkaXVzLXNtOiAwO1xuJGJvcmRlci1yYWRpdXMtbGc6IDA7XG4kc3BhY2VyOiAycmVtO1xuJGV4dHJhLXNtYWxsLXNwYWNlOiAkc3BhY2VyICogLjI1O1xuJHNtYWxsLXNwYWNlOiAkc3BhY2VyICogLjU7XG4kbWVkaXVtLXNwYWNlOiAkc3BhY2VyO1xuJGxhcmdlLXNwYWNlOiAkc3BhY2VyICogMS41O1xuJGV4dHJhLWxhcmdlLXNwYWNlOiAkc3BhY2VyICogMztcblxuLy9mb3Jtc1xuJGlucHV0LWJnOiAkZ3JheS0yMDA7XG4kaW5wdXQtYnRuLWJvcmRlci13aWR0aDogMXB4O1xuJGlucHV0LWJvcmRlci1jb2xvcjogJGdyYXktMjAwO1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogJGdyYXktMzAwO1xuJGlucHV0LWZvY3VzLWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRibGFjaztcbiRpbnB1dC1ib3gtc2hhZG93OiBub25lO1xuJGlucHV0LWdyb3VwLWJ0bi1ib3JkZXItY29sb3I6IGluaXRpYWw7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4kaW5wdXQtZ3JvdXAtYWRkb24tYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuXG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0OiAxLjU7XG4kaW5wdXQtYnRuLXBhZGRpbmcteTogMC42MjVyZW07XG4kaW5wdXQtYnRuLXBhZGRpbmcteDogMS4xMjVyZW07XG5cbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206IDEuNTtcbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAwLjVyZW07XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1zbTogMXJlbTtcblxuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZzogMS41O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6IDEuMTVyZW07XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogMi40cmVtO1xuXG4kaW5wdXQtaGVpZ2h0LWJvcmRlcjogJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lcjogKCRmb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0KSArICgkaW5wdXQtYnRuLXBhZGRpbmcteSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodDogY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4vL2N1c3RvbSBmb3Jtc1xuJGN1c3RvbS1jb250cm9sLWd1dHRlcjogMjdweDtcbiRjdXN0b20tY29udHJvbC1zcGFjZXIteDogMjBweDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogMS40MjlyZW07XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiB0cmFuc3BhcmVudDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICRncmF5LTQwMDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc6ICRncmF5LTIwMDtcbiRjdXN0b20tY29udHJvbC1kZXNjcmlwdGlvbi1kaXNhYmxlZC1jb2xvcjogJGdyYXktMjAwO1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAkZ3JheS04MDA7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAkZ3JheS04MDA7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogJGdyYXktODAwO1xuJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmODtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0S1BITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSGh0Ykc1ek9uaHNhVzVyUFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eE9UazVMM2hzYVc1cklpQjJaWEp6YVc5dVBTSXhMakVpSUhacFpYZENiM2c5SWpBZ01DQXhNamtnTVRJNUlpQmxibUZpYkdVdFltRmphMmR5YjNWdVpEMGlibVYzSURBZ01DQXhNamtnTVRJNUlpQjNhV1IwYUQwaU1UWndlQ0lnYUdWcFoyaDBQU0l4Tm5CNElqNEtJQ0E4Wno0S0lDQWdJRHh3WVhSb0lHUTlJbTB4TWpFdU15d3pOQzQyWXkweExqWXRNUzQyTFRRdU1pMHhMall0TlM0NExEQnNMVFV4TERVeExqRXROVEV1TVMwMU1TNHhZeTB4TGpZdE1TNDJMVFF1TWkweExqWXROUzQ0TERBdE1TNDJMREV1TmkweExqWXNOQzR5SURBc05TNDRiRFV6TGprc05UTXVPV013TGpnc01DNDRJREV1T0N3eExqSWdNaTQ1TERFdU1pQXhMREFnTWk0eExUQXVOQ0F5TGprdE1TNHliRFV6TGprdE5UTXVPV014TGpjdE1TNDJJREV1TnkwMExqSWdNQzR4TFRVdU9Ib2lJR1pwYkd3OUlpTXdNREF3TURBaUx6NEtJQ0E4TDJjK0Nqd3ZjM1puUGdvPVwiKTtcbiRjdXN0b20tc2VsZWN0LWJnOiAkZ3JheS0yMDA7XG4kY3VzdG9tLXNlbGVjdC1jb2xvcjogJGdyYXktNjAwO1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDA7XG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93OiBub25lO1xuXG4vL21vZGFsc1xuJG1vZGFsLWxnOiAxNDUwcHg7XG4kbW9kYWwtbWQ6IDEwMDBweDtcbiRtb2RhbC1zbTogNTAwcHg7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmc6IDMwcHg7XG4kbW9kYWwtaW5uZXItcGFkZGluZzogMzBweDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXA6IG5vbmU7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiBub25lO1xuXG4vL2Ryb3Bkb3duc1xuJGRyb3Bkb3duLW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd24tcGFkZGluZy15OiA1cHg7XG4kZHJvcGRvd24tc3BhY2VyOiAwO1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogMDtcbiRkcm9wZG93bi1iZzogd2hpdGU7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogMCA1cHggNDNweCByZ2JhKDAsIDAsIDAsIDAuMTEpO1xuJGVuYWJsZS1zaGFkb3dzOiB0cnVlO1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAxMHB4O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAxNXB4O1xuJGRyb3Bkb3duLWxpbmstaG92ZXItY29sb3I6ICRncmF5LTYwMDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiB0cmFuc3BhcmVudDtcbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogJGJyYW5kLXByaW1hcnk7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6IHRyYW5zcGFyZW50O1xuXG4vL2dyaWQgZXhhbXBsZVxuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDIwcHg7XG5cbiRncmlkLWJyZWFrcG9pbnRzOiAoXG4gIC8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXG4gIHhzOiAwLFxuICAvLyBTbWFsbCBzY3JlZW4gLyBwaG9uZVxuICBzbTogNTc2cHgsXG4gIC8vIE1lZGl1bSBzY3JlZW4gLyB0YWJsZXRcbiAgbWQ6IDc2OHB4LFxuICAvLyBMYXJnZSBzY3JlZW4gLyBkZXNrdG9wXG4gIGxnOiA5OTJweCxcbiAgLy8gRXh0cmEgbGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXG4gIHhsOiAxMjAwcHgsXG4gIC8vIEV4dHJhIGxhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxuICB4eGw6IDE2MTZweFxuKTtcblxuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoXG4gIHNtOiA2MTBweCxcbiAgbWQ6IDc2MHB4LFxuICBsZzogOTkwcHgsXG4gIHhsOiAxMTcwcHgsXG4gIHh4bDogMTU3MnB4XG4pO1xuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL21vZHVsZXMvanh3aXNobGlzdC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC90aGVtZV9DbGltYmVyU3RvcmUvdGhlbWVzL3RoZW1lXzE1MTIvX2Rldi9jc3MvcGFydGlhbHMvX3ZhcmlhYmxlcy5zY3NzIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMnB4LCBudWxsKTtcbn1cblxuLy8gUmV0dXJucyBhIGJsYW5rIHN0cmluZyBpZiBzbWFsbGVzdCBicmVha3BvaW50LCBvdGhlcndpc2UgcmV0dXJucyB0aGUgbmFtZSB3aXRoIGEgZGFzaCBpbmZyb250LlxuLy8gVXNlZnVsIGZvciBtYWtpbmcgcmVzcG9uc2l2ZSB1dGlsaXRpZXMuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeCh4cywgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiXCIgIChSZXR1cm5zIGEgYmxhbmsgc3RyaW5nKVxuLy8gICAgPj4gYnJlYWtwb2ludC1pbmZpeChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIFwiLXNtXCJcbkBmdW5jdGlvbiBicmVha3BvaW50LWluZml4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEByZXR1cm4gaWYoYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cykgPT0gbnVsbCwgXCJcIiwgXCItI3skbmFtZX1cIik7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtaW4ge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQGlmICRtYXgge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJGxvd2VyLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkdXBwZXIsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGxvd2VyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgQGlmICRtaW4gIT0gbnVsbCBhbmQgJG1heCAhPSBudWxsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikgYW5kIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWF4ID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8gV0VCUEFDSyBGT09URVIgLy9cbi8vIC4vbW9kdWxlcy9qeHdpc2hsaXN0L3ZpZXdzL2Nzcy9DOi9PcGVuU2VydmVyL2RvbWFpbnMvbG9jYWxob3N0L3RoZW1lX0NsaW1iZXJTdG9yZS90aGVtZXMvdGhlbWVfMTUxMi9fZGV2L25vZGVfbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2JyZWFrcG9pbnRzLnNjc3MiLCJAbWl4aW4gYm94LXNoYWRvdygkc2hhZG93Li4uKSB7XG4gIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cbn1cblxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL21vZHVsZXMvanh3aXNobGlzdC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC90aGVtZV9DbGltYmVyU3RvcmUvdGhlbWVzL3RoZW1lXzE1MTIvX2Rldi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3gtc2hhZG93LnNjc3MiLCIvL21peGluIGZvciBpY29ucyAtIEBpbmNsdWRlIGFkZEljb24oJ1xcZjAyMScsIGZvbnQtc2l6ZSwgbGluZS1oZWlnaHQsIGNvbG9yLCBtYXJnaW4tbGVmdCwgbWFyZ2luLXJpZ2h0LCB2ZXJ0aWNhbC1hbGlnbilcbkBtaXhpbiBhZGRJY29uKCRjb250ZW50LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRjb2xvciwgJG1hcmdpbi1sZWZ0LCAkbWFyZ2luLXJpZ2h0LCAkdmVydGljYWwtYWxpZ24pIHtcbiAgZm9udC1mYW1pbHk6ICdGb250QXdlc29tZSc7XG4gIGNvbnRlbnQ6ICRjb250ZW50O1xuICBAaWYgJGZvbnQtc2l6ZSAhPSBmb250LXNpemUge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuICBAaWYgJGxpbmUtaGVpZ2h0ICE9IGxpbmUtaGVpZ2h0IHtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICB9XG4gIEBpZiAkY29sb3IgIT0gY29sb3Ige1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbiAgQGlmICRtYXJnaW4tbGVmdCAhPSBtYXJnaW4tbGVmdCB7XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW4tbGVmdDtcbiAgfVxuICBAaWYgJG1hcmdpbi1yaWdodCAhPSBtYXJnaW4tcmlnaHQge1xuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbi1yaWdodDtcbiAgfVxuICBAaWYgJHZlcnRpY2FsLWFsaWduICE9IHZlcnRpY2FsLWFsaWduIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogJHZlcnRpY2FsLWFsaWduO1xuICB9XG59XG5cbkBtaXhpbiBhZGRGbE91dEljb24oJGNvbnRlbnQsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGNvbG9yLCAkbWFyZ2luLWxlZnQsICRtYXJnaW4tcmlnaHQsICR2ZXJ0aWNhbC1hbGlnbikge1xuICBmb250LWZhbWlseTogXCJmbC1vdXRpY29uc1wiO1xuICBjb250ZW50OiAkY29udGVudDtcbiAgQGlmICRmb250LXNpemUgIT0gZm9udC1zaXplIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cbiAgQGlmICRsaW5lLWhlaWdodCAhPSBsaW5lLWhlaWdodCB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuICBAaWYgJGNvbG9yICE9IGNvbG9yIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gIEBpZiAkbWFyZ2luLWxlZnQgIT0gbWFyZ2luLWxlZnQge1xuICAgIG1hcmdpbi1sZWZ0OiAkbWFyZ2luLWxlZnQ7XG4gIH1cbiAgQGlmICRtYXJnaW4tcmlnaHQgIT0gbWFyZ2luLXJpZ2h0IHtcbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW4tcmlnaHQ7XG4gIH1cbiAgQGlmICR2ZXJ0aWNhbC1hbGlnbiAhPSB2ZXJ0aWNhbC1hbGlnbiB7XG4gICAgdmVydGljYWwtYWxpZ246ICR2ZXJ0aWNhbC1hbGlnbjtcbiAgfVxufVxuXG5cbi8vIFdFQlBBQ0sgRk9PVEVSIC8vXG4vLyAuL21vZHVsZXMvanh3aXNobGlzdC92aWV3cy9jc3MvQzovT3BlblNlcnZlci9kb21haW5zL2xvY2FsaG9zdC90aGVtZV9DbGltYmVyU3RvcmUvdGhlbWVzL3RoZW1lXzE1MTIvX2Rldi9jc3MvcGFydGlhbHMvX21peGlucy5zY3NzIl0sInNvdXJjZVJvb3QiOiIifQ==*/