@charset "UTF-8";
/*
    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
--------------------------------------------------------------- */
/* TGCW22 Theme Styles
--------------------------------------------------------------- */
html {
  font-size: 16px; }

html,
body,
q,
blockquote,
.dropcap {
  font-family: "Sailec-Regular"; }

body.page-template-tgcw22-default {
  color: var(--accentcolor2-color);
  /* overlay animate in */
  /* overlay animate out */
  /* content at start */
  /* content animate it */
  /* content animate out */ }
  body.page-template-tgcw22-default .tgcw22_wrapper {
    color: var(--accentcolor2-color); }
  body.page-template-tgcw22-default #header-spacer {
    height: 0; }
  body.page-template-tgcw22-default a {
    color: var(--accentcolor-color); }
  body.page-template-tgcw22-default .SailecBold {
    font-family: "Sailec-Bold"; }
  body.page-template-tgcw22-default .SailecLight {
    font-family: "Sailec-Light"; }
  body.page-template-tgcw22-default .SailecMedium {
    font-family: "Sailec-Medium"; }
  body.page-template-tgcw22-default .SailecRegular {
    font-family: "Sailec-Regular"; }
  body.page-template-tgcw22-default .SailecRegularItalic {
    font-family: "Sailec-RegularItalic"; }
  body.page-template-tgcw22-default h1,
  body.page-template-tgcw22-default h2 {
    font-family: "Corben"; }
  body.page-template-tgcw22-default h5 {
    font-size: 24px;
    line-height: 29px; }
  body.page-template-tgcw22-default .hide {
    display: none !important; }
  body.page-template-tgcw22-default .disabled {
    pointer-events: none; }
  body.page-template-tgcw22-default .event_btn {
    border-radius: 33px;
    color: var(--accentcolor2-color);
    background-color: var(--accentcolor-color);
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    font-size: 20px;
    height: 60px;
    width: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 44px;
    white-space: nowrap; }
    body.page-template-tgcw22-default .event_btn.small {
      font-size: 13px;
      height: 32px;
      padding: 0 27px; }
  body.page-template-tgcw22-default .acc_circle {
    border: 3px solid var(--accentcolor2-color);
    background-color: #fff;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    min-height: 25px;
    min-width: 25px;
    display: inline-block;
    margin-right: 9px; }
  body.page-template-tgcw22-default .mfp_fade_speaker.mfp-bg {
    opacity: 0;
    -webkit-transition: all 0.15s ease-out;
    -moz-transition: all 0.15s ease-out;
    transition: all 0.15s ease-out; }
  body.page-template-tgcw22-default .mfp_fade_speaker.mfp-bg.mfp-ready {
    opacity: 0.9; }
  body.page-template-tgcw22-default .mfp_fade_speaker.mfp-bg.mfp-removing {
    opacity: 0; }
  body.page-template-tgcw22-default .mfp_fade_speaker.mfp-wrap .mfp-content {
    opacity: 0;
    -webkit-transition: all 0.15s ease-out;
    -moz-transition: all 0.15s ease-out;
    transition: all 0.15s ease-out; }
  body.page-template-tgcw22-default .mfp_fade_speaker.mfp-wrap.mfp-ready .mfp-content {
    opacity: 1; }
  body.page-template-tgcw22-default .mfp_fade_speaker.mfp-wrap.mfp-removing .mfp-content {
    opacity: 0; }
  body.page-template-tgcw22-default .mfp_fade_speaker.mfp-bg {
    background-color: #202d41e6;
    background-color: rgba(32, 45, 65, 0.9); }
  body.page-template-tgcw22-default .mfp-wrap .mfp-close {
    transition: background 0.3s ease-in-out;
    position: absolute;
    right: 0;
    top: 0;
    color: #202d41;
    opacity: 1;
    font-size: 36px;
    width: 50px;
    height: 50px;
    line-height: 50px; }
    body.page-template-tgcw22-default .mfp-wrap .mfp-close:before, body.page-template-tgcw22-default .mfp-wrap .mfp-close:after {
      transition: background 0.3s ease-in-out;
      background: #fff; }
    body.page-template-tgcw22-default .mfp-wrap .mfp-close:hover {
      background: #fff; }
  body.page-template-tgcw22-default div.mfp_fade_speaker.mfp-wrap .mfp-content {
    width: 100%;
    max-width: 954px; }
    @media (max-width: 1350px) {
      body.page-template-tgcw22-default div.mfp_fade_speaker.mfp-wrap .mfp-content {
        max-width: 80%; } }
    @media (max-width: 767.98px) {
      body.page-template-tgcw22-default div.mfp_fade_speaker.mfp-wrap .mfp-content {
        width: 95%;
        max-width: 95%; } }
    body.page-template-tgcw22-default div.mfp_fade_speaker.mfp-wrap .mfp-content .speaker_desc_wrap {
      background-color: #fff;
      max-width: 100%;
      padding: 76px 46px; }
      @media (max-width: 767.98px) {
        body.page-template-tgcw22-default div.mfp_fade_speaker.mfp-wrap .mfp-content .speaker_desc_wrap {
          padding: 75px 20px; } }
      body.page-template-tgcw22-default div.mfp_fade_speaker.mfp-wrap .mfp-content .speaker_desc_wrap .speaker_img_col {
        max-width: 321px;
        margin: 0 auto; }
        @media (max-width: 767.98px) {
          body.page-template-tgcw22-default div.mfp_fade_speaker.mfp-wrap .mfp-content .speaker_desc_wrap .speaker_img_col {
            max-width: 225px;
            padding-bottom: 1rem; } }
      @media (min-width: 768px) {
        body.page-template-tgcw22-default div.mfp_fade_speaker.mfp-wrap .mfp-content .speaker_desc_wrap .speaker_info_col {
          padding-left: 0; } }
      body.page-template-tgcw22-default div.mfp_fade_speaker.mfp-wrap .mfp-content .speaker_desc_wrap .speaker_info_wrap h2 {
        font: normal normal normal 40px/48px Corben;
        padding-bottom: 14px; }
        @media (min-width: 768px) {
          body.page-template-tgcw22-default div.mfp_fade_speaker.mfp-wrap .mfp-content .speaker_desc_wrap .speaker_info_wrap h2 {
            font: normal normal normal 50px/60px Corben; } }
      body.page-template-tgcw22-default div.mfp_fade_speaker.mfp-wrap .mfp-content .speaker_desc_wrap .speaker_info_wrap p {
        font: normal normal normal 18px/25px Sailec-Regular; }
        @media (min-width: 768px) {
          body.page-template-tgcw22-default div.mfp_fade_speaker.mfp-wrap .mfp-content .speaker_desc_wrap .speaker_info_wrap p {
            font: normal normal normal 20px/25px Sailec-Regular; } }
      body.page-template-tgcw22-default div.mfp_fade_speaker.mfp-wrap .mfp-content .speaker_desc_wrap .speaker_sessions_wrap {
        padding-top: 40px; }
        body.page-template-tgcw22-default div.mfp_fade_speaker.mfp-wrap .mfp-content .speaker_desc_wrap .speaker_sessions_wrap .speaker_session {
          margin-bottom: 14px; }
          body.page-template-tgcw22-default div.mfp_fade_speaker.mfp-wrap .mfp-content .speaker_desc_wrap .speaker_sessions_wrap .speaker_session p {
            margin: 3px 0 0;
            font: normal normal bold 20px/25px Sailec-Bold; }
  body.page-template-tgcw22-default .tgcw22_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 75px;
    background-color: rgba(246, 243, 239, 0.75);
    z-index: 1040;
    transition: background-color 0.3s ease-in-out;
    /* nav toggle */
    /* nav */ }
    @media (min-width: 768px) {
      body.page-template-tgcw22-default .tgcw22_header {
        background-color: rgba(246, 243, 239, 0); } }
    @media (prefers-reduced-motion: reduce) {
      body.page-template-tgcw22-default .tgcw22_header {
        transition: none; } }
    body.page-template-tgcw22-default .tgcw22_header.scrolled {
      background-color: rgba(246, 243, 239, 0.95);
      background-color: #f6f3ef; }
      body.page-template-tgcw22-default .tgcw22_header.scrolled .tgcw22nav {
        background-color: rgba(246, 243, 239, 0.95);
        background-color: #f6f3ef; }
      @media (min-width: 768px) {
        body.page-template-tgcw22-default .tgcw22_header.scrolled {
          background-color: rgba(246, 243, 239, 0.75);
          background-color: #f6f3ef; }
          body.page-template-tgcw22-default .tgcw22_header.scrolled .tgcw22nav {
            background-color: rgba(246, 243, 239, 0.75);
            background-color: #f6f3ef; } }
    body.page-template-tgcw22-default .tgcw22_header.is_home_page .brand,
    body.page-template-tgcw22-default .tgcw22_header.is_home_page .header_right {
      opacity: 0;
      visibility: hidden;
      transition: all 0.3s ease-in-out; }
      @media (prefers-reduced-motion: reduce) {
        body.page-template-tgcw22-default .tgcw22_header.is_home_page .brand,
        body.page-template-tgcw22-default .tgcw22_header.is_home_page .header_right {
          transition: none; } }
    body.page-template-tgcw22-default .tgcw22_header.is_home_page.scrolled .brand,
    body.page-template-tgcw22-default .tgcw22_header.is_home_page.scrolled .header_right {
      transition: all 0.3s ease-in-out;
      opacity: 1;
      visibility: visible; }
      @media (prefers-reduced-motion: reduce) {
        body.page-template-tgcw22-default .tgcw22_header.is_home_page.scrolled .brand,
        body.page-template-tgcw22-default .tgcw22_header.is_home_page.scrolled .header_right {
          transition: none; } }
    body.page-template-tgcw22-default .tgcw22_header .header_contents {
      width: 100%;
      height: 75px; }
    body.page-template-tgcw22-default .tgcw22_header .ham_menu_wrap {
      margin-left: 25px;
      margin-right: 34px; }
    body.page-template-tgcw22-default .tgcw22_header .ham_toggle {
      cursor: pointer;
      position: relative;
      width: 50px;
      height: auto;
      z-index: 2051; }
      body.page-template-tgcw22-default .tgcw22_header .ham_toggle .hamline {
        width: 50px;
        height: 3px;
        background-color: var(--accentcolor2-color);
        display: block;
        margin: 6px auto;
        transition: all 0.3s ease-in-out; }
        @media (prefers-reduced-motion: reduce) {
          body.page-template-tgcw22-default .tgcw22_header .ham_toggle .hamline {
            transition: none; } }
      body.page-template-tgcw22-default .tgcw22_header .ham_toggle.expanded .hamline {
        width: 25px; }
      body.page-template-tgcw22-default .tgcw22_header .ham_toggle.expanded .hamline:nth-child(2) {
        opacity: 0; }
      body.page-template-tgcw22-default .tgcw22_header .ham_toggle.expanded .hamline:nth-child(1) {
        -moz-transform: translateY(7px) rotate(45deg);
        -ms-transform: translateY(7px) rotate(45deg);
        -o-transform: translateY(7px) rotate(45deg);
        -webkit-transform: translateY(7px) rotate(45deg);
        transform: translateY(7px) rotate(45deg);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden; }
      body.page-template-tgcw22-default .tgcw22_header .ham_toggle.expanded .hamline:nth-child(3) {
        -moz-transform: translateY(-11px) rotate(-45deg);
        -ms-transform: translateY(-11px) rotate(-45deg);
        -o-transform: translateY(-11px) rotate(-45deg);
        -webkit-transform: translateY(-11px) rotate(-45deg);
        transform: translateY(-11px) rotate(-45deg);
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden; }
    body.page-template-tgcw22-default .tgcw22_header .tgcw22nav {
      background-color: rgba(246, 243, 239, 0.95);
      color: var(--accentcolor2-color);
      display: block;
      font-size: 2rem;
      height: 100vh;
      left: -240px;
      position: fixed;
      top: 75px;
      padding: 2rem;
      transition: left 0.5s;
      transition: left 0.5s, background-color 0.3s;
      width: 240px;
      z-index: 2050; }
      @media (min-width: 768px) {
        body.page-template-tgcw22-default .tgcw22_header .tgcw22nav {
          background-color: rgba(246, 243, 239, 0); } }
      @media (prefers-reduced-motion: reduce) {
        body.page-template-tgcw22-default .tgcw22_header .tgcw22nav {
          transition: none; } }
      body.page-template-tgcw22-default .tgcw22_header .tgcw22nav.expanded {
        left: 0; }
      body.page-template-tgcw22-default .tgcw22_header .tgcw22nav ul {
        list-style: none;
        margin: auto 0;
        padding: 0; }
        body.page-template-tgcw22-default .tgcw22_header .tgcw22nav ul li {
          margin-bottom: 1rem; }
          body.page-template-tgcw22-default .tgcw22_header .tgcw22nav ul li:before {
            content: "— "; }
        body.page-template-tgcw22-default .tgcw22_header .tgcw22nav ul a {
          color: var(--accentcolor2-color);
          font: normal normal bold 20px/41px Sailec-Bold;
          letter-spacing: 0px; }
    body.page-template-tgcw22-default .tgcw22_header .header_right p {
      margin: 0 23px 0 0; }
    body.page-template-tgcw22-default .tgcw22_header .header_right .header_right_btn_wrap {
      margin-right: 23px; }
  body.page-template-tgcw22-default .tgcw22_footer {
    background-color: #f6f3ef;
    color: #202d41; }
    body.page-template-tgcw22-default .tgcw22_footer .content_container {
      padding: 80px 20px 20px; }
      @media (min-width: 768px) {
        body.page-template-tgcw22-default .tgcw22_footer .content_container {
          padding: 80px 20px 40px; } }
      @media (max-width: 1023.98px) {
        body.page-template-tgcw22-default .tgcw22_footer .content_container {
          max-width: 100%; } }
      body.page-template-tgcw22-default .tgcw22_footer .content_container .footer_logo {
        text-align: center; }
        @media (min-width: 768px) {
          body.page-template-tgcw22-default .tgcw22_footer .content_container .footer_logo {
            text-align: left; } }
        body.page-template-tgcw22-default .tgcw22_footer .content_container .footer_logo img {
          max-width: 370px;
          width: 100%; }
      body.page-template-tgcw22-default .tgcw22_footer .content_container h5 {
        text-align: center;
        margin: 40px auto 10px; }
        @media (min-width: 768px) {
          body.page-template-tgcw22-default .tgcw22_footer .content_container h5 {
            text-align: right;
            margin: 0; } }
      body.page-template-tgcw22-default .tgcw22_footer .content_container .event_btn {
        margin: 16px auto 0; }
        @media (min-width: 768px) {
          body.page-template-tgcw22-default .tgcw22_footer .content_container .event_btn {
            margin: 16px; }
            body.page-template-tgcw22-default .tgcw22_footer .content_container .event_btn:last-child {
              margin: 16px 0 16px 16px; } }
    body.page-template-tgcw22-default .tgcw22_footer .footer_bottom_img {
      width: 100%;
      height: 185px; }
      @media (min-width: 768px) {
        body.page-template-tgcw22-default .tgcw22_footer .footer_bottom_img {
          height: 210px; } }
      body.page-template-tgcw22-default .tgcw22_footer .footer_bottom_img .background_image {
        width: 100%;
        height: 100%;
        background-repeat: no-repeat;
        background-position: bottom center;
        background-size: contain; }
        @media (min-width: 768px) {
          body.page-template-tgcw22-default .tgcw22_footer .footer_bottom_img .background_image {
            background-size: auto; } }
    body.page-template-tgcw22-default .tgcw22_footer .sub_footer a {
      text-decoration: underline;
      font-size: 13px; }
  body.page-template-tgcw22-default .tgcw22-default {
    background-color: #f6f3ef; }
    body.page-template-tgcw22-default .tgcw22-default .hero {
      min-height: 200px;
      padding: 100px 0 30px;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      body.page-template-tgcw22-default .tgcw22-default .hero .container {
        max-width: 945px; }
      @media (min-width: 768px) {
        body.page-template-tgcw22-default .tgcw22-default .hero {
          padding: 100px 0 30px; } }
      body.page-template-tgcw22-default .tgcw22-default .hero.full_height {
        min-height: 100vh;
        min-height: 90vh;
        height: 100%;
        padding: 75px 0;
        -webkit-box-align: unset;
        -ms-flex-align: unset;
        align-items: unset; }
        @media (min-width: 768px) {
          body.page-template-tgcw22-default .tgcw22-default .hero.full_height {
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center; } }
      body.page-template-tgcw22-default .tgcw22-default .hero img {
        width: 100vw;
        margin-left: -20px; }
        @media (min-width: 768px) {
          body.page-template-tgcw22-default .tgcw22-default .hero img {
            width: 100%;
            margin-left: 0; } }
      body.page-template-tgcw22-default .tgcw22-default .hero h1 {
        font: normal normal normal 50px/60px Corben; }
      body.page-template-tgcw22-default .tgcw22-default .hero .reg_btn_wrap {
        padding-top: 60px;
        text-align: center; }
        body.page-template-tgcw22-default .tgcw22-default .hero .reg_btn_wrap p {
          padding-top: 28px; }
    body.page-template-tgcw22-default .tgcw22-default .speakers_section.sec_alignment_center {
      padding: 69px 0; }
      @media (min-width: 768px) {
        body.page-template-tgcw22-default .tgcw22-default .speakers_section.sec_alignment_center {
          padding: 94px 0; } }
    body.page-template-tgcw22-default .tgcw22-default .speakers_section.sec_alignment_left {
      padding: 1rem 0 74px; }
    body.page-template-tgcw22-default .tgcw22-default .speakers_section .container {
      max-width: 916px; }
    body.page-template-tgcw22-default .tgcw22-default .speakers_section h2 {
      text-align: center;
      font: normal normal normal 50px/60px Corben;
      padding-bottom: 52px; }
      @media (min-width: 768px) {
        body.page-template-tgcw22-default .tgcw22-default .speakers_section h2 {
          padding-bottom: 84px; } }
    body.page-template-tgcw22-default .tgcw22-default .speakers_section h3 {
      text-align: left;
      font: normal normal bold 30px/36px Sailec-Bold;
      padding-bottom: 31px; }
    body.page-template-tgcw22-default .tgcw22-default .speakers_section .speaker_card_row_wrap .speaker_card_col {
      padding-bottom: 43px; }
      body.page-template-tgcw22-default .tgcw22-default .speakers_section .speaker_card_row_wrap .speaker_card_col .sp_profile_img_wrap {
        max-width: 180px;
        margin: auto; }
      body.page-template-tgcw22-default .tgcw22-default .speakers_section .speaker_card_row_wrap .speaker_card_col img {
        width: 100%; }
      body.page-template-tgcw22-default .tgcw22-default .speakers_section .speaker_card_row_wrap .speaker_card_col .sp_title_wrap {
        padding-top: 1rem;
        text-align: center; }
        body.page-template-tgcw22-default .tgcw22-default .speakers_section .speaker_card_row_wrap .speaker_card_col .sp_title_wrap .sp_card_title {
          color: var(--accentcolor2-color);
          font-size: 18px; }
    body.page-template-tgcw22-default .tgcw22-default .bg_video_section {
      position: relative;
      width: 100%;
      height: 500px;
      overflow: hidden; }
      body.page-template-tgcw22-default .tgcw22-default .bg_video_section .content_inner {
        position: relative;
        z-index: 2;
        height: 100%;
        text-align: center;
        background-color: rgba(255, 255, 255, 0.84); }
        body.page-template-tgcw22-default .tgcw22-default .bg_video_section .content_inner .container,
        body.page-template-tgcw22-default .tgcw22-default .bg_video_section .content_inner .row {
          height: 100%; }
        body.page-template-tgcw22-default .tgcw22-default .bg_video_section .content_inner h2 {
          font: normal normal normal 50px/60px Corben; }
      body.page-template-tgcw22-default .tgcw22-default .bg_video_section .background {
        bottom: 0;
        left: 0;
        position: absolute;
        right: 0;
        top: 0;
        background-position: center center;
        background-size: cover;
        background-attachment: scroll;
        background-repeat: no-repeat;
        z-index: 1;
        background-color: rgba(255, 255, 255, 0.84); }
        @media screen and (max-width: 1024px) {
          body.page-template-tgcw22-default .tgcw22-default .bg_video_section .background {
            background-position: 60% center; } }
        body.page-template-tgcw22-default .tgcw22-default .bg_video_section .background .embed-container {
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          z-index: -1;
          pointer-events: none;
          overflow: hidden; }
          body.page-template-tgcw22-default .tgcw22-default .bg_video_section .background .embed-container iframe {
            width: 100vw;
            height: 56.25vw;
            /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
            min-height: 500px;
            min-width: 177.77vh;
            /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%); }
        body.page-template-tgcw22-default .tgcw22-default .bg_video_section .background video {
          width: 100%;
          height: 100%;
          object-fit: cover;
          height: 500px; }
    body.page-template-tgcw22-default .tgcw22-default .theme_section {
      position: relative;
      width: 100%;
      padding: 90px 0; }
      body.page-template-tgcw22-default .tgcw22-default .theme_section h2 {
        font: normal normal normal 50px/60px Corben;
        color: var(--accentcolor2-color);
        margin: auto;
        text-align: center;
        max-width: 585px;
        padding-bottom: 70px; }
      body.page-template-tgcw22-default .tgcw22-default .theme_section .swiper-slide {
        width: 170px;
        height: 170px;
        margin-right: 1rem;
        max-width: 170px; }
        body.page-template-tgcw22-default .tgcw22-default .theme_section .swiper-slide img {
          width: 100%;
          height: auto; }
          body.page-template-tgcw22-default .tgcw22-default .theme_section .swiper-slide img.lazyload, body.page-template-tgcw22-default .tgcw22-default .theme_section .swiper-slide img.lazyloading {
            opacity: 1; }
      body.page-template-tgcw22-default .tgcw22-default .theme_section .swiper-wrapper {
        -webkit-transition-timing-function: linear !important;
        -o-transition-timing-function: linear !important;
        transition-timing-function: linear !important; }
      body.page-template-tgcw22-default .tgcw22-default .theme_section .content_container {
        padding-top: 70px; }
        body.page-template-tgcw22-default .tgcw22-default .theme_section .content_container .content_col {
          max-width: 649px;
          margin: auto; }
          body.page-template-tgcw22-default .tgcw22-default .theme_section .content_container .content_col p {
            font: normal normal normal 20px/25px "Sailec-Regular"; }
    body.page-template-tgcw22-default .tgcw22-default .schedule_section {
      position: relative;
      width: 100%;
      padding: 60px 0 70px; }
      @media (min-width: 768px) {
        body.page-template-tgcw22-default .tgcw22-default .schedule_section {
          padding: 60px 0 0; } }
      body.page-template-tgcw22-default .tgcw22-default .schedule_section h2 {
        font: normal normal normal 50px/60px Corben;
        color: var(--accentcolor2-color);
        margin: auto;
        text-align: center;
        max-width: 540px;
        padding-bottom: 40px; }
        @media (min-width: 768px) {
          body.page-template-tgcw22-default .tgcw22-default .schedule_section h2 {
            padding-bottom: 70px; } }
      body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_nav {
        position: relative;
        z-index: 1; }
        body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_nav .nav_anim_box {
          position: absolute;
          top: 0;
          left: 0;
          height: 60px;
          border: 3px solid var(--accentcolor2-color);
          width: 0;
          z-index: 0;
          pointer-events: none;
          display: none; }
          @media (min-width: 768px) {
            body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_nav .nav_anim_box {
              display: block; } }
          body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_nav .nav_anim_box:after {
            content: "";
            position: absolute;
            left: 0;
            bottom: -3px;
            width: 100%;
            height: 3px;
            background-color: #ffffff; }
        body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_nav .nav-tabs {
          border: none;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          text-align: center;
          max-width: 70%;
          margin: auto;
          padding-bottom: 10px; }
          @media (min-width: 768px) {
            body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_nav .nav-tabs {
              padding-bottom: 0;
              height: 60px;
              width: 100%;
              max-width: 100%;
              -webkit-box-pack: space-evenly;
              -ms-flex-pack: space-evenly;
              justify-content: space-evenly;
              -webkit-box-align: center;
              -ms-flex-align: center;
              align-items: center;
              margin-bottom: -3px;
              border: 3px solid;
              background-color: #fff; } }
        body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_nav .schedule_tab {
          font: normal normal bold 20px/20px Sailec-Bold;
          color: #f6f3ef;
          border-radius: 0;
          border: none;
          background-color: transparent;
          -webkit-box-flex: 50%;
          -ms-flex: 50%;
          flex: 50%;
          padding: 10px; }
          @media (min-width: 768px) {
            body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_nav .schedule_tab {
              padding: 0;
              color: var(--accentcolor4-color);
              -webkit-box-flex: 1;
              -ms-flex: 1 1 auto;
              flex: 1 1 auto;
              height: 60px;
              display: -webkit-box;
              display: -ms-flexbox;
              display: flex;
              -webkit-box-align: center;
              -ms-flex-align: center;
              align-items: center;
              -webkit-box-pack: center;
              -ms-flex-pack: center;
              justify-content: center; } }
          body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_nav .schedule_tab.active {
            color: var(--accentcolor3-color); }
            @media (min-width: 768px) {
              body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_nav .schedule_tab.active {
                color: var(--accentcolor2-color); } }
      body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_wrap {
        max-width: 600px;
        margin: auto; }
        body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_wrap .nat_event_schedule_wrap {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
          padding: 40px 30px;
          border: 3px solid var(--accentcolor2-color);
          background-color: #ffffff;
          padding-bottom: 50px;
          min-height: 640px; }
          body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_wrap .nat_event_schedule_wrap .sched_item {
            margin-bottom: 12px; }
            body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_wrap .nat_event_schedule_wrap .sched_item p {
              font: normal normal bold 20px/25px Sailec-Bold;
              letter-spacing: 0px;
              margin: 3px 0 0; }
          body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_wrap .nat_event_schedule_wrap .sched_item_link {
            margin: -10px 0 10px; }
            body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_wrap .nat_event_schedule_wrap .sched_item_link a {
              margin-left: 35px;
              text-decoration: underline; }
        body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_wrap .section_schedule_link_wrap {
          text-align: center;
          padding-top: 50px;
          margin-top: auto; }
          body.page-template-tgcw22-default .tgcw22-default .schedule_section .schedule_wrap .section_schedule_link_wrap a {
            text-decoration: underline; }
    body.page-template-tgcw22-default .tgcw22-default .faq_section {
      position: relative;
      width: 100%;
      padding: 60px 0; }
      @media (min-width: 768px) {
        body.page-template-tgcw22-default .tgcw22-default .faq_section {
          padding: 60px 0 100px; } }
      body.page-template-tgcw22-default .tgcw22-default .faq_section h2 {
        font: normal normal normal 50px/60px Corben;
        color: var(--accentcolor2-color);
        margin: auto;
        text-align: center;
        max-width: 700px;
        padding-bottom: 70px; }
      body.page-template-tgcw22-default .tgcw22-default .faq_section .accordion_container .accordion_col {
        margin: 0 auto;
        max-width: 620px; }
        body.page-template-tgcw22-default .tgcw22-default .faq_section .accordion_container .accordion_col .qa_wrap {
          margin-bottom: 25px;
          margin-left: 25px; }
        body.page-template-tgcw22-default .tgcw22-default .faq_section .accordion_container .accordion_col .acc_question {
          font: normal normal bold 20px/25px Sailec-Bold;
          color: var(--accentcolor2-color);
          position: relative; }
          body.page-template-tgcw22-default .tgcw22-default .faq_section .accordion_container .accordion_col .acc_question:before, body.page-template-tgcw22-default .tgcw22-default .faq_section .accordion_container .accordion_col .acc_question:after {
            content: "";
            display: block;
            position: absolute;
            top: 50%;
            left: -25px;
            width: 14px;
            height: 4px;
            margin-top: -4px;
            background-color: var(--accentcolor2-color);
            -webkit-transform-origin: 50% 50%;
            -ms-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
            -webkit-transition: all 0.25s;
            transition: all 0.25s; }
          body.page-template-tgcw22-default .tgcw22-default .faq_section .accordion_container .accordion_col .acc_question:before {
            -webkit-transform: rotate(-90deg);
            -ms-transform: rotate(-90deg);
            transform: rotate(-90deg);
            opacity: 0; }
          body.page-template-tgcw22-default .tgcw22-default .faq_section .accordion_container .accordion_col .acc_question.collapsed:before {
            -webkit-transform: rotate(0deg);
            -ms-transform: rotate(0deg);
            transform: rotate(0deg);
            opacity: 1; }
          body.page-template-tgcw22-default .tgcw22-default .faq_section .accordion_container .accordion_col .acc_question.collapsed:after {
            -webkit-transform: rotate(-90deg);
            -ms-transform: rotate(-90deg);
            transform: rotate(-90deg); }
        body.page-template-tgcw22-default .tgcw22-default .faq_section .accordion_container .accordion_col .acc_answer {
          font: normal normal normal 20px/25px Sailec-Regular;
          color: var(--accentcolor2-color);
          padding-top: 10px; }
          body.page-template-tgcw22-default .tgcw22-default .faq_section .accordion_container .accordion_col .acc_answer a {
            text-decoration: underline; }
          body.page-template-tgcw22-default .tgcw22-default .faq_section .accordion_container .accordion_col .acc_answer * {
            margin: 0;
            padding-bottom: 0.5rem; }
    body.page-template-tgcw22-default .tgcw22-default .register_section {
      position: relative;
      width: 100%;
      padding: 60px 0 70px; }
      @media (min-width: 768px) {
        body.page-template-tgcw22-default .tgcw22-default .register_section {
          padding: 60px 0 140px; } }
      body.page-template-tgcw22-default .tgcw22-default .register_section h2 {
        font: normal normal normal 50px/60px Corben;
        color: var(--accentcolor2-color);
        margin: auto;
        text-align: center;
        max-width: 700px;
        padding-bottom: 50px; }
        @media (min-width: 768px) {
          body.page-template-tgcw22-default .tgcw22-default .register_section h2 {
            padding-bottom: 80px; } }
      body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container {
        max-width: 900px; }
        body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col {
          color: var(--accentcolor2-color);
          padding-top: 15px;
          padding-bottom: 15px; }
          @media (min-width: 768px) {
            body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col {
              padding-top: 23px;
              padding-bottom: 23px; } }
          body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .register_col_wrap {
            padding-bottom: 15px;
            border-bottom: 3px solid var(--accentcolor2-color); }
          body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .title_col h4 {
            font: normal normal bold 20px/25px Sailec-Bold;
            margin-bottom: 0.25rem; }
          body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .title_col p {
            margin-bottom: 0; }
          body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .title_col .date_text {
            font-style: italic; }
          body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .price_col .prb_content {
            height: 100%;
            width: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center; }
          body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .price_col.fancy_price {
            margin-right: 25px; }
            body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .price_col.fancy_price .price_badge {
              min-height: 100px;
              border-radius: 200px;
              padding: 15px; }
              @media (min-width: 768px) {
                body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .price_col.fancy_price .price_badge {
                  padding: 20px 30px; } }
              body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .price_col.fancy_price .price_badge .price {
                font-family: "Sailec-Regular";
                line-height: 1;
                margin: 0;
                font-size: 40px; }
                @media (min-width: 768px) {
                  body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .price_col.fancy_price .price_badge .price {
                    font-size: 48px; } }
                body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .price_col.fancy_price .price_badge .price sup {
                  top: -0.75rem;
                  font-size: 20px;
                  font-weight: 500;
                  font-family: Sailec-Medium;
                  padding-right: 3px; }
                  @media (min-width: 768px) {
                    body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .price_col.fancy_price .price_badge .price sup {
                      top: -1.15rem; } }
              body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .price_col.fancy_price .price_badge .date_text {
                font: normal normal normal 12px Sailec-Regular;
                line-height: 1;
                margin: 0;
                text-align: center; }
          body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .price_col .price_badge {
            padding: 20px 15px 17px;
            height: 56px;
            border-radius: 33px; }
            body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .price_col .price_badge .price {
              font-size: 18px;
              margin: 0; }
          body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .register_col .price_col .dotted_border {
            width: 100%;
            height: 3px;
            border: 3px dashed var(--accentcolor2-color);
            margin-right: 10px; }
        body.page-template-tgcw22-default .tgcw22-default .register_section .reg_col_container .btn_column {
          margin: auto;
          text-align: center;
          padding: 0;
          align-self: center;
          min-height: 120px;
          height: 100%;
          display: flex;
          justify-content: center;
          align-items: center; }
    body.page-template-tgcw22-default .tgcw22-default .wysiwyg_section {
      position: relative;
      width: 100%;
      padding: 60px 0 70px; }
    body.page-template-tgcw22-default .tgcw22-default .various_content_section {
      position: relative;
      width: 100%;
      padding: 60px 0; }
      body.page-template-tgcw22-default .tgcw22-default .various_content_section .container {
        max-width: 649px; }
      body.page-template-tgcw22-default .tgcw22-default .various_content_section h2 {
        font: normal normal bold 30px/36px Sailec-Bold;
        color: var(--accentcolor2-color);
        text-align: center;
        padding-bottom: 20px; }
        @media (min-width: 768px) {
          body.page-template-tgcw22-default .tgcw22-default .various_content_section h2 {
            text-align: left; } }
      body.page-template-tgcw22-default .tgcw22-default .various_content_section .subtext_wrap {
        position: relative;
        margin-bottom: 10px; }
        body.page-template-tgcw22-default .tgcw22-default .various_content_section .subtext_wrap img {
          position: absolute;
          top: 0;
          left: -130px;
          max-width: 120px;
          width: 100%;
          height: auto;
          display: none; }
          @media (min-width: 1024px) {
            body.page-template-tgcw22-default .tgcw22-default .various_content_section .subtext_wrap img {
              display: block; } }
        body.page-template-tgcw22-default .tgcw22-default .various_content_section .subtext_wrap h3 {
          font: normal normal bold 23px/28px Sailec-Bold; }
          @media (min-width: 1024px) {
            body.page-template-tgcw22-default .tgcw22-default .various_content_section .subtext_wrap h3 {
              font: normal normal bold 25px/30px Sailec-Bold; } }
      body.page-template-tgcw22-default .tgcw22-default .various_content_section .content_block_wrap .content_wrap {
        padding-bottom: 25px; }
        body.page-template-tgcw22-default .tgcw22-default .various_content_section .content_block_wrap .content_wrap h4 {
          font: normal normal bold 22px/23px Sailec-Bold;
          color: var(--accentcolor2-color);
          margin: 2px 0 18px; }
          @media (min-width: 1024px) {
            body.page-template-tgcw22-default .tgcw22-default .various_content_section .content_block_wrap .content_wrap h4 {
              font: normal normal bold 24px/25px Sailec-Bold; } }
        body.page-template-tgcw22-default .tgcw22-default .various_content_section .content_block_wrap .content_wrap h5 {
          font: normal normal bold 16px/24px Sailec-Bold; }
          @media (min-width: 1024px) {
            body.page-template-tgcw22-default .tgcw22-default .various_content_section .content_block_wrap .content_wrap h5 {
              font: normal normal bold 20px/28px Sailec-Bold; } }
        body.page-template-tgcw22-default .tgcw22-default .various_content_section .content_block_wrap .content_wrap h6 {
          text-transform: uppercase;
          font: normal normal bold 10px/12px Sailec-Bold; }
          @media (min-width: 1024px) {
            body.page-template-tgcw22-default .tgcw22-default .various_content_section .content_block_wrap .content_wrap h6 {
              font: normal normal bold 12px/14px Sailec-Bold; } }
        body.page-template-tgcw22-default .tgcw22-default .various_content_section .content_block_wrap .content_wrap img {
          width: auto;
          height: 100%;
          max-height: 55px;
          display: inline-block;
          margin-right: 10px;
          margin-bottom: 20px; }
        body.page-template-tgcw22-default .tgcw22-default .various_content_section .content_block_wrap .content_wrap .special_text {
          font: normal normal bold 14px/16px Sailec-Bold;
          color: var(--accentcolor-color); }
          @media (min-width: 1024px) {
            body.page-template-tgcw22-default .tgcw22-default .various_content_section .content_block_wrap .content_wrap .special_text {
              font: normal normal bold 16px/18px Sailec-Bold; } }
        body.page-template-tgcw22-default .tgcw22-default .various_content_section .content_block_wrap .content_wrap .description,
        body.page-template-tgcw22-default .tgcw22-default .various_content_section .content_block_wrap .content_wrap p {
          font-size: 16px; }
          @media (min-width: 1024px) {
            body.page-template-tgcw22-default .tgcw22-default .various_content_section .content_block_wrap .content_wrap .description,
            body.page-template-tgcw22-default .tgcw22-default .various_content_section .content_block_wrap .content_wrap p {
              font-size: 20px; } }
        body.page-template-tgcw22-default .tgcw22-default .various_content_section .content_block_wrap .content_wrap .event_btn {
          font-size: 16px;
          height: 40px; }
    body.page-template-tgcw22-default .tgcw22-default .video_block_section .container {
      max-width: 1100px; }
    body.page-template-tgcw22-default .tgcw22-default .video_block_section h2 {
      text-align: center;
      font: normal normal normal 50px/60px Corben;
      padding-bottom: 20px; }
    body.page-template-tgcw22-default .tgcw22-default .video_block_section h4 {
      text-align: center;
      font: normal normal normal 20px/28px Sailec-Medium;
      padding-bottom: 31px; }
    body.page-template-tgcw22-default .tgcw22-default .video_block_section .vid {
      margin-bottom: 120px; }
    body.page-template-tgcw22-default .tgcw22-default .video_block_section .vid_info {
      margin-top: -75px;
      margin-bottom: 50px; }
      body.page-template-tgcw22-default .tgcw22-default .video_block_section .vid_info h3 {
        font-family: "Corben";
        font-size: calc(26px + (32 - 26)*((100vw - 300px)/(1920 - 300)));
        text-align: center;
        color: #7C8E7F;
        margin-bottom: 20px; }
        @media (min-width: 1920px) {
          body.page-template-tgcw22-default .tgcw22-default .video_block_section .vid_info h3 {
            font-size: 32px; } }
      body.page-template-tgcw22-default .tgcw22-default .video_block_section .vid_info h4 {
        font-family: "Sailec-Medium";
        font-size: calc(18px + (26 - 18)*((100vw - 300px)/(1920 - 300)));
        text-align: center; }
        @media (min-width: 1920px) {
          body.page-template-tgcw22-default .tgcw22-default .video_block_section .vid_info h4 {
            font-size: 26px; } }
  body.page-template-tgcw22-default .livechat_button {
    position: fixed;
    right: -150px;
    bottom: 15px;
    border-top-left-radius: 14px;
    border-bottom-left-radius: 14px;
    z-index: 999;
    transition: all 0.3s; }
    body.page-template-tgcw22-default .livechat_button:hover {
      transition: all 0.3s;
      right: -20px; }

body.page-template-tgcw22-remember-your-joy {
  color: var(--accentcolor2-color); }
  body.page-template-tgcw22-remember-your-joy .tgcw22_wrapper {
    color: var(--accentcolor2-color); }
  body.page-template-tgcw22-remember-your-joy #header-spacer {
    height: 0; }
  body.page-template-tgcw22-remember-your-joy a {
    color: var(--accentcolor-color); }
  body.page-template-tgcw22-remember-your-joy .SailecBold {
    font-family: "Sailec-Bold"; }
  body.page-template-tgcw22-remember-your-joy .SailecLight {
    font-family: "Sailec-Light"; }
  body.page-template-tgcw22-remember-your-joy .SailecMedium {
    font-family: "Sailec-Medium"; }
  body.page-template-tgcw22-remember-your-joy .SailecRegular {
    font-family: "Sailec-Regular"; }
  body.page-template-tgcw22-remember-your-joy .SailecRegularItalic {
    font-family: "Sailec-RegularItalic"; }
  body.page-template-tgcw22-remember-your-joy h1,
  body.page-template-tgcw22-remember-your-joy h2 {
    font-family: "Corben"; }
  body.page-template-tgcw22-remember-your-joy h5 {
    font-size: 24px;
    line-height: 29px; }
  body.page-template-tgcw22-remember-your-joy .hide {
    display: none !important; }
  body.page-template-tgcw22-remember-your-joy .disabled {
    pointer-events: none; }
  body.page-template-tgcw22-remember-your-joy .event_btn {
    border-radius: 33px !important;
    color: var(--accentcolor2-color);
    background-color: var(--accentcolor-color);
    display: inline-block;
    text-align: center;
    vertical-align: middle;
    font-size: 20px;
    height: 60px;
    width: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 44px;
    white-space: nowrap;
    text-transform: uppercase; }
    body.page-template-tgcw22-remember-your-joy .event_btn.small {
      font-size: 13px;
      height: 32px;
      padding: 0 27px; }
  body.page-template-tgcw22-remember-your-joy .acc_circle {
    border: 3px solid var(--accentcolor2-color);
    background-color: #fff;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    min-height: 25px;
    min-width: 25px;
    display: inline-block;
    margin-right: 9px; }
  body.page-template-tgcw22-remember-your-joy .tgcw22_header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 75px;
    background-color: #f6f3ef;
    z-index: 1040;
    transition: background-color 0.3s ease-in-out;
    /* nav toggle */
    /* nav */ }
    @media (min-width: 768px) {
      body.page-template-tgcw22-remember-your-joy .tgcw22_header {
        background-color: #f6f3ef; } }
    @media (prefers-reduced-motion: reduce) {
      body.page-template-tgcw22-remember-your-joy .tgcw22_header {
        transition: none; } }
    body.page-template-tgcw22-remember-your-joy .tgcw22_header .brand {
      max-width: 200px;
      margin-left: 50px; }
      @media (max-width: 1023.98px) {
        body.page-template-tgcw22-remember-your-joy .tgcw22_header .brand {
          display: block !important;
          margin-left: 20px; } }
      body.page-template-tgcw22-remember-your-joy .tgcw22_header .brand img {
        height: 30px; }
    body.page-template-tgcw22-remember-your-joy .tgcw22_header .header_contents {
      width: 100%;
      height: 75px; }
    body.page-template-tgcw22-remember-your-joy .tgcw22_header .ham_menu_wrap {
      margin-left: 25px;
      margin-right: 34px;
      display: none; }
    body.page-template-tgcw22-remember-your-joy .tgcw22_header .tgcw22nav {
      display: none; }
    body.page-template-tgcw22-remember-your-joy .tgcw22_header .header_right {
      display: none; }
  body.page-template-tgcw22-remember-your-joy .hero {
    padding-top: 200px;
    padding-bottom: 100px; }
    @media (max-width: 1023.98px) {
      body.page-template-tgcw22-remember-your-joy .hero {
        padding-top: 150px; } }
    @media (min-width: 1500px) {
      body.page-template-tgcw22-remember-your-joy .hero .container {
        max-width: 1100px; } }
    body.page-template-tgcw22-remember-your-joy .hero .hero_img_col img {
      max-width: 100%;
      height: auto;
      box-shadow: 0px 8px 8px -2px rgba(0, 0, 0, 0.25); }
    body.page-template-tgcw22-remember-your-joy .hero h1 {
      text-align: center;
      font-size: calc(40px + (66 - 40)*((100vw - 300px)/(1920 - 300)));
      margin-bottom: 20px; }
      @media (min-width: 1920px) {
        body.page-template-tgcw22-remember-your-joy .hero h1 {
          font-size: 66px; } }
    body.page-template-tgcw22-remember-your-joy .hero h3 {
      text-align: center;
      font-size: calc(30px + (45 - 30)*((100vw - 300px)/(1920 - 300)));
      font-family: "Sailec-Medium";
      color: #fff;
      margin-bottom: 50px; }
      @media (min-width: 1920px) {
        body.page-template-tgcw22-remember-your-joy .hero h3 {
          font-size: 45px; } }
    body.page-template-tgcw22-remember-your-joy .hero p {
      font-size: 16px;
      color: #fff;
      margin-bottom: 30px; }
      body.page-template-tgcw22-remember-your-joy .hero p a {
        color: #fff; }
        body.page-template-tgcw22-remember-your-joy .hero p a.esv-crossref-link {
          color: #fff !important;
          text-decoration: underline; }
    body.page-template-tgcw22-remember-your-joy .hero .event_btn {
      width: 100%;
      background-color: #EBCA79;
      white-space: normal; }
      @media (max-width: 1023.98px) {
        body.page-template-tgcw22-remember-your-joy .hero .event_btn {
          height: 80px;
          line-height: 1.4; } }
      body.page-template-tgcw22-remember-your-joy .hero .event_btn + .event_btn {
        background-color: #a7bdd3;
        margin-top: 20px; }
  body.page-template-tgcw22-remember-your-joy .cta {
    padding-top: 100px;
    padding-bottom: 100px; }
    @media (max-width: 1023.98px) {
      body.page-template-tgcw22-remember-your-joy .cta {
        padding-top: 50px; } }
    @media (min-width: 1500px) {
      body.page-template-tgcw22-remember-your-joy .cta .container {
        max-width: 1346px; } }
    body.page-template-tgcw22-remember-your-joy .cta .cta_img_col img {
      max-width: 100%;
      height: auto; }
    body.page-template-tgcw22-remember-your-joy .cta .cta_text_col {
      text-align: center; }
    body.page-template-tgcw22-remember-your-joy .cta h4 {
      font-size: calc(32px + (51 - 32)*((100vw - 300px)/(1920 - 300)));
      font-family: "Sailec-Medium";
      color: #93ABC3;
      line-height: 1.3;
      margin-bottom: 25px; }
      @media (min-width: 1920px) {
        body.page-template-tgcw22-remember-your-joy .cta h4 {
          font-size: 51px; } }
  body.page-template-tgcw22-remember-your-joy .tgcw22_footer {
    display: none; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGdjdzIyLmNzcyIsInNvdXJjZXMiOlsidGdjdzIyLnNjc3MiLCIuLi9jb21tb24vX3RoZW1lX3ZhcmlhYmxlcy5zY3NzIiwiLi4vY29tbW9uL19taXhpbnMuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvX2Z1bmN0aW9ucy5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9fdmFyaWFibGVzLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL19taXhpbnMuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvdmVuZG9yL19yZnMuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19kZXByZWNhdGUuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9faW1hZ2Uuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWRnZS5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3Jlc2l6ZS5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3NjcmVlbi1yZWFkZXIuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19zaXplLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcmVzZXQtdGV4dC5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RleHQtZW1waGFzaXMuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2FsZXJ0LnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYnV0dG9ucy5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX25hdi1kaXZpZGVyLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZm9ybXMuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19ib3JkZXItcmFkaXVzLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fYm94LXNoYWRvdy5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyYWRpZW50cy5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX3RyYW5zaXRpb24uc2NzcyIsIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zL19jbGVhcmZpeC5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2dyaWQtZnJhbWV3b3JrLnNjc3MiLCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9taXhpbnMvX2Zsb2F0LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcIi4uL2NvbW1vbi90aGVtZV92YXJpYWJsZXNcIjtcbkBpbXBvcnQgXCIuLi9jb21tb24vbWl4aW5zXCI7XG5AaW1wb3J0IFwiLi4vbW9kdWxlcy9ib290c3RyYXAvc2Nzcy9mdW5jdGlvbnNcIjtcbkBpbXBvcnQgXCIuLi9tb2R1bGVzL2Jvb3RzdHJhcC9zY3NzL3ZhcmlhYmxlc1wiO1xuQGltcG9ydCBcIi4uL21vZHVsZXMvYm9vdHN0cmFwL3Njc3MvbWl4aW5zXCI7XG5cbi8qIFRHQ1cyMiBUaGVtZSBTdHlsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cbmh0bWwsXG5ib2R5LFxucSxcbmJsb2NrcXVvdGUsXG4uZHJvcGNhcCB7XG4gIGZvbnQtZmFtaWx5OiBcIlNhaWxlYy1SZWd1bGFyXCI7XG59XG5ib2R5LnBhZ2UtdGVtcGxhdGUtdGdjdzIyLWRlZmF1bHQge1xuICAkc2FpbGVjOiBcIlNhaWxlYy1SZWd1bGFyXCI7XG4gICRzYWlsZWNCb2xkOiBcIlNhaWxlYy1Cb2xkXCI7XG4gICRzYWlsZWNMaWdodDogXCJTYWlsZWMtTGlnaHRcIjtcbiAgJHNhaWxlY01lZGl1bTogXCJTYWlsZWMtTWVkaXVtXCI7XG4gICRzYWlsZWNJdGFsaWM6IFwiU2FpbGVjLVJlZ3VsYXJJdGFsaWNcIjtcbiAgJGNvcmJlbjogXCJDb3JiZW5cIjtcbiAgJGFjY2VudF9jb2xvcjogdmFyKC0tYWNjZW50Y29sb3ItY29sb3IpO1xuICAkYWNjZW50X2NvbG9yMjogdmFyKC0tYWNjZW50Y29sb3IyLWNvbG9yKTtcbiAgJGFjY2VudF9jb2xvcjM6IHZhcigtLWFjY2VudGNvbG9yMy1jb2xvcik7XG4gICRhY2NlbnRfY29sb3I0OiB2YXIoLS1hY2NlbnRjb2xvcjQtY29sb3IpO1xuICAkaGVhZGVyX2hlaWdodDogNzVweDtcbiAgY29sb3I6ICRhY2NlbnRfY29sb3IyO1xuXG4gIC50Z2N3MjJfd3JhcHBlciB7XG4gICAgY29sb3I6ICRhY2NlbnRfY29sb3IyO1xuICB9XG4gICNoZWFkZXItc3BhY2VyIHtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cbiAgYSB7XG4gICAgY29sb3I6ICRhY2NlbnRfY29sb3I7XG4gIH1cbiAgLlNhaWxlY0JvbGQge1xuICAgIGZvbnQtZmFtaWx5OiBcIlNhaWxlYy1Cb2xkXCI7XG4gIH1cbiAgLlNhaWxlY0xpZ2h0IHtcbiAgICBmb250LWZhbWlseTogXCJTYWlsZWMtTGlnaHRcIjtcbiAgfVxuICAuU2FpbGVjTWVkaXVtIHtcbiAgICBmb250LWZhbWlseTogXCJTYWlsZWMtTWVkaXVtXCI7XG4gIH1cbiAgLlNhaWxlY1JlZ3VsYXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIlNhaWxlYy1SZWd1bGFyXCI7XG4gIH1cbiAgLlNhaWxlY1JlZ3VsYXJJdGFsaWMge1xuICAgIGZvbnQtZmFtaWx5OiBcIlNhaWxlYy1SZWd1bGFySXRhbGljXCI7XG4gIH1cbiAgaDEsXG4gIGgyIHtcbiAgICBmb250LWZhbWlseTogJGNvcmJlbjtcbiAgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICB9XG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmRpc2FibGVkIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuICAuZXZlbnRfYnRuIHtcbiAgICBib3JkZXItcmFkaXVzOiAzM3B4O1xuICAgIGNvbG9yOiAkYWNjZW50X2NvbG9yMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50X2NvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCA0NHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgJi5zbWFsbCB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBwYWRkaW5nOiAwIDI3cHg7XG4gICAgfVxuICB9XG4gIC5hY2NfY2lyY2xlIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAkYWNjZW50X2NvbG9yMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgbWluLWhlaWdodDogMjVweDtcbiAgICBtaW4td2lkdGg6IDI1cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogOXB4O1xuICB9XG5cbiAgLy9tZnBcbiAgLm1mcF9mYWRlX3NwZWFrZXIubWZwLWJnIHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzIGVhc2Utb3V0O1xuICB9XG4gIC8qIG92ZXJsYXkgYW5pbWF0ZSBpbiAqL1xuICAubWZwX2ZhZGVfc3BlYWtlci5tZnAtYmcubWZwLXJlYWR5IHtcbiAgICBvcGFjaXR5OiAwLjk7XG4gIH1cbiAgLyogb3ZlcmxheSBhbmltYXRlIG91dCAqL1xuICAubWZwX2ZhZGVfc3BlYWtlci5tZnAtYmcubWZwLXJlbW92aW5nIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgLyogY29udGVudCBhdCBzdGFydCAqL1xuICAubWZwX2ZhZGVfc3BlYWtlci5tZnAtd3JhcCAubWZwLWNvbnRlbnQge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjE1cyBlYXNlLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZS1vdXQ7XG4gIH1cbiAgLyogY29udGVudCBhbmltYXRlIGl0ICovXG4gIC5tZnBfZmFkZV9zcGVha2VyLm1mcC13cmFwLm1mcC1yZWFkeSAubWZwLWNvbnRlbnQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgLyogY29udGVudCBhbmltYXRlIG91dCAqL1xuICAubWZwX2ZhZGVfc3BlYWtlci5tZnAtd3JhcC5tZnAtcmVtb3ZpbmcgLm1mcC1jb250ZW50IHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIC5tZnBfZmFkZV9zcGVha2VyLm1mcC1iZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMmQ0MWU2O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDQ1LCA2NSwgMC45KTtcbiAgfVxuXG4gIC8vcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAvL21hZ25pZmljIHBvcHVwXG4gIC8vIC5tZnAtd3JhcCB+ICoge1xuICAvLyAgIC13ZWJraXQtZmlsdGVyOiBibHVyKDJweCk7XG4gIC8vICAgLW1vei1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgLy8gICAtby1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgLy8gICAtbXMtZmlsdGVyOiBibHVyKDJweCk7XG4gIC8vICAgZmlsdGVyOiBibHVyKDJweCk7XG4gIC8vIH1cblxuICAubWZwLXdyYXAgLm1mcC1jbG9zZSB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgY29sb3I6ICMyMDJkNDE7XG4gICAgb3BhY2l0eTogMTtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgfVxuICB9XG5cbiAgZGl2Lm1mcF9mYWRlX3NwZWFrZXIge1xuICAgICYubWZwLXdyYXAge1xuICAgICAgLm1mcC1jb250ZW50IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogOTU0cHg7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMzUwcHgpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgIHdpZHRoOiA5NSU7XG4gICAgICAgICAgbWF4LXdpZHRoOiA5NSU7XG4gICAgICAgIH1cblxuICAgICAgICAuc3BlYWtlcl9kZXNjX3dyYXAge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDc2cHggNDZweDtcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oc20pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDc1cHggMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnNwZWFrZXJfaW1nX2NvbCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMyMXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIyNXB4O1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnNwZWFrZXJfaW5mb19jb2wge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5zcGVha2VyX2luZm9fd3JhcCB7XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDQwcHgvNDhweCBDb3JiZW47XG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCA1MHB4LzYwcHggQ29yYmVuO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDE4cHgvMjVweCBTYWlsZWMtUmVndWxhcjtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDIwcHgvMjVweCBTYWlsZWMtUmVndWxhcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuc3BlYWtlcl9zZXNzaW9uc193cmFwIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgICAgICAgICAgLnNwZWFrZXJfc2Vzc2lvbiB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogM3B4IDAgMDtcbiAgICAgICAgICAgICAgICBmb250OiBub3JtYWwgbm9ybWFsIGJvbGQgMjBweC8yNXB4IFNhaWxlYy1Cb2xkO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy9oZWFkZXJcbiAgLnRnY3cyMl9oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRoZWFkZXJfaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ2LCAyNDMsIDIzOSwgMC43NSk7XG4gICAgei1pbmRleDogMTA0MDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NiwgMjQzLCAyMzksIDApO1xuICAgIH1cbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dCk7XG5cbiAgICAmLnNjcm9sbGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ2LCAyNDMsIDIzOSwgMC45NSk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NiwgMjQzLCAyMzksIDEpO1xuICAgICAgLnRnY3cyMm5hdiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ2LCAyNDMsIDIzOSwgMC45NSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ2LCAyNDMsIDIzOSwgMSk7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ2LCAyNDMsIDIzOSwgMC43NSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ2LCAyNDMsIDIzOSwgMSk7XG4gICAgICAgIC50Z2N3MjJuYXYge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ2LCAyNDMsIDIzOSwgMC43NSk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDYsIDI0MywgMjM5LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmlzX2hvbWVfcGFnZSB7XG4gICAgICAuYnJhbmQsXG4gICAgICAuaGVhZGVyX3JpZ2h0IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzIGVhc2UtaW4tb3V0KTtcbiAgICAgIH1cbiAgICAgICYuc2Nyb2xsZWQge1xuICAgICAgICAuYnJhbmQsXG4gICAgICAgIC5oZWFkZXJfcmlnaHQge1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1pbi1vdXQpO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuaGVhZGVyX2NvbnRlbnRzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAkaGVhZGVyX2hlaWdodDtcbiAgICB9XG4gICAgLyogbmF2IHRvZ2dsZSAqL1xuICAgICRoYW1fbmF2d2lkdGg6IDI0MHB4O1xuICAgIC5oYW1fbWVudV93cmFwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNHB4O1xuICAgIH1cbiAgICAuaGFtX3RvZ2dsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIHotaW5kZXg6IDIwNTE7XG5cbiAgICAgIC5oYW1saW5lIHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50X2NvbG9yMjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogNnB4IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDAuM3MgZWFzZS1pbi1vdXQpO1xuICAgICAgfVxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIC5oYW1saW5lIHtcbiAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgfVxuICAgICAgICAuaGFtbGluZTpudGgtY2hpbGQoMikge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgLmhhbWxpbmU6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSg3cHgpIHJvdGF0ZSg0NWRlZykpO1xuICAgICAgICB9XG4gICAgICAgIC5oYW1saW5lOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTExcHgpIHJvdGF0ZSgtNDVkZWcpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qIG5hdiAqL1xuICAgIC50Z2N3MjJuYXYge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDYsIDI0MywgMjM5LCAwLjk1KTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDYsIDI0MywgMjM5LCAwKTtcbiAgICAgIH1cblxuICAgICAgY29sb3I6ICRhY2NlbnRfY29sb3IyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgbGVmdDogLSRoYW1fbmF2d2lkdGg7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6ICRoZWFkZXJfaGVpZ2h0O1xuICAgICAgcGFkZGluZzogMnJlbTtcbiAgICAgIHRyYW5zaXRpb246IGxlZnQgMC41cztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24obGVmdCAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MpO1xuICAgICAgd2lkdGg6ICRoYW1fbmF2d2lkdGg7XG4gICAgICB6LWluZGV4OiAyMDUwO1xuXG4gICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCLigJQgXCI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkYWNjZW50X2NvbG9yMjtcbiAgICAgICAgICBmb250OiBub3JtYWwgbm9ybWFsIGJvbGQgMjBweC80MXB4IFNhaWxlYy1Cb2xkO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRlcl9yaWdodCB7XG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwIDIzcHggMCAwO1xuICAgICAgfVxuICAgICAgLmhlYWRlcl9yaWdodF9idG5fd3JhcCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy9lbmQgaGVhZGVyXG4gIC8vZm9vdGVyXG4gIC50Z2N3MjJfZm9vdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmM2VmO1xuICAgIGNvbG9yOiAjMjAyZDQxO1xuICAgIC5jb250ZW50X2NvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA4MHB4IDIwcHggMjBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDIwcHggNDBweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuZm9vdGVyX2xvZ28ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAzNzBweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaDUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogNDBweCBhdXRvIDEwcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5ldmVudF9idG4ge1xuICAgICAgICBtYXJnaW46IDE2cHggYXV0byAwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICBtYXJnaW46IDE2cHg7XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTZweCAwIDE2cHggMTZweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmZvb3Rlcl9ib3R0b21faW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxODVweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBoZWlnaHQ6IDIxMHB4O1xuICAgICAgfVxuICAgICAgLmJhY2tncm91bmRfaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnN1Yl9mb290ZXIge1xuICAgICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8vZW5kIGZvb3RlclxuICAudGdjdzIyLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmYzZWY7XG4gICAgLmhlcm8ge1xuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogOTQ1cHg7XG4gICAgICB9XG4gICAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICAgIHBhZGRpbmc6IDEwMHB4IDAgMzBweDtcbiAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgcGFkZGluZzogMTAwcHggMCAzMHB4O1xuICAgICAgfVxuICAgICAgJi5mdWxsX2hlaWdodCB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBtaW4taGVpZ2h0OiA5MHZoO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDc1cHggMDtcbiAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IHVuc2V0O1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogdW5zZXQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiB1bnNldDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDUwcHgvNjBweCBDb3JiZW47XG4gICAgICB9XG4gICAgICAucmVnX2J0bl93cmFwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDI4cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNwZWFrZXJzX3NlY3Rpb24ge1xuICAgICAgJi5zZWNfYWxpZ25tZW50X2NlbnRlciB7XG4gICAgICAgIHBhZGRpbmc6IDY5cHggMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgcGFkZGluZzogOTRweCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnNlY19hbGlnbm1lbnRfbGVmdCB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMCA3NHB4O1xuICAgICAgfVxuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogOTE2cHg7XG4gICAgICB9XG4gICAgICBoMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgNTBweC82MHB4IENvcmJlbjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUycHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA4NHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoMyB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgYm9sZCAzMHB4LzM2cHggU2FpbGVjLUJvbGQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMXB4O1xuICAgICAgfVxuICAgICAgLnNwZWFrZXJfY2FyZF9yb3dfd3JhcCB7XG4gICAgICAgIC5zcGVha2VyX2NhcmRfY29sIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDNweDtcbiAgICAgICAgICAuc3BfcHJvZmlsZV9pbWdfd3JhcCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5zcF90aXRsZV93cmFwIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLnNwX2NhcmRfdGl0bGUge1xuICAgICAgICAgICAgICBjb2xvcjogJGFjY2VudF9jb2xvcjI7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmJnX3ZpZGVvX3NlY3Rpb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDUwMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgLmNvbnRlbnRfaW5uZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODQpO1xuXG4gICAgICAgIC5jb250YWluZXIsXG4gICAgICAgIC5yb3cge1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBoMiB7XG4gICAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgNTBweC82MHB4IENvcmJlbjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYmFja2dyb3VuZCB7XG4gICAgICAgIEBpbmNsdWRlIGFic29sdXRlLWNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg0KTtcblxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA2MCUgY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIC5lbWJlZC1jb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBpZnJhbWUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICAgICAgaGVpZ2h0OiA1Ni4yNXZ3OyAvKiBHaXZlbiBhIDE2OjkgYXNwZWN0IHJhdGlvLCA5LzE2KjEwMCA9IDU2LjI1ICovXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1MDBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTc3Ljc3dmg7IC8qIEdpdmVuIGEgMTY6OSBhc3BlY3QgcmF0aW8sIDE2LzkqMTAwID0gMTc3Ljc3ICovXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHZpZGVvIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgICAgaGVpZ2h0OiA1MDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudGhlbWVfc2VjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDkwcHggMDtcbiAgICAgIGgyIHtcbiAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgNTBweC82MHB4IENvcmJlbjtcbiAgICAgICAgY29sb3I6ICRhY2NlbnRfY29sb3IyO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiA1ODVweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7XG4gICAgICB9XG4gICAgICAuc3dpcGVyLXNsaWRlIHtcbiAgICAgICAgd2lkdGg6IDE3MHB4O1xuICAgICAgICBoZWlnaHQ6IDE3MHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XG4gICAgICAgIG1heC13aWR0aDogMTcwcHg7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICYubGF6eWxvYWQsXG4gICAgICAgICAgJi5sYXp5bG9hZGluZyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc3dpcGVyLXdyYXBwZXIge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDtcbiAgICAgICAgLW8tdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50O1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuY29udGVudF9jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nLXRvcDogNzBweDtcbiAgICAgICAgLmNvbnRlbnRfY29sIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDY0OXB4O1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDIwcHgvMjVweCAkc2FpbGVjO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuc2NoZWR1bGVfc2VjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDYwcHggMCA3MHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggMCAwO1xuICAgICAgfVxuICAgICAgaDIge1xuICAgICAgICBmb250OiBub3JtYWwgbm9ybWFsIG5vcm1hbCA1MHB4LzYwcHggQ29yYmVuO1xuICAgICAgICBjb2xvcjogJGFjY2VudF9jb2xvcjI7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDU0MHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zY2hlZHVsZV9uYXYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIC5uYXZfYW5pbV9ib3gge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJGFjY2VudF9jb2xvcjI7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBib3R0b206IC0zcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm5hdi10YWJzIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWF4LXdpZHRoOiA3MCU7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAtd2Via2l0LWJveC1wYWNrOiBzcGFjZS1ldmVubHk7XG4gICAgICAgICAgICAtbXMtZmxleC1wYWNrOiBzcGFjZS1ldmVubHk7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0zcHg7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zY2hlZHVsZV90YWIge1xuICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgYm9sZCAyMHB4LzIwcHggU2FpbGVjLUJvbGQ7XG4gICAgICAgICAgY29sb3I6ICNmNmYzZWY7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgLXdlYmtpdC1ib3gtZmxleDogNTAlO1xuICAgICAgICAgIC1tcy1mbGV4OiA1MCU7XG4gICAgICAgICAgZmxleDogNTAlO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50X2NvbG9yNDtcbiAgICAgICAgICAgIC13ZWJraXQtYm94LWZsZXg6IDE7XG4gICAgICAgICAgICAtbXMtZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAgICAgICAgICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50X2NvbG9yMztcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRhY2NlbnRfY29sb3IyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnNjaGVkdWxlX3dyYXAge1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIC5uYXRfZXZlbnRfc2NoZWR1bGVfd3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgICAgIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAgICAgICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgcGFkZGluZzogNDBweCAzMHB4O1xuICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRhY2NlbnRfY29sb3IyO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgICAgbWluLWhlaWdodDogNjQwcHg7XG4gICAgICAgICAgLnNjaGVkX2l0ZW0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICBmb250OiBub3JtYWwgbm9ybWFsIGJvbGQgMjBweC8yNXB4IFNhaWxlYy1Cb2xkO1xuICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICAgICAgICAgICAgICBtYXJnaW46IDNweCAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5zY2hlZF9pdGVtX2xpbmsge1xuICAgICAgICAgICAgbWFyZ2luOiAtMTBweCAwIDEwcHg7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2VjdGlvbl9zY2hlZHVsZV9saW5rX3dyYXAge1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5mYXFfc2VjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDYwcHggMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDAgMTAwcHg7XG4gICAgICB9XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDUwcHgvNjBweCBDb3JiZW47XG4gICAgICAgIGNvbG9yOiAkYWNjZW50X2NvbG9yMjtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICAgICAgfVxuICAgICAgLmFjY29yZGlvbl9jb250YWluZXIge1xuICAgICAgICAuYWNjb3JkaW9uX2NvbCB7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgbWF4LXdpZHRoOiA2MjBweDtcbiAgICAgICAgICAucWFfd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5hY2NfcXVlc3Rpb24ge1xuICAgICAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBib2xkIDIwcHgvMjVweCBTYWlsZWMtQm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50X2NvbG9yMjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICY6YmVmb3JlLFxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICBsZWZ0OiAtMjVweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50X2NvbG9yMjtcbiAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4yNXM7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuY29sbGFwc2VkOmJlZm9yZSB7XG4gICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmNvbGxhcHNlZDphZnRlciB7XG4gICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5hY2NfYW5zd2VyIHtcbiAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDIwcHgvMjVweCBTYWlsZWMtUmVndWxhcjtcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50X2NvbG9yMjtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnJlZ2lzdGVyX3NlY3Rpb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiA2MHB4IDAgNzBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDAgMTQwcHg7XG4gICAgICB9XG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDUwcHgvNjBweCBDb3JiZW47XG4gICAgICAgIGNvbG9yOiAkYWNjZW50X2NvbG9yMjtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogODBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnJlZ19jb2xfY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgLnJlZ2lzdGVyX2NvbCB7XG4gICAgICAgICAgY29sb3I6ICRhY2NlbnRfY29sb3IyO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyM3B4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIzcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5yZWdpc3Rlcl9jb2xfd3JhcCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkYWNjZW50X2NvbG9yMjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnRpdGxlX2NvbCB7XG4gICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgYm9sZCAyMHB4LzI1cHggU2FpbGVjLUJvbGQ7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kYXRlX3RleHQge1xuICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5wcmljZV9jb2wge1xuICAgICAgICAgICAgLnByYl9jb250ZW50IHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmZhbmN5X3ByaWNlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgICAucHJpY2VfYmFkZ2Uge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDIwMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDMwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5wcmljZSB7XG4gICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNhaWxlYztcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIHN1cCB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTAuNzVyZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFNhaWxlYy1NZWRpdW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDNweDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgdG9wOiAtMS4xNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuZGF0ZV90ZXh0IHtcbiAgICAgICAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgbm9ybWFsIDEycHggU2FpbGVjLVJlZ3VsYXI7XG4gICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlX2JhZGdlIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAxNXB4IDE3cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogNTZweDtcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzNweDtcbiAgICAgICAgICAgICAgLnByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuZG90dGVkX2JvcmRlciB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgYm9yZGVyOiAzcHggZGFzaGVkICRhY2NlbnRfY29sb3IyO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5idG5fY29sdW1uIHtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnd5c2l3eWdfc2VjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDYwcHggMCA3MHB4O1xuICAgIH1cbiAgICAudmFyaW91c19jb250ZW50X3NlY3Rpb24ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2NDlweDtcbiAgICAgIH1cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBib2xkIDMwcHgvMzZweCBTYWlsZWMtQm9sZDtcbiAgICAgICAgY29sb3I6ICRhY2NlbnRfY29sb3IyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuc3VidGV4dF93cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBpbWcge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogLTEzMHB4O1xuICAgICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGgzIHtcbiAgICAgICAgICBmb250OiBub3JtYWwgbm9ybWFsIGJvbGQgMjNweC8yOHB4IFNhaWxlYy1Cb2xkO1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgYm9sZCAyNXB4LzMwcHggU2FpbGVjLUJvbGQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY29udGVudF9ibG9ja193cmFwIHtcbiAgICAgICAgLmNvbnRlbnRfd3JhcCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICAgICAgaDQge1xuICAgICAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBib2xkIDIycHgvMjNweCBTYWlsZWMtQm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkYWNjZW50X2NvbG9yMjtcbiAgICAgICAgICAgIG1hcmdpbjogMnB4IDAgMThweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBib2xkIDI0cHgvMjVweCBTYWlsZWMtQm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaDUge1xuICAgICAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBib2xkIDE2cHgvMjRweCBTYWlsZWMtQm9sZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobGcpIHtcbiAgICAgICAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBib2xkIDIwcHgvMjhweCBTYWlsZWMtQm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaDYge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgYm9sZCAxMHB4LzEycHggU2FpbGVjLUJvbGQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgYm9sZCAxMnB4LzE0cHggU2FpbGVjLUJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDU1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc3BlY2lhbF90ZXh0IHtcbiAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgYm9sZCAxNHB4LzE2cHggU2FpbGVjLUJvbGQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICAgIGZvbnQ6IG5vcm1hbCBub3JtYWwgYm9sZCAxNnB4LzE4cHggU2FpbGVjLUJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb2xvcjogJGFjY2VudF9jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmRlc2NyaXB0aW9uLFxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChsZykge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5ldmVudF9idG4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAudmlkZW9fYmxvY2tfc2VjdGlvbiB7XG4gICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTAwcHg7XG4gICAgICB9XG4gICAgICBoMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgNTBweC82MHB4IENvcmJlbjtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICB9XG4gICAgICBoNCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udDogbm9ybWFsIG5vcm1hbCBub3JtYWwgMjBweC8yOHB4IFNhaWxlYy1NZWRpdW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMXB4O1xuICAgICAgfVxuICAgICAgLnZpZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEyMHB4O1xuICAgICAgfVxuICAgICAgLnZpZF9pbmZve1xuICAgICAgICBtYXJnaW4tdG9wOiAtNzVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgaDN7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRjb3JiZW47XG4gICAgICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDI2LDMyKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgY29sb3I6ICM3QzhFN0Y7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuICAgICAgICBoNHtcbiAgICAgICAgICBmb250LWZhbWlseTogJHNhaWxlY01lZGl1bTtcbiAgICAgICAgICBAaW5jbHVkZSBmb250LXJlc3BvbnNpdmUoMTgsMjYpO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5saXZlY2hhdF9idXR0b24ge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAvLyB3aWR0aDogMjAwcHg7XG4gICAgLy8gaGVpZ2h0OiA1MHB4O1xuICAgIHJpZ2h0OiAtMTUwcHg7XG4gICAgYm90dG9tOiAxNXB4O1xuICAgIC8vY29sb3I6ICRhY2NlbnRfY29sb3IyO1xuICAgIC8vYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxNHB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDE0cHg7XG4gICAgei1pbmRleDogOTk5O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzO1xuICAgIC8vIHN2ZyB7XG4gICAgLy8gICB3aWR0aDogMzJweDtcbiAgICAvLyAgIGhlaWdodDogYXV0bztcbiAgICAvLyB9XG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcztcbiAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICB9XG4gIH1cbn1cblxuYm9keS5wYWdlLXRlbXBsYXRlLXRnY3cyMi1yZW1lbWJlci15b3VyLWpveXtcbiAgJHNhaWxlYzogXCJTYWlsZWMtUmVndWxhclwiO1xuICAkc2FpbGVjQm9sZDogXCJTYWlsZWMtQm9sZFwiO1xuICAkc2FpbGVjTGlnaHQ6IFwiU2FpbGVjLUxpZ2h0XCI7XG4gICRzYWlsZWNNZWRpdW06IFwiU2FpbGVjLU1lZGl1bVwiO1xuICAkc2FpbGVjSXRhbGljOiBcIlNhaWxlYy1SZWd1bGFySXRhbGljXCI7XG4gICRjb3JiZW46IFwiQ29yYmVuXCI7XG4gICRhY2NlbnRfY29sb3I6IHZhcigtLWFjY2VudGNvbG9yLWNvbG9yKTtcbiAgJGFjY2VudF9jb2xvcjI6IHZhcigtLWFjY2VudGNvbG9yMi1jb2xvcik7XG4gICRhY2NlbnRfY29sb3IzOiB2YXIoLS1hY2NlbnRjb2xvcjMtY29sb3IpO1xuICAkYWNjZW50X2NvbG9yNDogdmFyKC0tYWNjZW50Y29sb3I0LWNvbG9yKTtcbiAgJGhlYWRlcl9oZWlnaHQ6IDc1cHg7XG4gIGNvbG9yOiAkYWNjZW50X2NvbG9yMjtcblxuICAudGdjdzIyX3dyYXBwZXIge1xuICAgIGNvbG9yOiAkYWNjZW50X2NvbG9yMjtcbiAgfVxuICAjaGVhZGVyLXNwYWNlciB7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG4gIGEge1xuICAgIGNvbG9yOiAkYWNjZW50X2NvbG9yO1xuICB9XG4gIC5TYWlsZWNCb2xkIHtcbiAgICBmb250LWZhbWlseTogXCJTYWlsZWMtQm9sZFwiO1xuICB9XG4gIC5TYWlsZWNMaWdodCB7XG4gICAgZm9udC1mYW1pbHk6IFwiU2FpbGVjLUxpZ2h0XCI7XG4gIH1cbiAgLlNhaWxlY01lZGl1bSB7XG4gICAgZm9udC1mYW1pbHk6IFwiU2FpbGVjLU1lZGl1bVwiO1xuICB9XG4gIC5TYWlsZWNSZWd1bGFyIHtcbiAgICBmb250LWZhbWlseTogXCJTYWlsZWMtUmVndWxhclwiO1xuICB9XG4gIC5TYWlsZWNSZWd1bGFySXRhbGljIHtcbiAgICBmb250LWZhbWlseTogXCJTYWlsZWMtUmVndWxhckl0YWxpY1wiO1xuICB9XG4gIGgxLFxuICBoMiB7XG4gICAgZm9udC1mYW1pbHk6ICRjb3JiZW47XG4gIH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMjlweDtcbiAgfVxuICAuaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG4gIC5kaXNhYmxlZCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgLmV2ZW50X2J0biB7XG4gICAgYm9yZGVyLXJhZGl1czogMzNweCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkYWNjZW50X2NvbG9yMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50X2NvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCA0NHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAmLnNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIHBhZGRpbmc6IDAgMjdweDtcbiAgICB9XG4gIH1cbiAgLmFjY19jaXJjbGUge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICRhY2NlbnRfY29sb3IyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiAyNXB4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBtaW4taGVpZ2h0OiAyNXB4O1xuICAgIG1pbi13aWR0aDogMjVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiA5cHg7XG4gIH1cbiAgLy9oZWFkZXJcbiAgLnRnY3cyMl9oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICRoZWFkZXJfaGVpZ2h0O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ2LCAyNDMsIDIzOSwgMSk7XG4gICAgei1pbmRleDogMTA0MDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0NiwgMjQzLCAyMzksIDEpO1xuICAgIH1cbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dCk7ICAgXG4gICAgXG4gICAgLmJyYW5ke1xuICAgICAgbWF4LXdpZHRoOiAyMDBweDsgICAgICBcbiAgICAgIG1hcmdpbi1sZWZ0OiA1MHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgIH1cblxuICAgICAgaW1ne1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIC5oZWFkZXJfY29udGVudHMge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6ICRoZWFkZXJfaGVpZ2h0O1xuICAgIH1cbiAgICAvKiBuYXYgdG9nZ2xlICovXG4gICAgJGhhbV9uYXZ3aWR0aDogMjQwcHg7XG4gICAgLmhhbV9tZW51X3dyYXAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDM0cHg7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH0gICBcblxuICAgIC8qIG5hdiAqL1xuICAgIC50Z2N3MjJuYXYge1xuICAgICAgZGlzcGxheTpub25lOyAgICAgXG4gICAgfVxuICAgIC5oZWFkZXJfcmlnaHQge1xuICAgICBkaXNwbGF5Om5vbmU7XG4gICAgfVxuICB9XG4gIC8vZW5kIGhlYWRlclxuICAvL2hlcm9cbiAgLmhlcm97XG4gICAgcGFkZGluZy10b3A6IDIwMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xuICAgICAgcGFkZGluZy10b3A6IDE1MHB4O1xuICAgIH1cbiAgICAuY29udGFpbmVye1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCh4eGwpe1xuICAgICAgICBtYXgtd2lkdGg6IDExMDBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmhlcm9faW1nX2NvbHtcbiAgICAgIGltZ3tcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyAgICAgICAgXG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDhweCA4cHggLTJweCByZ2JhKDAsIDAsIDAsIC4yNSk7XG4gICAgICB9XG4gICAgfVxuICAgIGgxe1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDQwLCA2Nik7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbiAgICBoM3tcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGZvbnQtcmVzcG9uc2l2ZSgzMCwgNDUpO1xuICAgICAgZm9udC1mYW1pbHk6ICRzYWlsZWNNZWRpdW07XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuICAgIHB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgYXtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICYuZXN2LWNyb3NzcmVmLWxpbmt7XG4gICAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgICAgIH1cbiAgICB9XG4gICAgLmV2ZW50X2J0bntcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VCQ0E3OTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpe1xuICAgICAgICBoZWlnaHQ6IDgwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICB9XG4gICAgICAmICsgLmV2ZW50X2J0bntcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E3YmRkMztcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cblxuICB9XG4gIC8vZW5kIGhlcm9cbiAgLy9jdGFcbiAgLmN0YXtcbiAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDEwMHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCl7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICB9XG4gICAgLmNvbnRhaW5lcntcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoeHhsKXtcbiAgICAgICAgbWF4LXdpZHRoOiAxMzQ2cHg7XG4gICAgICB9XG4gICAgfVxuICAgIC5jdGFfaW1nX2NvbHtcbiAgICAgIGltZ3tcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIC5jdGFfdGV4dF9jb2x7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIGg0e1xuICAgICAgQGluY2x1ZGUgZm9udC1yZXNwb25zaXZlKDMyLCA1MSk7XG4gICAgICBmb250LWZhbWlseTogJHNhaWxlY01lZGl1bTtcbiAgICAgIGNvbG9yOiAjOTNBQkMzO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuICB9XG4gIC8vZW5kIGN0YVxuICAudGdjdzIyX2Zvb3RlcntcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59IiwiLy8gVXNlIHRoaXMgZmlsZSB0byBvdmVyd3JpdGUgdGhlIGJhc2ljIEJvb3RzdHJhcCB2YXJpYWJsZXMgYW5kIGFkZCB5b3VyIG93biB2YXJpYWJsZXNcbi8vIFRvIG92ZXJ3cml0ZSBhIEJvb3RzdHJhcCB2YXJpYWJsZSB5b3UgZG9uwrR0IGhhdmUgdG8gdG91Y2ggdGhlIEJvb3RzdHJhcCBmb2xkZXIuXG4vLyBKdXN0IGNvcHkgYSB2YXJpYWJsZSBmcm9tIHNyYy9zYXNzL2Jvb3RzdHJhcDQvX3ZhcmlhYmxlcy5zY3NzLCBwYXN0ZSBpdCBoZXJlIGFuZCBlZGl0IHRoZSB2YWx1ZS5cblxuLy9Db250YWluZXIgd2lkdGhcbiRncmlkLWd1dHRlci13aWR0aDogNDlweCAhZGVmYXVsdDtcbiRncmlkLWJyZWFrcG9pbnRzOiAoIHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDEwMjRweCwgeGw6IDEyNzBweCwgeHhsOjE1MDBweCApICFkZWZhdWx0O1xuJGNvbnRhaW5lci1tYXgtd2lkdGhzOiAoIHNtOiA1NDBweCwgbWQ6IDc1MHB4LCBsZzogOTQycHgsIHhsOiAxMjQwcHgsIHh4bDogMTQ4OXB4ICkgIWRlZmF1bHQ7XG5cbi8vIENvbG9yc1xuJGJyYW5kLXByaW1hcnk6ICM3OUFFNEE7XG4kcHJpbWFyeTogIzc5QUU0QTtcbiRicmFuZC1wcmltYXJ5LXJnYmE6IHJnYmEoMTIxLCAxNzQsIDc0LCAxKTtcbiRib2R5LWNvbG9yOiAjMjcyNzI3O1xuJGJvZHktYmc6ICNmZmY7XG4kbGlnaHQ6ICNmZmY7XG4kbGlnaHRfZ3JleTogI0YxRjFGMTtcbiRncmV5OiAjZDhkOGQ4O1xuJGhlYWRpbmdfZ3JleTogI2E3YTdhNztcbiRkYXJrX2dyZXk6ICM1ODU4NUI7XG4kbWVudV9ncmV5OiAjNzA3MDcwO1xuJGJsYWNrOiAjMjcyNzI3O1xuJGdyZXlfYmdfYmxhY2s6IzE3MTcxNztcbiRibG9ja3F1b3RlX2dyZWVuOiAjNzdBRjQzO1xuXG4vL2ZvbnRzXG4kZ290aGFtOiBcImdvdGhhbVwiLCBzYW5zLXNlcmlmO1xuJGNoYXJ0ZXI6IFwiY2hhcnRlci1idC1wcm9cIjtcbiRub2U6IFwiTm9lIERpc3BsYXlcIjtcblxuXG4vL3NvY2lhbCBjb2xvcnNcbiRmYWNlYm9va19jb2xvcjogaHNsYSgyMjIsIDQ3JSwgNDAlLCAxKTsgLy8gIzM2NTM5N1xuJHR3aXR0ZXJfY29sb3I6IGhzbGEoMTk4LCAxMDAlLCA0NyUsIDEpOyAvLyAjMDBhOWYxXG4kbGlua2VkaW5fY29sb3I6IGhzbGEoMjAzLCAxMDAlLCAzNSUsIDEpOyAvLyAjMDA2ZGIzXG4kYXBwbGVfY29sb3I6IGhzbGEoMCwgMCUsIDQ1JSwgMSk7IC8vICM3MzczNzNcbiRnb29nbGVfY29sb3I6IGhzbGEoMjE3LCA4OSUsIDYxJSwgMSk7IC8vICM0Mjg1ZjRcbiRnb29nbGVfcGx1c19jb2xvcjogaHNsYSg4LCA3NCUsIDUzJSwgMSk7IC8vICNlMDQ1MmNcbiR5b3V0dWJlX2NvbG9yOiBoc2xhKDAsIDEwMCUsIDYwJSwgMSk7IC8vICNmZjMzMzNcbiR2aW1lb19jb2xvcjogaHNsYSgyMDAsIDgyJSwgNjElLCAxKTsgLy8gIzQ4YjZlZFxuJHBpbnRlcmVzdF9jb2xvcjogaHNsYSgwLCA3OCUsIDQ1JSwgMSk7IC8vICNjZTFhMTlcbiR5ZWxwX2NvbG9yOiBoc2xhKDUsIDEwMCUsIDM4JSwgMSk7IC8vICNjMzBmMDBcbiRkcmliYmJsZV9jb2xvcjogaHNsYSgzMzgsIDgyJSwgNjAlLCAxKTsgLy8gI2VkNDU4NFxuJGFtYXpvbl9jb2xvcjogaHNsYSgzNiwgMTAwJSwgNTAlLCAxKTsgLy8gI2ZmOTcwMFxuJGViYXlfY29sb3I6IGhzbGEoMjE5LCA4OSUsIDMwJSwgMSk7IC8vICMwODM3OTBcbiRza3lwZV9jb2xvcjogaHNsYSgxOTgsIDEwMCUsIDQ4JSwgMSk7IC8vICMwMGFjZjRcbiRpbnN0YWdyYW1fY29sb3I6IGhzbGEoMjA4LCA0NiUsIDQxJSwgMSk7IC8vICMzOTZkOWFcbiRkcm9wYm94X2NvbG9yOiBoc2xhKDIwNiwgODklLCA0NiUsIDEpOyAvLyAjMGQ4NGRlXG4kZmxpY2tyX2NvbG9yOiBoc2xhKDMzNCwgMTAwJSwgNDYlLCAxKTsgLy8gI2VhMDA2NlxuJGdpdGh1Yl9jb2xvcjogaHNsYSgwLCAwJSwgMTglLCAxKTsgLy8gIzJmMmYyZlxuJGJhc2VjYW1wX2NvbG9yOiBoc2xhKDEyMSwgMzglLCA1OCUsIDEpOyAvLyAjNmJiZDZkXG4kdHVtYmxyX2NvbG9yOiBoc2xhKDIxMCwgMzclLCAzMCUsIDEpOyAvLyAjMzA0YzY4XG4kZm91cnNxdWFyZV9jb2xvcjogaHNsYSgyMDYsIDcyJSwgNDUlLCAxKTsgLy8gIzIwN2RjNVxuJGJveF9jb2xvcjogaHNsYSgyMDQsIDgzJSwgNDAlLCAxKTsgLy8gIzEyNzdiY1xuXG4vL3RyYW5zaXRpb25zXG4kY3ViaWM6IGFsbCAuNnMgY3ViaWMtYmV6aWVyKC4xOSwxLC4yMiwxKSA1MG1zO1xuJGN1YmljLWZhc3Q6IGFsbCAuM3MgY3ViaWMtYmV6aWVyKC4xOSwxLC4yMiwxKSA1MG1zO1xuJGN1YmljLXNsb3c6IGFsbCAxLjVzIGN1YmljLWJlemllciguMTksMSwuMjIsMSkgNTBtcztcbiRlYXNlOiBhbGwgLjZzIGVhc2UtaW4tb3V0O1xuXG4vL2hlYWRlciBoZWlnaHRcbiRuYXZiYXJfaGVpZ2h0OiA1MHB4O1xuJG1vYmlsZV9uYXZiYXJfaGVpZ2h0OjQwcHg7XG5cblxuLypcbiAgICBWZWxvY2l0eSBUcmFuc2l0aW9ucyBMaXN0XG4gICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5mYWRlSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5mYWRlT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uZmxpcFhJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmZsaXBYT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uZmxpcFlJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmZsaXBZT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uZmxpcEJvdW5jZVhJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmZsaXBCb3VuY2VYT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uZmxpcEJvdW5jZVlJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmZsaXBCb3VuY2VZT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uc3dvb3BJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnN3b29wT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24ud2hpcmxJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLndoaXJsT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uc2hyaW5rSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zaHJpbmtPdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5leHBhbmRJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmV4cGFuZE91dCcpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmJvdW5jZUluJylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uYm91bmNlT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uYm91bmNlVXBJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmJvdW5jZVVwT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uYm91bmNlRG93bkluJylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uYm91bmNlRG93bk91dCcpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmJvdW5jZUxlZnRJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLmJvdW5jZUxlZnRPdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5ib3VuY2VSaWdodEluJylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uYm91bmNlUmlnaHRPdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZVVwSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZVVwT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uc2xpZGVEb3duSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZURvd25PdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZUxlZnRJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnNsaWRlTGVmdE91dCcpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnNsaWRlUmlnaHRJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnNsaWRlUmlnaHRPdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZVVwQmlnSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZVVwQmlnT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24uc2xpZGVEb3duQmlnSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZURvd25CaWdPdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5zbGlkZUxlZnRCaWdJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnNsaWRlTGVmdEJpZ091dCcpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnNsaWRlUmlnaHRCaWdJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnNsaWRlUmlnaHRCaWdPdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5wZXJzcGVjdGl2ZVVwSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5wZXJzcGVjdGl2ZVVwT3V0JylcbiAgICAudmVsb2NpdHkoJ3RyYW5zaXRpb24ucGVyc3BlY3RpdmVEb3duSW4nKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5wZXJzcGVjdGl2ZURvd25PdXQnKVxuICAgIC52ZWxvY2l0eSgndHJhbnNpdGlvbi5wZXJzcGVjdGl2ZUxlZnRJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnBlcnNwZWN0aXZlTGVmdE91dCcpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnBlcnNwZWN0aXZlUmlnaHRJbicpXG4gICAgLnZlbG9jaXR5KCd0cmFuc2l0aW9uLnBlcnNwZWN0aXZlUmlnaHRPdXQnKTsgXG5cbiovXG4iLCIvKiBNaXhpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vLy8vLy8vIEF2aWxhYmxlIEJvb3RzdHJhcCBNaXhpbnNcbi8vLy8gQWxlcnRzXG4vL0BpbmNsdWRlIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICR0ZXh0LWNvbG9yKTtcbi8vXG4vLy8vIEJhY2tncm91bmQgVmFyaWFudFxuLy9AaW5jbHVkZSBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcik7XG4vL1xuLy8vLyBCb3JkZXIgUmFkaXVzXG4vL0BpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRyYWRpdXMpO1xuLy9AaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpO1xuLy9AaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkcmFkaXVzKTtcbi8vQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpO1xuLy9cbi8vLy8gQnV0dG9uc1xuLy9AaW5jbHVkZSBidXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKTtcbi8vQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmctdmVydGljYWwsICRwYWRkaW5nLWhvcml6b250YWwsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpO1xuLy9cbi8vLy8gQ2VudGVyIEJsb2NrXG4vL0BpbmNsdWRlIGNlbnRlci1ibG9jaygpO1xuLy9cbi8vLy8gQ2xlYXJmaXhcbi8vQGluY2x1ZGUgY2xlYXJmaXgoKTtcbi8vXG4vLy8vIEZvcm1zXG4vL0BpbmNsdWRlIGZvcm0tY29udHJvbC12YWxpZGF0aW9uKCR0ZXh0LWNvbG9yOiAjNTU1LCAkYm9yZGVyLWNvbG9yOiAjY2NjLCAkYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSk7XG4vL0BpbmNsdWRlIGZvcm0tY29udHJvbC1mb2N1cygkY29sb3I6ICRpbnB1dC1ib3JkZXItZm9jdXMpO1xuLy9AaW5jbHVkZSBpbnB1dC1zaXplKCRwYXJlbnQsICRpbnB1dC1oZWlnaHQsICRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKTtcbi8vXG4vLy8vIEdyYWRpZW50c1xuLy9AaW5jbHVkZSBncmFkaWVudC1ob3Jpem9udGFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpO1xuLy9AaW5jbHVkZSBncmFkaWVudC12ZXJ0aWNhbCgkc3RhcnQtY29sb3I6ICM1NTUsICRlbmQtY29sb3I6ICMzMzMsICRzdGFydC1wZXJjZW50OiAwJSwgJGVuZC1wZXJjZW50OiAxMDAlKTtcbi8vQGluY2x1ZGUgZ3JhZGllbnQtZGlyZWN0aW9uYWwoJHN0YXJ0LWNvbG9yOiAjNTU1LCAkZW5kLWNvbG9yOiAjMzMzLCAkZGVnOiA0NWRlZyk7XG4vL0BpbmNsdWRlIGdyYWRpZW50LWhvcml6b250YWwtdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zik7XG4vL0BpbmNsdWRlIGdyYWRpZW50LXZlcnRpY2FsLXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpO1xuLy9AaW5jbHVkZSBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpO1xuLy9AaW5jbHVkZSBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuMTUpLCAkYW5nbGU6IDQ1ZGVnKTtcbi8vXG4vLy8vIEdyaWQgRnJhbWV3b3JrXG4vL0BpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zKCRpOiAxLCAkbGlzdDogXCIuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCIpO1xuLy9AaW5jbHVkZSBmbG9hdC1ncmlkLWNvbHVtbnMoJGNsYXNzLCAkaTogMSwgJGxpc3Q6IFwiLmNvbC0jeyRjbGFzc30tI3skaX1cIik7XG4vL0BpbmNsdWRlIGNhbGMtZ3JpZC1jb2x1bW4oJGluZGV4LCAkY2xhc3MsICR0eXBlKTtcbi8vQGluY2x1ZGUgbG9vcC1ncmlkLWNvbHVtbnMoJGNvbHVtbnMsICRjbGFzcywgJHR5cGUpO1xuLy9AaW5jbHVkZSBtYWtlLWdyaWQoJGNsYXNzKTtcbi8vXG4vLy8vIEdyaWRcbi8vQGluY2x1ZGUgY29udGFpbmVyLWZpeGVkKCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCk7XG4vL0BpbmNsdWRlIG1ha2Utcm93KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCk7XG4vL0BpbmNsdWRlIG1ha2UteHMtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuLy9AaW5jbHVkZSBtYWtlLXhzLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpO1xuLy9AaW5jbHVkZSBtYWtlLXhzLWNvbHVtbi1wdXNoKCRjb2x1bW5zKTtcbi8vQGluY2x1ZGUgbWFrZS14cy1jb2x1bW4tcHVsbCgkY29sdW1ucyk7XG4vL0BpbmNsdWRlIG1ha2Utc20tY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuLy9AaW5jbHVkZSBtYWtlLXNtLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpO1xuLy9AaW5jbHVkZSBtYWtlLXNtLWNvbHVtbi1wdXNoKCRjb2x1bW5zKTtcbi8vQGluY2x1ZGUgbWFrZS1zbS1jb2x1bW4tcHVsbCgkY29sdW1ucyk7XG4vL0BpbmNsdWRlIG1ha2UtbWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuLy9AaW5jbHVkZSBtYWtlLW1kLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpO1xuLy9AaW5jbHVkZSBtYWtlLW1kLWNvbHVtbi1wdXNoKCRjb2x1bW5zKTtcbi8vQGluY2x1ZGUgbWFrZS1tZC1jb2x1bW4tcHVsbCgkY29sdW1ucyk7XG4vL0BpbmNsdWRlIG1ha2UtbGctY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuLy9AaW5jbHVkZSBtYWtlLWxnLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpO1xuLy9AaW5jbHVkZSBtYWtlLWxnLWNvbHVtbi1wdXNoKCRjb2x1bW5zKTtcbi8vQGluY2x1ZGUgbWFrZS1sZy1jb2x1bW4tcHVsbCgkY29sdW1ucyk7XG4vL1xuLy8vLyBIaWRlIFRleHRcbi8vQGluY2x1ZGUgdGV4dC1oaWRlKCk7XG4vL1xuLy8vLyBJbWFnZVxuLy9AaW5jbHVkZSBpbWctcmVzcG9uc2l2ZSgkZGlzcGxheTogYmxvY2spO1xuLy9AaW5jbHVkZSBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KTtcbi8vXG4vLy8vIExhYmVsc1xuLy9AaW5jbHVkZSBsYWJlbC12YXJpYW50KCRjb2xvcik7XG4vL1xuLy8vLyBMaXN0IEdyb3VwXG4vL0BpbmNsdWRlIGxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRjb2xvcik7XG4vL1xuLy8vLyBOYXYgRGl2aWRlclxuLy9AaW5jbHVkZSBuYXYtZGl2aWRlcigkY29sb3I6ICNlNWU1ZTUpO1xuLy9cbi8vLy8gTmF2IFZlcnRpY2FsIEFsaWduXG4vL0BpbmNsdWRlIG5hdmJhci12ZXJ0aWNhbC1hbGlnbigkZWxlbWVudC1oZWlnaHQpO1xuLy9cbi8vLy8gT3BhY2l0eVxuLy9AaW5jbHVkZSBvcGFjaXR5KCRvcGFjaXR5KTtcbi8vXG4vLy8vIFBhZ2luYXRpb25cbi8vQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWRkaW5nLXZlcnRpY2FsLCAkcGFkZGluZy1ob3Jpem9udGFsLCAkZm9udC1zaXplLCAkYm9yZGVyLXJhZGl1cyk7XG4vL1xuLy8vLyBQYW5lbHNcbi8vQGluY2x1ZGUgcGFuZWwtdmFyaWFudCgkYm9yZGVyLCAkaGVhZGluZy10ZXh0LWNvbG9yLCAkaGVhZGluZy1iZy1jb2xvciwgJGhlYWRpbmctYm9yZGVyKTtcbi8vXG4vLy8vIFByb2dyZXNzIEJhclxuLy9AaW5jbHVkZSBwcm9ncmVzcy1iYXItdmFyaWFudCgkY29sb3IpO1xuLy9cbi8vLy8gUmVzZXQgRmlsdGVyXG4vL0BpbmNsdWRlIHJlc2V0LWZpbHRlcigpO1xuLy9cbi8vLy8gUmVzaXplXG4vL0BpbmNsdWRlIHJlc2l6YWJsZSgkZGlyZWN0aW9uKTtcbi8vXG4vLy8vIFJlc3BvbnNpdmUgVmlzaWJpbGl0eVxuLy9AaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJHBhcmVudCk7XG4vL0BpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCRwYXJlbnQpO1xuLy9cbi8vLy8gU2l6ZVxuLy9AaW5jbHVkZSBzaXplKCR3aWR0aCwgJGhlaWdodCk7XG4vL0BpbmNsdWRlIHNxdWFyZSgkc2l6ZSk7XG4vL1xuLy8vLyBUYWIgRm9jdXNcbi8vQGluY2x1ZGUgdGFiLWZvY3VzKCk7XG4vL1xuLy8vLyBUYWJsZSBSb3dcbi8vQGluY2x1ZGUgdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCk7XG4vL1xuLy8vLyBUZXh0IEVtcGhhc2lzXG4vL0BpbmNsdWRlIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpO1xuLy9cbi8vLy8gVGV4dCBPdmVyZmxvd1xuLy9AaW5jbHVkZSB0ZXh0LW92ZXJmbG93KCk7XG4vL1xuLy8vLyBWZW5kb3IgUHJlZml4ZXNcbi8vQGluY2x1ZGUgYW5pbWF0aW9uKCRhbmltYXRpb24pO1xuLy9AaW5jbHVkZSBhbmltYXRpb24tbmFtZSgkbmFtZSk7XG4vL0BpbmNsdWRlIGFuaW1hdGlvbi1kdXJhdGlvbigkZHVyYXRpb24pO1xuLy9AaW5jbHVkZSBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKCR0aW1pbmctZnVuY3Rpb24pO1xuLy9AaW5jbHVkZSBhbmltYXRpb24tZGVsYXkoJGRlbGF5KTtcbi8vQGluY2x1ZGUgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCgkaXRlcmF0aW9uLWNvdW50KTtcbi8vQGluY2x1ZGUgYW5pbWF0aW9uLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcbi8vQGluY2x1ZGUgYW5pbWF0aW9uLWZpbGwtbW9kZSgkZmlsbC1tb2RlKTtcbi8vQGluY2x1ZGUgYmFja2ZhY2UtdmlzaWJpbGl0eSgkdmlzaWJpbGl0eSk7XG4vL0BpbmNsdWRlIGJveC1zaGFkb3coJHNoYWRvdy4uLik7XG4vL0BpbmNsdWRlIGJveC1zaXppbmcoJGJveG1vZGVsKTtcbi8vQGluY2x1ZGUgY29udGVudC1jb2x1bW5zKCRjb2x1bW4tY291bnQsICRjb2x1bW4tZ2FwOiAkZ3JpZC1ndXR0ZXItd2lkdGgpO1xuLy9AaW5jbHVkZSBoeXBoZW5zKCRtb2RlOiBhdXRvKTtcbi8vQGluY2x1ZGUgcGxhY2Vob2xkZXIoJGNvbG9yOiAkaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpO1xuLy9AaW5jbHVkZSBzY2FsZSgkcmF0aW8uLi4pO1xuLy9AaW5jbHVkZSBzY2FsZVgoJHJhdGlvKTtcbi8vQGluY2x1ZGUgc2NhbGVZKCRyYXRpbyk7XG4vL0BpbmNsdWRlIHNrZXcoJHgsICR5KTtcbi8vQGluY2x1ZGUgdHJhbnNsYXRlKCR4LCAkeSk7XG4vL0BpbmNsdWRlIHRyYW5zbGF0ZTNkKCR4LCAkeSwgJHopO1xuLy9AaW5jbHVkZSByb3RhdGUoJGRlZ3JlZXMpO1xuLy9AaW5jbHVkZSByb3RhdGVYKCRkZWdyZWVzKTtcbi8vQGluY2x1ZGUgcm90YXRlWSgkZGVncmVlcyk7XG4vL0BpbmNsdWRlIHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSk7XG4vL0BpbmNsdWRlIHBlcnNwZWN0aXZlLW9yaWdpbigkcGVyc3BlY3RpdmUpO1xuLy9AaW5jbHVkZSB0cmFuc2Zvcm0tb3JpZ2luKCRvcmlnaW4pO1xuLy9AaW5jbHVkZSB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKTtcbi8vQGluY2x1ZGUgdHJhbnNpdGlvbi1wcm9wZXJ0eSgkdHJhbnNpdGlvbi1wcm9wZXJ0eS4uLik7XG4vL0BpbmNsdWRlIHRyYW5zaXRpb24tZGVsYXkoJHRyYW5zaXRpb24tZGVsYXkpO1xuLy9AaW5jbHVkZSB0cmFuc2l0aW9uLWR1cmF0aW9uKCR0cmFuc2l0aW9uLWR1cmF0aW9uLi4uKTtcbi8vQGluY2x1ZGUgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24oJHRpbWluZy1mdW5jdGlvbik7XG4vL0BpbmNsdWRlIHRyYW5zaXRpb24tdHJhbnNmb3JtKCR0cmFuc2l0aW9uLi4uKTtcbi8vQGluY2x1ZGUgdXNlci1zZWxlY3QoJHNlbGVjdCk7XG5cblxuXG4vLy8vLy8vQ3VzdG9tIE1peGluc1xuQG1peGluIGhpZGUtdGV4dCB7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5AbWl4aW4gaGVhZGluZ3MoJGZyb206IDEsICR0bzogNikge1xuICAgIEBmb3IgJGkgZnJvbSAkZnJvbSB0aHJvdWdoICR0byB7XG4gICAgICAgIGgjeyRpfSB7XG4gICAgICAgICAgICBAY29udGVudFxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBBZGRzIGxldHRlciBzcGFjaW5nIHRvIG1hdGNoIHBob3Rvc2hvcCB0cmFja2luZ1xuQG1peGluIHRyYWNraW5nKCRwcy10cmFja2luZykge1xuICAgIGxldHRlci1zcGFjaW5nOiAjeyRwcy10cmFja2luZ31weDtcbn1cblxuXG5AbWl4aW4gc2Nyb2xsX3RyYW5zaXRpb24ge1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtKCRlZmZlY3QuLi4pIHtcbiAgICAtbW96LXRyYW5zZm9ybTogJGVmZmVjdDtcbiAgICAtbXMtdHJhbnNmb3JtOiAkZWZmZWN0O1xuICAgIC1vLXRyYW5zZm9ybTogJGVmZmVjdDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogJGVmZmVjdDtcbiAgICB0cmFuc2Zvcm06ICRlZmZlY3Q7XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLy90aGlzIG1peGluIGJ5cGFzc2VzIHRoZSBib290c3RyYXAgbWl4aW4gdGhhdCBoYXMgdGhlIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uKSBjaGVja1xuQG1peGluIFRyYW5zaXRpb24oJGVmZmVjdC4uLikge1xuICAgIC1tb3otdHJhbnNpdGlvbjogJGVmZmVjdDtcbiAgICAtbXMtdHJhbnNpdGlvbjogJGVmZmVjdDtcbiAgICAtby10cmFuc2l0aW9uOiAkZWZmZWN0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJGVmZmVjdDtcbiAgICB0cmFuc2l0aW9uOiAkZWZmZWN0O1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuXG5AbWl4aW4gYXNwZWN0LXJhdGlvKCR3aWR0aCwgJGhlaWdodCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbiAgICB9XG59XG5cblxuQG1peGluIGFzcGVjdF9yYXRpb19zZWN0aW9uKCR3aWR0aCwgJGhlaWdodCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXRvcDogKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbiAgICB9XG5cbiAgICA+IC5hc3BlY3RfY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cbn1cblxuQG1peGluIGFic29sdXRlLWNvdmVyIHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xufVxuXG5AbWl4aW4gYmFja2dyb3VuZC1ibHVyKCRzaXplKSB7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGJsdXIoJHNpemUpO1xuICAgIC1tb3otZmlsdGVyOiBibHVyKCRzaXplKTtcbiAgICAtby1maWx0ZXI6IGJsdXIoJHNpemUpO1xuICAgIC1tcy1maWx0ZXI6IGJsdXIoJHNpemUpO1xuICAgIGZpbHRlcjogYmx1cigkc2l6ZSk7XG59XG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWZpeCB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihtZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IHNjcm9sbDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTM2NnB4KSB7XG4gICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWl4aW4gYmFja2dyb3VuZC1jb3ZlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG5AbWl4aW4gaG92ZXJfdHJhbnNpdGlvbiB7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAuM3MgY3ViaWMtYmV6aWVyKC4xOSwxLC4yMiwxKSA1MG1zO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIC4zcyBjdWJpYy1iZXppZXIoLjE5LDEsLjIyLDEpIDUwbXM7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIC4zcyBjdWJpYy1iZXppZXIoLjE5LDEsLjIyLDEpIDUwbXM7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjNzIGN1YmljLWJlemllciguMTksMSwuMjIsMSkgNTBtcztcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGN1YmljLWJlemllciguMTksMSwuMjIsMSkgNTBtcztcbiAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbkBtaXhpbiBhYnNvbHV0ZV9taWRkbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuQG1peGluIG1pZGRsZV92IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHRvcDogNTAlO1xufVxuXG5AbWl4aW4gbWlkZGxlX2gge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG5AbWl4aW4gZ3JleXNjYWxlIHtcbiAgICAtd2Via2l0LWZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIC1tb3otYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xufVxuXG5AZnVuY3Rpb24gcmFuZ2UtcHJvZ3Jlc3MoJGNvbG9yLCAkZGlzdCwgJG9mZnNldCkge1xuICAgICR2YWw6IC0jeyRkaXN0fSAwIDAgLSN7JG9mZnNldH0gJGNvbG9yO1xuXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAxNTAge1xuICAgICAgICAkdmFsOiAjeyR2YWx9LCAjey0kZGlzdCAtICgoJGRpc3QgLSAkb2Zmc2V0KSAqICRpKX0gMCAwIC0jeyRvZmZzZXR9ICN7JGNvbG9yfTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICR2YWw7XG59XG5cblxuQG1peGluIGZvbnQtcmVzcG9uc2l2ZSgkbWluLCAkbWF4KSB7XG4gICAgJG1pbnB4OiAkbWluICsgcHg7XG4gICAgZm9udC1zaXplOiBjYWxjKCN7JG1pbnB4fSArICgjeyRtYXh9IC0gI3skbWlufSkqKCgxMDB2dyAtIDMwMHB4KS8oMTkyMCAtIDMwMCkpKTtcbiAgICBAbWVkaWEobWluLXdpZHRoOjE5MjBweCl7XG4gICAgICAgIGZvbnQtc2l6ZTogJG1heCArIHB4O1xuICAgIH1cbn1cblxuQG1peGluIGxpbmUtaGVpZ2h0LXJlc3BvbnNpdmUoJG1pbiwgJG1heCkge1xuICAgICRtaW5weDogJG1pbiArIHB4O1xuICAgIGxpbmUtaGVpZ2h0OiBjYWxjKCN7JG1pbnB4fSArICgjeyRtYXh9IC0gI3skbWlufSkqKCgxMDB2dyAtIDMwMHB4KS8oMTkyMCAtIDMwMCkpKTtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6MTkyMHB4KSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAkbWF4ICsgcHg7XG4gICAgfVxufVxuXG5AbWl4aW4gY2xhbXBBdXRvVncoJHByb3BlcnR5LCAkbWluLCAkbWF4KSB7XG4gICAgJHZ3TWF4OiAxOTIwOyAvLyBNYXhpbXVtIHNjcmVlbiB3aWR0aFxuICAgICRtYXhWdzogKCRtYXggLyAkdndNYXgpICogMTAwOyAvLyBDYWxjdWxhdGUgbWF4IHZhbHVlIGluIHZ3IHVuaXRzXG4gICAgI3skcHJvcGVydHl9OiBjbGFtcCgjeyRtaW59cHgsICN7JG1heFZ3fXZ3LCAjeyRtYXh9cHgpO1xuICB9IiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXG5cbi8vIEFzY2VuZGluZ1xuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cbkBtaXhpbiBfYXNzZXJ0LWFzY2VuZGluZygkbWFwLCAkbWFwLW5hbWUpIHtcbiAgJHByZXYta2V5OiBudWxsO1xuICAkcHJldi1udW06IG51bGw7XG4gIEBlYWNoICRrZXksICRudW0gaW4gJG1hcCB7XG4gICAgQGlmICRwcmV2LW51bSA9PSBudWxsIG9yIHVuaXQoJG51bSkgPT0gXCIlXCIge1xuICAgICAgLy8gRG8gbm90aGluZ1xuICAgIH0gQGVsc2UgaWYgbm90IGNvbXBhcmFibGUoJHByZXYtbnVtLCAkbnVtKSB7XG4gICAgICBAd2FybiBcIlBvdGVudGlhbGx5IGludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdob3NlIHVuaXQgbWFrZXMgaXQgaW5jb21wYXJhYmxlIHRvICN7JHByZXYtbnVtfSwgdGhlIHZhbHVlIG9mIHRoZSBwcmV2aW91cyBrZXkgJyN7JHByZXYta2V5fScgIVwiO1xuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xuICAgICAgQHdhcm4gXCJJbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aGljaCBpc24ndCBncmVhdGVyIHRoYW4gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfVxuICAgICRwcmV2LWtleTogJGtleTtcbiAgICAkcHJldi1udW06ICRudW07XG4gIH1cbn1cblxuLy8gU3RhcnRzIGF0IHplcm9cbi8vIFVzZWQgdG8gZW5zdXJlIHRoZSBtaW4td2lkdGggb2YgdGhlIGxvd2VzdCBicmVha3BvaW50IHN0YXJ0cyBhdCAwLlxuQG1peGluIF9hc3NlcnQtc3RhcnRzLWF0LXplcm8oJG1hcCwgJG1hcC1uYW1lOiBcIiRncmlkLWJyZWFrcG9pbnRzXCIpIHtcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluICN7JG1hcC1uYW1lfSBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xuICB9XG59XG5cbi8vIFJlcGxhY2UgYCRzZWFyY2hgIHdpdGggYCRyZXBsYWNlYCBpbiBgJHN0cmluZ2Bcbi8vIFVzZWQgb24gb3VyIFNWRyBpY29uIGJhY2tncm91bmRzIGZvciBjdXN0b20gZm9ybXMuXG4vL1xuLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLyBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEluaXRpYWwgc3RyaW5nXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXG4vLyBAcGFyYW0ge1N0cmluZ30gJHJlcGxhY2UgKCcnKSAtIE5ldyB2YWx1ZVxuLy8gQHJldHVybiB7U3RyaW5nfSAtIFVwZGF0ZWQgc3RyaW5nXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcbiAgJGluZGV4OiBzdHItaW5kZXgoJHN0cmluZywgJHNlYXJjaCk7XG5cbiAgQGlmICRpbmRleCB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICB9XG5cbiAgQHJldHVybiAkc3RyaW5nO1xufVxuXG4vLyBDb2xvciBjb250cmFzdFxuQGZ1bmN0aW9uIGNvbG9yLXlpcSgkY29sb3IsICRkYXJrOiAkeWlxLXRleHQtZGFyaywgJGxpZ2h0OiAkeWlxLXRleHQtbGlnaHQpIHtcbiAgJHI6IHJlZCgkY29sb3IpO1xuICAkZzogZ3JlZW4oJGNvbG9yKTtcbiAgJGI6IGJsdWUoJGNvbG9yKTtcblxuICAkeWlxOiAoKCRyICogMjk5KSArICgkZyAqIDU4NykgKyAoJGIgKiAxMTQpKSAvIDEwMDA7XG5cbiAgQGlmICgkeWlxID49ICR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICRkYXJrO1xuICB9IEBlbHNlIHtcbiAgICBAcmV0dXJuICRsaWdodDtcbiAgfVxufVxuXG4vLyBSZXRyaWV2ZSBjb2xvciBTYXNzIG1hcHNcbkBmdW5jdGlvbiBjb2xvcigka2V5OiBcImJsdWVcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiB0aGVtZS1jb2xvcigka2V5OiBcInByaW1hcnlcIikge1xuICBAcmV0dXJuIG1hcC1nZXQoJHRoZW1lLWNvbG9ycywgJGtleSk7XG59XG5cbkBmdW5jdGlvbiBncmF5KCRrZXk6IFwiMTAwXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRncmF5cywgJGtleSk7XG59XG5cbi8vIFJlcXVlc3QgYSB0aGVtZSBjb2xvciBsZXZlbFxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvci1uYW1lOiBcInByaW1hcnlcIiwgJGxldmVsOiAwKSB7XG4gICRjb2xvcjogdGhlbWUtY29sb3IoJGNvbG9yLW5hbWUpO1xuICAkY29sb3ItYmFzZTogaWYoJGxldmVsID4gMCwgJGJsYWNrLCAkd2hpdGUpO1xuICAkbGV2ZWw6IGFicygkbGV2ZWwpO1xuXG4gIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG59XG4iLCIvLyBWYXJpYWJsZXNcbi8vXG4vLyBWYXJpYWJsZXMgc2hvdWxkIGZvbGxvdyB0aGUgYCRjb21wb25lbnQtc3RhdGUtcHJvcGVydHktc2l6ZWAgZm9ybXVsYSBmb3Jcbi8vIGNvbnNpc3RlbnQgbmFtaW5nLiBFeDogJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yIGFuZCAkbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzLlxuXG4vLyBDb2xvciBzeXN0ZW1cblxuJHdoaXRlOiAgICAjZmZmICFkZWZhdWx0O1xuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xuJGdyYXktMjAwOiAjZTllY2VmICFkZWZhdWx0O1xuJGdyYXktMzAwOiAjZGVlMmU2ICFkZWZhdWx0O1xuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xuJGdyYXktNTAwOiAjYWRiNWJkICFkZWZhdWx0O1xuJGdyYXktNjAwOiAjNmM3NTdkICFkZWZhdWx0O1xuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xuJGdyYXktODAwOiAjMzQzYTQwICFkZWZhdWx0O1xuJGdyYXktOTAwOiAjMjEyNTI5ICFkZWZhdWx0O1xuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xuXG4kZ3JheXM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiRncmF5czogbWFwLW1lcmdlKFxuICAoXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxuICAgIFwiMjAwXCI6ICRncmF5LTIwMCxcbiAgICBcIjMwMFwiOiAkZ3JheS0zMDAsXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxuICAgIFwiNTAwXCI6ICRncmF5LTUwMCxcbiAgICBcIjYwMFwiOiAkZ3JheS02MDAsXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxuICAgIFwiODAwXCI6ICRncmF5LTgwMCxcbiAgICBcIjkwMFwiOiAkZ3JheS05MDBcbiAgKSxcbiAgJGdyYXlzXG4pO1xuXG4kYmx1ZTogICAgIzAwN2JmZiAhZGVmYXVsdDtcbiRpbmRpZ286ICAjNjYxMGYyICFkZWZhdWx0O1xuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XG4kcGluazogICAgI2U4M2U4YyAhZGVmYXVsdDtcbiRyZWQ6ICAgICAjZGMzNTQ1ICFkZWZhdWx0O1xuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XG4keWVsbG93OiAgI2ZmYzEwNyAhZGVmYXVsdDtcbiRncmVlbjogICAjMjhhNzQ1ICFkZWZhdWx0O1xuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XG4kY3lhbjogICAgIzE3YTJiOCAhZGVmYXVsdDtcblxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuJGNvbG9yczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICAgIFwiaW5kaWdvXCI6ICAgICAkaW5kaWdvLFxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxuICAgIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgICBcInJlZFwiOiAgICAgICAgJHJlZCxcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcbiAgICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgICBcImdyZWVuXCI6ICAgICAgJGdyZWVuLFxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcbiAgICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gICAgXCJ3aGl0ZVwiOiAgICAgICR3aGl0ZSxcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxuICAgIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiAgKSxcbiAgJGNvbG9yc1xuKTtcblxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xuJHNlY29uZGFyeTogICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRzdWNjZXNzOiAgICAgICAkZ3JlZW4gIWRlZmF1bHQ7XG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XG4kd2FybmluZzogICAgICAgJHllbGxvdyAhZGVmYXVsdDtcbiRkYW5nZXI6ICAgICAgICAkcmVkICFkZWZhdWx0O1xuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRkYXJrOiAgICAgICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG5cbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcbiR0aGVtZS1jb2xvcnM6IG1hcC1tZXJnZShcbiAgKFxuICAgIFwicHJpbWFyeVwiOiAgICAkcHJpbWFyeSxcbiAgICBcInNlY29uZGFyeVwiOiAgJHNlY29uZGFyeSxcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gICAgXCJpbmZvXCI6ICAgICAgICRpbmZvLFxuICAgIFwid2FybmluZ1wiOiAgICAkd2FybmluZyxcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgICBcImxpZ2h0XCI6ICAgICAgJGxpZ2h0LFxuICAgIFwiZGFya1wiOiAgICAgICAkZGFya1xuICApLFxuICAkdGhlbWUtY29sb3JzXG4pO1xuXG4vLyBTZXQgYSBzcGVjaWZpYyBqdW1wIHBvaW50IGZvciByZXF1ZXN0aW5nIGNvbG9yIGp1bXBzXG4kdGhlbWUtY29sb3ItaW50ZXJ2YWw6ICAgICAgOCUgIWRlZmF1bHQ7XG5cbi8vIFRoZSB5aXEgbGlnaHRuZXNzIHZhbHVlIHRoYXQgZGV0ZXJtaW5lcyB3aGVuIHRoZSBsaWdodG5lc3Mgb2YgY29sb3IgY2hhbmdlcyBmcm9tIFwiZGFya1wiIHRvIFwibGlnaHRcIi4gQWNjZXB0YWJsZSB2YWx1ZXMgYXJlIGJldHdlZW4gMCBhbmQgMjU1LlxuJHlpcS1jb250cmFzdGVkLXRocmVzaG9sZDogIDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuXG4vLyBPcHRpb25zXG4vL1xuLy8gUXVpY2tseSBtb2RpZnkgZ2xvYmFsIHN0eWxpbmcgYnkgZW5hYmxpbmcgb3IgZGlzYWJsaW5nIG9wdGlvbmFsIGZlYXR1cmVzLlxuXG4kZW5hYmxlLWNhcmV0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcm91bmRlZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS1ncmFkaWVudHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS10cmFuc2l0aW9uczogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXBvaW50ZXItY3Vyc29yLWZvci1idXR0b25zOiAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtcHJpbnQtc3R5bGVzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6ICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLWRlcHJlY2F0aW9uLW1lc3NhZ2VzOiAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcbiRzcGFjZXJzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc3BhY2VyczogbWFwLW1lcmdlKFxuICAoXG4gICAgMDogMCxcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXG4gICAgMjogKCRzcGFjZXIgKiAuNSksXG4gICAgMzogJHNwYWNlcixcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXG4gICAgNTogKCRzcGFjZXIgKiAzKVxuICApLFxuICAkc3BhY2Vyc1xuKTtcblxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxuJHNpemVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kc2l6ZXM6IG1hcC1tZXJnZShcbiAgKFxuICAgIDI1OiAyNSUsXG4gICAgNTA6IDUwJSxcbiAgICA3NTogNzUlLFxuICAgIDEwMDogMTAwJSxcbiAgICBhdXRvOiBhdXRvXG4gICksXG4gICRzaXplc1xuKTtcblxuXG4vLyBCb2R5XG4vL1xuLy8gU2V0dGluZ3MgZm9yIHRoZSBgPGJvZHk+YCBlbGVtZW50LlxuXG4kYm9keS1iZzogICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGJvZHktY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuXG4vLyBMaW5rc1xuLy9cbi8vIFN0eWxlIGFuY2hvciBlbGVtZW50cy5cblxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbGluay1jb2xvciwgMTUlKSAhZGVmYXVsdDtcbiRsaW5rLWhvdmVyLWRlY29yYXRpb246ICAgICAgICAgICAgICAgICAgIHVuZGVybGluZSAhZGVmYXVsdDtcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXG4kZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlOiAxNSUgIWRlZmF1bHQ7XG5cbi8vIFBhcmFncmFwaHNcbi8vXG4vLyBTdHlsZSBwIGVsZW1lbnQuXG5cbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogICAxcmVtICFkZWZhdWx0O1xuXG5cbi8vIEdyaWQgYnJlYWtwb2ludHNcbi8vXG4vLyBEZWZpbmUgdGhlIG1pbmltdW0gZGltZW5zaW9ucyBhdCB3aGljaCB5b3VyIGxheW91dCB3aWxsIGNoYW5nZSxcbi8vIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMsIGZvciB1c2UgaW4gbWVkaWEgcXVlcmllcy5cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgeHM6IDAsXG4gIHNtOiA1NzZweCxcbiAgbWQ6IDc2OHB4LFxuICBsZzogOTkycHgsXG4gIHhsOiAxMjAwcHhcbikgIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIF9hc3NlcnQtYXNjZW5kaW5nKCRncmlkLWJyZWFrcG9pbnRzLCBcIiRncmlkLWJyZWFrcG9pbnRzXCIpO1xuQGluY2x1ZGUgX2Fzc2VydC1zdGFydHMtYXQtemVybygkZ3JpZC1icmVha3BvaW50cywgXCIkZ3JpZC1icmVha3BvaW50c1wiKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG5cbi8vIENvbXBvbmVudHNcbi8vXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXG5cbiRsaW5lLWhlaWdodC1sZzogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcblxuJGJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgMXB4ICFkZWZhdWx0O1xuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgIC4ycmVtICFkZWZhdWx0O1xuXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcblxuJGJveC1zaGFkb3ctc206ICAgICAgICAgICAgICAgMCAuMTI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kYm94LXNoYWRvdy1sZzogICAgICAgICAgICAgICAwIDFyZW0gM3JlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjb21wb25lbnQtYWN0aXZlLWJnOiAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcblxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcbiRjYXJldC12ZXJ0aWNhbC1hbGlnbjogICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcbiRjYXJldC1zcGFjaW5nOiAgICAgICAgICAgICAgICRjYXJldC13aWR0aCAqIC44NSAhZGVmYXVsdDtcblxuJHRyYW5zaXRpb24tYmFzZTogICAgICAgICAgICAgYWxsIC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG4kdHJhbnNpdGlvbi1jb2xsYXBzZTogICAgICAgICBoZWlnaHQgLjM1cyBlYXNlICFkZWZhdWx0O1xuXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiBqb2luKFxuICAoXG4gICAgKDIxIDkpLFxuICAgICgxNiA5KSxcbiAgICAoNCAzKSxcbiAgICAoMSAxKSxcbiAgKSxcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xuKTtcblxuLy8gVHlwb2dyYXBoeVxuLy9cbi8vIEZvbnQsIGxpbmUtaGVpZ2h0LCBhbmQgY29sb3IgZm9yIGJvZHkgdGV4dCwgaGVhZGluZ3MsIGFuZCBtb3JlLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAgICAgIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgXCJTZWdvZSBVSVwiLCBSb2JvdG8sIFwiSGVsdmV0aWNhIE5ldWVcIiwgQXJpYWwsIFwiTm90byBTYW5zXCIsIHNhbnMtc2VyaWYsIFwiQXBwbGUgQ29sb3IgRW1vamlcIiwgXCJTZWdvZSBVSSBFbW9qaVwiLCBcIlNlZ29lIFVJIFN5bWJvbFwiLCBcIk5vdG8gQ29sb3IgRW1vamlcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIC44NzUgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZGVyOiAgICAgICAgICBib2xkZXIgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC1mYW1pbHk6ICAgICAgICBudWxsICFkZWZhdWx0O1xuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xuJGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAgICAgMS4yICFkZWZhdWx0O1xuJGhlYWRpbmdzLWNvbG9yOiAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXNpemU6ICAgICAgICAgICAgICAgNnJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5Mi1zaXplOiAgICAgICAgICAgICAgIDUuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcbiRkaXNwbGF5NC1zaXplOiAgICAgICAgICAgICAgIDMuNXJlbSAhZGVmYXVsdDtcblxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkyLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXkzLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuJGRpc3BsYXktbGluZS1oZWlnaHQ6ICAgICAgICAgJGhlYWRpbmdzLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xuJGxlYWQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xuXG4kc21hbGwtZm9udC1zaXplOiAgICAgICAgICAgICA4MCUgIWRlZmF1bHQ7XG5cbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbiRoci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kaHItYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kbWFyay1wYWRkaW5nOiAgICAgICAgICAgICAgICAuMmVtICFkZWZhdWx0O1xuXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuJGtiZC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgaW5zZXQgMCAtLjFyZW0gMCByZ2JhKCRibGFjaywgLjI1KSAhZGVmYXVsdDtcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4kbGlzdC1pbmxpbmUtcGFkZGluZzogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG1hcmstYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZjZjhlMyAhZGVmYXVsdDtcblxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuXG4vLyBUYWJsZXNcbi8vXG4vLyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXG5cbiR0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiR0YWJsZS1jZWxsLXBhZGRpbmctc206ICAgICAgIC4zcmVtICFkZWZhdWx0O1xuXG4kdGFibGUtY29sb3I6ICAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdGFibGUtYWNjZW50LWJnOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA1KSAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1jb2xvcjogICAgICAgICAgICR0YWJsZS1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1ob3Zlci1iZzogICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1hY3RpdmUtYmc6ICAgICAgICAgICAgICR0YWJsZS1ob3Zlci1iZyAhZGVmYXVsdDtcblxuJHRhYmxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICRib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktODAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1jb2xvcjogICAgICAkdGFibGUtZGFyay1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWhvdmVyLWJnOiAgICAgICAgIHJnYmEoJHdoaXRlLCAuMDc1KSAhZGVmYXVsdDtcbiR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjogICAgIGxpZ2h0ZW4oJHRhYmxlLWRhcmstYmcsIDcuNSUpICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kdGFibGUtc3RyaXBlZC1vcmRlcjogICAgICAgICBvZGQgIWRlZmF1bHQ7XG5cbiR0YWJsZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICR0ZXh0LW11dGVkICFkZWZhdWx0O1xuXG4kdGFibGUtYmctbGV2ZWw6ICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItbGV2ZWw6ICAgICAgICAgIC02ICFkZWZhdWx0O1xuXG5cbi8vIEJ1dHRvbnMgKyBGb3Jtc1xuLy9cbi8vIFNoYXJlZCB2YXJpYWJsZXMgdGhhdCBhcmUgcmVhc3NpZ25lZCB0byBgJGlucHV0LWAgYW5kIGAkYnRuLWAgc3BlY2lmaWMgdmFyaWFibGVzLlxuXG4kaW5wdXQtYnRuLXBhZGRpbmcteTogICAgICAgICAuMzc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1wYWRkaW5nLXg6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LWZhbWlseTogICAgICAgbnVsbCAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9udC1zaXplOiAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtc206ICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtc206ICAgICRsaW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1wYWRkaW5nLXktbGc6ICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLXBhZGRpbmcteC1sZzogICAgICAxcmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1mb250LXNpemUtbGc6ICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGc6ICAgICRsaW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJ0bi1ib3JkZXItd2lkdGg6ICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zXG4vL1xuLy8gRm9yIGVhY2ggb2YgQm9vdHN0cmFwJ3MgYnV0dG9ucywgZGVmaW5lIHRleHQsIGJhY2tncm91bmQsIGFuZCBib3JkZXIgY29sb3IuXG5cbiRidG4tcGFkZGluZy15OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kYnRuLWZvbnQtZmFtaWx5OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemU6ICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LXNtOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LXNtOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kYnRuLXBhZGRpbmcteS1sZzogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGJ0bi1mb250LXNpemUtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGxhYmVsLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1mYW1pbHk6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYmFzZSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtc20gIWRlZmF1bHQ7XG4kaW5wdXQtZm9udC1zaXplLXNtOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb250LXNpemUtc20gIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbSAhZGVmYXVsdDtcblxuJGlucHV0LXBhZGRpbmcteS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteC1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGlucHV0LWZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9udC1zaXplLWxnICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG4kaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRncmF5LTQwMCAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAgICAgICBpbnNldCAwIDFweCAxcHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG4kaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtc20gIWRlZmF1bHQ7XG5cbiRpbnB1dC1mb2N1cy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMjUlKSAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kaW5wdXQtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kaW5wdXQtcGxhaW50ZXh0LWNvbG9yOiAgICAgICAgICAgICAgICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQtYm9yZGVyOiAgICAgICAgICAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICogMiAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lcjogICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAxZW19ICsgI3skaW5wdXQtcGFkZGluZy15ICogMn0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1oYWxmOiAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAuNWVtfSArICN7JGlucHV0LXBhZGRpbmcteX0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyOiAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQgKiAuMjVlbX0gKyAjeyRpbnB1dC1wYWRkaW5nLXkgLyAyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWxpbmUtaGVpZ2h0ICogMWVtfSArICN7JGlucHV0LXBhZGRpbmcteSAqIDJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQtc20gKiAxZW19ICsgI3skaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1sZzogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtbGluZS1oZWlnaHQtbGcgKiAxZW19ICsgI3skaW5wdXQtYnRuLXBhZGRpbmcteS1sZyAqIDJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjE1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuJGZvcm0tdGV4dC1tYXJnaW4tdG9wOiAgICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcblxuJGZvcm0tY2hlY2staW5wdXQtZ3V0dGVyOiAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTogICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teDogICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg6ICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGZvcm0tY2hlY2staW5saW5lLWlucHV0LW1hcmdpbi14OiAgICAgIC4zMTI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1ncmlkLWd1dHRlci13aWR0aDogICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZvcm1zLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtc3BhY2VyLXg6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplOiAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnOiAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJnLXNpemU6ICAgICAgNTAlIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm94LXNoYWRvdzogICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYm9yZGVyLWNvbG9yOiAkZ3JheS01MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aDogJGlucHV0LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1kaXNhYmxlZC1iZzogICAgICAgICAgJGlucHV0LWRpc2FibGVkLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWxhYmVsLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3I6ICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZzogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWRpc2FibGVkLWJnOiAgcmdiYSh0aGVtZS1jb2xvcihcInByaW1hcnlcIiksIC41KSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1ib3gtc2hhZG93OiAgIG5vbmUgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZm9jdXMtYm94LXNoYWRvdzogICAgICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3JkZXItY29sb3I6ICAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I6ICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1iZzogICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYm94LXNoYWRvdzogICAgbm9uZSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJvcmRlci1jb2xvcjogICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1ib3JkZXItcmFkaXVzOiAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjYgMi45NzQgNy4yNSA4IDIuMTkzeicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yOiAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1pbmRldGVybWluYXRlOiAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA0JyUzZSUzY3BhdGggc3Ryb2tlPScjeyRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3J9JyBkPSdNMCAyaDQnLyUzZSUzYy9zdmclM2VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYm94LXNoYWRvdzogICBub25lICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaW5kZXRlcm1pbmF0ZS1ib3JkZXItY29sb3I6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PSctNCAtNCA4IDgnJTNlJTNjY2lyY2xlIHI9JzMnIGZpbGw9JyN7JGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWNvbG9yfScvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXN3aXRjaC13aWR0aDogICAgICAgICAgICAgICAgICAgICAgICAgICAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUgKiAxLjc1ICFkZWZhdWx0O1xuJGN1c3RvbS1zd2l0Y2gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplIC8gMiAhZGVmYXVsdDtcbiRjdXN0b20tc3dpdGNoLWluZGljYXRvci1zaXplOiAgICAgICAgICAgICAgICAgIGNhbGMoI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemV9IC0gI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJvcmRlci13aWR0aCAqIDR9KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LWZhbWlseTogICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemU6ICAgICAgICAgICAkaW5wdXQtZm9udC1zaXplICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtZm9udC13ZWlnaHQ6ICAgICAgICAgJGlucHV0LWZvbnQtd2VpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZGlzYWJsZWQtYmc6ICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTogICAgICAgICAgICAgOHB4IDEwcHggIWRlZmF1bHQ7IC8vIEluIHBpeGVscyBiZWNhdXNlIGltYWdlIGRpbWVuc2lvbnNcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcjogICAgICRncmF5LTgwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvcjogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgNCA1JyUzZSUzY3BhdGggZmlsbD0nI3skY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3J9JyBkPSdNMiAwTDAgMmg0em0wIDVMMCAzaDR6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1iYWNrZ3JvdW5kOiAgICAgICAgICAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3Igbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXIgLyAkY3VzdG9tLXNlbGVjdC1iZy1zaXplICFkZWZhdWx0OyAvLyBVc2VkIHNvIHdlIGNhbiBoYXZlIG11bHRpcGxlIGJhY2tncm91bmQgZWxlbWVudHMgKGUuZy4sIGFycm93IGFuZCBmZWVkYmFjayBpY29uKVxuXG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBhZGRpbmctcmlnaHQ6IGNhbGMoKDFlbSArICN7MiAqICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteX0pICogMyAvIDQgKyAjeyRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCArICRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nfSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXBvc2l0aW9uOiAgICAgIGNlbnRlciByaWdodCAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZmVlZGJhY2staWNvbi1zaXplOiAgICAgICAgICAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGg6ICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm94LXNoYWRvdzogICAgICAgICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm9yZGVyLWNvbG9yOiAgJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoOiAgICAgICAgICRpbnB1dC1mb2N1cy13aWR0aCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWZvY3VzLWJveC1zaGFkb3c6ICAgIDAgMCAwICRjdXN0b20tc2VsZWN0LWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1zbTogICAgICAgICRpbnB1dC1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtc206ICAgICAgICAkaW5wdXQtcGFkZGluZy14LXNtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLXNtOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1zbTogICAgICAgICAgICRpbnB1dC1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteS1sZzogICAgICAgICRpbnB1dC1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXgtbGc6ICAgICAgICAkaW5wdXQtcGFkZGluZy14LWxnICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9udC1zaXplLWxnOiAgICAgICAgJGlucHV0LWZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWhlaWdodC1sZzogICAgICAgICAgICRpbnB1dC1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdHJhY2std2lkdGg6ICAgICAgICAgIDEwMCUgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWhlaWdodDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdHJhY2stY3Vyc29yOiAgICAgICAgIHBvaW50ZXIgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJnOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRyYWNrLWJvcmRlci1yYWRpdXM6ICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10cmFjay1ib3gtc2hhZG93OiAgICAgaW5zZXQgMCAuMjVyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFuZ2UtdGh1bWItd2lkdGg6ICAgICAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWhlaWdodDogICAgICAgICAgICAgICAgICAkY3VzdG9tLXJhbmdlLXRodW1iLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWJvcmRlcjogICAgICAgICAgICAgICAgICAwICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tcmFuZ2UtdGh1bWItYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgLjFyZW0gLjI1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kY3VzdG9tLXJhbmdlLXRodW1iLWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAwIDAgMCAxcHggJGJvZHktYmcsICRpbnB1dC1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1mb2N1cy1ib3gtc2hhZG93LXdpZHRoOiAgJGlucHV0LWZvY3VzLXdpZHRoICFkZWZhdWx0OyAvLyBGb3IgZm9jdXMgYm94IHNoYWRvdyBpc3N1ZSBpbiBJRS9FZGdlXG4kY3VzdG9tLXJhbmdlLXRodW1iLWFjdGl2ZS1iZzogICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAzNSUpICFkZWZhdWx0O1xuJGN1c3RvbS1yYW5nZS10aHVtYi1kaXNhYmxlZC1iZzogICAgICAgICAgICAgJGdyYXktNTAwICFkZWZhdWx0O1xuXG4kY3VzdG9tLWZpbGUtaGVpZ2h0OiAgICAgICAgICAgICAgICAkaW5wdXQtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWhlaWdodC1pbm5lcjogICAgICAgICAgJGlucHV0LWhlaWdodC1pbm5lciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1kaXNhYmxlZC1iZzogICAgICAgICAgICRpbnB1dC1kaXNhYmxlZC1iZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLXBhZGRpbmcteTogICAgICAgICAgICAgJGlucHV0LXBhZGRpbmcteSAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1wYWRkaW5nLXg6ICAgICAgICAgICAgICRpbnB1dC1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC1mYW1pbHk6ICAgICAgICAgICAkaW5wdXQtZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9udC13ZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtY29sb3I6ICAgICAgICAgICAgICAgICAkaW5wdXQtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYmc6ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRoOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjogICAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICRpbnB1dC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJveC1zaGFkb3c6ICAgICAgICAgICAgJGlucHV0LWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yOiAgICAgICAgICAkY3VzdG9tLWZpbGUtY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYnV0dG9uLWJnOiAgICAgICAgICAgICAkaW5wdXQtZ3JvdXAtYWRkb24tYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtdGV4dDogKFxuICBlbjogXCJCcm93c2VcIlxuKSAhZGVmYXVsdDtcblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG4kZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yOiAgICAkZm9ybS1mZWVkYmFjay12YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWQ6ICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZmlsbD0nI3skZm9ybS1mZWVkYmFjay1pY29uLXZhbGlkLWNvbG9yfScgZD0nTTIuMyA2LjczTC42IDQuNTNjLS40LTEuMDQuNDYtMS40IDEuMS0uOGwxLjEgMS40IDMuNC0zLjhjLjYtLjYzIDEuNi0uMjcgMS4yLjdsLTQgNC42Yy0uNDMuNS0uOC40LTEuMS4xeicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkLWNvbG9yOiAgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZDogICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRmb3JtLWZlZWRiYWNrLWljb24taW52YWxpZC1jb2xvcn0nIHZpZXdCb3g9Jy0yIC0yIDcgNyclM2UlM2NwYXRoIHN0cm9rZT0nI3skZm9ybS1mZWVkYmFjay1pY29uLWludmFsaWQtY29sb3J9JyBkPSdNMCAwbDMgM20wLTNMMCAzJy8lM2UlM2NjaXJjbGUgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeT0nMycgcj0nLjUnLyUzZSUzY2NpcmNsZSBjeD0nMycgY3k9JzMnIHI9Jy41Jy8lM2UlM2Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG5cbiRmb3JtLXZhbGlkYXRpb24tc3RhdGVzOiAoKSAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XG4kZm9ybS12YWxpZGF0aW9uLXN0YXRlczogbWFwLW1lcmdlKFxuICAoXG4gICAgXCJ2YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yLFxuICAgICAgXCJpY29uXCI6ICRmb3JtLWZlZWRiYWNrLWljb24tdmFsaWRcbiAgICApLFxuICAgIFwiaW52YWxpZFwiOiAoXG4gICAgICBcImNvbG9yXCI6ICRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3IsXG4gICAgICBcImljb25cIjogJGZvcm0tZmVlZGJhY2staWNvbi1pbnZhbGlkXG4gICAgKSxcbiAgKSxcbiAgJGZvcm0tdmFsaWRhdGlvbi1zdGF0ZXNcbik7XG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vXG4vLyBXYXJuaW5nOiBBdm9pZCBjdXN0b21pemluZyB0aGVzZSB2YWx1ZXMuIFRoZXkncmUgdXNlZCBmb3IgYSBiaXJkJ3MgZXllIHZpZXdcbi8vIG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXMgYW5kIGFyZSBkZXNpZ25lZCB0byBhbGwgd29yayB0b2dldGhlci5cblxuJHppbmRleC1kcm9wZG93bjogICAgICAgICAgICAgICAgICAgMTAwMCAhZGVmYXVsdDtcbiR6aW5kZXgtc3RpY2t5OiAgICAgICAgICAgICAgICAgICAgIDEwMjAgIWRlZmF1bHQ7XG4kemluZGV4LWZpeGVkOiAgICAgICAgICAgICAgICAgICAgICAxMDMwICFkZWZhdWx0O1xuJHppbmRleC1tb2RhbC1iYWNrZHJvcDogICAgICAgICAgICAgMTA0MCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWw6ICAgICAgICAgICAgICAgICAgICAgIDEwNTAgIWRlZmF1bHQ7XG4kemluZGV4LXBvcG92ZXI6ICAgICAgICAgICAgICAgICAgICAxMDYwICFkZWZhdWx0O1xuJHppbmRleC10b29sdGlwOiAgICAgICAgICAgICAgICAgICAgMTA3MCAhZGVmYXVsdDtcblxuXG4vLyBOYXZzXG5cbiRuYXYtbGluay1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJG5hdi10YWJzLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRuYXYtdGFicy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yOiAgJGdyYXktMjAwICRncmF5LTIwMCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGdyYXktNzAwICFkZWZhdWx0O1xuJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYm9yZGVyLWNvbG9yOiAkZ3JheS0zMDAgJGdyYXktMzAwICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJG5hdi1waWxscy1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LWRpdmlkZXItY29sb3I6ICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbmF2LWRpdmlkZXItbWFyZ2luLXk6ICAgICAgICAgICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcblxuXG4vLyBOYXZiYXJcblxuJG5hdmJhci1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAvIDIgIWRlZmF1bHQ7XG4kbmF2YmFyLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG4kbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJG5hdmJhci1icmFuZC1mb250LXNpemU6ICAgICAgICAgICAgJGZvbnQtc2l6ZS1sZyAhZGVmYXVsdDtcbi8vIENvbXB1dGUgdGhlIG5hdmJhci1icmFuZCBwYWRkaW5nLXkgc28gdGhlIG5hdmJhci1icmFuZCB3aWxsIGhhdmUgdGhlIHNhbWUgaGVpZ2h0IGFzIG5hdmJhci10ZXh0IGFuZCBuYXYtbGlua1xuJG5hdi1saW5rLWhlaWdodDogICAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogJGxpbmUtaGVpZ2h0LWJhc2UgKyAkbmF2LWxpbmstcGFkZGluZy15ICogMiAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM2UlM2NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWRhcmstY29sb3J9JyBzdHJva2Utd2lkdGg9JzInIHN0cm9rZS1saW5lY2FwPSdyb3VuZCcgc3Ryb2tlLW1pdGVybGltaXQ9JzEwJyBkPSdNNCA3aDIyTTQgMTVoMjJNNCAyM2gyMicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItYm9yZGVyLWNvbG9yOiAgcmdiYSgkd2hpdGUsIC4xKSAhZGVmYXVsdDtcblxuJG5hdmJhci1saWdodC1jb2xvcjogICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I6ICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjogICAgICAgICByZ2JhKCRibGFjaywgLjkpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjogICAgICAgcmdiYSgkYmxhY2ssIC4zKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnOiAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbCwlM2Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNlJTNjcGF0aCBzdHJva2U9JyN7JG5hdmJhci1saWdodC1jb2xvcn0nIHN0cm9rZS13aWR0aD0nMicgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbWl0ZXJsaW1pdD0nMTAnIGQ9J000IDdoMjJNNCAxNWgyMk00IDIzaDIyJy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yOiByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kbmF2YmFyLWxpZ2h0LWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtYnJhbmQtaG92ZXItY29sb3I6ICAgICAgICAgICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLWJyYW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvciAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG5cblxuLy8gRHJvcGRvd25zXG4vL1xuLy8gRHJvcGRvd24gbWVudSBjb250YWluZXIgYW5kIGNvbnRlbnRzLlxuXG4kZHJvcGRvd24tbWluLXdpZHRoOiAgICAgICAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLXNwYWNlcjogICAgICAgICAgICAgICAgICAgLjEyNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcbiRkcm9wZG93bi1jb2xvcjogICAgICAgICAgICAgICAgICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kZHJvcGRvd24taW5uZXItYm9yZGVyLXJhZGl1czogICAgICBjYWxjKCN7JGRyb3Bkb3duLWJvcmRlci1yYWRpdXN9IC0gI3skZHJvcGRvd24tYm9yZGVyLXdpZHRofSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1iZzogICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tZGl2aWRlci1tYXJnaW4teTogICAgICAgICAkbmF2LWRpdmlkZXItbWFyZ2luLXkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm94LXNoYWRvdzogICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNzUpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24tbGluay1jb2xvcjogICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjogICAgICAgICBkYXJrZW4oJGdyYXktOTAwLCA1JSkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1ob3Zlci1iZzogICAgICAgICAgICAkZ3JheS0xMDAgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy15OiAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14OiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gUGFnaW5hdGlvblxuXG4kcGFnaW5hdGlvbi1wYWRkaW5nLXk6ICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteDogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1zbTogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy15LWxnOiAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tcGFkZGluZy14LWxnOiAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ6ICAgICAgICAgICAgMS4yNSAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tY29sb3I6ICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1mb2N1cy1vdXRsaW5lOiAgICAgICAgICAwICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRqdW1ib3Ryb24tYmc6ICAgICAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcblxuXG4vLyBDYXJkc1xuXG4kY2FyZC1zcGFjZXIteTogICAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1zcGFjZXIteDogICAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xMjUpICFkZWZhdWx0O1xuJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgY2FsYygjeyRjYXJkLWJvcmRlci1yYWRpdXN9IC0gI3skY2FyZC1ib3JkZXItd2lkdGh9KSAhZGVmYXVsdDtcbiRjYXJkLWNhcC1iZzogICAgICAgICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMDMpICFkZWZhdWx0O1xuJGNhcmQtY2FwLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRjYXJkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICRncmlkLWd1dHRlci13aWR0aCAvIDIgIWRlZmF1bHQ7XG4kY2FyZC1kZWNrLW1hcmdpbjogICAgICAgICAgICAgICAgICAkY2FyZC1ncm91cC1tYXJnaW4gIWRlZmF1bHQ7XG5cbiRjYXJkLWNvbHVtbnMtY291bnQ6ICAgICAgICAgICAgICAgIDMgIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLWdhcDogICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGNhcmQtY29sdW1ucy1tYXJnaW46ICAgICAgICAgICAgICAgJGNhcmQtc3BhY2VyLXkgIWRlZmF1bHQ7XG5cblxuLy8gVG9vbHRpcHNcblxuJHRvb2x0aXAtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbSAhZGVmYXVsdDtcbiR0b29sdGlwLW1heC13aWR0aDogICAgICAgICAgICAgICAgIDIwMHB4ICFkZWZhdWx0O1xuJHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJHRvb2x0aXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG4vLyBGb3JtIHRvb2x0aXBzIG11c3QgY29tZSBhZnRlciByZWd1bGFyIHRvb2x0aXBzXG4kZm9ybS1mZWVkYmFjay10b29sdGlwLXBhZGRpbmcteTogICAgICR0b29sdGlwLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtcGFkZGluZy14OiAgICAgJHRvb2x0aXAtcGFkZGluZy14ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1mb250LXNpemU6ICAgICAkdG9vbHRpcC1mb250LXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1mZWVkYmFjay10b29sdGlwLWxpbmUtaGVpZ2h0OiAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1vcGFjaXR5OiAgICAgICAkdG9vbHRpcC1vcGFjaXR5ICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1ib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gVG9hc3RzXG5cbiR0b2FzdC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgIDM1MHB4ICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRvYXN0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgLjg3NXJlbSAhZGVmYXVsdDtcbiR0b2FzdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kdG9hc3QtYmFja2dyb3VuZC1jb2xvcjogICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjg1KSAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiR0b2FzdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgLjEpICFkZWZhdWx0O1xuJHRvYXN0LWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRvYXN0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgMCAuMjVyZW0gLjc1cmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbiR0b2FzdC1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiR0b2FzdC1oZWFkZXItYmFja2dyb3VuZC1jb2xvcjogICAgIHJnYmEoJHdoaXRlLCAuODUpICFkZWZhdWx0O1xuJHRvYXN0LWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgcmdiYSgwLCAwLCAwLCAuMDUpICFkZWZhdWx0O1xuXG5cbi8vIEJhZGdlc1xuXG4kYmFkZ2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kYmFkZ2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRiYWRnZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgIC4yNWVtICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgLjRlbSAhZGVmYXVsdDtcbiRiYWRnZS1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kYmFkZ2UtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICAkYnRuLXRyYW5zaXRpb24gIWRlZmF1bHQ7XG4kYmFkZ2UtZm9jdXMtd2lkdGg6ICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuXG4kYmFkZ2UtcGlsbC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNmVtICFkZWZhdWx0O1xuLy8gVXNlIGEgaGlnaGVyIHRoYW4gbm9ybWFsIHZhbHVlIHRvIGVuc3VyZSBjb21wbGV0ZWx5IHJvdW5kZWQgZWRnZXMgd2hlblxuLy8gY3VzdG9taXppbmcgcGFkZGluZyBvciBmb250LXNpemUgb24gbGFiZWxzLlxuJGJhZGdlLXBpbGwtYm9yZGVyLXJhZGl1czogICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG5cblxuLy8gTW9kYWxzXG5cbi8vIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxuJG1vZGFsLWlubmVyLXBhZGRpbmc6ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWRpYWxvZy1tYXJnaW46ICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwOiAgICAgICAxLjc1cmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkbGluZS1oZWlnaHQtYmFzZSAhZGVmYXVsdDtcblxuJG1vZGFsLWNvbnRlbnQtY29sb3I6ICAgICAgICAgICAgICAgbnVsbCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjogICAgICAgIHJnYmEoJGJsYWNrLCAuMikgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItd2lkdGg6ICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXJhZGl1czogICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXhzOiAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjUpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy1zbS11cDogICAgMCAuNXJlbSAxcmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG5cbiRtb2RhbC1iYWNrZHJvcC1iZzogICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRtb2RhbC1iYWNrZHJvcC1vcGFjaXR5OiAgICAgICAgICAgIC41ICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgJGJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICRtb2RhbC1oZWFkZXItYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWZvb3Rlci1ib3JkZXItd2lkdGg6ICAgICAgICAgJG1vZGFsLWhlYWRlci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLXBhZGRpbmcteTogICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nLXg6ICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItcGFkZGluZzogICAgICAgICAgICAgICRtb2RhbC1oZWFkZXItcGFkZGluZy15ICRtb2RhbC1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0OyAvLyBLZWVwIHRoaXMgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5XG5cbiRtb2RhbC14bDogICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweCAhZGVmYXVsdDtcbiRtb2RhbC1sZzogICAgICAgICAgICAgICAgICAgICAgICAgIDgwMHB4ICFkZWZhdWx0O1xuJG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgICAgICAgNTAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtc206ICAgICAgICAgICAgICAgICAgICAgICAgICAzMDBweCAhZGVmYXVsdDtcblxuJG1vZGFsLWZhZGUtdHJhbnNmb3JtOiAgICAgICAgICAgICAgdHJhbnNsYXRlKDAsIC01MHB4KSAhZGVmYXVsdDtcbiRtb2RhbC1zaG93LXRyYW5zZm9ybTogICAgICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogLjc1ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJHByb2dyZXNzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm94LXNoYWRvdzogICAgICAgICAgICAgICBpbnNldCAwIC4xcmVtIC4xcmVtIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWJnOiAgICAgICAgICAgICAgICAgICB0aGVtZS1jb2xvcihcInByaW1hcnlcIikgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWFuaW1hdGlvbi10aW1pbmc6ICAgICAxcyBsaW5lYXIgaW5maW5pdGUgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLXRyYW5zaXRpb246ICAgICAgICAgICB3aWR0aCAuNnMgZWFzZSAhZGVmYXVsdDtcblxuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWNvbG9yOiAgICAgICAgICAgICAgICAgIG51bGwgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1iZzogICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItY29sb3I6ICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14OiAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWJnOiAgICAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyLWNvbG9yOiAgICAkbGlzdC1ncm91cC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgICAgICRsaXN0LWdyb3VwLWJnICFkZWZhdWx0O1xuXG4kbGlzdC1ncm91cC1hY3Rpb24tY29sb3I6ICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24taG92ZXItY29sb3I6ICAgICAkbGlzdC1ncm91cC1hY3Rpb24tY29sb3IgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I6ICAgICRib2R5LWNvbG9yICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZzogICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIEltYWdlIHRodW1ibmFpbHNcblxuJHRodW1ibmFpbC1wYWRkaW5nOiAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJHRodW1ibmFpbC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJvZHktYmcgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci13aWR0aDogICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xuJHRodW1ibmFpbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xuXG5cbi8vIEZpZ3VyZXNcblxuJGZpZ3VyZS1jYXB0aW9uLWZvbnQtc2l6ZTogICAgICAgICAgOTAlICFkZWZhdWx0O1xuJGZpZ3VyZS1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG5cbi8vIEJyZWFkY3J1bWJzXG5cbiRicmVhZGNydW1iLXBhZGRpbmcteTogICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLXBhZGRpbmcteDogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1pdGVtLXBhZGRpbmc6ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTogICAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJGJyZWFkY3J1bWItYmc6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjogICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItZGl2aWRlcjogICAgICAgICAgICAgICAgcXVvdGUoXCIvXCIpICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgIDE1JSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk6ICAgICAgICAgICAuNSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLWhvdmVyLW9wYWNpdHk6ICAgICAuOSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1jb250cm9sLXRyYW5zaXRpb246ICAgICAgICBvcGFjaXR5IC4xNXMgZWFzZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLWhlaWdodDogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1oaXQtYXJlYS1oZWlnaHQ6IDEwcHggIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjogICAgICAgICAgM3B4ICFkZWZhdWx0O1xuJGNhcm91c2VsLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItdHJhbnNpdGlvbjogICAgICBvcGFjaXR5IC42cyBlYXNlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY2FwdGlvbi13aWR0aDogICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDogICAgICAgIDIwcHggIWRlZmF1bHQ7XG5cbiRjYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbi1iZzogICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgZmlsbD0nI3skY2Fyb3VzZWwtY29udHJvbC1jb2xvcn0nIHZpZXdCb3g9JzAgMCA4IDgnJTNlJTNjcGF0aCBkPSdNNS4yNSAwbC00IDQgNCA0IDEuNS0xLjUtMi41LTIuNSAyLjUtMi41LTEuNS0xLjV6Jy8lM2UlM2Mvc3ZnJTNlXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1uZXh0LWljb24tYmc6ICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sLCUzY3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzZSUzY3BhdGggZD0nTTIuNzUgMGwtMS41IDEuNSAyLjUgMi41LTIuNSAyLjUgMS41IDEuNSA0LTQtNC00eicvJTNlJTNjL3N2ZyUzZVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbjogICAgICAgLjZzICFkZWZhdWx0O1xuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAkY2Fyb3VzZWwtdHJhbnNpdGlvbi1kdXJhdGlvbiBlYXNlLWluLW91dCAhZGVmYXVsdDsgLy8gRGVmaW5lIHRyYW5zZm9ybSB0cmFuc2l0aW9uIGZpcnN0IGlmIHVzaW5nIG11bHRpcGxlIHRyYW5zaXRpb25zIChlLmcuLCBgdHJhbnNmb3JtIDJzIGVhc2UsIG9wYWNpdHkgLjVzIGVhc2Utb3V0YClcblxuXG4vLyBTcGlubmVyc1xuXG4kc3Bpbm5lci13aWR0aDogICAgICAgICAycmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0OiAgICAgICAgJHNwaW5uZXItd2lkdGggIWRlZmF1bHQ7XG4kc3Bpbm5lci1ib3JkZXItd2lkdGg6ICAuMjVlbSAhZGVmYXVsdDtcblxuJHNwaW5uZXItd2lkdGgtc206ICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHNwaW5uZXItaGVpZ2h0LXNtOiAgICAgICAkc3Bpbm5lci13aWR0aC1zbSAhZGVmYXVsdDtcbiRzcGlubmVyLWJvcmRlci13aWR0aC1zbTogLjJlbSAhZGVmYXVsdDtcblxuXG4vLyBDbG9zZVxuXG4kY2xvc2UtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjUgIWRlZmF1bHQ7XG4kY2xvc2UtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRjbG9zZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICRibGFjayAhZGVmYXVsdDtcbiRjbG9zZS10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgIDAgMXB4IDAgJHdoaXRlICFkZWZhdWx0O1xuXG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gVXRpbGl0aWVzXG5cbiRkaXNwbGF5czogbm9uZSwgaW5saW5lLCBpbmxpbmUtYmxvY2ssIGJsb2NrLCB0YWJsZSwgdGFibGUtcm93LCB0YWJsZS1jZWxsLCBmbGV4LCBpbmxpbmUtZmxleCAhZGVmYXVsdDtcbiRvdmVyZmxvd3M6IGF1dG8sIGhpZGRlbiAhZGVmYXVsdDtcbiRwb3NpdGlvbnM6IHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5ICFkZWZhdWx0O1xuXG5cbi8vIFByaW50aW5nXG5cbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIFRvZ2dsZXNcbi8vXG4vLyBVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGggZ2xvYmFsIHZhcmlhYmxlcyB0byBlbmFibGUgY2VydGFpbiB0aGVtZSBmZWF0dXJlcy5cblxuLy8gVmVuZG9yXG5AaW1wb3J0IFwidmVuZG9yL3Jmc1wiO1xuXG4vLyBEZXByZWNhdGVcbkBpbXBvcnQgXCJtaXhpbnMvZGVwcmVjYXRlXCI7XG5cbi8vIFV0aWxpdGllc1xuQGltcG9ydCBcIm1peGlucy9icmVha3BvaW50c1wiO1xuQGltcG9ydCBcIm1peGlucy9ob3ZlclwiO1xuQGltcG9ydCBcIm1peGlucy9pbWFnZVwiO1xuQGltcG9ydCBcIm1peGlucy9iYWRnZVwiO1xuQGltcG9ydCBcIm1peGlucy9yZXNpemVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvc2NyZWVuLXJlYWRlclwiO1xuQGltcG9ydCBcIm1peGlucy9zaXplXCI7XG5AaW1wb3J0IFwibWl4aW5zL3Jlc2V0LXRleHRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC1lbXBoYXNpc1wiO1xuQGltcG9ydCBcIm1peGlucy90ZXh0LWhpZGVcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dC10cnVuY2F0ZVwiO1xuQGltcG9ydCBcIm1peGlucy92aXNpYmlsaXR5XCI7XG5cbi8vIC8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJtaXhpbnMvYWxlcnRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYnV0dG9uc1wiO1xuQGltcG9ydCBcIm1peGlucy9jYXJldFwiO1xuQGltcG9ydCBcIm1peGlucy9wYWdpbmF0aW9uXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3RzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2xpc3QtZ3JvdXBcIjtcbkBpbXBvcnQgXCJtaXhpbnMvbmF2LWRpdmlkZXJcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZm9ybXNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvdGFibGUtcm93XCI7XG5cbi8vIC8vIFNraW5zXG5AaW1wb3J0IFwibWl4aW5zL2JhY2tncm91bmQtdmFyaWFudFwiO1xuQGltcG9ydCBcIm1peGlucy9ib3JkZXItcmFkaXVzXCI7XG5AaW1wb3J0IFwibWl4aW5zL2JveC1zaGFkb3dcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JhZGllbnRzXCI7XG5AaW1wb3J0IFwibWl4aW5zL3RyYW5zaXRpb25cIjtcblxuLy8gLy8gTGF5b3V0XG5AaW1wb3J0IFwibWl4aW5zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWQtZnJhbWV3b3JrXCI7XG5AaW1wb3J0IFwibWl4aW5zL2dyaWRcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZmxvYXRcIjtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHByb3BlcnR5LWJsYWNrbGlzdCwgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxuXG4vLyBTQ1NTIFJGUyBtaXhpblxuLy9cbi8vIEF1dG9tYXRlZCBmb250LXJlc2l6aW5nXG4vL1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL3Jmc1xuXG4vLyBDb25maWd1cmF0aW9uXG5cbi8vIEJhc2UgZm9udCBzaXplXG4kcmZzLWJhc2UtZm9udC1zaXplOiAxLjI1cmVtICFkZWZhdWx0O1xuJHJmcy1mb250LXNpemUtdW5pdDogcmVtICFkZWZhdWx0O1xuXG4vLyBCcmVha3BvaW50IGF0IHdoZXJlIGZvbnQtc2l6ZSBzdGFydHMgZGVjcmVhc2luZyBpZiBzY3JlZW4gd2lkdGggaXMgc21hbGxlclxuJHJmcy1icmVha3BvaW50OiAxMjAwcHggIWRlZmF1bHQ7XG4kcmZzLWJyZWFrcG9pbnQtdW5pdDogcHggIWRlZmF1bHQ7XG5cbi8vIFJlc2l6ZSBmb250LXNpemUgYmFzZWQgb24gc2NyZWVuIGhlaWdodCBhbmQgd2lkdGhcbiRyZnMtdHdvLWRpbWVuc2lvbmFsOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRmFjdG9yIG9mIGRlY3JlYXNlXG4kcmZzLWZhY3RvcjogMTAgIWRlZmF1bHQ7XG5cbkBpZiB0eXBlLW9mKCRyZnMtZmFjdG9yKSAhPSBcIm51bWJlclwiIG9yICRyZnMtZmFjdG9yIDw9IDEge1xuICBAZXJyb3IgXCJgI3skcmZzLWZhY3Rvcn1gIGlzIG5vdCBhIHZhbGlkICAkcmZzLWZhY3RvciwgaXQgbXVzdCBiZSBncmVhdGVyIHRoYW4gMS5cIjtcbn1cblxuLy8gR2VuZXJhdGUgZW5hYmxlIG9yIGRpc2FibGUgY2xhc3Nlcy4gUG9zc2liaWxpdGllczogZmFsc2UsIFwiZW5hYmxlXCIgb3IgXCJkaXNhYmxlXCJcbiRyZnMtY2xhc3M6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyAxIHJlbSA9ICRyZnMtcmVtLXZhbHVlIHB4XG4kcmZzLXJlbS12YWx1ZTogMTYgIWRlZmF1bHQ7XG5cbi8vIFNhZmFyaSBpZnJhbWUgcmVzaXplIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvcmZzL2lzc3Vlcy8xNFxuJHJmcy1zYWZhcmktaWZyYW1lLXJlc2l6ZS1idWctZml4OiBmYWxzZSAhZGVmYXVsdDtcblxuLy8gRGlzYWJsZSBSRlMgYnkgc2V0dGluZyAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB0byBmYWxzZVxuJGVuYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIENhY2hlICRyZnMtYmFzZS1mb250LXNpemUgdW5pdFxuJHJmcy1iYXNlLWZvbnQtc2l6ZS11bml0OiB1bml0KCRyZnMtYmFzZS1mb250LXNpemUpO1xuXG4vLyBSZW1vdmUgcHgtdW5pdCBmcm9tICRyZnMtYmFzZS1mb250LXNpemUgZm9yIGNhbGN1bGF0aW9uc1xuQGlmICRyZnMtYmFzZS1mb250LXNpemUtdW5pdCA9PSBcInB4XCIge1xuICAkcmZzLWJhc2UtZm9udC1zaXplOiAkcmZzLWJhc2UtZm9udC1zaXplIC8gKCRyZnMtYmFzZS1mb250LXNpemUgKiAwICsgMSk7XG59XG5AZWxzZSBpZiAkcmZzLWJhc2UtZm9udC1zaXplLXVuaXQgPT0gXCJyZW1cIiB7XG4gICRyZnMtYmFzZS1mb250LXNpemU6ICRyZnMtYmFzZS1mb250LXNpemUgLyAoJHJmcy1iYXNlLWZvbnQtc2l6ZSAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xufVxuXG4vLyBDYWNoZSAkcmZzLWJyZWFrcG9pbnQgdW5pdCB0byBwcmV2ZW50IG11bHRpcGxlIGNhbGxzXG4kcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZTogdW5pdCgkcmZzLWJyZWFrcG9pbnQpO1xuXG4vLyBSZW1vdmUgdW5pdCBmcm9tICRyZnMtYnJlYWtwb2ludCBmb3IgY2FsY3VsYXRpb25zXG5AaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJweFwiIHtcbiAgJHJmcy1icmVha3BvaW50OiAkcmZzLWJyZWFrcG9pbnQgLyAoJHJmcy1icmVha3BvaW50ICogMCArIDEpO1xufVxuQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQtY2FjaGUgPT0gXCJyZW1cIiBvciAkcmZzLWJyZWFrcG9pbnQtdW5pdC1jYWNoZSA9PSBcImVtXCIge1xuICAkcmZzLWJyZWFrcG9pbnQ6ICRyZnMtYnJlYWtwb2ludCAvICgkcmZzLWJyZWFrcG9pbnQgKiAwICsgMSAvICRyZnMtcmVtLXZhbHVlKTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBmb250LXNpemUgbWl4aW5cbkBtaXhpbiByZnMoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICAvLyBDYWNoZSAkZnMgdW5pdFxuICAkZnMtdW5pdDogaWYodHlwZS1vZigkZnMpID09IFwibnVtYmVyXCIsIHVuaXQoJGZzKSwgZmFsc2UpO1xuXG4gIC8vIEFkZCAhaW1wb3J0YW50IHN1ZmZpeCBpZiBuZWVkZWRcbiAgJHJmcy1zdWZmaXg6IGlmKCRpbXBvcnRhbnQsIFwiICFpbXBvcnRhbnRcIiwgXCJcIik7XG5cbiAgLy8gSWYgJGZzIGlzbid0IGEgbnVtYmVyIChsaWtlIGluaGVyaXQpIG9yICRmcyBoYXMgYSB1bml0IChub3QgcHggb3IgcmVtLCBsaWtlIDEuNWVtKSBvciAkIGlzIDAsIGp1c3QgcHJpbnQgdGhlIHZhbHVlXG4gIEBpZiBub3QgJGZzLXVuaXQgb3IgJGZzLXVuaXQgIT0gXCJcIiBhbmQgJGZzLXVuaXQgIT0gXCJweFwiIGFuZCAkZnMtdW5pdCAhPSBcInJlbVwiIG9yICRmcyA9PSAwIHtcbiAgICBmb250LXNpemU6ICN7JGZzfSN7JHJmcy1zdWZmaXh9O1xuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBWYXJpYWJsZXMgZm9yIHN0b3Jpbmcgc3RhdGljIGFuZCBmbHVpZCByZXNjYWxpbmdcbiAgICAkcmZzLXN0YXRpYzogbnVsbDtcbiAgICAkcmZzLWZsdWlkOiBudWxsO1xuXG4gICAgLy8gUmVtb3ZlIHB4LXVuaXQgZnJvbSAkZnMgZm9yIGNhbGN1bGF0aW9uc1xuICAgIEBpZiAkZnMtdW5pdCA9PSBcInB4XCIge1xuICAgICAgJGZzOiAkZnMgLyAoJGZzICogMCArIDEpO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkZnMtdW5pdCA9PSBcInJlbVwiIHtcbiAgICAgICRmczogJGZzIC8gKCRmcyAqIDAgKyAxIC8gJHJmcy1yZW0tdmFsdWUpO1xuICAgIH1cblxuICAgIC8vIFNldCBkZWZhdWx0IGZvbnQtc2l6ZVxuICAgIEBpZiAkcmZzLWZvbnQtc2l6ZS11bml0ID09IHJlbSB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnMgLyAkcmZzLXJlbS12YWx1ZX1yZW0jeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2UgaWYgJHJmcy1mb250LXNpemUtdW5pdCA9PSBweCB7XG4gICAgICAkcmZzLXN0YXRpYzogI3skZnN9cHgjeyRyZnMtc3VmZml4fTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGVycm9yIFwiYCN7JHJmcy1mb250LXNpemUtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtZm9udC1zaXplLXVuaXQuIFVzZSBgcHhgIG9yIGByZW1gLlwiO1xuICAgIH1cblxuICAgIC8vIE9ubHkgYWRkIG1lZGlhIHF1ZXJ5IGlmIGZvbnQtc2l6ZSBpcyBiaWdnZXIgYXMgdGhlIG1pbmltdW0gZm9udC1zaXplXG4gICAgLy8gSWYgJHJmcy1mYWN0b3IgPT0gMSwgbm8gcmVzY2FsaW5nIHdpbGwgdGFrZSBwbGFjZVxuICAgIEBpZiAkZnMgPiAkcmZzLWJhc2UtZm9udC1zaXplIGFuZCAkZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplcyB7XG4gICAgICAkbWluLXdpZHRoOiBudWxsO1xuICAgICAgJHZhcmlhYmxlLXVuaXQ6IG51bGw7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtbWluOiAkcmZzLWJhc2UtZm9udC1zaXplICsgKCRmcyAtICRyZnMtYmFzZS1mb250LXNpemUpIC8gJHJmcy1mYWN0b3I7XG5cbiAgICAgIC8vIENhbGN1bGF0ZSBkaWZmZXJlbmNlIGJldHdlZW4gZ2l2ZW4gZm9udC1zaXplIGFuZCBtaW5pbXVtIGZvbnQtc2l6ZSBmb3IgZ2l2ZW4gZm9udC1zaXplXG4gICAgICAkZnMtZGlmZjogJGZzIC0gJGZzLW1pbjtcblxuICAgICAgLy8gQmFzZSBmb250LXNpemUgZm9ybWF0dGluZ1xuICAgICAgLy8gTm8gbmVlZCB0byBjaGVjayBpZiB0aGUgdW5pdCBpcyB2YWxpZCwgYmVjYXVzZSB3ZSBkaWQgdGhhdCBiZWZvcmVcbiAgICAgICRtaW4td2lkdGg6IGlmKCRyZnMtZm9udC1zaXplLXVuaXQgPT0gcmVtLCAjeyRmcy1taW4gLyAkcmZzLXJlbS12YWx1ZX1yZW0sICN7JGZzLW1pbn1weCk7XG5cbiAgICAgIC8vIElmIHR3by1kaW1lbnNpb25hbCwgdXNlIHNtYWxsZXN0IG9mIHNjcmVlbiB3aWR0aCBhbmQgaGVpZ2h0XG4gICAgICAkdmFyaWFibGUtdW5pdDogaWYoJHJmcy10d28tZGltZW5zaW9uYWwsIHZtaW4sIHZ3KTtcblxuICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB2YXJpYWJsZSB3aWR0aCBiZXR3ZWVuIDAgYW5kICRyZnMtYnJlYWtwb2ludFxuICAgICAgJHZhcmlhYmxlLXdpZHRoOiAjeyRmcy1kaWZmICogMTAwIC8gJHJmcy1icmVha3BvaW50fSN7JHZhcmlhYmxlLXVuaXR9O1xuXG4gICAgICAvLyBTZXQgdGhlIGNhbGN1bGF0ZWQgZm9udC1zaXplLlxuICAgICAgJHJmcy1mbHVpZDogY2FsYygjeyRtaW4td2lkdGh9ICsgI3skdmFyaWFibGUtd2lkdGh9KSAjeyRyZnMtc3VmZml4fTtcbiAgICB9XG5cbiAgICAvLyBSZW5kZXJpbmdcbiAgICBAaWYgJHJmcy1mbHVpZCA9PSBudWxsIHtcbiAgICAgIC8vIE9ubHkgcmVuZGVyIHN0YXRpYyBmb250LXNpemUgaWYgbm8gZmx1aWQgZm9udC1zaXplIGlzIGF2YWlsYWJsZVxuICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJG1xLXZhbHVlOiBudWxsO1xuXG4gICAgICAvLyBSRlMgYnJlYWtwb2ludCBmb3JtYXR0aW5nXG4gICAgICBAaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gZW0gb3IgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcmVtIHtcbiAgICAgICAgJG1xLXZhbHVlOiAjeyRyZnMtYnJlYWtwb2ludCAvICRyZnMtcmVtLXZhbHVlfSN7JHJmcy1icmVha3BvaW50LXVuaXR9O1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHJmcy1icmVha3BvaW50LXVuaXQgPT0gcHgge1xuICAgICAgICAkbXEtdmFsdWU6ICN7JHJmcy1icmVha3BvaW50fXB4O1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJgI3skcmZzLWJyZWFrcG9pbnQtdW5pdH1gIGlzIG5vdCBhIHZhbGlkIHVuaXQgZm9yICRyZnMtYnJlYWtwb2ludC11bml0LiBVc2UgYHB4YCwgYGVtYCBvciBgcmVtYC5cIjtcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtY2xhc3MgPT0gXCJkaXNhYmxlXCIge1xuICAgICAgICAvLyBBZGRpbmcgYW4gZXh0cmEgY2xhc3MgaW5jcmVhc2VzIHNwZWNpZmljaXR5LFxuICAgICAgICAvLyB3aGljaCBwcmV2ZW50cyB0aGUgbWVkaWEgcXVlcnkgdG8gb3ZlcnJpZGUgdGhlIGZvbnQgc2l6ZVxuICAgICAgICAmLFxuICAgICAgICAuZGlzYWJsZS1yZXNwb25zaXZlLWZvbnQtc2l6ZSAmLFxuICAgICAgICAmLmRpc2FibGUtcmVzcG9uc2l2ZS1mb250LXNpemUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHJmcy1zdGF0aWM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgZm9udC1zaXplOiAkcmZzLXN0YXRpYztcbiAgICAgIH1cblxuICAgICAgQGlmICRyZnMtdHdvLWRpbWVuc2lvbmFsIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICN7JG1xLXZhbHVlfSksIChtYXgtaGVpZ2h0OiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAjeyRtcS12YWx1ZX0pIHtcbiAgICAgICAgICBAaWYgJHJmcy1jbGFzcyA9PSBcImVuYWJsZVwiIHtcbiAgICAgICAgICAgIC5lbmFibGUtcmVzcG9uc2l2ZS1mb250LXNpemUgJixcbiAgICAgICAgICAgICYuZW5hYmxlLXJlc3BvbnNpdmUtZm9udC1zaXplIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkcmZzLWZsdWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBmb250LXNpemU6ICRyZnMtZmx1aWQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGlmICRyZnMtc2FmYXJpLWlmcmFtZS1yZXNpemUtYnVnLWZpeCB7XG4gICAgICAgICAgICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbGVuZ3RoLXplcm8tbm8tdW5pdFxuICAgICAgICAgICAgbWluLXdpZHRoOiAwdnc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFRoZSBmb250LXNpemUgJiByZXNwb25zaXZlLWZvbnQtc2l6ZSBtaXhpbiB1c2VzIFJGUyB0byByZXNjYWxlIGZvbnQgc2l6ZXNcbkBtaXhpbiBmb250LXNpemUoJGZzLCAkaW1wb3J0YW50OiBmYWxzZSkge1xuICBAaW5jbHVkZSByZnMoJGZzLCAkaW1wb3J0YW50KTtcbn1cblxuQG1peGluIHJlc3BvbnNpdmUtZm9udC1zaXplKCRmcywgJGltcG9ydGFudDogZmFsc2UpIHtcbiAgQGluY2x1ZGUgcmZzKCRmcywgJGltcG9ydGFudCk7XG59XG4iLCIvLyBEZXByZWNhdGUgbWl4aW5cbi8vXG4vLyBUaGlzIG1peGluIGNhbiBiZSB1c2VkIHRvIGRlcHJlY2F0ZSBtaXhpbnMgb3IgZnVuY3Rpb25zLlxuLy8gYCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXNgIGlzIGEgZ2xvYmFsIHZhcmlhYmxlLCBgJGlnbm9yZS13YXJuaW5nYCBpcyBhIHZhcmlhYmxlIHRoYXQgY2FuIGJlIHBhc3NlZCB0b1xuLy8gc29tZSBkZXByZWNhdGVkIG1peGlucyB0byBzdXBwcmVzcyB0aGUgd2FybmluZyAoZm9yIGV4YW1wbGUgaWYgdGhlIG1peGluIGlzIHN0aWxsIGJlIHVzZWQgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbiBvZiBCb290c3RyYXApXG5AbWl4aW4gZGVwcmVjYXRlKCRuYW1lLCAkZGVwcmVjYXRlLXZlcnNpb24sICRyZW1vdmUtdmVyc2lvbiwgJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICBAaWYgKCRlbmFibGUtZGVwcmVjYXRpb24tbWVzc2FnZXMgIT0gZmFsc2UgYW5kICRpZ25vcmUtd2FybmluZyAhPSB0cnVlKSB7XG4gICAgQHdhcm4gXCIjeyRuYW1lfSBoYXMgYmVlbiBkZXByZWNhdGVkIGFzIG9mICN7JGRlcHJlY2F0ZS12ZXJzaW9ufS4gSXQgd2lsbCBiZSByZW1vdmVkIGVudGlyZWx5IGluICN7JHJlbW92ZS12ZXJzaW9ufS5cIjtcbiAgfVxufVxuIiwiLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vL1xuLy8gICAgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kIGxnIHhsKSlcbi8vICAgIG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbiAhPSBudWxsIGFuZCAkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDU3NnB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgQHJldHVybiBpZigkbWluICE9IDAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjAycHhcbi8vIHRvIHdvcmsgYXJvdW5kIHRoZSBsaW1pdGF0aW9ucyBvZiBgbWluLWAgYW5kIGBtYXgtYCBwcmVmaXhlcyBhbmQgdmlld3BvcnRzIHdpdGggZnJhY3Rpb25hbCB3aWR0aHMuXG4vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL21lZGlhcXVlcmllcy00LyNtcS1taW4tbWF4XG4vLyBVc2VzIDAuMDJweCByYXRoZXIgdGhhbiAwLjAxcHggdG8gd29yayBhcm91bmQgYSBjdXJyZW50IHJvdW5kaW5nIGJ1ZyBpbiBTYWZhcmkuXG4vLyBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODI2MVxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgNzY3Ljk4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIC4wMiwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW4gZnJvbnQuXG4vLyBVc2VmdWwgZm9yIG1ha2luZyByZXNwb25zaXZlIHV0aWxpdGllcy5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHhzLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCJcIiAgKFJldHVybnMgYSBibGFuayBzdHJpbmcpXG4vLyAgICA+PiBicmVha3BvaW50LWluZml4KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgXCItc21cIlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtaW5maXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQHJldHVybiBpZihicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKSA9PSBudWxsLCBcIlwiLCBcIi0jeyRuYW1lfVwiKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1pbiB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICBAaWYgJG1heCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy8gTWVkaWEgdGhhdCBzcGFucyBtdWx0aXBsZSBicmVha3BvaW50IHdpZHRocy5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBiZXR3ZWVuIHRoZSBtaW4gYW5kIG1heCBicmVha3BvaW50c1xuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtYmV0d2VlbigkbG93ZXIsICR1cHBlciwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAkbWluOiBicmVha3BvaW50LW1pbigkbG93ZXIsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCR1cHBlciwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbG93ZXIsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtaW4gPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCR1cHBlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICBAaWYgJG1pbiAhPSBudWxsIGFuZCAkbWF4ICE9IG51bGwge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSBhbmQgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIGlmICRtYXggPT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3ZlciBtaXhpbiBhbmQgYCRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnlgIGFyZSBkZXByZWNhdGVkLlxuLy9cbi8vIE9yaWdpbmFsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPUy1hbiBpc3N1ZSB3aGVyZSBob3ZlciBzdHlsZXNcbi8vIHdvdWxkIHBlcnNpc3QgYWZ0ZXIgaW5pdGlhbCB0b3VjaC5cbi8vXG4vLyBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgd2UndmUga2VwdCB0aGVzZSBtaXhpbnMgYW5kIHVwZGF0ZWQgdGhlbSB0b1xuLy8gYWx3YXlzIHJldHVybiB0aGVpciByZWd1bGFyIHBzZXVkby1jbGFzc2VzIGluc3RlYWQgb2YgYSBzaGltbWVkIG1lZGlhIHF1ZXJ5LlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzI1MTk1XG5cbkBtaXhpbiBob3ZlciB7XG4gICY6aG92ZXIgeyBAY29udGVudDsgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcGxhaW4taG92ZXItZm9jdXMge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gaG92ZXItZm9jdXMtYWN0aXZlIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICAgIG9ubHkgc2NyZWVuIGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KSB7IC8vIFN0YW5kYXJkaXplZFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgkZmlsZS0yeCk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkd2lkdGgtMXggJGhlaWdodC0xeDtcbiAgfVxuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJgaW1nLXJldGluYSgpYFwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuIiwiQG1peGluIGJhZGdlLXZhcmlhbnQoJGJnKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJnKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gIEBhdC1yb290IGEjeyZ9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogY29sb3IteWlxKCRiZyk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJnLCAxMCUpO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJhZGdlLWZvY3VzLXdpZHRoIHJnYmEoJGJnLCAuNSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBSZXNpemUgYW55dGhpbmdcblxuQG1peGluIHJlc2l6YWJsZSgkZGlyZWN0aW9uKSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBQZXIgQ1NTMyBVSSwgYHJlc2l6ZWAgb25seSBhcHBsaWVzIHdoZW4gYG92ZXJmbG93YCBpc24ndCBgdmlzaWJsZWBcbiAgcmVzaXplOiAkZGlyZWN0aW9uOyAvLyBPcHRpb25zOiBob3Jpem9udGFsLCB2ZXJ0aWNhbCwgYm90aFxufVxuIiwiLy8gT25seSBkaXNwbGF5IGNvbnRlbnQgdG8gc2NyZWVuIHJlYWRlcnNcbi8vXG4vLyBTZWU6IGh0dHBzOi8vYTExeXByb2plY3QuY29tL3Bvc3RzL2hvdy10by1oaWRlLWNvbnRlbnQvXG4vLyBTZWU6IGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE2LzEwLzEzL2Nzcy1oaWRlLWFuZC1zZWVrL1xuXG5AbWl4aW4gc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmc6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgfVxufVxuIiwiLy8gU2l6aW5nIHNob3J0Y3V0c1xuXG5AbWl4aW4gc2l6ZSgkd2lkdGgsICRoZWlnaHQ6ICR3aWR0aCkge1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBzaXplKClgXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIEBpZiAkZW1waGFzaXplZC1saW5rLWhvdmVyLWRhcmtlbi1wZXJjZW50YWdlICE9IDAge1xuICAgIGEjeyRwYXJlbnR9IHtcbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6IGRhcmtlbigkY29sb3IsICRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2UpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBDU1MgaW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiB0ZXh0LWhpZGUoJGlnbm9yZS13YXJuaW5nOiBmYWxzZSkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuXG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImB0ZXh0LWhpZGUoKWBcIiwgXCJ2NC4xLjBcIiwgXCJ2NVwiLCAkaWdub3JlLXdhcm5pbmcpO1xufVxuIiwiLy8gVGV4dCB0cnVuY2F0ZVxuLy8gUmVxdWlyZXMgaW5saW5lLWJsb2NrIG9yIGJsb2NrIGZvciBwcm9wZXIgc3R5bGluZ1xuXG5AbWl4aW4gdGV4dC10cnVuY2F0ZSgpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gVmlzaWJpbGl0eVxuXG5AbWl4aW4gaW52aXNpYmxlKCR2aXNpYmlsaXR5KSB7XG4gIHZpc2liaWxpdHk6ICR2aXNpYmlsaXR5ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcImBpbnZpc2libGUoKWBcIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbiIsIkBtaXhpbiBhbGVydC12YXJpYW50KCRiYWNrZ3JvdW5kLCAkYm9yZGVyLCAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGJhY2tncm91bmQpO1xuICBib3JkZXItY29sb3I6ICRib3JkZXI7XG5cbiAgaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbigkYm9yZGVyLCA1JSk7XG4gIH1cblxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIEJ1dHRvbiB2YXJpYW50c1xuLy9cbi8vIEVhc2lseSBwdW1wIG91dCBkZWZhdWx0IHN0eWxlcywgYXMgd2VsbCBhcyA6aG92ZXIsIDpmb2N1cywgOmFjdGl2ZSxcbi8vIGFuZCBkaXNhYmxlZCBvcHRpb25zIGZvciBhbGwgYnV0dG9uc1xuXG5AbWl4aW4gYnV0dG9uLXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDcuNSUpLCAkaG92ZXItYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTAlKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDEwJSksICRhY3RpdmUtYm9yZGVyOiBkYXJrZW4oJGJvcmRlciwgMTIuNSUpKSB7XG4gIGNvbG9yOiBjb2xvci15aXEoJGJhY2tncm91bmQpO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWJveC1zaGFkb3cpO1xuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiAkaG92ZXItYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgIEBpZiAkZW5hYmxlLXNoYWRvd3Mge1xuICAgICAgYm94LXNoYWRvdzogJGJ0bi1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEobWl4KGNvbG9yLXlpcSgkYmFja2dyb3VuZCksICRib3JkZXIsIDE1JSksIC41KTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYShtaXgoY29sb3IteWlxKCRiYWNrZ3JvdW5kKSwgJGJvcmRlciwgMTUlKSwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGZvciB0aGUgcHJlc3NlZC9hY3RpdmUgc3RhdGVcbiAgICB9XG4gICAgYm9yZGVyLWNvbG9yOiAkYWN0aXZlLWJvcmRlcjtcblxuICAgICY6Zm9jdXMge1xuICAgICAgLy8gQXZvaWQgdXNpbmcgbWl4aW4gc28gd2UgY2FuIHBhc3MgY3VzdG9tIGZvY3VzIHNoYWRvdyBwcm9wZXJseVxuICAgICAgQGlmICRlbmFibGUtc2hhZG93cyBhbmQgJGJ0bi1hY3RpdmUtYm94LXNoYWRvdyAhPSBub25lIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKG1peChjb2xvci15aXEoJGJhY2tncm91bmQpLCAkYm9yZGVyLCAxNSUpLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBidXR0b24tb3V0bGluZS12YXJpYW50KCRjb2xvciwgJGNvbG9yLWhvdmVyOiBjb2xvci15aXEoJGNvbG9yKSwgJGFjdGl2ZS1iYWNrZ3JvdW5kOiAkY29sb3IsICRhY3RpdmUtYm9yZGVyOiAkY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUsXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCkuYWN0aXZlLFxuICAuc2hvdyA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRhY3RpdmUtYmFja2dyb3VuZCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjdGl2ZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1jb2xvcjogJGFjdGl2ZS1ib3JkZXI7XG5cbiAgICAmOmZvY3VzIHtcbiAgICAgIC8vIEF2b2lkIHVzaW5nIG1peGluIHNvIHdlIGNhbiBwYXNzIGN1c3RvbSBmb2N1cyBzaGFkb3cgcHJvcGVybHlcbiAgICAgIEBpZiAkZW5hYmxlLXNoYWRvd3MgYW5kICRidG4tYWN0aXZlLWJveC1zaGFkb3cgIT0gbm9uZSB7XG4gICAgICAgIGJveC1zaGFkb3c6ICRidG4tYWN0aXZlLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEJ1dHRvbiBzaXplc1xuQG1peGluIGJ1dHRvbi1zaXplKCRwYWRkaW5nLXksICRwYWRkaW5nLXgsICRmb250LXNpemUsICRsaW5lLWhlaWdodCwgJGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogJHBhZGRpbmcteSAkcGFkZGluZy14O1xuICBAaW5jbHVkZSBmb250LXNpemUoJGZvbnQtc2l6ZSk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIC8vIE1hbnVhbGx5IGRlY2xhcmUgdG8gcHJvdmlkZSBhbiBvdmVycmlkZSB0byB0aGUgYnJvd3NlciBkZWZhdWx0XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMsIDApO1xufVxuIiwiQG1peGluIGNhcmV0LWRvd24ge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtdXAge1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkO1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWl4aW4gY2FyZXQtcmlnaHQge1xuICBib3JkZXItdG9wOiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAkY2FyZXQtc3BhY2luZztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd247XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cDtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXNwYWNpbmc7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtdmVydGljYWwtYWxpZ247XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWxlZnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjplbXB0eTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBQYWdpbmF0aW9uXG5cbkBtaXhpbiBwYWdpbmF0aW9uLXNpemUoJHBhZGRpbmcteSwgJHBhZGRpbmcteCwgJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0LCAkYm9yZGVyLXJhZGl1cykge1xuICAucGFnZS1saW5rIHtcbiAgICBwYWRkaW5nOiAkcGFkZGluZy15ICRwYWRkaW5nLXg7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb250LXNpemUpO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQ7XG4gIH1cblxuICAucGFnZS1pdGVtIHtcbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gTGlzdHNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAkbmF2LWRpdmlkZXItY29sb3IsICRtYXJnaW4teTogJG5hdi1kaXZpZGVyLW1hcmdpbi15KSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAkbWFyZ2luLXkgMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjb2xvcjtcbn1cbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yLCAkaWNvbikge1xuICAuI3skc3RhdGV9LWZlZWRiYWNrIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6ICRmb3JtLWZlZWRiYWNrLW1hcmdpbi10b3A7XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZSk7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxuXG4gIC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvLyBDb250YWluIHRvIHBhcmVudCB3aGVuIHBvc3NpYmxlXG4gICAgcGFkZGluZzogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXkgJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1wYWRkaW5nLXg7XG4gICAgbWFyZ2luLXRvcDogLjFyZW07XG4gICAgQGluY2x1ZGUgZm9udC1zaXplKCRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtZm9udC1zaXplKTtcbiAgICBsaW5lLWhlaWdodDogJGZvcm0tZmVlZGJhY2stdG9vbHRpcC1saW5lLWhlaWdodDtcbiAgICBjb2xvcjogY29sb3IteWlxKCRjb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsICRmb3JtLWZlZWRiYWNrLXRvb2x0aXAtb3BhY2l0eSk7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkZm9ybS1mZWVkYmFjay10b29sdGlwLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG5cbiAgICAgIEBpZiAkZW5hYmxlLXZhbGlkYXRpb24taWNvbnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkaW5wdXQtaGVpZ2h0LWlubmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkaWNvbjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHJpZ2h0ICRpbnB1dC1oZWlnaHQtaW5uZXItcXVhcnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAkaW5wdXQtaGVpZ2h0LWlubmVyLWhhbGYgJGlucHV0LWhlaWdodC1pbm5lci1oYWxmO1xuICAgICAgfVxuXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG4gIHRleHRhcmVhLmZvcm0tY29udHJvbCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRpbnB1dC1oZWlnaHQtaW5uZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCAkaW5wdXQtaGVpZ2h0LWlubmVyLXF1YXJ0ZXIgcmlnaHQgJGlucHV0LWhlaWdodC1pbm5lci1xdWFydGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgQGlmICRlbmFibGUtdmFsaWRhdGlvbi1pY29ucyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcGFkZGluZy1yaWdodDtcbiAgICAgICAgYmFja2dyb3VuZDogJGN1c3RvbS1zZWxlY3QtYmFja2dyb3VuZCwgJGljb24gJGN1c3RvbS1zZWxlY3QtYmcgbm8tcmVwZWF0ICRjdXN0b20tc2VsZWN0LWZlZWRiYWNrLWljb24tcG9zaXRpb24gLyAkY3VzdG9tLXNlbGVjdC1mZWVkYmFjay1pY29uLXNpemU7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLmZvcm0tY29udHJvbC1maWxlIHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogbGlnaHRlbigkY29sb3IsIDEwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBjdXN0b20gZmlsZVxuICAuY3VzdG9tLWZpbGUtaW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tZmlsZS1sYWJlbCB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGlucHV0LWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuQG1peGluIHRhYmxlLXJvdy12YXJpYW50KCRzdGF0ZSwgJGJhY2tncm91bmQsICRib3JkZXI6IG51bGwpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgJixcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXIgIT0gbnVsbCB7XG4gICAgICB0aCxcbiAgICAgIHRkLFxuICAgICAgdGhlYWQgdGgsXG4gICAgICB0Ym9keSArIHRib2R5IHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlcyBmb3IgYC50YWJsZS1ob3ZlcmBcbiAgLy8gTm90ZTogdGhpcyBpcyBub3QgYXZhaWxhYmxlIGZvciBjZWxscyBvciByb3dzIHdpdGhpbiBgdGhlYWRgIG9yIGB0Zm9vdGAuXG4gIC50YWJsZS1ob3ZlciB7XG4gICAgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNSUpO1xuXG4gICAgLnRhYmxlLSN7JHN0YXRlfSB7XG4gICAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuXG4gICAgICAgID4gdGQsXG4gICAgICAgID4gdGgge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRob3Zlci1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG5AbWl4aW4gYmctdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSN7JHBhcmVudH0sXG4gIGJ1dHRvbiN7JHBhcmVudH0ge1xuICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkY29sb3IsIDEwJSkgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGJnLWdyYWRpZW50LXZhcmlhbnQoJHBhcmVudCwgJGNvbG9yKSB7XG4gICN7JHBhcmVudH0ge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteCAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBwcm9wZXJ0eS1ibGFja2xpc3Rcbi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogJGJvcmRlci1yYWRpdXMsICRmYWxsYmFjay1ib3JkZXItcmFkaXVzOiBmYWxzZSkge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG4gIEBlbHNlIGlmICRmYWxsYmFjay1ib3JkZXItcmFkaXVzICE9IGZhbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZmFsbGJhY2stYm9yZGVyLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItcmlnaHQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLWxlZnQtcmFkaXVzKCRyYWRpdXMpIHtcbiAgQGlmICRlbmFibGUtcm91bmRlZCB7XG4gICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cbiIsIkBtaXhpbiBib3gtc2hhZG93KCRzaGFkb3cuLi4pIHtcbiAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgJHJlc3VsdDogKCk7XG5cbiAgICBAaWYgKGxlbmd0aCgkc2hhZG93KSA9PSAxKSB7XG4gICAgICAvLyBXZSBjYW4gcGFzcyBgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtgXG4gICAgICAkcmVzdWx0OiAkc2hhZG93O1xuICAgIH0gQGVsc2Uge1xuICAgICAgLy8gRmlsdGVyIHRvIGF2b2lkIGludmFsaWQgcHJvcGVydGllcyBmb3IgZXhhbXBsZSBgYm94LXNoYWRvdzogbm9uZSwgMXB4IDFweCBibGFjaztgXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkc2hhZG93KSB7XG4gICAgICAgIEBpZiBudGgoJHNoYWRvdywgJGkpICE9IFwibm9uZVwiIHtcbiAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRzaGFkb3csICRpKSwgXCJjb21tYVwiKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaWYgKGxlbmd0aCgkcmVzdWx0KSA+IDApIHtcbiAgICAgIGJveC1zaGFkb3c6ICRyZXN1bHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBHcmFkaWVudHNcblxuQG1peGluIGdyYWRpZW50LWJnKCRjb2xvcikge1xuICBAaWYgJGVuYWJsZS1ncmFkaWVudHMge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvciBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCBtaXgoJGJvZHktYmcsICRjb2xvciwgMTUlKSwgJGNvbG9yKSByZXBlYXQteDtcbiAgfSBAZWxzZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vIEhvcml6b250YWwgZ3JhZGllbnQsIGZyb20gbGVmdCB0byByaWdodFxuLy9cbi8vIENyZWF0ZXMgdHdvIGNvbG9yIHN0b3BzLCBzdGFydCBhbmQgZW5kLCBieSBzcGVjaWZ5aW5nIGEgY29sb3IgYW5kIHBvc2l0aW9uIGZvciBlYWNoIGNvbG9yIHN0b3AuXG5AbWl4aW4gZ3JhZGllbnQteCgkc3RhcnQtY29sb3I6ICRncmF5LTcwMCwgJGVuZC1jb2xvcjogJGdyYXktODAwLCAkc3RhcnQtcGVyY2VudDogMCUsICRlbmQtcGVyY2VudDogMTAwJSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciAkc3RhcnQtcGVyY2VudCwgJGVuZC1jb2xvciAkZW5kLXBlcmNlbnQpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5cbi8vIFZlcnRpY2FsIGdyYWRpZW50LCBmcm9tIHRvcCB0byBib3R0b21cbi8vXG4vLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuQG1peGluIGdyYWRpZW50LXkoJHN0YXJ0LWNvbG9yOiAkZ3JheS03MDAsICRlbmQtY29sb3I6ICRncmF5LTgwMCwgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogJGdyYXktNzAwLCAkZW5kLWNvbG9yOiAkZ3JheS04MDAsICRkZWc6IDQ1ZGVnKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgkZGVnLCAkc3RhcnQtY29sb3IsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG59XG5AbWl4aW4gZ3JhZGllbnQteC10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICRzdGFydC1jb2xvciwgJG1pZC1jb2xvciAkY29sb3Itc3RvcCwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ3JhZGllbnQteS10aHJlZS1jb2xvcnMoJHN0YXJ0LWNvbG9yOiAkYmx1ZSwgJG1pZC1jb2xvcjogJHB1cnBsZSwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogJHJlZCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAkZ3JheS03MDAsICRvdXRlci1jb2xvcjogJGdyYXktODAwKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChjaXJjbGUsICRpbm5lci1jb2xvciwgJG91dGVyLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1zdHJpcGVkKCRjb2xvcjogcmdiYSgkd2hpdGUsIC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktYmxhY2tsaXN0XG5AbWl4aW4gdHJhbnNpdGlvbigkdHJhbnNpdGlvbi4uLikge1xuICBAaWYgJGVuYWJsZS10cmFuc2l0aW9ucyB7XG4gICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbikgPT0gMCB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbi1iYXNlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbjogJHRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgQGlmICRlbmFibGUtcHJlZmVycy1yZWR1Y2VkLW1vdGlvbi1tZWRpYS1xdWVyeSB7XG4gICAgQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gY2xlYXJmaXgoKSB7XG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG5AbWl4aW4gbWFrZS1ncmlkLWNvbHVtbnMoJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAvLyBDb21tb24gcHJvcGVydGllcyBmb3IgYWxsIGJyZWFrcG9pbnRzXG4gICVncmlkLWNvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJGd1dHRlciAvIDI7XG4gIH1cblxuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkYnJlYWtwb2ludHMpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cyk7XG5cbiAgICAvLyBBbGxvdyBjb2x1bW5zIHRvIHN0cmV0Y2ggZnVsbCB3aWR0aCBiZWxvdyB0aGVpciBicmVha3BvaW50c1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgLmNvbCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgICAgfVxuICAgIH1cbiAgICAuY29sI3skaW5maXh9LFxuICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICBAZXh0ZW5kICVncmlkLWNvbHVtbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIC8vIFByb3ZpZGUgYmFzaWMgYC5jb2wte2JwfWAgY2xhc3NlcyBmb3IgZXF1YWwtd2lkdGggZmxleGJveCBjb2x1bW5zXG4gICAgICAuY29sI3skaW5maXh9IHtcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuY29sI3skaW5maXh9LWF1dG8ge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgLy8gUmVzZXQgZWFybGllciBncmlkIHRpZXJzXG4gICAgICB9XG5cbiAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvbHVtbnMge1xuICAgICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbCgkaSwgJGNvbHVtbnMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1maXJzdCB7IG9yZGVyOiAtMTsgfVxuXG4gICAgICAub3JkZXIjeyRpbmZpeH0tbGFzdCB7IG9yZGVyOiAkY29sdW1ucyArIDE7IH1cblxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5vcmRlciN7JGluZml4fS0jeyRpfSB7IG9yZGVyOiAkaTsgfVxuICAgICAgfVxuXG4gICAgICAvLyBgJGNvbHVtbnMgLSAxYCBiZWNhdXNlIG9mZnNldHRpbmcgYnkgdGhlIHdpZHRoIG9mIGFuIGVudGlyZSByb3cgaXNuJ3QgcG9zc2libGVcbiAgICAgIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggKCRjb2x1bW5zIC0gMSkge1xuICAgICAgICBAaWYgbm90ICgkaW5maXggPT0gXCJcIiBhbmQgJGkgPT0gMCkgeyAvLyBBdm9pZCBlbWl0dGluZyB1c2VsZXNzIC5vZmZzZXQtMFxuICAgICAgICAgIC5vZmZzZXQjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWFrZS1jb2wtb2Zmc2V0KCRpLCAkY29sdW1ucyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gR3JpZCBzeXN0ZW1cbi8vXG4vLyBHZW5lcmF0ZSBzZW1hbnRpYyBncmlkIGNvbHVtbnMgd2l0aCB0aGVzZSBtaXhpbnMuXG5cbkBtaXhpbiBtYWtlLWNvbnRhaW5lcigkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXIgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIgLyAyO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3V0dGVyIC8gMjtcbiAgbWFyZ2luLWxlZnQ6IC0kZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sLXJlYWR5KCRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGJlY29taW5nIHRvbyBuYXJyb3cgd2hlbiBhdCBzbWFsbGVyIGdyaWQgdGllcnMgYnlcbiAgLy8gYWx3YXlzIHNldHRpbmcgYHdpZHRoOiAxMDAlO2AuIFRoaXMgd29ya3MgYmVjYXVzZSB3ZSB1c2UgYGZsZXhgIHZhbHVlc1xuICAvLyBsYXRlciBvbiB0byBvdmVycmlkZSB0aGlzIGluaXRpYWwgd2lkdGguXG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyIC8gMjtcbn1cblxuQG1peGluIG1ha2UtY29sKCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBmbGV4OiAwIDAgcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbiAgLy8gQWRkIGEgYG1heC13aWR0aGAgdG8gZW5zdXJlIGNvbnRlbnQgd2l0aGluIGVhY2ggY29sdW1uIGRvZXMgbm90IGJsb3cgb3V0XG4gIC8vIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFMTArIGFuZCBGaXJlZm94LiBDaHJvbWUgYW5kIFNhZmFyaVxuICAvLyBkbyBub3QgYXBwZWFyIHRvIHJlcXVpcmUgdGhpcy5cbiAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKCRzaXplIC8gJGNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtb2Zmc2V0KCRzaXplLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICAkbnVtOiAkc2l6ZSAvICRjb2x1bW5zO1xuICBtYXJnaW4tbGVmdDogaWYoJG51bSA9PSAwLCAwLCBwZXJjZW50YWdlKCRudW0pKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AbWl4aW4gZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gIEBpbmNsdWRlIGRlcHJlY2F0ZShcIlRoZSBgZmxvYXQtbGVmdGAgbWl4aW5cIiwgXCJ2NC4zLjBcIiwgXCJ2NVwiKTtcbn1cbkBtaXhpbiBmbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZsb2F0LXJpZ2h0YCBtaXhpblwiLCBcInY0LjMuMFwiLCBcInY1XCIpO1xufVxuQG1peGluIGZsb2F0LW5vbmUge1xuICBmbG9hdDogbm9uZSAhaW1wb3J0YW50O1xuICBAaW5jbHVkZSBkZXByZWNhdGUoXCJUaGUgYGZsb2F0LW5vbmVgIG1peGluXCIsIFwidjQuMy4wXCIsIFwidjVcIik7XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQ2tFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXVERTtBQ3pIRjtrRUFDa0U7QUZLbEU7a0VBQ2tFO0FBQ2xFLEFBQUEsSUFBSSxDQUFDO0VBQ0gsU0FBUyxFQUFFLElBQUksR0FDaEI7O0FBQ0QsQUFBQSxJQUFJO0FBQ0osSUFBSTtBQUNKLENBQUM7QUFDRCxVQUFVO0FBQ1YsUUFBUSxDQUFDO0VBQ1AsV0FBVyxFQUFFLGdCQUFnQixHQUM5Qjs7QUFDRCxBQUFBLElBQUksQUFBQSw2QkFBNkIsQ0FBQztFQVloQyxLQUFLLEVBSlcseUJBQXlCO0VBcUZ6Qyx3QkFBd0I7RUFJeEIseUJBQXlCO0VBS3pCLHNCQUFzQjtFQVF0Qix3QkFBd0I7RUFJeEIseUJBQXlCLEVBMi9CMUI7RUE3bUNELEFBY0UsSUFkRSxBQUFBLDZCQUE2QixDQWMvQixlQUFlLENBQUM7SUFDZCxLQUFLLEVBUFMseUJBQXlCLEdBUXhD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 */
