@charset "UTF-8";
/*** Common SAAS FILES ***/
/*** App color variable ***/
/*** Font weight ***/
/*** Font Family  ***/
/*** Font-size as h1-h6 headings ***/
/*** Background properties  ***/
[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: never;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-royal-truck:before {
  content: "\e912"; }

.icon-royal-delete:before {
  content: "\e915"; }

.icon-royal-filter:before {
  content: "\e91e"; }

.icon-royal-minus:before {
  content: "\e91c"; }

.icon-royal-plus:before {
  content: "\e91d"; }

.icon-royal-tea-pot:before {
  content: "\e913"; }

.icon-royal-tea-leaves:before {
  content: "\e914"; }

.icon-royal-temperature:before {
  content: "\e916"; }

.icon-royal-western:before {
  content: "\e917"; }

.icon-royal-stopwatch:before {
  content: "\e918"; }

.icon-royal-availability:before {
  content: "\e919"; }

.icon-royal-position:before {
  content: "\e91a"; }

.icon-royal-ingredients:before {
  content: "\e91b"; }

.icon-royal-star:before {
  content: "\e911";
  color: #4b4b4b; }

.icon-royal-harvest:before {
  content: "\e90b"; }

.icon-royal-beans:before {
  content: "\e90c"; }

.icon-royal-plant:before {
  content: "\e90d"; }

.icon-royal-elevation:before {
  content: "\e90e"; }

.icon-royal-producer:before {
  content: "\e90f"; }

.icon-royal-location:before {
  content: "\e910"; }

.icon-royal-lock:before {
  content: "\e90a"; }

.icon-royal-close:before {
  content: "\e908"; }

.icon-royal-menu:before {
  content: "\e909"; }

.icon-royal-sample-box:before {
  content: "\e907"; }

.icon-royal-arrow-dash:before {
  content: "\e906"; }

.icon-royal-Right:before {
  content: "\e905"; }

.icon-royal-Instagram:before {
  content: "\e904"; }

.icon-royal-user:before {
  content: "\e901"; }

.icon-royal-cart:before {
  content: "\e902"; }

.icon-royal-Search:before {
  content: "\e903";
  color: #4b4b4b;
  font-size: 20px; }

.icon-royal-test:before {
  content: "\e900"; }

/*** Common Layout  ***/
/*** Default Style Reset ***/
*,
*::before,
*::after {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box; }

body {
  margin: 0;
  padding: 0;
  font-family: "Europa", "Open Sans", Helvetica, Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  line-height: 24px;
  color: #0A1D2E;
  font-smooth: auto;
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto; }
  @media only screen and (max-width: 1400px) {
    body {
      font-size: 14px;
      line-height: 22px; } }

article,
aside,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block; }

img,
a,
input,
nav,
textarea,
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  margin: 0; }

figure {
  margin: 0;
  display: inherit; }

button {
  border: none;
  background: none;
  cursor: pointer;
  outline: none !important; }

input:focus,
select:focus {
  outline: 0;
  -ms-box-shadow: none;
  -o-box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none; }

ul,
ol,
li {
  padding: 0;
  margin: 0;
  list-style: none; }

a {
  text-decoration: none;
  outline: none;
  color: #0A1D2E;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease; }

img {
  display: inline-block;
  max-width: 100%;
  width: auto; }

blockquote,
figure,
address {
  margin: 0;
  padding: 0;
  font-style: normal; }

.templates-wrapper {
  overflow: hidden;
  width: 100%; }

main {
  float: left;
  padding: 0px;
  width: 100%;
  min-height: 400px;
  padding-top: 81px;
  background: url(../../images/footer-bg.svg) bottom left repeat-x transparent; }
  @media only screen and (max-width: 1400px) {
    main {
      padding-top: 69px; } }
  @media only screen and (max-width: 999px) {
    main {
      padding-top: 52px; } }

.container {
  max-width: 1540px;
  width: 100%;
  padding: 0 22.5px;
  margin: 0 auto;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: column; }
  @media only screen and (max-width: 1400px) {
    .container {
      max-width: 1274px; } }
  @media only screen and (max-width: 999px) {
    .container {
      max-width: 968px; } }
  @media only screen and (max-width: 767px) {
    .container {
      max-width: 720px; } }
  @media only screen and (max-width: 575px) {
    .container {
      max-width: 540px; } }

section,
.section {
  float: left;
  width: 100%;
  padding: 0; }

.divImg {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover; }

p {
  margin-bottom: 30px; }
  @media only screen and (max-width: 1400px) {
    p {
      margin-bottom: 20px; } }
  @media only screen and (max-width: 999px) {
    p {
      margin-bottom: 15px; } }

/*** Heading ***/
h1,
.h1 {
  font-size: 48px;
  font-weight: 700;
  line-height: 57.6px;
  margin-bottom: 30px; }
  @media only screen and (max-width: 1400px) {
    h1,
    .h1 {
      font-size: 40px;
      line-height: 47.6px; } }
  @media only screen and (max-width: 1199px) {
    h1,
    .h1 {
      font-size: 36px;
      line-height: 40.6px; } }
  @media only screen and (max-width: 1400px) {
    h1,
    .h1 {
      margin-bottom: 20px; } }
  @media only screen and (max-width: 999px) {
    h1,
    .h1 {
      margin-bottom: 15px; } }

h2,
.h2 {
  font-size: 36px;
  line-height: 43.2px;
  font-weight: 700;
  margin-bottom: 30px; }
  @media only screen and (max-width: 1400px) {
    h2,
    .h2 {
      font-size: 32px;
      line-height: 36.2px; } }
  @media only screen and (max-width: 1199px) {
    h2,
    .h2 {
      font-size: 28px;
      line-height: 32.2px; } }
  @media only screen and (max-width: 1400px) {
    h2,
    .h2 {
      margin-bottom: 20px; } }
  @media only screen and (max-width: 999px) {
    h2,
    .h2 {
      margin-bottom: 15px; } }

h3,
.h3 {
  font-size: 24px;
  line-height: 29px;
  font-weight: 700;
  margin-bottom: 30px; }
  @media only screen and (max-width: 1400px) {
    h3,
    .h3 {
      font-size: 22px;
      line-height: 26px; } }
  @media only screen and (max-width: 1199px) {
    h3,
    .h3 {
      font-size: 20px;
      line-height: 22px; } }
  @media only screen and (max-width: 1400px) {
    h3,
    .h3 {
      margin-bottom: 20px; } }
  @media only screen and (max-width: 999px) {
    h3,
    .h3 {
      margin-bottom: 15px; } }

h4,
.h4 {
  font-size: 20px;
  line-height: 30px;
  font-weight: 700;
  margin-bottom: 30px; }
  @media only screen and (max-width: 1400px) {
    h4,
    .h4 {
      font-size: 18px;
      line-height: 24px; } }
  @media only screen and (max-width: 1400px) {
    h4,
    .h4 {
      margin-bottom: 20px; } }
  @media only screen and (max-width: 999px) {
    h4,
    .h4 {
      margin-bottom: 15px; } }

h5,
.h5 {
  font-size: 18px;
  line-height: 27px; }
  @media only screen and (max-width: 1400px) {
    h5,
    .h5 {
      font-size: 16px;
      line-height: 24px; } }

h6,
.h6 {
  font-size: 14px;
  line-height: 21px;
  font-weight: bold; }

/*** Listing ***/
ul {
  margin: 0px 0px 30px;
  padding: 0; }
  ul li {
    list-style: none;
    font-family: "Europa", "Open Sans", Helvetica, Arial, sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 16px;
    line-height: 24px;
    color: #0A1D2E;
    margin: 0px 0px 15px;
    padding: 0px 0px 0px 15px;
    position: relative; }
    @media only screen and (max-width: 1400px) {
      ul li {
        font-size: 14px;
        line-height: 22px; } }
    ul li:before {
      content: "";
      width: 6px;
      height: 6px;
      position: absolute;
      left: 0px;
      top: 8px;
      background: #0A1D2E;
      -webkit-border-radius: 100%;
      -moz-border-radius: 100%;
      -o-border-radius: 100%;
      border-radius: 100%; }

ul.list-unstyled li {
  margin: 0px;
  padding: 0px; }
  ul.list-unstyled li:before {
    content: normal; }

ol {
  margin: 0px 0px 30px;
  padding: 0px;
  list-style: none; }
  ol li {
    counter-increment: av-counter;
    font-family: "Europa", "Open Sans", Helvetica, Arial, sans-serif;
    font-weight: normal;
    font-style: normal;
    font-size: 16px;
    line-height: 24px;
    color: #0A1D2E;
    margin: 0px 0px 20px;
    padding: 0px 0px 0px 20px;
    position: relative; }
    @media only screen and (max-width: 1400px) {
      ol li {
        font-size: 14px;
        line-height: 22px; } }
    ol li:before {
      content: counter(av-counter) ".";
      counter-increment: none;
      color: #0A1D2E;
      position: absolute;
      left: 0px;
      top: 0px; }

.section.section-trader {
  display: none; }

.cust-form {
  display: flex;
  flex-direction: row;
  margin: 4px;
  width: 100%;
  flex-wrap: wrap; }
  .cust-form .cust-form-label {
    font-weight: bold;
    font-size: .88em;
    white-space: nowrap;
    max-width: 130px;
    width: 20%; }
  .cust-form .cust-form-select {
    width: 80%;
    max-width: 1370px;
    min-width: 500px; }
    @media only screen and (max-width: 900px) {
      .cust-form .cust-form-select {
        min-width: 98% !important;
        width: 100% !important; } }
    .cust-form .cust-form-select select {
      width: 99%; }

.browsing-as {
  position: fixed;
  display: block;
  z-index: 1000;
  width: 100%;
  top: -2px; }
  @media only screen and (max-width: 900px) {
    .browsing-as {
      top: 45px !important; } }
  .browsing-as .browsing-as-innner {
    background-color: rgba(255, 199, 58, 0.31);
    border: 1px solid lightyellow;
    margin: auto;
    color: white;
    font-weight: normal;
    font-size: 1.35em !important;
    text-align: center;
    padding: 1px;
    left: 0;
    width: 100%;
    max-width: 700px;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
    text-overflow: none;
    overflow: hidden;
    text-wrap: none;
    white-space: nowrap; }
    @media only screen and (max-width: 900px) {
      .browsing-as .browsing-as-innner {
        background-color: #071c2f !important;
        border: 0px none transparent !important;
        margin: auto;
        width: 100% !important;
        max-width: 100% !important;
        text-align: center;
        border-bottom-right-radius: 0px;
        border-bottom-left-radius: 0px;
        font-size: .9em; } }

@media only screen and (max-width: 900px) {
  .d-none-mobile {
    display: none; } }

.am-fs-sb__step-heading {
  color: #ffffff !important; }

.farm-description {
  width: 100%;
  max-height: 635px;
  overflow-x: hidden;
  overflow-y: auto; }

.coupon {
  display: none; }

.woocommerce-form-coupon-toggle {
  display: none; }

.offering-flavor-note {
  float: left !important;
  padding: 4px !important;
  text-align: center !important;
  font-size: 10px !important;
  margin-top: -3px !important;
  line-height: 10px !important; }

.login h1 a {
  background-image: url("/wp-content/themes/royal-ny/img/logos/rny_logo_Parent.svg");
  background-size: 144px;
  background-position: center top;
  background-repeat: no-repeat;
  color: #3c434a;
  height: 110px;
  font-size: 20px;
  font-weight: 400;
  line-height: 0;
  margin: 0 auto 0px;
  padding: 0;
  text-decoration: none;
  width: 110px;
  text-indent: -9999px;
  outline: 0;
  overflow: hidden;
  display: block; }

.sbi-header.sbi-header-type-text {
  display: none; }

.sbi_info_wrapper {
  display: none; }

#sb_instagram {
  overflow: hidden !important; }

.rny-brands .figure-card-wrap figure img {
  min-height: 365px !important; }

section.payment-wrapper {
  margin-top: -48px !important; }

.ina-logout-toast-container {
  width: 550px !important;
  max-width: 95vw !important; }

.reserve-collapsable {
  margin-bottom: 20px !important;
  margin-top: -20px !important;
  transition: none !important; }

.results .collapsed-group, .results .coffee-header-collapse {
  margin-bottom: 20px !important; }

/* Basic common reste style */
.cmn-space {
  padding-top: 150px;
  padding-bottom: 40px; }
  @media only screen and (max-width: 1370px) {
    .cmn-space {
      padding: 20px​; } }

/*** Common Classes ***/
.static-link {
  display: inline-block;
  color: #000;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease; }
  .static-link:hover {
    text-decoration: underline; }

.d-flex {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex; }

.hide {
  display: none; }

.d-align-center {
  align-items: center; }

.d-align-end {
  align-items: flex-end; }

.d-align-start {
  align-items: flex-start; }

.d-just-center {
  justify-content: center; }

.d-just-end {
  justify-content: flex-end; }

.d-space-between {
  justify-content: space-between; }

.d-flex-row {
  flex-direction: row; }

.d-flex-col {
  flex-direction: column; }

.d-just-start {
  justify-content: flex-start; }

@media only screen and (max-width: 1024px) {
  .t-flex-column {
    flex-direction: column; } }

@media only screen and (max-width: 1024px) {
  .t-txt-center {
    text-align: center; } }

@media only screen and (max-width: 1024px) {
  .t-align-normal {
    align-items: normal; } }

@media only screen and (max-width: 767px) {
  .m-flex-column {
    flex-direction: column; } }

@media only screen and (max-width: 767px) {
  .m-flex-row {
    flex-direction: row; } }

@media only screen and (max-width: 767px) {
  .m-txt-left {
    text-align: left; } }

@media only screen and (max-width: 767px) {
  .m-flex-wrap {
    flex-wrap: wrap; } }

.txt-center {
  text-align: center; }

.just-left {
  justify-content: left; }

.imgElm {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover; }

.desktop {
  display: none; }
  @media only screen and (min-width: 1025px) {
    .desktop {
      display: block; } }

.mobile,
.mobile-menu-bar {
  display: none; }
  @media only screen and (max-width: 1024px) {
    .mobile,
    .mobile-menu-bar {
      display: block; } }

@media only screen and (max-width: 1024px) {
  .t-align-center {
    align-items: center; } }

@media only screen and (max-width: 767px) {
  .m-txt-center h2 {
    margin: 0 auto; } }

.author-name {
  color: #c0c0c0 !important; }

.m-b-0 {
  margin-bottom: 0 !important; }

@media only screen and (max-width: 767px) {
  .m-relative {
    position: relative; } }

.body_fixed {
  overflow: hidden; }

@media only screen and (max-width: 767px) {
  .m-block {
    display: block !important; } }

.disablelink {
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none; }

.d-none {
  display: none !important; }

/* Custom Helper classes style */
/*** Common All Buttons ****/
.btn {
  padding: 14px 24px;
  min-width: 105px;
  display: inline-block;
  background: transparent;
  color: #c0c0c0;
  font-size: 18px;
  line-height: 1;
  font-weight: bold;
  text-align: center;
  text-transform: capitalize;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  outline: none;
  cursor: pointer;
  -ms-box-shadow: none;
  -o-box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  -ms-appearance: none;
  appearance: none;
  border: 1px solid transparent;
  color: #304E6C;
  text-decoration: none !important;
  position: relative; }
  @media only screen and (max-width: 1400px) {
    .btn {
      padding: 11px 20px;
      font-size: 16px; } }
  @media only screen and (max-width: 999px) {
    .btn {
      padding: 10px 10px;
      font-size: 14px; } }
  .btn em {
    display: inline-block;
    vertical-align: middle;
    margin-right: 12px;
    margin-top: -6px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
    color: #304E6C; }
    .btn em.after {
      margin-left: 12px;
      margin-right: 0; }
  .btn:hover {
    background-color: rgba(48, 78, 108, 0.1); }
  .btn:disabled, .btn.disabled {
    -webkit-opacity: 0.4;
    -moz-opacity: 0.4;
    -o-opacity: 0.4;
    -ms-opacity: 0.4;
    opacity: 0.4;
    pointer-events: none; }
  .btn.btn-small {
    padding: 11px 8px; }
  .btn.btn-secondary {
    background-color: #304E6C;
    color: #fff; }
    .btn.btn-secondary em {
      color: #fff; }
    .btn.btn-secondary:hover {
      background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), #304E6C; }
  .btn.btn-outline {
    border-color: #304E6C; }
    .btn.btn-outline:hover {
      background: rgba(48, 78, 108, 0.1); }
  .btn.btn-gold {
    background-color: #B59038;
    color: #fff; }
    .btn.btn-gold:hover {
      -webkit-opacity: 0.8;
      -moz-opacity: 0.8;
      -o-opacity: 0.8;
      -ms-opacity: 0.8;
      opacity: 0.8; }
  .btn.btn-white {
    background-color: #fff;
    color: #0A1D2E; }
    .btn.btn-white em {
      color: #304E6C; }
    .btn.btn-white:hover {
      background: linear-gradient(0deg, rgba(10, 29, 46, 0.2), rgba(10, 29, 46, 0.2)), #FFFFFF; }
    .btn.btn-white__outline {
      border-color: #fff;
      color: #fff; }
      .btn.btn-white__outline:hover {
        background: rgba(255, 255, 255, 0.1); }
    .btn.btn-white__transparent {
      background-color: transparent;
      color: #fff; }
      .btn.btn-white__transparent:hover {
        background: rgba(255, 255, 255, 0.1); }
  .btn.btn-icon {
    padding: 5px 24px;
    height: 48px;
    line-height: 38px; }
    @media only screen and (max-width: 1400px) {
      .btn.btn-icon {
        padding: 5px 20px;
        height: 44px;
        line-height: 34px; } }
    @media only screen and (max-width: 999px) {
      .btn.btn-icon {
        padding: 5px 10px;
        height: 36px;
        line-height: 26px; } }

.btn[disabled], .btn:disabled {
  -webkit-opacity: 0.4;
  -moz-opacity: 0.4;
  -o-opacity: 0.4;
  -ms-opacity: 0.4;
  opacity: 0.4;
  cursor: not-allowed;
  pointer-events: none;
  background-color: transparent;
  color: #4B4B4B;
  border-color: #4B4B4B; }
  .btn[disabled] em, .btn:disabled em {
    right: 16px; }

.btn.btn-secondary[disabled], .btn.btn-secondary:disabled {
  background-color: #4B4B4B;
  color: #fff; }

.hyper-link {
  color: #c0c0c0;
  font-size: 16px;
  line-height: 20px;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1.25px;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  outline: none;
  cursor: pointer;
  display: block;
  width: 100%; }
  .hyper-link:hover {
    color: #ccc; }
    .hyper-link:hover em {
      color: #ccc; }
  .hyper-link em {
    color: #c0c0c0;
    display: inline-block;
    vertical-align: middle;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease; }
    .hyper-link em.icon-normal-arrow {
      margin: 0px 0px 0 10px;
      float: right; }
    .hyper-link em.left-icon {
      margin: 0px 10px 0 0;
      font-size: 19px;
      float: left; }

/* Theme common button style */
/*** Common Forms Elements ***/
.form-control {
  padding: 11px 20px;
  display: inline-block;
  width: 100%;
  background: #fff;
  font-family: "Europa", "Open Sans", Helvetica, Arial, sans-serif;
  font-weight: normal;
  font-style: normal;
  font-size: 16px;
  line-height: 24px;
  color: #0A1D2E;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  outline: none;
  -ms-box-shadow: none;
  -o-box-shadow: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  -o-border-radius: 0;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  -o-appearance: none;
  -ms-appearance: none;
  appearance: none;
  border: 1px solid #BEBEBE;
  text-decoration: none !important;
  position: relative; }
  @media only screen and (max-width: 1400px) {
    .form-control {
      font-size: 14px;
      line-height: 22px; } }
  @media only screen and (max-width: 1400px) {
    .form-control {
      padding: 8px 20px; } }
  @media only screen and (max-width: 999px) {
    .form-control {
      padding: 6px 15px; } }
  .form-control:hover {
    -ms-box-shadow: 0 0 0 2px #BEBEBE;
    -o-box-shadow: 0 0 0 2px #BEBEBE;
    -webkit-box-shadow: 0 0 0 2px #BEBEBE;
    -moz-box-shadow: 0 0 0 2px #BEBEBE;
    box-shadow: 0 0 0 2px #BEBEBE; }
  .form-control:focus {
    -ms-box-shadow: 0 0 0 2px #BEBEBE;
    -o-box-shadow: 0 0 0 2px #BEBEBE;
    -webkit-box-shadow: 0 0 0 2px #BEBEBE;
    -moz-box-shadow: 0 0 0 2px #BEBEBE;
    box-shadow: 0 0 0 2px #BEBEBE;
    border-color: #BEBEBE; }

.form-control::-webkit-input-placeholder {
  -webkit-opacity: 1;
  -moz-opacity: 1;
  -o-opacity: 1;
  -ms-opacity: 1;
  opacity: 1;
  color: #4B4B4B; }

.form-control::-moz-placeholder {
  -webkit-opacity: 1;
  -moz-opacity: 1;
  -o-opacity: 1;
  -ms-opacity: 1;
  opacity: 1;
  color: #4B4B4B; }

.form-control:-ms-input-placeholder {
  -webkit-opacity: 1;
  -moz-opacity: 1;
  -o-opacity: 1;
  -ms-opacity: 1;
  opacity: 1;
  color: #4B4B4B; }

.form-control:-moz-placeholder {
  -webkit-opacity: 1;
  -moz-opacity: 1;
  -o-opacity: 1;
  -ms-opacity: 1;
  opacity: 1;
  color: #4B4B4B; }

.form-control[disabled], .form-control:disabled {
  -webkit-opacity: 0.5;
  -moz-opacity: 0.5;
  -o-opacity: 0.5;
  -ms-opacity: 0.5;
  opacity: 0.5;
  cursor: not-allowed;
  pointer-events: none; }

textarea {
  height: 180px;
  resize: none; }

/*** Responsive ios input ***/
@media only screen and (max-width: 991px) {
  select,
  textarea,
  input[type="text"],
  input[type="password"],
  input[type="datetime"],
  input[type="datetime-local"],
  input[type="date"],
  input[type="month"],
  input[type="time"],
  input[type="week"],
  input[type="number"],
  input[type="email"],
  input[type="tel"],
  input[type="url"] {
    font-size: 16px !important; } }

/*** Check Box  ***/
.cmn-checkbox {
  display: inline-block;
  position: relative;
  margin-bottom: 16px; }
  .cmn-checkbox:last-child {
    margin-bottom: 0; }
  .cmn-checkbox input {
    width: 0;
    height: 0;
    position: absolute;
    font-size: 0;
    -webkit-opacity: 0;
    -moz-opacity: 0;
    -o-opacity: 0;
    -ms-opacity: 0;
    opacity: 0; }
    .cmn-checkbox input:checked + label::before {
      content: "";
      color: #fff;
      background: url("../../images/icons/royal-checked.svg") no-repeat center #0A1D2E; }
  .cmn-checkbox label {
    display: inline-block;
    padding-left: 40px;
    position: relative;
    cursor: pointer;
    color: #4B4B4B; }
    @media only screen and (max-width: 999px) {
      .cmn-checkbox label {
        padding-left: 30px; } }
    .cmn-checkbox label::before {
      content: "";
      position: absolute;
      left: 3px;
      top: 3px;
      width: 18px;
      height: 18px;
      border: 2px solid #4B4B4B;
      background-color: #fff;
      font-family: 'icomoon' !important;
      speak: never;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      /* Better Font Rendering =========== */
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      color: #fff;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      align-items: center;
      justify-content: center;
      text-indent: 3px;
      font-size: 12px;
      -webkit-border-radius: 2px;
      -moz-border-radius: 2px;
      -o-border-radius: 2px;
      border-radius: 2px; }

.cmn-checkbox input[disabled] + label, .cmn-checkbox input:disabled + label {
  cursor: not-allowed;
  pointer-events: none;
  -webkit-opacity: 0.5;
  -moz-opacity: 0.5;
  -o-opacity: 0.5;
  -ms-opacity: 0.5;
  opacity: 0.5; }

/*** Radio Button  ***/
.cmn-radio {
  display: inline-block;
  position: relative;
  margin-right: 15px; }
  .cmn-radio input {
    width: 0;
    height: 0;
    position: absolute;
    font-size: 0;
    -webkit-opacity: 0;
    -moz-opacity: 0;
    -o-opacity: 0;
    -ms-opacity: 0;
    opacity: 0; }
    .cmn-radio input:checked + label::before {
      background: url(../images/icons/royal-checked.svg) no-repeat center #0A1D2E; }
  .cmn-radio label {
    display: inline-block;
    padding-left: 30px;
    position: relative;
    cursor: pointer; }
    .cmn-radio label::before {
      content: "";
      position: absolute;
      left: 0;
      top: 2px;
      width: 18px;
      height: 18px;
      border: 1px solid #4B4B4B;
      background-color: #fff;
      -webkit-border-radius: 50%;
      -moz-border-radius: 50%;
      -o-border-radius: 50%;
      border-radius: 50%; }

.cmn-radio input[disabled] + label, .cmn-radio input:disabled + label {
  cursor: not-allowed;
  pointer-events: none;
  -webkit-opacity: 0.5;
  -moz-opacity: 0.5;
  -o-opacity: 0.5;
  -ms-opacity: 0.5;
  opacity: 0.5; }

.control-col {
  width: 100%;
  padding: 0 16px;
  flex-direction: column; }
  .control-col.col-2 {
    width: 50%; }
    @media only screen and (max-width: 767px) {
      .control-col.col-2 {
        width: 100%; }
        .control-col.col-2:last-child {
          margin-top: 16px; } }

select.form-control {
  background-image: url("../../images/royal-Down.svg");
  background-repeat: no-repeat;
  background-position: calc(100% - 8px) center;
  padding: 7px 37px 7px 8px;
  font-size: 18px;
  line-height: 27px;
  font-weight: bold;
  color: #304E6C;
  min-width: 110px;
  border: none !important;
  box-shadow: none !important; }

/* Theme common Form Controls Style */
.sr-only-focusable {
  display: none; }

#header-nav {
  float: left;
  width: 100%; }

header {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  width: 100%;
  background-color: #0A1D2E;
  color: #fff;
  padding: 0;
  top: 0;
  left: 0;
  right: 0;
  position: fixed;
  z-index: 99; }
  @media only screen and (max-width: 999px) {
    header {
      padding: 10px 0;
      justify-content: center;
      min-height: 57px; } }
  header > .container {
    flex-direction: row;
    align-items: center;
    justify-content: space-between; }
    header > .container .navbar-logo-full {
      width: auto;
      max-width: 98px;
      float: left;
      margin-right: auto; }
      @media only screen and (max-width: 1400px) {
        header > .container .navbar-logo-full {
          max-width: 80px; } }
      @media only screen and (max-width: 999px) {
        header > .container .navbar-logo-full {
          max-width: 50px;
          position: absolute;
          top: 13px;
          left: 0;
          right: 0;
          margin: auto; } }
      header > .container .navbar-logo-full img {
        width: 100%;
        height: 60px; }
        @media only screen and (max-width: 1400px) {
          header > .container .navbar-logo-full img {
            height: 50px; } }
        @media only screen and (max-width: 999px) {
          header > .container .navbar-logo-full img {
            height: 30px; } }
    @media only screen and (max-width: 999px) {
      header > .container .main-menu-nav {
        display: none; } }
    @media only screen and (min-width: 1000px) {
      header > .container .main-menu-nav {
        display: inline-block !important; } }
    header > .container .main-menu-nav nav {
      display: inline-block;
      width: auto;
      flex-direction: column; }
      header > .container .main-menu-nav nav .header-menu-container {
        width: auto; }
        header > .container .main-menu-nav nav .header-menu-container ul {
          margin: 0;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          width: auto;
          flex-direction: row; }
          header > .container .main-menu-nav nav .header-menu-container ul * {
            -webkit-transition: all 0.4s ease;
            -moz-transition: all 0.4s ease;
            -ms-transition: all 0.4s ease;
            -o-transition: all 0.4s ease;
            transition: all 0.4s ease; }
          header > .container .main-menu-nav nav .header-menu-container ul li {
            margin: 0;
            padding: 0; }
            header > .container .main-menu-nav nav .header-menu-container ul li::before {
              display: none; }
            @media only screen and (min-width: 1000px) {
              header > .container .main-menu-nav nav .header-menu-container ul li:hover > ul.dropdown-menu,
              header > .container .main-menu-nav nav .header-menu-container ul li:hover .custom-ul {
                -webkit-opacity: 1;
                -moz-opacity: 1;
                -o-opacity: 1;
                -ms-opacity: 1;
                opacity: 1;
                pointer-events: auto; } }
            header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu {
              display: -ms-flexbox;
              display: -webkit-flex;
              display: flex; }
              @media only screen and (min-width: 1000px) {
                header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu {
                  width: 240px;
                  position: absolute;
                  left: 0;
                  flex-direction: column;
                  -webkit-opacity: 0;
                  -moz-opacity: 0;
                  -o-opacity: 0;
                  -ms-opacity: 0;
                  opacity: 0;
                  pointer-events: none;
                  background: #0A1D2E;
                  padding: 20px 0;
                  border-top: 1px solid #636E78; } }
              @media only screen and (max-width: 999px) {
                header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu {
                  padding-top: 15px;
                  padding-bottom: 0;
                  -webkit-transition: none;
                  -moz-transition: none;
                  -o-transition: none;
                  transition: none; } }
              header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu li {
                padding: 10px 30px; }
                @media only screen and (max-width: 999px) {
                  header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu li {
                    padding: 0 50px;
                    margin-bottom: 10px; } }
                @media only screen and (max-width: 999px) {
                  header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu li a {
                    color: #fff; } }
                @media only screen and (min-width: 1000px) {
                  header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu li a {
                    color: #E8EAEB;
                    font-size: 16px;
                    display: inline-block; }
                    header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu li a:hover {
                      color: #B59038; } }
            header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul {
              display: -ms-flexbox;
              display: -webkit-flex;
              display: flex;
              width: 100%; }
              @media only screen and (min-width: 1000px) {
                header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul {
                  -webkit-opacity: 0;
                  -moz-opacity: 0;
                  -o-opacity: 0;
                  -ms-opacity: 0;
                  opacity: 0;
                  pointer-events: none;
                  background: #0A1D2E;
                  border-top: 1px solid #636E78;
                  position: absolute;
                  left: 0;
                  right: 0;
                  top: 100%;
                  background-color: #0A1D2E;
                  border-top: 1px solid #636E78;
                  flex-direction: column;
                  max-height: calc(100vh - 107px);
                  overflow-y: auto; } }
              header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level {
                margin: 0 auto;
                flex-direction: row;
                flex-wrap: wrap;
                max-width: 1200px;
                width: 100%;
                padding: 15px 0; }
                @media only screen and (max-width: 1400px) {
                  header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level {
                    padding: 7px 0; } }
                header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li {
                  width: 37.5%;
                  display: -ms-flexbox;
                  display: -webkit-flex;
                  display: flex;
                  flex-direction: column;
                  padding: 15px 30px; }
                  @media only screen and (max-width: 1400px) {
                    header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li {
                      padding: 5px 30px; } }
                  header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li:nth-child(3n) {
                    width: 25%; }
                    header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li:nth-child(3n) > ul.dropdown-menu-third-level > li {
                      width: 100%; }
                  header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > a {
                    color: #B59038;
                    padding: 0;
                    border: none;
                    text-transform: uppercase;
                    font-weight: bold; }
                    header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > a:hover {
                      background-color: transparent; }
                  header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > ul.dropdown-menu-third-level {
                    display: flex;
                    flex-direction: row;
                    flex-wrap: wrap;
                    padding: 0;
                    margin: 0 -15px;
                    border: none; }
                    header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > ul.dropdown-menu-third-level > li {
                      width: 50%;
                      margin-top: 20px;
                      padding: 0 15px; }
                      @media only screen and (max-width: 1400px) {
                        header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > ul.dropdown-menu-third-level > li {
                          margin-top: 10px; } }
                      header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > ul.dropdown-menu-third-level > li > a {
                        padding: 0;
                        color: #E8EAEB; }
                        header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > ul.dropdown-menu-third-level > li > a:hover {
                          color: #B59038; }
                          @media only screen and (max-width: 999px) {
                            header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li > ul.dropdown-menu-third-level > li > a:hover {
                              color: #fff; } }
              header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat {
                width: 100%;
                background-color: #0B1724;
                padding: 30px 0; }
                @media only screen and (max-width: 1400px) {
                  header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat {
                    padding: 15px 0; } }
                header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container {
                  max-width: 1246px; }
                  header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul {
                    flex-wrap: wrap;
                    margin: 0 -15px; }
                    @media only screen and (max-width: 767px) {
                      header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul {
                        flex-direction: column; } }
                    header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li {
                      display: -ms-flexbox;
                      display: -webkit-flex;
                      display: flex;
                      flex-direction: row;
                      width: 33.33%;
                      align-items: center;
                      justify-content: space-between;
                      padding: 0 15px; }
                      @media only screen and (max-width: 767px) {
                        header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li {
                          width: 100%;
                          padding: 5px 15px; } }
                      header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li figure {
                        width: 160px; }
                        @media only screen and (max-width: 1400px) {
                          header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li figure {
                            width: 110px; } }
                        @media only screen and (max-width: 999px) {
                          header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li figure {
                            width: 80px; } }
                      header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li .content {
                        color: #fff;
                        width: calc(100% - 180px); }
                        @media only screen and (max-width: 1400px) {
                          header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li .content {
                            width: calc(100% - 130px); } }
                        @media only screen and (max-width: 999px) {
                          header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li .content {
                            width: calc(100% - 100px); } }
                        header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li .content a {
                          color: #B59038; }
                        header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .cat .container ul li .content p {
                          margin: 0; }
        header > .container .main-menu-nav nav .header-menu-container > ul > li {
          margin: 0 15px; }
          header > .container .main-menu-nav nav .header-menu-container > ul > li:first-child {
            position: static; }
            header > .container .main-menu-nav nav .header-menu-container > ul > li:first-child > a {
              position: relative; }
          @media only screen and (min-width: 1000px) {
            header > .container .main-menu-nav nav .header-menu-container > ul > li:hover > a::after {
              width: 100%;
              left: 0;
              right: auto; } }
          header > .container .main-menu-nav nav .header-menu-container > ul > li > a {
            color: #fff;
            font-size: 18px;
            line-height: 27px;
            font-weight: bold;
            padding: 40px 15px;
            display: inline-block;
            -webkit-transition: all 0.4s ease;
            -moz-transition: all 0.4s ease;
            -ms-transition: all 0.4s ease;
            -o-transition: all 0.4s ease;
            transition: all 0.4s ease; }
            @media only screen and (max-width: 1400px) {
              header > .container .main-menu-nav nav .header-menu-container > ul > li > a {
                font-size: 16px;
                line-height: 24px; } }
            @media only screen and (max-width: 1400px) {
              header > .container .main-menu-nav nav .header-menu-container > ul > li > a {
                padding: 25px 15px; } }
            @media only screen and (min-width: 1000px) {
              header > .container .main-menu-nav nav .header-menu-container > ul > li > a::after {
                content: "";
                height: 5px;
                background-color: #B59038;
                width: 0;
                position: absolute;
                right: 0;
                bottom: 0;
                margin: 0 auto;
                -webkit-transition: all 0.4s ease;
                -moz-transition: all 0.4s ease;
                -ms-transition: all 0.4s ease;
                -o-transition: all 0.4s ease;
                transition: all 0.4s ease; } }
    header > .container .header-buttons {
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin-left: auto;
      float: right; }
      header > .container .header-buttons > .header-button {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        align-items: center;
        margin-left: 40px;
        position: relative; }
        @media only screen and (max-width: 1400px) {
          header > .container .header-buttons > .header-button {
            margin-left: 18px; } }
        @media only screen and (max-width: 359px) {
          header > .container .header-buttons > .header-button {
            margin-left: 12px; } }
        @media only screen and (min-width: 1000px) {
          header > .container .header-buttons > .header-button::after {
            content: "";
            position: absolute;
            left: -12px;
            right: -12px;
            top: -43px;
            bottom: -43px;
            z-index: 0;
            cursor: pointer; } }
        @media only screen and (min-width: 1000px) {
          header > .container .header-buttons > .header-button:hover .header-dropdown {
            -webkit-opacity: 1;
            -moz-opacity: 1;
            -o-opacity: 1;
            -ms-opacity: 1;
            opacity: 1;
            pointer-events: auto;
            display: block !important; } }
        header > .container .header-buttons > .header-button .cart-count {
          font-family: 'Europa', sans-serif;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          align-items: center;
          justify-content: center;
          border-radius: 50%;
          background-color: #B59038;
          color: #0A1D2E;
          height: 20px;
          width: 20px;
          position: absolute;
          top: -10px;
          right: -10px;
          font-size: 14px;
          font-weight: bold; }
        header > .container .header-buttons > .header-button.sample-box .cart-count {
          top: -14px; }
        header > .container .header-buttons > .header-button > a,
        header > .container .header-buttons > .header-button > span {
          color: #fff;
          font-size: 24px;
          -webkit-transition: all 0.4s ease;
          -moz-transition: all 0.4s ease;
          -ms-transition: all 0.4s ease;
          -o-transition: all 0.4s ease;
          transition: all 0.4s ease;
          position: relative;
          z-index: 1; }
          @media only screen and (max-width: 1400px) {
            header > .container .header-buttons > .header-button > a,
            header > .container .header-buttons > .header-button > span {
              font-size: 20px; } }
          header > .container .header-buttons > .header-button > a.icon-royal-user, header > .container .header-buttons > .header-button > a.icon-royal-sample-box,
          header > .container .header-buttons > .header-button > span.icon-royal-user,
          header > .container .header-buttons > .header-button > span.icon-royal-sample-box {
            font-size: 20px; }
            @media only screen and (max-width: 1400px) {
              header > .container .header-buttons > .header-button > a.icon-royal-user, header > .container .header-buttons > .header-button > a.icon-royal-sample-box,
              header > .container .header-buttons > .header-button > span.icon-royal-user,
              header > .container .header-buttons > .header-button > span.icon-royal-sample-box {
                font-size: 16px; } }
          header > .container .header-buttons > .header-button > a:hover,
          header > .container .header-buttons > .header-button > span:hover {
            color: #B59038; }
        header > .container .header-buttons > .header-button:first-child {
          margin-left: 0; }
        header > .container .header-buttons > .header-button.site-admin {
          cursor: pointer; }

.header-dropdown {
  text-align: right;
  display: none;
  top: 63px;
  width: 200px;
  background: #0A1D2E;
  border-top: 1px solid #636E78;
  position: absolute;
  right: -50px;
  background-color: #0A1D2E;
  border-top: 1px solid #636E78;
  padding: 15px 0; }
  @media only screen and (max-width: 1400px) {
    .header-dropdown {
      top: 45px; } }
  @media only screen and (max-width: 999px) {
    .header-dropdown {
      top: 36px; } }
  @media only screen and (min-width: 1000px) {
    .header-dropdown {
      -webkit-opacity: 0;
      -moz-opacity: 0;
      -o-opacity: 0;
      -ms-opacity: 0;
      opacity: 0;
      pointer-events: none;
      -webkit-transition: all 0.4s ease;
      -moz-transition: all 0.4s ease;
      -ms-transition: all 0.4s ease;
      -o-transition: all 0.4s ease;
      transition: all 0.4s ease; } }
  .header-dropdown ul {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin: 0;
    padding: 0; }
    .header-dropdown ul li {
      padding: 10px 30px;
      width: 100%; }
      .header-dropdown ul li a {
        color: #fff;
        display: block;
        -webkit-transition: all 0.4s ease;
        -moz-transition: all 0.4s ease;
        -ms-transition: all 0.4s ease;
        -o-transition: all 0.4s ease;
        transition: all 0.4s ease; }
        .header-dropdown ul li a:hover {
          color: #B59038; }

.mobile-menu {
  display: none; }
  @media only screen and (max-width: 999px) {
    .mobile-menu {
      display: block;
      color: #fff;
      font-size: 0;
      scale: 1.6; }
      .mobile-menu::before {
        font-size: 24px; } }

@media only screen and (max-width: 999px) {
  header > .container .main-menu-nav {
    display: none;
    position: fixed;
    left: 0;
    right: 0;
    top: 85px;
    background-color: #0B1724;
    height: calc(100vh - 85px);
    overflow-y: auto; }
    header > .container .main-menu-nav nav {
      display: flex;
      width: 100%;
      flex-direction: column; }
      header > .container .main-menu-nav nav .header-menu-container {
        width: 100%;
        display: flex;
        flex-direction: column; }
        header > .container .main-menu-nav nav .header-menu-container > ul {
          flex-direction: column; }
          header > .container .main-menu-nav nav .header-menu-container > ul > li {
            margin: 0; }
            header > .container .main-menu-nav nav .header-menu-container > ul > li.menu-item-has-children > a::after {
              content: "+";
              position: absolute;
              right: 30px;
              font-size: 30px;
              font-weight: 500;
              top: 10px; }
            header > .container .main-menu-nav nav .header-menu-container > ul > li > a {
              padding: 15px 40px 15px 25px;
              border-top: 1px solid #636E78;
              width: 100%; }
        header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul,
        header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu {
          display: none; }
        header > .container .main-menu-nav nav .header-menu-container ul li.menu-expand > a::after {
          content: "-"; }
        header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level {
          border-bottom: 1px solid #636E78; }
          header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li {
            width: 100% !important;
            padding: 5px 50px; }
  header.header-expand .mobile-menu.icon-royal-menu::before {
    content: "\e908"; } }

@media only screen and (max-width: 767px) {
  header > .container .main-menu-nav nav .header-menu-container ul li .custom-ul .dropdown-menu-second-level > li {
    width: 100% !important;
    padding: 5px 25px; }
  header > .container .main-menu-nav nav .header-menu-container ul li .dropdown-menu li {
    padding: 0 25px; }
  header > .container .main-menu-nav nav .header-menu-container > ul > li.menu-item-has-children > a::after {
    right: 15px; } }

.sampleRequestContainer {
  position: absolute;
  z-index: 998;
  top: 105px;
  width: 550px;
  max-width: 97vw;
  display: none; }
  .sampleRequestContainer .sampleRequestBody {
    width: 100%;
    max-height: 515px;
    min-height: 515px;
    overflow-y: auto;
    overflow-x: hidden;
    -webkit-box-shadow: 4px 4px 5px rgba(35, 35, 35, 0.2);
    box-shadow: 4px 4px 5px rgba(35, 35, 35, 0.2);
    background: #fff;
    margin-top: 8px;
    padding: 15px;
    border: 1px solid #efefef;
    color: #0A1D2E; }
    @media only screen and (max-width: 767px) {
      .sampleRequestContainer .sampleRequestBody {
        padding-top: 50px;
        margin-top: 0; } }
    .sampleRequestContainer .sampleRequestBody table thead tr th {
      padding-bottom: 10px;
      border-bottom: 4px solid #B59038;
      font-size: 24px;
      line-height: 29px;
      font-weight: 700;
      margin-bottom: 30px; }
    .sampleRequestContainer .sampleRequestBody table tbody tr td .emptySampleMessage {
      text-align: center;
      padding-top: 15px; }
    .sampleRequestContainer .sampleRequestBody .windowCloseText {
      font-size: 0; }
      .sampleRequestContainer .sampleRequestBody .windowCloseText .dashicons-no {
        color: #fff !important;
        background-color: #B59038;
        width: 30px;
        height: 30px;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        position: absolute;
        top: 0px;
        right: -10px;
        z-index: 10; }
        @media only screen and (max-width: 767px) {
          .sampleRequestContainer .sampleRequestBody .windowCloseText .dashicons-no {
            top: 20px;
            right: 15px;
            border-radius: 0; } }
    .sampleRequestContainer .sampleRequestBody .sampleRequestOptions-header {
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      gap: 20px;
      justify-content: center;
      flex-wrap: wrap; }
      .sampleRequestContainer .sampleRequestBody .sampleRequestOptions-header .btn {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        align-items: center; }
  .sampleRequestContainer .arrow-up {
    width: 0;
    height: 0;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    border-bottom: 10px solid #fefefe;
    right: 39%;
    position: absolute;
    z-index: 99998;
    margin-bottom: 1px; }
    @media only screen and (max-width: 767px) {
      .sampleRequestContainer .arrow-up {
        display: none; } }

#globalNoticeHeader {
  position: fixed;
  top: 0;
  width: 100%;
  height: 45px;
  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;
  background: #b79220;
  color: #fff;
  overflow: hidden; }

.login_overlay {
  height: 100%;
  width: 100%;
  background-color: #f6f6f6;
  opacity: .9;
  position: fixed;
  z-index: 998; }

#modal-login {
  display: none;
  background-color: #fff;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  height: auto;
  width: 25rem;
  max-width: 100%;
  padding: 3rem 2rem;
  -webkit-box-shadow: 2px 1px 4px rgba(0, 0, 0, 0.15);
  box-shadow: 2px 1px 4px rgba(0, 0, 0, 0.15); }
  @media only screen and (max-width: 575px) {
    #modal-login {
      max-width: 90%; } }

.modal {
  z-index: 1050;
  overflow: hidden;
  outline: 0;
  margin: 0 auto; }
  .modal .position-relative {
    position: relative; }
    .modal .position-relative .close-modal {
      display: block;
      width: 25px;
      height: 25px;
      background-size: cover;
      background-repeat: no-repeat;
      margin-bottom: 0;
      position: absolute;
      right: 0;
      top: -1.5rem; }
  .modal .lost_password a {
    font-size: 20px;
    line-height: 30px;
    font-weight: 700;
    color: #304E6C; }
    @media only screen and (max-width: 1400px) {
      .modal .lost_password a {
        font-size: 18px;
        line-height: 24px; } }
    .modal .lost_password a:hover {
      color: #000;
      text-decoration: underline; }
  .modal .form-group {
    position: relative;
    margin-bottom: 30px;
    list-style: none; }
    .modal .form-group label {
      font-size: 17px;
      color: #4B4B4B;
      left: calc(0.5rem + 8px);
      max-width: 100%;
      overflow-x: hidden;
      padding: 0;
      position: absolute;
      right: calc(32px + 0.5rem);
      text-overflow: ellipsis;
      top: 4px;
      white-space: nowrap;
      z-index: 1; }
    .modal .form-group .form-control {
      border: 1px solid #304E6C;
      min-height: 4.1rem;
      height: calc(2.25rem + 2px);
      padding: 2rem 0.5rem 0.5rem 1.1rem;
      font-size: 1rem;
      font-weight: 400;
      line-height: 1.5;
      background-clip: padding-box;
      overflow: visible; }
  .modal .form-check {
    display: flex;
    justify-content: start;
    align-items: center;
    margin-bottom: 30px; }
    .modal .form-check input#rememberme {
      width: 18px;
      height: 18px;
      margin-right: 10px;
      vertical-align: text-bottom;
      padding: 0;
      position: absolute;
      border: 0;
      opacity: 0;
      z-index: 99999;
      cursor: pointer; }
      .modal .form-check input#rememberme:checked + label::before {
        content: "";
        color: #fff;
        background: url("../../images/icons/royal-checked.svg") no-repeat center #0A1D2E; }
    .modal .form-check label.inline {
      padding-left: 36px;
      position: relative; }
      .modal .form-check label.inline::before {
        content: "";
        position: absolute;
        left: 3px;
        top: 3px;
        width: 18px;
        height: 18px;
        border: 2px solid #4B4B4B;
        background-color: #fff;
        font-family: 'icomoon' !important;
        speak: never;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        /* Better Font Rendering =========== */
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        color: #fff;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        align-items: center;
        justify-content: center;
        text-indent: 3px;
        font-size: 12px;
        -webkit-border-radius: 2px;
        -moz-border-radius: 2px;
        -o-border-radius: 2px;
        border-radius: 2px; }
  .modal .form-submit-blue {
    background-color: #304E6C;
    color: #fff;
    padding: 8px 20px;
    font-size: 16px;
    line-height: 24px;
    font-weight: bold; }
    .modal .form-submit-blue:hover {
      background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), #304E6C; }

.sidebar-wrap.active-sidebar .sidebar-inner-wrap, .sidebar-wrap.active-shopping-cart .sidebar-inner-wrap {
  -o-transform: translateX(0);
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  -moz-transform: translateX(0);
  transform: translateX(0); }

.sidebar-wrap.active-sidebar .sidebar-overlay, .sidebar-wrap.active-shopping-cart .sidebar-overlay {
  opacity: 1;
  visibility: visible;
  height: 100vh;
  max-height: 100vh;
  padding: 0px;
  margin: 0px; }

@media only screen and (max-width: 767px) {
  .sidebar-wrap.shopping-cart-sidebar .sidebar-body {
    height: calc(100vh - 213px); } }

.sidebar-wrap.shopping-cart-sidebar .shipping-information {
  background-color: #EFF7FC;
  margin: 24px;
  padding: 16px;
  color: #4B4B4B; }
  @media only screen and (max-width: 767px) {
    .sidebar-wrap.shopping-cart-sidebar .shipping-information {
      margin: 16px 20px;
      padding: 10px; } }
  .sidebar-wrap.shopping-cart-sidebar .shipping-information .icon-royal-truck {
    margin-right: 12px; }

.sidebar-wrap.shopping-cart-sidebar .shipping-product-item {
  padding: 20px 24px;
  border-bottom: 1px solid #E8EAEB; }
  @media only screen and (max-width: 767px) {
    .sidebar-wrap.shopping-cart-sidebar .shipping-product-item {
      padding: 16px 20px; } }
  .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top {
    margin-bottom: 16px; }
    .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-left {
      width: 100%;
      max-width: 80px;
      line-height: 0;
      margin-right: 16px; }
      .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-left img {
        width: 80px;
        height: 80px;
        object-fit: cover; }
    .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-right {
      padding-right: 40px;
      position: relative;
      width: 100%; }
      @media only screen and (max-width: 767px) {
        .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-right {
          padding-right: 25px; } }
      .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-right .shipping-product-title {
        font-weight: bold;
        margin-bottom: 4px;
        color: #304E6C; }
      .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-right .remove-product {
        position: absolute;
        top: 0;
        right: 0;
        font-size: 18px;
        line-height: 0;
        color: #CF1717;
        width: 24px;
        height: 24px; }
        @media only screen and (max-width: 767px) {
          .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-right .remove-product {
            width: 20px;
            height: 20px;
            font-size: 16px; } }
      .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top .shipping-product-header-right .shipping-rny {
        font-weight: 400;
        color: #4B4B4B; }
  @media only screen and (max-width: 767px) {
    .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-bottom {
      align-items: flex-start; } }
  .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .counter {
    max-width: 100px;
    margin-right: 20px; }
  .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .counter-bar {
    align-items: center;
    margin-right: 15px; }
    @media only screen and (max-width: 767px) {
      .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .counter-bar {
        margin-right: 0;
        margin-bottom: 15px; } }
    .sidebar-wrap.shopping-cart-sidebar .shipping-product-item .counter-bar .price-bar p span {
      font-weight: normal; }

@media only screen and (max-width: 767px) {
  .sidebar-wrap.shopping-cart-sidebar .sidebar-footer .cart-total-wrap {
    margin-bottom: 15px;
    margin-right: 0; } }

.sidebar-wrap .sidebar-inner-wrap {
  position: fixed;
  top: 0px;
  background-color: #fff;
  z-index: 999999;
  height: 100%;
  right: 0;
  width: 100%;
  max-width: 540px;
  -o-transform: translateX(100%);
  -webkit-transform: translateX(100%);
  -ms-transform: translateX(100%);
  -moz-transform: translateX(100%);
  transform: translateX(100%);
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease; }

.sidebar-wrap .sidebar-overlay {
  position: fixed;
  background-color: rgba(0, 0, 0, 0.4);
  left: 0;
  width: 100%;
  height: 100%;
  right: 0;
  bottom: 0;
  z-index: 99;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
  transition: all 0.5s ease;
  opacity: 0;
  visibility: hidden; }

.sidebar-wrap .sidebar-header {
  background-color: #0A1D2E;
  color: #fff;
  padding: 16px 24px; }
  @media only screen and (max-width: 767px) {
    .sidebar-wrap .sidebar-header {
      padding: 16px 20px; } }
  .sidebar-wrap .sidebar-header h4 {
    margin-bottom: 0; }
    .sidebar-wrap .sidebar-header h4 .icon-royal-cart {
      margin-right: 15px; }
  .sidebar-wrap .sidebar-header .sidebar-close {
    width: 28px;
    height: 28px;
    margin-left: 15px; }
    .sidebar-wrap .sidebar-header .sidebar-close .icon-royal-close {
      color: #fff;
      font-size: 28px;
      font-weight: bold; }

.sidebar-wrap .sidebar-body {
  height: calc(100vh - 140px);
  overflow-y: auto;
  /* Firefox */
  /* Chrome, Edge, and Safari */ }
  .sidebar-wrap .sidebar-body {
    scrollbar-width: auto;
    scrollbar-color: #0A1D2E #fff; }
  .sidebar-wrap .sidebar-body::-webkit-scrollbar {
    width: 6px; }
  .sidebar-wrap .sidebar-body::-webkit-scrollbar-track {
    background: transparent; }
  .sidebar-wrap .sidebar-body::-webkit-scrollbar-thumb {
    background-color: #AFAFAF;
    border-radius: 10px; }
  @media only screen and (max-width: 1400px) {
    .sidebar-wrap .sidebar-body {
      height: calc(100vh - 179px); } }
  @media only screen and (max-width: 999px) {
    .sidebar-wrap .sidebar-body {
      height: calc(100vh - 175px); } }
  .sidebar-wrap .sidebar-body .counter {
    border: 1px solid #BEBEBE;
    background: #fff;
    padding: 8px 12px;
    max-width: 120px;
    width: 100%;
    margin-right: 24px;
    align-items: center;
    height: 40px; }
    .sidebar-wrap .sidebar-body .counter input[type="text"] {
      width: 100%;
      border: 0;
      text-align: center;
      font-size: 16px;
      line-height: 24px; }
    .sidebar-wrap .sidebar-body .counter span {
      cursor: pointer; }
      .sidebar-wrap .sidebar-body .counter span.down, .sidebar-wrap .sidebar-body .counter span.down_quantity {
        font-size: 1.9px; }
      .sidebar-wrap .sidebar-body .counter span.up, .sidebar-wrap .sidebar-body .counter span.up_quantity {
        font-size: 11.1px; }
  .sidebar-wrap .sidebar-body .counter-bar {
    align-items: center; }
    .sidebar-wrap .sidebar-body .counter-bar .price-bar p {
      margin: 0;
      font-weight: bold; }
      .sidebar-wrap .sidebar-body .counter-bar .price-bar p span {
        color: #4B4B4B; }
  .sidebar-wrap .sidebar-body .line-total-wrap .line-total-title {
    margin-right: 8px; }
  .sidebar-wrap .sidebar-body .line-total-wrap .line-total-price {
    font-weight: 400; }

.sidebar-wrap .sidebar-footer {
  padding: 16px 24px;
  align-items: center;
  border-top: 1px solid #BEBEBE; }
  @media only screen and (max-width: 767px) {
    .sidebar-wrap .sidebar-footer {
      padding: 16px 20px; } }
  .sidebar-wrap .sidebar-footer .cart-total-wrap {
    margin-bottom: 0;
    margin-right: 15px; }
    .sidebar-wrap .sidebar-footer .cart-total-wrap .cart-total-label {
      margin-right: 8px; }
    .sidebar-wrap .sidebar-footer .cart-total-wrap .cart-total-price {
      font-weight: 400; }

.frac-pop-up-container {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 999999; }

.frac-pop-up {
  padding: 0px;
  background-color: #ffffff;
  -webkit-box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  z-index: 9999999;
  margin-top: 10%;
  margin-left: calc(50% - 345px) !important;
  position: fixed;
  background-color: #071c2f;
  color: #fff; }

.frac-pop-up-close {
  font-size: 23px;
  height: 25px;
  width: 25px;
  float: right;
  margin-top: 0px;
  margin-right: 0px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  background-color: red;
  padding: 1px;
  color: #ffffff;
  vertical-align: middle;
  padding-top: -10px;
  padding-bottom: 10px;
  line-height: 16px; }

.frac-pop-up-close:hover {
  background-color: #ff6464; }

.non-us-frac-pop-up-container {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 999999; }

.non-us-frac-pop-up {
  padding: 0px;
  background-color: #ffffff;
  -webkit-box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  z-index: 9999999;
  margin-top: 10%;
  margin-left: calc(50% - 345px) !important;
  position: fixed;
  background-color: #071c2f;
  color: #fff; }

.non-us-frac-pop-up-close {
  font-size: 23px;
  height: 25px;
  width: 25px;
  float: right;
  margin-top: 0px;
  margin-right: 0px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  background-color: red;
  padding: 1px;
  color: #ffffff;
  vertical-align: middle;
  padding-top: -10px;
  padding-bottom: 10px;
  line-height: 16px; }

.non-us-frac-pop-up-close:hover {
  background-color: #ff6464; }

/* Style For Header */
footer {
  background-color: #0B1724;
  color: #fff;
  position: relative; }
  footer a {
    color: #fff; }
  footer .instagram-feeds {
    float: left;
    width: 100%;
    padding: 10px 0; }
    @media only screen and (max-width: 1400px) {
      footer .instagram-feeds {
        padding: 5px 0; } }
    @media only screen and (max-width: 767px) {
      footer .instagram-feeds {
        padding: 1px 0; } }
  footer .news-letter-source {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    padding: 20px 0; }
    @media only screen and (max-width: 1400px) {
      footer .news-letter-source {
        padding: 10px 0; } }
    @media only screen and (max-width: 767px) {
      footer .news-letter-source {
        padding: 5px 0; } }
    footer .news-letter-source div#newsletterForm {
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      width: 100%;
      flex-direction: row;
      justify-content: space-between;
      align-items: center; }
      @media only screen and (max-width: 767px) {
        footer .news-letter-source div#newsletterForm {
          flex-direction: column;
          align-items: flex-start; } }
      footer .news-letter-source div#newsletterForm .newsletterForm_heading {
        width: 100%;
        max-width: 500px;
        float: left; }
        @media only screen and (max-width: 1199px) {
          footer .news-letter-source div#newsletterForm .newsletterForm_heading {
            max-width: 350px; } }
        @media only screen and (max-width: 767px) {
          footer .news-letter-source div#newsletterForm .newsletterForm_heading {
            max-width: 100%;
            margin-bottom: 20px; } }
        footer .news-letter-source div#newsletterForm .newsletterForm_heading h4 {
          margin: 0;
          color: #B59038;
          text-transform: none; }
        footer .news-letter-source div#newsletterForm .newsletterForm_heading p {
          margin: 0;
          width: 100%; }
      footer .news-letter-source div#newsletterForm .newsletterForm_body.newsletterForm-body {
        width: 100%;
        max-width: 480px;
        float: right; }
  footer .ginput_container.ginput_container_email {
    width: 100%;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: stretch; }
    footer .ginput_container.ginput_container_email input#newsletterEmail {
      width: calc(100% - 115px); }
  footer .footer-links {
    padding: 20px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    width: 100%;
    flex-direction: row;
    justify-content: space-between; }
    @media only screen and (max-width: 1400px) {
      footer .footer-links {
        padding: 10px 0; } }
    @media only screen and (max-width: 767px) {
      footer .footer-links {
        padding: 5px 0;
        flex-direction: column; } }
    footer .footer-links .royal-info {
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: column;
      width: 100%;
      max-width: 200px; }
      @media only screen and (max-width: 767px) {
        footer .footer-links .royal-info {
          max-width: 100%; } }
      footer .footer-links .royal-info #footer-colophon {
        max-width: 148px; }
        @media only screen and (max-width: 1400px) {
          footer .footer-links .royal-info #footer-colophon {
            max-width: 100px; } }
      footer .footer-links .royal-info .follow-on {
        float: left;
        width: 100%;
        margin: 23px 0 30px 0;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        align-items: center; }
        @media only screen and (max-width: 1199px) {
          footer .footer-links .royal-info .follow-on {
            margin: 20px 0 20px 0; } }
        footer .footer-links .royal-info .follow-on address {
          width: 100%;
          display: inline-block; }
        footer .footer-links .royal-info .follow-on em {
          color: #B59038;
          font-size: 22px;
          margin-right: 10px; }
      footer .footer-links .royal-info address {
        color: #E8EAEB; }
    footer .footer-links .footer-link-wrap {
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      width: calc(100% - 270px); }
      @media only screen and (max-width: 1599px) {
        footer .footer-links .footer-link-wrap {
          width: calc(100% - 80px); } }
      @media only screen and (max-width: 1199px) {
        footer .footer-links .footer-link-wrap {
          width: calc(100% - 0px); } }
      @media only screen and (max-width: 999px) {
        footer .footer-links .footer-link-wrap {
          width: calc(100% - 0px); } }
      @media only screen and (max-width: 767px) {
        footer .footer-links .footer-link-wrap {
          width: 100%; } }
      footer .footer-links .footer-link-wrap .menu-footer-container {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-direction: row;
        width: 100%; }
        footer .footer-links .footer-link-wrap .menu-footer-container ul li {
          padding: 0;
          margin: 0;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          flex-direction: column; }
          footer .footer-links .footer-link-wrap .menu-footer-container ul li::before {
            display: none; }
          footer .footer-links .footer-link-wrap .menu-footer-container ul li > ul {
            display: -ms-flexbox;
            display: -webkit-flex;
            display: flex;
            flex-direction: column;
            width: 100%;
            margin: 0;
            padding: 0; }
            footer .footer-links .footer-link-wrap .menu-footer-container ul li > ul > li {
              margin: 12px 0 0;
              padding: 0; }
              @media only screen and (max-width: 767px) {
                footer .footer-links .footer-link-wrap .menu-footer-container ul li > ul > li {
                  margin-top: 5px; } }
              footer .footer-links .footer-link-wrap .menu-footer-container ul li > ul > li a:hover {
                color: #B59038; }
        footer .footer-links .footer-link-wrap .menu-footer-container > ul {
          margin: 0;
          display: -ms-flexbox;
          display: -webkit-flex;
          display: flex;
          flex-direction: row;
          width: 100%;
          margin: 0;
          padding: 0;
          justify-content: space-between;
          flex-wrap: wrap; }
          @media only screen and (max-width: 767px) {
            footer .footer-links .footer-link-wrap .menu-footer-container > ul > li {
              margin-top: 30px; } }
          @media only screen and (max-width: 575px) {
            footer .footer-links .footer-link-wrap .menu-footer-container > ul > li {
              width: 50%; } }
          footer .footer-links .footer-link-wrap .menu-footer-container > ul > li:first-child {
            padding: 0; }
          footer .footer-links .footer-link-wrap .menu-footer-container > ul > li > a {
            color: #B59038;
            margin-bottom: 8px;
            text-transform: uppercase;
            font-weight: bold; }
  footer .copyright-royal {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 0; }
    @media only screen and (max-width: 1400px) {
      footer .copyright-royal {
        padding: 10px 0; } }
    @media only screen and (max-width: 767px) {
      footer .copyright-royal {
        padding: 5px 0; } }
    @media only screen and (max-width: 575px) {
      footer .copyright-royal {
        flex-direction: column; } }
    footer .copyright-royal .menu-footer-bottom-menu-container ul {
      margin: 0;
      padding: 0;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      align-items: center; }
      footer .copyright-royal .menu-footer-bottom-menu-container ul li {
        padding: 0;
        margin: 0 0 0px 25px; }
        footer .copyright-royal .menu-footer-bottom-menu-container ul li::before {
          display: none; }
        footer .copyright-royal .menu-footer-bottom-menu-container ul li:first-child {
          margin-left: 0; }
        footer .copyright-royal .menu-footer-bottom-menu-container ul li a {
          text-decoration: underline; }
          footer .copyright-royal .menu-footer-bottom-menu-container ul li a:hover {
            text-decoration: none; }
  footer::before {
    content: "";
    background: url(../../images/footer-bg.svg) bottom left repeat-x transparent;
    height: 13px;
    width: 100%;
    position: absolute;
    top: -13px; }
    @media only screen and (max-width: 1199px) {
      footer::before {
        background-position: center bottom;
        top: -12px; } }
  footer .FeedGridLayout__grid {
    column-gap: 45px !important; }
    @media only screen and (max-width: 1199px) {
      footer .FeedGridLayout__grid {
        column-gap: 20px !important; } }
    @media only screen and (max-width: 768px) {
      footer .FeedGridLayout__grid {
        column: 15px !important; } }
  footer .MediaTile__overlay .MediaOverlay__rows .MediaOverlay__bottom-row {
    display: none; }
  footer .MediaTile__type-icon {
    display: none; }

/* Style For Footer */
.frac-pop-up-container {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 999999; }

.frac-pop-up {
  padding: 0px;
  background-color: #ffffff;
  -webkit-box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  z-index: 9999999;
  margin-top: 10%;
  margin-left: calc(50% - 345px) !important;
  position: fixed;
  background-color: #071c2f;
  color: #fff; }

.frac-pop-up-close {
  font-size: 23px;
  height: 25px;
  width: 25px;
  float: right;
  margin-top: 0px;
  margin-right: 0px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  background-color: red;
  padding: 1px;
  color: #ffffff;
  vertical-align: middle;
  padding-top: -10px;
  padding-bottom: 10px;
  line-height: 16px; }

.frac-pop-up-close:hover {
  background-color: #ff6464; }

.non-us-frac-pop-up-container {
  position: fixed;
  top: 0px;
  left: 0px;
  width: 100%;
  height: 100%;
  z-index: 999999; }

.non-us-frac-pop-up {
  padding: 0px;
  background-color: #ffffff;
  -webkit-box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
  z-index: 9999999;
  margin-top: 10%;
  margin-left: calc(50% - 345px) !important;
  position: fixed;
  background-color: #071c2f;
  color: #fff; }

.non-us-frac-pop-up-close {
  font-size: 23px;
  height: 25px;
  width: 25px;
  float: right;
  margin-top: 0px;
  margin-right: 0px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  background-color: red;
  padding: 1px;
  color: #ffffff;
  vertical-align: middle;
  padding-top: -10px;
  padding-bottom: 10px;
  line-height: 16px; }

.non-us-frac-pop-up-close:hover {
  background-color: #ff6464; }

/*** Common Library ***/
.ui-accordion .ui-accordion-header .ui-icon {
  display: none !important; }

#login, .company-address, #AddToFavoritesWindow, #server-id {
  display: none !important; }

h2.text-capitalize.text-center.form-heading {
  width: 100%;
  height: 125px;
  background-color: #0A1D2E;
  padding: 22px;
  margin: 0px;
  left: 0;
  right: 0; }

.section {
  margin-top: 1px !important; }

ul, ul li {
  margin-bottom: 0px !important; }

ul {
  margin-bottom: 0px !important;
  padding-bottom: 0px; }

.section.account_nav_section {
  padding-top: 1rem;
  padding-bottom: 1rem; }
  .section.account_nav_section .container {
    padding-left: 0;
    padding-right: 0; }
  .section.account_nav_section .account-nav-container {
    overflow: hidden;
    width: 100%; }
    .section.account_nav_section .account-nav-container .account-nav {
      min-width: 100%;
      display: flex;
      flex-flow: row wrap;
      overflow-x: auto;
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;
      margin-top: 30px;
      justify-content: center; }
      .section.account_nav_section .account-nav-container .account-nav::-webkit-scrollbar {
        display: none; }
      .section.account_nav_section .account-nav-container .account-nav button {
        font-size: .9rem;
        width: 100%; }
      .section.account_nav_section .account-nav-container .account-nav .account-link {
        padding: 0rem;
        flex-grow: 0;
        width: 100%; }
        .section.account_nav_section .account-nav-container .account-nav .account-link:hover, .section.account_nav_section .account-nav-container .account-nav .account-link:active {
          color: #b79220; }
          .section.account_nav_section .account-nav-container .account-nav .account-link:hover > a, .section.account_nav_section .account-nav-container .account-nav .account-link:active > a {
            color: #b79220;
            text-decoration: none; }
        .section.account_nav_section .account-nav-container .account-nav .account-link a {
          font-size: 1.1rem;
          display: block;
          padding: 5px 10px; }
      .section.account_nav_section .account-nav-container .account-nav .is-active {
        color: #b79220;
        border-bottom: 4px solid #b79220; }
        .section.account_nav_section .account-nav-container .account-nav .is-active > a {
          color: #b79220;
          text-decoration: none; }

.section-profile {
  background-color: #eff7fc; }
  .section-profile h1 {
    overflow-wrap: break-word; }
  .section-profile .profile-details,
  .section-profile .profile-address,
  .section-profile .profile-bill-ship {
    padding-top: 2rem;
    padding-bottom: 1rem; }
    .section-profile .profile-details .h4,
    .section-profile .profile-address .h4,
    .section-profile .profile-bill-ship .h4 {
      padding-bottom: 0.5rem;
      border-bottom: 1px solid #90969f; }
  .section-profile .profile-bill-ship .label {
    font-size: 1rem; }

.section-orders {
  background-color: #ffffff; }
  .section-orders .panel {
    border: 1px solid #90969f;
    padding: 2rem;
    margin-bottom: 2rem;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-between;
    align-items: center; }
    .section-orders .panel ul {
      list-style: none;
      padding-left: 0;
      margin-bottom: 0;
      margin-bottom: 1rem;
      width: 100%; }
      .section-orders .panel ul li {
        display: flex;
        width: 100%;
        justify-content: space-between;
        border-bottom: 1px solid #90969f;
        margin-bottom: 1.5rem;
        padding-bottom: 1.5rem;
        font-size: 1.1rem;
        color: #304f6c;
        font-weight: bold; }
      .section-orders .panel ul p {
        display: block;
        width: 100%;
        color: #304f6c;
        margin-bottom: 0.2rem;
        font-size: 1rem; }
      .section-orders .panel ul a {
        color: #304f6c;
        font-weight: bold;
        display: block; }
        .section-orders .panel ul a:hover {
          text-decoration: none !important; }
    .section-orders .panel .alert {
      width: 25%;
      text-align: center; }
    .section-orders .panel p.text-red-alert {
      color: #a11c18; }
    .section-orders .panel p.text-orange-alert {
      color: #dd6e00; }
    .section-orders .panel .stacked {
      margin-bottom: 2rem; }
      .section-orders .panel .stacked li {
        flex-flow: column nowrap;
        margin-bottom: 0.5rem;
        padding-bottom: 0.5rem; }
      .section-orders .panel .stacked a {
        text-decoration: none; }
      .section-orders .panel .stacked li > p {
        font-weight: normal; }
    .section-orders .panel button {
      padding: 0.875em 2.5rem;
      min-width: 10rem; }
      .section-orders .panel button:hover {
        text-decoration: none !important; }

.section-marketing {
  background-color: #ffffff; }

.panel-pdf {
  border: 1px solid #e8eaeb;
  padding: 2rem 2rem 0 2rem;
  margin-bottom: 2rem;
  display: flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  align-items: center;
  box-shadow: 2px 1px 4px rgba(0, 0, 0, 0.15);
  height: 100%;
  min-width: 20%;
  margin-bottom: 2rem; }
  .panel-pdf a {
    margin-bottom: 2rem;
    font-size: 1.3rem;
    line-height: 27px; }

.section-trader {
  background-color: #eff7fc;
  border-image-repeat: stretch;
  border-style: solid;
  border-image-source: url("../img/rough-edge-white.svg");
  -webkit-border-image-source: url("../img/rough-edge-white.svg");
  border-image-source: url("../img/rough-edge-light-blue.svg");
  -webkit-border-image-source: url("../img/rough-edge-light-blue.svg");
  border-image-width: 32px 0 0 0;
  border-image-outset: 19px 0 0 0;
  border-image-slice: 24; }
  @media (min-width: 576px) {
    .section-trader {
      border-image-outset: 23px 0 0 0;
      border-image-slice: 31; } }
  @media (min-width: 1600px) {
    .section-trader {
      border-image-outset: 23px 0 0 0;
      border-image-slice: 50; } }
  .section-trader .trader {
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    align-items: center; }
  .section-trader .trader-info {
    text-align: center; }
    .section-trader .trader-info h2 {
      margin-bottom: 2rem; }
    .section-trader .trader-info a {
      font-size: 1.1rem; }

.section.section-marketing-header,
.section.section-reserves-header,
.section.section-orders-header {
  padding-top: 0;
  padding-bottom: 1rem; }
  .section.section-marketing-header h1,
  .section.section-reserves-header h1,
  .section.section-orders-header h1 {
    margin-bottom: 2rem;
    text-align: center; }

.filtering {
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-start; }
  .filtering p {
    display: block;
    width: auto;
    margin-bottom: 0.5rem;
    margin-right: 1rem; }
  .filtering .form-control {
    width: 100%;
    min-height: 3rem; }
  .filtering #date,
  .filtering #alphabetical {
    margin-top: 1rem;
    border: none; }
    .filtering #date:hover,
    .filtering #alphabetical:hover {
      box-shadow: none; }

.section-orders-header .filtering {
  flex-flow: column nowrap; }
  .section-orders-header .filtering .form-control {
    max-width: 11rem; }

.section-past-puchases .filtering,
.section-marketing-header .filtering,
.section-reserves-header .filtering {
  justify-content: flex-end; }
  .section-past-puchases .filtering .form-control,
  .section-marketing-header .filtering .form-control,
  .section-reserves-header .filtering .form-control {
    padding-left: 0;
    max-width: 10rem;
    min-width: 2rem; }

.section.section-orders-wishlist,
.section.section-orders-content,
.section.section-marketing-content {
  padding-top: 0; }

.section-past-puchases .offering-item {
  align-items: center; }
  .section-past-puchases .offering-item .grid-header {
    margin-bottom: 1rem; }
  .section-past-puchases .offering-item .grid-footer {
    flex-flow: row nowrap;
    justify-content: center; }

#dashboardTop {
  display: flex !important;
  margin: auto;
  width: 100%;
  padding: 0px; }

#my-account-company-name {
  display: inline-block;
  height: 150px;
  line-height: 150px;
  font-size: 2.2em;
  float: left;
  margin: 2px;
  padding: 3px; }

#customerLogo_dashboard {
  margin-top: -1px; }

#my-account #dashButtons {
  margin: auto;
  text-align: center;
  display: inline-block;
  right: 0;
  transition-duration: .88s;
  margin-right: 9%;
  margin-top: 110px;
  position: absolute;
  z-index: 98; }
  #my-account #dashButtons div:hover {
    background-color: unset !important;
    opacity: .78;
    transition: .75s; }
  @media only screen and (max-width: 999px) {
    #my-account #dashButtons {
      margin-top: 107px !important; } }

#my-account-left-navigation {
  clear: both;
  margin: 0px;
  padding: 0px;
  /*margin-top:-55px;*/ }

#my-account-body {
  clear: both;
  display: block;
  margin-top: -10px; }

.logoutBtn {
  font-size: .87em !important;
  font-weight: bold;
  text-decoration: none !important; }

.nav_container {
  white-space: nowrap; }

#my-account {
  /* Style the tab */
  /* Style the buttons that are used to open the tab content */
  /* Change background color of buttons on hover */
  /* Create an active/current tablink class */
  /* Style the tab content */
  /* Go from zero to full opacity */ }
  #my-account .dash_nav {
    white-space: nowrap; }
  #my-account .dash_nav li, #my-account .dash_nav2 li {
    min-width: 140px;
    max-width: 140px;
    cursor: pointer;
    margin: 0px 1px 0px 1px;
    text-align: center;
    transition-duration: .88s; }
  #my-account .dash_nav li div, #my-account .dash_nav2 li div {
    width: 100%;
    padding-left: 5px;
    padding-right: 5px; }
  #my-account .selectedTab {
    color: #b79220; }
  #my-account .dash_nav2 li div:hover {
    cursor: pointer;
    text-decoration: none;
    transition-duration: .58s;
    color: #b79220; }
  #my-account .selectedTab:hover {
    cursor: pointer;
    text-decoration: none;
    transition-duration: .58s;
    font-weight: bold;
    color: #b79220; }
  #my-account #myAccountCoffee, #my-account #myAccountTea, #my-account #myAccountLab {
    clear: both;
    display: none;
    font-weight: bold !important; }
  #my-account #dashboard_body {
    margin-top: -16px;
    min-height: 450px; }
  #my-account #dashboard_body div.contentTab {
    min-height: 450px; }
  #my-account #Coffee, #my-account #Tea, #my-account #Lab {
    color: #343a40;
    padding: 2px;
    margin: 1px;
    min-width: 190px;
    display: inline-block;
    cursor: pointer;
    transition-duration: .88s;
    border-bottom: 4px solid transparent; }
  #my-account #Coffee:hover, #my-account #Tea:hover, #my-account #Lab:hover {
    border-bottom: 4px solid #071c2f;
    background-color: rgba(239, 247, 252, 0.6);
    transition-duration: .88s; }
  #my-account #Coffee img, #my-account #Tea img, #my-account #Lab img {
    max-height: 105px;
    margin: -15px; }
  @media only screen and (max-width: 999px) {
    #my-account #Coffee img, #my-account #Tea img, #my-account #Lab img {
      max-height: 80px !important;
      margin: -16px !important; } }
  #my-account .selectedDashButton, #my-account .selectedDashButton:hover {
    border-bottom: 4px solid #ffc107 !important; }
  #my-account #myAccountCoffee, #my-account #myAccountTea, #my-account #myAccountLab {
    display: none;
    width: 100%; }
  #my-account #footerTrader {
    position: absolute;
    width: 99.1vw;
    left: 0;
    margin-top: 120px; }
  #my-account #footerTraderAfter {
    height: 430px; }
  #my-account .tab {
    overflow: hidden;
    border: 1px solid #ccc;
    background-color: #f1f1f1;
    width: 100%; }
  #my-account .tab button {
    background-color: inherit;
    float: left;
    border: none;
    outline: none;
    cursor: pointer;
    padding: 14px 16px;
    transition: 0.3s;
    color: #578587; }
  #my-account .tab button:hover {
    background-color: #ddd; }
  #my-account .tab button.active {
    background-color: #ccc; }
  #my-account .tabcontent {
    display: none;
    padding: 6px 12px;
    width: 100%; }
  #my-account .tabcontent {
    animation: fadeEffect 1s;
    /* Fading effect takes 1 second */ }

@keyframes fadeEffect {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
  #my-account #accountShippingAddress, #my-account #accountBillingAddress {
    display: inline-block;
    max-width: 48%;
    width: 48%;
    background: #f8f9fa;
    padding: 14px;
    margin-left: 1%;
    margin-bottom: 10px;
    border: 1px solid rgba(100, 100, 100, 0.25);
    box-shadow: 2px 2px 4px rgba(100, 100, 100, 0.15); }
  #my-account #accountShippingAddress div, #my-account #accountBillingAddress div {
    min-height: 170px; }
  #my-account .contentTab {
    margin-top: 10px;
    padding: 3px;
    display: none; }
  #my-account table {
    width: 100%;
    margin: auto; }
  #my-account table .v-align-top {
    vertical-align: top; }
  #my-account #dashDropdown {
    display: none;
    float: right;
    text-align: right; }
  #my-account .truncateText {
    vertical-align: middle;
    text-overflow: ellipsis;
    overflow: hidden;
    font-size: .9em; }
  #my-account .sample-feedback-header {
    background: #071c2f;
    padding: 8px;
    width: 100%;
    margin: auto;
    color: #ffffff; }
  #my-account .sampleRequests {
    width: 100%; }
  #my-account .dash_drop {
    display: none; }
  #my-account .dash_nav {
    display: block; }

#my-account-body .title,
#my-account-left-navigation .title {
  display: none; }

.sampleRequestTable th {
  text-align: center; }

.flexTable tr td {
  padding: 3px;
  border-collapse: collapse;
  font-size: .88em; }

.mobile-label {
  display: none; }

#my-account-logo-img {
  padding: 25px;
  height: 150px;
  width: 200px;
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  background-position: center center;
  float: left;
  margin: 15px; }

.update_cart_custom {
  padding: 3px !important;
  font-size: 12px !important;
  width: 90px !important;
  margin-left: 4px !important;
  margin-top: 2px !important; }

/*
@media screen and (min-width: $media-width-desktop) {
  .woocommerce {
      // notices
      .woocommerce-notices-wrapper {
          background-color: white;

          .woocommerce-message {
              text-align: center;
          }
      }
      // cart empty page
      p.cart-empty {
          font-family: $headings-font-family;
          font-size: $h2-font-size !important;
      }

      .section-featured-footer {
          background-color: $c-blue-light;
          //@include rough-edge($c-blue-light, top);
      }
      // Cart //
      .cart-section {
          h1 {
              margin-bottom: 1.5rem;
          }

          .royal-account-alert {
              padding: 2rem;
              border: 1px solid $c-red-alert;
          }

          .table.shop_table_responsive {
              border: 0;
              border-radius: 0;
              background-color: none;

              tr {
                  display: table-row;

                  td {
                      padding: 1rem;
                  }
              }

              tr:nth-child(2n) td {
                  background-color: $white;
              }
          }

          .table-striped {
              tbody {
                  tr:nth-of-type(odd) {
                      background-color: $c-gray-light;
                  }

                  tr:last-of-type {
                      // background-color: $white;
                  }

                  .cart_item {
                      max-height: 4rem;
                  }

                  .product-thumbnail {
                      a {
                          display: block;

                          img {
                              height: 4rem;
                              width: auto;
                          }
                      }
                  }

                  .product-quantity {
                      .quantity {
                          height: 3rem;

                          input[type="number"] {
                              min-height: unset;
                              height: 3rem;
                              width: 4rem;
                              padding: 0;
                          }
                      }
                  }

                  .actions {
                      button {
                          border: 3px solid $c-green;
                          color: $c-green;
                          background-color: transparent;
                          opacity: 1;

                          &:disabled {
                              opacity: 0.7;

                              &:hover {
                                  background-color: transparent;
                                  color: $c-green;
                              }
                          }

                          &:hover,
                          &:active {
                              background-color: $c-green;
                              color: white;
                          }
                      }
                  }
              }
          }

          .product-name {
              a {
                  font-size: $h4-font-size;

                  &:hover {
                      text-decoration: none;
                      color: $c-blue;
                  }
              }
          }

          // .cart-total-weight-title {
          // }

          // .cart-total-weight {
          // }

          // .cart-total-bag-title {
          // }

          // .cart-total-bag {
          // }

          a.remove {
              color: $c-red-alert !important;
              height: 1.5rem;
              width: 1.5rem;
              line-height: 0.8;

              &:hover {
                  background-color: $c-red-alert !important;
                  border-radius: 0;
                  color: $white !important;
              }
          }

          .cart-collaterals {
              .cart_totals {
                  .shop_table {
                      border: none;
                      border-radius: 0;
                      border-bottom: 1px solid $c-gray-light;
                  }
              }
          }

          .wc-proceed-to-checkout {
              a {
                  background-color: $c-green;
                  color: $white;
                  border: none;

                  &:active,
                  &:hover {
                      @include btn-hover($c-green);
                  }
              }

              .btn-primary:not(:disabled):not(.disabled):active {
                  @include btn-hover($c-green);
              }
          }
      }
      // checkout / billing details //
      .checkout {
          .woocommerce-checkout-review-order {
              table {
                  border: none;
                  border-collapse: collapse;
              }

              .order-total {
                  background-color: $c-gray-light;
              }
          }

          .woocommerce-checkout-payment,
          #payment {
              border-top: 1px solid $c-green;
              background-color: $white;
              border-radius: 0;
              padding-top: 1.5rem;


              .payment_methods {
                  border-bottom: none;

                  .wc_payment_method {
                      position: relative;
                      margin-bottom: 1rem;

                      label {
                          /*position: absolute;
                          overflow: hidden;
                          color: $c-gray-med;
                          padding-left: calc(32px + .5rem);
                          top: -0.15rem;
                          left: 0;
                          /*height: 4rem;
                          width: 100%;

                          div {
                              a {
                                  float: none;
                                  margin-left: 1rem;
                                  display: none;

                                  @include bp(small) {
                                      display: inline;
                                  }
                              }

                              img {
                                  height: 100%;
                              }
                          }

                          div:first-child {
                              font-size: 1.4rem;
                              font-weight: bold;
                              color: black;
                          }
                      }

                      label::before,
                      label::after {
                          position: absolute;
                      }

                      .is-checked {
                          background-color: $c-blue-dark;
                      }
                      /*
                      label::after {
                          content: "";
                          display: inline-block;
                          height: 25px;
                          width: 25px; 
                          border: 1px solid $c-blue-dark;  
                          background-color: $c-blue-dark;
                          left: 0;
                          top: 13px;
                      }
                  
                      label::before {
                          content: "";
                          display: inline-block;
                          height: 24px;
                          width: 24px;   
                          border: 1px solid $c-blue-dark;  
                          background-color: $white;
                          left: 0;
                          top: 13px; 
                      }
                      // input[checked="checked"] {
                      //     background-color: red;
                      // }
                      input[type="checkbox"] + label::after,
                      input[type="radio"] + label::after {
                          content: none;
                      }

                      input[checked="checked"] + label::after,
                      input[type="checkbox"].is-checked + label::after,
                      input[type="radio"].is-checked + label::after {
                          content: "";
                          background-color: $c-blue-dark;
                      }

                      input[type=text] {
                          border-radius: 0;
                          min-height: 4.1rem;
                          background-color: #fff;
                          border: 1px solid $c-gray-med;
                          padding: 2rem .5rem .5rem 1.1rem;
                      }

                      input[type=checkbox],
                      input[type=radio] {
                          z-index: 9999;
                          width: 100%;
                          height: 1.5rem;

                          &:hover {
                              cursor: pointer;
                              outline: 0;
                              border-color: none;
                              box-shadow: none;
                          }
                      }
                  }
              }

              .payment_box {
                  background-color: $c-gray-light;

                  &::before {
                      display: none;
                      /*
                      border: 1em solid $c-gray-light;
                      border-right-color: transparent;
                      border-left-color: transparent;
                      border-top-color: transparent;
                    
                  }
              }
          }

          .woocommerce-terms-and-conditions-wrapper {
              .woocommerce-privacy-policy-text {
                  min-height: 5rem;
                  height: 6rem;
              }

              .validate-required {
                  label {
                      white-space: normal;
                      // position: absolute;
                      line-height: unset;
                      padding-left: 1.5rem;

                      &::before {
                          background-color: $white;
                          left: -1rem;
                      }
                  }
              }

              .woocommerce-validated {
                  label::before {
                      background-color: $c-blue-dark;
                      left: -1rem;
                  }
              }
          }

          .btn-primary {
              background-color: $c-green;
              color: $white;
              border: none;

              &:active,
              &:hover {
                  @include btn-hover($c-green);
              }
          }
      }
      // thank you // order received (or not...)
      .woocommerce-order {

          .woocommerce-notice {
              margin-bottom: 2rem;

              @include bp(medium) {
                  margin-bottom: 4rem;
              }
          }

          .woocommerce-order-overview {
              padding: 2rem;
              background-color: $c-gray-light;

              li {
                  text-align: left;
                  border: none;

                  @include bp(large) {
                      text-align: center;
                  }
              }

              li.order {

                  @include bp(xlarge) {
                      margin-left: 2rem;
                  }
              }
          }

          .woocommerce-order-details {
              .order_details {
                  border-collapse: collapse;
                  border: none;
                  margin-bottom: 2rem;
              }

              tfoot {
                  tr:last-of-type {
                      // background-color: $c-gray-light;
                  }
              }

              address {
                  border: none;
              }
          }
      }
  }
}

// cart empty page
p.cart-empty {
  font-family: $headings-font-family;
  font-weight:bold !important;
  padding:1em !important;
}

@media screen and (max-width: $media-width-mobile) {

    .header-menu {
        top:57px !important;
    }

  .woocommerce {
      // notices
      .woocommerce-notices-wrapper {
          background-color: white;

          .woocommerce-message {
              text-align: center;
          }
      }
      // cart empty page
      p.cart-empty {
          font-family: $headings-font-family;
          font-size: 1.04em !important;
          font-weight:bold !important;
          padding:1em !important;
      }

      .section-featured-footer {
          background-color: $c-blue-light;
          //@include rough-edge($c-blue-light, top);
      }
      // Cart //
      .cart-section {
          h1 {
              margin-bottom: 1.5rem;
          }

          .royal-account-alert {
              padding: 2rem;
              border: 1px solid $c-red-alert;
          }

          .table.shop_table_responsive {
              border: 0;
              border-radius: 0;
              background-color: none;

              tr {
                  display: table-row;

                  td {
                      padding: 1rem;
                  }
              }

              tr:nth-child(2n) td {
                  background-color: $white;
              }
          }

          .table-striped {
              tbody {
                  tr:nth-of-type(odd) {
                      background-color: $c-gray-light;
                  }

                  tr:last-of-type {
                      // background-color: $white;
                  }

                  .cart_item {
                      max-height: 4rem;
                  }

                  .product-thumbnail {
                      a {
                          display: block;

                          img {
                              height: 4rem;
                              width: auto;
                          }
                      }
                  }

                  .product-quantity {
                      .quantity {
                          height: 3rem;

                          input[type="number"] {
                              min-height: unset;
                              height: 3rem;
                              width: 4rem;
                              padding: 0;
                          }
                      }
                  }

                  .actions {
                      button {
                          border: 3px solid $c-green;
                          color: $c-green;
                          background-color: transparent;
                          opacity: 1;

                          &:disabled {
                              opacity: 0.7;

                              &:hover {
                                  background-color: transparent;
                                  color: $c-green;
                              }
                          }

                          &:hover,
                          &:active {
                              background-color: $c-green;
                              color: white;
                          }
                      }
                  }
              }
          }

          .product-name {
              a {
                  font-size: $font-size-base;

                  &:hover {
                      text-decoration: none;
                      color: $c-blue;
                  }
              }
          }

          // .cart-total-weight-title {
          // }
          // .cart-total-weight {
          // }
          // .cart-total-bag-title {
          // }
          // .cart-total-bag {
          // }

          a.remove {
              color: $c-red-alert !important;
              height: 1.5rem;
              width: 1.5rem;
              line-height: 0.8;

              &:hover {
                  background-color: $c-red-alert !important;
                  border-radius: 0;
                  color: $white !important;
              }
          }

          .cart-collaterals {
              .cart_totals {
                  .shop_table {
                      border: none;
                      border-radius: 0;
                      border-bottom: 1px solid $c-gray-light;
                  }
              }
          }

          .wc-proceed-to-checkout {
              a {
                  background-color: $c-green;
                  color: $white;
                  border: none;

                  &:active,
                  &:hover {
                      @include btn-hover($c-green);
                  }
              }

              .btn-primary:not(:disabled):not(.disabled):active {
                  @include btn-hover($c-green);
              }
          }
      }
      // checkout / billing details //
      .checkout {
          .woocommerce-checkout-review-order {
              table {
                  border: none;
                  border-collapse: collapse;
              }

              .order-total {
                  background-color: $c-gray-light;
              }
          }

          .woocommerce-checkout-payment,
          #payment {
              border-top: 1px solid $c-green;
              background-color: $white;
              border-radius: 0;
              padding-top: 1.5rem;


              .payment_methods {
                  border-bottom: none;

                  .wc_payment_method {
                      position: relative;
                      margin-bottom: 1rem;

                      label {
                          /*position: absolute;
                          overflow: hidden;
                          color: $c-gray-med;
                          padding-left: calc(32px + .5rem);
                          top: -0.15rem;
                          left: 0;
                          /*height: 4rem;
                          width: 100%;

                          div {
                              a {
                                  float: none;
                                  margin-left: 1rem;
                                  display: none;

                                  @include bp(small) {
                                      display: inline;
                                  }
                              }

                              img {
                                  height: 100%;
                              }
                          }

                          div:first-child {
                              font-size: 1.4rem;
                              font-weight: bold;
                              color: black;
                          }
                      }

                      label::before,
                      label::after {
                          position: absolute;
                      }

                      label.d-flex {
                          padding-left: 0px;
                      }

                      .is-checked {
                          background-color: $c-blue-dark;
                      }
                      /*
                      label::after {
                          content: "";
                          display: inline-block;
                          height: 25px;
                          width: 25px; 
                          border: 1px solid $c-blue-dark;  
                          background-color: $c-blue-dark;
                          left: 0;
                          top: 13px;
                      }
                  
                      label::before {
                          content: "";
                          display: inline-block;
                          height: 24px;
                          width: 24px;   
                          border: 1px solid $c-blue-dark;  
                          background-color: $white;
                          left: 0;
                          top: 13px; 
                      }
                      // input[checked="checked"] {
                      //     background-color: red;
                      // }
                      input[type="checkbox"] + label::after,
                      input[type="radio"] + label::after {
                          content: none;
                      }

                      input[checked="checked"] + label::after,
                      input[type="checkbox"].is-checked + label::after,
                      input[type="radio"].is-checked + label::after {
                          content: "";
                          background-color: $c-blue-dark;
                      }

                      input[type=text] {
                          border-radius: 0;
                          min-height: 4.1rem;
                          background-color: #fff;
                          border: 1px solid $c-gray-med;
                          padding: 2rem .5rem .5rem 1.1rem;
                      }

                      input[type=checkbox],
                      input[type=radio] {
                          z-index: 9999;
                          width: 100%;
                          height: 1.5rem;

                          &:hover {
                              cursor: pointer;
                              outline: 0;
                              border-color: none;
                              box-shadow: none;
                          }
                      }
                  }
              }

              .payment_box {
                  background-color: $c-gray-light;

                  &::before {
                      display: none;
                      /*border: 1em solid $c-gray-light;
                      border-right-color: transparent;
                      border-left-color: transparent;
                      border-top-color: transparent;
                  }
              }
          }

          .woocommerce-terms-and-conditions-wrapper {
              .woocommerce-privacy-policy-text {
                  min-height: 5rem;
                  height: 6rem;
              }

              .validate-required {
                  label {
                      white-space: normal;
                      // position: absolute;
                      line-height: unset;
                      padding-left: 1.5rem;

                      &::before {
                          background-color: $white;
                          left: -1rem;
                      }
                  }
              }

              .woocommerce-validated {
                  label::before {
                      background-color: $c-blue-dark;
                      left: -1rem;
                  }
              }
          }

          .btn-primary {
              background-color: $c-green;
              color: $white;
              border: none;

              &:active,
              &:hover {
                  @include btn-hover($c-green);
              }
          }
      }
      // thank you // order received (or not...)
      .woocommerce-order {

          .woocommerce-notice {
              margin-bottom: 2rem;

              @include bp(medium) {
                  margin-bottom: 4rem;
              }
          }

          .woocommerce-order-overview {
              padding: 2rem;
              background-color: $c-gray-light;

              li {
                  text-align: left;
                  border: none;

                  @include bp(large) {
                      text-align: center;
                  }
              }

              li.order {

                  @include bp(xlarge) {
                      margin-left: 2rem;
                  }
              }
          }

          .woocommerce-order-details {
              .order_details {
                  border-collapse: collapse;
                  border: none;
                  margin-bottom: 2rem;
              }

              tfoot {
                  tr:last-of-type {
                      // background-color: $c-gray-light;
                  }
              }

              address {
                  border: none;
              }
          }
      }
  }
}
*/
#clear-offerings-filters {
  text-align: right !important;
  border-bottom: unset !important; }

.error404 .error404-search,
.error404 .error404-section {
  background-color: #eff7fc; }

.error404 .error404-section .img-404 {
  height: auto;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center; }
  @media (min-width: 1000px) {
    .error404 .error404-section .img-404 {
      height: 30rem; } }
  .error404 .error404-section .img-404 img {
    margin: 0 auto; }

.error404 .error404-section a.btn-back {
  width: 100%; }
  .error404 .error404-section a.btn-back button {
    margin-top: 0.5rem;
    padding: 1.1rem 2rem;
    width: 100%; }
    @media (min-width: 1000px) {
      .error404 .error404-section a.btn-back button {
        width: unset; } }

.error404 .error404-section p.text-size-404 {
  font-size: 5rem;
  margin-bottom: 0;
  height: 6rem; }
  @media (min-width: 1000px) {
    .error404 .error404-section p.text-size-404 {
      font-size: 10.625rem;
      height: 15rem;
      margin-bottom: 0 !important; } }

.error404 .error404-section .h1 {
  font-size: 2rem; }
  @media (min-width: 1000px) {
    .error404 .error404-section .h1 {
      font-size: 2.8rem;
      margin-bottom: 2rem; } }

.error404 .error404-section .text-404 {
  height: auto;
  flex-flow: column nowrap;
  justify-content: flex-start;
  align-items: flex-start; }
  @media (min-width: 1000px) {
    .error404 .error404-section .text-404 {
      height: 30rem; } }
  @media (min-width: 1000px) {
    .error404 .error404-section .text-404 p {
      margin-bottom: 2rem; } }
  .error404 .error404-section .text-404 .text-yellow:hover {
    text-decoration: none;
    color: #b79220; }

.error404 .error404-search {
  margin-top: 2rem; }
  @media (min-width: 768px) {
    .error404 .error404-search {
      margin-top: 4rem; } }
  .error404 .error404-search form {
    margin-bottom: 2rem; }
  .error404 .error404-search .search-submit {
    width: 100%;
    margin: 0; }

.tribe-tickets__footer .tribe-common-c-btn, .tribe-common-c-btn, .tribe-tickets__item__attendee__fields__footer .tribe-common-c-btn, .type-tribe_events .tribe-events-event-cost .tribe-common .tribe-common-c-btn {
  color: #fff;
  background-color: #21759b !important;
  border-style: unset;
  width: unset;
  padding: 9px 12px;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1; }
  .tribe-common-c-btn:hover, .type-tribe_events .tribe-events-event-cost .tribe-common .tribe-common-c-btn:hover {
    background-color: #21759b !important; }

.tooltipNEW {
  position: relative;
  display: inline-block; }

.tooltipNEW[data-title]:hover:after {
  content: attr(data-title);
  text-align: left;
  display: block;
  padding: 4px 8px;
  color: #fff;
  position: absolute;
  left: -100%;
  top: 0;
  border-radius: 5px;
  background: #000;
  z-index: 1000;
  font-size: 12px; }

.btn,
button {
  color: #ffffff;
  border-radius: 0;
  font-family: "Europa", "Open Sans", sans-serif;
  font-weight: bold;
  line-height: 25px;
  letter-spacing: 0.5px;
  padding: 0.8rem 1.5rem;
  font-size: 1.1rem;
  cursor: pointer; }
  .btn:hover,
  button:hover {
    color: #ffffff; }

.btn-print {
  display: flex;
  margin: 0 auto;
  width: fit-content;
  height: fit-content; }

.btn-outline {
  border: 3px solid #304f6c;
  color: #304f6c !important;
  background-color: transparent; }
  .btn-outline:hover, .btn-outline:active {
    background-color: #182837;
    border-color: #182837;
    text-decoration: none;
    transition: all, 0.4s;
    color: #ffffff;
    color: #304f6c !important; }

.btn-bg-dark-green {
  background-color: #1c3533;
  border: 3px solid #1c3533; }
  .btn-bg-dark-green:hover {
    background-color: #304f6c;
    border-color: #304f6c;
    text-decoration: none;
    transition: all, 0.4s; }

.btn-bg-green {
  background-color: #578587;
  border: 1px solid #578587; }
  .btn-bg-green:hover {
    color: #ffffff;
    background-color: #395758;
    border-color: #395758;
    text-decoration: none;
    transition: all, 0.4s;
    color: #ffffff; }

.btn-bg-blue {
  background-color: #304f6c;
  border-color: transparent;
  color: #ffffff; }
  .btn-bg-blue:hover {
    text-decoration: none;
    color: #ffffff;
    background-color: #182837;
    border-color: #182837;
    text-decoration: none;
    transition: all, 0.4s;
    color: #ffffff; }

.btn-bg-blue-dark, .btn-bg-dark-blue {
  background-color: #071c2f;
  border-color: transparent;
  color: #ffffff; }
  .btn-bg-blue-dark:hover, .btn-bg-dark-blue:hover {
    background-color: #304f6c;
    border-color: #304f6c;
    text-decoration: none;
    transition: all, 0.4s; }

.btn-bg-yellow {
  background-color: #b79220;
  border-color: transparent;
  color: #ffffff;
  text-shadow: 2px 1px 4px rgba(0, 0, 0, 0.15); }
  .btn-bg-yellow:hover {
    color: #ffffff;
    background-color: #765e15;
    border-color: #765e15;
    text-decoration: none;
    transition: all, 0.4s;
    color: #ffffff; }

.btn-download {
  display: flex;
  flex-flow: row nowrap; }
  .btn-download .icon-download {
    margin-right: 1rem;
    height: 25px;
    width: 25px; }

.btn-share {
  display: block;
  margin-right: 0.5rem;
  border-radius: 25px; }
  .btn-share:hover {
    text-decoration: none; }
  @media (min-width: 576px) {
    .btn-share {
      margin-right: 1rem;
      width: auto; } }

.fb-share,
.linkedin-share,
.twitter-share {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #304f6c;
  color: #ffffff;
  padding: 0.2rem;
  border-radius: 4px;
  font-family: "Europa", "Open Sans", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  width: 100%; }
  .fb-share img,
  .linkedin-share img,
  .twitter-share img {
    height: 25px;
    width: auto;
    margin-right: 0.4rem;
    margin-left: 10px; }

.fb-share .fb-like-count {
  display: none; }
  @media (min-width: 768px) {
    .fb-share .fb-like-count {
      display: block;
      margin-left: 5px; } }

.twitter-share img {
  height: 20px;
  width: auto; }

.linkedin-share {
  background-color: #0077B5; }

.cta,
.next-post-text,
.hero-cta,
.blog-cta,
.testimonial-link-cta,
.cta-inline {
  width: fit-content;
  margin-bottom: 1rem; }
  .cta .cta-link-text,
  .next-post-text .cta-link-text,
  .hero-cta .cta-link-text,
  .blog-cta .cta-link-text,
  .testimonial-link-cta .cta-link-text,
  .cta-inline .cta-link-text {
    color: #304f6c;
    padding-right: 0;
    display: block;
    width: auto; }
    .cta .cta-link-text .cta-icon,
    .next-post-text .cta-link-text .cta-icon,
    .hero-cta .cta-link-text .cta-icon,
    .blog-cta .cta-link-text .cta-icon,
    .testimonial-link-cta .cta-link-text .cta-icon,
    .cta-inline .cta-link-text .cta-icon {
      width: 14px;
      height: 14px;
      margin-left: 0.5rem; }
    .cta .cta-link-text:hover,
    .next-post-text .cta-link-text:hover,
    .hero-cta .cta-link-text:hover,
    .blog-cta .cta-link-text:hover,
    .testimonial-link-cta .cta-link-text:hover,
    .cta-inline .cta-link-text:hover {
      text-decoration: none; }

.blog-cta {
  margin-bottom: 0; }

.next-post-text {
  padding-right: 0; }
  .next-post-text .cta-link-text {
    width: fit-content;
    margin-bottom: 1rem;
    padding-right: 3rem; }
    .next-post-text .cta-link-text .cta-icon {
      height: 25px;
      width: 25px;
      margin-left: 0;
      margin-bottom: 0; }

.btn-promo-cta,
.cta-button {
  position: relative;
  display: inline-block;
  width: auto; }
  .btn-promo-cta:hover,
  .cta-button:hover {
    text-decoration: none; }
  @media (max-width: 768px) {
    .btn-promo-cta,
    .cta-button {
      margin-bottom: 4px; } }
  .btn-promo-cta .cta-link-text,
  .cta-button .cta-link-text {
    color: #ffffff;
    text-shadow: none;
    position: relative;
    display: block;
    width: auto;
    min-width: 8rem;
    font-size: 1.1rem;
    letter-spacing: 0.5px; }
    @media (min-width: 576px) {
      .btn-promo-cta .cta-link-text,
      .cta-button .cta-link-text {
        min-width: 13rem; } }
    @media (min-width: 1000px) {
      .btn-promo-cta .cta-link-text,
      .cta-button .cta-link-text {
        min-width: 0;
        width: 100%; } }
    .btn-promo-cta .cta-link-text .cta-icon,
    .cta-button .cta-link-text .cta-icon {
      width: 14px;
      height: 14px;
      margin-left: 0.5rem;
      margin-bottom: 3px; }

.next-post-arrow .cta-link-text .cta-icon {
  width: 30px;
  height: 30px;
  margin-left: 0;
  margin-bottom: 0;
  margin-top: 8px; }

.icon-arrow {
  height: 20px;
  margin-left: 10px;
  margin-top: 2px; }

button.select {
  padding: 6px 28px 6px 12px !important; }

.filter {
  text-shadow: none;
  border-radius: 15px;
  max-width: fit-content;
  max-height: fit-content;
  margin: 0 auto;
  font-size: 1.3rem;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-bottom: 2rem;
  margin-right: 0.5rem; }
  .filter:hover {
    cursor: pointer;
    text-decoration: none; }

.filter.btn-outline {
  border: 1px solid #304f6c; }
  .filter.btn-outline:hover {
    background-color: transparent;
    color: #304f6c; }

.btn-mobile {
  font-size: 11px;
  padding: .25rem 1.5rem;
  margin-top: 10px; }

.reserveBubble {
  margin: 0; }

.tribe-common-c-btn tribe-common-c-btn--small, .tribe-tickets__item__registration__submit {
  background-color: #578587 !important; }

.tribe-common .tribe-common-form-control-radio__input.tribe-common-form-control-radio__input, input[type="radio"].ticket-meta {
  opacity: 100;
  position: initial;
  border: 1px solid #578587;
  -webkit-appearance: none;
  -moz-appearance: none;
  height: 20px;
  width: 20px;
  border-radius: 50%;
  vertical-align: middle; }
  .tribe-common .tribe-common-form-control-radio__input.tribe-common-form-control-radio__input:hover, .tribe-common .tribe-common-form-control-radio__input.tribe-common-form-control-radio__input:focus, input[type="radio"].ticket-meta:hover, input[type="radio"].ticket-meta:focus {
    border: 1px solid #578587;
    outline: none; }

.tribe-common .tribe-common-form-control-radio__input.tribe-common-form-control-radio__input:checked, input[type="radio"].ticket-meta:checked {
  background-color: #578587 !important; }

@media only screen and (max-width: 768px) {
  .container-mobile {
    display: block;
    position: relative; }
  .btn-mobile {
    font-size: 11px;
    /*line-height: 12px;*/
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    /*text-align: left;*/
    padding: 5px;
    clear: both !important;
    display: block !important;
    margin-left: 0px;
    margin-right: 0px;
    margin-bottom: 4px; }
  .reserveBubble {
    margin: auto;
    padding: 6px;
    margin-left: 68%; } }

.order-reserve {
  font-size: 11px;
  padding: .75rem .75rem;
  margin-top: 10px; }

@media only screen and (max-width: 1199px) {
  .order-reserve {
    font-size: 11px;
    line-height: 12px;
    width: 100%;
    border: 0;
    padding: 5px; } }

#apply-offerings-filters, #clear-offerings-filters, #apply-courses-filters, #clear-courses-filters {
  padding: 2px;
  font-size: .85em;
  float: left;
  min-width: 125px;
  margin-right: 4px; }

#mobile-login {
  font-size: 18px; }

/* Ticket Button  */
.tribe-tickets__item__attendee__fields__footer .tribe-common-c-btn-link {
  color: #21759b !important;
  font-weight: bold !important;
  text-decoration: none !important; }

.type-tribe_events .tribe-events-event-cost .tribe-common .tribe-common-c-btn {
  margin: 10px; }
  .type-tribe_events .tribe-events-event-cost .tribe-common .tribe-common-c-btn:hover {
    border-color: #0ea0d7;
    background-color: #0ea0d7 !important;
    color: #fff !important; }

.type-tribe_events .tribe-events-event-cost.featured-event .tribe-common .tribe-common-c-btn {
  border: 2px solid;
  color: #0ea0d7 !important;
  background: #fff !important;
  font-size: 1.1rem;
  border-radius: 3px;
  line-height: 1;
  margin: 10px;
  padding: 9px 12px;
  font-weight: 700; }
  .type-tribe_events .tribe-events-event-cost.featured-event .tribe-common .tribe-common-c-btn:hover {
    border-color: #0ea0d7;
    background-color: #0ea0d7 !important;
    color: #fff !important; }

/*.tribe-tickets__attendee__fields__footer_checkout-button.tribe-common-c-btn:hover {
    @extend %tribe-button-shared;
}*/
.tribe-tickets-rsvp .tribe-events-tickets-rsvp td.add-to-cart {
  text-align: right;
  padding: 20px 0 0 0; }

.tribe-tickets-rsvp .tribe-events-tickets-rsvp td.tribe-ticket {
  text-align: right; }

.tribe-tickets-rsvp .tribe-events-tickets-rsvp .tribe-button--rsvp {
  background-color: #21759b !important;
  border-style: unset;
  margin: 0px; }

.res_cart_submit.loading {
  position: relative;
  opacity: 0.25;
  padding-right: 2.618em; }
  .res_cart_submit.loading::after {
    font-family: 'WooCommerce';
    content: '\e01c';
    vertical-align: top;
    font-weight: 400;
    position: absolute;
    top: 0.618em;
    right: 1em;
    animation: spin 2s linear infinite; }

@media (min-width: 1000px) {
  .content_section {
    padding-right: 2rem;
    padding-left: 2rem; } }

.content_section .featured-headline,
.content_section .section-headline {
  margin-bottom: 2rem; }
  @media (min-width: 768px) {
    .content_section .featured-headline,
    .content_section .section-headline {
      margin-bottom: 4rem; } }

.content_section .two-column {
  padding-bottom: 4rem; }
  @media (min-width: 576px) {
    .content_section .two-column {
      padding-bottom: 2rem; } }
  @media (min-width: 1000px) {
    .content_section .two-column {
      padding-top: 0; } }

.content_section .three-column {
  padding-bottom: 4rem; }
  @media (min-width: 576px) {
    .content_section .three-column {
      padding-bottom: 2rem; } }
  @media (min-width: 1000px) {
    .content_section .three-column {
      padding-bottom: 0; } }

.content_section .four-column {
  padding-bottom: 2rem; }

.content_section .four-column,
.content_section .three-column,
.content_section .two-column,
.content_section .full-width {
  position: relative;
  overflow: hidden; }

@media (min-width: 576px) {
  .full-width .content-copy,
  .two-column .content-copy,
  .three-column .content-copy,
  .four-column .content-copy {
    padding-right: 0;
    padding-left: 0; } }

@media (min-width: 1000px) {
  .full-width .content-copy {
    max-width: 48.2rem;
    margin: 0 auto; } }

.section-employees .employee-img {
  height: 15rem;
  width: 15rem;
  justify-content: center; }
  @media (min-width: 576px) {
    .section-employees .employee-img {
      justify-content: flex-end; } }
  .section-employees .employee-img img {
    height: 100%;
    width: auto; }

.section-employees .employee-info {
  text-align: center; }
  @media (min-width: 576px) {
    .section-employees .employee-info {
      text-align: left; } }

@media (min-width: 1000px) {
  .featured_section {
    padding-right: 2rem;
    padding-left: 2rem; } }

.featured_section .four-column .featured-item {
  margin-bottom: 1rem; }
  @media (min-width: 1000px) {
    .featured_section .four-column .featured-item {
      margin-bottom: 3rem; } }
  .featured_section .four-column .featured-item .featured-content {
    background-color: transparent;
    margin-bottom: 0;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
    width: 100%; }
    .featured_section .four-column .featured-item .featured-content:hover {
      text-decoration: none; }
    @media (min-width: 1000px) {
      .featured_section .four-column .featured-item .featured-content {
        margin-bottom: 0; } }
    .featured_section .four-column .featured-item .featured-content .featured-image {
      margin-bottom: 0.8rem;
      opacity: 1;
      -webkit-filter: brightness(100%);
      width: 100%;
      height: 18.2;
      min-height: 18.2rem;
      box-shadow: 2px 1px 4px rgba(0, 0, 0, 0.15); }
      @media (min-width: 576px) {
        .featured_section .four-column .featured-item .featured-content .featured-image {
          min-height: 18.7rem; } }
      @media (min-width: 768px) {
        .featured_section .four-column .featured-item .featured-content .featured-image {
          min-height: 13rem; } }
      @media (min-width: 1000px) {
        .featured_section .four-column .featured-item .featured-content .featured-image {
          min-height: 18rem; } }
      @media (min-width: 1200px) {
        .featured_section .four-column .featured-item .featured-content .featured-image {
          min-height: 10rem; } }
      @media (min-width: 1600px) {
        .featured_section .four-column .featured-item .featured-content .featured-image {
          min-height: 15rem; } }
      .featured_section .four-column .featured-item .featured-content .featured-image:hover {
        -webkit-filter: brightness(70%);
        -webkit-transition: all 1s ease;
        -moz-transition: all 1s ease;
        -o-transition: all 1s ease;
        -ms-transition: all 1s ease;
        transition: all 1s ease; }
  .featured_section .four-column .featured-item .featured-headline {
    margin-bottom: 0.5rem;
    font-size: 1.3rem; }
    @media (min-width: 1000px) {
      .featured_section .four-column .featured-item .featured-headline {
        margin-bottom: 1.5rem; } }
  .featured_section .four-column .featured-item .featured-details {
    padding-left: 0;
    padding-bottom: 2rem;
    list-style: none;
    font-size: 1.1rem; }
    @media (min-width: 1000px) {
      .featured_section .four-column .featured-item .featured-details {
        padding-bottom: 0; } }
  .featured_section .four-column .featured-item .featured-excerpt {
    font-family: "Europa", "Open Sans", Helvetica, Arial, sans-serif;
    font-size: 1.1rem;
    font-weight: 400; }

.section-orders .four-column .featured-item,
.section-orders .three-column .featured-item,
.section-orders .two-column .featured-item,
.content_section .four-column .featured-item,
.content_section .three-column .featured-item,
.content_section .two-column .featured-item {
  width: 100%;
  max-width: 100%; }
  @media (min-width: 1000px) {
    .section-orders .four-column .featured-item,
    .section-orders .three-column .featured-item,
    .section-orders .two-column .featured-item,
    .content_section .four-column .featured-item,
    .content_section .three-column .featured-item,
    .content_section .two-column .featured-item {
      padding-left: 0;
      padding-right: 0; } }
  .section-orders .four-column .featured-item .featured-content,
  .section-orders .three-column .featured-item .featured-content,
  .section-orders .two-column .featured-item .featured-content,
  .content_section .four-column .featured-item .featured-content,
  .content_section .three-column .featured-item .featured-content,
  .content_section .two-column .featured-item .featured-content {
    background-color: transparent;
    margin-bottom: 0;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
    align-items: flex-start;
    width: 100%; }
    .section-orders .four-column .featured-item .featured-content:hover,
    .section-orders .three-column .featured-item .featured-content:hover,
    .section-orders .two-column .featured-item .featured-content:hover,
    .content_section .four-column .featured-item .featured-content:hover,
    .content_section .three-column .featured-item .featured-content:hover,
    .content_section .two-column .featured-item .featured-content:hover {
      text-decoration: none; }
    .section-orders .four-column .featured-item .featured-content .featured-image,
    .section-orders .three-column .featured-item .featured-content .featured-image,
    .section-orders .two-column .featured-item .featured-content .featured-image,
    .content_section .four-column .featured-item .featured-content .featured-image,
    .content_section .three-column .featured-item .featured-content .featured-image,
    .content_section .two-column .featured-item .featured-content .featured-image {
      margin-bottom: 0.8rem;
      opacity: 1;
      -webkit-filter: brightness(100%);
      width: 100%;
      min-height: 18.2rem; }
      @media (min-width: 576px) {
        .section-orders .four-column .featured-item .featured-content .featured-image,
        .section-orders .three-column .featured-item .featured-content .featured-image,
        .section-orders .two-column .featured-item .featured-content .featured-image,
        .content_section .four-column .featured-item .featured-content .featured-image,
        .content_section .three-column .featured-item .featured-content .featured-image,
        .content_section .two-column .featured-item .featured-content .featured-image {
          min-height: 20.7rem; } }
      @media (min-width: 768px) {
        .section-orders .four-column .featured-item .featured-content .featured-image,
        .section-orders .three-column .featured-item .featured-content .featured-image,
        .section-orders .two-column .featured-item .featured-content .featured-image,
        .content_section .four-column .featured-item .featured-content .featured-image,
        .content_section .three-column .featured-item .featured-content .featured-image,
        .content_section .two-column .featured-item .featured-content .featured-image {
          min-height: 13rem; } }
      @media (min-width: 1000px) {
        .section-orders .four-column .featured-item .featured-content .featured-image,
        .section-orders .three-column .featured-item .featured-content .featured-image,
        .section-orders .two-column .featured-item .featured-content .featured-image,
        .content_section .four-column .featured-item .featured-content .featured-image,
        .content_section .three-column .featured-item .featured-content .featured-image,
        .content_section .two-column .featured-item .featured-content .featured-image {
          min-height: 18rem; } }
      @media (min-width: 1200px) {
        .section-orders .four-column .featured-item .featured-content .featured-image,
        .section-orders .three-column .featured-item .featured-content .featured-image,
        .section-orders .two-column .featured-item .featured-content .featured-image,
        .content_section .four-column .featured-item .featured-content .featured-image,
        .content_section .three-column .featured-item .featured-content .featured-image,
        .content_section .two-column .featured-item .featured-content .featured-image {
          min-height: 10rem; } }
      @media (min-width: 1600px) {
        .section-orders .four-column .featured-item .featured-content .featured-image,
        .section-orders .three-column .featured-item .featured-content .featured-image,
        .section-orders .two-column .featured-item .featured-content .featured-image,
        .content_section .four-column .featured-item .featured-content .featured-image,
        .content_section .three-column .featured-item .featured-content .featured-image,
        .content_section .two-column .featured-item .featured-content .featured-image {
          min-height: 15rem; } }
      .section-orders .four-column .featured-item .featured-content .featured-image:hover,
      .section-orders .three-column .featured-item .featured-content .featured-image:hover,
      .section-orders .two-column .featured-item .featured-content .featured-image:hover,
      .content_section .four-column .featured-item .featured-content .featured-image:hover,
      .content_section .three-column .featured-item .featured-content .featured-image:hover,
      .content_section .two-column .featured-item .featured-content .featured-image:hover {
        -webkit-filter: brightness(70%);
        -webkit-transition: all 1s ease;
        -moz-transition: all 1s ease;
        -o-transition: all 1s ease;
        -ms-transition: all 1s ease;
        transition: all 1s ease; }
  .section-orders .four-column .featured-item .featured-details,
  .section-orders .three-column .featured-item .featured-details,
  .section-orders .two-column .featured-item .featured-details,
  .content_section .four-column .featured-item .featured-details,
  .content_section .three-column .featured-item .featured-details,
  .content_section .two-column .featured-item .featured-details {
    padding-left: 0;
    padding-bottom: 2rem;
    list-style: none;
    font-size: 1.3rem; }
    @media (min-width: 1000px) {
      .section-orders .four-column .featured-item .featured-details,
      .section-orders .three-column .featured-item .featured-details,
      .section-orders .two-column .featured-item .featured-details,
      .content_section .four-column .featured-item .featured-details,
      .content_section .three-column .featured-item .featured-details,
      .content_section .two-column .featured-item .featured-details {
        padding-bottom: 0; } }
  .section-orders .four-column .featured-item .featured-course .featured-headline,
  .section-orders .four-column .featured-item .featured-blog-post .featured-headline,
  .section-orders .three-column .featured-item .featured-course .featured-headline,
  .section-orders .three-column .featured-item .featured-blog-post .featured-headline,
  .section-orders .two-column .featured-item .featured-course .featured-headline,
  .section-orders .two-column .featured-item .featured-blog-post .featured-headline,
  .content_section .four-column .featured-item .featured-course .featured-headline,
  .content_section .four-column .featured-item .featured-blog-post .featured-headline,
  .content_section .three-column .featured-item .featured-course .featured-headline,
  .content_section .three-column .featured-item .featured-blog-post .featured-headline,
  .content_section .two-column .featured-item .featured-course .featured-headline,
  .content_section .two-column .featured-item .featured-blog-post .featured-headline {
    margin-bottom: 1rem; }
    @media (min-width: 1000px) {
      .section-orders .four-column .featured-item .featured-course .featured-headline,
      .section-orders .four-column .featured-item .featured-blog-post .featured-headline,
      .section-orders .three-column .featured-item .featured-course .featured-headline,
      .section-orders .three-column .featured-item .featured-blog-post .featured-headline,
      .section-orders .two-column .featured-item .featured-course .featured-headline,
      .section-orders .two-column .featured-item .featured-blog-post .featured-headline,
      .content_section .four-column .featured-item .featured-course .featured-headline,
      .content_section .four-column .featured-item .featured-blog-post .featured-headline,
      .content_section .three-column .featured-item .featured-course .featured-headline,
      .content_section .three-column .featured-item .featured-blog-post .featured-headline,
      .content_section .two-column .featured-item .featured-course .featured-headline,
      .content_section .two-column .featured-item .featured-blog-post .featured-headline {
        margin-bottom: 1.5rem; } }
  .section-orders .four-column .featured-item .featured-course .featured-course-desc,
  .section-orders .four-column .featured-item .featured-course .featured-blog-text,
  .section-orders .four-column .featured-item .featured-blog-post .featured-course-desc,
  .section-orders .four-column .featured-item .featured-blog-post .featured-blog-text,
  .section-orders .three-column .featured-item .featured-course .featured-course-desc,
  .section-orders .three-column .featured-item .featured-course .featured-blog-text,
  .section-orders .three-column .featured-item .featured-blog-post .featured-course-desc,
  .section-orders .three-column .featured-item .featured-blog-post .featured-blog-text,
  .section-orders .two-column .featured-item .featured-course .featured-course-desc,
  .section-orders .two-column .featured-item .featured-course .featured-blog-text,
  .section-orders .two-column .featured-item .featured-blog-post .featured-course-desc,
  .section-orders .two-column .featured-item .featured-blog-post .featured-blog-text,
  .content_section .four-column .featured-item .featured-course .featured-course-desc,
  .content_section .four-column .featured-item .featured-course .featured-blog-text,
  .content_section .four-column .featured-item .featured-blog-post .featured-course-desc,
  .content_section .four-column .featured-item .featured-blog-post .featured-blog-text,
  .content_section .three-column .featured-item .featured-course .featured-course-desc,
  .content_section .three-column .featured-item .featured-course .featured-blog-text,
  .content_section .three-column .featured-item .featured-blog-post .featured-course-desc,
  .content_section .three-column .featured-item .featured-blog-post .featured-blog-text,
  .content_section .two-column .featured-item .featured-course .featured-course-desc,
  .content_section .two-column .featured-item .featured-course .featured-blog-text,
  .content_section .two-column .featured-item .featured-blog-post .featured-course-desc,
  .content_section .two-column .featured-item .featured-blog-post .featured-blog-text {
    font-style: italic;
    font-size: 1rem;
    color: #90969f; }

.section-orders .three-column .featured-details {
  font-size: 1.1rem !important; }
  @media (min-width: 1000px) {
    .section-orders .three-column .featured-details {
      margin-bottom: 1rem; } }

.section-orders .three-column .featured-headline {
  font-size: 1.5rem !important; }

.container-blog-promo,
.container-promo {
  position: relative;
  overflow: hidden;
  height: 450px; }
  @media (min-width: 576px) {
    .container-blog-promo,
    .container-promo {
      width: 100%;
      height: 400px; } }
  @media (min-width: 1200px) {
    .container-blog-promo,
    .container-promo {
      height: 500px; } }
  .container-blog-promo .promo-img-container,
  .container-promo .promo-img-container {
    margin-bottom: 0;
    height: auto;
    height: 100%;
    width: 100%; }
    .container-blog-promo .promo-img-container .promo-img,
    .container-promo .promo-img-container .promo-img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
      @media (min-width: 1000px) {
        .container-blog-promo .promo-img-container .promo-img,
        .container-promo .promo-img-container .promo-img {
          width: 100%;
          height: 100%; } }
  .container-blog-promo .promo-cta,
  .container-promo .promo-cta {
    position: absolute;
    left: 2rem;
    bottom: 2rem;
    padding: 0; }
    @media (min-width: 576px) {
      .container-blog-promo .promo-cta,
      .container-promo .promo-cta {
        bottom: 1.5rem;
        left: 1.5rem; } }
    @media (min-width: 768px) {
      .container-blog-promo .promo-cta,
      .container-promo .promo-cta {
        padding: 2rem 2rem; } }
    @media (min-width: 1000px) {
      .container-blog-promo .promo-cta,
      .container-promo .promo-cta {
        left: 2rem;
        bottom: 2rem; } }
    @media (min-width: 1200px) {
      .container-blog-promo .promo-cta,
      .container-promo .promo-cta {
        left: 3rem;
        bottom: 3rem;
        padding: 3rem 2rem; } }
    .container-blog-promo .promo-cta .promo-text-white p,
    .container-promo .promo-cta .promo-text-white p {
      color: #ffffff; }
  .container-blog-promo .icon-arrow,
  .container-promo .icon-arrow {
    height: 20px;
    margin-left: 10px;
    margin-top: 2px; }

.full-width .container-promo .promo-cta {
  width: 80%; }
  @media (min-width: 1000px) {
    .full-width .container-promo .promo-cta {
      width: 27rem; } }
  .full-width .container-promo .promo-cta .promo-headline {
    font-family: "Europa", "Open Sans", sans-serif;
    font-size: 1.5rem;
    font-weight: bold; }
  .full-width .container-promo .promo-cta .promo-text {
    display: none; }
    @media (min-width: 1000px) {
      .full-width .container-promo .promo-cta .promo-text {
        display: block; } }

.full-width .container-promo .promo-bg-none {
  background-color: none; }

.full-width .container-promo .promo-bg-white {
  background-color: none; }
  @media (min-width: 1000px) {
    .full-width .container-promo .promo-bg-white {
      background-color: #ffffff; } }

.two-column .container-promo .promo-cta,
.three-column .container-promo .promo-cta,
.four-column .container-promo .promo-cta {
  left: 2rem;
  bottom: 2rem;
  width: 80%; }
  @media (min-width: 1000px) {
    .two-column .container-promo .promo-cta,
    .three-column .container-promo .promo-cta,
    .four-column .container-promo .promo-cta {
      bottom: 1rem;
      left: 1rem; } }
  @media (min-width: 1200px) {
    .two-column .container-promo .promo-cta,
    .three-column .container-promo .promo-cta,
    .four-column .container-promo .promo-cta {
      bottom: 2rem;
      left: 2rem; } }
  @media (min-width: 1000px) {
    .two-column .container-promo .promo-cta .cta-link-text,
    .three-column .container-promo .promo-cta .cta-link-text,
    .four-column .container-promo .promo-cta .cta-link-text {
      min-width: 1rem;
      padding: 1rem; } }
  .two-column .container-promo .promo-cta .promo-headline,
  .three-column .container-promo .promo-cta .promo-headline,
  .four-column .container-promo .promo-cta .promo-headline {
    font-family: "Europa", "Open Sans", sans-serif;
    font-size: 1.5rem;
    font-weight: bold;
    color: #ffffff;
    text-shadow: 4px 1px 4px rgba(0, 0, 0, 0.35); }
  .two-column .container-promo .promo-cta .promo-text,
  .three-column .container-promo .promo-cta .promo-text,
  .four-column .container-promo .promo-cta .promo-text {
    display: none; }

.two-column .container-promo .promo-bg-none,
.three-column .container-promo .promo-bg-none,
.four-column .container-promo .promo-bg-none {
  background-color: none; }

.two-column .container-promo .promo-bg-white,
.three-column .container-promo .promo-bg-white,
.four-column .container-promo .promo-bg-white {
  background-color: none; }
  .two-column .container-promo .promo-bg-white .promo-text-gray-dark,
  .three-column .container-promo .promo-bg-white .promo-text-gray-dark,
  .four-column .container-promo .promo-bg-white .promo-text-gray-dark {
    color: #ffffff; }

@media (min-width: 1000px) {
  .four-column .container-promo .promo-cta {
    padding: 0;
    bottom: 1rem;
    left: 1rem; } }

.four-column .container-promo .promo-cta .cta-link-text {
  min-width: 1rem;
  padding: 1rem; }

@media (min-width: 1000px) {
  .content_section .full-width .content-testimonial {
    max-width: 48.2rem;
    margin: 0 auto; } }

@media (min-width: 1200px) {
  .content_section .full-width .content-testimonial {
    padding-left: 2rem;
    padding-right: 2rem; } }

.content_section .full-width .content-testimonial,
.content_section .two-column .content-testimonial,
.content_section .three-column .content-testimonial,
.content_section .four-column .content-testimonial {
  padding-left: 2rem;
  padding-right: 2rem;
  width: 100%; }
  @media (min-width: 576px) {
    .content_section .full-width .content-testimonial,
    .content_section .two-column .content-testimonial,
    .content_section .three-column .content-testimonial,
    .content_section .four-column .content-testimonial {
      padding-right: 0;
      padding-left: 0; } }
  .content_section .full-width .content-testimonial .testimonial-source,
  .content_section .two-column .content-testimonial .testimonial-source,
  .content_section .three-column .content-testimonial .testimonial-source,
  .content_section .four-column .content-testimonial .testimonial-source {
    padding-top: 0.5rem; }

.calendar_section .single-img-container,
.content_section .single-img-container {
  background-color: transparent;
  margin-bottom: 2rem;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 18.2rem; }
  .calendar_section .single-img-container.img-custom-post,
  .content_section .single-img-container.img-custom-post {
    margin-bottom: 1rem; }
  .calendar_section .single-img-container .single-image,
  .content_section .single-img-container .single-image {
    width: 100%;
    min-height: 18.2rem;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat; }

@media (min-width: 576px) {
  .calendar_section .single-img-text,
  .content_section .single-img-text {
    padding-right: 0;
    padding-left: 0; } }

.calendar_section .full-width .single-img-container,
.content_section .full-width .single-img-container {
  width: 100%;
  min-height: 15rem; }
  .calendar_section .full-width .single-img-container .single-image,
  .content_section .full-width .single-img-container .single-image {
    width: 100%;
    min-height: 15rem; }
    @media (min-width: 576px) {
      .calendar_section .full-width .single-img-container .single-image,
      .content_section .full-width .single-img-container .single-image {
        min-height: 20.7rem; } }
    @media (min-width: 768px) {
      .calendar_section .full-width .single-img-container .single-image,
      .content_section .full-width .single-img-container .single-image {
        min-height: 13rem; } }
    @media (min-width: 768px) {
      .calendar_section .full-width .single-img-container .single-image,
      .content_section .full-width .single-img-container .single-image {
        min-height: 29rem; } }
    @media (min-width: 1000px) {
      .calendar_section .full-width .single-img-container .single-image,
      .content_section .full-width .single-img-container .single-image {
        min-height: 34rem; } }
    @media (min-width: 1200px) {
      .calendar_section .full-width .single-img-container .single-image,
      .content_section .full-width .single-img-container .single-image {
        max-width: 85.25rem;
        height: 48rem;
        margin: 0 auto; } }

.calendar_section .full-width .single-img-text .single-img-headline,
.content_section .full-width .single-img-text .single-img-headline {
  text-align: center; }

.calendar_section .full-width .single-img-text .cta-inline,
.calendar_section .full-width .single-img-text .cta-button,
.content_section .full-width .single-img-text .cta-inline,
.content_section .full-width .single-img-text .cta-button {
  display: block;
  margin: 0 auto;
  width: fit-content; }

@media (min-width: 1200px) {
  .calendar_section .full-width .single-img-text,
  .content_section .full-width .single-img-text {
    max-width: 76.62rem;
    margin: 1rem auto; } }

@media (min-width: 768px) {
  .calendar_section .two-column .single-img-container .single-image,
  .content_section .two-column .single-img-container .single-image {
    min-height: 27rem;
    max-height: fit-content; } }

@media (min-width: 1000px) {
  .calendar_section .two-column .single-img-container .single-image,
  .content_section .two-column .single-img-container .single-image {
    min-height: 18rem;
    max-height: fit-content; } }

@media (min-width: 1200px) {
  .calendar_section .two-column .single-img-container .single-image,
  .content_section .two-column .single-img-container .single-image {
    min-height: 22.5rem; } }

@media (min-width: 1600px) {
  .calendar_section .two-column .single-img-container .single-image,
  .content_section .two-column .single-img-container .single-image {
    min-height: 30rem; } }

@media (min-width: 768px) {
  .calendar_section .three-column .single-img-container .single-image,
  .content_section .three-column .single-img-container .single-image {
    min-height: 27rem; } }

@media (min-width: 1000px) {
  .calendar_section .three-column .single-img-container .single-image,
  .content_section .three-column .single-img-container .single-image {
    min-height: 12rem; } }

@media (min-width: 1200px) {
  .calendar_section .three-column .single-img-container .single-image,
  .content_section .three-column .single-img-container .single-image {
    min-height: 15rem; } }

@media (min-width: 1600px) {
  .calendar_section .three-column .single-img-container .single-image,
  .content_section .three-column .single-img-container .single-image {
    min-height: 19rem; } }

@media (min-width: 576px) {
  .calendar_section .four-column .single-img-container,
  .content_section .four-column .single-img-container {
    min-height: 18.7rem; } }

@media (min-width: 768px) {
  .calendar_section .four-column .single-img-container,
  .content_section .four-column .single-img-container {
    min-height: 13rem; } }

@media (min-width: 1000px) {
  .calendar_section .four-column .single-img-container,
  .content_section .four-column .single-img-container {
    min-height: 18rem; } }

@media (min-width: 1200px) {
  .calendar_section .four-column .single-img-container,
  .content_section .four-column .single-img-container {
    min-height: 10rem; } }

@media (min-width: 1600px) {
  .calendar_section .four-column .single-img-container,
  .content_section .four-column .single-img-container {
    min-height: 15rem; } }

@media (min-width: 576px) {
  .calendar_section .four-column .single-img-container .single-image,
  .content_section .four-column .single-img-container .single-image {
    min-height: 18.7rem; } }

@media (min-width: 768px) {
  .calendar_section .four-column .single-img-container .single-image,
  .content_section .four-column .single-img-container .single-image {
    min-height: 13rem; } }

@media (min-width: 1000px) {
  .calendar_section .four-column .single-img-container .single-image,
  .content_section .four-column .single-img-container .single-image {
    min-height: 18rem; } }

@media (min-width: 1200px) {
  .calendar_section .four-column .single-img-container .single-image,
  .content_section .four-column .single-img-container .single-image {
    min-height: 10rem; } }

@media (min-width: 1600px) {
  .calendar_section .four-column .single-img-container .single-image,
  .content_section .four-column .single-img-container .single-image {
    min-height: 15rem; } }

.calendar_section .row-image,
.content_section .row-image {
  border-top: 1px solid #90969f; }
  @media (min-width: 1000px) {
    .calendar_section .row-image,
    .content_section .row-image {
      border: none;
      margin-left: unset;
      margin-right: unset; } }
  .calendar_section .row-image:last-of-type,
  .content_section .row-image:last-of-type {
    border-bottom: 1px solid #90969f; }
    @media (min-width: 1000px) {
      .calendar_section .row-image:last-of-type,
      .content_section .row-image:last-of-type {
        border: none; } }
  .calendar_section .row-image .single-img-container,
  .content_section .row-image .single-img-container {
    display: none;
    margin-bottom: 2rem; }
    @media (min-width: 1000px) {
      .calendar_section .row-image .single-img-container,
      .content_section .row-image .single-img-container {
        display: block;
        margin-bottom: 0;
        max-height: 15rem; } }
    @media (min-width: 1200px) {
      .calendar_section .row-image .single-img-container,
      .content_section .row-image .single-img-container {
        display: block;
        margin-bottom: 0;
        max-height: 15rem; } }
    .calendar_section .row-image .single-img-container .single-image,
    .content_section .row-image .single-img-container .single-image {
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
      @media (min-width: 1000px) {
        .calendar_section .row-image .single-img-container .single-image,
        .content_section .row-image .single-img-container .single-image {
          display: block;
          min-height: 15rem; } }
      @media (min-width: 1200px) {
        .calendar_section .row-image .single-img-container .single-image,
        .content_section .row-image .single-img-container .single-image {
          display: block;
          height: 100%; } }
  .calendar_section .row-image .single-img-text,
  .content_section .row-image .single-img-text {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    margin-bottom: 0;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative; }
    @media (min-width: 576px) {
      .calendar_section .row-image .single-img-text,
      .content_section .row-image .single-img-text {
        padding-top: 1rem;
        padding-bottom: 1rem;
        padding-right: 2rem; } }
    @media (min-width: 768px) {
      .calendar_section .row-image .single-img-text,
      .content_section .row-image .single-img-text {
        padding-top: 1.5rem;
        padding-bottom: 1.5rem; } }
    @media (min-width: 1000px) {
      .calendar_section .row-image .single-img-text,
      .content_section .row-image .single-img-text {
        display: block;
        padding-left: 0.5rem; } }
    .calendar_section .row-image .single-img-text p,
    .content_section .row-image .single-img-text p {
      display: none; }
      @media (min-width: 1000px) {
        .calendar_section .row-image .single-img-text p,
        .content_section .row-image .single-img-text p {
          display: block; } }
    .calendar_section .row-image .single-img-text .single-img-headline,
    .content_section .row-image .single-img-text .single-img-headline {
      color: #304f6c !important; }
      @media (min-width: 1000px) {
        .calendar_section .row-image .single-img-text .single-img-headline,
        .content_section .row-image .single-img-text .single-img-headline {
          color: #071c2f; } }
    .calendar_section .row-image .single-img-text .cta-inline,
    .content_section .row-image .single-img-text .cta-inline {
      margin-bottom: 0;
      position: absolute;
      right: 1rem; }
      @media (min-width: 1000px) {
        .calendar_section .row-image .single-img-text .cta-inline,
        .content_section .row-image .single-img-text .cta-inline {
          margin-bottom: 1rem;
          left: 0;
          right: 100%; } }
      .calendar_section .row-image .single-img-text .cta-inline .cta-link-text,
      .content_section .row-image .single-img-text .cta-inline .cta-link-text {
        font-size: 0; }
        @media (min-width: 1000px) {
          .calendar_section .row-image .single-img-text .cta-inline .cta-link-text,
          .content_section .row-image .single-img-text .cta-inline .cta-link-text {
            font-size: 1rem; } }
      .calendar_section .row-image .single-img-text .cta-inline .icon-link-internal.cta-icon,
      .content_section .row-image .single-img-text .cta-inline .icon-link-internal.cta-icon {
        width: 30px;
        height: 30px; }
        @media (min-width: 1000px) {
          .calendar_section .row-image .single-img-text .cta-inline .icon-link-internal.cta-icon,
          .content_section .row-image .single-img-text .cta-inline .icon-link-internal.cta-icon {
            width: 14px;
            height: 14px; } }

.my-account-nologo {
  margin-top: 25px !important; }

/* Mobile Styles */
@media screen and (max-width: 1024px) {
  #dashButtons {
    margin-top: 0px; } }

/* Mobile Styles */
@media screen and (max-width: 999px) {
  h1 {
    text-align: center; }
  #my-account-company-name {
    float: unset;
    margin-top: unset;
    height: unset;
    line-height: unset;
    font-size: 1.1em; }
  .mobile-label {
    display: flex;
    font-weight: bold; }
  .section-profile select {
    width: 100% !important;
    max-width: 600px !important; }
  #myAccountCoffee, #myAccountTea, #myAccountLab {
    clear: both;
    margin-left: unset; }
  #my-account-left-navigation {
    display: block;
    width: 100%;
    text-align: center;
    clear: both !important; }
  #customerLogo_dashboard {
    display: block;
    width: 100%;
    clear: both;
    left: 0;
    right: 0;
    text-align: center;
    max-width: unset; }
  .flexTable {
    margin-top: 7px; }
  table.flexTable {
    width: 100%;
    margin: auto; }
  table.flexTable thead {
    display: none; }
  table.flexTable tr td {
    display: flex;
    vertical-align: middle;
    max-width: 101%;
    font-size: .85em;
    padding: 2px; }
  table.flexTable td::before {
    content: attr(label);
    font-weight: bold;
    width: 130px;
    min-width: 130px;
    font-weight: bold;
    text-align: center;
    background-color: transparent;
    text-align: left;
    padding-left: 10px;
    height: unset;
    margin: -2px;
    margin-right: 6px; }
  table.flexTable tr td:nth-child(1), table.flexTable tr th:nth-child(1) {
    display: none; }
  table.flexTable tr td:last-child {
    border-bottom: 1px solid rgba(75, 75, 75, 0.1);
    margin-bottom: 10px;
    padding-bottom: 10px;
    width: 100%;
    font-size: 1.3em;
    background-color: transparent; }
  table.flexTable tr td:last-child::before {
    display: none; }
  .sample-feedback-header {
    width: 110%;
    margin: auto; }
  .sampleRequests {
    width: 110%;
    margin: auto; }
  #dashDropdown {
    display: block;
    width: 100%;
    text-align: left !important; }
  #dashButtons {
    max-height: 15px; }
    #dashButtons div {
      max-width: 28vw !important;
      min-width: 25vw !important; }
      #dashButtons div img {
        max-height: 40px; }
  #dashboard_body {
    border-top: none !important;
    margin-left: 90px;
    min-height: unset !important; }
  .logoutBtn {
    display: none; }
  .nav_container {
    position: relative; }
  #my-account-body {
    width: 100% !important;
    margin-top: 5px; }
  .dash_drop, #my-account-left-navigation select {
    width: 100%;
    display: block !important;
    height: 50px;
    font-size: 1.75em;
    padding: 4px;
    background: #304f6c;
    color: #ffffff;
    text-align: center;
    font-weight: bold; }
  #my-account-body .title {
    display: block;
    width: 100%;
    margin: 1px;
    padding: 1px;
    text-align: center;
    padding-top: 10px; }
  #my-account-left-navigation .title {
    display: block;
    width: 100%;
    margin: 1px;
    padding: 1px;
    text-align: left;
    padding-top: 10px; }
  #dashboard_body {
    margin: auto;
    margin-top: 0px;
    margin-bottom: 0px;
    padding: 0px;
    clear: both;
    display: block;
    margin-top: 15px !important;
    border-top: 1px solid rgba(7, 28, 47, 0.2) !important;
    width: 110% !important;
    margin-left: -5%;
    margin-right: -5%; }
  #my-account-logo-img {
    padding: 15px;
    height: 120px;
    width: 100%;
    max-width: 768px;
    background-size: contain;
    background-repeat: no-repeat;
    display: inline-block;
    background-position: center center;
    display: block;
    clear: both;
    float: unset !important;
    margin: auto;
    margin-bottom: 15px; }
  #my-account-left-navigation {
    width: 100%;
    clear: both;
    margin: 0px;
    padding: 0px;
    margin-top: 46px; }
  .my-account-nologo {
    margin-top: 46px !important; } }

.dash_nav::-webkit-scrollbar-track {
  -webkit-box-shadow: unset;
  background-color: #ffffff;
  border-radius: 4px;
  width: 4px;
  height: 4px; }

.dash_nav::-webkit-scrollbar {
  width: 4px;
  height: 4px;
  background-color: #ffffff; }

.dash_nav::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: #bfbfbf;
  margin-top: 10px; }

.dash_nav::-webkit-scrollbar-thumb, .dash_nav::-webkit-scrollbar, .dash_nav::-webkit-scrollbar-track {
  visibility: hidden;
  transition: all;
  transition-duration: .5s; }

.dash_nav:hover::-webkit-scrollbar-thumb, .dash_nav:hover::-webkit-scrollbar, .dash_nav:hover::-webkit-scrollbar-track {
  visibility: visible;
  transition: all;
  transition-duration: 1.5s; }

.nologo {
  display: none !important; }

.card-group-header {
  display: block;
  width: 60%;
  float: left; }

.card-selection {
  display: flex;
  text-align: right;
  float: right; }

.card-container {
  display: block;
  padding: 4px;
  width: 100%;
  padding-bottom: 12px;
  padding-top: 8px; }

html li {
  list-style: none !important;
  list-style-type: none !important; }

div.woocommerce {
  margin-top: unset !important; }

.chosen-container, .chosen-container-single {
  max-width: 75% !important; }

.search-scroll-container {
  height: 100% !important;
  position: -webkit-sticky !important;
  position: sticky !important;
  max-height: calc(100vh - 9rem) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  top: 0 !important;
  bottom: 0 !important; }

tr.table-row td, tr.table-alt-row td {
  border-bottom: 1px solid #cfcfcf;
  border-collapse: separate; }

.table-row {
  background: transparent;
  margin-bottom: 1px;
  border-collapse: separate;
  border-bottom: 1px solid transparent; }

.table-alt-row {
  background: rgba(239, 239, 239, 0.75);
  margin-bottom: 1px;
  border-collapse: separate;
  border-bottom: 1px solid transparent; }

@media screen and (max-width: 768px) {
  .table-alt-row {
    background: transparent; }
  tr.table-row td, tr.table-alt-row td {
    border-bottom: unset; }
  tr.table-row td, tr.table-alt-row td {
    border-bottom: 0px solid transparent;
    border-collapse: collapse; }
  .numberCell {
    display: block !important;
    width: 16% !important;
    float: left !important;
    left: 0 !important;
    clear: left !important; }
  .numberCell.tea {
    width: 30% !important; }
    .numberCell.tea .h7 {
      font-size: .9rem; }
  .nameCell {
    display: block !important;
    width: 83% !important;
    float: left !important;
    right: 0 !important;
    clear: right !important;
    text-overflow: '...';
    max-width: 83%; }
    .nameCell .h7 {
      font-size: 1.04em !important; }
  .nameCell.tea {
    padding-left: 17px;
    width: 30%; }
    .nameCell.tea .h7 {
      font-size: .9rem; }
  .imageCell.tea {
    width: 40%;
    vertical-align: top !important; }
  .cuppingCell {
    display: block !important;
    width: 72% !important;
    clear: both !important;
    float: right;
    margin-top: -8px;
    margin-bottom: -5px; }
  .qtyCell, .priceCell, .positionCell, .contractCell {
    float: left !important;
    display: block !important;
    clear: both !important;
    width: 98% !important; }
  .positionCell {
    margin-top: 13px !important; }
  .d-label-sm-none {
    display: none !important; } }

.os-past-due {
  color: red;
  font-weight: bold;
  font-style: italic; }

tr.os-past-due td {
  background-color: rgba(255, 0, 0, 0.15) !important; }

.os-paid {
  color: green;
  font-weight: bold;
  font-style: italic; }

tr.os-paid td {
  background-color: green !important; }

.os-processing {
  color: blue;
  font-weight: bold;
  font-style: italic; }

tr.os-processing td {
  background-color: blue !important; }

.offering-table {
  margin-top: -2px;
  min-height: 125px !important; }

.offering-table td {
  vertical-align: top;
  font-size: 0.9em !important; }

.disabled-sample {
  background-color: transparent !important;
  font-weight: bold;
  color: #393939 !important;
  margin-top: 15px;
  border: none;
  min-width: 168.23px;
  cursor: default;
  margin-top: 10px; }

.qtyCell, .priceCell, .contractCell {
  width: 11%;
  text-align: right; }

.positionCell {
  width: 10%;
  text-align: right; }

.numberCell {
  width: 10%; }

.cuppingCell {
  width: 25%;
  text-align: right; }

.nameCell {
  width: 28%; }

.h7 {
  font-size: .99rem; }

.imageCell {
  width: 7%;
  vertical-align: middle !important; }

.groupPositionCell {
  width: 10%; }

.groupThruCell {
  width: 10%; }

.groupBagsCell {
  width: 15%; }

.groupPriceCell {
  width: 20%; }
  .groupPriceCell p {
    font-size: 0.88rem !important; }

.sku-group-name {
  width: 45%;
  vertical-align: middle;
  padding: 0px;
  margin: 0px; }

.offering-flavor-note {
  float: left;
  padding: 4px;
  text-align: center;
  font-size: 10px;
  margin-top: -3px;
  line-height: 10px; }

.offering-productImage {
  width: 100%;
  border: none;
  margin-left: -7px; }

.skuGrouping {
  text-overflow: '...' !important;
  overflow: hidden !important;
  padding-left: 12px;
  margin-bottom: 0px; }

.toggleGroup {
  cursor: pointer;
  border-top: 2px solid rgba(200, 200, 200, 0.75);
  padding: 0px !important; }

@media screen and (max-width: 767px) {
  .skuGrouping {
    margin-top: -10px;
    min-height: 40px; } }

.skuGrouping:after, skuGrouping::after {
  top: 41% !important; }

.skuGroupReserve::after {
  padding: 0px !important; }

.sku-group-table {
  width: 100%; }

.sku-group-table tr td {
  font-size: .85em; }

.sticky-header {
  position: -webkit-sticky;
  position: sticky;
  top: 35px;
  z-index: 100; }

.header-top-edge-dark-blue {
  width: 100%;
  height: 27px;
  margin-bottom: -17px;
  background-image: url(../img/rough-edge-dark-blue.svg);
  background-repeat: no-repeat;
  background-size: cover; }

.header-top-edge-green {
  width: 100%;
  height: 27px;
  margin-bottom: -17px;
  background-image: url(../img/rough-edge-green.svg);
  background-repeat: no-repeat;
  background-size: cover; }

.header-top-edge-blue {
  width: 100%;
  height: 27px;
  margin-bottom: -17px;
  background-image: url(../img/rough-edge-blue.svg);
  background-repeat: no-repeat;
  background-size: cover; }

.sticky-header-category p em, .sticky-header-category-admin p em {
  font-size: .70em !important;
  font-weight: bold !important;
  text-transform: capitalize !important;
  margin-left: 10px !important; }

.sachetperunit {
  font-weight: bold;
  color: #304f6c;
  white-space: nowrap; }

.offering.tea {
  margin-top: 7px !important;
  margin-bottom: 7px !important;
  box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.25) !important;
  background-color: transparent !important; }

.sample-request-button-cell {
  vertical-align: middle !important;
  text-align: center !important;
  display: table-cell !important; }

body {
  overflow-x: hidden; }

.coffee-grouping-name {
  width: 100%;
  padding-top: 10px;
  padding-bottom: 10px; }

@media screen and (max-width: 950px) {
  .imageCell {
    vertical-align: top !important; }
  .offering-item .skuGrouping {
    font-size: 1.2em; }
  .sku-group-table {
    margin-left: 10px; }
  .sku-group-table .sku-group-name {
    display: block;
    width: 100% !important; }
  .sku-group-table .sku-group-name div {
    padding-left: 10px; }
  .sku-group-table .sku-group-table-header {
    display: block;
    width: 100%; }
  .sku-group-table .sku-group-table-body {
    display: block;
    width: 100%; }
  .sku-group-table-header td {
    display: inline-block;
    text-align: left; }
  .sku-group-table-body td {
    display: inline-block;
    text-align: right; }
  .label {
    margin-bottom: unset; }
  .groupPositionCell {
    width: 20% !important; }
  .groupThruCell {
    width: 20% !important; }
  .groupBagsCell {
    width: 25% !important; }
  .groupPriceCell {
    width: 30% !important; }
  .skuGrouping:after, skuGrouping::after {
    top: 6px !important; }
  .offering-flavor-note {
    float: left;
    padding: 4px;
    text-align: center;
    font-size: 10px;
    margin-top: -5px;
    line-height: 10px; }
  .sample-request-button-cell {
    width: 100% !important;
    display: inline-block !important;
    float: left; }
  .d-none-sm2 {
    display: none; }
  .coffee-grouping-name {
    width: 100% !important; }
  .assessment-label {
    padding: 0px;
    margin: 0px;
    height: 13px;
    line-height: 13px; }
  .assessment-label-container {
    position: relative; } }

.assessment-label-container {
  position: static; }

.assessment-label {
  padding: 0px;
  margin: 0px;
  height: 13px;
  line-height: 13px;
  display: inline-flex;
  margin-right: 4px; }

.tribe-events-event-cost form {
  width: inherit;
  padding: inherit;
  margin: 0; }

.events-list.tribe-bar-is-disabled #tribe-events-content-wrapper {
  max-width: unset; }

.tribe-events-list .tribe-events-loop {
  /*max-width: unset;*/ }
  .tribe-events-list .tribe-events-loop .tribe-button {
    border-style: solid;
    background-color: #0ea0d7 !important;
    border-color: #0ea0d7; }
    .tribe-events-list .tribe-events-loop .tribe-button:hover {
      opacity: 0.8; }
  .tribe-events-list .tribe-events-loop .tribe-event-featured {
    background-color: transparent !important; }
    .tribe-events-list .tribe-events-loop .tribe-event-featured .tribe-button {
      border-style: solid;
      background-color: #fff !important;
      color: #0ea0d7 !important; }
      .tribe-events-list .tribe-events-loop .tribe-event-featured .tribe-button:hover {
        border-color: #0ea0d7;
        background-color: #0ea0d7 !important;
        color: #fff !important; }

.products-panel {
  width: 100%;
  display: flex;
  z-index: 98 !important; }

.sticky-header-category {
  z-index: 102 !important; }

@media screen and (min-width: 767px) {
  .tea.sticky-header {
    top: 128px !important; } }

@media screen and (max-width: 767px) {
  .tea.sticky-header {
    top: 78px !important; } }

.lineup-dec {
  background-color: #e8eaeb;
  font-weight: bold;
  font-size: 18px;
  padding: 8px; }

.cart-location {
  color: #ffffff;
  clear: both;
  position: absolute;
  margin-left: 50px;
  margin-top: -3px;
  font-size: 11px;
  font-weight: bold;
  text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.65);
  border-radius: 55%;
  background-color: #578587;
  height: 24px;
  width: 24px;
  box-shadow: 3px 3px 5px rgba(1, 1, 1, 0.35);
  padding: 2px;
  padding-top: 4px; }

.navbar-logo-mobile .header-cart-location {
  font-size: .75em;
  margin-top: -12px; }

.cart-location:hover {
  color: #ffffff !important; }

.cart-location:empty {
  display: none; }

.header-cart-location, .header-cart-location:hover {
  color: #ffffff;
  font-weight: normal !important;
  text-decoration: none !important; }

.shopping-cart-location {
  font-weight: bold !important;
  text-align: center !important;
  font-style: oblique;
  margin-top: 4px;
  margin-bottom: 7px;
  font-size: .98em;
  padding-top: 4px;
  padding-bottom: 6px;
  text-shadow: 2px 2px 1px rgba(90, 90, 90, 0.2);
  color: red; }

#product-detail-window {
  box-shadow: 7px 7px 11px rgba(10, 10, 10, 0.2);
  overflow-x: hidden;
  overflow-y: hidden;
  z-index: 1000000;
  position: fixed;
  background-color: #ffffff;
  display: none;
  border-top: #b79220 5px solid; }
  #product-detail-window .sticky-header {
    top: 0px !important; }
  #product-detail-window header {
    display: block;
    height: 40px;
    font-weight: bold;
    background-color: #071c2f;
    color: #ffffff;
    font-size: 1.75em;
    padding-left: 8px; }
  #product-detail-window div.iframe {
    width: 100%;
    height: 100%;
    max-height: 100%;
    overflow-y: auto; }
    #product-detail-window div.iframe #footer, #product-detail-window div.iframe .header-full, #product-detail-window div.iframe .header-mobile, #product-detail-window div.iframe .nav-bar-dark, #product-detail-window div.iframe .header, #product-detail-window div.iframe #header-nav, #product-detail-window div.iframe .header-nav {
      display: none !important; }
  #product-detail-window div.info-pop-up-close {
    padding-top: 3px;
    right: 0;
    position: absolute;
    margin-right: 20px;
    margin-top: 7px;
    z-index: 10000; }
  #product-detail-window .offering-table {
    min-height: 125px !important; }

body.no-scroll {
  overflow-y: hidden; }

@media screen and (max-width: 1510px) {
  .header-buttons {
    margin-top: -2px !important; } }

@media screen and (max-width: 767px) {
  li.slide {
    background-size: contain !important; }
    li.slide video {
      max-width: 93vw !important;
      max-height: 35vh !important; }
  div.header-full .header-cart-location {
    display: none !important; }
  .cart-section a.btn-bg-green {
    width: 100%; }
  .d-m-only {
    display: block !important; }
  #header-nav .header-mobile {
    max-width: unset !important; }
  .shim-spacer {
    height: 66px !important;
    display: block;
    width: 100%;
    background: transparent;
    border: 0px;
    padding: 0px;
    margin: 0px;
    left: 0;
    top: 0;
    clear: both; }
  .mobile-admin-header-spacer {
    height: 35px !important; }
  .offerings-content .section_page_header {
    padding-top: 0.80em !important; }
  #server-id {
    opacity: 0.8 !important;
    top: -4px !important;
    left: 0 !important;
    height: 18px !important;
    white-space: nowrap !important;
    width: 100% !important;
    font-size: 8px;
    padding: 0px;
    margin: 0px;
    text-align: left; }
    #server-id br {
      display: none; }
  .skuGrouping.text-blue.h6 {
    font-size: 1.3em !important;
    margin-left: -3px !important;
    max-width: 95vw;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden; }
  .sku-group-name, .rotate-icon, .rotate-icon2, .rotate-icon-white, .rotate-icon-white2 {
    position: relative !important; }
  .skuGrouping {
    padding-left: 30px !important; }
    .skuGrouping :after {
      top: 6px !important; }
  .section_page_content #search-container {
    top: 76px !important;
    padding-bottom: 30px !important; }
    .section_page_content #search-container .close-icon2:after {
      margin-top: 4px !important;
      right: 0 !important;
      top: 1rem !important; }
    .section_page_content #search-container .close-icon2 {
      margin-top: 10px !important; }
    .section_page_content #search-container .eca_section .eca-items {
      margin-top: -60px !important; }
  #filterControlBox .eca_section .eca-items {
    margin-top: -60px !important; }
  #filterControlBox {
    padding-bottom: 110px !important; }
  .imageCell.tea {
    width: 30% !important; }
  .nameCell.tea {
    width: 99% !important;
    padding: 3px !important;
    font-size: .99em !important; }
  .numberCell.tea {
    width: 99% !important; }
  .numberCell.tea span.h7 {
    float: right !important;
    display: block;
    zoom: 1;
    margin-top: -20px;
    text-align: right;
    width: 50%; }
  div.form-group.sticky-button-container {
    margin-bottom: 1rem !important;
    min-height: 65px !important;
    height: unset !important; }
  .offering-item {
    padding-left: 15px;
    padding-right: 0px !important; }
  .info-pop-up {
    padding: 0px;
    background-color: #ffffff;
    box-shadow: 8px 8px 11px rgba(50, 50, 50, 0.3);
    min-width: 100vw !important;
    min-height: unset !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    z-index: 9999999;
    margin-top: 0% !important;
    margin-left: 0px !important;
    position: fixed; }
  .empty_cart {
    margin-top: -40px !important; }
  .cart-group-header {
    display: flex !important; }
    .cart-group-header h3 {
      border-bottom: 1px #dfdfdf solid; }
    .cart-group-header span, .cart-group-header em {
      font-size: .75em; }
  .offering-item {
    padding-left: 4px !important;
    padding-right: 4px !important;
    max-width: 100vw !important; }
  .skuGrouping::after {
    left: 14px !important; }
  .rotate-icon3::after {
    left: 14px !important; }
  .shipment-history {
    float: none !important;
    margin-top: 0px !important;
    font-weight: bold !important;
    font-size: 1em !important;
    text-align: center !important;
    clear: both !important;
    display: block !important;
    margin-bottom: 15px !important; }
  .myaccount-reserve-container {
    display: block;
    margin: 0px;
    padding: 0px;
    margin-left: -32.5px !important;
    margin-right: -36.5px !important; }
  #skuReserve .dashicons {
    color: #ffffff !important; }
  .card-group-header {
    display: inline !important;
    float: none !important;
    width: 100% !important; }
  .card-selection {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    margin-bottom: 14px !important;
    float: none !important; }
    .card-selection a {
      clear: both;
      width: 100%;
      margin: 5px; }
  .how-to-graphic-container {
    width: 100vw;
    padding: 14px; }
  .tiles-outer-container {
    display: block;
    height: 55vh;
    overflow-y: scroll;
    overflow-x: hidden; }
  .intro-text {
    font-size: .9em;
    text-align: center;
    font-weight: bold; }
  .intro-logo {
    max-width: 75px;
    text-align: center;
    margin: auto;
    clear: both;
    display: block; }
    .intro-logo ::after {
      width: 100%;
      display: block; }
  .section-header {
    color: #071c2f;
    font-size: 1.35em;
    font-weight: bold;
    text-align: center; }
  .tile-container {
    max-width: 139px;
    min-width: 139px;
    display: block;
    min-height: 196px;
    clear: both;
    margin: auto; }
  .section-tile-outer {
    border: 4px solid #071c2f;
    min-height: 146px;
    display: block;
    padding: 3px;
    width: 100%; }
  .section-tile-inner {
    width: 100%;
    height: 100%;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    background-color: #071c2f;
    padding: 6px;
    min-height: 132px; }
    .section-tile-inner em {
      font-size: .55em; }
  .arrow-container-right {
    color: #071c2f;
    margin: 15px !important;
    display: block !important;
    width: 100% !important;
    min-height: 35px !important;
    line-height: 35px !important;
    font-size: 28px !important;
    font-weight: bold !important;
    margin: auto !important;
    clear: both !important;
    transform: rotate(90deg) !important; }
  .check-label {
    margin-top: -28px; }
  #product-detail-window {
    width: 95vw;
    height: 95vh;
    top: 2.5vh;
    left: 2.5vw; }
    #product-detail-window header {
      font-size: 1.5vw;
      padding-top: 4px;
      height: 30px; }
    #product-detail-window main {
      margin-top: -115px; }
  .checkoutQuestion {
    max-width: 95% !important;
    display: inline !important;
    min-width: unset !important;
    margin-bottom: -21px; }
  #bad_shipping_message {
    font-weight: bold;
    color: red;
    float: none !important;
    max-width: 100% !important;
    padding-left: 0px !important;
    text-align: left; }
  #rny_mini_cart {
    position: absolute !important;
    top: 18px !important;
    width: 100vw !important;
    right: 0% !important;
    display: none; }
    #rny_mini_cart .arrow-up {
      margin-top: -1px; }
    #rny_mini_cart .cart-container {
      background: rgba(255, 255, 255, 0.99);
      height: 95vh !important;
      max-height: 95vh !important;
      padding: 6px;
      /* ===== Scrollbar CSS ===== */
      /* Firefox */
      /* Chrome, Edge, and Safari */ }
      #rny_mini_cart .cart-container .mini-cart-overflow {
        max-height: 275px;
        overflow-x: hidden;
        min-height: 275px;
        background: transparent !important;
        overflow-y: visible;
        width: calc(100% + 8px); }
      #rny_mini_cart .cart-container .mini-cart-overflow {
        scrollbar-width: auto;
        scrollbar-color: #dfdfdf #ffffff; }
      #rny_mini_cart .cart-container .mini-cart-overflow::-webkit-scrollbar {
        width: 11px; }
      #rny_mini_cart .cart-container .mini-cart-overflow::-webkit-scrollbar-track {
        background: #ffffff; }
      #rny_mini_cart .cart-container .mini-cart-overflow::-webkit-scrollbar-thumb {
        background-color: #dfdfdf;
        border-radius: 12px;
        border: 2px solid #ffffff; }
      #rny_mini_cart .cart-container div {
        background: transparent none !important; }
      #rny_mini_cart .cart-container table.cart-headers {
        width: 100%; }
        #rny_mini_cart .cart-container table.cart-headers td {
          font-size: 1em !important;
          font-weight: bold;
          color: #0A1C2E !important; }
        #rny_mini_cart .cart-container table.cart-headers th {
          font-size: 1.02em !important;
          background-color: #dfdfdf;
          font-weight: 700 !important;
          text-align: center;
          border-bottom: 2px solid #cfcfcf;
          height: 25px;
          color: #0A1C2E !important; }
      #rny_mini_cart .cart-container table.cart-items {
        width: calc( 100% - 23px); }
        #rny_mini_cart .cart-container table.cart-items * {
          color: #0A1C2E !important; }
        #rny_mini_cart .cart-container table.cart-items td {
          font-size: .99em;
          color: #0A1C2E !important; }
      #rny_mini_cart .cart-container table.cart-totals {
        width: 100%; }
        #rny_mini_cart .cart-container table.cart-totals * {
          color: #0A1C2E !important; }
        #rny_mini_cart .cart-container table.cart-totals td {
          font-size: 1.12em !important;
          font-weight: bold;
          color: #071c2f !important; }
  .OurTeamHeaders {
    width: 100% !important;
    margin: auto !important;
    max-width: 99.99vw !important;
    top: 75px !important; }
  .teamGrid {
    clear: both !important;
    display: block !important;
    margin: auto !important;
    background-color: #ffffff;
    z-index: 8;
    position: sticky; }
  #teamSpacer {
    height: 120px; }
  .employee-thumb {
    position: relative;
    border: 2px solid #071c2f;
    display: block;
    max-width: 61vw;
    margin: auto;
    margin-bottom: 10px; }
    .employee-thumb img {
      height: unset;
      width: unset;
      max-width: 100%;
      max-height: 100%; }
  .employee-position {
    position: absolute;
    font-weight: bold;
    color: #b79220;
    margin-top: 0px;
    padding-left: 10px;
    transition: all 1s;
    background: rgba(255, 255, 255, 0.95);
    opacity: 0;
    width: 100%;
    height: 55px;
    text-transform: uppercase;
    font-size: 15px;
    text-shadow: none !important; }
  .employee-header {
    font-size: 30px;
    text-align: center;
    background: #071c2f;
    color: #ffffff;
    margin: auto;
    margin-top: 10px;
    margin-bottom: 30px;
    padding: 5px;
    max-width: 957px;
    text-transform: uppercase; }
    .employee-header .employee-header-position {
      font-size: 18px; }
  .employee-thumb-name {
    font-size: 20px;
    font-weight: bold;
    text-align: center;
    text-transform: uppercase; }
  .employee-image {
    overflow: hidden;
    clip: auto;
    position: relative;
    max-height: 267px; }
  .OurTeamHeaderSpacer {
    display: none !important; }
  .OurTeamMainText {
    font-size: 18px;
    text-align: center;
    margin: auto;
    margin-top: 10px;
    margin-bottom: 30px;
    padding: 0px !important;
    max-width: 957px;
    width: 100% !important;
    top: 75px !important; }
  .OurTeamSubText {
    background-color: #ffffff;
    z-index: 8;
    padding: 4px;
    padding-left: 10px;
    padding-right: 10px;
    top: 127px  !important; } }

@media screen and (min-width: 999px) {
  .OurTeamMainText {
    font-size: 18px;
    text-align: center;
    margin: auto;
    margin-top: 10px;
    margin-bottom: 30px;
    top: 128px !important;
    background-color: #ffffff !important;
    text-align: center;
    margin: 0 auto;
    z-index: 9; }
  .OurTeamSubText {
    margin: 45px auto -20px auto;
    line-height: 20px;
    text-align: justify;
    background-color: #ffffff;
    z-index: 10;
    max-width: 900px; }
  .OurTeamHeaders {
    top: 128px !important; }
  .OurTeamMainText .OurTeamHeaders {
    margin: 0px !important;
    width: 100% !important; } }

.OurTeamHeaders {
  display: block;
  clear: both;
  font-size: 26px;
  text-align: center;
  background: #071c2f;
  color: #fff;
  margin: auto;
  margin-top: 10px;
  padding: 5px;
  z-index: 10;
  height: 50px; }

.employee-position {
  position: absolute;
  font-weight: bold;
  color: #b79220;
  margin-top: 0px;
  padding-left: 10px;
  transition: all 1s;
  background: rgba(255, 255, 255, 0.95);
  opacity: 0;
  width: 100%;
  height: 55px;
  text-transform: uppercase;
  font-size: 15px;
  text-shadow: none !important; }

.employee-header {
  font-size: 30px;
  text-align: center;
  background: #071c2f;
  color: #ffffff;
  margin: auto;
  margin-top: 10px;
  margin-bottom: 30px;
  padding: 5px;
  max-width: 957px;
  text-transform: uppercase; }
  .employee-header .employee-header-position {
    font-size: 18px; }

.employee-thumb {
  position: relative;
  border: 2px solid #071c2f;
  display: block; }

.employee-thumb:hover .employee-position {
  position: absolute;
  font-weight: bold;
  color: #b79220;
  margin-top: -55px;
  padding-left: 10px;
  transition: all 0.75s;
  background: rgba(255, 255, 255, 0.95);
  opacity: 1;
  width: 100%;
  height: 55px;
  text-transform: uppercase;
  font-size: 15px;
  text-shadow: none !important; }

.employee-thumb-name {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase; }

.employee-image {
  overflow: hidden;
  clip: auto;
  position: relative;
  max-height: 267px; }

.teamGrid {
  background-color: #ffffff !important;
  z-index: 8 !important;
  position: sticky; }

#cart_timer {
  position: fixed;
  bottom: 0;
  left: 1.5%;
  width: 135px;
  height: 70px;
  z-index: 100000;
  display: none; }
  #cart_timer #cart_timer_container {
    width: 100%;
    height: 100%;
    border: 1px solid #0A1C2E !important;
    font-size: 20px;
    font-weight: bold;
    color: white;
    padding: 10px !important;
    padding-top: 1px;
    background: #071c2f;
    background: linear-gradient(0deg, #071c2f 2%, #0a2945 30%); }
  #cart_timer #cart_timer_clock {
    margin: auto;
    display: inline;
    text-align: center;
    padding-left: 12px;
    margin-top: 10px; }
  #cart_timer #timer_minutes {
    font-size: 25px;
    font-weight: bold;
    color: #ffffff !important;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.45);
    width: 36%;
    display: inline-block;
    text-align: right; }
  #cart_timer #timer_colon {
    font-size: 25px;
    font-weight: bold;
    color: #ffffff !important;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.45);
    width: 8%;
    display: inline-block;
    text-align: center; }
  #cart_timer #timer_seconds {
    font-size: 25px;
    font-weight: bold;
    color: #ffffff !important;
    text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.45);
    width: 36%;
    text-align: left;
    display: inline-block; }
  #cart_timer #timer_text {
    font-size: 12px;
    font-weight: bold;
    color: white;
    text-align: center;
    line-height: 11px;
    margin-top: 0px; }

@media screen and (min-width: 768px) {
  .section-home-hero {
    height: 23.5rem !important; }
  #shop_banners {
    width: 99%;
    background: transparent !important;
    margin-top: 40px !important;
    height: 290px !important;
    box-shadow: 5px 9px 9px rgba(0, 0, 0, 0.77) !important;
    -webkit-mask-image: url("/wp-content/themes/royal-ny/img/rough-edge-white-full.svg") !important;
    -webkit-mask-position: center !important;
    -webkit-mask-clip: border-box !important;
    -webkit-mask-repeat: no-repeat !important;
    -webkit-mask-size: cover !important;
    background-color: transparent !important; }
    #shop_banners .slider {
      max-height: 299px !important;
      min-height: 299px !important;
      height: 299px !important;
      background-color: transparent !important; }
      #shop_banners .slider .slides {
        max-height: 299px !important;
        min-height: 299px !important;
        height: 299px !important;
        background-color: transparent !important; }
        #shop_banners .slider .slides .slide {
          background-size: cover !important;
          background-repeat: no-repeat !important;
          background-position: center !important;
          cursor: pointer !important;
          max-height: 300px !important;
          min-height: 300px !important;
          height: 300px !important;
          width: 101%; }
  #cart_timer {
    position: fixed;
    bottom: 0;
    left: 1.5%;
    width: 135px;
    height: 70px;
    z-index: 100000;
    display: none; }
    #cart_timer #cart_timer_container {
      width: 100%;
      height: 100%;
      border: 1px solid #0A1C2E !important;
      font-size: 20px;
      font-weight: bold;
      color: white;
      padding: 10px !important;
      padding-top: 1px;
      background: #071c2f;
      background: linear-gradient(0deg, #071c2f 2%, #0a2945 30%); }
    #cart_timer #cart_timer_clock {
      margin: auto;
      display: inline;
      text-align: center;
      padding-left: 12px;
      margin-top: 10px; }
    #cart_timer #timer_minutes {
      font-size: 25px;
      font-weight: bold;
      color: #ffffff !important;
      text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.45);
      width: 36%;
      display: inline-block;
      text-align: right; }
    #cart_timer #timer_colon {
      font-size: 25px;
      font-weight: bold;
      color: #ffffff !important;
      text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.45);
      width: 8%;
      display: inline-block;
      text-align: center; }
    #cart_timer #timer_seconds {
      font-size: 25px;
      font-weight: bold;
      color: #ffffff !important;
      text-shadow: 2px 2px 3px rgba(0, 0, 0, 0.45);
      width: 36%;
      text-align: left;
      display: inline-block; }
    #cart_timer #timer_text {
      font-size: 12px;
      font-weight: bold;
      color: white;
      text-align: center;
      line-height: 11px;
      margin-top: 0px; }
  #rny_mini_cart {
    position: absolute !important;
    top: 65px !important;
    width: 550px !important;
    right: 0.1% !important;
    display: none; }
    #rny_mini_cart .cart-container-close, #rny_mini_cart .cart-container-close:hover {
      float: left;
      clear: left;
      left: 0;
      display: block;
      max-width: 75px;
      cursor: pointer;
      margin-top: -11px;
      margin-left: 9px;
      position: absolute;
      z-index: 10000000;
      font-weight: bold !important;
      font-size: 13px !important;
      color: black !important; }
      #rny_mini_cart .cart-container-close span, #rny_mini_cart .cart-container-close span:hover, #rny_mini_cart .cart-container-close:hover span, #rny_mini_cart .cart-container-close:hover span:hover {
        color: red !important;
        margin: 0px !important;
        padding: 0px !important;
        vertical-align: middle !important;
        margin-top: -4px !important; }
    #rny_mini_cart .arrow-up {
      margin-top: -8px;
      margin-right: -95px; }
    #rny_mini_cart .cart-container {
      background: rgba(255, 255, 255, 0.99);
      box-shadow: 6px 6px 8px rgba(0, 0, 0, 0.15);
      padding: 18px;
      /* ===== Scrollbar CSS ===== */
      /* Firefox */
      /* Chrome, Edge, and Safari */ }
      #rny_mini_cart .cart-container .mini-cart-overflow {
        max-height: 295px;
        overflow-x: hidden;
        overflow-y: visible;
        min-height: 295px;
        background: transparent !important;
        width: calc(100% + 8px);
        color: #0A1C2E !important; }
      #rny_mini_cart .cart-container .mini-cart-overflow {
        scrollbar-width: auto;
        scrollbar-color: #dfdfdf #ffffff; }
      #rny_mini_cart .cart-container .mini-cart-overflow::-webkit-scrollbar {
        width: 11px; }
      #rny_mini_cart .cart-container .mini-cart-overflow::-webkit-scrollbar-track {
        background: #ffffff; }
      #rny_mini_cart .cart-container .mini-cart-overflow::-webkit-scrollbar-thumb {
        background-color: #dfdfdf;
        border-radius: 12px;
        border: 2px solid #ffffff; }
      #rny_mini_cart .cart-container div {
        background: transparent none !important; }
      #rny_mini_cart .cart-container table.cart-headers {
        width: 100%; }
        #rny_mini_cart .cart-container table.cart-headers td {
          font-size: 1em !important;
          font-weight: bold;
          color: #0A1C2E !important; }
        #rny_mini_cart .cart-container table.cart-headers th {
          font-size: 1.02em !important;
          background-color: #dfdfdf;
          font-weight: 700 !important;
          text-align: center;
          border-bottom: 2px solid #cfcfcf;
          height: 25px;
          color: #0A1C2E !important; }
      #rny_mini_cart .cart-container table.cart-items {
        width: calc(100% - 13px) !important;
        max-width: 510px !important;
        left: 0 !important;
        margin-left: 0px !important; }
        #rny_mini_cart .cart-container table.cart-items * {
          color: #0A1C2E !important; }
        #rny_mini_cart .cart-container table.cart-items td {
          font-size: .99em;
          color: #0A1C2E !important; }
        #rny_mini_cart .cart-container table.cart-items .last-added td {
          background-color: rgba(150, 255, 150, 0.35) !important; }
      #rny_mini_cart .cart-container table.cart-totals {
        width: 100%; }
        #rny_mini_cart .cart-container table.cart-totals * {
          color: #0A1C2E !important; }
        #rny_mini_cart .cart-container table.cart-totals td {
          font-size: 1.12em !important;
          font-weight: bold;
          color: #0A1C2E !important; }
  #bad_shipping_message {
    font-weight: bold;
    color: red;
    float: right;
    max-width: 70%;
    padding-left: 15px;
    text-align: left; }
  .checkoutQuestion {
    min-width: 390px !important;
    display: inline-block !important; }
  #header-nav .header-mobile {
    max-width: unset !important; }
  .shim-spacer {
    display: none !important; }
  .offerings-content .section_page_header {
    padding-top: 1.80em !important; }
  #search-container {
    height: calc( 100vh - 135px) !important;
    min-height: calc( 100vh - 135px) !important;
    max-height: calc( 100vh - 135px) !important; }
  .section_page_content #search-container .eca_section .eca-items {
    margin-top: -50px !important; }
  #filterControlBox .eca_section .eca-items {
    margin-top: -50px !important; }
  #filterControlBox {
    padding-bottom: 20px !important; }
  .nameCell.tea {
    width: 33% !important; }
  .numberCell.tea span.h7 {
    width: 9% !important; }
  .info-pop-up {
    min-width: auto !important;
    min-height: auto !important;
    max-height: none !important;
    margin-left: auto !important; }
    .info-pop-up > div {
      max-height: none !important; }
  .info-pop-up-container .info-pop-up, .info-pop-up-container2 .info-pop-up {
    margin-left: calc( 50% - 350px) !important; }
  #logged-in-as {
    width: 600px;
    color: floralwhite;
    text-align: right;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    max-width: 100vw;
    margin-right: 13rem;
    margin-top: -130px;
    z-index: 200;
    float: right; }
  .shipment-history {
    float: right;
    margin-top: -30px;
    font-weight: bold;
    font-size: 1.2em; }
  .myaccount-reserve-container {
    display: block;
    margin: 0px;
    padding: 0px; }
  .how-to-graphic-container {
    width: 734px;
    padding: 14px; }
  .tiles-outer-container {
    display: table-row; }
  .intro-text {
    font-size: .9em;
    text-align: center;
    font-weight: bold; }
  .intro-logo {
    max-width: 75px;
    text-align: center;
    margin: auto;
    clear: both;
    display: block; }
    .intro-logo ::after {
      width: 100%;
      display: block; }
  .section-header {
    color: #071c2f;
    font-size: 1.35em;
    font-weight: bold;
    text-align: center; }
  .tile-container {
    max-width: 139px;
    min-width: 139px;
    display: table-cell;
    min-height: 196px; }
  .section-tile-outer {
    border: 4px solid #071c2f;
    min-height: 146px;
    display: block;
    padding: 3px;
    width: 100%; }
  .section-tile-inner {
    width: 100%;
    height: 100%;
    font-weight: bold;
    color: #ffffff;
    text-align: center;
    background-color: #071c2f;
    padding: 6px;
    min-height: 132px; }
    .section-tile-inner em {
      font-size: .55em; }
  .arrow-container-right {
    width: 20px;
    height: 20px;
    vertical-align: middle;
    color: #071c2f;
    margin: 15px;
    display: table-cell;
    min-height: 196px;
    line-height: 9 !important;
    font-size: 28px !important;
    font-weight: bold !important; }
  #product-detail-window {
    width: 95vw;
    height: calc( 100vh - 170px);
    top: 123px;
    left: 2.5vw; }
    #product-detail-window header {
      display: block;
      font-size: 1.75em; }
    #product-detail-window main {
      margin-top: -45px; } }

.backLink {
  display: block;
  text-decoration: none;
  padding: 8px;
  cursor: pointer;
  font-weight: bold;
  width: 100%;
  margin-top: -10px;
  margin-bottom: 5px;
  text-align: center; }
  .backLink span.dashicons {
    line-height: 26px !important;
    color: #B79220 !important; }

.backLink:hover {
  text-decoration: none; }

.woocommerce-NoticeGroup-checkout .woocommerce-error .wc-backward {
  display: none !important; }

.checkout.woocommerce-checkout .woocommerce-NoticeGroup {
  z-index: 9 !important;
  top: 250px;
  position: absolute;
  width: 100vw; }

.woocommerce-error li::before {
  display: none; }

.woocommerce-error ul {
  margin-left: 12em; }

li.slide {
  background-size: contain !important; }
  li.slide video {
    max-width: 93vw !important; }

.link-button {
  font-weight: bold;
  cursor: pointer;
  color: #578587; }

.link-button:hover {
  color: #0A1C2E; }

.longText {
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
  max-width: 97%; }

.mini-cart-subtotal-label {
  border-top: 1px solid #cfcfcf; }

.mini-cart-subtotal {
  text-align: right;
  width: 150px;
  border-top: 1px solid #cfcfcf; }

.mini-cart-header {
  margin-left: -5px; }

.mini-cart-footer {
  padding-top: 9px;
  margin-left: -5px; }

.mini-cart-title-left {
  width: 40px !important;
  font-size: 25px !important;
  font-weight: bold;
  margin-top: -9px;
  margin-bottom: 8px;
  float: left;
  color: #B79220 !important;
  display: block; }

.mini-cart-title-right {
  width: 80%;
  max-width: 80%;
  float: left;
  text-align: left;
  font-size: 23px;
  font-weight: normal;
  margin-top: -12px;
  margin-bottom: 8px;
  color: #0A1C2E !important;
  display: block; }

*:hover .mini-cart-title-right {
  color: #0A1C2E !important; }

.container-home-featured .row .teaser {
  margin: auto !important;
  margin-bottom: 3rem !important; }

.top0 {
  top: unset !important;
  transition: all 1.55s; }

.sticky-header {
  transition: all 1.55s; }

.OurTeamHeaderSpacer {
  height: 26px;
  margin-bottom: -41px;
  top: 127px;
  background-color: #ffffff; }

.thumbnail-slide video {
  cursor: pointer; }

.play-overlay {
  opacity: .65;
  margin-top: 33px;
  margin-left: -88px;
  position: absolute;
  cursor: pointer;
  color: #ffffff;
  z-index: 1000;
  font-size: 45px !important; }

.play-overlay:hover {
  opacity: .95; }

.interestSelection {
  border: 1px solid #efefef; }
  .interestSelection:hover {
    border: 1px solid #cfcfcf;
    box-shadow: 3px 3px 5px rgba(10, 10, 10, 0.22); }

.pp-multiple-authors-layout-boxed {
  margin: 0px !important;
  padding: 0px !important; }
  .pp-multiple-authors-layout-boxed h2 {
    margin-bottom: 3px !important; }
  .pp-multiple-authors-layout-boxed ul {
    border-style: none !important;
    margin: 0px !important;
    padding: 0px !important; }
    .pp-multiple-authors-layout-boxed ul li {
      margin: 5px !important;
      margin-left: 5px !important;
      padding-left: 5px !important;
      border-style: none !important; }
    .pp-multiple-authors-layout-boxed ul li div:first-child {
      display: none; }
    .pp-multiple-authors-layout-boxed ul .multiple-authors-name {
      display: block !important; }
  .pp-multiple-authors-layout-boxed .multiple-authors-links {
    width: 100% !important;
    position: relative !important; }
    .pp-multiple-authors-layout-boxed .multiple-authors-links a {
      background-color: #b79220 !important; }

header {
  z-index: 100 !important; }

.active-result {
  list-style-type: none !important;
  list-style: none !important; }

#dashButtons.d-flex {
  margin-top: unset !important; }

.payment_methods ul li {
  list-style-type: none !important;
  list-style: none !important;
  border: 1px solid rgba(100, 100, 100, 0.5);
  background-color: rgba(200, 200, 200, 0.25); }

#payment .payment_box {
  background: unset !important; }

h3.product_cat_header {
  margin-top: 15px !important;
  margin-bottom: 0px !important;
  font-size: 1.15rem; }

h4.product_cat_header {
  margin-top: 15px !important;
  margin-bottom: -5px !important;
  font-size: 20px;
  font-weight: bold; }

.wc_payment_method li:before {
  display: none !important; }

.hero-img-container {
  display: none;
  position: absolute;
  z-index: -100;
  width: 100%;
  max-height: 135px;
  clip: auto;
  opacity: .25; }

.hero_section {
  padding: 20px 20px 20px 20px;
  margin-bottom: 18px; }
  .hero_section .container .row {
    max-width: 100%;
    text-align: center; }
    .hero_section .container .row .hero-caption {
      font-size: 16px !important;
      text-align: center; }
    .hero_section .container .row .hero-headline {
      color: #B59038;
      font-size: 48px;
      line-height: 57.6px;
      text-align: center;
      margin-bottom: 20px !important; }

.cta-icon.icon-link-internal {
  height: 22px !important;
  width: 22px !important;
  margin-right: -10px !important;
  margin-left: 10px !important;
  float: right; }

.back_link, .previous_link {
  margin-bottom: 10px;
  margin-top: -5px; }
  .back_link .cta-icon.icon-link-internal, .previous_link .cta-icon.icon-link-internal {
    transform: rotate(180deg);
    float: left;
    height: 22px;
    width: 22px;
    margin-right: 10px !important;
    margin-left: -10px !important; }

.cmn-hero-banner {
  font-size: 16px;
  min-height: 170px;
  padding-top: 1em !important;
  z-index: 1; }

.section {
  padding-top: 1rem;
  padding-bottom: 1rem; }
  @media (min-width: 1000px) {
    .section {
      padding-top: 2rem;
      padding-bottom: 2rem; } }
  .section.section-custom-post {
    padding-top: 1rem;
    padding-bottom: 1rem; }

.section-headline {
  margin-bottom: 2rem; }

@media screen and (max-width: 767px) {
  #search-container {
    top: 60px !important; }
  .last-purch-label {
    display: none !important; } }

.section_page_content #search-container {
  background-color: #ffffff;
  position: absolute;
  top: 135px !important;
  left: 0;
  padding-bottom: 4rem;
  opacity: 1;
  z-index: 9;
  width: 100%;
  min-height: 100vh;
  display: none; }
  @media (min-width: 1000px) {
    .section_page_content #search-container {
      position: static;
      display: block;
      padding-top: 0;
      padding-bottom: 2rem; } }
  @media (min-width: 1200px) {
    .section_page_content #search-container {
      padding-right: 1rem; } }
  @media (min-width: 1600px) {
    .section_page_content #search-container {
      padding-right: 3rem; } }
  .section_page_content #search-container h3 {
    margin-bottom: 1.5rem; }
  .section_page_content #search-container .form-group {
    margin-bottom: 0rem;
    min-height: unset;
    height: 3rem;
    width: 100%; }
    .section_page_content #search-container .form-group .form-control {
      min-height: unset; }
  .section_page_content #search-container .icon-search {
    left: 13px;
    bottom: 13px; }
  .section_page_content #search-container #offerings-search, .section_page_content #search-container #courses-search {
    min-height: 3.1rem;
    padding-right: 5px; }
  .section_page_content #search-container .form-container {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem; }
    @media (min-width: 1000px) {
      .section_page_content #search-container .form-container {
        padding-top: 0; } }
    .section_page_content #search-container .form-container .form-check {
      margin-bottom: 1rem; }
  .section_page_content #search-container .eca_section .toggle {
    padding-top: .5rem;
    padding-bottom: .6rem;
    background-color: transparent;
    color: #0a1c2c;
    cursor: pointer;
    position: relative;
    padding: .9rem 0;
    padding-right: 1rem;
    margin-bottom: 0;
    width: 100%;
    border: none;
    text-align: left;
    outline: none;
    font-size: 1.15em; }
    @media (min-width: 576px) {
      .section_page_content #search-container .eca_section .toggle {
        margin-right: 2rem; } }
  .section_page_content #search-container .eca_section .eca-items .toggle {
    color: #304f6c; }
    .section_page_content #search-container .eca_section .eca-items .toggle::after {
      content: "";
      display: block;
      position: absolute;
      right: 0;
      top: 38%;
      background-image: url("../img/icons/icon-plus.svg");
      background-size: contain;
      width: 16px;
      height: 16px;
      transition: 0.5s; }
      @media (min-width: 576px) {
        .section_page_content #search-container .eca_section .eca-items .toggle::after {
          right: 2rem; } }
  .section_page_content #search-container .search-buttons {
    margin-bottom: 2rem; }
    .section_page_content #search-container .search-buttons .btn-clear-filters,
    .section_page_content #search-container .search-buttons .btn-filter-offerings {
      display: block;
      width: 60%;
      margin: 0 auto 1rem auto; }
      @media (min-width: 576px) {
        .section_page_content #search-container .search-buttons .btn-clear-filters,
        .section_page_content #search-container .search-buttons .btn-filter-offerings {
          padding: 1.2rem 1.8rem; } }
    .section_page_content #search-container .search-buttons .btn-clear-filters {
      font-size: 1rem;
      width: auto;
      padding: .6rem 1rem; }

@media (min-width: 1000px) {
  .content_section {
    padding-right: 2rem;
    padding-left: 2rem; } }

.content_section .featured-headline,
.content_section .section-headline {
  margin-bottom: 2rem; }
  @media (min-width: 768px) {
    .content_section .featured-headline,
    .content_section .section-headline {
      margin-bottom: 4rem; } }

.content_section .two-column {
  padding-bottom: 4rem; }
  @media (min-width: 576px) {
    .content_section .two-column {
      padding-bottom: 2rem; } }
  @media (min-width: 1000px) {
    .content_section .two-column {
      padding-top: 0; } }

.content_section .three-column {
  padding-bottom: 4rem; }
  @media (min-width: 576px) {
    .content_section .three-column {
      padding-bottom: 2rem; } }
  @media (min-width: 1000px) {
    .content_section .three-column {
      padding-bottom: 0; } }

.content_section .four-column {
  padding-bottom: 2rem; }

.content_section .four-column,
.content_section .three-column,
.content_section .two-column,
.content_section .full-width {
  position: relative;
  overflow: hidden; }

.featured_section.bg-light-blue,
.content_section.bg-light-blue,
.eca_section.bg-light-blue {
  background-color: #eff7fc;
  margin-bottom: 1.6rem; }
  .featured_section.bg-light-blue.section-custom-post,
  .content_section.bg-light-blue.section-custom-post,
  .eca_section.bg-light-blue.section-custom-post {
    margin-bottom: 0rem; }

.content_section.bg-white.section-custom-post {
  margin-bottom: 0;
  padding-bottom: 2rem; }

.site-main .section.back_link {
  margin-bottom: 0 !important; }
  .site-main .section.back_link .row {
    max-width: 100vw !important; }
    .site-main .section.back_link .row .back_link {
      width: 100%; }
      @media (max-width: 768px) {
        .site-main .section.back_link .row .back_link .content-copy {
          text-align: center !important; } }
  .site-main .section.back_link:last-child {
    margin-bottom: 2rem !important;
    background-color: #ffffff; }

.site-main .previous_link {
  margin-bottom: 0 !important; }
  .site-main .previous_link .two-column {
    padding-bottom: 0 !important; }

.change-view {
  display: block;
  width: 7rem;
  font-family: "Europa", "Open Sans", Helvetica, Arial, sans-serif;
  position: relative;
  padding-left: 1.5rem;
  margin-right: 1rem;
  margin-bottom: 0; }
  .change-view:hover {
    text-decoration: none; }
  .change-view:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 5px;
    background-image: url("../img/icons/icon-grid-view-blue.svg");
    background-size: contain;
    background-repeat: no-repeat;
    width: 15px;
    height: 15px; }

.change-view.event-change-view:after {
  background-image: url("../img/icons/icon-list-view-blue.svg");
  width: 17px;
  height: 17px; }

.wc_payment_methods.payment_methods li {
  clear: both;
  border: 1px solid #071c2f;
  background-color: #eff7fc;
  padding: 4px;
  margin-bottom: 0px; }
  .wc_payment_methods.payment_methods li.selected {
    border: 2px solid #304f6c; }

div.payment_box {
  margin: 0px !important; }

div.payment_method_paypal_pro_payflow label {
  left: -30px !important; }

.tribe-events-tooltip .tribe-events-event-body {
  padding: 3px 6px 6px; }

.tribe-country-name {
  display: block; }

@media screen and (min-width: 768px) {
  div.payment_method_paypal_pro_payflow {
    margin-bottom: -30px; } }

@media screen and (max-width: 767px) {
  div.payment_method_paypal_pro_payflow {
    margin-bottom: -30px; } }

.woocommerce-message {
  cursor: pointer !important; }

.wc-block-grid__product-add-to-cart {
  margin: 0;
  word-break: break-word;
  white-space: normal;
  max-height: 30px !important; }
  .wc-block-grid__product-add-to-cart a {
    word-break: break-word;
    white-space: normal;
    margin: 0; }
    .wc-block-grid__product-add-to-cart a.loading {
      opacity: 0.25;
      padding-right: 2.618em;
      max-height: 30px !important; }
      .wc-block-grid__product-add-to-cart a.loading::after {
        font-family: WooCommerce;
        /* stylelint-disable-line */
        content: "\e01c";
        vertical-align: top;
        font-weight: 400;
        position: absolute;
        top: 0.618em;
        right: 1em;
        animation: spin 2s linear infinite;
        max-height: 30px !important; }
    .wc-block-grid__product-add-to-cart a.added::after {
      font-family: WooCommerce;
      /* stylelint-disable-line */
      content: "\e017";
      margin-left: 0.53em;
      vertical-align: bottom;
      max-height: 30px !important; }
  .wc-block-grid__product-add-to-cart .added_to_cart {
    text-align: center;
    max-height: 30px !important; }

.add-order {
  z-index: 300; }

.add-order-header {
  top: 4px;
  padding-left: 6px;
  color: #ffffff;
  position: relative;
  max-width: inherit; }
  @media (max-width: 768px) {
    .add-order-header {
      position: relative;
      max-width: inherit; }
      .add-order-header .h4 {
        max-height: 50px;
        text-overflow: ellipsis;
        overflow: hidden;
        max-width: 95%; } }

.add-order-whse {
  position: absolute;
  top: 4px;
  color: #ffffff;
  right: 3rem;
  padding-right: 5px; }
  .add-order-whse span:first-child {
    font-weight: bold;
    padding-right: 5px; }

.add-order-content {
  margin-top: 0px !important;
  margin-bottom: 0px !important; }
  @media (min-width: 768px) {
    .add-order-content {
      display: block; } }
  @media (min-width: 1200px) {
    .add-order-content {
      display: flex; } }

@media (max-width: 768px) {
  .order-info {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
    justify-content: space-between; } }

@media screen and (max-width: 767px) {
  .order-info {
    margin-top: -20px;
    margin-bottom: -20px; }
  .order-submit {
    margin-top: -10px;
    margin-bottom: 15px; }
  .add-order-header {
    position: relative;
    max-width: inherit; }
    .add-order-header .h4 {
      max-height: 50px;
      text-overflow: ellipsis;
      overflow: hidden;
      max-width: 95%; } }

.products-panel {
  position: relative; }

.add-order-overlay {
  background-color: rgba(255, 255, 255, 0.65);
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  z-index: 10 !important;
  display: none; }

.offering .checkout {
  z-index: 20 !important; }

@media screen and (max-width: 767px) {
  .offering .checkout {
    z-index: 136 !important; }
  .wc-credit-card-form-card-number {
    width: 98%;
    max-width: 98%; } }

.offering-filter {
  font-size: .90em !important; }

.wc-credit-card-form-card-number {
  width: 475px;
  max-width: 475px; }

.sticky-button-container {
  background: #ffffff !important;
  position: sticky !important;
  position: -webkit-sticky !important;
  top: 0px !important;
  z-index: 99 !important;
  margin-bottom: 14px; }

.sticky-button-container-admin {
  background: #ffffff !important;
  position: sticky !important;
  position: -webkit-sticky !important;
  z-index: 99 !important;
  margin-bottom: 14px; }

.woocommerce-error .wc-forward {
  display: none !important; }

#server-id {
  text-align: center;
  opacity: .95;
  z-index: 9999999;
  padding: 3px;
  font-size: 0.7em;
  border-radius: 2px;
  position: fixed;
  left: 17%;
  top: 2px;
  border: 2px solid darkgoldenrod;
  background-color: lightyellow;
  font-weight: bold;
  box-shadow: 3px 3px 4px rgba(100, 100, 100, 0.35); }

/* Brewing Loader */
.gf-captcha label {
  display: none; }

/* spinning on checkout */
.checkout.woocommerce-checkout .woocommerce-NoticeGroup {
  z-index: 1000 !important; }

.checkout.woocommerce-checkout.processing .woocommerce-NoticeGroup {
  /*
background-image:url('https://royalny-cdn.s3.amazonaws.com/assets/images/143.png') !important;*/
  width: 100vw !important;
  height: 100vh !important;
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  background-repeat: no-repeat !important;
  background-position: center !important; }

.checkout.woocommerce-checkout.processing .woocommerce-NoticeGroup ul {
  display: none !important; }

/* spinning on checkout */
.blockUI.blockOverlay {
  /*
background-image:url('https://royalny-cdn.s3.amazonaws.com/assets/images/143.png') !important;*/
  width: 100vw !important;
  height: 100vh !important;
  display: block !important;
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  background-repeat: no-repeat !important;
  background-position: center !important; }

.woocommerce .blockUI.blockOverlay {
  opacity: 1 !important;
  background-color: rgba(255, 255, 255, 0.75) !important; }

.short_code {
  padding-top: 0px;
  padding-bottom: 0px; }

.ewd-ufaq-faqs {
  max-width: 1000px;
  margin: auto; }

.ufaq-faq-category-inner {
  margin-bottom: 0; }

.ufaq-faq-category-title h4 {
  color: #fff;
  padding: 0.5rem;
  font-size: 1.4rem;
  background-color: #90969f; }

.ufaq-faq-toggle {
  font-size: 1.2rem;
  border-bottom: 1px solid #e8eaeb;
  color: #fff;
  padding: .5rem;
  background-color: #e8eaeb; }

.ufaq-faq-body {
  background-color: #fff; }

.coffee-origins td {
  border-bottom: 1px solid #DCDCDC;
  padding: 4px; }

.coffee-origins td:first-child {
  width: 30%;
  text-align: right;
  border-right: 1px solid #DCDCDC;
  background-color: #F5F5F5; }

.coffee-origins td:first-child::after {
  content: ':'; }

.coffee-origins tr:last-child td {
  border-bottom: 0px solid #DCDCDC; }

.coffee-origins tfoot td {
  font-weight: bold;
  padding-top: 20px;
  background-color: inherit !important;
  border-right-width: 0px !important; }

.coffee-origins tfoot td::after {
  content: '' !important; }

.coffee-roast-profile-container {
  text-align: center; }

.coffee-roast-profile {
  border: 1px solid #0a1c2c;
  border-collapse: collapse; }

.coffee-roast-profile td {
  border: 1px solid #0a1c2c;
  border-collapse: collapse;
  padding: 8px; }

.coffee-roast-profile td:first-child {
  color: #ffffff;
  background-color: #0a1c2c;
  font-size: 1.2rem;
  width: 20%; }

.coffee-roast-profile tfoot td {
  padding-top: 20px;
  color: inherit !important;
  background-color: inherit !important; }

.coffee-roast-disclaimer {
  margin-top: 1rem;
  padding: 8px;
  border: 1px solid #0a1c2c;
  text-align: center;
  font-size: .8rem; }

#header-nav .header-eca-section .top-level a {
  white-space: nowrap; }

#verifying-inventory, #processing-payment, #send-to-warehouse {
  width: 100%;
  position: absolute;
  top: calc(50% + 69px);
  left: 0;
  font-size: 23px !important;
  font-weight: bold !important;
  z-index: 99999;
  text-align: center;
  color: #304f6c; }

.empty_cart {
  float: right;
  margin-right: 10px; }

@media screen and (max-width: 767px) {
  #verifying-inventory, #processing-payment, #send-to-warehouse {
    width: 100%;
    position: absolute;
    top: calc(50% + 69px);
    left: 0;
    font-size: 23px !important;
    font-weight: bold !important;
    z-index: 99999;
    text-align: center; }
  .empty_cart {
    float: none i !important;
    margin-top: 2px !important;
    margin-bottom: 2px !important;
    margin-right: 0px  !important;
    margin-left: 0px  !important;
    text-align: center;
    width: 100%; } }

#verifying-inventory.hidden-msg, #processing-payment.hidden-msg, #send-to-warehouse.hidden-msg {
  transition: all .5s;
  opacity: 0 !important;
  padding-top: 35px !important; }

#verifying-inventory.show-msg, #processing-payment.show-msg, #send-to-warehouse.show-msg {
  transition: all .9s;
  opacity: 1;
  padding-top: 3px; }

#pallet_message {
  padding: 25px;
  margin: 1px;
  margin-top: 12px;
  border: 1px solid goldenrod;
  background-color: lightyellow;
  font-weight: bold;
  color: maroon;
  font-size: 1.35em;
  text-align: center;
  border-radius: 6px; }
  #pallet_message img {
    height: 65px !important;
    float: left !important; }

.woocommerce-error::before, .woocommerce-info::before, .woocommerce-message::before {
  content: none !important; }

.woocommerce-message a.wc-forward,
.woocommerce-error a.wc-forward,
.woocommerce-info a.wc-forward {
  display: none !important; }

.wmc-cart-wrapper {
  width: 400px !important;
  overflow-x: hidden !important; }

.wmc-cart {
  width: 400px !important;
  overflow-x: hidden !important; }

.wmc-content {
  width: 400px !important;
  overflow-x: hidden !important; }
  .wmc-content h3 {
    background-color: silver !important;
    border-bottom: 3px solid gray !important;
    color: darkslategray !important;
    font-size: 17px !important;
    padding: 18px !important;
    height: 35px !important; }

.wmc-products {
  width: 400px !important; }

.wmc-details {
  width: 400px !important; }
  .wmc-details p {
    float: right;
    display: inline;
    max-width: 10%; }

.wmc-product-title {
  overflow: hidden !important;
  text-overflow: ellipsis;
  max-width: 90% !important;
  text-align: left;
  font-size: 13px; }

.wmc-price {
  width: 10% im !important;
  float: right;
  text-align: right;
  font-weight: bold;
  font-size: 14px; }

.wmc-subtotal {
  background-color: #071c2f !important;
  color: #ffffff !important; }
  .wmc-subtotal h5 {
    color: #ffffff !important; }

.wmc-bottom-buttons :first-child {
  background-color: #304f6c !important;
  color: #ffffff; }

.wmc-bottom-buttons :first-child:hover {
  background-color: #071c2f !important; }

.wmc-bottom-buttons :last-child {
  background-color: #578587 !important;
  color: #ffffff; }

.wmc-bottom-buttons :last-child:hover {
  background-color: #1c3533 !important; }

.wmc-remove {
  display: none !important; }

.wmc-image {
  display: none; }

.wmc-count {
  font-size: 14px !important;
  font-weight: bold !important; }

figcaption :nth-child(3), .cta-caption-text {
  min-height: 90px;
  display: flex;
  vertical-align: top;
  margin-top: 0px;
  margin-bottom: 25px; }

figcaption p {
  line-height: 1 !important; }

#timer {
  position: fixed;
  left: 2%;
  bottom: 1px;
  height: 85px;
  width: 145px;
  text-align: center;
  font-weight: bold;
  background-color: #071c2f;
  color: #ffffff;
  padding: 12px;
  margin-bottom: 2px;
  display: none; }

#timer_text {
  color: #ffffff;
  font-size: 11px; }

#timer_minutes, #timer_seconds {
  font-size: 25px;
  width: 100%;
  text-align: center;
  display: block; }

.open_new_tab {
  text-decoration: none !important; }

.open_new_tab:hover {
  text-decoration: none !important;
  color: #578587; }

@media screen and (max-width: 767px) {
  .open_new_tab {
    display: none; } }

figcaption :nth-child(3) {
  max-height: unset;
  min-height: unset;
  height: unset; }

.content_section .row {
  display: flex; }

.content_section .col-lg-6 {
  -webkit-box-flex: 0 !important;
  -ms-flex: 0 0 50% !important;
  flex: 0 0 50% !important;
  margin-right: 2% !important;
  max-width: 48% !important; }

@media screen and (min-width: 767px) {
  .content_section .col-lg-6 {
    -webkit-box-flex: 0 !important;
    -ms-flex: 0 0 50% !important;
    flex: 0 0 50% !important; } }

.cta-card .single-img-container {
  margin-bottom: -160px !important;
  max-height: 400px; }

.cta-card .single-img-headline {
  font-size: 30px;
  text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.33);
  margin-top: 20px;
  color: #B59038; }

.cta-card .single-img-text {
  color: white !important;
  padding-left: 12px !important;
  background: rgba(10, 28, 44, 0.53);
  display: inline-block;
  zoom: 1;
  width: 100%; }

a .learn_more {
  position: absolute;
  color: #ffffff;
  font-weight: bold;
  opacity: 0;
  transition: .35s;
  font-size: 19px;
  margin: auto;
  text-align: center;
  margin-top: 190px;
  text-shadow: 0px 0px 1px rgba(0, 0, 0, 0.33);
  width: 100%;
  min-width: 100%; }

a:hover .learn_more {
  opacity: 1;
  color: #B59038;
  transition: .75s;
  margin-top: 200px;
  width: 100%;
  text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.33); }

.chosen-results {
  list-style-type: none !important;
  list-style: none !important; }
  .chosen-results ul {
    list-style-type: none !important;
    list-style: none !important; }
    .chosen-results ul li {
      list-style-type: none !important;
      list-style: none !important; }

.active-result {
  list-style-type: none !important;
  list-style: none !important; }

.shim-1 {
  display: block;
  padding: 0px;
  margin: 0px;
  background-color: transparent;
  width: 100%;
  clear: both;
  height: 1px;
  line-height: 1px;
  max-height: 1px; }

.shim-5 {
  display: block;
  padding: 0px;
  margin: 0px;
  background-color: transparent;
  width: 100%;
  clear: both;
  height: 5px;
  line-height: 5px;
  max-height: 5px; }

.shim-10 {
  display: block;
  padding: 0px;
  margin: 0px;
  background-color: transparent;
  width: 100%;
  clear: both;
  height: 10px;
  line-height: 10px;
  max-height: 10px; }

.shim-15 {
  display: block;
  padding: 0px;
  margin: 0px;
  background-color: transparent;
  width: 100%;
  clear: both;
  height: 15px;
  line-height: 15px;
  max-height: 15px; }

.quick-filter-inner.d-flex.dash_nav.dash_nav2 {
  font-weight: bold !important; }

.ui-accordion-header-icon.ui-icon.ui-icon-circle-arrow-s {
  display: none !important; }

.ui-accordian-content, .ui-accordion-header, .faq-answer {
  background-color: transparent !important;
  border-left: 0px transparent none !important;
  border-right: 0px transparent none !important; }

h1.main-header {
  font-size: 48px;
  font-weight: 700;
  line-height: 57.6px !important;
  margin-bottom: 20px !important; }

footer a {
  color: #ffffff !important; }

.footer-link-wrap {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  width: calc(100% - 270px); }
  @media only screen and (max-width: 1599px) {
    .footer-link-wrap {
      width: calc(100% - 80px); } }
  @media only screen and (max-width: 1199px) {
    .footer-link-wrap {
      width: calc(100% - 0px); } }
  @media only screen and (max-width: 999px) {
    .footer-link-wrap {
      width: calc(100% - 0px); } }
  @media only screen and (max-width: 767px) {
    .footer-link-wrap {
      width: 100%; } }
  .footer-link-wrap .menu-footer-container {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-direction: row;
    width: 100%; }
    .footer-link-wrap .menu-footer-container ul li {
      padding: 0;
      margin: 0;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: column; }
      .footer-link-wrap .menu-footer-container ul li::before {
        display: none; }
      .footer-link-wrap .menu-footer-container ul li > ul {
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
        flex-direction: column;
        width: 100%;
        margin: 0;
        padding: 0; }
        .footer-link-wrap .menu-footer-container ul li > ul > li {
          margin: 12px 0 0;
          padding: 0; }
          @media only screen and (max-width: 767px) {
            .footer-link-wrap .menu-footer-container ul li > ul > li {
              margin-top: 5px; } }
          .footer-link-wrap .menu-footer-container ul li > ul > li a:hover {
            color: #B59038; }
    .footer-link-wrap .menu-footer-container > ul {
      margin: 0;
      display: -ms-flexbox;
      display: -webkit-flex;
      display: flex;
      flex-direction: row;
      width: 100%;
      margin: 0;
      padding: 0;
      justify-content: space-between;
      flex-wrap: wrap; }
      @media only screen and (max-width: 767px) {
        .footer-link-wrap .menu-footer-container > ul > li {
          margin-top: 30px; } }
      @media only screen and (max-width: 575px) {
        .footer-link-wrap .menu-footer-container > ul > li {
          width: 50%; } }
      .footer-link-wrap .menu-footer-container > ul > li:first-child {
        padding: 0; }
      .footer-link-wrap .menu-footer-container > ul > li > a {
        color: #B59038;
        margin-bottom: 8px;
        text-transform: uppercase;
        font-weight: bold; }

a.nav-link:not([href]), a.nav-link[href='#'] {
  color: #B59038 !important; }

header, footer {
  padding-left: 9vw  !important;
  padding-right: 9vw  !important;
  max-width: 100vw !important; }

@media only screen and (max-width: 1199px) {
  header, footer {
    padding-left: 2em !important;
    padding-right: 2em !important; } }

.btn.btn-white:hover {
  color: #b79220;
  transition: color .77s; }

.menu-item.third-level, .menu-item.second-level, .menu-item.nav-item.list-unstyled {
  font-weight: bolder !important;
  font-size: .95em !important; }

aside::-webkit-scrollbar {
  display: none !important; }

aside {
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */ }

.blog .image a img {
  max-height: 333px !important;
  max-width: 497px !important; }

.offering-item-header {
  top: 107px;
  border-top: 1px solid white;
  z-index: 8;
  position: sticky;
  margin-bottom: 0;
  padding: 8px 24px;
  color: #fff;
  background-color: #0B1724;
  cursor: pointer; }

@media screen and (max-width: 1000px) {
  .offering-item-header {
    top: 56px; } }

.form_section {
  background-color: #eff7fc; }
  .form_section .full-width .gform_wrapper {
    max-width: 48.2rem;
    margin: 0 auto; }
    .form_section .full-width .gform_wrapper div.gform_body ul.gform_fields {
      list-style: none;
      padding-left: 0; }
    .form_section .full-width .gform_wrapper .gfield_required {
      color: #a11c18; }
    .form_section .full-width .gform_wrapper div.ginput_container textarea,
    .form_section .full-width .gform_wrapper div.ginput_container input[type="text"],
    .form_section .full-width .gform_wrapper div.ginput_container input[type="email"],
    .form_section .full-width .gform_wrapper div.ginput_container input[type="tel"] {
      width: 100%;
      border-radius: 0;
      min-height: 4.1rem;
      background-color: #ffffff;
      border: 1px solid #90969f;
      padding: 0;
      padding-left: 1rem;
      padding-top: 1rem; }
      .form_section .full-width .gform_wrapper div.ginput_container textarea:focus,
      .form_section .full-width .gform_wrapper div.ginput_container input[type="text"]:focus,
      .form_section .full-width .gform_wrapper div.ginput_container input[type="email"]:focus,
      .form_section .full-width .gform_wrapper div.ginput_container input[type="tel"]:focus {
        outline: none;
        border-color: #304f6c;
        -webkit-box-shadow: 0px 0px 0px 1px #304f6c;
        -moz-box-shadow: 0px 0px 0px 1px #304f6c;
        box-shadow: 0px 0px 0px 1px #304f6c; }
    .form_section .full-width .gform_wrapper div.ginput_container textarea {
      padding-top: 2rem; }
    .form_section .full-width .gform_wrapper div.ginput_container input > div {
      padding-left: 1rem; }

.three-column {
  max-width: 30% !important;
  margin: 1% !important;
  max-height: 317px !important; }

a:not([href]), a[href='#'] {
  cursor: default !important;
  -webkit-user-select: none !important;
  /* Safari */
  -ms-user-select: none !important;
  /* IE 10 and IE 11 */
  user-select: none !important;
  /* Standard syntax */ }

.btn {
  min-width: 95px !important;
  padding: 12px 23px 12px 23px !important; }

.figure-card-wrap figure {
  background-color: #000; }

.figure-card-wrap:hover img {
  opacity: .75;
  transition: all .75s; }

.figure-card-wrap img {
  opacity: 1;
  transition: all .75s; }

div.card.card-3 a .text-hover {
  z-index: 8;
  cursor: pointer;
  display: inline-block;
  opacity: 0;
  position: absolute;
  width: 100%;
  height: 85%;
  transition: all .75s;
  color: #ffffff;
  font-weight: normal !important;
  font-size: 1.1em;
  z-index: 12;
  padding: 8%;
  padding-left: 10%;
  padding-right: 10%;
  padding-top: 27%;
  text-align: center !important;
  vertical-align: 50%;
  background-color: rgba(0, 0, 0, 0.55); }

div.card.card-3 a:hover .text-hover {
  z-index: 12;
  opacity: 1;
  display: block;
  transition: all .75s;
  text-align: center !important; }

.text-hover:hover {
  z-index: 12;
  opacity: 1;
  display: block;
  transition: all .55s; }

.offering-item-body-right {
  width: 222px !important;
  max-width: 19.50% !important; }
  .offering-item-body-right .add-to-order-products-btn, .offering-item-body-right .btn {
    font-size: .89em !important;
    padding-top: 4px !important;
    max-width: 100% !important;
    width: 100%;
    height: 37px;
    margin: auto; }

.offering-item-body-right-reserve {
  width: 260px !important;
  min-width: 260px !important;
  max-width: 100% !important;
  text-align: right; }
  .offering-item-body-right-reserve .add-to-order-products-btn, .offering-item-body-right-reserve .btn {
    font-size: .89em !important;
    padding-top: 4px !important;
    max-width: 100% !important;
    width: 100%;
    height: 37px;
    margin: auto; }

@media screen and (max-width: 1000px) {
  .offering-item-body-right {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important; }
  .offering-item-body-right-reserve {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important; } }

.frac .offering-item-body {
  padding: 0px !important; }

.frac .offer-detail {
  margin-bottom: .99em !important; }

.offer-detail .offer-item-body-left {
  padding: 15px; }

.offering-item-footer .sl-wrap {
  font-size: .89em !important; }

.prd-groupname {
  padding-left: 23px;
  padding-top: 10px;
  padding-bottom: 8px;
  margin-bottom: 0px; }

.offering-item-header-title .icon-royal-Right, .reserves-items .offering-title .icon-royal-Right {
  font-weight: bold;
  transform: rotate(90deg);
  font-size: 1.65em !important;
  line-height: .8em;
  transition: .77s;
  display: inline-block;
  margin-right: 3px;
  margin-left: -17px !important;
  vertical-align: text-bottom; }

.reserves-items .offering-title .icon-royal-Right {
  font-weight: bold;
  transform: rotate(90deg);
  font-size: 1.15em !important;
  line-height: 1em;
  transition: .77s;
  display: inline-block;
  margin-right: -7px !important;
  margin-left: -50px !important;
  vertical-align: text-bottom; }

.collapsed-group .icon-royal-Right {
  transform: rotate(-90deg) !important;
  transition: .77s; }

.tea-item-title {
  margin-bottom: 3px;
  max-width: 100%;
  white-space: nowrap;
  max-height: 33px !important;
  min-height: 33px !important;
  overflow: hidden; }
  .tea-item-title a {
    text-overflow: ellipsis !important;
    max-width: 98%;
    white-space: nowrap;
    font-size: 1.2rem !important;
    display: block;
    overflow: hidden; }

.offering-item-ingredient {
  text-overflow: ellipsis !important;
  max-width: 99%;
  max-height: 80px;
  min-height: 80px;
  overflow: hidden; }

.search-container {
  max-width: 95vw !important; }

h2 {
  font-weight: bold !important; }

.section.secondary-img-wide {
  min-height: 325px !important; }

img.cta-icon {
  width: 15px !important;
  height: unset !important;
  min-width: unset !important; }

.offering-item-detail {
  text-transform: capitalize; }

.btn-disabled, .btn[disabled=disabled] {
  background-color: dimgray !important;
  border-color: transparent !important;
  color: silver !important;
  cursor: not-allowed !important; }
  .btn-disabled:hover, .btn[disabled=disabled]:hover {
    text-decoration: none !important;
    background-color: dimgray !important;
    color: silver !important;
    border-color: transparent !important; }

.woocommerce-notices-wrapper {
  display: block !important;
  margin: auto !important;
  position: fixed !important;
  max-width: 100% !important;
  width: 100% !important;
  z-index: 99 !important;
  margin: 0px !important;
  padding: 0px !important;
  float: left;
  clear: none;
  top: 0px !important; }
  .woocommerce-notices-wrapper div {
    max-width: 30vw;
    display: block !important;
    background-color: #0A1C2E !important;
    color: #ffffff !important;
    padding: 3em !important;
    min-height: unset !important;
    margin: auto !important;
    text-align: center !important;
    border: none !important;
    box-shadow: 4px 4px 7px rgba(0, 0, 0, 0.25) !important;
    cursor: pointer;
    position: absolute;
    top: 35vh !important;
    left: calc(50% - 15vw) !important;
    z-index: 100; }
    .woocommerce-notices-wrapper div::after {
      height: 25px;
      width: 25px;
      content: 'x';
      font-weight: bold;
      display: block;
      background-color: red;
      color: white;
      margin-top: 0px;
      padding: 0px;
      position: absolute;
      z-index: 101;
      top: 0;
      right: 0;
      cursor: pointer; }

::placeholder {
  color: #888888 !important;
  font-style: italic; }

.gfield_label {
  display: block;
  width: 100%;
  font-weight: bold;
  margin-top: 10px !important;
  margin-bottom: 1px !important;
  margin-left: -3px !important;
  font-size: 1.15em; }

.select-hide {
  display: none; }

*[role="button"] {
  cursor: pointer; }

.order_details {
  list-style-type: none !important; }
  .order_details li {
    list-style-type: none !important; }

.payment_box p {
  margin-bottom: unset !important; }

.wc_payment_methods {
  list-style-type: none !important; }
  .wc_payment_methods .wc_payment_method {
    list-style-type: none !important;
    border: 0px !important;
    padding: 5px !important;
    margin-bottom: 0px !important;
    background-color: rgba(255, 255, 255, 0) !important; }
    .wc_payment_methods .wc_payment_method label div:first-child {
      font-weight: bold;
      font-size: 1.25em; }
    .wc_payment_methods .wc_payment_method::before {
      display: none !important; }

.woocommerce-checkout #payment ul.payment_methods::after, .woocommerce-checkout #payment ul.payment_methods::before {
  display: none !important; }

.wc_payment_method input {
  display: unset !important; }

.woocommerce-terms-and-conditions-wrapper .woocommerce-privacy-policy-text {
  min-height: 5rem;
  height: 6rem; }

.woocommerce-terms-and-conditions-wrapper .validate-required label {
  white-space: normal;
  line-height: unset;
  padding-left: 1.5rem; }
  .woocommerce-terms-and-conditions-wrapper .validate-required label::before {
    background-color: #ffffff;
    left: -1rem; }

.woocommerce-terms-and-conditions-wrapper .woocommerce-validated label::before {
  background-color: #071c2f;
  left: -1rem; }

.btn-primary {
  background-color: #578587;
  color: #ffffff;
  border: none; }
  .btn-primary:active, .btn-primary:hover {
    background-color: #395758;
    border-color: #395758;
    text-decoration: none;
    transition: all, 0.4s;
    color: #ffffff; }

.woocommerce-order {
  max-width: unset !important;
  margin: unset !important; }
  .woocommerce-order .woocommerce-notice {
    margin-bottom: 2rem; }
    @media (min-width: 768px) {
      .woocommerce-order .woocommerce-notice {
        margin-bottom: 4rem; } }
  .woocommerce-order .woocommerce-order-overview {
    padding: 2rem;
    background-color: #e8eaeb; }
    .woocommerce-order .woocommerce-order-overview li {
      text-align: left;
      border: none; }
      @media (min-width: 1000px) {
        .woocommerce-order .woocommerce-order-overview li {
          text-align: center; } }
    @media (min-width: 1200px) {
      .woocommerce-order .woocommerce-order-overview li.order {
        margin-left: 2rem; } }
  .woocommerce-order .woocommerce-order-details .order_details {
    border-collapse: collapse;
    border: none;
    margin-bottom: 2rem; }
  .woocommerce-order .woocommerce-order-details tfoot tr:last-of-type {
    background-color: #e8eaeb; }
  .woocommerce-order .woocommerce-order-details address {
    border: none; }

.shipping h5, .paymentMethod h5, .payment_methods h5 {
  font-size: 16px;
  margin: 40px 0 24px; }

.shipping .invalid-feedback, .paymentMethod .invalid-feedback, .payment_methods .invalid-feedback {
  color: red;
  margin-bottom: 0; }

.shipping .form-check label::before,
.shipping .form-check label::after, .paymentMethod .form-check label::before,
.paymentMethod .form-check label::after, .payment_methods .form-check label::before,
.payment_methods .form-check label::after {
  border-radius: 50% !important; }

.shipping .form-check input[type=radio].is-checked + label::after, .paymentMethod .form-check input[type=radio].is-checked + label::after, .payment_methods .form-check input[type=radio].is-checked + label::after {
  background: url(../../images/icons/royal-checked.svg) no-repeat center #0A1D2E !important; }

.shipMethod fieldset {
  border: 1px solid #0077B505;
  padding: 8px; }

.is-checked + label::after {
  background: url(../../images/icons/royal-checked.svg) no-repeat center #0A1D2E !important; }

.form-check label div:nth-child(1) {
  margin-top: -8px !important; }

.form-check label .sv-wc-payment-gateway-card-icons {
  margin-top: 0px !important; }
  .form-check label .sv-wc-payment-gateway-card-icons img {
    margin-top: 15px !important;
    border: 2px solid silver;
    border-radius: 3px; }

div.payment_box p::before, div.payment_box::before {
  display: none !important; }

.payment_box .input-text, .payment_box .woocommerce-select {
  font-size: 14px !important;
  border: 1px solid #777777 !important;
  font-family: 'Europa' !important; }

.tribe-checkout-backlinks {
  display: none; }

.card-images {
  display: none;
  float: right;
  margin-top: -10px; }

.payment_method_paypal .about_paypal {
  line-height: 52px;
  font-size: 0.83em; }

.payment_method_paypal img {
  max-height: 52px;
  vertical-align: middle;
  display: none; }

.payment_method_paypal .card-images {
  background-image: url("/wp-content/themes/royal-ny/img/icons/paypal-credit-cards.png") !important;
  background-repeat: none !important;
  background-position: 0px 0px !important;
  width: 198px !important;
  height: 64px !important;
  display: block !important;
  clear: both !important; }

.payment_method_paypal_pro_payflow img {
  max-height: 52px;
  vertical-align: middle;
  display: none; }

.payment_method_paypal_pro_payflow .card-images {
  background-image: url("/wp-content/themes/royal-ny/img/icons/credit-cards.png") !important;
  background-repeat: none;
  background-position: 0px 0px;
  width: 198px !important;
  height: 64px !important;
  display: block !important;
  clear: both; }

.woocommerce-checkout-review-order-table {
  border: none !important; }
  .woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table tr, .woocommerce-checkout-review-order-table thead, .woocommerce-checkout-review-order-table tbody, .woocommerce-checkout-review-order-table tfoot {
    border: none !important; }

@media screen and (max-width: 1160px) {
  .woocommerce-checkout-review-order-table {
    margin-bottom: 10px !important;
    min-width: 100% !important;
    clear: both !important;
    border: none !important; }
    .woocommerce-checkout-review-order-table td, .woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table tr, .woocommerce-checkout-review-order-table thead, .woocommerce-checkout-review-order-table tbody, .woocommerce-checkout-review-order-table tfoot {
      border: none !important; }
  .woocommerce-checkout-payment {
    min-width: 99% !important;
    max-width: 99% !important;
    margin-top: 0px !important;
    clear: both !important; }
  .payment-wrapper {
    background: transparent !important; } }

.form-check input:checked + label::after {
  background: url(../../images/icons/royal-checked.svg) no-repeat center #0A1D2E !important;
  transition: all .55s; }

.form-check-input:checked + label::after {
  background: url(../../images/icons/royal-checked.svg) no-repeat center #0A1D2E !important;
  transition: all .55s; }

.woocommerce .blockUI.blockOverlay::before {
  display: inline-block;
  width: 48px;
  height: 48px;
  vertical-align: text-bottom;
  border: 4.5px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border .75s linear infinite;
  background: none !important;
  content: ""; }

@keyframes spinner-border {
  to {
    transform: rotate(360deg); } }

.woocommerce-order-details {
  margin-top: -30px; }

.woocommerce-order-overview {
  margin-top: -30px !important;
  padding-bottom: 5px !important;
  margin-bottom: 20px !important;
  margin-top: 5px !important;
  border-bottom: 2px solid #99999965 !important;
  background-color: #99999920 !important;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: stretch;
  justify-content: center;
  align-items: center; }
  .woocommerce-order-overview li {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    align-content: stretch;
    justify-content: space-evenly;
    align-items: center;
    text-align: center !important; }
  .woocommerce-order-overview li::before {
    display: none !important; }
  .woocommerce-order-overview li p.label {
    font-weight: bold !important;
    font-size: 2.15em !important;
    text-align: center !important; }
  .woocommerce-order-overview li p.text-bold {
    font-size: 1.65em !important;
    font-weight: bold !important;
    text-align: center !important; }

flex-root {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row; }

#payment {
  background-color: transparent !important; }

.payment-methods {
  min-width: 47%;
  max-width: 100%; }

.col-left, .col-right {
  top: 290px !important;
  position: sticky !important; }

.tab-content {
  padding: 40px 0 !important; }

.product_cat_header_wrapper th {
  border-bottom: 1px solid #afafaf !important; }

#customer_details {
  max-width: 100%;
  min-width: 47%;
  float: left;
  top: 120px;
  position: sticky;
  padding-top: 24px; }
  #customer_details div {
    max-width: 100%; }

#order_review {
  max-width: 48%;
  min-width: 48%;
  float: right;
  top: 120px;
  position: sticky;
  padding-top: 24px; }

@media screen and (max-width: 1060px) {
  #order_review {
    max-width: 100%;
    min-width: 100%;
    float: none;
    top: unset;
    position: relative; } }

#order_review > .btn {
  width: 100%; }

section.payment-wrapper {
  background: linear-gradient(to right, white 50%, #EFF7FC 50%);
  /*margin-top:-48px; */
  /*padding-top:40px;*/
  margin-bottom: -20px;
  clear: both;
  padding-bottom: 100px; }

tr.order-total td, tr.cart-subtotal td, td.product-total {
  text-align: right !important; }

.shipping th {
  padding-left: 25px !important; }

th.product-total {
  text-align: right; }

.order-total th, .cart-subtotal th {
  font-size: 1.15rem;
  font-family: 'Europa-Regular';
  font-weight: bold !important;
  padding-top: 8px !important; }

.order-total td, .cart-subtotal td {
  font-size: 1rem;
  font-family: 'Europa-Regular';
  padding-top: 8px !important; }

tfoot.shipping-methods tr {
  border-collapse: collapse; }
  tfoot.shipping-methods tr td {
    font-size: .88em; }
  tfoot.shipping-methods tr th {
    vertical-align: top;
    font-weight: bold !important; }
    tfoot.shipping-methods tr th em {
      font-size: .75em !important;
      font-weight: normal !important;
      color: #444444 !important;
      margin-left: 4px; }
  tfoot.shipping-methods tr th, tfoot.shipping-methods tr td {
    border-collapse: collapse;
    padding: 2px;
    margin: -1px; }

select.form-control {
  border: 1px solid #BEBEBE !important;
  font-size: 16px;
  line-height: 24px;
  padding: 11px 20px;
  color: #0A1D2E;
  font-weight: normal;
  font-style: normal; }

.longText {
  text-overflow: ellipsis;
  overflow: hidden; }

.product-name.longText {
  max-width: 275px !important; }

.checkout.woocommerce-checkout .woocommerce-NoticeGroup {
  z-index: 1 !important;
  top: 107px !important;
  position: sticky !important;
  width: 100vw !important;
  margin-top: -30px !important; }

h2.woocommerce-order-details__title {
  margin-top: 30px !important; }

p.woocommerce-thankyou-order-received {
  font-size: 38px;
  text-align: center;
  margin-bottom: 8px;
  margin-top: 20px;
  font-weight: bold; }

.woocommerce-order-details {
  max-width: 1360px; }

table.order_details {
  margin: auto !important;
  max-width: 100%; }
  table.order_details th {
    max-width: 480px;
    width: 25%;
    min-width: 25%; }
  table.order_details td {
    max-width: 780px;
    width: 75%;
    min-width: 75%; }
  table.order_details tfoot tr :nth-child(2) {
    text-align: right !important;
    max-width: 480px;
    width: 25%;
    min-width: 25%; }

@media screen and (min-width: 1060.5px) {
  .woocommerce-order {
    margin: auto !important;
    max-width: 1360px; }
    .woocommerce-order table.order_details th {
      max-width: 200px;
      width: 20%; }
    .woocommerce-order table.order_details td {
      max-width: 800px;
      width: 80%; } }

@media screen and (max-width: 1060px) {
  .sidebar-footer {
    max-width: 99.5vw !important;
    padding: 1em !important; }
  .sidebar-product-deatils {
    max-width: 99.5vw; }
  .sidebar-inner-wrap {
    position: fixed;
    top: 0px;
    background-color: #fff;
    z-index: 999999;
    height: 100%;
    right: 35px;
    width: 100%;
    max-width: 98vw;
    -o-transform: translateX(100%);
    -webkit-transform: translateX(100%);
    -ms-transform: translateX(100%);
    -moz-transform: translateX(100%);
    transform: translateX(100%);
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
    transition: all 0.5s ease; }
  .shop_table.woocommerce-checkout-review-order-table {
    max-width: 100vw;
    min-width: 90vw; }
  #customer_details {
    max-width: 100%;
    min-width: 100%;
    float: none;
    top: unset;
    position: relative; }
    #customer_details div {
      max-width: 100%;
      min-width: 100%; }
  ul.woocommerce-thankyou-order-details {
    border: none !important;
    margin: auto !important;
    max-width: 99%;
    margin-bottom: 20px !important;
    padding: .95em !important; }
    ul.woocommerce-thankyou-order-details li {
      display: block !important;
      clear: both !important;
      float: none !important;
      border: none !important;
      max-width: 100% !important;
      min-width: 100% !important;
      margin-right: 0px !important;
      padding-right: 0px !important; }
      ul.woocommerce-thankyou-order-details li p:nth-child(1) {
        float: left;
        text-align: left;
        max-width: 48%;
        min-width: 48%;
        display: inline; }
      ul.woocommerce-thankyou-order-details li p:nth-child(2) {
        float: right;
        text-align: right;
        font-weight: normal !important;
        max-width: 52%;
        min-width: 52%;
        display: inline; }
      ul.woocommerce-thankyou-order-details li .label {
        font-weight: bold;
        text-align: left !important;
        max-width: 48% !important;
        min-width: 48% !important; }
      ul.woocommerce-thankyou-order-details li .text-bold {
        text-align: right !important;
        max-width: 52% !important;
        min-width: 52% !important; } }

.woocommerce-checkout-review-order-table tfoot {
  display: table-row-group; }

#angelleye_order_review_payment_method {
  display: none !important; }

.woocommerce table.shop_table td, .woocommerce table.shop_table th {
  padding: 3px !important; }

.sidebar-wrap.shopping-cart-sidebar .shipping-product-item .shipping-product-top {
  max-width: 100vw !important; }

.cat {
  max-width: 99vw; }

.shipMethod label {
  font-weight: bold !important;
  font-family: 'Europa Regular' !important; }

#Shipping_same_as_field {
  display: none; }

.available-ingredient {
  font-weight: bold;
  color: #578587;
  text-decoration: underline; }
  .available-ingredient:hover {
    text-decoration: none;
    color: #071c2f; }

#sort-by {
  min-width: 120px !important; }

#search-container {
  scrollbar-color: unset !important;
  scrollbar-width: unset !important; }

#blog_paging, .navigation.pagination {
  max-width: 99vw;
  min-width: 45vw;
  margin: 18px 0px 12px 0px;
  text-align: center;
  font-weight: bold; }
  #blog_paging .nav-links, .navigation.pagination .nav-links {
    text-align: center;
    width: 99%;
    font-size: 16px; }
    #blog_paging .nav-links .current, .navigation.pagination .nav-links .current {
      font-weight: bold;
      color: #b79220;
      padding: 8px;
      margin: 0px 5px 0px 5px;
      border: 1px solid #efefef;
      border-radius: 3px;
      transition-duration: .55s;
      display: inline-block;
      min-width: 40px;
      max-width: 125px;
      text-decoration: none !important;
      color: #b79220;
      background-color: #efefef;
      transition-duration: .55s;
      box-shadow: 3px 2px 5px rgba(100, 100, 100, 0.25); }
    #blog_paging .nav-links a, .navigation.pagination .nav-links a {
      font-weight: bold;
      color: #071c2f;
      padding: 8px;
      margin: 0px 5px 0px 5px;
      border: 1px solid #efefef;
      border-radius: 3px;
      transition-duration: .55s;
      display: inline-block;
      min-width: 40px;
      max-width: 125px;
      text-decoration: none !important; }
      #blog_paging .nav-links a:hover, .navigation.pagination .nav-links a:hover {
        color: #b79220;
        background-color: #efefef;
        transition-duration: .55s;
        box-shadow: 3px 2px 5px rgba(100, 100, 100, 0.25); }
    #blog_paging .nav-links .prev, #blog_paging .nav-links .next, .navigation.pagination .nav-links .prev, .navigation.pagination .nav-links .next {
      font-weight: bold;
      text-decoration: none !important; }

#checkout_paypal_message {
  display: none !important; }

@media screen and (max-width: 999px) {
  header, footer {
    padding: unset !important;
    padding-left: unset !important;
    padding-right: unset !important;
    margin: unset !important; }
  [id^="addonify"] {
    max-width: 100vw !important;
    max-height: 100vh !important; }
  footer > div {
    margin-left: 3vw !important;
    margin-right: 3vw !important; }
  .hidden-md {
    display: none !important; } }

@media screen and (min-width: 1000px) {
  .hidden-lg {
    display: none; } }

footer::before {
  width: 100vw;
  margin: 0px;
  left: 0; }

@media only screen and (min-width: 1000px) {
  .desktop-hide {
    display: none; }
  .myaccount-menu {
    display: none; }
  #Coffee img, #Tea img, #Lab img {
    max-height: 105px;
    margin: -15px; } }

@media only screen and (max-width: 999px) {
  header > .container .navbar-logo-full {
    max-width: 60px !important;
    min-width: 30px;
    line-height: 0;
    top: 15px !important; }
  .tablet-hide {
    display: none; }
  #Coffee img, #Tea img, #Lab img {
    max-height: 80px !important;
    margin: auto;
    margin-bottom: -15px !important; } }

.modal_back {
  background-color: rgba(0, 0, 0, 0.4);
  height: 100%;
  width: 100%;
  position: fixed;
  z-index: 9999990;
  top: 0px;
  left: 0px; }

@media only screen and (min-width: 999px) {
  header {
    max-height: 107px !important; }
  #header-menu {
    max-height: 107px !important; } }

@media only screen and (max-width: 999px) {
  header {
    max-height: 85px !important; }
  #header-menu {
    max-height: unset !important; }
  .sampleRequestBody {
    position: absolute;
    left: -155px; }
  .h3 {
    line-height: unset !important; } }

.active-shopping-cart .sidebar-inner-wrap {
  box-shadow: -10px 0px 20px rgba(0, 0, 0, 0.25);
  transition: 'box-shadow' .88s; }

.banner-slider .slider-item-wrapper {
  display: flex !important;
  width: 100% !important;
  flex-direction: row !important;
  column-gap: 0px;
  max-height: 480px; }
  @media only screen and (max-width: 1225px) {
    .banner-slider .slider-item-wrapper {
      max-height: 430px; } }
  @media only screen and (max-width: 1125px) {
    .banner-slider .slider-item-wrapper {
      max-height: 380px; } }
  @media only screen and (max-width: 1025px) {
    .banner-slider .slider-item-wrapper {
      max-height: 330px; } }
  @media only screen and (max-width: 700px) {
    .banner-slider .slider-item-wrapper {
      max-height: 500px !important;
      min-height: unset !important;
      flex-direction: column !important;
      height: auto; } }
  .banner-slider .slider-item-wrapper .banner-content {
    padding: 2.5em;
    padding-top: 8%;
    background-color: white;
    width: 50%;
    order: 1; }
    .banner-slider .slider-item-wrapper .banner-content h4 {
      font-weight: normal !important; }
    .banner-slider .slider-item-wrapper .banner-content h2 {
      font-size: 2em; }
    @media only screen and (max-width: 700px) {
      .banner-slider .slider-item-wrapper .banner-content {
        min-height: 200px;
        padding-top: unset;
        padding: .75em;
        width: 100% !important;
        order: 2;
        /*
                position:absolute;
                bottom:0px;
                background-color: rgba(255,255,255,.55);
                text-shadow: 4px 4px 7px rgba(100,100,100,.15);
                */ }
        .banner-slider .slider-item-wrapper .banner-content h2 {
          font-size: 1.65em !important; } }
  .banner-slider .slider-item-wrapper .banner-image {
    width: 50%;
    order: 2; }
    @media only screen and (max-width: 700px) {
      .banner-slider .slider-item-wrapper .banner-image {
        width: 100% !important;
        order: 1; } }
    .banner-slider .slider-item-wrapper .banner-image img {
      width: 100%;
      height: auto;
      object-fit: cover !important;
      max-height: 100%; }
      @media only screen and (min-width: 1201px) {
        .banner-slider .slider-item-wrapper .banner-image img {
          max-height: 100%;
          min-height: 100%; } }
      @media only screen and (max-width: 1200px) {
        .banner-slider .slider-item-wrapper .banner-image img {
          max-height: 480px;
          min-height: 480px; } }
      @media only screen and (max-width: 1000px) {
        .banner-slider .slider-item-wrapper .banner-image img {
          max-height: 350px;
          min-height: 350px; } }
      @media only screen and (max-width: 700px) {
        .banner-slider .slider-item-wrapper .banner-image img {
          max-height: 300px;
          min-height: 300px; } }
      @media only screen and (max-width: 575px) {
        .banner-slider .slider-item-wrapper .banner-image img {
          max-height: 250px;
          min-height: 250px;
          object-fit: cover !important; } }

.banner-slider ul.slick-dots {
  bottom: -30px !important; }

ul.slick-dots {
  bottom: -30px !important; }
  @media only screen and (max-width: 900px) {
    ul.slick-dots {
      bottom: 0px !important; } }

.print-offering-container-outer {
  width: 195px;
  max-width: 195px;
  display: flex !important; }
  @media only screen and (max-width: 900px) {
    .print-offering-container-outer {
      width: 100% !important;
      max-width: 100% !important;
      display: flex !important; }
      .print-offering-container-outer .sort-by-select-wrap {
        margin-top: 0px !important; } }
  .print-offering-container-outer .print-offering-container {
    min-width: 165px !important;
    max-width: 195px !important;
    margin-right: 10px; }
    @media only screen and (max-width: 900px) {
      .print-offering-container-outer .print-offering-container {
        width: 85px;
        max-width: 85px; } }
    .print-offering-container-outer .print-offering-container button {
      max-height: 48px;
      padding-left: 8px;
      padding-right: 8px; }
      .print-offering-container-outer .print-offering-container button div {
        margin: 0px;
        padding: 0px; }
      .print-offering-container-outer .print-offering-container button span {
        float: right;
        margin-left: 1px;
        font-size: 14px; }

.print_button {
  font-size: 13px !important;
  height: 48px !important; }
  .print_button .dashicons {
    font-size: 19px !important; }
  @media only screen and (max-width: 900px) {
    .print_button {
      display: none !important; } }

@media only screen and (max-width: 900px) {
  .rnyl-header {
    margin-top: -30px !important; } }

.offering-item-body-left .offering-item-details ul.d-flex li.d-flex {
  max-width: 28% !important; }
  @media only screen and (max-width: 999px) {
    .offering-item-body-left .offering-item-details ul.d-flex li.d-flex {
      max-width: 40% !important; } }

.ui-datepicker * {
  font-family: 'Europa-Regular' !important; }

.ui-datepicker-calendar tr th {
  background-color: #071c2f !important; }

.ui-datepicker-header {
  background-color: #304E6C !important; }

.ui-datepicker-title {
  font-weight: bold !important;
  font-family: 'Europa-Regular' !important; }

.ui-datepicker tr:first-child {
  border: 1px solid silver !important; }

.ui-datepicker-current-day {
  background-color: #ffffff !important; }
  .ui-datepicker-current-day a {
    background-color: #b79220 !important;
    box-shadow: none !important; }

.ui-datepicker-other-month {
  border: unset !important; }

.noselect {
  user-select: none;
  /* Standard syntax */
  -webkit-user-select: none;
  /* Safari */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */ }

.d-row {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 0 -24px;
  justify-content: center; }
  @media only screen and (max-width: 1599px) {
    .d-row {
      margin: 0 -20px; } }
  @media only screen and (max-width: 999px) {
    .d-row {
      margin: 0 -15px; } }
  .d-row .card {
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    flex-wrap: wrap;
    padding: 0 24px;
    width: 100%; }
    @media only screen and (max-width: 1599px) {
      .d-row .card {
        padding: 0 20px; } }
    @media only screen and (max-width: 999px) {
      .d-row .card {
        padding: 0 15px; } }
    .d-row .card.card-2 {
      width: 50%; }
      @media only screen and (max-width: 767px) {
        .d-row .card.card-2 {
          width: 100%; } }
    .d-row .card.card-3 {
      width: 33.33%; }
      @media only screen and (max-width: 767px) {
        .d-row .card.card-3 {
          width: 100%; } }
    .d-row .card.card-4 {
      width: 25%; }
      @media only screen and (max-width: 1024px) {
        .d-row .card.card-4 {
          width: 33.33%; } }
      @media only screen and (max-width: 767px) {
        .d-row .card.card-4 {
          width: 50%; } }
      @media only screen and (max-width: 540px) {
        .d-row .card.card-4 {
          width: 100%; } }

.ui-accordion {
  width: 100% !important; }
  .ui-accordion .ui-accordion-header {
    border-top: 1px solid #E8EAEB;
    border-bottom: 1px solid #E8EAEB;
    padding: 24px 40px 24px 0;
    margin: 0;
    font-size: 20px;
    line-height: 30px;
    font-weight: 700; }
    @media only screen and (max-width: 1400px) {
      .ui-accordion .ui-accordion-header {
        font-size: 18px;
        line-height: 24px; } }
    @media only screen and (max-width: 1400px) {
      .ui-accordion .ui-accordion-header {
        padding: 17px 40px 17px 0; } }
    @media only screen and (max-width: 1199px) {
      .ui-accordion .ui-accordion-header {
        font-size: 16px;
        line-height: 20px;
        padding: 13px 40px 13px 0; } }
    .ui-accordion .ui-accordion-header::after {
      font-family: 'icomoon' !important;
      speak: never;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      line-height: 1;
      content: "\e905";
      /* Better Font Rendering =========== */
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      position: absolute;
      right: 0;
      -o-transform: rotate(90deg);
      -webkit-transform: rotate(90deg);
      -ms-transform: rotate(90deg);
      -moz-transform: rotate(90deg);
      transform: rotate(90deg);
      -webkit-transition: all 0.4s ease;
      -moz-transition: all 0.4s ease;
      -ms-transition: all 0.4s ease;
      -o-transition: all 0.4s ease;
      transition: all 0.4s ease;
      top: 30px;
      font-size: 24px; }
      @media only screen and (max-width: 1400px) {
        .ui-accordion .ui-accordion-header::after {
          top: 21px; } }
      @media only screen and (max-width: 1199px) {
        .ui-accordion .ui-accordion-header::after {
          top: 15px; } }
    .ui-accordion .ui-accordion-header.ui-accordion-header-active::after {
      -o-transform: rotate(-90deg);
      -webkit-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
      -moz-transform: rotate(-90deg);
      transform: rotate(-90deg); }
  .ui-accordion .ui-accordion-content {
    padding: 24px 0;
    color: #4B4B4B; }
    .ui-accordion .ui-accordion-content p,
    .ui-accordion .ui-accordion-content h1,
    .ui-accordion .ui-accordion-content h2,
    .ui-accordion .ui-accordion-content h3,
    .ui-accordion .ui-accordion-content h4,
    .ui-accordion .ui-accordion-content h5,
    .ui-accordion .ui-accordion-content h6 {
      margin-bottom: 20px; }
    .ui-accordion .ui-accordion-content p {
      line-height: 24px; }
    .ui-accordion .ui-accordion-content ul {
      margin: 0;
      padding: 0; }
      .ui-accordion .ui-accordion-content ul li {
        color: #4B4B4B;
        padding: 0px; }
        .ui-accordion .ui-accordion-content ul li:last-child {
          margin-bottom: 0; }
        .ui-accordion .ui-accordion-content ul li:before {
          content: normal; }

.order-flow {
  padding: 80px 0; }
  @media only screen and (max-width: 1400px) {
    .order-flow {
      padding: 50px 0; } }
  @media only screen and (max-width: 1199px) {
    .order-flow {
      padding: 40px 0; } }
  .order-flow .oderflow-content-wrap {
    max-width: 470px;
    padding-left: 60px; }
    @media only screen and (max-width: 767px) {
      .order-flow .oderflow-content-wrap {
        max-width: 100%; } }
    .order-flow .oderflow-content-wrap h4 {
      margin-bottom: 12px; }
  .order-flow .d-row {
    margin-top: 50px; }
    @media (max-width: 1199px) {
      .order-flow .d-row {
        margin-top: 30px; } }
  .order-flow figure {
    width: 720px;
    height: 720px; }
    @media (max-width: 1400px) {
      .order-flow figure {
        width: 520px;
        height: 520px; } }
    @media (max-width: 999px) {
      .order-flow figure {
        width: 320px;
        height: 320px; } }
    @media (max-width: 767px) {
      .order-flow figure {
        margin: 0 auto 30px; } }
    .order-flow figure img {
      width: 100%;
      height: 100%;
      object-fit: cover; }
  @media (max-width: 767px) {
    .order-flow .d-row:nth-child(even) {
      flex-direction: column-reverse; } }

.section-heading .heading-h2 {
  padding-bottom: 15px;
  border-bottom: 4px solid #B59038; }

.section-heading .cmn-paragraphs {
  font-size: 20px;
  line-height: 30px; }
  @media only screen and (max-width: 1400px) {
    .section-heading .cmn-paragraphs {
      font-size: 16px;
      line-height: 22px; } }

.order-flow .section-heading .heading-h2 {
  margin-bottom: 0; }
  @media only screen and (max-width: 767px) {
    .order-flow .section-heading .heading-h2 {
      margin-bottom: 20px; } }

.card.card-8 {
  width: 66.66%; }
  @media only screen and (max-width: 999px) {
    .card.card-8 {
      width: 100%; } }

.warehouse-order-sec,
.section-home-featured {
  padding: 100px 0;
  background-color: #EFF7FC; }
  @media only screen and (max-width: 1400px) {
    .warehouse-order-sec,
    .section-home-featured {
      padding: 50px 0; } }
  @media only screen and (max-width: 1199px) {
    .warehouse-order-sec,
    .section-home-featured {
      padding: 40px 0; } }

.warehouse-order-sec .btn {
  width: 100%; }

.warehouse-order-sec .d-row {
  justify-content: space-between; }

.btn .icon-royal-Right {
  font-size: 20px;
  display: inline-block;
  top: 3px;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .btn .icon-royal-Right {
      font-size: 16px;
      top: 1px; } }

.faq-sec {
  padding: 100px 0; }
  @media only screen and (max-width: 1400px) {
    .faq-sec {
      padding: 50px 0; } }
  @media only screen and (max-width: 1199px) {
    .faq-sec {
      padding: 40px 0; } }
  .faq-sec .ui-accordion {
    margin-bottom: 50px;
    margin-top: 50px; }

.counter-heading {
  display: flex;
  align-items: center;
  margin-bottom: 24px; }
  @media (max-width: 999px) {
    .counter-heading {
      margin-bottom: 15px; } }
  .counter-heading span {
    height: 40px;
    width: 40px;
    background-color: #B59038;
    border-radius: 50%;
    color: white;
    display: flex;
    align-items: center;
    flex-direction: column;
    justify-content: center;
    margin-right: 20px;
    margin-left: -60px; }

.section-home-featured .d-row {
  margin-top: 50px; }
  @media only screen and (max-width: 999px) {
    .section-home-featured .d-row {
      margin-top: 30px; } }
  @media only screen and (max-width: 767px) {
    .section-home-featured .d-row .card {
      padding-bottom: 30px; } }
  @media only screen and (max-width: 767px) {
    .section-home-featured .d-row .card:last-child {
      padding-bottom: 0; } }

.section-home-featured .single-img-container {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  flex-direction: column;
  width: 100%;
  align-items: flex-start;
  justify-content: space-between; }
  .section-home-featured .single-img-container h3 {
    margin: 0; }
  .section-home-featured .single-img-container address {
    margin: 15px 0;
    font-size: 20px;
    line-height: 30px; }
    @media only screen and (max-width: 1400px) {
      .section-home-featured .single-img-container address {
        font-size: 16px;
        line-height: 20px; } }
  .section-home-featured .single-img-container p {
    color: #4B4B4B;
    max-width: 335px;
    margin-bottom: 8px; }
    @media only screen and (max-width: 1400px) {
      .section-home-featured .single-img-container p {
        max-width: 285px; } }
    @media only screen and (max-width: 767px) {
      .section-home-featured .single-img-container p {
        max-width: 100%; } }
  .section-home-featured .single-img-container .single-img-text {
    margin-bottom: 25px; }
    @media only screen and (max-width: 767px) {
      .section-home-featured .single-img-container .single-img-text {
        margin-bottom: 15px; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnZXMvb3JkZXJpbmcuY3NzIiwic291cmNlcyI6WyJwYWdlcy9vcmRlcmluZy5zY3NzIiwiYXBwLnNjc3MiLCJjb21tb24vX3ZhcmlhYmxlLnNjc3MiLCJjb21tb24vX2Z1bmN0aW9uLnNjc3MiLCJjb21tb24vX21peGluLnNjc3MiLCJjb21tb24vX2ZvbnRzLnNjc3MiLCJsYXlvdXQvX2xheW91dC5zY3NzIiwibGF5b3V0L19iYXNlLnNjc3MiLCJsYXlvdXQvX2hlbHBlckNsYXNzLnNjc3MiLCJsYXlvdXQvX2J1dHRvbi5zY3NzIiwibGF5b3V0L19mb3JtQ29udHJvbC5zY3NzIiwibGF5b3V0L19oZWFkZXIuc2NzcyIsImxheW91dC9fZm9vdGVyLnNjc3MiLCJsYXlvdXQvX2dyaWQuc2NzcyIsImxpYi9fYWNjb3JkaWFuLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCBcIi4uL2FwcFwiO1xyXG5AaW1wb3J0IFwiLi4vbGF5b3V0L2dyaWRcIjtcclxuQGltcG9ydCBcIi4uL2xpYi9hY2NvcmRpYW5cIjtcclxuLm9yZGVyLWZsb3cge1xyXG4gICAgcGFkZGluZzogODBweCAwO1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleE1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDQwcHggMDtcclxuICAgIH1cclxuICAgIC5vZGVyZmxvdy1jb250ZW50LXdyYXAge1xyXG4gICAgICAgIG1heC13aWR0aDogNDcwcHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5kLXJvdyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgZmlndXJlIHtcclxuICAgICAgICB3aWR0aDogNzIwcHg7XHJcbiAgICAgICAgaGVpZ2h0OiA3MjBweDtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1MjBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1MjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgICAgICAgd2lkdGg6IDMyMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDMyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDokU21hbGwpIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmQtcm93IHtcclxuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNlY3Rpb24taGVhZGluZyB7XHJcbiAgICAuaGVhZGluZy1oMiB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNCNTkwMzg7XHJcbiAgICB9XHJcbiAgICAuY21uLXBhcmFncmFwaHMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLm9yZGVyLWZsb3cge1xyXG4gICAgLnNlY3Rpb24taGVhZGluZyB7XHJcbiAgICAgICAgLmhlYWRpbmctaDIge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNhcmQuY2FyZC04IHtcclxuICAgIHdpZHRoOiA2Ni42NiU7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuLndhcmVob3VzZS1vcmRlci1zZWMsXHJcbi5zZWN0aW9uLWhvbWUtZmVhdHVyZWQge1xyXG4gICAgcGFkZGluZzogMTAwcHggMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNFRkY3RkM7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgIHBhZGRpbmc6IDUwcHggMDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogNDBweCAwO1xyXG4gICAgfVxyXG59XHJcblxyXG4ud2FyZWhvdXNlLW9yZGVyLXNlYyB7XHJcbiAgICAuYnRuIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5kLXJvdyB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuIHtcclxuICAgIC5pY29uLXJveWFsLVJpZ2h0IHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHRvcDogM3B4O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIHRvcDogMXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmZhcS1zZWMge1xyXG4gICAgcGFkZGluZzogMTAwcHggMDtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogNTBweCAwO1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhNZWRpdW0pIHtcclxuICAgICAgICBwYWRkaW5nOiA0MHB4IDA7XHJcbiAgICB9XHJcbiAgICAudWktYWNjb3JkaW9uIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5jb3VudGVyLWhlYWRpbmcge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgc3BhbiB7XHJcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCNTkwMzg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC02MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2VjdGlvbi1ob21lLWZlYXR1cmVkIHtcclxuICAgIC5kLXJvdyB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmNhcmQge1xyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2luZ2xlLWltZy1jb250YWluZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGFkZHJlc3Mge1xyXG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMzVweDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyODVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5zaW5nbGUtaW1nLXRleHQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qKiogQ29tbW9uIFNBQVMgRklMRVMgKioqL1xyXG5cclxuQGltcG9ydCBcImNvbW1vbi92YXJpYWJsZVwiO1xyXG5AaW1wb3J0IFwiY29tbW9uL2Z1bmN0aW9uXCI7XHJcbkBpbXBvcnQgXCJjb21tb24vbWl4aW5cIjtcclxuQGltcG9ydCBcImNvbW1vbi9mb250c1wiOyAgXHJcblxyXG4vKioqIENvbW1vbiBMYXlvdXQgICoqKi9cclxuIFxyXG5AaW1wb3J0IFwibGF5b3V0L2xheW91dFwiOyAgXHJcbi8vQGltcG9ydCBcImxheW91dC9vbGQtcG9wdXBcIjsgICAgICBcclxuXHJcbi8qKiogQ29tbW9uIExpYnJhcnkgKioqLyAgIFxyXG4udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyIC51aS1pY29uIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufSAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICBcclxuI2xvZ2luLC5jb21wYW55LWFkZHJlc3MsI0FkZFRvRmF2b3JpdGVzV2luZG93LCNzZXJ2ZXItaWR7IFxyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAgICAgXHJcbn0gICAgICBcclxuICAgICAgICBcclxuXHJcbiAgJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiRXVyb3BhXCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiAgJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiBcIkV1cm9wYVwiLCBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xyXG4gICRmb250LWZhbWlseS1pY29uczogXCJmb250LWF3ZXNvbWVcIjtcclxuICBcclxuICAkYmxvY2stcXVvdGUtZm9udC1mYW1pbHk6IFwiRXVyb3BhXCIsIFwiT3BlbiBTYW5zXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsIFwibGlub3R5cGUtc2Fib25cIiwgXCJMb3JhXCIgc2VyaWY7XHJcbiAgXHJcbiAgJGZvbnQtc2l6ZS1iYXNlOiAxcmVtICFkZWZhdWx0OyAvLyBBc3N1bWVzIHRoZSBicm93c2VyIGRlZmF1bHQsIHR5cGljYWxseSBgMTZweGBcclxuICAkaDEtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAyLjg7XHJcbiAgJGgyLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMi4yO1xyXG4gICRoMy1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAqIDEuNTtcclxuICAkaDQtZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2UgKiAxLjM7XHJcbiAgJGg1LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS4xO1xyXG4gICRwLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xyXG4gICRibG9ja3F1b3RlLWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlICogMS41O1xyXG4gICRzbWFsbC1mb250LXNpemU6ICRoNS1mb250LXNpemU7XHJcbiAgJHhzLWZvbnQtc2l6ZTogMC44cmVtO1xyXG4gICRmb290ZXItbWVudS1mb250LXNpemU6ICRmb250LXNpemUtYmFzZSAqIDEuMjtcclxuICBcclxuICAkaDEtbGluZS1oZWlnaHQ6IDU0cHg7XHJcbiAgJGgyLWxpbmUtaGVpZ2h0OiA0NnB4O1xyXG4gIFxyXG4gICR0ZXh0LXNoYWRvdzogNHB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcclxuICAkYm94LXNoYWRvdzogMnB4IDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcclxuICAkdGV4dC1zaGFkb3ctbGlnaHQ6ICRib3gtc2hhZG93O1xyXG4gICR0b29sdGlwLWJveC1zaGFkb3c6IDRweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XHJcbiBcclxuXHJcbiBcclxuICAgIFxyXG5cclxuXHJcblxyXG4gXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIFxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiBcclxuXHJcblxyXG5cclxuXHJcbiAgXHJcbi8vIFJveWFsIE5ZIEFkZGVkIG92ZXJyaWRlcyB0byBmaXggUGVycGV0dWFsIEhlYWRlciAvIEZvb3RlciBtZXJnZSB3aXRoIG9sZCBwYWdlc1xyXG5cclxuaDIudGV4dC1jYXBpdGFsaXplLnRleHQtY2VudGVyLmZvcm0taGVhZGluZyB7XHJcbiAgd2lkdGg6MTAwJTsgXHJcbiAgaGVpZ2h0OjEyNXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRybnktbmF2eS1ibHVlO1xyXG4gIHBhZGRpbmc6MjJweDtcclxuICBtYXJnaW46MHB4O1xyXG4gIGxlZnQ6MDtcclxuICByaWdodDowO1xyXG59XHJcblxyXG4vLyAud29vY29tbWVyY2UtZXJyb3IgbGkgLndjLWZvcndhcmQge1xyXG4vLyAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG4vLyB9XHJcblxyXG4vLyAud29vY29tbWVyY2Utbm90aWNlcy13cmFwcGVyIHtcdFx0XHJcbi8vICAgbWFyZ2luLWJvdHRvbTowcHggIWltcG9ydGFudDtcclxuLy8gfVxyXG5cclxuLnNlY3Rpb24ge1xyXG4gIG1hcmdpbi10b3A6MXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbnVsLCB1bCBsaSB7XHJcbiAgbWFyZ2luLWJvdHRvbTowcHggIWltcG9ydGFudDtcclxufVxyXG5cclxudWwge1xyXG4gIG1hcmdpbi1ib3R0b206MHB4ICFpbXBvcnRhbnQ7XHJcbiAgcGFkZGluZy1ib3R0b206MHB4O1xyXG59XHJcblxyXG5cclxuLy8gRGFzaGJvYXJkLyBNeS1hY2NvdW50IGxhbmRpbmcgcGFnZSAvL1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbi5zZWN0aW9uLmFjY291bnRfbmF2X3NlY3Rpb24ge1xyXG4gIHBhZGRpbmctdG9wOiAxcmVtO1xyXG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG4gIFxyXG4gIC8vIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgLy8gICAgIHBhZGRpbmctdG9wOiAycmVtO1xyXG4gIC8vICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuXHJcbiAgLy8gfVxyXG5cclxuICAvLyBob3Jpem9udGFsIHNjcm9sbCB1cCB0byBsYXJnZSBicC5cclxuICAuY29udGFpbmVye1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcblxyXG4gICAgICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAvLyAgICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgIC8vICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIC8vIH1cclxuXHJcbiAgICAgIC8vIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgIC8vICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgLy8gICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgLy8gICAgIG1heC13aWR0aDogOTYwcHg7XHJcbiAgICAgIC8vIH0gXHJcblxyXG4gICAgICAvLyBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAvLyAgICAgbWF4LXdpZHRoOiAxMjc0cHg7XHJcbiAgICAgIC8vIH1cclxuXHJcbiAgICAgIC8vIEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG4gICAgICAvLyAgICAgbWF4LXdpZHRoOiAxNTQwcHg7XHJcbiAgICAgIC8vIH0gXHJcbiAgfVxyXG4gIFxyXG4gIC8vIGFjY291bnQgbmF2aWdhdGlvbiBsaW5rcyAvL1xyXG4gIC5hY2NvdW50LW5hdi1jb250YWluZXIge1xyXG4gICAgICAvLyBoZWlnaHQ6IDVyZW07XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgLy8gICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgICAgLy8gICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICAgIC8vIH1cclxuXHJcbiAgICAgIC5hY2NvdW50LW5hdiB7XHJcbiAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgICAgICAgIG92ZXJmbG93LXg6IGF1dG87XHJcbiAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbiAgICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgICAgICAgLy8gICAgIG1pbi13aWR0aDogdW5zZXQ7XHJcbiAgICAgICAgICAvLyAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAvLyAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiA5NjBweDtcclxuICAgICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgICAvLyBAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6IDEyNzRweDtcclxuICAgICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgICAvLyBAaW5jbHVkZSBicCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAxNTQwcHg7XHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IC45cmVtO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgLy8gICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAvLyAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5hY2NvdW50LWxpbmsge1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDByZW07XHJcbiAgICAgICAgICAgICAgZmxleC1ncm93OiAwO1xyXG5cclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAgICAgICAgIC8vICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgJjpob3ZlciwgXHJcbiAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJGMteWVsbG93O1xyXG5cclxuICAgICAgICAgICAgICAgICAgJiA+IGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLXllbGxvdztcclxuICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICBhIHsgXHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcclxuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuaXMtYWN0aXZlIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJGMteWVsbG93O1xyXG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAkYy15ZWxsb3c7XHJcblxyXG4gICAgICAgICAgICAgICYgPiBhIHtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLXllbGxvdztcclxuICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbi5zZWN0aW9uLXByb2ZpbGUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtbGlnaHQ7XHJcbiAgXHJcbiAgaDEge1xyXG4gICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xyXG4gIH1cclxuICBcclxuICAucHJvZmlsZS1kZXRhaWxzLFxyXG4gIC5wcm9maWxlLWFkZHJlc3MsXHJcbiAgLnByb2ZpbGUtYmlsbC1zaGlwIHtcclxuICAgICAgcGFkZGluZy10b3A6IDJyZW07XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG4gICAgICBcclxuICAgICAuaDQge1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcclxuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ncmF5LW1lZDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLnByb2ZpbGUtYmlsbC1zaGlwXHJcblxyXG5cclxuXHJcbiAgLmxhYmVsIHtcclxuICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XHJcblxyXG4gIH1cclxufVxyXG5cclxuLnNlY3Rpb24tb3JkZXJzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblxyXG4gIGgzIHtcclxuICAgICAgLy8gQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcblxyXG4gICAgICAvLyB9XHJcbiAgfVxyXG5cclxuICAucGFuZWwge1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ncmF5LW1lZDtcclxuICAgICAgcGFkZGluZzogMnJlbTtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG5cclxuICAgICAgLy8gQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAgICAgLy8gICAgIG1pbi1oZWlnaHQ6IDI3cmVtO1xyXG4gICAgICAvLyB9XHJcblxyXG4gICAgICB1bCB7XHJcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgLy8gQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAgICAgICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblxyXG4gICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtZ3JheS1tZWQ7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkaDUtZm9udC1zaXplO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkYy1ibHVlO1xyXG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkYy1ibHVlO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMnJlbTtcclxuICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJGMtYmx1ZTtcclxuICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAvLyB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuYWxlcnQge1xyXG4gICAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHAudGV4dC1yZWQtYWxlcnQge1xyXG4gICAgICAgICAgY29sb3I6ICRjLXJlZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgcC50ZXh0LW9yYW5nZS1hbGVydCB7XHJcbiAgICAgICAgICBjb2xvcjogJGMtb3JhbmdlLWFsZXJ0O1xyXG4gICAgICB9XHJcbiAgICAgICAgIFxyXG4gICAgICAuc3RhY2tlZCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cclxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICAgIC8vIH1cclxuICAgICAgICAgXHJcbiAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgXHJcbiAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICB9XHJcblxyXG4gICAgICAgICBsaSA+IHAge1xyXG4gICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgfVxyXG5cclxuICAgICAgfVxyXG5cclxuICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDAuODc1ZW0gMi41cmVtO1xyXG4gICAgICAgICAgbWluLXdpZHRoOiAxMHJlbTtcclxuXHJcbiAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9IFxyXG59XHJcblxyXG4uc2VjdGlvbi1tYXJrZXRpbmcge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxufVxyXG5cclxuLnBhbmVsLXBkZiB7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgJGMtZ3JheS1saWdodDtcclxuICBwYWRkaW5nOiAycmVtIDJyZW0gMCAycmVtO1xyXG4gIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XHJcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG1pbi13aWR0aDogMjAlO1xyXG4gIG1hcmdpbi1ib3R0b206IDJyZW07XHJcblxyXG4gIGEge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgICBmb250LXNpemU6ICRoNC1mb250LXNpemU7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xyXG4gIH1cclxufVxyXG5cclxuLnNlY3Rpb24tdHJhZGVyIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWxpZ2h0O1xyXG4gIEBpbmNsdWRlIHJvdWdoLWVkZ2UoJGMtYmx1ZS1saWdodCwgdG9wKTtcclxuXHJcbiAudHJhZGVyIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1mbG93OiBjb2x1bW4gd3JhcDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAvLyBAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuICAgICAgLy8gICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XHJcblxyXG4gICAgICAvLyB9XHJcbiAgICAgIC5yb3VuZGVkLWNpcmNsZSB7XHJcblxyXG4gICAgICAgICAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgICAgIC8vICAgICBtYXgtaGVpZ2h0OiAxMHJlbTtcclxuICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6IDEwcmVtO1xyXG4gICAgICAgICAgLy8gICAgIGhlaWdodDogMTByZW07XHJcbiAgICAgICAgICAvLyAgICAgd2lkdGg6IDEwcmVtO1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICBcclxuICAgICAgICAgIC8vIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgICAgICAgLy8gICAgIG1heC1oZWlnaHQ6IDEycmVtO1xyXG4gICAgICAgICAgLy8gICAgIG1heC13aWR0aDogMTJyZW07XHJcbiAgICAgICAgICAvLyAgICAgaGVpZ2h0OiAxMnJlbTtcclxuICAgICAgICAgIC8vICAgICB3aWR0aDogMTJyZW07XHJcbiAgICAgICAgICAvLyAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgIC8vICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07XHJcbiAgICAgICAgICAvLyB9XHJcbiAgICAgIFxyXG4gICAgICAgICAgLy8gQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAgICAgICAgIC8vICAgICBtYXgtaGVpZ2h0OiAxNHJlbTtcclxuICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6IDE0cmVtO1xyXG4gICAgICAgICAgLy8gICAgIGhlaWdodDogMTRyZW07XHJcbiAgICAgICAgICAvLyAgICAgd2lkdGg6IDE0cmVtO1xyXG4gICAgICAgICAgLy8gICAgIG1hcmdpbi1yaWdodDogMnJlbTtcclxuICAgICAgICAgIC8vICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgIC8vIH1cclxuICAgICAgXHJcbiAgICAgICAgICAvLyBAaW5jbHVkZSBicCh4eGxhcmdlKSB7XHJcbiAgICAgICAgICAvLyAgICAgbWF4LWhlaWdodDogMTZyZW07XHJcbiAgICAgICAgICAvLyAgICAgbWF4LXdpZHRoOiAxNnJlbTtcclxuICAgICAgICAgIC8vICAgICBoZWlnaHQ6IDE2cmVtO1xyXG4gICAgICAgICAgLy8gICAgIHdpZHRoOiAxNnJlbTtcclxuICAgICAgICAgIC8vIH1cdFx0XHRcclxuICAgICAgfVxyXG5cclxuICB9XHJcblxyXG4gIC50cmFkZXItaW5mbyB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgaDIge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHJcbiAgICAgICAgICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAgICAgLy8gICAgIGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTtcclxuXHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgICAgICAvLyAgICAgZm9udC1zaXplOiAkaDItZm9udC1zaXplO1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAvLyAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgICBmb250LXNpemU6ICRoNS1mb250LXNpemU7XHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIGhlYWRlciBzZWN0aW9ucyAvL1xyXG4uc2VjdGlvbi5zZWN0aW9uLW1hcmtldGluZy1oZWFkZXIsXHJcbi5zZWN0aW9uLnNlY3Rpb24tcmVzZXJ2ZXMtaGVhZGVyLFxyXG4uc2VjdGlvbi5zZWN0aW9uLW9yZGVycy1oZWFkZXIge1xyXG4gIHBhZGRpbmctdG9wOiAwO1xyXG4gIHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG4gIFxyXG4gIGgxIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgIC8vICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAvLyAgICAgcGFkZGluZzogMCAxLjVyZW07XHJcbiAgICAgIC8vICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAvLyB9XHJcbiAgfVxyXG59XHJcblxyXG4uZmlsdGVyaW5nIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZmxvdzogY29sdW1uIHdyYXA7XHJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gIFxyXG4gIC8vIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgLy8gICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcclxuICAvLyAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAvLyB9XHJcblxyXG4gIC8vIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gIC8vICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgLy8gfVxyXG5cclxuICBwIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIC8vIGhlaWdodDogMTAwJTtcclxuICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG5cclxuICAgICAgLy8gQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIC8vIH1cclxuICB9XHJcblxyXG4gIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWluLWhlaWdodDogM3JlbTtcclxuXHJcbiAgICAgIC8vIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICAgIC8vICAgICBtYXgtd2lkdGg6IDQwJTtcclxuICAgICAgLy8gfVxyXG4gICAgICBcclxuICAgICAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgIC8vICAgICB3aWR0aDogMTFyZW07XHJcbiAgICAgIC8vIH1cclxuICB9XHJcblxyXG4gICNkYXRlLFxyXG4gICNhbHBoYWJldGljYWwge1xyXG4gICAgICBtYXJnaW4tdG9wOiAxcmVtO1xyXG4gICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAvLyBAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuICAgICAgLy8gICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIC8vICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gIH1cclxufVxyXG5cclxuLnNlY3Rpb24tb3JkZXJzLWhlYWRlciB7XHJcbiAgLmZpbHRlcmluZyB7XHJcbiAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcclxuXHJcbiAgICAgIC8vIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICAgIC8vICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgLy8gfVxyXG4gICAgICBcclxuICAgICAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgIC8vICAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XHJcbiAgICAgIC8vICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgLy8gfVxyXG4gICAgICAvLyBwIHtcclxuICAgICAgLy8gICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICAgICAgICBcclxuXHJcbiAgICAgIC8vICAgICB9XHJcbiAgICAgIC8vIH1cclxuXHJcbiAgICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiAxMXJlbTtcclxuXHJcbiAgICAgICAgICAvLyBAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuICAgICAgICAgIC8vICAgICBtYXgtd2lkdGg6IDE1cmVtO1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICB9XHJcblxyXG5cclxuICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uLXBhc3QtcHVjaGFzZXMsXHJcbi5zZWN0aW9uLW1hcmtldGluZy1oZWFkZXIsXHJcbi5zZWN0aW9uLXJlc2VydmVzLWhlYWRlciB7XHJcbiAgLmZpbHRlcmluZyB7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblxyXG4gICAgICAvLyBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAvLyAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgLy8gfVxyXG5cclxuICAgICAgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwcmVtO1xyXG4gICAgICAgICAgbWluLXdpZHRoOiAycmVtO1xyXG4gICAgICB9XHJcbiAgfVxyXG59IFxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIGNvbnRlbnQgc2VjdGlvbnNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbi5zZWN0aW9uLnNlY3Rpb24tb3JkZXJzLXdpc2hsaXN0LFxyXG4uc2VjdGlvbi5zZWN0aW9uLW9yZGVycy1jb250ZW50LFxyXG4uc2VjdGlvbi5zZWN0aW9uLW1hcmtldGluZy1jb250ZW50IHtcclxuICBwYWRkaW5nLXRvcDogMDtcclxuXHJcbiAgLy8gQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgLy8gICAgIHBhZGRpbmctdG9wOiAxcmVtO1xyXG4gIC8vIH1cclxuIFxyXG4gIC8vIEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG4gIC8vICAgICBwYWRkaW5nLXRvcDogMnJlbTtcclxuICAvLyB9XHJcblxyXG4gIC8vIGgzIHtcclxuICAvLyAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAvLyAgICAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xyXG4gIC8vICAgICB9XHJcbiAgLy8gfVxyXG59XHJcblxyXG5cclxuXHJcbi5zZWN0aW9uLXBhc3QtcHVjaGFzZXMge1xyXG5cclxuICAub2ZmZXJpbmctaXRlbSB7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblxyXG4gICAgICAuZ3JpZC1oZWFkZXIge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmdyaWQtZm9vdGVyIHtcclxuICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cclxuICAgICAgLy8gICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgICAvLyAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblxyXG4gICAgICAvLyAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAvLyAucGFnaW5hdGlvbi1ib3R0b20ge1xyXG5cclxuICAvLyB9XHJcbn1cclxuXHJcbiNkYXNoYm9hcmRUb3Age1xyXG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcclxuICBtYXJnaW46YXV0bztcclxuICB3aWR0aDoxMDAlO1xyXG4gIHBhZGRpbmc6MHB4O1xyXG59XHJcblxyXG4jbXktYWNjb3VudC1jb21wYW55LW5hbWUge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBoZWlnaHQ6IDE1MHB4IDtcclxuICBsaW5lLWhlaWdodDoxNTBweDtcclxuICBmb250LXNpemU6Mi4yZW07XHJcbiAgZmxvYXQ6bGVmdDtcclxuICBtYXJnaW46MnB4O1xyXG4gIHBhZGRpbmc6M3B4O1xyXG59XHJcblxyXG4jY3VzdG9tZXJMb2dvX2Rhc2hib2FyZCB7XHJcbiAgbWFyZ2luLXRvcDotMXB4O1xyXG59XHJcblxyXG4jbXktYWNjb3VudCB7XHJcblxyXG4jZGFzaEJ1dHRvbnMge1xyXG4gIG1hcmdpbjogYXV0bztcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC44OHM7XHJcbiAgbWFyZ2luLXJpZ2h0OiA5JTtcclxuICBtYXJnaW4tdG9wOiAxMTBweDtcclxuICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICB6LWluZGV4Ojk4O1xyXG5cclxuICBkaXY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQgIWltcG9ydGFudDtcclxuICAgIG9wYWNpdHk6Ljc4O1xyXG4gICAgdHJhbnNpdGlvbjogLjc1cztcclxuICB9XHJcblxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1lbnUtbW9iaWxlKSB7XHJcbiAgICBtYXJnaW4tdG9wOiAxMDdweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxufVxyXG5cclxuI215LWFjY291bnQtbGVmdC1uYXZpZ2F0aW9uIHtcclxuICBjbGVhcjogYm90aDtcclxuICBtYXJnaW46MHB4O1xyXG4gIHBhZGRpbmc6MHB4O1xyXG4gIC8qbWFyZ2luLXRvcDotNTVweDsqL1xyXG59XHJcblxyXG4jbXktYWNjb3VudC1ib2R5IHtcclxuICBjbGVhcjogYm90aDtcclxuICBkaXNwbGF5OmJsb2NrO1xyXG4gIG1hcmdpbi10b3A6LTEwcHg7XHJcbn1cclxuXHJcbi5sb2dvdXRCdG4ge1xyXG4gIGZvbnQtc2l6ZTogLjg3ZW0gIWltcG9ydGFudDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm5hdl9jb250YWluZXIge1xyXG4gIHdoaXRlLXNwYWNlOm5vd3JhcDtcclxufVxyXG5cclxuI215LWFjY291bnQge1xyXG4gICAgLmRhc2hfbmF2IHtcclxuICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcclxuICAgIH1cclxuXHJcbiAgICAuZGFzaF9uYXYgbGksICAuZGFzaF9uYXYyIGxpIHtcclxuICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1pbi13aWR0aDogMTQwcHg7XHJcbiAgICBtYXgtd2lkdGg6IDE0MHB4O1xyXG4gICAgLy8gZm9udC1zaXplOiAuODNlbTtcclxuICAgIC8vIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgLy9oZWlnaHQ6IDM1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBtYXJnaW46IDBweCAxcHggMHB4IDFweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC44OHM7XHJcbiAgICB9XHJcblxyXG4gICAgLmRhc2hfbmF2IGxpIGRpdiwgLmRhc2hfbmF2MiBsaSBkaXYge1xyXG4gICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIC8vaGVpZ2h0OiAzNXB4O1xyXG4gICAgLy8gY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgLy8gYmFja2dyb3VuZDogI2VmZWZlZjtcclxuICAgIHBhZGRpbmctbGVmdDogNXB4O1xyXG4gICAgcGFkZGluZy1yaWdodDo1cHg7XHJcbiAgICAvLyBwYWRkaW5nLXRvcDogNnB4O1xyXG4gICAgLy8gdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgLy8gZm9udC1zaXplOiAuOTVlbTtcclxuICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZmRmZGY7XHJcbiAgICAvLyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuODhzO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHVsLmRhc2hfbmF2IGxpOmhvdmVyLCAuZGFzaF9uYXYgbGkgZGl2OmhvdmVyIHtcclxuICAgIC8vICAgLy8gYmFja2dyb3VuZC1jb2xvcjogI2I3OTIyMDtcclxuICAgIC8vICAgLy8gY29sb3I6I2ZmZmZmZjtcclxuICAgIC8vIH1cclxuXHJcbiAgICAuc2VsZWN0ZWRUYWIge1xyXG4gICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbiAgICAvLyB3aWR0aDogMTAwJTtcclxuICAgIC8vIGhlaWdodDogMzhweDtcclxuICAgIC8vIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcclxuICAgIC8vIHBhZGRpbmctdG9wOiA2cHg7XHJcbiAgICAvLyB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAvLyBmb250LXNpemU6IC45NWVtO1xyXG4gICAgLy8gYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZmRmZGYgIWltcG9ydGFudDtcclxuICAgIC8vIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RmZGZkZiAhaW1wb3J0YW50O1xyXG4gICAgLy8gYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RmZGZkZiAhaW1wb3J0YW50O1xyXG4gICAgLy8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmZmZmYgIWltcG9ydGFudDtcclxuICAgIC8vIHRyYW5zaXRpb24tZHVyYXRpb246IC44OHM7XHJcbiAgICBjb2xvcjojYjc5MjIwO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXNoX25hdjIgbGkgZGl2OmhvdmVyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC41OHM7XHJcbiAgICBjb2xvcjogI2I3OTIyMDtcclxuICAgIH1cclxuXHJcbiAgICAuc2VsZWN0ZWRUYWI6aG92ZXIge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjU4cztcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICBjb2xvcjogI2I3OTIyMDtcclxuICAgIH1cclxuXHJcbiAgICAjbXlBY2NvdW50Q29mZmVlLCAjbXlBY2NvdW50VGVhLCAjbXlBY2NvdW50TGFiIHtcclxuICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjZGFzaGJvYXJkX2JvZHkge1xyXG4gICAgbWFyZ2luLXRvcDogLTE2cHg7XHJcbiAgICBtaW4taGVpZ2h0OiA0NTBweDtcclxuICAgIH1cclxuXHJcbiAgICAjZGFzaGJvYXJkX2JvZHkgZGl2LmNvbnRlbnRUYWIge1xyXG4gICAgbWluLWhlaWdodDogNDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgI0NvZmZlZSwgI1RlYSwgI0xhYiB7XHJcbiAgICBjb2xvcjogIzM0M2E0MDtcclxuICAgIHBhZGRpbmc6IDJweDtcclxuICAgIG1hcmdpbjogMXB4O1xyXG4gICAgbWluLXdpZHRoOiAxOTBweDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC44OHM7XHJcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgI0NvZmZlZTpob3ZlciwgI1RlYTpob3ZlciwgI0xhYjpob3ZlciB7XHJcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgIzA3MWMyZjtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM5LCAyNDcsIDI1MiwgMC42MCk7XHJcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOi44OHM7XHJcbiAgICB9XHJcblxyXG4gICAgI0NvZmZlZSBpbWcsICNUZWEgaW1nLCAjTGFiIGltZyB7ICAgICAgICAgICAgXHJcbiAgICAgICAgbWF4LWhlaWdodDogMTA1cHg7XHJcbiAgICAgICAgbWFyZ2luOi0xNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1lbnUtbW9iaWxlKSB7XHJcbiAgICAgICAgI0NvZmZlZSBpbWcsICNUZWEgaW1nLCAjTGFiIGltZyB7ICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDgwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luOi0xNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5zZWxlY3RlZERhc2hCdXR0b24sIC5zZWxlY3RlZERhc2hCdXR0b246aG92ZXIge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNmZmMxMDcgIWltcG9ydGFudDtcclxuICAgIC8vIGJhY2tncm91bmQ6IHJnYigyMzksMjQ3LDI1Mik7XHJcbiAgICAvLyBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjM5LDI0NywyNTIsMCkgMCUsIHJnYmEoMjM5LDI0NywyNTIsMSkgNjAlKTtcclxuICAgIC8vIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyMzksMjQ3LDI1MiwwKSAwJSwgcmdiYSgyMzksMjQ3LDI1MiwxKSA2MCUpO1xyXG4gICAgLy8gYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyMzksMjQ3LDI1MiwwKSAwJSwgcmdiYSgyMzksMjQ3LDI1MiwxKSA2MCUpO1xyXG4gICAgLy8gZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj1cIiNlZmY3ZmNcIixlbmRDb2xvcnN0cj1cIiNlZmY3ZmNcIixHcmFkaWVudFR5cGU9MSk7XHJcbiAgICAvLyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNjhzO1xyXG4gICAgfVxyXG5cclxuICAgICNteUFjY291bnRDb2ZmZWUsICNteUFjY291bnRUZWEsICNteUFjY291bnRMYWIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgICNmb290ZXJUcmFkZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDk5LjF2dztcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBtYXJnaW4tdG9wOiAxMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAjZm9vdGVyVHJhZGVyQWZ0ZXIge1xyXG4gICAgaGVpZ2h0OiA0MzBweDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBTdHlsZSB0aGUgdGFiICovXHJcbiAgICAudGFiIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZjFmMTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC8qIFN0eWxlIHRoZSBidXR0b25zIHRoYXQgYXJlIHVzZWQgdG8gb3BlbiB0aGUgdGFiIGNvbnRlbnQgKi9cclxuICAgIC50YWIgYnV0dG9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBwYWRkaW5nOiAxNHB4IDE2cHg7XHJcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xyXG4gICAgY29sb3I6ICM1Nzg1ODc7XHJcbiAgICB9XHJcblxyXG4gICAgLyogQ2hhbmdlIGJhY2tncm91bmQgY29sb3Igb2YgYnV0dG9ucyBvbiBob3ZlciAqL1xyXG4gICAgLnRhYiBidXR0b246aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcclxuICAgIH1cclxuXHJcbiAgICAvKiBDcmVhdGUgYW4gYWN0aXZlL2N1cnJlbnQgdGFibGluayBjbGFzcyAqL1xyXG4gICAgLnRhYiBidXR0b24uYWN0aXZlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XHJcbiAgICB9XHJcblxyXG4gICAgLyogU3R5bGUgdGhlIHRhYiBjb250ZW50ICovXHJcbiAgICAudGFiY29udGVudCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgcGFkZGluZzogNnB4IDEycHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgICAudGFiY29udGVudCB7XHJcbiAgICBhbmltYXRpb246IGZhZGVFZmZlY3QgMXM7IC8qIEZhZGluZyBlZmZlY3QgdGFrZXMgMSBzZWNvbmQgKi9cclxuICAgIH1cclxuXHJcbiAgICAvKiBHbyBmcm9tIHplcm8gdG8gZnVsbCBvcGFjaXR5ICovXHJcbiAgICBAa2V5ZnJhbWVzIGZhZGVFZmZlY3Qge1xyXG4gICAgZnJvbSB7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuXHJcbiAgICB0byB7XHJcbiAgICAgICAgb3BhY2l0eTogMTtcclxuICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjYWNjb3VudFNoaXBwaW5nQWRkcmVzcywgI2FjY291bnRCaWxsaW5nQWRkcmVzcyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXgtd2lkdGg6IDQ4JTtcclxuICAgIHdpZHRoOiA0OCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOWZhO1xyXG4gICAgcGFkZGluZzogMTRweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAxJTtcclxuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwMCwxMDAsMTAwLC4yNSk7XHJcbiAgICBib3gtc2hhZG93OjJweCAycHggNHB4IHJnYmEoMTAwLDEwMCwxMDAsLjE1KTtcclxuICAgIH1cclxuXHJcbiAgICAjYWNjb3VudFNoaXBwaW5nQWRkcmVzcyBkaXYsICNhY2NvdW50QmlsbGluZ0FkZHJlc3MgZGl2IHtcclxuICAgIG1pbi1oZWlnaHQ6IDE3MHB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jb250ZW50VGFiIHtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBtYXJnaW46IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgdGFibGUgLnYtYWxpZ24tdG9wIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOnRvcDtcclxuICAgIH1cclxuXHJcbiAgICAjZGFzaERyb3Bkb3duIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBmbG9hdDpyaWdodDtcclxuICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnRydW5jYXRlVGV4dCB7ICAgIFxyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGZvbnQtc2l6ZTouOWVtO1xyXG4gICAgfVxyXG4gICAgLnNhbXBsZS1mZWVkYmFjay1oZWFkZXIge1xyXG4gICAgYmFja2dyb3VuZDogIzA3MWMyZjtcclxuICAgIHBhZGRpbmc6IDhweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICB9XHJcblxyXG4gICAgLnNhbXBsZVJlcXVlc3RzIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG5cclxuICAgIC5kYXNoX2Ryb3Age1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuZGFzaF9uYXYge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4jbXktYWNjb3VudC1ib2R5XHJcbi50aXRsZSxcclxuI215LWFjY291bnQtbGVmdC1uYXZpZ2F0aW9uIFxyXG4udGl0bGUge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5zYW1wbGVSZXF1ZXN0VGFibGUgdGgge1xyXG4gIHRleHQtYWxpZ246Y2VudGVyO1xyXG59XHJcblxyXG4uZmxleFRhYmxlIHRyIHRkIHtcclxuICBwYWRkaW5nOjNweDtcclxuICBib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7XHJcbiAgZm9udC1zaXplOi44OGVtO1xyXG59XHJcblxyXG4ubW9iaWxlLWxhYmVsIHtcclxuICBkaXNwbGF5Om5vbmU7XHJcbn1cclxuXHJcbiNteS1hY2NvdW50LWxvZ28taW1nIHtcclxuICBwYWRkaW5nOiAyNXB4O1xyXG4gIGhlaWdodDogMTUwcHg7XHJcbiAgd2lkdGg6IDIwMHB4O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbiAgbWFyZ2luOjE1cHg7XHJcbn1cclxuXHJcblxyXG4vLyBDQVJUIFNUWUxFU1xyXG5cclxuXHJcbi51cGRhdGVfY2FydF9jdXN0b20ge1xyXG4gIHBhZGRpbmc6IDNweCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiA5MHB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWxlZnQ6IDRweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi10b3A6IDJweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKlxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaWEtd2lkdGgtZGVza3RvcCkge1xyXG4gIC53b29jb21tZXJjZSB7XHJcbiAgICAgIC8vIG5vdGljZXNcclxuICAgICAgLndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuXHJcbiAgICAgICAgICAud29vY29tbWVyY2UtbWVzc2FnZSB7XHJcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vIGNhcnQgZW1wdHkgcGFnZVxyXG4gICAgICBwLmNhcnQtZW1wdHkge1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2VjdGlvbi1mZWF0dXJlZC1mb290ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1saWdodDtcclxuICAgICAgICAgIC8vQGluY2x1ZGUgcm91Z2gtZWRnZSgkYy1ibHVlLWxpZ2h0LCB0b3ApO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIENhcnQgLy9cclxuICAgICAgLmNhcnQtc2VjdGlvbiB7XHJcbiAgICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5yb3lhbC1hY2NvdW50LWFsZXJ0IHtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xyXG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLXJlZC1hbGVydDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAudGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHtcclxuICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xyXG5cclxuICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcclxuXHJcbiAgICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHRyOm50aC1jaGlsZCgybikgdGQge1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC50YWJsZS1zdHJpcGVkIHtcclxuICAgICAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICAgICAgIHRyOm50aC1vZi10eXBlKG9kZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JheS1saWdodDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgdHI6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgLmNhcnRfaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0cmVtO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAucHJvZHVjdC10aHVtYm5haWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAucHJvZHVjdC1xdWFudGl0eSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAucXVhbnRpdHkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgLmFjdGlvbnMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkYy1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcclxuICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xyXG5cclxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtYmx1ZTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvLyAuY2FydC10b3RhbC13ZWlnaHQtdGl0bGUge1xyXG4gICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgIC8vIC5jYXJ0LXRvdGFsLXdlaWdodCB7XHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgLy8gLmNhcnQtdG90YWwtYmFnLXRpdGxlIHtcclxuICAgICAgICAgIC8vIH1cclxuXHJcbiAgICAgICAgICAvLyAuY2FydC10b3RhbC1iYWcge1xyXG4gICAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAgIGEucmVtb3ZlIHtcclxuICAgICAgICAgICAgICBjb2xvcjogJGMtcmVkLWFsZXJ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEuNXJlbTtcclxuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMC44O1xyXG5cclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcmVkLWFsZXJ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmNhcnQtY29sbGF0ZXJhbHMge1xyXG4gICAgICAgICAgICAgIC5jYXJ0X3RvdGFscyB7XHJcbiAgICAgICAgICAgICAgICAgIC5zaG9wX3RhYmxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtZ3JheS1saWdodDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAud2MtcHJvY2VlZC10by1jaGVja291dCB7XHJcbiAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyZWVuO1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAmOmFjdGl2ZSxcclxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4taG92ZXIoJGMtZ3JlZW4pO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAuYnRuLXByaW1hcnk6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyKCRjLWdyZWVuKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gY2hlY2tvdXQgLyBiaWxsaW5nIGRldGFpbHMgLy9cclxuICAgICAgLmNoZWNrb3V0IHtcclxuICAgICAgICAgIC53b29jb21tZXJjZS1jaGVja291dC1yZXZpZXctb3JkZXIge1xyXG4gICAgICAgICAgICAgIHRhYmxlIHtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgLm9yZGVyLXRvdGFsIHtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JheS1saWdodDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQsXHJcbiAgICAgICAgICAjcGF5bWVudCB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRjLWdyZWVuO1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XHJcblxyXG5cclxuICAgICAgICAgICAgICAucGF5bWVudF9tZXRob2RzIHtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgIC53Y19wYXltZW50X21ldGhvZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAvKnBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ncmF5LW1lZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMzJweCArIC41cmVtKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC0wLjE1cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgLypoZWlnaHQ6IDRyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpdjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDo6YmVmb3JlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgLmlzLWNoZWNrZWQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtZGFyaztcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjVweDsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtYmx1ZS1kYXJrOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1kYXJrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjRweDsgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ibHVlLWRhcms7ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0b3A6IDEzcHg7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gaW5wdXRbY2hlY2tlZD1cImNoZWNrZWRcIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGJhY2tncm91bmQtY29sb3I6IHJlZDtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsOjphZnRlcixcclxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsOjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dFtjaGVja2VkPVwiY2hlY2tlZFwiXSArIGxhYmVsOjphZnRlcixcclxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXS5pcy1jaGVja2VkICsgbGFiZWw6OmFmdGVyLFxyXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLmlzLWNoZWNrZWQgKyBsYWJlbDo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1kYXJrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9dGV4dF0ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNC4xcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtZ3JheS1tZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnJlbSAuNXJlbSAuNXJlbSAxLjFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1jaGVja2JveF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPXJhZGlvXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgei1pbmRleDogOTk5OTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgLnBheW1lbnRfYm94IHtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JheS1saWdodDtcclxuXHJcbiAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMWVtIHNvbGlkICRjLWdyYXktbGlnaHQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLndvb2NvbW1lcmNlLXRlcm1zLWFuZC1jb25kaXRpb25zLXdyYXBwZXIge1xyXG4gICAgICAgICAgICAgIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHtcclxuICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNXJlbTtcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2cmVtO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgLnZhbGlkYXRlLXJlcXVpcmVkIHtcclxuICAgICAgICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bnNldDtcclxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAud29vY29tbWVyY2UtdmFsaWRhdGVkIHtcclxuICAgICAgICAgICAgICAgICAgbGFiZWw6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XHJcbiAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMXJlbTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuYnRuLXByaW1hcnkge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyZWVuO1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAmOmFjdGl2ZSxcclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyKCRjLWdyZWVuKTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgLy8gdGhhbmsgeW91IC8vIG9yZGVyIHJlY2VpdmVkIChvciBub3QuLi4pXHJcbiAgICAgIC53b29jb21tZXJjZS1vcmRlciB7XHJcblxyXG4gICAgICAgICAgLndvb2NvbW1lcmNlLW5vdGljZSB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC53b29jb21tZXJjZS1vcmRlci1vdmVydmlldyB7XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogMnJlbTtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmF5LWxpZ2h0O1xyXG5cclxuICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIGxpLm9yZGVyIHtcclxuXHJcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMge1xyXG4gICAgICAgICAgICAgIC5vcmRlcl9kZXRhaWxzIHtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgdGZvb3Qge1xyXG4gICAgICAgICAgICAgICAgICB0cjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JheS1saWdodDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgYWRkcmVzcyB7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIGNhcnQgZW1wdHkgcGFnZVxyXG5wLmNhcnQtZW1wdHkge1xyXG4gIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XHJcbiAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50O1xyXG4gIHBhZGRpbmc6MWVtICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tb2JpbGUpIHtcclxuXHJcbiAgICAuaGVhZGVyLW1lbnUge1xyXG4gICAgICAgIHRvcDo1N3B4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gIC53b29jb21tZXJjZSB7XHJcbiAgICAgIC8vIG5vdGljZXNcclxuICAgICAgLndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuXHJcbiAgICAgICAgICAud29vY29tbWVyY2UtbWVzc2FnZSB7XHJcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vIGNhcnQgZW1wdHkgcGFnZVxyXG4gICAgICBwLmNhcnQtZW1wdHkge1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNGVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBwYWRkaW5nOjFlbSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2VjdGlvbi1mZWF0dXJlZC1mb290ZXIge1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1saWdodDtcclxuICAgICAgICAgIC8vQGluY2x1ZGUgcm91Z2gtZWRnZSgkYy1ibHVlLWxpZ2h0LCB0b3ApO1xyXG4gICAgICB9XHJcbiAgICAgIC8vIENhcnQgLy9cclxuICAgICAgLmNhcnQtc2VjdGlvbiB7XHJcbiAgICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5yb3lhbC1hY2NvdW50LWFsZXJ0IHtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xyXG4gICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLXJlZC1hbGVydDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAudGFibGUuc2hvcF90YWJsZV9yZXNwb25zaXZlIHtcclxuICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xyXG5cclxuICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdztcclxuXHJcbiAgICAgICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHRyOm50aC1jaGlsZCgybikgdGQge1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC50YWJsZS1zdHJpcGVkIHtcclxuICAgICAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICAgICAgIHRyOm50aC1vZi10eXBlKG9kZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JheS1saWdodDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgdHI6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgLmNhcnRfaXRlbSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA0cmVtO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAucHJvZHVjdC10aHVtYm5haWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogNHJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAucHJvZHVjdC1xdWFudGl0eSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAucXVhbnRpdHkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogM3JlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0cmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgLmFjdGlvbnMge1xyXG4gICAgICAgICAgICAgICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkYy1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGMtZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJjphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcclxuICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XHJcblxyXG4gICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibHVlO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8vIC5jYXJ0LXRvdGFsLXdlaWdodC10aXRsZSB7XHJcbiAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAvLyAuY2FydC10b3RhbC13ZWlnaHQge1xyXG4gICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgLy8gLmNhcnQtdG90YWwtYmFnLXRpdGxlIHtcclxuICAgICAgICAgIC8vIH1cclxuICAgICAgICAgIC8vIC5jYXJ0LXRvdGFsLWJhZyB7XHJcbiAgICAgICAgICAvLyB9XHJcblxyXG4gICAgICAgICAgYS5yZW1vdmUge1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkYy1yZWQtYWxlcnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDEuNXJlbTtcclxuICAgICAgICAgICAgICB3aWR0aDogMS41cmVtO1xyXG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjg7XHJcblxyXG4gICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1yZWQtYWxlcnQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuY2FydC1jb2xsYXRlcmFscyB7XHJcbiAgICAgICAgICAgICAgLmNhcnRfdG90YWxzIHtcclxuICAgICAgICAgICAgICAgICAgLnNob3BfdGFibGUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy1ncmF5LWxpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IHtcclxuICAgICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JlZW47XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcigkYy1ncmVlbik7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIC5idG4tcHJpbWFyeTpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKTphY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4taG92ZXIoJGMtZ3JlZW4pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyBjaGVja291dCAvIGJpbGxpbmcgZGV0YWlscyAvL1xyXG4gICAgICAuY2hlY2tvdXQge1xyXG4gICAgICAgICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlciB7XHJcbiAgICAgICAgICAgICAgdGFibGUge1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAub3JkZXItdG90YWwge1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmF5LWxpZ2h0O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAud29vY29tbWVyY2UtY2hlY2tvdXQtcGF5bWVudCxcclxuICAgICAgICAgICNwYXltZW50IHtcclxuICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGMtZ3JlZW47XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuNXJlbTtcclxuXHJcblxyXG4gICAgICAgICAgICAgIC5wYXltZW50X21ldGhvZHMge1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAgICAgLndjX3BheW1lbnRfbWV0aG9kIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8qcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjLWdyYXktbWVkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygzMnB4ICsgLjVyZW0pO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTAuMTVyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAvKmhlaWdodDogNHJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZGl2OmZpcnN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIGxhYmVsOjpiZWZvcmUsXHJcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbC5kLWZsZXgge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIC5pcy1jaGVja2VkIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgICAgICAgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWJsdWUtZGFyazsgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtZGFyaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTNweDtcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICBsYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtYmx1ZS1kYXJrOyAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxM3B4OyBcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgIC8vIGlucHV0W2NoZWNrZWQ9XCJjaGVja2VkXCJdIHtcclxuICAgICAgICAgICAgICAgICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gKyBsYWJlbDo6YWZ0ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0gKyBsYWJlbDo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbY2hlY2tlZD1cImNoZWNrZWRcIl0gKyBsYWJlbDo6YWZ0ZXIsXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0uaXMtY2hlY2tlZCArIGxhYmVsOjphZnRlcixcclxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXS5pcy1jaGVja2VkICsgbGFiZWw6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtZGFyaztcclxuICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPXRleHRdIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQuMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWdyYXktbWVkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gLjVyZW0gLjVyZW0gMS4xcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9Y2hlY2tib3hdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1yYWRpb10ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDk5OTk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjVyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIC5wYXltZW50X2JveCB7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyYXktbGlnaHQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgIC8qYm9yZGVyOiAxZW0gc29saWQgJGMtZ3JheS1saWdodDtcclxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAud29vY29tbWVyY2UtdGVybXMtYW5kLWNvbmRpdGlvbnMtd3JhcHBlciB7XHJcbiAgICAgICAgICAgICAgLndvb2NvbW1lcmNlLXByaXZhY3ktcG9saWN5LXRleHQge1xyXG4gICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA1cmVtO1xyXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDZyZW07XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAudmFsaWRhdGUtcmVxdWlyZWQge1xyXG4gICAgICAgICAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xyXG4gICAgICAgICAgICAgICAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjVyZW07XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogLTFyZW07XHJcbiAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIC53b29jb21tZXJjZS12YWxpZGF0ZWQge1xyXG4gICAgICAgICAgICAgICAgICBsYWJlbDo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtZGFyaztcclxuICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xcmVtO1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC5idG4tcHJpbWFyeSB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JlZW47XHJcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcblxyXG4gICAgICAgICAgICAgICY6YWN0aXZlLFxyXG4gICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG4taG92ZXIoJGMtZ3JlZW4pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAvLyB0aGFuayB5b3UgLy8gb3JkZXIgcmVjZWl2ZWQgKG9yIG5vdC4uLilcclxuICAgICAgLndvb2NvbW1lcmNlLW9yZGVyIHtcclxuXHJcbiAgICAgICAgICAud29vY29tbWVyY2Utbm90aWNlIHtcclxuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cclxuICAgICAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IHtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiAycmVtO1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyYXktbGlnaHQ7XHJcblxyXG4gICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgbGkub3JkZXIge1xyXG5cclxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAud29vY29tbWVyY2Utb3JkZXItZGV0YWlscyB7XHJcbiAgICAgICAgICAgICAgLm9yZGVyX2RldGFpbHMge1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB0Zm9vdCB7XHJcbiAgICAgICAgICAgICAgICAgIHRyOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmF5LWxpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBhZGRyZXNzIHtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxufVxyXG4qL1xyXG4vLyBDQVJUIFNUWUxFU1xyXG5cclxuI2NsZWFyLW9mZmVyaW5ncy1maWx0ZXJzIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOnVuc2V0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIDQwNCBTVFlMRVNcclxuXHJcbi8vIDQwNCAvIHBhZ2Ugbm90IGZvdW5kIFxyXG4uZXJyb3I0MDQge1xyXG4gIC5lcnJvcjQwNC1zZWFyY2gsXHJcbiAgLmVycm9yNDA0LXNlY3Rpb24ge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWxpZ2h0O1xyXG5cclxuICB9XHJcbiAgLmVycm9yNDA0LXNlY3Rpb24ge1xyXG5cclxuICAgICAgLmltZy00MDQge1xyXG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xyXG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgXHJcbiAgICAgICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMzByZW07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBhLmJ0bi1iYWNrIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmc6IDEuMXJlbSAycmVtO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gIFxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICBcclxuICAgICAgcC50ZXh0LXNpemUtNDA0IHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICBoZWlnaHQ6IDZyZW07XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDEwLjYyNXJlbTtcclxuICAgICAgICAgICAgICBoZWlnaHQ6IDE1cmVtO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmgxIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcclxuICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAkaDEtZm9udC1zaXplO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuICBcclxuICAgICAgLnRleHQtNDA0IHtcclxuICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcclxuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgaGVpZ2h0OiAzMHJlbTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBwIHtcclxuICAgICAgICAgICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtOyAgXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgICAgLnRleHQteWVsbG93IHtcclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogJGMteWVsbG93O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLmVycm9yNDA0LXNlYXJjaCB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07XHJcbiAgICAgIFxyXG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDRyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGZvcm0ge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNlYXJjaC1zdWJtaXQge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIDQwNCBTVFlMRVNcclxuXHJcbi8vIEJVVFRPTlNcclxuJGJ1dHRvbi10ZXh0LWNvbG9yOiAjZmZmO1xyXG4kYnV0dG9uLWJnLWNvbG9yOiAjMjE3NTliO1xyXG4kbGluay1jb2xvcjogJGJ1dHRvbi1iZy1jb2xvcjtcclxuXHJcbiV0cmliZS1idXR0b24tc2hhcmVkIHtcclxuICAgIGNvbG9yOiAkYnV0dG9uLXRleHQtY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWJnLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItc3R5bGU6IHVuc2V0O1xyXG4gICAgd2lkdGg6IHVuc2V0O1xyXG4gICAgcGFkZGluZzogOXB4IDEycHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICBsaW5lLWhlaWdodDogMTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWJnLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi50b29sdGlwTkVXIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuLnRvb2x0aXBORVdbZGF0YS10aXRsZV06aG92ZXI6YWZ0ZXIge1xyXG4gICAgY29udGVudDogYXR0cihkYXRhLXRpdGxlKTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHBhZGRpbmc6IDRweCA4cHg7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IC0xMDAlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gICAgYmFja2dyb3VuZDogIzAwMDtcclxuICAgIHotaW5kZXg6IDEwMDA7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbn1cclxuXHJcbi5idG4sXHJcbmJ1dHRvbiB7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMDtcclxuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xyXG4gICAgcGFkZGluZzogMC44cmVtIDEuNXJlbTtcclxuICAgIGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLXByaW50IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XHJcblxyXG4gICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1vdXRsaW5lIHtcclxuICAgIGJvcmRlcjogM3B4IHNvbGlkICRjLWJsdWU7XHJcbiAgICBjb2xvcjogJGMtYmx1ZSAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6YWN0aXZlIHtcclxuICAgICAgICBAaW5jbHVkZSBidG4taG92ZXIoJGMtYmx1ZSk7XHJcbiAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZTtcclxuICAgICAgICBjb2xvcjogJGMtYmx1ZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLWJnLWRhcmstZ3JlZW4ge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JlZW4tZGFyaztcclxuICAgIGJvcmRlcjogM3B4IHNvbGlkICRjLWdyZWVuLWRhcms7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyLWxpZ2h0KCRjLWdyZWVuLWRhcmspO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLWJnLWdyZWVuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyZWVuO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtZ3JlZW47XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBAaW5jbHVkZSBidG4taG92ZXIoJGMtZ3JlZW4pO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLWJnLWJsdWUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZTtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcigkYy1ibHVlKTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1iZy1ibHVlLWRhcmssIC5idG4tYmctZGFyay1ibHVlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtZGFyaztcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ0bi1ob3Zlci1saWdodCgkYy1ibHVlLWRhcmspO1xyXG4gICAgfVxyXG59XHJcblxyXG4uYnRuLWJnLXllbGxvdyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy15ZWxsb3c7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIHRleHQtc2hhZG93OiAkdGV4dC1zaGFkb3ctbGlnaHQ7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICBAaW5jbHVkZSBidG4taG92ZXIoJGMteWVsbG93KTtcclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1kb3dubG9hZCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xyXG5cclxuICAgIC5pY29uLWRvd25sb2FkIHtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFyZW07XHJcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4vLyBzb2NpYWwgc2hhcmluZywgYmxvZyBwb3N0cyAvL1xyXG5cclxuLmJ0bi1zaGFyZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xyXG4gICAgLy8gd2lkdGg6IDMwJTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgfVxyXG59XHJcblxyXG4uZmItc2hhcmUsXHJcbi5saW5rZWRpbi1zaGFyZSxcclxuLnR3aXR0ZXItc2hhcmUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIHBhZGRpbmc6IDAuMnJlbTtcclxuICAgIC8vIHBhZGRpbmctbGVmdDogMC40cmVtO1xyXG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xyXG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNHJlbTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgIH1cclxufVxyXG5cclxuLmZiLXNoYXJlIHtcclxuXHJcbiAgICAuZmItbGlrZS1jb3VudCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIC8vIHBhZGRpbmc6IDNweDtcclxuICAgIH1cclxufVxyXG5cclxuLnR3aXR0ZXItc2hhcmUge1xyXG4gICAgLy8gcGFkZGluZy1yaWdodDogMC41cmVtO1xyXG4gICAgaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAwLjJyZW07XHJcbiAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxufVxyXG5cclxuLmxpbmtlZGluLXNoYXJlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDc3QjU7XHJcblxyXG4gICAgaW1nIHtcclxuICAgICAgICAvLyBwYWRkaW5nOiAxcHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi8vIENUQSBMSU5LIFNUWUxFUyAvL1xyXG5cclxuLy8gaW5saW5lLXN0eWxlIC8vXHJcbi5jdGEsXHJcbi5uZXh0LXBvc3QtdGV4dCxcclxuLmhlcm8tY3RhLFxyXG4uYmxvZy1jdGEsXHJcbi50ZXN0aW1vbmlhbC1saW5rLWN0YSxcclxuLmN0YS1pbmxpbmUge1xyXG4gICAgd2lkdGg6IGZpdC1jb250ZW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHJcbiAgICAuY3RhLWxpbmstdGV4dCB7XHJcbiAgICAgICAgY29sb3I6ICRjLWJsdWU7XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuXHJcbiAgICAgICAgLmN0YS1pY29uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDE0cHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTRweDtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uYmxvZy1jdGEge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLy8gYmxvZyBkZXRhaWwgcGFnZSBuZXh0IHBvc3QgYXJyb3cgLy9cclxuLm5leHQtcG9zdC10ZXh0IHtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcblxyXG4gICAgLmN0YS1saW5rLXRleHQge1xyXG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XHJcblxyXG4gICAgICAgIC5jdGEtaWNvbiB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcclxuICAgICAgICAgICAgd2lkdGg6IDI1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLy8gYnV0dG9uIHN0eWxlIC8vXHJcblxyXG4uYnRuLXByb21vLWN0YSxcclxuLmN0YS1idXR0b24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIGJwKG1lZGl1bS1tYXgpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmN0YS1saW5rLXRleHQge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIG1pbi13aWR0aDogOHJlbTtcclxuICAgICAgICAvLyBtYXJnaW4tdG9wOiAxLjVyZW07XHJcbiAgICAgICAgZm9udC1zaXplOiAkaDUtZm9udC1zaXplO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgICAgICAgbWluLXdpZHRoOiAxM3JlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICAgIG1pbi13aWR0aDogMDtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY3RhLWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMTRweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubmV4dC1wb3N0LWFycm93IHtcclxuICAgIC5jdGEtbGluay10ZXh0IHtcclxuICAgICAgICAuY3RhLWljb24ge1xyXG4gICAgICAgICAgICB3aWR0aDogMzBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmljb24tYXJyb3cge1xyXG4gICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICBtYXJnaW4tdG9wOiAycHg7XHJcbn1cclxuXHJcbmJ1dHRvbi5zZWxlY3Qge1xyXG4gICAgcGFkZGluZzogNnB4IDI4cHggNnB4IDEycHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gZmlsdGVyIGJ1dHRvbnMsIHBpbGwgc3R5bGVcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi5maWx0ZXIge1xyXG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcclxuICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICBmb250LXNpemU6ICRoNC1mb250LXNpemU7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNXJlbTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZmlsdGVyLmJ0bi1vdXRsaW5lIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLWJsdWU7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgY29sb3I6ICRjLWJsdWU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5idG4tbW9iaWxlIHtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIHBhZGRpbmc6IC4yNXJlbSAxLjVyZW07XHJcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG59XHJcblxyXG4ucmVzZXJ2ZUJ1YmJsZSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi8vIG92ZXJyaWRlIHRyaWJlIGJ1dHRvbiBjb2xvclxyXG4udHJpYmUtY29tbW9uLWMtYnRuIHRyaWJlLWNvbW1vbi1jLWJ0bi0tc21hbGwsIC50cmliZS10aWNrZXRzX19pdGVtX19yZWdpc3RyYXRpb25fX3N1Ym1pdCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmVlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udHJpYmUtY29tbW9uIC50cmliZS1jb21tb24tZm9ybS1jb250cm9sLXJhZGlvX19pbnB1dC50cmliZS1jb21tb24tZm9ybS1jb250cm9sLXJhZGlvX19pbnB1dCwgaW5wdXRbdHlwZT1cInJhZGlvXCJdLnRpY2tldC1tZXRhIHtcclxuICAgIG9wYWNpdHk6IDEwMDtcclxuICAgIHBvc2l0aW9uOiBpbml0aWFsO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGMtZ3JlZW47XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblxyXG4gICAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGMtZ3JlZW47XHJcbiAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gb3ZlcnJpZGUgdHJpYmUgcmFkaW8gYnV0dG9uIGNvbG9yXHJcbi50cmliZS1jb21tb24gLnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtcmFkaW9fX2lucHV0LnRyaWJlLWNvbW1vbi1mb3JtLWNvbnRyb2wtcmFkaW9fX2lucHV0OmNoZWNrZWQsIGlucHV0W3R5cGU9XCJyYWRpb1wiXS50aWNrZXQtbWV0YTpjaGVja2VkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyZWVuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgIC5jb250YWluZXItbW9iaWxlIHtcclxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxuXHJcbiAgICAuYnRuLW1vYmlsZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICAgIC8qbGluZS1oZWlnaHQ6IDEycHg7Ki9cclxuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1pbi13aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy9ib3JkZXI6IDA7XHJcbiAgICAgICAgLyp0ZXh0LWFsaWduOiBsZWZ0OyovXHJcbiAgICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICAgIGNsZWFyOmJvdGggIWltcG9ydGFudDtcclxuICAgICAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6MHB4O1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDowcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTo0cHg7XHJcbiAgICB9XHJcblxyXG4gICAgLnJlc2VydmVCdWJibGUge1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDY4JTtcclxuICAgIH1cclxufVxyXG5cclxuLm9yZGVyLXJlc2VydmUge1xyXG4gICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgcGFkZGluZzogLjc1cmVtIC43NXJlbTtcclxuICAgIG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XHJcbiAgICAub3JkZXItcmVzZXJ2ZSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICBwYWRkaW5nOiA1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNhcHBseS1vZmZlcmluZ3MtZmlsdGVycywgI2NsZWFyLW9mZmVyaW5ncy1maWx0ZXJzLCAjYXBwbHktY291cnNlcy1maWx0ZXJzLCAjY2xlYXItY291cnNlcy1maWx0ZXJzIHtcclxuICAgIHBhZGRpbmc6MnB4OyBcclxuICAgIGZvbnQtc2l6ZTouODVlbTsgXHJcbiAgICBmbG9hdDpsZWZ0OyBcclxuICAgIG1pbi13aWR0aDoxMjVweDtcclxuICAgIG1hcmdpbi1yaWdodDo0cHg7XHJcbn1cclxuXHJcbiNtb2JpbGUtbG9naW4ge1xyXG4gICAgZm9udC1zaXplOjE4cHg7XHJcbn1cclxuXHJcbi8qIFRpY2tldCBCdXR0b24gICovXHJcbi50cmliZS10aWNrZXRzX19mb290ZXIge1xyXG4gICAgLnRyaWJlLWNvbW1vbi1jLWJ0biB7XHJcbiAgICAgICAgQGV4dGVuZCAldHJpYmUtYnV0dG9uLXNoYXJlZDtcclxuICAgIH1cclxuXHJcbiAgICBcclxufVxyXG5cclxuLnRyaWJlLWNvbW1vbi1jLWJ0biB7XHJcbiAgICBAZXh0ZW5kICV0cmliZS1idXR0b24tc2hhcmVkO1xyXG59XHJcblxyXG4udHJpYmUtdGlja2V0c19faXRlbV9fYXR0ZW5kZWVfX2ZpZWxkc19fZm9vdGVyIHtcclxuICAgIC50cmliZS1jb21tb24tYy1idG4ge1xyXG4gICAgICAgIEBleHRlbmQgJXRyaWJlLWJ1dHRvbi1zaGFyZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnRyaWJlLWNvbW1vbi1jLWJ0bi1saW5rIHtcclxuICAgICAgICBjb2xvcjogJGJ1dHRvbi1iZy1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4udHlwZS10cmliZV9ldmVudHMge1xyXG4gICAgLnRyaWJlLWV2ZW50cy1ldmVudC1jb3N0IHtcclxuICAgICAgICAudHJpYmUtY29tbW9uIHtcclxuICAgICAgICAgICAgLnRyaWJlLWNvbW1vbi1jLWJ0biB7XHJcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICV0cmliZS1idXR0b24tc2hhcmVkO1xyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGVhMGQ3O1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwZWEwZDcgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50cmliZS1ldmVudHMtZXZlbnQtY29zdC5mZWF0dXJlZC1ldmVudCB7XHJcbiAgICAgICAgLnRyaWJlLWNvbW1vbiB7XHJcbiAgICAgICAgICAgIC50cmliZS1jb21tb24tYy1idG4ge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzBlYTBkNyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjFyZW07XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDlweCAxMnB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuXHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMwZWEwZDc7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzBlYTBkNyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKi50cmliZS10aWNrZXRzX19hdHRlbmRlZV9fZmllbGRzX19mb290ZXJfY2hlY2tvdXQtYnV0dG9uLnRyaWJlLWNvbW1vbi1jLWJ0bjpob3ZlciB7XHJcbiAgICBAZXh0ZW5kICV0cmliZS1idXR0b24tc2hhcmVkO1xyXG59Ki9cclxuLnRyaWJlLXRpY2tldHMtcnN2cCB7XHJcbiAgICAudHJpYmUtZXZlbnRzLXRpY2tldHMtcnN2cCB7XHJcbiAgICAgICAgdGQuYWRkLXRvLWNhcnQge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwIDAgMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRkLnRyaWJlLXRpY2tldCB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRyaWJlLWJ1dHRvbi0tcnN2cCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaW5rLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTogdW5zZXQ7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnJlc19jYXJ0X3N1Ym1pdCB7XHJcblxyXG4gICAgJi5sb2FkaW5nIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgb3BhY2l0eTogMC4yNTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjYxOGVtO1xyXG5cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnV29vQ29tbWVyY2UnO1xyXG4gICAgICAgICAgICBjb250ZW50OiAnXFxlMDFjJztcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICB0b3A6IDAuNjE4ZW07XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxZW07XHJcbiAgICAgICAgICAgIGFuaW1hdGlvbjogc3BpbiAycyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLy8gQlVUVE9OU1xyXG5cclxuLy8gQ0FMRU5EQVJcclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBjb250ZW50IGNvbHVtbiBsYXlvdXRzLSBnZW5lcmFsIHN0eWxlcyAvL1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4uY29udGVudF9zZWN0aW9uIHtcclxuXHJcbiAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogMnJlbTtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAycmVtO1xyXG4gIH1cclxuXHJcbiAgLmZlYXR1cmVkLWhlYWRsaW5lLFxyXG4gIC5zZWN0aW9uLWhlYWRsaW5lIHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLmZ1bGwtd2lkdGgge1xyXG4gIH1cclxuXHJcbiAgLnR3by1jb2x1bW4ge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAudGhyZWUtY29sdW1uIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLmZvdXItY29sdW1uIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XHJcbiAgfVxyXG5cclxuICAuZm91ci1jb2x1bW4sXHJcbiAgLnRocmVlLWNvbHVtbixcclxuICAudHdvLWNvbHVtbixcclxuICAuZnVsbC13aWR0aCB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB9XHJcbn1cclxuXHJcbi8vIGNvcHkgbW9kdWxlIC8vXHJcblxyXG4uZnVsbC13aWR0aCxcclxuLnR3by1jb2x1bW4sXHJcbi50aHJlZS1jb2x1bW4sXHJcbi5mb3VyLWNvbHVtbiB7XHJcblxyXG5cdC5jb250ZW50LWNvcHkge1xyXG5cdFx0Ly8gcGFkZGluZy1sZWZ0OiAycmVtO1xyXG5cdFx0Ly8gcGFkZGluZy1yaWdodDogMnJlbTtcclxuXHJcblx0XHRAaW5jbHVkZSBicChzbWFsbCkge1xyXG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLmZ1bGwtd2lkdGgge1xyXG5cclxuXHQuY29udGVudC1jb3B5IHtcclxuXHJcblx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRtYXgtd2lkdGg6IDQ4LjJyZW07XHJcbiAgICBcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLyBwYWdlIC8gZW1wbG95ZWVzIFxyXG5cclxuLnNlY3Rpb24tZW1wbG95ZWVzIHtcclxuXHRcclxuXHQuZW1wbG95ZWUtaW1nIHtcclxuXHRcdGhlaWdodDogMTVyZW07XHJcblx0XHR3aWR0aDogMTVyZW07XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFxyXG5cdFx0QGluY2x1ZGUgYnAoc21hbGwpIHtcclxuXHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHJcblx0XHR9XHJcblx0XHRcclxuXHRcdGltZyB7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHQgfVxyXG5cdH1cclxuXHJcblx0LmVtcGxveWVlLWluZm8ge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcblx0XHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gZmVhdHVyZWQgY29udGVudCBTZWN0aW9uICAgLy9cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4uZmVhdHVyZWRfc2VjdGlvbiB7XHJcblx0XHJcblx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHQgICAgcGFkZGluZy1yaWdodDogMnJlbTtcclxuXHRcdHBhZGRpbmctbGVmdDogMnJlbTtcclxuXHR9XHJcblxyXG5cdC5mb3VyLWNvbHVtbiB7XHJcblxyXG5cdFx0LmZlYXR1cmVkLWl0ZW0ge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzcmVtO1xyXG5cdFx0XHR9XHJcblx0XHQgXHJcblx0XHRcdC5mZWF0dXJlZC1jb250ZW50IHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdFx0ZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xyXG5cdFx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHJcblx0XHRcdFx0LmZlYXR1cmVkLWltYWdlIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxuXHRcdFx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdFx0XHQtd2Via2l0LWZpbHRlcjogYnJpZ2h0bmVzcygxMDAlKTtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxOC4yO1xyXG5cdFx0XHRcdFx0bWluLWhlaWdodDogMTguMnJlbTtcclxuXHRcdFx0XHRcdGJveC1zaGFkb3c6ICRib3gtc2hhZG93O1xyXG5cdFx0XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicChzbWFsbCkge1xyXG5cdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxOC43cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdFx0bWluLWhlaWdodDogMTNyZW07XHRcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxOHJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0bWluLWhlaWdodDogMTByZW07XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnAoeHhsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxNXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdFx0QGluY2x1ZGUgaW1nLWhvdmVyKCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZmVhdHVyZWQtaGVhZGxpbmUge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuXHRcdFx0XHRmb250LXNpemU6ICRoNC1mb250LXNpemU7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZmVhdHVyZWQtZGV0YWlscyB7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAkaDUtZm9udC1zaXplO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuZmVhdHVyZWQtZXhjZXJwdCB7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zYW5zLXNlcmlmO1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIGZlYXR1cmVkIGl0ZW1zIGluIGNvbnRlbnQgc2VjdGlvbiAvL1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLnNlY3Rpb24tb3JkZXJzLFxyXG4uY29udGVudF9zZWN0aW9uIHtcclxuXHJcbiAgICAuZm91ci1jb2x1bW4sXHJcblx0LnRocmVlLWNvbHVtbixcclxuXHQudHdvLWNvbHVtbiB7XHJcblxyXG5cdFx0LmZlYXR1cmVkLWl0ZW0ge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdFx0fVx0XHJcblx0XHRcdFx0IFxyXG5cdFx0XHQuZmVhdHVyZWQtY29udGVudCB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdGZsZXgtZmxvdzogY29sdW1uIG5vd3JhcDtcclxuXHRcdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0XHRhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuXHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFx0Ly8gbWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHRcdC5mZWF0dXJlZC1pbWFnZSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwLjhyZW07XHJcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHRcdFx0LXdlYmtpdC1maWx0ZXI6IGJyaWdodG5lc3MoMTAwJSk7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHRcdC8vIGhlaWdodDogMTguMnJlbTtcclxuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDE4LjJyZW07XHJcblx0XHRcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcblx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDIwLjdyZW07XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG5cdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxM3JlbTtcdFxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDE4cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG5cdFx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxMHJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRAaW5jbHVkZSBicCh4eGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDE1cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRAaW5jbHVkZSBpbWctaG92ZXIoKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0Ly8gLmZlYXR1cmVkLWhlYWRsaW5lIHtcclxuXHRcdFx0Ly8gXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblx0XHRcdC8vIFx0Zm9udC1zaXplOiAkaDQtZm9udC1zaXplO1xyXG5cclxuXHRcdFx0Ly8gXHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHQvLyBcdFx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cdFx0XHQvLyBcdH1cclxuXHJcblx0XHRcdC8vIH1cclxuXHJcblx0XHRcdC5mZWF0dXJlZC1kZXRhaWxzIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdFx0cGFkZGluZy1ib3R0b206IDJyZW07XHJcblx0XHRcdFx0bGlzdC1zdHlsZTogbm9uZTtcclxuXHRcdFx0XHRmb250LXNpemU6ICRoNC1mb250LXNpemU7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5mZWF0dXJlZC1jb3Vyc2UsXHJcblx0XHRcdC5mZWF0dXJlZC1ibG9nLXBvc3Qge1xyXG5cclxuXHRcdFx0XHQuZmVhdHVyZWQtaGVhZGxpbmUge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTpcdDFyZW07XHJcblxyXG5cdFx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMS41cmVtO1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmZlYXR1cmVkLWNvdXJzZS1kZXNjLFxyXG5cdFx0XHRcdC5mZWF0dXJlZC1ibG9nLXRleHQge1xyXG5cdFx0XHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XHJcblx0XHRcdFx0XHRjb2xvcjogJGMtZ3JheS1tZWQ7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxufVxyXG4vLyBteS1hY2NvdW50IGRhc2hib2FyZFxyXG4uc2VjdGlvbi1vcmRlcnMge1xyXG5cclxuXHQudGhyZWUtY29sdW1uIHtcclxuXHRcdC5mZWF0dXJlZC1kZXRhaWxzIHtcclxuXHRcdFx0Zm9udC1zaXplOiAkaDUtZm9udC1zaXplICFpbXBvcnRhbnQ7XHJcblx0XHRcdFxyXG5cdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblxyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cdFx0LmZlYXR1cmVkLWhlYWRsaW5lIHtcclxuXHRcdFx0Zm9udC1zaXplOiAkaDMtZm9udC1zaXplICFpbXBvcnRhbnQ7XHJcblxyXG5cdFx0fVxyXG5cdFx0LmZlYXR1cmVkLWltYWdlIHtcclxuXHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vXHJcbi8vIFBST01PIC8vXHJcbi8vLy8vLy8vLy9cclxuLmNvbnRhaW5lci1ibG9nLXByb21vLFxyXG4uY29udGFpbmVyLXByb21vIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRoZWlnaHQ6IDQ1MHB4O1xyXG5cclxuXHRAaW5jbHVkZSBicChzbWFsbCkge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRoZWlnaHQ6IDQwMHB4OyBcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG5cdFx0aGVpZ2h0OiA1MDBweDtcclxuXHR9XHJcblxyXG5cdC5wcm9tby1pbWctY29udGFpbmVyIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRoZWlnaHQ6IGF1dG87XHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHQucHJvbW8taW1nIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0b2JqZWN0LWZpdDogY292ZXI7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHQgICAgd2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQucHJvbW8tY3RhIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IDJyZW07XHJcblx0XHRib3R0b206IDJyZW07XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cclxuXHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XHRcclxuXHRcdFx0Ym90dG9tOiAxLjVyZW07XHJcblx0XHRcdGxlZnQ6IDEuNXJlbTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuXHRcdFx0cGFkZGluZzogMnJlbSAycmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdGxlZnQ6IDJyZW07XHJcblx0XHRcdGJvdHRvbTogMnJlbTtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuXHRcdFx0bGVmdDogM3JlbTtcclxuXHRcdFx0Ym90dG9tOiAzcmVtO1xyXG5cdFx0XHRwYWRkaW5nOiAzcmVtIDJyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0LnByb21vLXRleHQtd2hpdGUge1xyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Lmljb24tYXJyb3cge1xyXG5cdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0XHRtYXJnaW4tdG9wOiAycHg7XHJcblx0fVxyXG59XHJcblxyXG4vL1BST01PIElOIENPTFVNTiBDT05URU5UIC8vXHJcbi5mdWxsLXdpZHRoIHtcclxuXHJcblx0LmNvbnRhaW5lci1wcm9tbyB7XHJcblxyXG5cdFx0LnByb21vLWN0YSB7XHJcblx0XHRcdHdpZHRoOiA4MCU7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdHdpZHRoOiAyN3JlbTtcdFxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQucHJvbW8taGVhZGxpbmUge1xyXG5cdFx0XHRcdGZvbnQtZmFtaWx5OiAkaGVhZGluZ3MtZm9udC1mYW1pbHk7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAkaDMtZm9udC1zaXplO1xyXG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQucHJvbW8tdGV4dCB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5wcm9tby1iZy1ub25lIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbm9uZTtcclxuXHRcdH1cclxuXHRcclxuXHRcdC5wcm9tby1iZy13aGl0ZSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IG5vbmU7XHJcblx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnR3by1jb2x1bW4sXHJcbi50aHJlZS1jb2x1bW4sXHJcbi5mb3VyLWNvbHVtbiAge1xyXG5cdC5jb250YWluZXItcHJvbW8ge1xyXG5cdFx0LnByb21vLWN0YSB7IFxyXG5cdFx0ICAgIGxlZnQ6IDJyZW07XHJcbiAgICBcdFx0Ym90dG9tOiAycmVtO1xyXG4gICAgXHRcdHdpZHRoOiA4MCU7XHJcbiAgICBcdFxyXG4gICAgXHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICBcdFx0XHRib3R0b206IDFyZW07XHJcbiAgICBcdFx0XHRsZWZ0OiAxcmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG5cdFx0XHRcdGJvdHRvbTogMnJlbTtcclxuXHRcdFx0XHRsZWZ0OiAycmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0XHQuY3RhLWxpbmstdGV4dCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRcdG1pbi13aWR0aDogMXJlbTtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDFyZW07XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG4gICAgXHRcdC5wcm9tby1oZWFkbGluZSB7XHJcbiAgICBcdFx0XHRmb250LWZhbWlseTogJGhlYWRpbmdzLWZvbnQtZmFtaWx5O1xyXG5cdFx0XHRcdGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTtcclxuXHRcdFx0XHRmb250LXdlaWdodDogYm9sZDtcclxuXHRcdFx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0XHRcdHRleHQtc2hhZG93OiAkdGV4dC1zaGFkb3c7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5wcm9tby10ZXh0IHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnByb21vLWJnLW5vbmUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xyXG5cdFx0fVxyXG5cdFxyXG5cdFx0LnByb21vLWJnLXdoaXRlIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogbm9uZTtcclxuXHJcblx0XHRcdC5wcm9tby10ZXh0LWdyYXktZGFyayB7XHJcblx0XHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmZvdXItY29sdW1uIHtcclxuXHQuY29udGFpbmVyLXByb21vIHtcclxuXHRcdC5wcm9tby1jdGEgeyBcclxuICAgIFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgXHRcdFx0cGFkZGluZzogMDtcclxuICAgIFx0XHRcdGJvdHRvbTogMXJlbTtcclxuICAgIFx0XHRcdGxlZnQ6IDFyZW07XHJcblx0XHRcdH1cclxuXHRcdFx0LmN0YS1saW5rLXRleHQge1xyXG5cdFx0XHRcdG1pbi13aWR0aDogMXJlbTtcclxuXHRcdFx0XHRwYWRkaW5nOiAxcmVtO1xyXG5cdFx0XHR9XHJcblx0XHRcdFxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLy8gdGVzdGltb25pYWwgbW9kdWxlIC8vXHJcblxyXG4uY29udGVudF9zZWN0aW9uIHtcclxuXHQuZnVsbC13aWR0aCB7XHJcblx0XHQuY29udGVudC10ZXN0aW1vbmlhbCB7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdG1heC13aWR0aDogNDguMnJlbTtcclxuICAgIFx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDJyZW07XHJcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMnJlbTtcclxuXHRcdFx0XHRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LmZ1bGwtd2lkdGgsXHJcblx0LnR3by1jb2x1bW4sXHJcblx0LnRocmVlLWNvbHVtbixcclxuXHQuZm91ci1jb2x1bW4ge1xyXG5cdFx0Ly8gZGlzcGxheTogZmxleDtcclxuXHRcdC8vIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0Ly8gYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcblx0XHQuY29udGVudC10ZXN0aW1vbmlhbCB7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMnJlbTtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMnJlbTsgXHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnAoc21hbGwpIHtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAwO1xyXG5cdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ly8gQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0Ly8gXHRtYXgtaGVpZ2h0OiA2OCU7XHJcblx0XHRcdC8vIH1cclxuXHJcblx0XHRcdC50ZXN0aW1vbmlhbC1zb3VyY2Uge1xyXG5cdFx0XHRcdHBhZGRpbmctdG9wOiAwLjVyZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG59XHJcblxyXG4uY2FsZW5kYXJfc2VjdGlvbiwgXHJcbi5jb250ZW50X3NlY3Rpb24ge1xyXG5cclxuICBcdC5zaW5nbGUtaW1nLWNvbnRhaW5lciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtaW4taGVpZ2h0OiAxOC4ycmVtO1xyXG5cdFx0XHJcblx0XHQmLmltZy1jdXN0b20tcG9zdCB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0LnNpbmdsZS1pbWFnZSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1x0XHJcblx0XHRcdG1pbi1oZWlnaHQ6IDE4LjJyZW07XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdH1cclxuICBcdH1cclxuXHJcblx0LnNpbmdsZS1pbWctdGV4dCB7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnAoc21hbGwpIHtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0fVxyXG4gIFx0fVxyXG5cclxuICBcdC5mdWxsLXdpZHRoIHtcclxuXHRcdC5zaW5nbGUtaW1nLWNvbnRhaW5lciB7XHRcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdG1pbi1oZWlnaHQ6IDE1cmVtO1xyXG5cclxuXHRcdFx0LnNpbmdsZS1pbWFnZSB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0bWluLWhlaWdodDogMTVyZW07XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAyMC43cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcclxuXHRcdFx0XHRAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDEzcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcclxuXHRcdFx0XHRAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDI5cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAzNHJlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcclxuXHRcdFx0XHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuXHRcdFx0XHRcdG1heC13aWR0aDogODUuMjVyZW07XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDQ4cmVtO1xyXG5cdFx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcbiAgICBcdH1cclxuXHJcblx0XHQuc2luZ2xlLWltZy10ZXh0IHtcclxuXHRcdFx0LnNpbmdsZS1pbWctaGVhZGxpbmUge1xyXG5cdFx0XHRcdCB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5jdGEtaW5saW5lLFxyXG5cdFx0XHQuY3RhLWJ1dHRvbiB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRcdFx0d2lkdGg6IGZpdC1jb250ZW50O1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuXHRcdFx0XHRtYXgtd2lkdGg6IDc2LjYycmVtO1xyXG5cdFx0XHRcdG1hcmdpbjogMXJlbSBhdXRvO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcbiAgXHR9XHJcblxyXG5cdC50d28tY29sdW1uIHtcclxuXHRcdC5zaW5nbGUtaW1nLWNvbnRhaW5lciB7XHJcblxyXG5cdFx0XHQuc2luZ2xlLWltYWdlIHtcclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAyN3JlbTtcclxuXHRcdFx0XHRcdG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFx0bWluLWhlaWdodDogMThyZW07XHJcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiBmaXQtY29udGVudDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG5cdFx0XHRcdFx0bWluLWhlaWdodDogMjIuNXJlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKHh4bGFyZ2UpIHtcclxuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDMwcmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnRocmVlLWNvbHVtbiB7XHJcblx0XHQuc2luZ2xlLWltZy1jb250YWluZXIge1xyXG5cclxuXHRcdFx0LnNpbmdsZS1pbWFnZSB7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDI3cmVtO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiAxMnJlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDE1cmVtO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnAoeHhsYXJnZSkge1xyXG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDE5cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gIGZvdXIgb3IgbW9yZSBjb2x1bW4gcG9zc2libGVcclxuXHQuZm91ci1jb2x1bW4ge1xyXG5cdFx0LnNpbmdsZS1pbWctY29udGFpbmVyIHtcclxuXHRcdFx0Ly8gbWluLWhlaWdodDogMTguMnJlbTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcblx0XHRcdFx0bWluLWhlaWdodDogMTguN3JlbTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiAxM3JlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRtaW4taGVpZ2h0OiAxOHJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnAoeGxhcmdlKSB7XHJcblx0XHRcdFx0bWluLWhlaWdodDogMTByZW07XHJcblx0XHRcdH1cclxuXHRcdFx0QGluY2x1ZGUgYnAoeHhsYXJnZSkge1xyXG5cdFx0XHRcdG1pbi1oZWlnaHQ6IDE1cmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuc2luZ2xlLWltYWdlIHtcclxuXHRcdFx0XHQvLyBtaW4taGVpZ2h0OiAxOC4ycmVtO1xyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxOC43cmVtO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxM3JlbTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdFx0QGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDE4cmVtO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0QGluY2x1ZGUgYnAoeGxhcmdlKSB7XHJcblx0XHRcdFx0XHRtaW4taGVpZ2h0OiAxMHJlbTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKHh4bGFyZ2UpIHtcclxuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDE1cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gaW1hZ2Ugc3R5bGUgcm93XHJcblxyXG5cdC5yb3ctaW1hZ2Uge1xyXG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRjLWdyYXktbWVkO1xyXG5cdFx0XHJcblx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiB1bnNldDtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiB1bnNldDtcclxuXHRcdH1cclxuXHRcdFxyXG5cdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtZ3JheS1tZWQ7XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdGJvcmRlcjogbm9uZTsgIFxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnNpbmdsZS1pbWctY29udGFpbmVyIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHJcblx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0OiAxNXJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnAoeGxhcmdlKSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0OiAxNXJlbTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0LnNpbmdsZS1pbWFnZSB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdG1pbi1oZWlnaHQ6IDE1cmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHRAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuXHRcdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlXHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnNpbmdsZS1pbWctdGV4dCB7XHJcblx0XHRcdHBhZGRpbmctdG9wOiAwLjc1cmVtO1xyXG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgYnAoc21hbGwpIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMXJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAycmVtO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuXHRcdFx0XHRwYWRkaW5nLXRvcDogMS41cmVtO1xyXG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAxLjVyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwLjVyZW07XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHAge1xyXG5cdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFxyXG5cdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5zaW5nbGUtaW1nLWhlYWRsaW5lIHtcclxuXHRcdFx0XHRjb2xvcjogJGMtYmx1ZSAhaW1wb3J0YW50O1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRjLWJsdWUtZGFyaztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0XHRcclxuXHRcdFx0LmN0YS1pbmxpbmUge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHJpZ2h0OiAxcmVtO1xyXG5cclxuXHRcdFx0XHRAaW5jbHVkZSBicChsYXJnZSkge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRcdFx0XHRcdGxlZnQ6IDA7XHJcbiAgICBcdFx0XHRcdHJpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0LmN0YS1saW5rLXRleHQge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAwO1xyXG5cclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC5pY29uLWxpbmstaW50ZXJuYWwuY3RhLWljb24ge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDMwcHg7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IDMwcHg7XHJcblx0XHRcdFx0XHRcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAxNHB4O1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDE0cHg7XHJcblx0XHRcdFx0XHRcdFxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0XHJcblx0XHRcdEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcblx0XHRcdFx0XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIENBTEVOREFSXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuLy8gTU9CSUxFIFNUWUxFU1xyXG5cclxuXHJcblxyXG4ubXktYWNjb3VudC1ub2xvZ28ge1xyXG4gIG1hcmdpbi10b3A6IDI1cHggIWltcG9ydGFudDtcclxufVxyXG4vKiBNb2JpbGUgU3R5bGVzICovXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gICNkYXNoQnV0dG9ucyB7XHJcbiAgICAgIG1hcmdpbi10b3A6MHB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbiAgLyogTW9iaWxlIFN0eWxlcyAqL1xyXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tZW51LW1vYmlsZSkge1xyXG5cclxuICAgICAgaDEge1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAjbXktYWNjb3VudC1jb21wYW55LW5hbWUge1xyXG4gICAgICAgICAgZmxvYXQ6IHVuc2V0O1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XHJcbiAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm1vYmlsZS1sYWJlbCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zZWN0aW9uLXByb2ZpbGUgc2VsZWN0IHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICNteUFjY291bnRDb2ZmZWUsICNteUFjY291bnRUZWEsICNteUFjY291bnRMYWIge1xyXG4gICAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICNteS1hY2NvdW50LWxlZnQtbmF2aWdhdGlvbiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgY2xlYXI6IGJvdGggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgI2N1c3RvbWVyTG9nb19kYXNoYm9hcmQge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmZsZXhUYWJsZSB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiA3cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRhYmxlLmZsZXhUYWJsZSB7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgfVxyXG5cclxuICAgICAgdGFibGUuZmxleFRhYmxlIHRoZWFkIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRhYmxlLmZsZXhUYWJsZSB0ciB0ZCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICAgIG1heC13aWR0aDogMTAxJTtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogLjg1ZW07XHJcbiAgICAgICAgICBwYWRkaW5nOiAycHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRhYmxlLmZsZXhUYWJsZSB0ZDo6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6IGF0dHIobGFiZWwpO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICB3aWR0aDogMTMwcHg7XHJcbiAgICAgICAgICBtaW4td2lkdGg6IDEzMHB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgbWFyZ2luOiAtMnB4O1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRhYmxlLmZsZXhUYWJsZSB0ciB0ZDpudGgtY2hpbGQoMSksIHRhYmxlLmZsZXhUYWJsZSB0ciB0aDpudGgtY2hpbGQoMSkge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGFibGUuZmxleFRhYmxlIHRyIHRkOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoNzUsNzUsNzUsLjEpO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBmb250LXNpemU6IDEuM2VtO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRhYmxlLmZsZXhUYWJsZSB0ciB0ZDpsYXN0LWNoaWxkOjpiZWZvcmUge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNhbXBsZS1mZWVkYmFjay1oZWFkZXIge1xyXG4gICAgICAgICAgd2lkdGg6IDExMCU7XHJcbiAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zYW1wbGVSZXF1ZXN0cyB7XHJcbiAgICAgICAgICB3aWR0aDogMTEwJTtcclxuICAgICAgICAgIG1hcmdpbjogYXV0bztcclxuICAgICAgfVxyXG5cclxuICAgICAgI2Rhc2hEcm9wZG93biB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAjZGFzaEJ1dHRvbnMge1xyXG4gICAgICAgICAgLy9kaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBtYXgtaGVpZ2h0OjE1cHg7XHJcblxyXG4gICAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOjI4dncgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWluLXdpZHRoOjI1dncgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OjQwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICNkYXNoYm9hcmRfYm9keSB7XHJcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogOTBweDtcclxuICAgICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5sb2dvdXRCdG4ge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm5hdl9jb250YWluZXIge1xyXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAjbXktYWNjb3VudC1ib2R5IHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vI215LWFjY291bnQtYm9keSBzZWxlY3QsICNteS1hY2NvdW50LWxlZnQtbmF2aWdhdGlvbiBzZWxlY3QgXHJcbiAgICAgIC5kYXNoX2Ryb3AsICNteS1hY2NvdW50LWxlZnQtbmF2aWdhdGlvbiBzZWxlY3QgIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgIGhlaWdodDogNTBweDtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS43NWVtO1xyXG4gICAgICAgICAgcGFkZGluZzogNHB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogIzMwNGY2YztcclxuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICNteS1hY2NvdW50LWJvZHkgLnRpdGxlIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBtYXJnaW46IDFweDtcclxuICAgICAgICAgIHBhZGRpbmc6IDFweDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAjbXktYWNjb3VudC1sZWZ0LW5hdmlnYXRpb24gLnRpdGxlIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBtYXJnaW46IDFweDtcclxuICAgICAgICAgIHBhZGRpbmc6IDFweDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgIC8vICAgLmRhc2hfZHJvcCB7XHJcbiAgICAvLyAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgLy8gICB9XHJcblxyXG4gICAgLy8gICAuZGFzaF9uYXYge1xyXG4gICAgLy8gICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgLy8gICB9XHJcblxyXG4gICAgICAjZGFzaGJvYXJkX2JvZHkge1xyXG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG4gICAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICAgICAgY2xlYXI6IGJvdGg7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDcsIDI4LCA0NywgMC4yMCkgIWltcG9ydGFudDtcclxuICAgICAgICAgIHdpZHRoOiAxMTAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogLTUlO1xyXG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNSU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICNteS1hY2NvdW50LWxvZ28taW1nIHtcclxuICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEyMHB4O1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDc2OHB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGNsZWFyOiBib3RoO1xyXG4gICAgICAgICAgZmxvYXQ6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAjbXktYWNjb3VudC1sZWZ0LW5hdmlnYXRpb24ge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBjbGVhcjogYm90aDtcclxuICAgICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogNDZweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm15LWFjY291bnQtbm9sb2dvIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IDQ2cHggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIC5kYXNoX25hdjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICAtd2Via2l0LWJveC1zaGFkb3c6IHVuc2V0O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICAgIHdpZHRoOiA0cHg7XHJcbiAgICAgIGhlaWdodDogNHB4O1xyXG4gIH1cclxuXHJcbiAgLmRhc2hfbmF2Ojotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgIHdpZHRoOiA0cHg7XHJcbiAgICAgIGhlaWdodDogNHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gIH1cclxuXHJcbiAgLmRhc2hfbmF2Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2JmYmZiZjtcclxuICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICB9XHJcblxyXG4gIC5kYXNoX25hdjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIsIC5kYXNoX25hdjo6LXdlYmtpdC1zY3JvbGxiYXIsIC5kYXNoX25hdjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbDtcclxuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjVzO1xyXG4gIH1cclxuXHJcbiAgLmRhc2hfbmF2OmhvdmVyOjotd2Via2l0LXNjcm9sbGJhci10aHVtYiwgLmRhc2hfbmF2OmhvdmVyOjotd2Via2l0LXNjcm9sbGJhciwgLmRhc2hfbmF2OmhvdmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICAgIHRyYW5zaXRpb246IGFsbDtcclxuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMS41cztcclxuICB9XHJcblxyXG4gIC5ub2xvZ28ge1xyXG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuLmNhcmQtZ3JvdXAtaGVhZGVyIHtcclxuICBkaXNwbGF5OmJsb2NrO1xyXG4gIHdpZHRoOjYwJTtcclxuICBmbG9hdDpsZWZ0O1xyXG59XHJcblxyXG4uY2FyZC1zZWxlY3Rpb24ge1xyXG4gIGRpc3BsYXk6ZmxleDsgXHJcbiAgdGV4dC1hbGlnbjpyaWdodDtcclxuICBmbG9hdDpyaWdodDtcclxufVxyXG5cclxuLmNhcmQtY29udGFpbmVyIHtcclxuICBkaXNwbGF5OmJsb2NrOyBcclxuICBwYWRkaW5nOjRweDsgXHJcbiAgd2lkdGg6MTAwJTtcclxuICBwYWRkaW5nLWJvdHRvbToxMnB4O1xyXG4gIHBhZGRpbmctdG9wOjhweDtcclxufVxyXG5cclxuaHRtbCBsaSB7XHJcbiAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5kaXYud29vY29tbWVyY2Uge1xyXG4gIG1hcmdpbi10b3A6dW5zZXQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNob3Nlbi1jb250YWluZXIsIC5jaG9zZW4tY29udGFpbmVyLXNpbmdsZSB7XHJcbiAgbWF4LXdpZHRoOjc1JSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBMaXN0c1xyXG5cclxuLnNlYXJjaC1zY3JvbGwtY29udGFpbmVyIHtcclxuICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcclxuICBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3kgIWltcG9ydGFudDtcclxuICBwb3NpdGlvbjogc3RpY2t5ICFpbXBvcnRhbnQ7XHJcbiAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDlyZW0pICFpbXBvcnRhbnQ7XHJcbiAgb3ZlcmZsb3cteTogYXV0byAhaW1wb3J0YW50O1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4gIHRvcDogMCAhaW1wb3J0YW50O1xyXG4gIGJvdHRvbTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG50ci50YWJsZS1yb3cgdGQsIHRyLnRhYmxlLWFsdC1yb3cgdGQge1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2ZjZmNmO1xyXG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XHJcbn1cclxuXHJcbi50YWJsZS1yb3cge1xyXG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gIG1hcmdpbi1ib3R0b206IDFweDtcclxuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxufVxyXG5cclxuLnRhYmxlLWFsdC1yb3cge1xyXG4gIGJhY2tncm91bmQ6IHJnYmEoMjM5LCAyMzksIDIzOSwgMC43NSk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMXB4O1xyXG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XHJcbiAgLnRhYmxlLWFsdC1yb3cge1xyXG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICB9XHJcblxyXG4gIHRyLnRhYmxlLXJvdyB0ZCwgdHIudGFibGUtYWx0LXJvdyB0ZCB7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IHVuc2V0O1xyXG4gIH1cclxuXHJcbiAgdHIudGFibGUtcm93IHRkLCB0ci50YWJsZS1hbHQtcm93IHRkIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xyXG4gIH1cclxuXHJcbiAgLm51bWJlckNlbGwge1xyXG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICB3aWR0aDogMTYlICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcclxuICAgICAgY2xlYXI6IGxlZnQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5udW1iZXJDZWxsLnRlYSB7XHJcbiAgICAgIC5oNyB7XHJcbiAgICAgICAgICBmb250LXNpemU6IC45cmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB3aWR0aDogMzAlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAubmFtZUNlbGwge1xyXG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICB3aWR0aDogODMlICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNsZWFyOiByaWdodCAhaW1wb3J0YW50O1xyXG4gICAgICB0ZXh0LW92ZXJmbG93OicuLi4nO1xyXG4gICAgICBtYXgtd2lkdGg6ODMlO1xyXG5cclxuICAgICAgLmg3IHtcclxuICAgICAgICAgIGZvbnQtc2l6ZToxLjA0ZW0gIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLm5hbWVDZWxsLnRlYXtcclxuICAgICAgcGFkZGluZy1sZWZ0OjE3cHg7XHJcbiAgICAgIC5oNyB7XHJcbiAgICAgICAgICBmb250LXNpemU6IC45cmVtO1xyXG4gICAgICB9XHJcbiAgICAgIHdpZHRoOjMwJTtcclxuICB9ICAgIFxyXG4gIFxyXG4gIC5pbWFnZUNlbGwudGVhIHtcclxuICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgdmVydGljYWwtYWxpZ246IHRvcCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmN1cHBpbmdDZWxsIHtcclxuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgd2lkdGg6IDcyJSAhaW1wb3J0YW50O1xyXG4gICAgICBjbGVhcjogYm90aCAhaW1wb3J0YW50O1xyXG4gICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7XHJcbiAgfVxyXG5cclxuICAucXR5Q2VsbCwgLnByaWNlQ2VsbCwgLnBvc2l0aW9uQ2VsbCwgLmNvbnRyYWN0Q2VsbCB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNsZWFyOiBib3RoICFpbXBvcnRhbnQ7XHJcbiAgICAgIHdpZHRoOiA5OCUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5wb3NpdGlvbkNlbGwge1xyXG4gICAgICBtYXJnaW4tdG9wOjEzcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5kLWxhYmVsLXNtLW5vbmUge1xyXG4gICAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5vcy1wYXN0LWR1ZSB7XHJcbiAgY29sb3I6IHJlZDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbnRyLm9zLXBhc3QtZHVlIHRkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMC4xNSkgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm9zLXBhaWQge1xyXG4gIGNvbG9yOiBncmVlbjtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbnRyLm9zLXBhaWQgdGQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGdyZWVuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5vcy1wcm9jZXNzaW5nIHtcclxuICBjb2xvcjogYmx1ZTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbnRyLm9zLXByb2Nlc3NpbmcgdGQge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGJsdWUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm9mZmVyaW5nLXRhYmxlIHtcclxuICBtYXJnaW4tdG9wOi0ycHg7XHJcbiAgbWluLWhlaWdodDoxMjVweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ub2ZmZXJpbmctdGFibGUgdGQge1xyXG4gIHZlcnRpY2FsLWFsaWduOnRvcDtcclxuICBmb250LXNpemU6MC45ZW0gIWltcG9ydGFudDtcclxufVxyXG5cclxuLmRpc2FibGVkLXNhbXBsZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgY29sb3I6IzM5MzkzOSAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi10b3A6MTVweDtcclxuICBib3JkZXI6bm9uZTtcclxuICBtaW4td2lkdGg6MTY4LjIzcHg7XHJcbiAgY3Vyc29yOmRlZmF1bHQ7XHJcbiAgbWFyZ2luLXRvcDoxMHB4O1xyXG59XHJcblxyXG4ucXR5Q2VsbCwgLnByaWNlQ2VsbCwgLmNvbnRyYWN0Q2VsbCB7XHJcbiAgd2lkdGg6IDExJTtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLnBvc2l0aW9uQ2VsbCB7XHJcbiAgd2lkdGg6IDEwJTtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxufVxyXG5cclxuLm51bWJlckNlbGwge1xyXG4gIHdpZHRoOjEwJTtcclxufVxyXG5cclxuLmN1cHBpbmdDZWxsIHtcclxuICB3aWR0aDoyNSU7XHJcbiAgdGV4dC1hbGlnbjpyaWdodDtcclxufVxyXG5cclxuLm5hbWVDZWxsIHtcclxuICB3aWR0aDogMjglO1xyXG59XHJcblxyXG4uaDcge1xyXG4gIGZvbnQtc2l6ZTouOTlyZW07XHJcbn1cclxuXHJcbi5pbWFnZUNlbGwge1xyXG4gIHdpZHRoOiA3JTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5ncm91cFBvc2l0aW9uQ2VsbCB7XHJcbiAgd2lkdGg6IDEwJTtcclxufVxyXG5cclxuLmdyb3VwVGhydUNlbGwge1xyXG4gIHdpZHRoOiAxMCU7XHJcbn1cclxuXHJcbi5ncm91cEJhZ3NDZWxsIHtcclxuICB3aWR0aDogMTUlO1xyXG59XHJcblxyXG4uZ3JvdXBQcmljZUNlbGwge1xyXG4gIHdpZHRoOiAyMCU7XHJcblxyXG4gIHAge1xyXG4gICAgICBmb250LXNpemU6MC44OHJlbSAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLnNrdS1ncm91cC1uYW1lIHtcclxuICB3aWR0aDogNDUlO1xyXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgcGFkZGluZzogMHB4O1xyXG4gIG1hcmdpbjogMHB4O1xyXG59XHJcblxyXG4ub2ZmZXJpbmctZmxhdm9yLW5vdGUge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHBhZGRpbmc6IDRweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC1zaXplOiAxMHB4O1xyXG4gIG1hcmdpbi10b3A6IC0zcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEwcHg7XHJcbn1cclxuXHJcbi5vZmZlcmluZy1wcm9kdWN0SW1hZ2Uge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBtYXJnaW4tbGVmdDogLTdweDtcclxufVxyXG5cclxuLnNrdUdyb3VwaW5nIHtcclxuICB0ZXh0LW92ZXJmbG93OiAnLi4uJyAhaW1wb3J0YW50O1xyXG4gIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICBcclxuICBwYWRkaW5nLWxlZnQ6IDEycHg7XHJcbiAgbWFyZ2luLWJvdHRvbTogMHB4O1xyXG5cclxufVxyXG5cclxuLnRvZ2dsZUdyb3VwIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIHJnYmEoMjAwLDIwMCwyMDAsLjc1KTtcclxuICBwYWRkaW5nOiAwcHggIWltcG9ydGFudFxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbW9iaWxlKSBcclxue1xyXG4gIC5za3VHcm91cGluZyB7XHJcblxyXG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgICAgbWluLWhlaWdodDogNDBweDtcclxuICAgICBcclxuICB9XHJcbn1cclxuXHJcbi5za3VHcm91cGluZzphZnRlciwgc2t1R3JvdXBpbmc6OmFmdGVyIHtcclxuICB0b3A6IDQxJSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc2t1R3JvdXBSZXNlcnZlOjphZnRlciB7XHJcbiAgcGFkZGluZzogMHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5za3UtZ3JvdXAtdGFibGUge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4uc2t1LWdyb3VwLXRhYmxlIHRyIHRkIHtcclxuICBmb250LXNpemU6IC44NWVtO1xyXG59XHJcblxyXG4uc3RpY2t5LWhlYWRlciB7XHJcbiAgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5O1xyXG4gIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgdG9wOiAzNXB4O1xyXG4gIHotaW5kZXg6IDEwMDtcclxufVxyXG5cclxuLy8gLnRvZ2dsZUdyb3VwUmVzZXJ2ZSB7XHJcbi8vICAgICBib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoLi4vaW1nL3JvdWdoLWVkZ2UtZGFyay1ibHVlLnN2Zyk7XHJcbi8vICAgICBib3JkZXItaW1hZ2UtcmVwZWF0OiBzdHJldGNoO1xyXG4vLyAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuLy8gICAgIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCguLi9pbWcvcm91Z2gtZWRnZS13aGl0ZS5zdmcpO1xyXG4vLyAgICAgLXdlYmtpdC1ib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoLi4vaW1nL3JvdWdoLWVkZ2Utd2hpdGUuc3ZnKTtcclxuLy8gICAgIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCguLi9pbWcvcm91Z2gtZWRnZS1kYXJrLWJsdWUuc3ZnKTtcclxuLy8gICAgIC13ZWJraXQtYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKC4uL2ltZy9yb3VnaC1lZGdlLWRhcmstYmx1ZS5zdmcpO1xyXG4vLyAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAzNXB4IDAgNjBweCAwO1xyXG4vLyAgICAgYm9yZGVyLWltYWdlLW91dHNldDogLTIwcHggMCAwcHggMDtcclxuLy8gICAgIGJvcmRlci1pbWFnZS1zbGljZTogNDI7XHJcbi8vIH1cclxuXHJcbi5oZWFkZXItdG9wLWVkZ2UtZGFyay1ibHVlIHtcclxuICB3aWR0aDoxMDAlO1xyXG4gIGhlaWdodDoyN3B4O1xyXG4gIG1hcmdpbi1ib3R0b206LTE3cHg7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9yb3VnaC1lZGdlLWRhcmstYmx1ZS5zdmcpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxufVxyXG5cclxuLmhlYWRlci10b3AtZWRnZS1ncmVlbiB7XHJcbiAgd2lkdGg6MTAwJTtcclxuICBoZWlnaHQ6MjdweDtcclxuICBtYXJnaW4tYm90dG9tOi0xN3B4O1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcm91Z2gtZWRnZS1ncmVlbi5zdmcpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxufVxyXG5cclxuLmhlYWRlci10b3AtZWRnZS1ibHVlIHtcclxuICB3aWR0aDoxMDAlO1xyXG4gIGhlaWdodDoyN3B4O1xyXG4gIG1hcmdpbi1ib3R0b206LTE3cHg7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9yb3VnaC1lZGdlLWJsdWUuc3ZnKTtcclxuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbn1cclxuXHJcbi5zdGlja3ktaGVhZGVyLWNhdGVnb3J5IHAgZW0sIC5zdGlja3ktaGVhZGVyLWNhdGVnb3J5LWFkbWluIHAgZW0ge1xyXG4gIGZvbnQtc2l6ZTouNzBlbSAhaW1wb3J0YW50O1xyXG4gIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxuICB0ZXh0LXRyYW5zZm9ybTpjYXBpdGFsaXplICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWxlZnQ6MTBweCAhaW1wb3J0YW50OyAgICAgICAgXHJcbn1cclxuXHJcbi5vZmZlcmluZy1pdGVtIHtcclxuICAvL21pbi1oZWlnaHQ6IDUwcHg7XHJcbn1cclxuXHJcbi5yZXNlcnZlIHtcclxuICAub2ZmZXJpbmctaXRlbSB7XHJcbiAgICAgIC8vbWluLWhlaWdodDogMTMwcHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5zYWNoZXRwZXJ1bml0IHtcclxuICBmb250LXdlaWdodDpib2xkO1xyXG4gIGNvbG9yOiMzMDRmNmM7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxufVxyXG5cclxuXHJcbi5vZmZlcmluZy50ZWEge1xyXG4gIFxyXG4gIG1hcmdpbi10b3A6N3B4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTo3cHggIWltcG9ydGFudDtcclxuICBib3gtc2hhZG93OjJweCAycHggNHB4IHJnYmEoMCwwLDAsMC4yNSkgIWltcG9ydGFudDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cclxufVxyXG5cclxuLy8gQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkge1xyXG4vLyAgIC5vZmZlcmluZy1pdGVtIHtcclxuLy8gICAgICAgLy9taW4taGVpZ2h0OiAxMjVweCAhaW1wb3J0YW50O1xyXG4vLyAgIH1cclxuXHJcbi8vICAgLy8gLm9mZmVyaW5nIHtcclxuLy8gICAvLyAgICAgJjpudGgtY2hpbGQob2RkKSB7XHJcbi8vICAgLy8gICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4vLyAgIC8vICAgICB9XHJcbiAgXHJcbi8vICAgLy8gICAgICY6bnRoLWNoaWxkKG9kZCkgPiBhcnRpY2xlIHtcclxuLy8gICAvLyAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbi8vICAgLy8gICAgIH1cclxuLy8gICAvLyB9XHJcblxyXG4vLyB9XHJcblxyXG4gIC5zYW1wbGUtcmVxdWVzdC1idXR0b24tY2VsbCB7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIGJvZHkge1xyXG4gICAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgfVxyXG5cclxuICAuY29mZmVlLWdyb3VwaW5nLW5hbWUge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo5NTBweCkge1xyXG4gICAgICAuaW1hZ2VDZWxsIHtcclxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3AgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLm9mZmVyaW5nLWl0ZW0gLnNrdUdyb3VwaW5nIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5za3UtZ3JvdXAtdGFibGUge1xyXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5za3UtZ3JvdXAtdGFibGUgLnNrdS1ncm91cC1uYW1lIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNrdS1ncm91cC10YWJsZSAuc2t1LWdyb3VwLW5hbWUgZGl2IHtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNrdS1ncm91cC10YWJsZSAuc2t1LWdyb3VwLXRhYmxlLWhlYWRlciB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2t1LWdyb3VwLXRhYmxlIC5za3UtZ3JvdXAtdGFibGUtYm9keSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2t1LWdyb3VwLXRhYmxlLWhlYWRlciB0ZCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2t1LWdyb3VwLXRhYmxlLWJvZHkgdGQge1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmdyb3VwUG9zaXRpb25DZWxsIHtcclxuICAgICAgICAgIHdpZHRoOiAyMCUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmdyb3VwVGhydUNlbGwge1xyXG4gICAgICAgICAgd2lkdGg6IDIwJSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZ3JvdXBCYWdzQ2VsbCB7XHJcbiAgICAgICAgICB3aWR0aDogMjUlICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5ncm91cFByaWNlQ2VsbCB7XHJcbiAgICAgICAgICB3aWR0aDogMzAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5za3VHcm91cGluZzphZnRlciwgc2t1R3JvdXBpbmc6OmFmdGVyIHtcclxuICAgICAgICAgIHRvcDogNnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5vZmZlcmluZy1mbGF2b3Itbm90ZSB7XHJcbiAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgIHBhZGRpbmc6IDRweDtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLnNhbXBsZS1yZXF1ZXN0LWJ1dHRvbi1jZWxsIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZC1ub25lLXNtMiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuY29mZmVlLWdyb3VwaW5nLW5hbWUge1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmFzc2Vzc21lbnQtbGFiZWwge1xyXG4gICAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICAgICAgbWFyZ2luOiAwcHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTNweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmFzc2Vzc21lbnQtbGFiZWwtY29udGFpbmVyIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLmFzc2Vzc21lbnQtbGFiZWwtY29udGFpbmVyIHtcclxuICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICB9XHJcblxyXG4gIC5hc3Nlc3NtZW50LWxhYmVsIHtcclxuICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICBtYXJnaW46IDBweDtcclxuICAgICAgaGVpZ2h0OiAxM3B4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMTNweDtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gIH1cclxuXHJcbiAgLnRyaWJlLWV2ZW50cy1ldmVudC1jb3N0IHtcclxuICAgICAgZm9ybSB7XHJcbiAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcclxuICAgICAgICAgIHBhZGRpbmc6IGluaGVyaXQ7XHJcbiAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5ldmVudHMtbGlzdC50cmliZS1iYXItaXMtZGlzYWJsZWQge1xyXG4gICAgICAjdHJpYmUtZXZlbnRzLWNvbnRlbnQtd3JhcHBlciB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAudHJpYmUtZXZlbnRzLWxpc3Qge1xyXG4gICAgICAudHJpYmUtZXZlbnRzLWxvb3Age1xyXG4gICAgICAgICAgLnRyaWJlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGVhMGQ3ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGVhMGQ3O1xyXG5cclxuICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMC44O1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIC8qbWF4LXdpZHRoOiB1bnNldDsqL1xyXG4gICAgICAgICAgLnRyaWJlLWV2ZW50LWZlYXR1cmVkIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgICAudHJpYmUtYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjogIzBlYTBkNyAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICMwZWEwZDc7XHJcbiAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGVhMGQ3ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAucHJvZHVjdHMtcGFuZWwge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgei1pbmRleDo5OCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnN0aWNreS1oZWFkZXItY2F0ZWdvcnkge1xyXG4gICAgICB6LWluZGV4OjEwMiAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbi8vICAgLndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciB7XHJcbi8vICAgICAgIHotaW5kZXg6MTU1ICFpbXBvcnRhbnQ7XHJcbi8vICAgfVxyXG5cclxuICAvLyBUZWEgb2ZmZXJpbmcgc3RpY2t5IGhlYWRlcnNcclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaWEtd2lkdGgtbW9iaWxlKSB7XHJcbiAgICAgIC50ZWEuc3RpY2t5LWhlYWRlciB7XHJcbiAgICAgICAgICB0b3A6MTI4cHggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gIH1cclxuICBcclxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbW9iaWxlKSB7XHJcbiAgICAgIC8vIFRlYSBvZmZlcmluZyBzdGlja3kgaGVhZGVyc1xyXG4gICAgICAudGVhLnN0aWNreS1oZWFkZXIge1xyXG4gICAgICAgICAgdG9wOjc4cHggIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLmxpbmV1cC1kZWMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmF5LWxpZ2h0O1xyXG4gICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICBmb250LXNpemU6MThweDtcclxuICAgICAgcGFkZGluZzo4cHg7XHJcbiAgfVxyXG4vLyBMaXN0c1xyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vLyBNT0JJTEUgT1ZFUlJJREVTXHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBTdHlsZSBvdmVycmlkZXMgZm9yIG1vYmlsZSBcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG4vLyBERUZBVUxUXHJcbi5jYXJ0LWxvY2F0aW9uIHsgICAgXHJcbiAgY29sb3I6I2ZmZmZmZjtcclxuICBjbGVhcjogYm90aDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgbWFyZ2luLWxlZnQ6IDUwcHg7XHJcbiAgbWFyZ2luLXRvcDogLTNweDtcclxuICBmb250LXNpemU6IDExcHg7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgdGV4dC1zaGFkb3c6IDJweCAycHggM3B4IHJnYmEoMCwwLDAsLjY1KTtcclxuICBib3JkZXItcmFkaXVzOjU1JTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiRjLWdyZWVuO1xyXG4gIGhlaWdodDoyNHB4O1xyXG4gIHdpZHRoOjI0cHg7XHJcbiAgYm94LXNoYWRvdzogM3B4IDNweCA1cHggcmdiYSgxLDEsMSwuMzUpO1xyXG4gIHBhZGRpbmc6MnB4O1xyXG4gIHBhZGRpbmctdG9wOjRweDtcclxufVxyXG5cclxuLm5hdmJhci1sb2dvLW1vYmlsZSB7XHJcbiAgLmhlYWRlci1jYXJ0LWxvY2F0aW9uIHtcclxuICAgICAgZm9udC1zaXplOi43NWVtO1xyXG4gICAgICBtYXJnaW4tdG9wOi0xMnB4O1xyXG4gIH1cclxufVxyXG5cclxuLmNhcnQtbG9jYXRpb246aG92ZXIge1xyXG4gIGNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNhcnQtbG9jYXRpb246ZW1wdHkge1xyXG4gIGRpc3BsYXk6bm9uZTtcclxufVxyXG5cclxuLmhlYWRlci1jYXJ0LWxvY2F0aW9uLCAuaGVhZGVyLWNhcnQtbG9jYXRpb246aG92ZXIge1xyXG4gIGNvbG9yOiNmZmZmZmY7XHJcbiAgZm9udC13ZWlnaHQ6bm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIC5oZWFkZXItY2FydC1sb2NhdGlvbjplbXB0eSB7XHJcbi8vICAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxuLy8gfVxyXG5cclxuLnNob3BwaW5nLWNhcnQtbG9jYXRpb24ge1xyXG4gIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICBmb250LXN0eWxlOiBvYmxpcXVlO1xyXG4gIG1hcmdpbi10b3A6IDRweDtcclxuICBtYXJnaW4tYm90dG9tOiA3cHg7XHJcbiAvL2JhY2tncm91bmQtY29sb3I6bGlnaHR5ZWxsb3c7XHJcbiAgZm9udC1zaXplOi45OGVtO1xyXG4gIHBhZGRpbmctdG9wOjRweDtcclxuICBwYWRkaW5nLWJvdHRvbTo2cHg7XHJcbiAgLy9ib3JkZXItYm90dG9tOjNweCBzb2xpZCBnb2xkZW5yb2Q7XHJcbiAgdGV4dC1zaGFkb3c6IDJweCAycHggMXB4IHJnYmEoOTAsOTAsOTAsMC4yMCk7XHJcbiAgY29sb3I6cmVkO1xyXG59XHJcblxyXG4jcHJvZHVjdC1kZXRhaWwtd2luZG93IHtcclxuICBib3gtc2hhZG93OiA3cHggN3B4IDExcHggcmdiYSgxMCwxMCwxMCwuMik7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICB6LWluZGV4OjEwMDAwMDA7XHJcbiAgcG9zaXRpb246Zml4ZWQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjojZmZmZmZmO1xyXG4gIGRpc3BsYXk6bm9uZTtcclxuICBib3JkZXItdG9wOiRjLXllbGxvdyA1cHggc29saWQ7XHJcblxyXG4gIC5zdGlja3ktaGVhZGVyIHtcclxuICAgICAgdG9wOjBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbi8vICAgLndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciB7XHJcbi8vICAgICAgIHRvcDoycHggIWltcG9ydGFudDtcclxuLy8gICAgICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgIHdpZHRoOmNhbGMoIDEwMCUgLSAxN3B4ICkgIWltcG9ydGFudDtcclxuLy8gICB9XHJcblxyXG4gIGhlYWRlciB7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgIGhlaWdodDo0MHB4O1xyXG4gICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiRjLWJsdWUtZGFyaztcclxuICAgICAgY29sb3I6I2ZmZmZmZjtcclxuICAgICAgZm9udC1zaXplOjEuNzVlbTtcclxuICAgICAgcGFkZGluZy1sZWZ0OjhweDtcclxuICB9XHJcblxyXG4gIGRpdi5pZnJhbWUge1xyXG4gICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICBoZWlnaHQ6MTAwJTtcclxuICAgICAgbWF4LWhlaWdodDoxMDAlO1xyXG4gICAgICBvdmVyZmxvdy15OmF1dG87XHJcblxyXG4gICAgICAjZm9vdGVyLCAuaGVhZGVyLWZ1bGwsIC5oZWFkZXItbW9iaWxlLCAubmF2LWJhci1kYXJrLCAuaGVhZGVyLCAjaGVhZGVyLW5hdiwgLmhlYWRlci1uYXYge1xyXG4gICAgICAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIGRpdi5pbmZvLXBvcC11cC1jbG9zZSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAzcHg7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcclxuICAgICAgbWFyZ2luLXRvcDogN3B4O1xyXG4gICAgICB6LWluZGV4OiAxMDAwMDtcclxuICB9XHJcblxyXG4gIC5vZmZlcmluZy10YWJsZSB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6MTI1cHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbmJvZHkubm8tc2Nyb2xsIHtcclxuICBvdmVyZmxvdy15OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIE1vYmlsZSBzdHlsZXNcclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTUxMHB4KSB7XHJcbiAgLmhlYWRlci1idXR0b25zIHtcclxuICAgICAgbWFyZ2luLXRvcDotMnB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbW9iaWxlKSB7XHJcblxyXG4gIGxpLnNsaWRlIHtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOmNvbnRhaW4gIWltcG9ydGFudDtcclxuICBcclxuICAgICAgdmlkZW8ge1xyXG4gICAgICAgICAgbWF4LXdpZHRoOjkzdncgIWltcG9ydGFudDtcclxuICAgICAgICAgIG1heC1oZWlnaHQ6MzV2aCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICBkaXYuaGVhZGVyLWZ1bGwge1xyXG4gICAgICAuaGVhZGVyLWNhcnQtbG9jYXRpb24ge1xyXG4gICAgICAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgLnJlc2VydmUge1xyXG4gICAgICAub2ZmZXJpbmctaXRlbSB7XHJcbiAgICAgICAgICAvL21pbi1oZWlnaHQ6IDIyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLmNhcnQtc2VjdGlvbiB7XHJcbiAgICAgIGEuYnRuLWJnLWdyZWVuIHtcclxuICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5kLW0tb25seSB7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gICNoZWFkZXItbmF2IC5oZWFkZXItbW9iaWxlIHtcclxuICAgICAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLy8gR2VuZXJhbCBmaXhlc1xyXG4gIC5zaGltLXNwYWNlciB7XHJcbiAgICAgIGhlaWdodDo2NnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlcjowcHg7XHJcbiAgICAgIHBhZGRpbmc6MHB4O1xyXG4gICAgICBtYXJnaW46MHB4O1xyXG4gICAgICBsZWZ0OjA7XHJcbiAgICAgIHRvcDowO1xyXG4gICAgICBjbGVhcjpib3RoO1xyXG4gIH1cclxuXHJcbiAgLm1vYmlsZS1hZG1pbi1oZWFkZXItc3BhY2VyIHtcclxuICAgICAgaGVpZ2h0OjM1cHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5vZmZlcmluZ3MtY29udGVudCAuc2VjdGlvbl9wYWdlX2hlYWRlciB7XHJcbiAgICAgIHBhZGRpbmctdG9wOjAuODBlbSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgI3NlcnZlci1pZCB7XHJcbiAgICAgIG9wYWNpdHk6MC44ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHRvcDotNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGxlZnQ6MCAhaW1wb3J0YW50O1xyXG4gICAgICBoZWlnaHQ6MThweCAhaW1wb3J0YW50O1xyXG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7XHJcbiAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgZm9udC1zaXplOjhweDtcclxuICAgICAgcGFkZGluZzowcHg7XHJcbiAgICAgIG1hcmdpbjowcHg7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcblxyXG4gICAgICBiciB7XHJcbiAgICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC8vIENvZmZlZSBPZmZlcmluZyBcclxuICAuc2t1R3JvdXBpbmcudGV4dC1ibHVlLmg2IHtcclxuICAgICAgZm9udC1zaXplOjEuM2VtICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbi1sZWZ0Oi0zcHggIWltcG9ydGFudDtcclxuICAgICAgbWF4LXdpZHRoOjk1dnc7XHJcbiAgICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcclxuICAgICAgdGV4dC1vdmVyZmxvdzplbGxpcHNpcztcclxuICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gIH0gICAgXHJcblxyXG4gIC5za3UtZ3JvdXAtbmFtZSwgLnJvdGF0ZS1pY29uLCAucm90YXRlLWljb24yLCAucm90YXRlLWljb24td2hpdGUsIC5yb3RhdGUtaWNvbi13aGl0ZTIge1xyXG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnNrdUdyb3VwaW5nIHtcclxuICAgICAgcGFkZGluZy1sZWZ0OjMwcHggIWltcG9ydGFudDtcclxuXHJcbiAgICAgIDphZnRlciB7XHJcbiAgICAgICAgICB0b3A6NnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5zZWN0aW9uX3BhZ2VfY29udGVudCAjc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICAgIHRvcDo3NnB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOjMwcHggIWltcG9ydGFudDtcclxuXHJcbiAgICAgIC5jbG9zZS1pY29uMjphZnRlciB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOjRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgcmlnaHQ6MCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgdG9wOjFyZW0gIWltcG9ydGFudDtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmNsb3NlLWljb24yIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6MTBweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZWNhX3NlY3Rpb24ge1xyXG4gICAgICAgICAgLmVjYS1pdGVtcyB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDotNjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAjZmlsdGVyQ29udHJvbEJveCAuZWNhX3NlY3Rpb24gLmVjYS1pdGVtcyB7ICAgICAgICBcclxuICAgICAgbWFyZ2luLXRvcDotNjBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgI2ZpbHRlckNvbnRyb2xCb3gge1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbToxMTBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLy8gVGVhIE9mZmVyaW5ncyBmaXhlc1xyXG4gIC5pbWFnZUNlbGwudGVhIHtcclxuICAgICAgd2lkdGg6MzAlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAubmFtZUNlbGwudGVhIHtcclxuICAgICAgd2lkdGg6OTklICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBhZGRpbmc6M3B4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtc2l6ZTouOTllbSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLm51bWJlckNlbGwudGVhIHtcclxuICAgICAgd2lkdGg6OTklICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAubnVtYmVyQ2VsbC50ZWEgc3Bhbi5oNyB7XHJcbiAgICAgIGZsb2F0OnJpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgIHpvb206MTtcclxuICAgICAgbWFyZ2luLXRvcDotMjBweDtcclxuICAgICAgdGV4dC1hbGlnbjpyaWdodDtcclxuICAgICAgd2lkdGg6NTAlO1xyXG4gIH1cclxuXHJcbiAgZGl2LmZvcm0tZ3JvdXAuc3RpY2t5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOjFyZW0gIWltcG9ydGFudDtcclxuICAgICAgbWluLWhlaWdodDo2NXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGhlaWdodDp1bnNldCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICAgICAgXHJcbiAgLm9mZmVyaW5nLWl0ZW0ge1xyXG4gICAgICBwYWRkaW5nOiB7XHJcbiAgICAgICAgICBsZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAuaW5mby1wb3AtdXAge1xyXG4gICAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgIGJveC1zaGFkb3c6IDhweCA4cHggMTFweCByZ2JhKDUwLDUwLDUwLDAuMzApO1xyXG4gICAgICBtaW4td2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1heC13aWR0aDogMTAwdncgIWltcG9ydGFudDtcclxuICAgICAgbWF4LWhlaWdodDogMTAwdmggIWltcG9ydGFudDtcclxuICAgICAgei1pbmRleDogOTk5OTk5OTtcclxuICAgICAgbWFyZ2luLXRvcDogMCUgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgfVxyXG5cclxuICAuZW1wdHlfY2FydCB7XHJcbiAgICAgIG1hcmdpbi10b3A6LTQwcHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5jYXJ0LWdyb3VwLWhlYWRlciB7XHJcbiAgICAgIGRpc3BsYXk6ZmxleCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgaDMge1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4ICNkZmRmZGYgc29saWQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHNwYW4sIGVtIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTouNzVlbTtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbi8vICAgI2xvZ2dlZC1pbi1hcyB7XHJcbi8vICAgICAgIHdpZHRoOiA2MDBweDsgXHJcbi8vICAgICAgIGNvbG9yOiBmbG9yYWx3aGl0ZTsgXHJcbi8vICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyBcclxuLy8gICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuLy8gICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbi8vICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbi8vICAgICAgIG1heC13aWR0aDoxMDB2dztcclxuLy8gICAgICAgbWFyZ2luLXJpZ2h0OjE4cmVtO1xyXG4vLyAgICAgICBtYXJnaW4tdG9wOi0xMzBweDtcclxuLy8gICAgICAgei1pbmRleDogMjAwO1xyXG5cclxuLy8gICAgICAgZGlzcGxheTpub25lO1xyXG4vLyAgIH1cclxuXHJcblxyXG5cclxuICAub2ZmZXJpbmctaXRlbSB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDo0cHggIWltcG9ydGFudDtcclxuICAgICAgcGFkZGluZy1yaWdodDo0cHggIWltcG9ydGFudDtcclxuICAgICAgbWF4LXdpZHRoOiAxMDB2dyAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnNrdUdyb3VwaW5nOjphZnRlciB7XHJcbiAgICAgIGxlZnQ6MTRweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLnJvdGF0ZS1pY29uMzo6YWZ0ZXIge1xyXG4gICAgICBsZWZ0OjE0cHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5zaGlwbWVudC1oaXN0b3J5IHtcclxuICAgICAgZmxvYXQ6bm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBtYXJnaW4tdG9wOjBweCAhaW1wb3J0YW50OyBcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50OyBcclxuICAgICAgZm9udC1zaXplOjFlbSAhaW1wb3J0YW50OyBcclxuICAgICAgdGV4dC1hbGlnbjpjZW50ZXIgIWltcG9ydGFudDsgXHJcbiAgICAgIGNsZWFyOmJvdGggIWltcG9ydGFudDsgXHJcbiAgICAgIGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDsgXHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHggIWltcG9ydGFudDsgXHJcbiAgfVxyXG5cclxuICAubXlhY2NvdW50LXJlc2VydmUtY29udGFpbmVyIHtcclxuICAgICAgZGlzcGxheTpibG9jazsgXHJcbiAgICAgIG1hcmdpbjowcHg7IFxyXG4gICAgICBwYWRkaW5nOjBweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0zMi41cHggIWltcG9ydGFudDsgXHJcbiAgICAgIG1hcmdpbi1yaWdodDogLTM2LjVweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgI3NrdVJlc2VydmUge1xyXG4gICAgICAuZGFzaGljb25zIHtcclxuICAgICAgICAgIGNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLmNhcmQtZ3JvdXAtaGVhZGVyIHtcclxuICAgICAgZGlzcGxheTppbmxpbmUgIWltcG9ydGFudDtcclxuICAgICAgZmxvYXQ6bm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7IFxyXG4gIH1cclxuICBcclxuICAuY2FyZC1zZWxlY3Rpb24ge1xyXG4gICAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7IFxyXG4gICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7IFxyXG4gICAgICB0ZXh0LWFsaWduOmNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICBtYXJnaW4tYm90dG9tOjE0cHggIWltcG9ydGFudDtcclxuICAgICAgZmxvYXQ6bm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgICBjbGVhcjpib3RoO1xyXG4gICAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICAgIG1hcmdpbjo1cHg7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIFxyXG4gIFxyXG4gIC5ob3ctdG8tZ3JhcGhpYy1jb250YWluZXIge1xyXG4gICAgICB3aWR0aDoxMDB2dztcclxuICAgICAgcGFkZGluZzoxNHB4O1xyXG4gIH1cclxuXHJcbiAgLnRpbGVzLW91dGVyLWNvbnRhaW5lciB7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgIGhlaWdodDo1NXZoO1xyXG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICB9XHJcblxyXG4gIC5pbnRyby10ZXh0IHtcclxuICAgICAgZm9udC1zaXplOi45ZW07XHJcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gIH1cclxuXHJcbiAgLmludHJvLWxvZ28ge1xyXG4gICAgICBtYXgtd2lkdGg6NzVweDtcclxuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgIG1hcmdpbjphdXRvO1xyXG4gICAgICBjbGVhcjpib3RoO1xyXG4gICAgICBkaXNwbGF5OmJsb2NrO1xyXG5cclxuICAgICAgOjphZnRlciB7XHJcbiAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24taGVhZGVyIHtcclxuICAgICAgY29sb3I6JGMtYmx1ZS1kYXJrO1xyXG4gICAgICBmb250LXNpemU6MS4zNWVtO1xyXG4gICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICB9XHJcblxyXG4gIC50aWxlLWNvbnRhaW5lciB7XHJcbiAgICAgIG1heC13aWR0aDoxMzlweDtcclxuICAgICAgbWluLXdpZHRoOjEzOXB4O1xyXG4gICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICBtaW4taGVpZ2h0OjE5NnB4O1xyXG4gICAgICBjbGVhcjpib3RoO1xyXG4gICAgICBtYXJnaW46YXV0bztcclxuICB9XHJcblxyXG4gIC5zZWN0aW9uLXRpbGUtb3V0ZXIge1xyXG4gICAgICBib3JkZXI6NHB4IHNvbGlkICRjLWJsdWUtZGFyaztcclxuICAgICAgbWluLWhlaWdodDoxNDZweDtcclxuICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgcGFkZGluZzozcHg7XHJcbiAgICAgIHdpZHRoOjEwMCU7XHJcbiAgfVxyXG5cclxuICAuc2VjdGlvbi10aWxlLWlubmVyIHtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgaGVpZ2h0OjEwMCU7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgIGNvbG9yOiR3aGl0ZTtcclxuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtZGFyaztcclxuICAgICAgcGFkZGluZzo2cHg7XHJcbiAgICAgIG1pbi1oZWlnaHQ6MTMycHg7XHJcblxyXG4gICAgICBlbSB7XHJcbiAgICAgICAgICBmb250LXNpemU6LjU1ZW07XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5hcnJvdy1jb250YWluZXItcmlnaHQge1xyXG4gICAgICBjb2xvcjogJGMtYmx1ZS1kYXJrO1xyXG4gICAgICBtYXJnaW46MTVweCAhaW1wb3J0YW50O1xyXG4gICAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgbWluLWhlaWdodDozNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtc2l6ZToyOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luOmF1dG8gIWltcG9ydGFudDtcclxuICAgICAgY2xlYXI6Ym90aCAhaW1wb3J0YW50O1xyXG4gICAgICB0cmFuc2Zvcm06cm90YXRlKDkwZGVnKSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmNoZWNrLWxhYmVsIHtcclxuICAgICAgbWFyZ2luLXRvcDotMjhweDtcclxuICB9XHJcblxyXG4gICNwcm9kdWN0LWRldGFpbC13aW5kb3cge1xyXG4gICAgICB3aWR0aDo5NXZ3O1xyXG4gICAgICBoZWlnaHQ6OTV2aDtcclxuICAgICAgdG9wOjIuNXZoO1xyXG4gICAgICBsZWZ0OjIuNXZ3O1xyXG5cclxuICAgICAgaGVhZGVyIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZToxLjV2dztcclxuICAgICAgICAgIHBhZGRpbmctdG9wOjRweDtcclxuICAgICAgICAgIGhlaWdodDozMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICBtYWluIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6LTExNXB4O1xyXG4gICAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC5jaGVja291dFF1ZXN0aW9uIHtcclxuICAgICAgbWF4LXdpZHRoOjk1JSAhaW1wb3J0YW50O1xyXG4gICAgICBkaXNwbGF5OmlubGluZSAhaW1wb3J0YW50O1xyXG4gICAgICBtaW4td2lkdGg6dW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTotMjFweDtcclxuICB9XHJcblxyXG4gICAgICBcclxuICAjYmFkX3NoaXBwaW5nX21lc3NhZ2Uge1xyXG4gICAgICBmb250LXdlaWdodDpib2xkOyBcclxuICAgICAgY29sb3I6cmVkOyBcclxuICAgICAgZmxvYXQ6bm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgcGFkZGluZy1sZWZ0OjBweCAhaW1wb3J0YW50O1xyXG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyAgICAgICAgXHJcbiAgfVxyXG5cclxuICAjcm55X21pbmlfY2FydCB7XHJcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICAgIHRvcDoxOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHdpZHRoOjEwMHZ3ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHJpZ2h0OjAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIGRpc3BsYXk6bm9uZTtcclxuXHJcbiAgICAgIC5hcnJvdy11cCB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOi0xcHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jYXJ0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC45OSk7XHJcbiAgICAgICAgICBoZWlnaHQ6OTV2aCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgbWF4LWhlaWdodDo5NXZoICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBwYWRkaW5nOjZweDtcclxuXHJcbiAgICAgICAgICAubWluaS1jYXJ0LW92ZXJmbG93IHtcclxuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OjI3NXB4OyBcclxuICAgICAgICAgICAgICBvdmVyZmxvdy14OmhpZGRlbjsgXHJcbiAgICAgICAgICAgICAgbWluLWhlaWdodDoyNzVweDsgXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgd2lkdGg6Y2FsYygxMDAlICsgOHB4KTtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvKiA9PT09PSBTY3JvbGxiYXIgQ1NTID09PT09ICovXHJcbiAgICAgICAgICAvKiBGaXJlZm94ICovXHJcbiAgICAgICAgICAubWluaS1jYXJ0LW92ZXJmbG93IHtcclxuICAgICAgICAgICAgICBzY3JvbGxiYXItd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiAjZGZkZmRmICNmZmZmZmY7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLyogQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpICovXHJcbiAgICAgICAgICAubWluaS1jYXJ0LW92ZXJmbG93Ojotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDExcHg7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLm1pbmktY2FydC1vdmVyZmxvdzo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLm1pbmktY2FydC1vdmVyZmxvdzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTJweDtcclxuICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmZmZmO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudCBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIHRhYmxlLmNhcnQtaGVhZGVycyB7XHJcbiAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6MWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiMwQTFDMkUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHRoIHtcclxuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjAyZW0haW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xyXG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2NmY2ZjZjtcclxuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRhYmxlLmNhcnQtaXRlbXMge1xyXG4gICAgICAgICAgICAgIHdpZHRoOmNhbGMoIDEwMCUgLSAyM3B4ICk7XHJcblxyXG4gICAgICAgICAgICAgICogeyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiMwQTFDMkUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOi45OWVtO1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRhYmxlLmNhcnQtdG90YWxzIHtcclxuICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAqIHsgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxLjEyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6JGMtYmx1ZS1kYXJrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9ICAgICAgICBcclxuICB9XHJcblxyXG4gIC5PdXJUZWFtSGVhZGVycyB7XHJcbiAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luOmF1dG8gIWltcG9ydGFudDtcclxuICAgICAgbWF4LXdpZHRoOjk5Ljk5dncgIWltcG9ydGFudDtcclxuICAgICAgdG9wOjc1cHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC50ZWFtR3JpZCB7XHJcbiAgICAgIGNsZWFyOmJvdGggIWltcG9ydGFudDtcclxuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luOmF1dG8gIWltcG9ydGFudDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgei1pbmRleDo4O1xyXG4gICAgICBwb3NpdGlvbjpzdGlja3k7XHJcbiAgfVxyXG5cclxuICAjdGVhbVNwYWNlciB7XHJcbiAgICAgIGhlaWdodDoxMjBweDtcclxuICB9XHJcblxyXG4gIC5lbXBsb3llZS10aHVtYiB7XHJcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAgJGMtYmx1ZS1kYXJrO1xyXG4gICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICBtYXgtd2lkdGg6NjF2dztcclxuICAgICAgbWFyZ2luOmF1dG87XHJcbiAgICAgIG1hcmdpbi1ib3R0b206MTBweDtcclxuICBcclxuICAgICAgaW1nIHtcclxuICAgICAgICAgIGhlaWdodDp1bnNldDtcclxuICAgICAgICAgIHdpZHRoOnVuc2V0O1xyXG4gICAgICAgICAgbWF4LXdpZHRoOjEwMCU7XHJcbiAgICAgICAgICBtYXgtaGVpZ2h0OjEwMCU7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gICAgICBcclxuICAuZW1wbG95ZWUtcG9zaXRpb24ge1xyXG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZDsgXHJcbiAgICAgIGNvbG9yOiRjLXllbGxvdzsgXHJcbiAgICAgIG1hcmdpbi10b3A6MHB4O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6MTBweDsgXHJcbiAgICAgIHRyYW5zaXRpb246YWxsIDFzO1xyXG4gICAgICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC45NSk7XHJcbiAgICAgIG9wYWNpdHk6MDtcclxuICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgaGVpZ2h0OjU1cHg7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgIGZvbnQtc2l6ZToxNXB4O1xyXG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmVtcGxveWVlLWhlYWRlciB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMzBweDsgXHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgXHJcbiAgICAgIGJhY2tncm91bmQ6ICAkYy1ibHVlLWRhcms7IFxyXG4gICAgICBjb2xvcjogI2ZmZmZmZjsgXHJcbiAgICAgIG1hcmdpbjphdXRvOyBcclxuICAgICAgbWFyZ2luLXRvcDogMTBweDsgXHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IFxyXG4gICAgICBwYWRkaW5nOiA1cHg7IFxyXG4gICAgICBtYXgtd2lkdGg6OTU3cHg7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG4gICAgICAuZW1wbG95ZWUtaGVhZGVyLXBvc2l0aW9uIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZToxOHB4OyAgICBcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLmVtcGxveWVlLXRodW1iLW5hbWUge1xyXG4gICAgICBmb250LXNpemU6IDIwcHg7IFxyXG4gICAgICBmb250LXdlaWdodDogYm9sZDsgXHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgXHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG5cclxuICAuZW1wbG95ZWUtaW1hZ2Uge1xyXG4gICAgICBvdmVyZmxvdzpoaWRkZW47IFxyXG4gICAgICBjbGlwOmF1dG87IFxyXG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTsgXHJcbiAgICAgIG1heC1oZWlnaHQ6MjY3cHg7XHJcbiAgfVxyXG5cclxuICAuT3VyVGVhbUhlYWRlclNwYWNlciB7XHJcbiAgICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLk91clRlYW1NYWluVGV4dCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgXHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgXHJcbiAgICAgIG1hcmdpbjphdXRvOyBcclxuICAgICAgbWFyZ2luLXRvcDogMTBweDsgXHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IFxyXG4gICAgICBwYWRkaW5nOiAwcHggIWltcG9ydGFudDsgXHJcbiAgICAgIG1heC13aWR0aDo5NTdweDsgXHJcbiAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgdG9wOjc1cHggIWltcG9ydGFudDtcclxuICB9XHJcbiAgXHJcbiAgLk91clRlYW1TdWJUZXh0IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgICAgei1pbmRleDo4O1xyXG4gICAgICBwYWRkaW5nOjRweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OjEwcHg7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6MTBweDtcclxuICAgICAgdG9wOjEyN3B4ICAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpYS13aWR0aC1tZW51LW1vYmlsZSkge1xyXG5cclxuICAuT3VyVGVhbU1haW5UZXh0IHtcclxuICAgICAgZm9udC1zaXplOiAxOHB4OyBcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBcclxuICAgICAgbWFyZ2luOmF1dG87IFxyXG4gICAgICBtYXJnaW4tdG9wOiAxMHB4OyBcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgXHJcblxyXG4gICAgICB0b3A6MTI4cHggIWltcG9ydGFudDsgXHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50OyBcclxuXHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgXHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICB6LWluZGV4Ojk7XHJcbiAgfVxyXG5cclxuICAuT3VyVGVhbVN1YlRleHQge1xyXG4gICAgICBtYXJnaW46IDQ1cHggYXV0byAtMjBweCBhdXRvOyBcclxuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7IFxyXG4gICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICB6LWluZGV4OjEwO1xyXG4gICAgICBtYXgtd2lkdGg6OTAwcHg7XHJcbiAgfVxyXG5cclxuICAuT3VyVGVhbUhlYWRlcnMge1xyXG4gICAgICB0b3A6MTI4cHggIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5PdXJUZWFtTWFpblRleHQge1xyXG4gICAgICAuT3VyVGVhbUhlYWRlcnMge1xyXG4gICAgICAgICAgbWFyZ2luOjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uT3VyVGVhbUhlYWRlcnMge1xyXG4gIGRpc3BsYXk6YmxvY2s7XHJcbiAgY2xlYXI6Ym90aDtcclxuICBmb250LXNpemU6IDI2cHg7IFxyXG4gIHRleHQtYWxpZ246IGNlbnRlcjsgXHJcbiAgYmFja2dyb3VuZDogJGMtYmx1ZS1kYXJrOyBcclxuICBjb2xvcjogI2ZmZjsgXHJcbiAgbWFyZ2luOmF1dG87IFxyXG4gIG1hcmdpbi10b3A6IDEwcHg7IFxyXG4gIHBhZGRpbmc6IDVweDsgICAgIFxyXG4gIHotaW5kZXg6MTA7XHJcbiAgaGVpZ2h0OjUwcHg7XHJcbn1cclxuXHJcbi5lbXBsb3llZS1wb3NpdGlvbiB7XHJcbiAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgZm9udC13ZWlnaHQ6Ym9sZDsgXHJcbiAgY29sb3I6JGMteWVsbG93OyBcclxuICBtYXJnaW4tdG9wOjBweDtcclxuICBwYWRkaW5nLWxlZnQ6MTBweDsgXHJcbiAgdHJhbnNpdGlvbjphbGwgMXM7XHJcbiAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuOTUpO1xyXG4gIG9wYWNpdHk6MDtcclxuICB3aWR0aDoxMDAlO1xyXG4gIGhlaWdodDo1NXB4O1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgZm9udC1zaXplOjE1cHg7XHJcbiAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmVtcGxveWVlLWhlYWRlciB7XHJcbiAgZm9udC1zaXplOiAzMHB4OyBcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG4gIGJhY2tncm91bmQ6ICAkYy1ibHVlLWRhcms7IFxyXG4gIGNvbG9yOiAjZmZmZmZmOyBcclxuICBtYXJnaW46YXV0bzsgXHJcbiAgbWFyZ2luLXRvcDogMTBweDsgXHJcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgXHJcbiAgcGFkZGluZzogNXB4OyBcclxuICBtYXgtd2lkdGg6OTU3cHg7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcbiAgLmVtcGxveWVlLWhlYWRlci1wb3NpdGlvbiB7XHJcbiAgICAgIGZvbnQtc2l6ZToxOHB4OyAgICBcclxuICB9XHJcbn1cclxuXHJcbi5lbXBsb3llZS10aHVtYiB7XHJcbiAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgYm9yZGVyOiAycHggc29saWQgICRjLWJsdWUtZGFyaztcclxuICBkaXNwbGF5OmJsb2NrO1xyXG59XHJcblxyXG4uZW1wbG95ZWUtdGh1bWI6aG92ZXIge1xyXG4gIC5lbXBsb3llZS1wb3NpdGlvbiB7XHJcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICBmb250LXdlaWdodDpib2xkOyBcclxuICAgICAgY29sb3I6JGMteWVsbG93OyBcclxuICAgICAgbWFyZ2luLXRvcDotNTVweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OjEwcHg7IFxyXG4gICAgICB0cmFuc2l0aW9uOmFsbCAwLjc1cztcclxuICAgICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuOTUpO1xyXG4gICAgICBvcGFjaXR5OjE7XHJcbiAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgIGhlaWdodDo1NXB4O1xyXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICBmb250LXNpemU6MTVweDtcclxuICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5lbXBsb3llZS10aHVtYi1uYW1lIHtcclxuICBmb250LXNpemU6IDIwcHg7IFxyXG4gIGZvbnQtd2VpZ2h0OiBib2xkOyBcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7IFxyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi5lbXBsb3llZS1pbWFnZSB7XHJcbiAgb3ZlcmZsb3c6aGlkZGVuOyBcclxuICBjbGlwOmF1dG87IFxyXG4gIHBvc2l0aW9uOnJlbGF0aXZlOyBcclxuICBtYXgtaGVpZ2h0OjI2N3B4O1xyXG59XHJcblxyXG5cclxuLnRlYW1HcmlkIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgei1pbmRleDo4ICFpbXBvcnRhbnQ7XHJcbiAgcG9zaXRpb246c3RpY2t5O1xyXG59XHJcblxyXG5cclxuI2NhcnRfdGltZXIge1xyXG4gICAgcG9zaXRpb246Zml4ZWQ7XHJcbiAgICBib3R0b206MDtcclxuICAgIGxlZnQ6MS41JTtcclxuICAgIHdpZHRoOjEzNXB4O1xyXG4gICAgaGVpZ2h0OjcwcHg7XHJcbiAgICB6LWluZGV4OjEwMDAwMDtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBcclxuXHJcbiAgICAgICNjYXJ0X3RpbWVyX2NvbnRhaW5lciB7XHJcbiAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OjEwMCU7XHJcbiAgICAgICAgICBib3JkZXI6MXB4IHNvbGlkICMwQTFDMkUgIWltcG9ydGFudDtcclxuICAgICAgICAgIGZvbnQtc2l6ZToyMHB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgIGNvbG9yOndoaXRlO1xyXG4gICAgICAgICAgcGFkZGluZzoxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDoxcHg7XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWRhcmtlbigkYy1ibHVlLWRhcmspOyAgICAgICAgICAgIFxyXG4gICAgICB9XHJcblxyXG4gICAgICAjY2FydF90aW1lcl9jbG9jayB7XHJcbiAgICAgICAgICBtYXJnaW46YXV0bztcclxuICAgICAgICAgIGRpc3BsYXk6aW5saW5lO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6MTJweDtcclxuICAgICAgICAgIG1hcmdpbi10b3A6MTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgI3RpbWVyX21pbnV0ZXMge1xyXG4gICAgICAgICAgZm9udC1zaXplOjI1cHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgICAgY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgdGV4dC1zaGFkb3c6IDJweCAycHggM3B4IHJnYmEoMCwwLDAsLjQ1KTtcclxuICAgICAgICAgIHdpZHRoOjM2JTtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XHJcbiAgICAgIH1cclxuICAgICAgI3RpbWVyX2NvbG9uIHsgICAgICAgICAgICBcclxuICAgICAgICAgIGZvbnQtc2l6ZToyNXB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgIGNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDtcclxuICAgICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDNweCByZ2JhKDAsMCwwLC40NSk7XHJcbiAgICAgICAgICB3aWR0aDo4JTtcclxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICB9XHJcbiAgICAgICN0aW1lcl9zZWNvbmRzIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZToyNXB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgIGNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDtcclxuICAgICAgICAgIHRleHQtc2hhZG93OiAycHggMnB4IDNweCByZ2JhKDAsMCwwLC40NSk7XHJcbiAgICAgICAgICB3aWR0aDozNiU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB9XHJcbiAgICAgICN0aW1lcl90ZXh0e1xyXG4gICAgICAgICAgZm9udC1zaXplOjEycHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgICAgY29sb3I6d2hpdGU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OjExcHg7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOjBweDtcclxuICAgICAgfVxyXG59XHJcblxyXG4vLyBEZXNrdG9wIFN0eWxlIG92ZXJyaWRlc1xyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaWEtd2lkdGgtZGVza3RvcCkge1xyXG5cclxuICAuc2VjdGlvbi1ob21lLWhlcm8ge1xyXG4gICAgICBoZWlnaHQ6MjMuNXJlbSAhaW1wb3J0YW50OyAgIFxyXG4gIH1cclxuXHJcbiAgI3Nob3BfYmFubmVycyB7XHJcbiAgICAgIHdpZHRoOjk5JTtcclxuICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICBtYXJnaW4tdG9wOjQwcHggIWltcG9ydGFudDtcclxuICAgICAgaGVpZ2h0OjI5MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJveC1zaGFkb3c6IDVweCA5cHggOXB4IHJnYmEoMCwwLDAsLjc3KSFpbXBvcnRhbnQ7XHJcbiAgICAgIC13ZWJraXQtbWFzay1pbWFnZTogdXJsKCcvd3AtY29udGVudC90aGVtZXMvcm95YWwtbnkvaW1nL3JvdWdoLWVkZ2Utd2hpdGUtZnVsbC5zdmcnKSAhaW1wb3J0YW50O1xyXG4gICAgICAtd2Via2l0LW1hc2stcG9zaXRpb246IGNlbnRlciAhaW1wb3J0YW50O1xyXG4gICAgICAtd2Via2l0LW1hc2stY2xpcDogYm9yZGVyLWJveCAhaW1wb3J0YW50O1xyXG4gICAgICAtd2Via2l0LW1hc2stcmVwZWF0OiBuby1yZXBlYXQgIWltcG9ydGFudDtcclxuICAgICAgLXdlYmtpdC1tYXNrLXNpemU6IGNvdmVyICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHJcbiAgICAgIC5zbGlkZXIge1xyXG4gICAgICAgICAgbWF4LWhlaWdodDoyOTlweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgbWluLWhlaWdodDoyOTlweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgaGVpZ2h0OjI5OXB4ICFpbXBvcnRhbnQ7ICAgXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAuc2xpZGVzIHtcclxuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OjI5OXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgbWluLWhlaWdodDoyOTlweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIGhlaWdodDoyOTlweCAhaW1wb3J0YW50OyAgXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIC5zbGlkZSB7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7ICAgICBcclxuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyICFpbXBvcnRhbnQ7ICBcclxuICAgICAgICAgICAgICAgICAgY3Vyc29yOnBvaW50ZXIgIWltcG9ydGFudDsgICAgICBcclxuICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDozMDBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OjMwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgIGhlaWdodDozMDBweCAhaW1wb3J0YW50OyAgXHJcbiAgICAgICAgICAgICAgICAgIHdpZHRoOjEwMSU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAjY2FydF90aW1lciB7XHJcbiAgICAgIHBvc2l0aW9uOmZpeGVkO1xyXG4gICAgICBib3R0b206MDtcclxuICAgICAgbGVmdDoxLjUlO1xyXG4gICAgICB3aWR0aDoxMzVweDtcclxuICAgICAgaGVpZ2h0OjcwcHg7XHJcbiAgICAgIHotaW5kZXg6MTAwMDAwO1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgI2NhcnRfdGltZXJfY29udGFpbmVyIHtcclxuICAgICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgICBoZWlnaHQ6MTAwJTtcclxuICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgIzBBMUMyRSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgZm9udC1zaXplOjIwcHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgICAgY29sb3I6d2hpdGU7XHJcbiAgICAgICAgICBwYWRkaW5nOjEwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgIHBhZGRpbmctdG9wOjFweDtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtZGFya2VuKCRjLWJsdWUtZGFyayk7ICAgICAgICAgICAgXHJcbiAgICAgIH1cclxuXHJcbiAgICAgICNjYXJ0X3RpbWVyX2Nsb2NrIHtcclxuICAgICAgICAgIG1hcmdpbjphdXRvO1xyXG4gICAgICAgICAgZGlzcGxheTppbmxpbmU7XHJcbiAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDoxMnB4O1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDoxMHB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAjdGltZXJfbWludXRlcyB7XHJcbiAgICAgICAgICBmb250LXNpemU6MjVweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgICBjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogMnB4IDJweCAzcHggcmdiYSgwLDAsMCwuNDUpO1xyXG4gICAgICAgICAgd2lkdGg6MzYlO1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcclxuICAgICAgfVxyXG4gICAgICAjdGltZXJfY29sb24geyAgICAgICAgICAgIFxyXG4gICAgICAgICAgZm9udC1zaXplOjI1cHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgICAgY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgdGV4dC1zaGFkb3c6IDJweCAycHggM3B4IHJnYmEoMCwwLDAsLjQ1KTtcclxuICAgICAgICAgIHdpZHRoOjglO1xyXG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgIH1cclxuICAgICAgI3RpbWVyX3NlY29uZHMge1xyXG4gICAgICAgICAgZm9udC1zaXplOjI1cHg7XHJcbiAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgICAgY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgdGV4dC1zaGFkb3c6IDJweCAycHggM3B4IHJnYmEoMCwwLDAsLjQ1KTtcclxuICAgICAgICAgIHdpZHRoOjM2JTtcclxuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIH1cclxuICAgICAgI3RpbWVyX3RleHR7XHJcbiAgICAgICAgICBmb250LXNpemU6MTJweDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgICBjb2xvcjp3aGl0ZTtcclxuICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6MTFweDtcclxuICAgICAgICAgIG1hcmdpbi10b3A6MHB4O1xyXG4gICAgICB9XHJcbiAgfSAgICBcclxuXHJcbiAgI3JueV9taW5pX2NhcnQge1xyXG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZSAhaW1wb3J0YW50O1xyXG4gICAgICB0b3A6NjVweCAhaW1wb3J0YW50O1xyXG4gICAgICB3aWR0aDo1NTBweCAhaW1wb3J0YW50O1xyXG4gICAgICByaWdodDowLjElICFpbXBvcnRhbnQ7XHJcbiAgICAgIGRpc3BsYXk6bm9uZTtcclxuXHJcbiAgICAgIC5jYXJ0LWNvbnRhaW5lci1jbG9zZSwgLmNhcnQtY29udGFpbmVyLWNsb3NlOmhvdmVyIHtcclxuICAgICAgICAgIGZsb2F0OmxlZnQ7XHJcbiAgICAgICAgICBjbGVhcjpsZWZ0O1xyXG4gICAgICAgICAgbGVmdDowO1xyXG4gICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgIG1heC13aWR0aDo3NXB4O1xyXG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDotMTFweDtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OjlweDtcclxuICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgei1pbmRleDoxMDAwMDAwMDtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxuICAgICAgICAgIGZvbnQtc2l6ZToxM3B4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgY29sb3I6YmxhY2sgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICBzcGFuLCBzcGFuOmhvdmVyIHtcclxuICAgICAgICAgICAgICBjb2xvcjpyZWQgIWltcG9ydGFudDsgXHJcbiAgICAgICAgICAgICAgbWFyZ2luOjBweCAhaW1wb3J0YW50OyBcclxuICAgICAgICAgICAgICBwYWRkaW5nOjBweCAhaW1wb3J0YW50OyBcclxuICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjptaWRkbGUgIWltcG9ydGFudDsgXHJcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDotNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5hcnJvdy11cCB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOi04cHg7XHJcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6LTk1cHg7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5jYXJ0LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LC45OSk7XHJcbiAgICAgICAgICBib3gtc2hhZG93OiA2cHggNnB4IDhweCByZ2JhKDAsMCwwLDAuMTUpO1xyXG4gICAgICAgICAgcGFkZGluZzoxOHB4O1xyXG5cclxuICAgICAgICAgIC5taW5pLWNhcnQtb3ZlcmZsb3cge1xyXG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6Mjk1cHg7XHJcbiAgICAgICAgICAgICAgb3ZlcmZsb3cteDpoaWRkZW47IFxyXG4gICAgICAgICAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XHJcbiAgICAgICAgICAgICAgbWluLWhlaWdodDoyOTVweDsgXHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIHdpZHRoOmNhbGMoMTAwJSArIDhweCk7XHJcbiAgICAgICAgICAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIC8qID09PT09IFNjcm9sbGJhciBDU1MgPT09PT0gKi9cclxuICAgICAgICAgIC8qIEZpcmVmb3ggKi9cclxuICAgICAgICAgIC5taW5pLWNhcnQtb3ZlcmZsb3cge1xyXG4gICAgICAgICAgICAgIHNjcm9sbGJhci13aWR0aDogYXV0bztcclxuICAgICAgICAgICAgICBzY3JvbGxiYXItY29sb3I6ICNkZmRmZGYgI2ZmZmZmZjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAvKiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgKi9cclxuICAgICAgICAgIC5taW5pLWNhcnQtb3ZlcmZsb3c6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTFweDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAubWluaS1jYXJ0LW92ZXJmbG93Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAubWluaS1jYXJ0LW92ZXJmbG93Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XHJcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RmZGZkZjtcclxuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xyXG4gICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmZmZmY7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgZGl2IHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgdGFibGUuY2FydC1oZWFkZXJzIHtcclxuICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG5cclxuICAgICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZToxZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgICAgICAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMDJlbSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkZmRmZGY7XHJcbiAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjY2ZjZmNmO1xyXG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiMwQTFDMkUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRhYmxlLmNhcnQtaXRlbXMge1xyXG4gICAgICAgICAgICAgIHdpZHRoOmNhbGMoMTAwJSAtIDEzcHgpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOjUxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgbGVmdDowICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6MHB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAgICogeyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiMwQTFDMkUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOi45OWVtO1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAubGFzdC1hZGRlZCB0ZCB7XHJcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgxNTAsMjU1LDE1MCwuMzUpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRhYmxlLmNhcnQtdG90YWxzIHsgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIHdpZHRoOjEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICogeyAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiMwQTFDMkUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIHRkIHtcclxuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOjEuMTJlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgICAgICAgICAgICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG4gICAgICBcclxuICAjYmFkX3NoaXBwaW5nX21lc3NhZ2Uge1xyXG4gICAgICBmb250LXdlaWdodDpib2xkOyBcclxuICAgICAgY29sb3I6cmVkOyBcclxuICAgICAgZmxvYXQ6cmlnaHQ7XHJcbiAgICAgIG1heC13aWR0aDogNzAlO1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6MTVweDtcclxuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcblxyXG4gIC5jaGVja291dFF1ZXN0aW9uIHtcclxuICAgICAgbWluLXdpZHRoOjM5MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAjaGVhZGVyLW5hdiAuaGVhZGVyLW1vYmlsZSB7XHJcbiAgICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC8vIEdlbmVyYWwgZml4ZXNcclxuICAuc2hpbS1zcGFjZXIge1xyXG4gICAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5vZmZlcmluZ3MtY29udGVudCAuc2VjdGlvbl9wYWdlX2hlYWRlciB7XHJcbiAgICAgIHBhZGRpbmctdG9wOjEuODBlbSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgI3NlYXJjaC1jb250YWluZXIge1xyXG4gICAgICBoZWlnaHQ6IGNhbGMoIDEwMHZoIC0gMTM1cHggKSAhaW1wb3J0YW50O1xyXG4gICAgICBtaW4taGVpZ2h0OiBjYWxjKCAxMDB2aCAtIDEzNXB4ICkgIWltcG9ydGFudDtcclxuICAgICAgbWF4LWhlaWdodDogY2FsYyggMTAwdmggLSAxMzVweCApICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAuc2VjdGlvbl9wYWdlX2NvbnRlbnQgI3NlYXJjaC1jb250YWluZXIge1xyXG4gICAgICAuZWNhX3NlY3Rpb24geyAgICAgICAgICAgIFxyXG4gICAgICAgICAgLmVjYS1pdGVtcyB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDotNTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAjZmlsdGVyQ29udHJvbEJveCAuZWNhX3NlY3Rpb24gLmVjYS1pdGVtcyB7ICAgICAgICBcclxuICAgICAgbWFyZ2luLXRvcDotNTBweCAhaW1wb3J0YW50O1xyXG4gIH0gXHJcblxyXG4gICNmaWx0ZXJDb250cm9sQm94IHtcclxuICAgICAgcGFkZGluZy1ib3R0b206MjBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcblxyXG4gIC8vIFRlYSBPZmZlcmluZ3MgZml4ZXNcclxuICAubmFtZUNlbGwudGVhIHtcclxuICAgICAgd2lkdGg6MzMlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAubnVtYmVyQ2VsbC50ZWEgc3Bhbi5oNyB7ICAgICAgICBcclxuICAgICAgd2lkdGg6OSUgIWltcG9ydGFudDtcclxuICB9ICAgIFxyXG5cclxuICAuaW5mby1wb3AtdXAge1xyXG4gICAgICBtaW4td2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xyXG4gICAgICBtYXgtaGVpZ2h0OiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgID4gZGl2IHtcclxuICAgICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAuaW5mby1wb3AtdXAtY29udGFpbmVyIC5pbmZvLXBvcC11cCwgLmluZm8tcG9wLXVwLWNvbnRhaW5lcjIgLmluZm8tcG9wLXVwIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6Y2FsYyggNTAlIC0gMzUwcHggKSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgI2xvZ2dlZC1pbi1hcyB7XHJcbiAgICAgIHdpZHRoOiA2MDBweDsgXHJcbiAgICAgIGNvbG9yOiBmbG9yYWx3aGl0ZTsgXHJcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyBcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICAgIG1heC13aWR0aDoxMDB2dztcclxuICAgICAgbWFyZ2luLXJpZ2h0OjEzcmVtO1xyXG4gICAgICBtYXJnaW4tdG9wOi0xMzBweDtcclxuICAgICAgei1pbmRleDogMjAwO1xyXG4gICAgICBmbG9hdDpyaWdodDtcclxuICB9XHJcblxyXG4gIC5zaGlwbWVudC1oaXN0b3J5IHtcclxuICAgICAgZmxvYXQ6cmlnaHQ7XHJcbiAgICAgIG1hcmdpbi10b3A6LTMwcHg7IFxyXG4gICAgICBmb250LXdlaWdodDpib2xkOyBcclxuICAgICAgZm9udC1zaXplOjEuMmVtO1xyXG4gIH1cclxuICBcclxuICAubXlhY2NvdW50LXJlc2VydmUtY29udGFpbmVyIHtcclxuICAgICAgZGlzcGxheTpibG9jazsgXHJcbiAgICAgIG1hcmdpbjowcHg7IFxyXG4gICAgICBwYWRkaW5nOjBweDtcclxuICB9XHJcblxyXG5cclxuICBcclxuICAuaG93LXRvLWdyYXBoaWMtY29udGFpbmVyIHtcclxuICAgICAgd2lkdGg6NzM0cHg7XHJcbiAgICAgIHBhZGRpbmc6MTRweDtcclxuICB9XHJcblxyXG4gIC50aWxlcy1vdXRlci1jb250YWluZXIge1xyXG4gICAgICBkaXNwbGF5OnRhYmxlLXJvdztcclxuICB9XHJcblxyXG4gIC5pbnRyby10ZXh0IHtcclxuICAgICAgZm9udC1zaXplOi45ZW07XHJcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gIH1cclxuXHJcbiAgLmludHJvLWxvZ28ge1xyXG4gICAgICBtYXgtd2lkdGg6NzVweDtcclxuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgIG1hcmdpbjphdXRvO1xyXG4gICAgICBjbGVhcjpib3RoO1xyXG4gICAgICBkaXNwbGF5OmJsb2NrO1xyXG5cclxuICAgICAgOjphZnRlciB7XHJcbiAgICAgICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24taGVhZGVyIHtcclxuICAgICAgY29sb3I6JGMtYmx1ZS1kYXJrO1xyXG4gICAgICBmb250LXNpemU6MS4zNWVtO1xyXG4gICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICB9XHJcblxyXG4gIC50aWxlLWNvbnRhaW5lciB7XHJcbiAgICAgIG1heC13aWR0aDoxMzlweDtcclxuICAgICAgbWluLXdpZHRoOjEzOXB4O1xyXG4gICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XHJcbiAgICAgIG1pbi1oZWlnaHQ6MTk2cHg7XHJcbiAgfVxyXG5cclxuICAuc2VjdGlvbi10aWxlLW91dGVyIHtcclxuICAgICAgYm9yZGVyOjRweCBzb2xpZCAkYy1ibHVlLWRhcms7XHJcbiAgICAgIG1pbi1oZWlnaHQ6MTQ2cHg7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgIHBhZGRpbmc6M3B4O1xyXG4gICAgICB3aWR0aDoxMDAlO1xyXG4gIH1cclxuXHJcbiAgLnNlY3Rpb24tdGlsZS1pbm5lciB7XHJcbiAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgIGhlaWdodDoxMDAlO1xyXG4gICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICBjb2xvcjokd2hpdGU7XHJcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XHJcbiAgICAgIHBhZGRpbmc6NnB4O1xyXG4gICAgICBtaW4taGVpZ2h0OjEzMnB4O1xyXG5cclxuICAgICAgZW0ge1xyXG4gICAgICAgICAgZm9udC1zaXplOi41NWVtO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAuYXJyb3ctY29udGFpbmVyLXJpZ2h0IHtcclxuICAgICAgd2lkdGg6MjBweDtcclxuICAgICAgaGVpZ2h0OjIwcHg7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgIGNvbG9yOiAkYy1ibHVlLWRhcms7XHJcbiAgICAgIG1hcmdpbjoxNXB4O1xyXG4gICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XHJcbiAgICAgIG1pbi1oZWlnaHQ6MTk2cHg7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OjkgIWltcG9ydGFudDtcclxuICAgICAgZm9udC1zaXplOjI4cHggIWltcG9ydGFudDtcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBcclxuICAjcHJvZHVjdC1kZXRhaWwtd2luZG93IHtcclxuICAgICAgd2lkdGg6OTV2dztcclxuICAgICAgaGVpZ2h0OmNhbGMoIDEwMHZoIC0gMTcwcHggKTtcclxuICAgICAgdG9wOjEyM3B4O1xyXG4gICAgICBsZWZ0OjIuNXZ3O1xyXG5cclxuICAgICAgaGVhZGVyIHtcclxuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICAgICAgICBmb250LXNpemU6MS43NWVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBtYWluIHtcclxuICAgICAgICAgIG1hcmdpbi10b3A6LTQ1cHg7XHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5iYWNrTGluayB7XHJcbiAgZGlzcGxheTpibG9jaztcclxuICB0ZXh0LWRlY29yYXRpb246bm9uZTsgXHJcbiAgcGFkZGluZzo4cHg7IFxyXG4gIGN1cnNvcjpwb2ludGVyOyBcclxuICBmb250LXdlaWdodDpib2xkO1xyXG4gIHdpZHRoOjEwMCU7IFxyXG4gIG1hcmdpbi10b3A6LTEwcHg7IG1hcmdpbi1ib3R0b206NXB4OyB0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHJcbiAgc3Bhbi5kYXNoaWNvbnMge1xyXG4gICAgICBsaW5lLWhlaWdodDoyNnB4ICFpbXBvcnRhbnQ7IFxyXG4gICAgICBjb2xvcjojQjc5MjIwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uYmFja0xpbms6aG92ZXIge1xyXG4gIHRleHQtZGVjb3JhdGlvbjpub25lO1xyXG59XHJcblxyXG4ud29vY29tbWVyY2UtTm90aWNlR3JvdXAtY2hlY2tvdXQgLndvb2NvbW1lcmNlLWVycm9yIC53Yy1iYWNrd2FyZCB7XHJcbiAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jaGVja291dC53b29jb21tZXJjZS1jaGVja291dCB7XHJcbiAgICAgLndvb2NvbW1lcmNlLU5vdGljZUdyb3VwIHtcclxuICAgICAgICB6LWluZGV4OiA5ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdG9wOiAyNTBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xyXG4gICAgfVxyXG59XHJcblxyXG4ud29vY29tbWVyY2UtZXJyb3Ige1xyXG4gICAgbGkgIHtcclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDoxMmVtO1xyXG4gICAgfVxyXG59XHJcblxyXG5saS5zbGlkZSB7XHJcbiAgYmFja2dyb3VuZC1zaXplOmNvbnRhaW4gIWltcG9ydGFudDtcclxuXHJcbiAgdmlkZW8ge1xyXG4gICAgICBtYXgtd2lkdGg6OTN2dyAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmxpbmstYnV0dG9uIHtcclxuICBmb250LXdlaWdodDpib2xkO1xyXG4gIGN1cnNvcjpwb2ludGVyO1xyXG4gIGNvbG9yOiM1Nzg1ODc7XHJcbn1cclxuXHJcbi5saW5rLWJ1dHRvbjpob3ZlciB7XHJcbiAgY29sb3I6IzBBMUMyRTtcclxufVxyXG5cclxuXHJcbi5sb25nVGV4dCB7XHJcbiAgdGV4dC1vdmVyZmxvdzplbGxpcHNpczsgXHJcbiAgb3ZlcmZsb3c6aGlkZGVuOyBcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIG1heC13aWR0aDo5NyU7XHJcbn1cclxuXHJcbi5taW5pLWNhcnQtc3VidG90YWwtbGFiZWwge1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2ZjZmNmO1xyXG59XHJcblxyXG4ubWluaS1jYXJ0LXN1YnRvdGFsIHtcclxuICB0ZXh0LWFsaWduOnJpZ2h0OyBcclxuICB3aWR0aDoxNTBweDtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NmY2ZjZjtcclxufVxyXG5cclxuLm1pbmktY2FydC1oZWFkZXIge1xyXG4gIG1hcmdpbi1sZWZ0Oi01cHg7XHJcbn1cclxuXHJcbi5taW5pLWNhcnQtZm9vdGVyIHtcclxuICBwYWRkaW5nLXRvcDo5cHg7XHJcbiAgbWFyZ2luLWxlZnQ6LTVweDtcclxufVxyXG5cclxuLm1pbmktY2FydC10aXRsZS1sZWZ0IHtcclxuICB3aWR0aDo0MHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC1zaXplOjI1cHggIWltcG9ydGFudDtcclxuICBmb250LXdlaWdodDpib2xkO1xyXG4gIG1hcmdpbi10b3A6LTlweDtcclxuICBtYXJnaW4tYm90dG9tOjhweDtcclxuICBmbG9hdDpsZWZ0O1xyXG4gIGNvbG9yOiNCNzkyMjAgIWltcG9ydGFudDtcclxuICBkaXNwbGF5OmJsb2NrO1xyXG59XHJcblxyXG4ubWluaS1jYXJ0LXRpdGxlLXJpZ2h0IHtcclxuICB3aWR0aDo4MCU7XHJcbiAgbWF4LXdpZHRoOjgwJTtcclxuICBmbG9hdDpsZWZ0O1xyXG4gIHRleHQtYWxpZ246bGVmdDtcclxuICBmb250LXNpemU6MjNweDtcclxuICBmb250LXdlaWdodDpub3JtYWw7XHJcbiAgbWFyZ2luLXRvcDotMTJweDtcclxuICBtYXJnaW4tYm90dG9tOjhweDtcclxuICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XHJcbiAgZGlzcGxheTpibG9jaztcclxufVxyXG5cclxuKjpob3ZlciAubWluaS1jYXJ0LXRpdGxlLXJpZ2h0IHtcclxuICBjb2xvcjojMEExQzJFICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jb250YWluZXItaG9tZS1mZWF0dXJlZCB7XHJcbiAgLnJvdyB7XHJcbiAgICAgIC50ZWFzZXIge1xyXG4gICAgICAgICAgbWFyZ2luOmF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206M3JlbSAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4udG9wMCB7XHJcbiAgdG9wOnVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDEuNTVzO1xyXG59XHJcblxyXG4uc3RpY2t5LWhlYWRlciB7ICAgXHJcbiAgdHJhbnNpdGlvbjogYWxsIDEuNTVzO1xyXG59XHJcblxyXG4uT3VyVGVhbUhlYWRlclNwYWNlciB7XHJcbiAgaGVpZ2h0OiAyNnB4O1xyXG4gIG1hcmdpbi1ib3R0b206LTQxcHg7XHJcbiAgdG9wOjEyN3B4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtcclxufVxyXG5cclxuLnRodW1ibmFpbC1zbGlkZSB2aWRlbyB7XHJcbiAgY3Vyc29yOnBvaW50ZXI7XHJcbn1cclxuXHJcbi5wbGF5LW92ZXJsYXkge1xyXG4gIG9wYWNpdHk6LjY1OyBcclxuICBtYXJnaW4tdG9wOjMzcHg7XHJcbiAgbWFyZ2luLWxlZnQ6LTg4cHg7XHJcbiAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgY3Vyc29yOnBvaW50ZXI7XHJcbiAgY29sb3I6I2ZmZmZmZjtcclxuICB6LWluZGV4OjEwMDA7XHJcbiAgZm9udC1zaXplOjQ1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLnBsYXktb3ZlcmxheTpob3ZlciB7XHJcbiAgb3BhY2l0eTouOTU7IFxyXG59XHJcblxyXG4uaW50ZXJlc3RTZWxlY3Rpb24ge1xyXG4gIGJvcmRlcjoxcHggc29saWQgI2VmZWZlZjtcclxuXHJcbiAgJjpob3ZlciB7XHJcbiAgICAgIGJvcmRlcjoxcHggc29saWQgI2NmY2ZjZjtcclxuICAgICAgYm94LXNoYWRvdzozcHggM3B4IDVweCByZ2JhKDEwLDEwLDEwLC4yMik7XHJcbiAgfVxyXG59XHJcblxyXG4ucHAtbXVsdGlwbGUtYXV0aG9ycy1sYXlvdXQtYm94ZWQge1xyXG4gIG1hcmdpbjowcHggIWltcG9ydGFudDtcclxuICBwYWRkaW5nOjBweCAhaW1wb3J0YW50O1xyXG5cclxuICBoMiB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDNweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgdWwge1xyXG4gICAgICBib3JkZXItc3R5bGU6bm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICBtYXJnaW46MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBhZGRpbmc6MHB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgICBtYXJnaW46NXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDo1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgIHBhZGRpbmctbGVmdDo1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgIGJvcmRlci1zdHlsZTpub25lICFpbXBvcnRhbnQ7ICAgICAgICAgICAgXHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxpIGRpdjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAubXVsdGlwbGUtYXV0aG9ycy1uYW1lIHtcclxuICAgICAgICAgIGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLm11bHRpcGxlLWF1dGhvcnMtbGlua3Mge1xyXG4gICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICBhIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXllbGxvdyAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5oZWFkZXIge1xyXG4gIHotaW5kZXg6MTAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcblxyXG4uYWN0aXZlLXJlc3VsdCB7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBNT0JJTEUgT1ZFUlJJREVTXHJcblxyXG5cclxuI2Rhc2hCdXR0b25zLmQtZmxleCB7XHJcbiAgbWFyZ2luLXRvcDp1bnNldCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLnBheW1lbnRfbWV0aG9kcyB1bCBsaSB7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgbGlzdC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGJvcmRlcjoxcHggc29saWQgcmdiYSgxMDAsMTAwLDEwMCwuNSk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDAsMjAwLDIwMCwuMjUpO1xyXG59XHJcblxyXG4jcGF5bWVudCAucGF5bWVudF9ib3gge1xyXG4gIGJhY2tncm91bmQ6dW5zZXQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gLnBheW1lbnRfbWV0aG9kcyBsYWJlbDpiZWZvcmUge1xyXG4vLyAgIHBvc2l0aW9uOnVuc2V0ICFpbXBvcnRhbnQ7XHJcbi8vIH1cclxuXHJcbmgzLnByb2R1Y3RfY2F0X2hlYWRlciB7XHJcbiAgbWFyZ2luLXRvcDoxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbTowcHggIWltcG9ydGFudDtcclxuICBmb250LXNpemU6MS4xNXJlbTtcclxufVxyXG5cclxuaDQucHJvZHVjdF9jYXRfaGVhZGVyIHtcclxuICAgIG1hcmdpbi10b3A6MTVweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLWJvdHRvbTotNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6MjBweDtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgfVxyXG5cclxuLndjX3BheW1lbnRfbWV0aG9kIHtcclxuICBsaTpiZWZvcmUge1xyXG4gICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5oZXJvLWltZy1jb250YWluZXIge1xyXG4gIGRpc3BsYXk6bm9uZTtcclxuICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICB6LWluZGV4Oi0xMDA7XHJcbiAgd2lkdGg6MTAwJTtcclxuICBtYXgtaGVpZ2h0OjEzNXB4O1xyXG4gIGNsaXA6IGF1dG87XHJcbiAgb3BhY2l0eTouMjU7XHJcbn1cclxuXHJcblxyXG4uaGVyb19zZWN0aW9uIHtcclxuICBwYWRkaW5nOjIwcHggMjBweCAyMHB4IDIwcHg7XHJcblxyXG4gIG1hcmdpbi1ib3R0b206MThweDtcclxuICAuY29udGFpbmVyIHtcclxuICBcclxuICAgIC5yb3cge1xyXG4gICAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcblxyXG4gICAgICAuaGVyby1jYXB0aW9uIHtcclxuICAgICAgICBmb250LXNpemU6MTZweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuaGVyby1oZWFkbGluZSB7XHJcbiAgICAgICAgY29sb3I6I0I1OTAzODtcclxuICAgICAgICBmb250LXNpemU6NDhweDtcclxuICAgICAgICBsaW5lLWhlaWdodDo1Ny42cHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbToyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5jdGEtaWNvbi5pY29uLWxpbmstaW50ZXJuYWwge1xyXG4gIGhlaWdodDogMjJweCAhaW1wb3J0YW50O1xyXG4gIHdpZHRoOiAyMnB4ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweCAhaW1wb3J0YW50O1xyXG4gIG1hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgZmxvYXQ6cmlnaHQ7XHJcbn1cclxuXHJcblxyXG5cclxuLmJhY2tfbGluaywgLnByZXZpb3VzX2xpbmsge1xyXG4gIG1hcmdpbi1ib3R0b206MTBweDtcclxuICBtYXJnaW4tdG9wOi01cHg7XHJcblxyXG4gIC5jdGEtaWNvbi5pY29uLWxpbmstaW50ZXJuYWwge1xyXG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgd2lkdGg6IDIycHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1sZWZ0OiAtMTBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmNtbi1oZXJvLWJhbm5lciB7XHJcbiAgZm9udC1zaXplOjE2cHg7XHJcbiAgbWluLWhlaWdodDoxNzBweDtcclxuICBwYWRkaW5nLXRvcDoxZW0gIWltcG9ydGFudDtcclxuICB6LWluZGV4OjE7XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIGdlbmVyYWwgc2VjdGlvbiBzdHlsZXMgLy9cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi5zZWN0aW9uIHtcclxuICBwYWRkaW5nLXRvcDogMXJlbTtcclxuICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuXHJcbiAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAgICAgcGFkZGluZy10b3A6IDJyZW07XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gIH1cclxuXHJcbiAgJi5zZWN0aW9uLWN1c3RvbS1wb3N0IHtcclxuICAgICAgcGFkZGluZy10b3A6IDFyZW07XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG4gIH1cclxufVxyXG5cclxuLnNlY3Rpb24taGVhZGxpbmUge1xyXG4gIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbn1cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gTEVGVCBTSURFQkFSIFNFQVJDSCBBTkQgRklMVEVSSU5HIC8vXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbW9iaWxlKSB7XHJcbiAgXHJcbiAgI3NlYXJjaC1jb250YWluZXIge1xyXG4gICAgICB0b3A6NjBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmxhc3QtcHVyY2gtbGFiZWwge1xyXG4gICAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbi5zZWN0aW9uX3BhZ2VfY29udGVudCB7XHJcblxyXG4gICNzZWFyY2gtY29udGFpbmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMTM1cHggIWltcG9ydGFudDtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHotaW5kZXg6IDk7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicCh4bGFyZ2UpIHtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIGJwKHh4bGFyZ2UpIHtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGgzIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuICAgICAgfVxyXG5cclxuICAgICAgLmZvcm0tZ3JvdXAge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcclxuICAgICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xyXG4gICAgICAgICAgaGVpZ2h0OiAzcmVtO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICAgICAgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5pY29uLXNlYXJjaCB7XHJcbiAgICAgICAgICBsZWZ0OiAxM3B4O1xyXG4gICAgICAgICAgYm90dG9tOiAxM3B4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAjb2ZmZXJpbmdzLXNlYXJjaCwgI2NvdXJzZXMtc2VhcmNoIHtcclxuICAgICAgICAgIG1pbi1oZWlnaHQ6IDMuMXJlbTtcclxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6NXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAuZm9ybS1jb250YWluZXIge1xyXG4gICAgICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgYnAobGFyZ2UpIHtcclxuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAuZm9ybS1jaGVjayB7XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgLmVjYV9zZWN0aW9uIHtcclxuXHJcbiAgICAgICAgICAudG9nZ2xlIHtcclxuICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogLjVyZW07XHJcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IC42cmVtO1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgIGNvbG9yOiAkYy1ncmF5LWRhcms7XHJcbiAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICBwYWRkaW5nOiAuOXJlbSAwO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgICAgICAgICAgIC8vIHRyYW5zaXRpb246IDAuNXM7XHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAycmVtO1xyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjE1ZW07XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmVjYS1pdGVtcyB7XHJcbiAgICAgICAgICAgICAgLnRvZ2dsZSB7XHJcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1ibHVlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICB0b3A6IDM4JTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb25zL2ljb24tcGx1cy5zdmcnKTtcclxuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcclxuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogMC41cztcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAycmVtO1xyXG4gICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAvLyAuZWNhLWl0ZW06bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgICAgLy8gICAgIG1hcmdpbi1ib3R0b206IDFyZW0gIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAvLyB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zZWFyY2gtYnV0dG9ucyB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cclxuICAgICAgICAgIC5idG4tY2xlYXItZmlsdGVycyxcclxuICAgICAgICAgIC5idG4tZmlsdGVyLW9mZmVyaW5ncyB7XHJcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDYwJTtcclxuICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxcmVtIGF1dG87XHJcblxyXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJwKHNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuMnJlbSAxLjhyZW07XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLmJ0bi1jbGVhci1maWx0ZXJzIHtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgcGFkZGluZzogLjZyZW0gMXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gY29udGVudCBjb2x1bW4gbGF5b3V0cy0gZ2VuZXJhbCBzdHlsZXMgLy9cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuLmNvbnRlbnRfc2VjdGlvbiB7XHJcblxyXG4gIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDJyZW07XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMnJlbTtcclxuICB9XHJcblxyXG4gIC5mZWF0dXJlZC1oZWFkbGluZSxcclxuICAuc2VjdGlvbi1oZWFkbGluZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSBicChtZWRpdW0pIHtcclxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5mdWxsLXdpZHRoIHtcclxuICB9XHJcblxyXG4gIC50d28tY29sdW1uIHtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDRyZW07XHJcblxyXG4gICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgfVxyXG4gIH1cclxuXHJcbiAgLnRocmVlLWNvbHVtbiB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xyXG5cclxuICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBicChsYXJnZSkge1xyXG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIC5mb3VyLWNvbHVtbiB7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiAycmVtO1xyXG4gIH1cclxuXHJcbiAgLmZvdXItY29sdW1uLFxyXG4gIC50aHJlZS1jb2x1bW4sXHJcbiAgLnR3by1jb2x1bW4sXHJcbiAgLmZ1bGwtd2lkdGgge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgfVxyXG59XHJcblxyXG4vLyAuc2VjdGlvbi1wcm9maWxlLFxyXG4vLyAuY29udGVudF9zZWN0aW9uLmJnLWxpZ2h0LWJsdWUsXHJcbi8vIC5nYWxsZXJ5X3NlY3Rpb24uYmctbGlnaHQtYmx1ZSxcclxuLy8gLmZlYXR1cmVkX3NlY3Rpb24uYmctbGlnaHQtYmx1ZSxcclxuXHJcbi8vIHJvdWdoIGVkZ2Ugc3R5bGUgcnVsZXNcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuLmZlYXR1cmVkX3NlY3Rpb24uYmctbGlnaHQtYmx1ZSxcclxuLmNvbnRlbnRfc2VjdGlvbi5iZy1saWdodC1ibHVlLFxyXG4uZWNhX3NlY3Rpb24uYmctbGlnaHQtYmx1ZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1saWdodDtcclxuICAvL0BpbmNsdWRlIHJvdWdoLWVkZ2UoJGMtYmx1ZS1saWdodCwgYm90aCk7XHJcbiAgbWFyZ2luLWJvdHRvbTogMS42cmVtO1xyXG5cclxuICAmLnNlY3Rpb24tY3VzdG9tLXBvc3Qge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xyXG4gIH1cclxufVxyXG5cclxuLmNvbnRlbnRfc2VjdGlvbi5iZy13aGl0ZSB7XHJcbiAgJi5zZWN0aW9uLWN1c3RvbS1wb3N0IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDJyZW07XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi5zaXRlLW1haW4ge1xyXG4gIC5zZWN0aW9uLmJhY2tfbGluayB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxuICBcclxuICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAuYmFja19saW5rIHtcclxuICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAuY29udGVudC1jb3B5IHtcclxuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtLW1heCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgfSAgICBcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgbWF4LXdpZHRoOjEwMHZ3ICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICY6bGFzdC1jaGlsZCB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbiAgICAgIH1cclxuICB9ICBcclxuICAucHJldmlvdXNfbGluayB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206MCAhaW1wb3J0YW50O1xyXG4gICAgICAudHdvLWNvbHVtbiB7XHJcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTowICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICB9ICBcclxufVxyXG5cclxuLy8gaWYgZmlyc3Qgc2VjdGlvbiBkaXJlY3RseSBhYm92ZSB0aGUgZm90dGVyXHJcbi5zZWN0aW9uLW5leHQtcG9zdCArIC5mZWF0dXJlZF9zZWN0aW9uLmJnLWxpZ2h0LWJsdWUge1xyXG4gIC8vIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtbGlnaHQ7XHJcbiAgLy8gQGluY2x1ZGUgcm91Z2gtZWRnZSgkYy1ibHVlLWxpZ2h0KTtcclxuICAvLyBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4vLyBpZiBsYXN0IHNlY3Rpb24gZGlyZWN0bHkgYWJvdmUgZm9vdGVyXHJcblxyXG5cclxuXHJcblxyXG4uY29udGVudF9zZWN0aW9uLmJnLWxpZ2h0LWJsdWU6bm90KDpmaXJzdC1vZi10eXBlKSxcclxuLmNvbnRlbnRfc2VjdGlvbi5iZy1saWdodC1ibHVlOm5vdCg6bGFzdC1vZi10eXBlKSB7XHJcbiAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1saWdodDtcclxuICAvLyBAaW5jbHVkZSByb3VnaC1lZGdlKCRjLWJsdWUtbGlnaHQsIGJvdGgpO1xyXG4gIC8vIG1hcmdpbi1ib3R0b206IDEuNnJlbTtcclxufVxyXG5cclxuLy8gLmNvbnRlbnRfc2VjdGlvbi5iZy1saWdodC1ibHVlOmxhc3Qtb2YtdHlwZSB7XHJcbi8vIFx0YmFja2dyb3VuZC1jb2xvcjogJGMtYmx1ZS1saWdodDtcclxuLy8gXHRAaW5jbHVkZSByb3VnaC1lZGdlKCRjLWJsdWUtbGlnaHQsIHRvcCk7XHJcbi8vIFx0bWFyZ2luLWJvdHRvbTogMS42cmVtO1xyXG4vLyB9XHJcblxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gR1JJRCBWSUVXIC8gTElTVCBWSUVXIHRvZ2dsZSAvL1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG5cclxuLmNoYW5nZS12aWV3IHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICB3aWR0aDogN3JlbTtcclxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmctbGVmdDogMS41cmVtO1xyXG4gIG1hcmdpbi1yaWdodDogMXJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIH1cclxuXHJcbiAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDA7XHJcbiAgICAgIHRvcDogNXB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pY29uLWdyaWQtdmlldy1ibHVlLnN2ZycpO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICBoZWlnaHQ6IDE1cHg7XHJcbiAgfVxyXG59XHJcblxyXG4uY2hhbmdlLXZpZXcuZXZlbnQtY2hhbmdlLXZpZXcge1xyXG4gICY6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29ucy9pY29uLWxpc3Qtdmlldy1ibHVlLnN2ZycpO1xyXG4gICAgICB3aWR0aDogMTdweDtcclxuICAgICAgaGVpZ2h0OiAxN3B4O1xyXG4gIH1cclxufVxyXG5cclxuLndjX3BheW1lbnRfbWV0aG9kcy5wYXltZW50X21ldGhvZHMgbGkge1xyXG4gIGNsZWFyOiBib3RoO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjLWJsdWUtZGFyaztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWxpZ2h0O1xyXG4gIHBhZGRpbmc6IDRweDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcblxyXG4gICYuc2VsZWN0ZWQge1xyXG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAkYy1ibHVlO1xyXG4gIH1cclxufVxyXG5cclxuZGl2LnBheW1lbnRfYm94IHtcclxuICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5kaXYucGF5bWVudF9tZXRob2RfcGF5cGFsX3Byb19wYXlmbG93IGxhYmVsIHtcclxuICBsZWZ0OiAtMzBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udHJpYmUtZXZlbnRzLXRvb2x0aXAgLnRyaWJlLWV2ZW50cy1ldmVudC1ib2R5IHtcclxuICBwYWRkaW5nOiAzcHggNnB4IDZweDtcclxufVxyXG5cclxuLnRyaWJlLWNvdW50cnktbmFtZSB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRtZWRpYS13aWR0aC1kZXNrdG9wKSB7XHJcbiAgZGl2LnBheW1lbnRfbWV0aG9kX3BheXBhbF9wcm9fcGF5ZmxvdyB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IC0zMHB4O1xyXG4gIH1cclxuXHJcbiAgZGl2LnBheW1lbnRfbWV0aG9kX3BheXBhbCB7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbW9iaWxlKSB7XHJcbiAgZGl2LnBheW1lbnRfbWV0aG9kX3BheXBhbF9wcm9fcGF5ZmxvdyB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IC0zMHB4O1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi53b29jb21tZXJjZS1tZXNzYWdlIHtcclxuICBjdXJzb3I6IHBvaW50ZXIgIWltcG9ydGFudDtcclxufVxyXG5cclxuLndjLWJsb2NrLWdyaWRfX3Byb2R1Y3QtYWRkLXRvLWNhcnQge1xyXG4gIG1hcmdpbjogMDtcclxuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XHJcbiAgbWF4LWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG5cclxuICBhIHtcclxuICAgICAgd29yZC1icmVhazogYnJlYWstd29yZDtcclxuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgJi5sb2FkaW5nIHtcclxuICAgICAgICAgIG9wYWNpdHk6IDAuMjU7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjYxOGVtO1xyXG4gICAgICAgICAgbWF4LWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICBmb250LWZhbWlseTogV29vQ29tbWVyY2U7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cclxuICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTAxY1wiO1xyXG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgdG9wOiAwLjYxOGVtO1xyXG4gICAgICAgICAgICAgIHJpZ2h0OiAxZW07XHJcbiAgICAgICAgICAgICAgYW5pbWF0aW9uOiBzcGluIDJzIGxpbmVhciBpbmZpbml0ZTtcclxuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAzMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYuYWRkZWQ6OmFmdGVyIHtcclxuICAgICAgICAgIGZvbnQtZmFtaWx5OiBXb29Db21tZXJjZTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xyXG4gICAgICAgICAgY29udGVudDogXCJcXGUwMTdcIjtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjUzZW07XHJcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG4gICAgICAgICAgbWF4LWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICAuYWRkZWRfdG9fY2FydCB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgbWF4LWhlaWdodDogMzBweCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLmFkZC1vcmRlciB7XHJcbiAgei1pbmRleDozMDA7XHJcbn1cclxuXHJcbi5hZGQtb3JkZXItaGVhZGVyIHtcclxuICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgLy8gbWF4LXdpZHRoOiA4NSU7XHJcbiAgdG9wOiA0cHg7XHJcbiAgcGFkZGluZy1sZWZ0OjZweDtcclxuICBjb2xvcjojZmZmZmZmO1xyXG5cclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWF4LXdpZHRoOiBpbmhlcml0O1xyXG5cclxuICBAaW5jbHVkZSBicChtZWRpdW0tbWF4KSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgbWF4LXdpZHRoOiBpbmhlcml0O1xyXG5cclxuICAgICAgLmg0IHtcclxuICAgICAgICAgIG1heC1oZWlnaHQ6NTBweDtcclxuICAgICAgICAgIHRleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7XHJcbiAgICAgICAgICBvdmVyZmxvdzpoaWRkZW47XHJcbiAgICAgICAgICBtYXgtd2lkdGg6OTUlO1xyXG4gICAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYWRkLW9yZGVyLXdoc2Uge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDRweDtcclxuICBjb2xvcjogI2ZmZmZmZjtcclxuICByaWdodDogM3JlbTtcclxuICBwYWRkaW5nLXJpZ2h0OjVweDtcclxuXHJcbiAgc3BhbjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6NXB4O1xyXG4gIH1cclxufVxyXG5cclxuLmFkZC1vcmRlci1jb250ZW50IHtcclxuICAvLyBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgLy8gbWFyZ2luLWJvdHRvbTogLTIwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcclxuXHJcbiAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG4gICAgICBkaXNwbGF5OmZsZXg7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLm9yZGVyLWluZm8ge1xyXG4gIEBpbmNsdWRlIGJwKG1lZGl1bS1tYXgpIHtcclxuICAgICAgbWFyZ2luLXRvcDogMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbW9iaWxlKSB7XHJcbiAgLm9yZGVyLWluZm8ge1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMjBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogLTIwcHg7XHJcbiAgfVxyXG5cclxuICAub3JkZXItc3VibWl0IHtcclxuICAgICAgbWFyZ2luLXRvcDotMTBweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbToxNXB4O1xyXG4gIH1cclxuXHJcbiAgLmFkZC1vcmRlci1oZWFkZXIge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcclxuXHJcbiAgICAgIC5oNCB7XHJcbiAgICAgICAgICBtYXgtaGVpZ2h0OjUwcHg7XHJcbiAgICAgICAgICB0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO1xyXG4gICAgICAgICAgb3ZlcmZsb3c6aGlkZGVuO1xyXG4gICAgICAgICAgbWF4LXdpZHRoOjk1JTtcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnByb2R1Y3RzLXBhbmVsIHtcclxuICBwb3NpdGlvbjpyZWxhdGl2ZTtcclxufVxyXG5cclxuLmFkZC1vcmRlci1vdmVybGF5IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNjUpO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgei1pbmRleDogMTAgIWltcG9ydGFudDtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4ub2ZmZXJpbmcgLmNoZWNrb3V0IHtcclxuICB6LWluZGV4OjIwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tb2JpbGUpIHtcclxuICAub2ZmZXJpbmcgLmNoZWNrb3V0IHtcclxuICAgICAgei1pbmRleDogMTM2ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLW51bWJlciB7XHJcbiAgICAgIHdpZHRoOjk4JTtcclxuICAgICAgbWF4LXdpZHRoOjk4JTtcclxuICB9XHJcbn1cclxuXHJcbi5vZmZlcmluZy1maWx0ZXIge1xyXG4gIGZvbnQtc2l6ZTouOTBlbSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud2MtY3JlZGl0LWNhcmQtZm9ybS1jYXJkLW51bWJlciB7XHJcbiAgd2lkdGg6NDc1cHg7XHJcbiAgbWF4LXdpZHRoOjQ3NXB4O1xyXG59XHJcblxyXG4uc3RpY2t5LWJ1dHRvbi1jb250YWluZXIge1xyXG4gIGJhY2tncm91bmQ6I2ZmZmZmZiAhaW1wb3J0YW50O1xyXG4gIHBvc2l0aW9uOnN0aWNreSAhaW1wb3J0YW50O1xyXG4gIHBvc2l0aW9uOi13ZWJraXQtc3RpY2t5ICFpbXBvcnRhbnQ7XHJcbiAgdG9wOjBweCAhaW1wb3J0YW50O1xyXG4gIHotaW5kZXg6OTkgIWltcG9ydGFudDtcclxuICBtYXJnaW4tYm90dG9tOjE0cHg7XHJcbn1cclxuXHJcbi5zdGlja3ktYnV0dG9uLWNvbnRhaW5lci1hZG1pbiB7XHJcbiAgYmFja2dyb3VuZDojZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgcG9zaXRpb246c3RpY2t5ICFpbXBvcnRhbnQ7XHJcbiAgcG9zaXRpb246LXdlYmtpdC1zdGlja3kgIWltcG9ydGFudDtcclxuICB6LWluZGV4Ojk5ICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLWJvdHRvbToxNHB4O1xyXG59XHJcblxyXG4ud29vY29tbWVyY2UtZXJyb3IgLndjLWZvcndhcmQge1xyXG4gIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jc2VydmVyLWlkIHtcclxuICB0ZXh0LWFsaWduOmNlbnRlcjsgXHJcbiAgb3BhY2l0eTouOTU7IFxyXG4gIHotaW5kZXg6OTk5OTk5OTsgXHJcbiAgcGFkZGluZzozcHg7IFxyXG4gIGZvbnQtc2l6ZTowLjdlbTsgXHJcbiAgYm9yZGVyLXJhZGl1czoycHg7IFxyXG4gIHBvc2l0aW9uOmZpeGVkOyBcclxuICBsZWZ0OjE3JTsgXHJcbiAgdG9wOjJweDsgXHJcbiAgYm9yZGVyOjJweCBzb2xpZCBkYXJrZ29sZGVucm9kOyBcclxuICBiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0eWVsbG93OyBcclxuICBmb250LXdlaWdodDpib2xkOyBcclxuICBib3gtc2hhZG93OjNweCAzcHggNHB4IHJnYmEoMTAwLDEwMCwxMDAsLjM1KTtcclxufVxyXG5cclxuXHJcbi8qIEJyZXdpbmcgTG9hZGVyICovXHJcbi5nZi1jYXB0Y2hhIGxhYmVsIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5cclxuLyogc3Bpbm5pbmcgb24gY2hlY2tvdXQgKi9cclxuLmNoZWNrb3V0Lndvb2NvbW1lcmNlLWNoZWNrb3V0IC53b29jb21tZXJjZS1Ob3RpY2VHcm91cCB7XHJcbnotaW5kZXg6IDEwMDAgIWltcG9ydGFudDtcclxufVxyXG4uY2hlY2tvdXQud29vY29tbWVyY2UtY2hlY2tvdXQucHJvY2Vzc2luZyAud29vY29tbWVyY2UtTm90aWNlR3JvdXAge1xyXG4vKlxyXG5iYWNrZ3JvdW5kLWltYWdlOnVybCgnaHR0cHM6Ly9yb3lhbG55LWNkbi5zMy5hbWF6b25hd3MuY29tL2Fzc2V0cy9pbWFnZXMvMTQzLnBuZycpICFpbXBvcnRhbnQ7Ki9cclxud2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XHJcbmhlaWdodDogMTAwdmggIWltcG9ydGFudDtcclxuZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxucG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XHJcbnRvcDogMCAhaW1wb3J0YW50O1xyXG5sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbmJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCAhaW1wb3J0YW50O1xyXG5iYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciAhaW1wb3J0YW50O1xyXG59XHJcbi5jaGVja291dC53b29jb21tZXJjZS1jaGVja291dC5wcm9jZXNzaW5nIC53b29jb21tZXJjZS1Ob3RpY2VHcm91cCB1bCB7XHJcbmRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG4vKiBzcGlubmluZyBvbiBjaGVja291dCAqL1xyXG5cclxuLmJsb2NrVUkuYmxvY2tPdmVybGF5IHtcclxuLypcclxuYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2h0dHBzOi8vcm95YWxueS1jZG4uczMuYW1hem9uYXdzLmNvbS9hc3NldHMvaW1hZ2VzLzE0My5wbmcnKSAhaW1wb3J0YW50OyovXHJcbiAgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XHJcbmhlaWdodDogMTAwdmggIWltcG9ydGFudDtcclxuZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxucG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XHJcbnRvcDogMCAhaW1wb3J0YW50O1xyXG5sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbmJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdCAhaW1wb3J0YW50O1xyXG5iYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuLndvb2NvbW1lcmNlIC5ibG9ja1VJLmJsb2NrT3ZlcmxheSB7XHJcbiAgb3BhY2l0eToxICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNzUpICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIC53b29jb21tZXJjZSAuYmxvY2tVSS5ibG9ja092ZXJsYXk6YmVmb3JlLFxyXG4vLyAud29vY29tbWVyY2UgLmxvYWRlcjpiZWZvcmUge1xyXG4vLyAgIGhlaWdodDogMjIwcHggIWltcG9ydGFudDtcclxuLy8gICB3aWR0aDogMjQwcHggIWltcG9ydGFudDtcclxuLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbi8vICAgdG9wOmNhbGMoNTAlIC0gMTEwcHgpOyAgICAgICAgXHJcbi8vICAgbGVmdDpjYWxjKDUwJSAtIDEyMHB4KTtcclxuLy8gICBkaXNwbGF5OiBibG9jaztcclxuLy8gICBjb250ZW50OiBcIkJyZXdpbmcsIFBsZWFzZSBXYWl0Li4uXCI7XHJcbi8vICAgLXdlYmtpdC1hbmltYXRpb246IG5vbmU7XHJcbi8vICAgLW1vei1hbmltYXRpb246IG5vbmU7XHJcbi8vICAgYW5pbWF0aW9uOiBub25lO1xyXG4vLyAgIGJhY2tncm91bmQtaW1hZ2U6dXJsKCcvd3AtY29udGVudC90aGVtZXMvcm95YWwtbnkvaW1nL3JueV80MDRwZ19jb2ZmZWUuZ2lmJykgIWltcG9ydGFudDtcclxuLy8gICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4vLyAgIGJhY2tncm91bmQtc2l6ZTpjb250YWluO1xyXG4vLyAgIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcclxuLy8gICBsaW5lLWhlaWdodDogMTtcclxuLy8gICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbi8vICAgZm9udC1zaXplOiAxLjI1ZW07XHJcbi8vICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuLy8gICBvcGFjaXR5OjEgIWltcG9ydGFudDtcclxuLy8gICBjb2xvcjojMzQ0ZTZiO1xyXG4vLyAgIHRleHQtc2hhZG93OnJnYmEoMCwwLDAsLjI1KTtcclxuLy8gfVxyXG5cclxuXHJcbi5zaG9ydF9jb2Rle1xyXG5wYWRkaW5nLXRvcDowcHg7XHJcbnBhZGRpbmctYm90dG9tOjBweDtcclxufVxyXG5cclxuLmV3ZC11ZmFxLWZhcXMge1xyXG5tYXgtd2lkdGg6MTAwMHB4O1xyXG5tYXJnaW46YXV0bztcclxufVxyXG4udWZhcS1mYXEtY2F0ZWdvcnktaW5uZXJ7XHJcbm1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi51ZmFxLWZhcS1jYXRlZ29yeS10aXRsZSBoNCB7XHJcbmNvbG9yOiAjZmZmO1xyXG5wYWRkaW5nOjAuNXJlbTtcclxuZm9udC1zaXplOjEuNHJlbTtcclxuYmFja2dyb3VuZC1jb2xvcjogIzkwOTY5ZjtcclxufVxyXG5cclxuLnVmYXEtZmFxLXRvZ2dsZSB7XHJcbmZvbnQtc2l6ZTogMS4ycmVtO1xyXG5ib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZWFlYjtcclxuY29sb3I6ICNmZmY7XHJcbnBhZGRpbmc6LjVyZW07XHJcbmJhY2tncm91bmQtY29sb3I6ICNlOGVhZWI7XHJcbn1cclxuLnVmYXEtZmFxLWJvZHkge1xyXG5iYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG59XHJcblxyXG4uY29mZmVlLW9yaWdpbnMgdGQge1xyXG5ib3JkZXItYm90dG9tOiAxcHggc29saWQgI0RDRENEQztcclxucGFkZGluZzo0cHg7XHJcbn1cclxuLmNvZmZlZS1vcmlnaW5zIHRkOmZpcnN0LWNoaWxkIHtcclxud2lkdGg6MzAlO1xyXG50ZXh0LWFsaWduOnJpZ2h0O1xyXG5ib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjRENEQ0RDO1xyXG5iYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xyXG59XHJcbi5jb2ZmZWUtb3JpZ2lucyB0ZDpmaXJzdC1jaGlsZDo6YWZ0ZXIge1xyXG5jb250ZW50IDogJzonO1xyXG59XHJcblxyXG4uY29mZmVlLW9yaWdpbnMgdHI6bGFzdC1jaGlsZCB0ZCB7XHJcbmJvcmRlci1ib3R0b206IDBweCBzb2xpZCAjRENEQ0RDO1xyXG59XHJcblxyXG4uY29mZmVlLW9yaWdpbnMgdGZvb3QgdGQge1xyXG5mb250LXdlaWdodDpib2xkO1xyXG5wYWRkaW5nLXRvcDoyMHB4O1xyXG5iYWNrZ3JvdW5kLWNvbG9yOmluaGVyaXQgIWltcG9ydGFudDtcclxuYm9yZGVyLXJpZ2h0LXdpZHRoOiAwcHggIWltcG9ydGFudDtcclxufVxyXG4uY29mZmVlLW9yaWdpbnMgdGZvb3QgdGQ6OmFmdGVyIHtcclxuY29udGVudDogJycgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNvZmZlZS1yb2FzdC1wcm9maWxlLWNvbnRhaW5lciB7XHJcbnRleHQtYWxpZ246Y2VudGVyO1xyXG59XHJcblxyXG4uY29mZmVlLXJvYXN0LXByb2ZpbGUge1xyXG5ib3JkZXI6IDFweCBzb2xpZCAjMGExYzJjO1xyXG5ib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7XHJcbn1cclxuXHJcbi5jb2ZmZWUtcm9hc3QtcHJvZmlsZSB0ZCB7XHJcbmJvcmRlcjogMXB4IHNvbGlkICMwYTFjMmM7XHJcbmJvcmRlci1jb2xsYXBzZTpjb2xsYXBzZTtcclxucGFkZGluZzo4cHg7XHJcbn1cclxuXHJcbi5jb2ZmZWUtcm9hc3QtcHJvZmlsZSB0ZDpmaXJzdC1jaGlsZCB7XHJcbmNvbG9yOiNmZmZmZmY7XHJcbmJhY2tncm91bmQtY29sb3I6ICMwYTFjMmM7XHJcbmZvbnQtc2l6ZToxLjJyZW07XHJcbndpZHRoOjIwJTtcclxufVxyXG4uY29mZmVlLXJvYXN0LXByb2ZpbGUgdGZvb3QgdGQge1xyXG5wYWRkaW5nLXRvcDoyMHB4O1xyXG5jb2xvcjppbmhlcml0ICFpbXBvcnRhbnQ7XHJcbmJhY2tncm91bmQtY29sb3I6aW5oZXJpdCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY29mZmVlLXJvYXN0LWRpc2NsYWltZXIge1xyXG5tYXJnaW4tdG9wOjFyZW07XHJcbnBhZGRpbmc6OHB4O1xyXG5ib3JkZXI6IDFweCBzb2xpZCAjMGExYzJjO1xyXG50ZXh0LWFsaWduOmNlbnRlcjtcclxuZm9udC1zaXplOiAuOHJlbTtcclxufVxyXG5cclxuI2hlYWRlci1uYXYgLmhlYWRlci1lY2Etc2VjdGlvbiAudG9wLWxldmVsIGEge1xyXG4gIHdoaXRlLXNwYWNlOm5vd3JhcDtcclxufVxyXG5cclxuI3ZlcmlmeWluZy1pbnZlbnRvcnksICNwcm9jZXNzaW5nLXBheW1lbnQsICNzZW5kLXRvLXdhcmVob3VzZSB7XHJcbiAgd2lkdGg6MTAwJTtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOmNhbGMoNTAlICsgNjlweCk7ICAgICAgICBcclxuICBsZWZ0OjA7XHJcbiAgZm9udC1zaXplOjIzcHggIWltcG9ydGFudDtcclxuICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7O1xyXG4gIHotaW5kZXg6OTk5OTk7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGNvbG9yOiRjLWJsdWU7XHJcbn1cclxuXHJcbi5lbXB0eV9jYXJ0IHtcclxuICBmbG9hdDogcmlnaHQ7IFxyXG4gIG1hcmdpbi1yaWdodDogMTBweDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkge1xyXG4gICN2ZXJpZnlpbmctaW52ZW50b3J5LCAjcHJvY2Vzc2luZy1wYXltZW50LCAjc2VuZC10by13YXJlaG91c2Uge1xyXG4gICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDpjYWxjKDUwJSArIDY5cHgpOyAgICAgICAgXHJcbiAgICAgIGxlZnQ6MDtcclxuICAgICAgZm9udC1zaXplOjIzcHggIWltcG9ydGFudDtcclxuICAgICAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50OztcclxuICAgICAgei1pbmRleDo5OTk5OTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIH1cclxuXHJcbiAgLmVtcHR5X2NhcnQge1xyXG4gICAgICBmbG9hdDogbm9uZSBpICFpbXBvcnRhbnQ7IFxyXG4gICAgICBtYXJnaW4tdG9wOiAycHggIWltcG9ydGFudDsgXHJcbiAgICAgIG1hcmdpbi1ib3R0b206MnB4ICFpbXBvcnRhbnQ7IFxyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDBweCAgIWltcG9ydGFudDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDBweCAgIWltcG9ydGFudDtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICB3aWR0aDoxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuI3ZlcmlmeWluZy1pbnZlbnRvcnkuaGlkZGVuLW1zZywgI3Byb2Nlc3NpbmctcGF5bWVudC5oaWRkZW4tbXNnLCAjc2VuZC10by13YXJlaG91c2UuaGlkZGVuLW1zZyB7XHJcbiAgdHJhbnNpdGlvbjogYWxsIC41cztcclxuICBvcGFjaXR5OjAgIWltcG9ydGFudDtcclxuICBwYWRkaW5nLXRvcDozNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiN2ZXJpZnlpbmctaW52ZW50b3J5LnNob3ctbXNnLCAjcHJvY2Vzc2luZy1wYXltZW50LnNob3ctbXNnLCAjc2VuZC10by13YXJlaG91c2Uuc2hvdy1tc2cge1xyXG4gIHRyYW5zaXRpb246IGFsbCAuOXM7XHJcbiAgb3BhY2l0eToxO1xyXG4gIHBhZGRpbmctdG9wOjNweDtcclxufVxyXG5cclxuI3BhbGxldF9tZXNzYWdlIHtcclxuICBwYWRkaW5nOjI1cHg7IFxyXG4gIG1hcmdpbjoxcHg7IFxyXG4gIG1hcmdpbi10b3A6MTJweDsgXHJcbiAgYm9yZGVyOiAxcHggc29saWQgZ29sZGVucm9kOyBcclxuICBiYWNrZ3JvdW5kLWNvbG9yOmxpZ2h0eWVsbG93OyBcclxuICBmb250LXdlaWdodDpib2xkOyBcclxuICBjb2xvcjptYXJvb247IFxyXG4gIGZvbnQtc2l6ZToxLjM1ZW07IFxyXG4gIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gIGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHJcbiAgaW1nIHtcclxuICAgICAgaGVpZ2h0OjY1cHggIWltcG9ydGFudDtcclxuICAgICAgZmxvYXQ6bGVmdCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLndvb2NvbW1lcmNlLWVycm9yOjpiZWZvcmUsIC53b29jb21tZXJjZS1pbmZvOjpiZWZvcmUsIC53b29jb21tZXJjZS1tZXNzYWdlOjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6bm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud29vY29tbWVyY2UtbWVzc2FnZSBhLndjLWZvcndhcmQsXHJcbi53b29jb21tZXJjZS1lcnJvciBhLndjLWZvcndhcmQsXHJcbi53b29jb21tZXJjZS1pbmZvIGEud2MtZm9yd2FyZCB7XHJcbiAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi53bWMtY2FydC13cmFwcGVyIHtcclxuICB3aWR0aDo0MDBweCAhaW1wb3J0YW50O1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud21jLWNhcnQge1xyXG4gIHdpZHRoOjQwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi53bWMtY29udGVudCB7XHJcbiAgd2lkdGg6NDAwcHggIWltcG9ydGFudDtcclxuICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDtcclxuXHJcbiAgaDMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOnNpbHZlciAhaW1wb3J0YW50O1xyXG4gICAgICBib3JkZXItYm90dG9tOjNweCBzb2xpZCBncmF5ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOmRhcmtzbGF0ZWdyYXkgIWltcG9ydGFudDtcclxuICAgICAgZm9udC1zaXplOjE3cHggIWltcG9ydGFudDtcclxuICAgICAgcGFkZGluZzoxOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgIGhlaWdodDozNXB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4ud21jLXByb2R1Y3RzIHtcclxuICB3aWR0aDo0MDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud21jLWRldGFpbHMge1xyXG4gIHdpZHRoOjQwMHB4ICFpbXBvcnRhbnQ7XHJcbiAgXHJcbiAgcCB7XHJcbiAgICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgICBkaXNwbGF5OmlubGluZTtcclxuICAgICAgbWF4LXdpZHRoOjEwJTtcclxuICB9XHJcbn1cclxuXHJcbi53bWMtcHJvZHVjdC10aXRsZSB7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIG1heC13aWR0aDo5MCUgIWltcG9ydGFudDtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIGZvbnQtc2l6ZToxM3B4O1xyXG59XHJcblxyXG4ud21jLXByaWNlIHtcclxuICB3aWR0aDoxMCUgaW0gIWltcG9ydGFudDtcclxuICBmbG9hdDpyaWdodDtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBmb250LXdlaWdodDpib2xkO1xyXG4gIGZvbnQtc2l6ZToxNHB4O1xyXG59XHJcblxyXG4ud21jLXN1YnRvdGFsIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiRjLWJsdWUtZGFyayAhaW1wb3J0YW50O1xyXG4gIGNvbG9yOiNmZmZmZmYgIWltcG9ydGFudDtcclxuXHJcbiAgaDUge1xyXG4gICAgICBjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG59XHJcblxyXG4ud21jLWJvdHRvbS1idXR0b25zIHtcclxuXHJcbiAgOmZpcnN0LWNoaWxkIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjokYy1ibHVlICFpbXBvcnRhbnQ7XHJcbiAgICAgIGNvbG9yOiNmZmZmZmY7XHJcblxyXG4gICAgICBcclxuICB9XHJcbiAgOmZpcnN0LWNoaWxkOmhvdmVyIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjokYy1ibHVlLWRhcmsgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIDpsYXN0LWNoaWxkIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjokYy1ncmVlbiAhaW1wb3J0YW50O1xyXG4gICAgICBjb2xvcjojZmZmZmZmOyAgICAgICAgXHJcbiAgfSAgICBcclxuICA6bGFzdC1jaGlsZDpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JGMtZ3JlZW4tZGFyayAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi53bWMtcmVtb3ZlIHtcclxuICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLndtYy1pbWFnZSB7XHJcbiAgZGlzcGxheTpub25lO1xyXG59XHJcblxyXG4ud21jLWNvdW50IHtcclxuICBmb250LXNpemU6MTRweCAhaW1wb3J0YW50O1xyXG4gIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxufVxyXG5cclxuZmlnY2FwdGlvbiA6bnRoLWNoaWxkKDMpLCAuY3RhLWNhcHRpb24tdGV4dCB7XHJcbiAgbWluLWhlaWdodDo5MHB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuXHJcbiAgbWFyZ2luLXRvcDogMHB4O1xyXG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbmZpZ2NhcHRpb24gcCB7XHJcbiAgbGluZS1oZWlnaHQ6MSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5cclxuI3RpbWVyIHtcclxuICBwb3NpdGlvbjpmaXhlZDtcclxuICBsZWZ0OjIlO1xyXG4gIGJvdHRvbToxcHg7XHJcbiAgaGVpZ2h0Ojg1cHg7XHJcbiAgd2lkdGg6MTQ1cHg7XHJcbiAgdGV4dC1hbGlnbjpjZW50ZXI7XHJcbiAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7ICAgIFxyXG4gIGNvbG9yOiNmZmZmZmY7XHJcbiAgcGFkZGluZzoxMnB4O1xyXG4gIG1hcmdpbi1ib3R0b206MnB4O1xyXG4gIGRpc3BsYXk6bm9uZTtcclxufVxyXG5cclxuI3RpbWVyX3RleHQge1xyXG4gIGNvbG9yOiNmZmZmZmY7XHJcbiAgZm9udC1zaXplOjExcHg7XHJcbn1cclxuXHJcbiN0aW1lcl9taW51dGVzLCAjdGltZXJfc2Vjb25kcyB7XHJcbiAgZm9udC1zaXplOjI1cHg7XHJcbiAgd2lkdGg6MTAwJTtcclxuICB0ZXh0LWFsaWduOmNlbnRlcjtcclxuICBkaXNwbGF5OmJsb2NrO1xyXG59XHJcblxyXG4ub3Blbl9uZXdfdGFiIHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm9wZW5fbmV3X3RhYjpob3ZlciB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6JGMtZ3JlZW47XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tb2JpbGUpIHtcclxuICAub3Blbl9uZXdfdGFiIHtcclxuICAgICAgZGlzcGxheTpub25lO1xyXG4gIH1cclxufVxyXG5cclxuZmlnY2FwdGlvbiA6bnRoLWNoaWxkKDMpIHtcclxuICBtYXgtaGVpZ2h0OnVuc2V0O1xyXG4gIG1pbi1oZWlnaHQ6dW5zZXQ7XHJcbiAgaGVpZ2h0OnVuc2V0OyBcclxufVxyXG5cclxuLmNvbnRlbnRfc2VjdGlvbiB7XHJcbiAgLnJvdyB7XHJcbiAgICBkaXNwbGF5OmZsZXg7XHJcbiAgfVxyXG5cclxuICAuY29sLWxnLTYge1xyXG4gICAgLXdlYmtpdC1ib3gtZmxleDogMCAhaW1wb3J0YW50O1xyXG4gICAgLW1zLWZsZXg6IDAgMCA1MCUgIWltcG9ydGFudDtcclxuICAgIGZsZXg6IDAgMCA1MCUgIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1yaWdodDoyJSAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOjQ4JSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXdpZHRoLW1vYmlsZSkge1xyXG4gICAgLmNvbC1sZy02IHtcclxuICAgICAgLXdlYmtpdC1ib3gtZmxleDogMCAhaW1wb3J0YW50O1xyXG4gICAgICAtbXMtZmxleDogMCAwIDUwJSAhaW1wb3J0YW50O1xyXG4gICAgICBmbGV4OiAwIDAgNTAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY3RhLWNhcmQge1xyXG4gIC5zaW5nbGUtaW1nLWNvbnRhaW5lciB7XHJcbiAgICBtYXJnaW4tYm90dG9tOi0xNjBweCAhaW1wb3J0YW50O1xyXG4gICAgbWF4LWhlaWdodDo0MDBweDtcclxuICB9XHJcblxyXG4gIC5zaW5nbGUtaW1nLWhlYWRsaW5lIHtcclxuICAgIGZvbnQtc2l6ZTozMHB4O1xyXG4gICAgdGV4dC1zaGFkb3c6IDNweCAzcHggNnB4IHJnYmEoMCwwLDAsLjMzKTtcclxuICAgIG1hcmdpbi10b3A6MjBweDtcclxuICAgIGNvbG9yOiNCNTkwMzg7XHJcbiAgfVxyXG5cclxuICAuc2luZ2xlLWltZy10ZXh0IHtcclxuICAgIGNvbG9yOndoaXRlICFpbXBvcnRhbnQ7IFxyXG4gICAgcGFkZGluZy1sZWZ0OjEycHggIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6cmdiYSgxMCwyOCw0NCwuNTMpO1xyXG4gICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICB6b29tOjE7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuYSB7XHJcbiAgLmxlYXJuX21vcmUge1xyXG4gICAgcG9zaXRpb246YWJzb2x1dGU7XHJcbiAgICBjb2xvcjojZmZmZmZmO1xyXG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgIG9wYWNpdHk6MDtcclxuICAgIHRyYW5zaXRpb246IC4zNXM7XHJcbiAgICBmb250LXNpemU6MTlweDtcclxuICAgIG1hcmdpbjphdXRvO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgbWFyZ2luLXRvcDoxOTBweDtcclxuICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDFweCByZ2JhKDAsMCwwLC4zMyk7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgbWluLXdpZHRoOjEwMCU7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIC5sZWFybl9tb3JlIHtcclxuICAgICAgb3BhY2l0eToxO1xyXG4gICAgICBjb2xvcjojQjU5MDM4O1xyXG4gICAgICB0cmFuc2l0aW9uOiAuNzVzO1xyXG4gICAgICBtYXJnaW4tdG9wOjIwMHB4O1xyXG4gICAgICB3aWR0aDoxMDAlO1xyXG4gICAgICB0ZXh0LXNoYWRvdzogM3B4IDNweCA2cHggcmdiYSgwLDAsMCwuMzMpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNob3Nlbi1yZXN1bHRzIHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgbGlzdC1zdHlsZTpub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgdWwge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6bm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBsaXN0LXN0eWxlOm5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY3RpdmUtcmVzdWx0IHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgbGlzdC1zdHlsZTpub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zaGltLTEge1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIHBhZGRpbmc6MHB4O1xyXG4gICAgbWFyZ2luOjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIGNsZWFyOmJvdGg7XHJcbiAgICBoZWlnaHQ6MXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6MXB4O1xyXG4gICAgbWF4LWhlaWdodDoxcHg7XHJcbn1cclxuXHJcbi5zaGltLTUge1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIHBhZGRpbmc6MHB4O1xyXG4gICAgbWFyZ2luOjBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIGNsZWFyOmJvdGg7XHJcbiAgICBoZWlnaHQ6NXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6NXB4O1xyXG4gICAgbWF4LWhlaWdodDo1cHg7XHJcbn1cclxuXHJcbi5zaGltLTEwIHtcclxuICAgIGRpc3BsYXk6YmxvY2s7XHJcbiAgICBwYWRkaW5nOjBweDtcclxuICAgIG1hcmdpbjowcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIHdpZHRoOjEwMCU7XHJcbiAgICBjbGVhcjpib3RoO1xyXG4gICAgaGVpZ2h0OjEwcHg7XHJcbiAgICBsaW5lLWhlaWdodDoxMHB4O1xyXG4gICAgbWF4LWhlaWdodDoxMHB4O1xyXG59XHJcblxyXG4uc2hpbS0xNSB7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgcGFkZGluZzowcHg7XHJcbiAgICBtYXJnaW46MHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgY2xlYXI6Ym90aDtcclxuICAgIGhlaWdodDoxNXB4O1xyXG4gICAgbGluZS1oZWlnaHQ6MTVweDtcclxuICAgIG1heC1oZWlnaHQ6MTVweDtcclxufVxyXG5cclxuLnF1aWNrLWZpbHRlci1pbm5lci5kLWZsZXguZGFzaF9uYXYuZGFzaF9uYXYyIHtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnVpLWFjY29yZGlvbi1oZWFkZXItaWNvbi51aS1pY29uLnVpLWljb24tY2lyY2xlLWFycm93LXMge1xyXG4gICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi51aS1hY2NvcmRpYW4tY29udGVudCwgLnVpLWFjY29yZGlvbi1oZWFkZXIsIC5mYXEtYW5zd2VyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1sZWZ0OjBweCB0cmFuc3BhcmVudCBub25lICFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItcmlnaHQ6MHB4IHRyYW5zcGFyZW50IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuaDEubWFpbi1oZWFkZXIge1xyXG4gICAgZm9udC1zaXplOiA0OHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiA1Ny42cHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuZm9vdGVyIGEge1xyXG4gICAgY29sb3I6I2ZmZmZmZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZm9vdGVyLWxpbmstd3JhcCB7IFxyXG4gICAgQGluY2x1ZGUgZmxleGJveDsgXHJcbiAgICB3aWR0aDpjYWxjKDEwMCUgLSAyNzBweCk7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGV4TGFyZ2UpIHtcclxuICAgICB3aWR0aDpjYWxjKDEwMCUgLSA4MHB4KTtcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XHJcbiAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDBweCk7IFxyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDBweCk7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLm1lbnUtZm9vdGVyLWNvbnRhaW5lciB7IFxyXG4gICAgICBAaW5jbHVkZSBmbGV4Ym94OyAgXHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB1bHsgXHJcbiAgICAgICAgbGl7XHJcbiAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAmOjpiZWZvcmV7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICYgPiB1bCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBzcGFjZS1ub25lO1xyXG4gICAgICAgICAgJiA+ICAgbGkge1xyXG4gICAgICAgICAgICBtYXJnaW46IDEycHggMCAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4OyBcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgIFxyXG4gICAgICAgICAgICBhOmhvdmVyeyBcclxuICAgICAgICAgICAgICBjb2xvcjogJHJueS1nb2xkO1xyXG4gICAgICAgICAgICB9IFxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgfSBcclxuICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmID4gdWwgeyBcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMDsgXHJcbiAgICAgICAgcGFkZGluZzogMDsgIFxyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgJiA+IGxpIHtcclxuICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4OyAgXHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleFNtYWxsKSB7XHJcbiAgICAgICAgICAgICB3aWR0aDogNTAlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYgPiBhe1xyXG4gICAgICAgICAgICBjb2xvcjogJHJueS1nb2xkO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYS5uYXYtbGluazpub3QoW2hyZWZdKSwgYS5uYXYtbGlua1tocmVmPScjJ10ge1xyXG4gICAgY29sb3I6ICRybnktZ29sZCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgaGVhZGVyLCBmb290ZXIge1xyXG4gICAgcGFkZGluZy1sZWZ0OiA5dncgICFpbXBvcnRhbnQ7IFxyXG4gICAgcGFkZGluZy1yaWdodDogOXZ3ICAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOjEwMHZ3ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleE1lZGl1bSkgeyBcclxuICAgIGhlYWRlciwgZm9vdGVyIHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJlbSAhaW1wb3J0YW50OyBcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyZW0gIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuICAuYnRuLmJ0bi13aGl0ZTpob3ZlciB7XHJcbiAgICBjb2xvcjogJGMteWVsbG93O1xyXG4gICAgdHJhbnNpdGlvbjogY29sb3IgLjc3cztcclxuICB9XHJcblxyXG4gIC5tZW51LWl0ZW0udGhpcmQtbGV2ZWwsIC5tZW51LWl0ZW0uc2Vjb25kLWxldmVsLCAubWVudS1pdGVtLm5hdi1pdGVtLmxpc3QtdW5zdHlsZWQge1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGRlciAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOi45NWVtICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuXHJcbiAgYXNpZGU6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIGFzaWRlIHtcclxuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgIC8qIElFIGFuZCBFZGdlICovXHJcbiAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7ICAvKiBGaXJlZm94ICovXHJcbn1cclxuXHJcbi5ibG9nIC5pbWFnZSBhIGltZyB7XHJcbiAgICBtYXgtaGVpZ2h0OjMzM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6NDk3cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLm9mZmVyaW5nLWl0ZW0taGVhZGVyICB7XHJcbiAgICB0b3A6MTA3cHg7XHJcbiAgICBib3JkZXItdG9wOjFweCBzb2xpZCB3aGl0ZTtcclxuICAgIHotaW5kZXg6ODtcclxuICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgcGFkZGluZzogOHB4IDI0cHg7XHJcbiAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJueS1ibHVlLWZvb3RlcjtcclxuICAgIGN1cnNvcjpwb2ludGVyO1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAgIDEwMDBweCkge1xyXG4gICAgLm9mZmVyaW5nLWl0ZW0taGVhZGVyICB7XHJcbiAgICAgICAgdG9wOjU2cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb3JtLWZvY3VzLWxpZ2h0KCRjb2xvcjogJGMtYmx1ZSkge1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGJvcmRlci1jb2xvcjogJGMtYmx1ZTtcclxuICBcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggMXB4IHJnYmEoNDgsNzksMTA4LDEpO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggcmdiYSg0OCw3OSwxMDgsMSk7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDBweCAxcHggcmdiYSg0OCw3OSwxMDgsMSk7XHJcbiAgXHJcbiAgfVxyXG4gIFxyXG4gIEBtaXhpbiBmb3JtLWZvY3VzLWRhcmsoJGNvbG9yOiAkd2hpdGUpIHtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIFxyXG4gIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCAwcHggNXB4IHJnYmEoOCwyOCw0NiwxKTtcclxuICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMHB4IDVweCByZ2JhKDgsMjgsNDYsMSk7XHJcbiAgYm94LXNoYWRvdzogMHB4IDBweCAwcHggNXB4IHJnYmEoOCwyOCw0NiwxKTtcclxuICBcclxuICB9XHJcblxyXG4uZm9ybV9zZWN0aW9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtbGlnaHQ7XHJcblxyXG4gICAgLmZ1bGwtd2lkdGgge1xyXG5cclxuICAgICAgICAuZ2Zvcm1fd3JhcHBlciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNDguMnJlbTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gICAgICAgICAgICBkaXYuZ2Zvcm1fYm9keSB7XHJcbiAgICAgICAgICAgICAgICB1bC5nZm9ybV9maWVsZHMge1xyXG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuZ2ZpZWxkX3JlcXVpcmVkIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1yZWQ7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGRpdi5naW5wdXRfY29udGFpbmVyIHtcclxuICAgICAgICAgICAgICAgIC8vIGlucHV0LFxyXG4gICAgICAgICAgICAgICAgdGV4dGFyZWEsXHJcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcclxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJ0ZWxcIl0ge1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNC4xcmVtO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYy1ncmF5LW1lZDtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMXJlbTtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMXJlbTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvcm0tZm9jdXMtbGlnaHQoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGV4dGFyZWEge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAycmVtO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlucHV0ID4gZGl2IHtcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4udGhyZWUtY29sdW1uIHtcclxuICAgIG1heC13aWR0aDogMzAlICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46IDElICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtaGVpZ2h0OiAzMTdweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5hOm5vdChbaHJlZl0pLCBhW2hyZWY9JyMnXSB7XHJcbiAgICBjdXJzb3I6ZGVmYXVsdCAhaW1wb3J0YW50O1xyXG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50OyAvKiBTYWZhcmkgKi9cclxuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50OyAvKiBJRSAxMCBhbmQgSUUgMTEgKi9cclxuICAgIHVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xyXG59XHJcblxyXG4uYnRuIHtcclxuICAgIG1pbi13aWR0aDo5NXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOjEycHggMjNweCAxMnB4IDIzcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmZpZ3VyZS1jYXJkLXdyYXAge1xyXG4gICAgXHJcbiAgICBmaWd1cmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgb3BhY2l0eTouNzU7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAuNzVzO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIG9wYWNpdHk6MTtcclxuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjc1cztcclxuICAgIH0gICAgXHJcbn1cclxuXHJcbmRpdi5jYXJkLmNhcmQtMyBhIHsgICAgXHJcbiAgICAudGV4dC1ob3ZlciB7XHJcbiAgICAgICAgei1pbmRleDo4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OiA4NSU7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIC43NXM7XHJcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XHJcbiAgICAgICAgei1pbmRleDogMTI7XHJcbiAgICAgICAgcGFkZGluZzogOCU7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OjEwJTsgXHJcbiAgICAgICAgcGFkZGluZy1yaWdodDoxMCU7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDI3JTtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogNTAlO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwuNTUpO1xyXG4gICAgfVxyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIC50ZXh0LWhvdmVyIHtcclxuICAgICAgICAgICAgei1pbmRleDoxMjtcclxuICAgICAgICAgICAgb3BhY2l0eToxO1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjc1cztcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4udGV4dC1ob3Zlcjpob3ZlciB7XHJcbiAgICB6LWluZGV4OjEyO1xyXG4gICAgb3BhY2l0eToxO1xyXG4gICAgZGlzcGxheTpibG9jaztcclxuICAgIHRyYW5zaXRpb246IGFsbCAuNTVzO1xyXG59XHJcblxyXG4ub2ZmZXJpbmctaXRlbS1ib2R5LXJpZ2h0IHtcclxuICAgIHdpZHRoOjIyMnB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6MTkuNTAlICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgLmFkZC10by1vcmRlci1wcm9kdWN0cy1idG4sIC5idG4ge1xyXG4gICAgICAgIGZvbnQtc2l6ZTouODllbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmctdG9wOjRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1heC13aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6MTAwJTtcclxuICAgICAgICBoZWlnaHQ6MzdweDtcclxuICAgICAgICBtYXJnaW46YXV0bztcclxuICAgIH1cclxufVxyXG5cclxuLm9mZmVyaW5nLWl0ZW0tYm9keS1yaWdodC1yZXNlcnZlIHtcclxuICAgIHdpZHRoOjI2MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtaW4td2lkdGg6MjYwcHggIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG5cclxuICAgIC5hZGQtdG8tb3JkZXItcHJvZHVjdHMtYnRuLCAuYnRuIHtcclxuICAgICAgICBmb250LXNpemU6Ljg5ZW0gIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLXRvcDo0cHggIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHdpZHRoOjEwMCU7XHJcbiAgICAgICAgaGVpZ2h0OjM3cHg7XHJcbiAgICAgICAgbWFyZ2luOmF1dG87XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kKG1heC13aWR0aDogIDEwMDBweCkge1xyXG4gICAgLm9mZmVyaW5nLWl0ZW0tYm9keS1yaWdodCB7XHJcbiAgICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1pbi13aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAub2ZmZXJpbmctaXRlbS1ib2R5LXJpZ2h0LXJlc2VydmUge1xyXG4gICAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBtaW4td2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIG1heC13aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mcmFjIHtcclxuICAgIC5vZmZlcmluZy1pdGVtLWJvZHkge1xyXG4gICAgICAgIHBhZGRpbmc6MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLm9mZmVyLWRldGFpbCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTouOTllbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ub2ZmZXItZGV0YWlsIHtcclxuICAgIC5vZmZlci1pdGVtLWJvZHktbGVmdCB7XHJcbiAgICAgICAgcGFkZGluZzoxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4ub2ZmZXJpbmctaXRlbS1mb290ZXIge1xyXG4gICAgLnNsLXdyYXAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTouODllbSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHJkLWdyb3VwbmFtZSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIzcHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwcHg7XHJcbn1cclxuXHJcbi5vZmZlcmluZy1pdGVtLWhlYWRlci10aXRsZSwgLnJlc2VydmVzLWl0ZW1zIC5vZmZlcmluZy10aXRsZSB7XHJcbiAgICAuaWNvbi1yb3lhbC1SaWdodCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgZm9udC1zaXplOjEuNjVlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0Oi44ZW07XHJcbiAgICAgICAgdHJhbnNpdGlvbjogLjc3cztcclxuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6M3B4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0Oi0xN3B4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xyXG4gICAgfVxyXG59XHJcblxyXG4ucmVzZXJ2ZXMtaXRlbXMgLm9mZmVyaW5nLXRpdGxlIHtcclxuICAgIC5pY29uLXJveWFsLVJpZ2h0IHtcclxuICAgICAgICBmb250LXdlaWdodDpib2xkO1xyXG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgICBmb250LXNpemU6MS4xNWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6MWVtO1xyXG4gICAgICAgIHRyYW5zaXRpb246IC43N3M7XHJcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0Oi03cHggIWltcG9ydGFudDtcclxuICAgICAgICBtYXJnaW4tbGVmdDotNTBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LWJvdHRvbTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbGxhcHNlZC1ncm91cCB7XHJcbiAgICAuaWNvbi1yb3lhbC1SaWdodCB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRyYW5zaXRpb246IC43N3M7XHJcbiAgICB9IFxyXG59XHJcblxyXG4udGVhLWl0ZW0tdGl0bGUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgIG1heC1oZWlnaHQ6IDMzcHggIWltcG9ydGFudDtcclxuICAgIG1pbi1oZWlnaHQ6IDMzcHggIWltcG9ydGFudDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtd2lkdGg6IDk4JTtcclxuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgIGZvbnQtc2l6ZToxLjJyZW0gIWltcG9ydGFudDtcclxuICAgICAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbn1cclxuXHJcbi5vZmZlcmluZy1pdGVtLWluZ3JlZGllbnQge1xyXG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMgIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogOTklO1xyXG4gICAgbWF4LWhlaWdodDogODBweDtcclxuICAgIG1pbi1oZWlnaHQ6IDgwcHg7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuOyAgXHJcbiAgICAvL21hcmdpbi1ib3R0b206OXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zZWFyY2gtY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDo5NXZ3ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbmgyIHtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnNlY3Rpb24uc2Vjb25kYXJ5LWltZy13aWRlIHtcclxuICAgIG1pbi1oZWlnaHQ6MzI1cHggIWltcG9ydGFudDtcclxufVxyXG5cclxuaW1nLmN0YS1pY29uIHtcclxuICAgIHdpZHRoOjE1cHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDp1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgbWluLXdpZHRoOnVuc2V0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5vZmZlcmluZy1pdGVtLWRldGFpbCB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxufVxyXG5cclxuXHJcbi5idG4tZGlzYWJsZWQsIC5idG5bZGlzYWJsZWQ9ZGlzYWJsZWRdIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IGRpbWdyYXkgIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuICAgIGNvbG9yOiBzaWx2ZXIgIWltcG9ydGFudDtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQgIWltcG9ydGFudDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGRpbWdyYXkgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogc2lsdmVyIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5cclxuLndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlciB7XHJcbiAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW46YXV0byAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICB6LWluZGV4OiA5OSAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOjBweCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzowcHggIWltcG9ydGFudDtcclxuICAgIGZsb2F0OmxlZnQ7XHJcbiAgICBjbGVhcjpub25lO1xyXG4gICAgdG9wOjBweCAhaW1wb3J0YW50O1xyXG5cclxuICAgIGRpdiB7XHJcbiAgICAgICAgbWF4LXdpZHRoOjMwdnc7XHJcbiAgICAgICAgZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwQTFDMkUgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZzozZW0gIWltcG9ydGFudDtcclxuICAgICAgICBtaW4taGVpZ2h0OnVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOmF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXI6bm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6NHB4IDRweCA3cHggcmdiYSgwLCAwLCAwLCAwLjI1KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICB0b3A6MzV2aCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxlZnQ6Y2FsYyg1MCUgLSAxNXZ3KSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHotaW5kZXg6MTAwO1xyXG5cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICAgIGhlaWdodDoyNXB4O1xyXG4gICAgICAgICAgICB3aWR0aDoyNXB4O1xyXG4gICAgICAgICAgICBjb250ZW50Oid4JztcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG4gICAgICAgICAgICBjb2xvcjp3aGl0ZTtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDowcHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6MHB4O1xyXG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcclxuICAgICAgICAgICAgei1pbmRleDogMTAxO1xyXG4gICAgICAgICAgICB0b3A6MDtcclxuICAgICAgICAgICAgcmlnaHQ6MDtcclxuICAgICAgICAgICAgY3Vyc29yOnBvaW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG46OnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiM4ODg4ODggIWltcG9ydGFudDtcclxuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxufVxyXG5cclxuLmdmaWVsZF9sYWJlbCB7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gICAgd2lkdGg6MTAwJTtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICBtYXJnaW4tdG9wOjEwcHggIWltcG9ydGFudDtcclxuICAgIG1hcmdpbi1ib3R0b206MXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDotM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6MS4xNWVtO1xyXG59XHJcblxyXG4uc2VsZWN0LWhpZGUge1xyXG4gICAgZGlzcGxheTpub25lO1xyXG59XHJcblxyXG4qW3JvbGU9XCJidXR0b25cIl0ge1xyXG4gICAgY3Vyc29yOnBvaW50ZXI7XHJcbn1cclxuXHJcbi8vIC5yZXNlcnZlLXF0eS13cmFwIHtcclxuLy8gICAgIHBvc2l0aW9uOmFic29sdXRlICFpbXBvcnRhbnQ7ICBcclxuLy8gICAgIG1hcmdpbi1sZWZ0Oi0xMjVweCAhaW1wb3J0YW50OyBcclxuLy8gICAgIG1hcmdpbi10b3A6OThweCAhaW1wb3J0YW50OyBcclxuLy8gICAgIG1heC13aWR0aDoxMjBweCAhaW1wb3J0YW50O1xyXG4vLyB9XHJcblxyXG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7XHJcbi8vICAgICAucmVzZXJ2ZS1xdHktd3JhcCB7XHJcbi8vICAgICAgICAgcG9zaXRpb246cmVsYXRpdmUgIWltcG9ydGFudDsgIFxyXG4vLyAgICAgICAgIG1hcmdpbi1sZWZ0OnVuc2V0ICFpbXBvcnRhbnQ7IFxyXG4vLyAgICAgICAgIG1hcmdpbi10b3A6dW5zZXQgIWltcG9ydGFudDsgXHJcbi8vICAgICAgICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbi8vICAgICAgICAgaGVpZ2h0OjU1cHggIWltcG9ydGFudDtcclxuLy8gICAgIH0gICAgXHJcbi8vIH1cclxuXHJcblxyXG4vLyBDSEVDS09VVCBTVFlMRVMgLSBQQVlNRU5UIFRZUEVTXHJcblxyXG5cclxuLm9yZGVyX2RldGFpbHMge1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGF5bWVudF9ib3gge1xyXG4gICAgcCB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTp1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ud2NfcGF5bWVudF9tZXRob2RzIHtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgIC53Y19wYXltZW50X21ldGhvZCB7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYm9yZGVyOjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIC8vYm9yZGVyLWJvdHRvbToycHggc29saWQgcmdiYSg4LCAyOCwgNDYsIDAuMTUzKSAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6NXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowcHggIWltcG9ydGFudDtcclxuICAgICAgICAvL3BhZGRpbmctYm90dG9tOjEwcHggIWltcG9ydGFudDtcclxuICAgICAgICAvL21hcmdpbi1ib3R0b206MTVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuMCkgIWltcG9ydGFudDtcclxuICAgICAgICAvL2JvcmRlci1yYWRpdXM6IDdweDtcclxuICAgICAgICAvL2JvcmRlcjoycHggc29saWQgI2NmY2ZjZjdjICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgIGxhYmVsIGRpdjpmaXJzdC1jaGlsZCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ud29vY29tbWVyY2UtY2hlY2tvdXQgI3BheW1lbnQgdWwucGF5bWVudF9tZXRob2RzOjphZnRlciwgLndvb2NvbW1lcmNlLWNoZWNrb3V0ICNwYXltZW50IHVsLnBheW1lbnRfbWV0aG9kczo6YmVmb3JlIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLndjX3BheW1lbnRfbWV0aG9kIHtcclxuICAgIGlucHV0IHtcclxuICAgICAgICBkaXNwbGF5OiB1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5cclxuXHJcbi53b29jb21tZXJjZS10ZXJtcy1hbmQtY29uZGl0aW9ucy13cmFwcGVyIHtcclxuICAgIC53b29jb21tZXJjZS1wcml2YWN5LXBvbGljeS10ZXh0IHtcclxuICAgICAgICBtaW4taGVpZ2h0OiA1cmVtO1xyXG4gICAgICAgIGhlaWdodDogNnJlbTtcclxuICAgIH1cclxuXHJcbiAgICAudmFsaWRhdGUtcmVxdWlyZWQge1xyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcclxuICAgICAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5zZXQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41cmVtO1xyXG5cclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IC0xcmVtO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC53b29jb21tZXJjZS12YWxpZGF0ZWQge1xyXG4gICAgICAgIGxhYmVsOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlLWRhcms7XHJcbiAgICAgICAgICAgIGxlZnQ6IC0xcmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1wcmltYXJ5IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWdyZWVuO1xyXG4gICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAmOmFjdGl2ZSxcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcigkYy1ncmVlbik7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vLyB0aGFuayB5b3UgLy8gb3JkZXIgcmVjZWl2ZWQgKG9yIG5vdC4uLilcclxuLndvb2NvbW1lcmNlLW9yZGVyIHtcclxuICAgIG1heC13aWR0aDp1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luOnVuc2V0ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgLndvb2NvbW1lcmNlLW5vdGljZSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC53b29jb21tZXJjZS1vcmRlci1vdmVydmlldyB7XHJcbiAgICAgICAgcGFkZGluZzogMnJlbTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ncmF5LWxpZ2h0O1xyXG5cclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGxpLm9yZGVyIHtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMge1xyXG4gICAgICAgIC5vcmRlcl9kZXRhaWxzIHtcclxuICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGZvb3Qge1xyXG4gICAgICAgICAgICB0cjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtZ3JheS1saWdodDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYWRkcmVzcyB7XHJcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaGlwcGluZywgLnBheW1lbnRNZXRob2QsIC5wYXltZW50X21ldGhvZHMge1xyXG4gICAgaDUge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBtYXJnaW46IDQwcHggMCAyNHB4O1xyXG4gICAgfVxyXG4gICAgLmludmFsaWQtZmVlZGJhY2sge1xyXG4gICAgICAgIGNvbG9yOiByZWQ7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIH1cclxuICAgIC5mb3JtLWNoZWNrIGxhYmVsOjpiZWZvcmUsXHJcbiAgICAuZm9ybS1jaGVjayBsYWJlbDo6YWZ0ZXIge1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgLmZvcm0tY2hlY2sgaW5wdXRbdHlwZT1yYWRpb10uaXMtY2hlY2tlZCtsYWJlbDo6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvaWNvbnMvcm95YWwtY2hlY2tlZC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgIzBBMUQyRSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2hpcE1ldGhvZCBmaWVsZHNldCB7XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkICMwMDc3QjUwNTtcclxuICAgIHBhZGRpbmc6OHB4O1xyXG59XHJcblxyXG4uaXMtY2hlY2tlZCtsYWJlbDo6YWZ0ZXIge1xyXG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9pY29ucy9yb3lhbC1jaGVja2VkLnN2Zykgbm8tcmVwZWF0IGNlbnRlciAjMEExRDJFICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5mb3JtLWNoZWNrIHtcclxuICAgIGxhYmVsIHtcclxuICAgICAgICBkaXY6bnRoLWNoaWxkKDEpIHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDotOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuc3Ytd2MtcGF5bWVudC1nYXRld2F5LWNhcmQtaWNvbnMge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHggIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjE1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIHNpbHZlcjtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6M3B4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5kaXYucGF5bWVudF9ib3ggcDo6YmVmb3JlLCBkaXYucGF5bWVudF9ib3g6OmJlZm9yZSB7XHJcbiAgICBkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnBheW1lbnRfYm94IHtcclxuICAgIC5pbnB1dC10ZXh0LCAud29vY29tbWVyY2Utc2VsZWN0IHtcclxuICAgICAgICBmb250LXNpemU6MTRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc3NzcgIWltcG9ydGFudDtcclxuICAgICAgICBmb250LWZhbWlseTogJ0V1cm9wYScgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnRyaWJlLWNoZWNrb3V0LWJhY2tsaW5rcyB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uY2FyZC1pbWFnZXMge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgbWFyZ2luLXRvcDotMTBweDtcclxufVxyXG5cclxuLnBheW1lbnRfbWV0aG9kX3BheXBhbCB7XHJcbiAgICAuYWJvdXRfcGF5cGFsIHtcclxuICAgICAgICBsaW5lLWhlaWdodDogNTJweDtcclxuICAgICAgICBmb250LXNpemU6IDAuODNlbTtcclxuICAgIH1cclxuXHJcbiAgICBpbWcge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUycHg7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgICAgICAgIFxyXG4gICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAuY2FyZC1pbWFnZXMge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL3JveWFsLW55L2ltZy9pY29ucy9wYXlwYWwtY3JlZGl0LWNhcmRzLnBuZycpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwcHggMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgd2lkdGg6MTk4cHggIWltcG9ydGFudDtcclxuICAgICAgICBoZWlnaHQ6NjRweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgY2xlYXI6Ym90aCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucGF5bWVudF9tZXRob2RfcGF5cGFsX3Byb19wYXlmbG93IHtcclxuICAgIGltZyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNTJweDtcclxuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLmNhcmQtaW1hZ2VzIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9yb3lhbC1ueS9pbWcvaWNvbnMvY3JlZGl0LWNhcmRzLnBuZycpICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMHB4IDBweDtcclxuICAgICAgICB3aWR0aDoxOThweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGhlaWdodDo2NHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICBjbGVhcjpib3RoO1xyXG4gICAgfVxyXG59XHJcblxyXG4ud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHtcclxuICAgIGJvcmRlcjpub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgdGQsIHRoLCB0ciwgdGhlYWQsIHRib2R5LCB0Zm9vdCB7XHJcbiAgICAgICAgYm9yZGVyOm5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTE2MHB4KSB7XHJcbiAgICAud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOjEwcHggIWltcG9ydGFudDtcclxuICAgICAgICBtaW4td2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNsZWFyOmJvdGggIWltcG9ydGFudDtcclxuICAgICAgICBib3JkZXI6bm9uZSAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICB0ZCwgdGgsIHRyLCB0aGVhZCwgdGJvZHksIHRmb290IHtcclxuICAgICAgICAgICAgYm9yZGVyOm5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLndvb2NvbW1lcmNlLWNoZWNrb3V0LXBheW1lbnQge1xyXG4gICAgICAgIG1pbi13aWR0aDo5OSUgIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtd2lkdGg6OTklICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luLXRvcDowcHggIWltcG9ydGFudDtcclxuICAgICAgICBjbGVhcjpib3RoICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgLnBheW1lbnQtd3JhcHBlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZDp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uZm9ybS1jaGVjayBpbnB1dDpjaGVja2VkK2xhYmVsOjphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2ljb25zL3JveWFsLWNoZWNrZWQuc3ZnKSBuby1yZXBlYXQgY2VudGVyICMwQTFEMkUgIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuNTVzO1xyXG59XHJcblxyXG4uZm9ybS1jaGVjay1pbnB1dDpjaGVja2VkK2xhYmVsOjphZnRlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2ljb25zL3JveWFsLWNoZWNrZWQuc3ZnKSBuby1yZXBlYXQgY2VudGVyICMwQTFEMkUgIWltcG9ydGFudDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAuNTVzO1xyXG59XHJcblxyXG4vLyAud29vY29tbWVyY2UgLmJsb2NrVUkuYmxvY2tPdmVybGF5OjpiZWZvcmUge1xyXG4vLyAgICAgaGVpZ2h0OiAxZW07XHJcbi8vICAgICB3aWR0aDogMWVtO1xyXG4vLyAgICAgZGlzcGxheTogYmxvY2s7XHJcbi8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbi8vICAgICB0b3A6IDUwJTtcclxuLy8gICAgIGxlZnQ6IDUwJTtcclxuLy8gICAgIG1hcmdpbi1sZWZ0OiAtLjVlbTtcclxuLy8gICAgIG1hcmdpbi10b3A6IC0uNWVtO1xyXG4vLyAgICAgY29udGVudDogXCJcIjtcclxuLy8gICAgIGFuaW1hdGlvbjogc3BpbiAxcyBlYXNlLWluLW91dCBpbmZpbml0ZTtcclxuLy8gICAgIGJhY2tncm91bmQ6IHVybCguLi9pbWFnZXMvaWNvbnMvbG9hZGVyLnN2ZykgY2VudGVyIGNlbnRlciAhaW1wb3J0YW50O1xyXG4vLyAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuLy8gICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4vLyAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4vLyAgICAgZm9udC1zaXplOiAyZW07XHJcbi8vICAgICBjb2xvcjogcmdiYSgwLDAsMCwuNzUpO1xyXG4vLyB9XHJcblxyXG4ud29vY29tbWVyY2UgLmJsb2NrVUkuYmxvY2tPdmVybGF5OjpiZWZvcmUge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IDQ4cHg7XHJcbiAgICBoZWlnaHQ6IDQ4cHg7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XHJcbiAgICBib3JkZXI6IDQuNXB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcclxuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBhbmltYXRpb246IHNwaW5uZXItYm9yZGVyIC43NXMgbGluZWFyIGluZmluaXRlO1xyXG4gICBcclxuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc3Bpbm5lci1ib3JkZXIge1xyXG4gICAgdG8geyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbiAgfVxyXG5cclxuLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMge1xyXG4gICAgbWFyZ2luLXRvcDotMzBweDtcclxufVxyXG5cclxuLndvb2NvbW1lcmNlLW9yZGVyLW92ZXJ2aWV3IHtcclxuICAgIG1hcmdpbi10b3A6IC0zMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgbWFyZ2luLWJvdHRvbToyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tdG9wOjVweCFpbXBvcnRhbnQ7XHJcbiAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAjOTk5OTk5NjUgIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTk5OTkyMCAhaW1wb3J0YW50O1xyXG4gICAgXHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBhbGlnbi1jb250ZW50OiBzdHJldGNoO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDpjZW50ZXI7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIFxyXG4gICAgICAgIGxpIHtcclxuICAgICAgICAgICAgZGlzcGxheTpmbGV4O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgbGk6OmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgbGkgcC5sYWJlbCB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtc2l6ZToyLjE1ZW0gIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBsaSBwLnRleHQtYm9sZCB7XHJcbiAgICAgICAgZm9udC1zaXplOjEuNjVlbSAhaW1wb3J0YW50O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuZmxleC1yb290IHtcclxuICAgIGRpc3BsYXk6ZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbn1cclxuXHJcbiNwYXltZW50IHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5wYXltZW50LW1ldGhvZHMge1xyXG4gICAgbWluLXdpZHRoOiA0NyU7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jb2wtbGVmdCwgLmNvbC1yaWdodCB7XHJcbiAgICB0b3A6MjkwcHggIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiBzdGlja3kgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnRhYi1jb250ZW50IHtcclxuICAgIHBhZGRpbmc6NDBweCAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5wcm9kdWN0X2NhdF9oZWFkZXJfd3JhcHBlciB7XHJcbiAgICB0aCB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQgI2FmYWZhZiAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4jY3VzdG9tZXJfZGV0YWlscyB7XHJcbiAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgIG1pbi13aWR0aDo0NyU7XHJcbiAgICBmbG9hdDpsZWZ0O1xyXG4gICAgdG9wOjEyMHB4O1xyXG4gICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgIHBhZGRpbmctdG9wOjI0cHg7XHJcblxyXG4gICAgZGl2IHtcclxuICAgICAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgIH1cclxufVxyXG5cclxuI29yZGVyX3JldmlldyB7XHJcbiAgICBtYXgtd2lkdGg6NDglO1xyXG4gICAgbWluLXdpZHRoOjQ4JTtcclxuICAgIGZsb2F0OnJpZ2h0O1xyXG4gICAgdG9wOjEyMHB4O1xyXG4gICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgIHBhZGRpbmctdG9wOjI0cHg7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjBweCkgeyBcclxuICAgICNvcmRlcl9yZXZpZXcge1xyXG4gICAgICAgIG1heC13aWR0aDoxMDAlO1xyXG4gICAgICAgIG1pbi13aWR0aDoxMDAlO1xyXG4gICAgICAgIGZsb2F0Om5vbmU7XHJcbiAgICAgICAgdG9wOnVuc2V0O1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxufVxyXG5cclxuI29yZGVyX3Jldmlldz4uYnRuIHtcclxuICAgIHdpZHRoOjEwMCU7XHJcbn1cclxuXHJcbnNlY3Rpb24ucGF5bWVudC13cmFwcGVyIHtcclxuICAgIGJhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCB3aGl0ZSA1MCUsICNFRkY3RkMgNTAlKTsgXHJcbiAgICAvKm1hcmdpbi10b3A6LTQ4cHg7ICovXHJcbiAgICAvKnBhZGRpbmctdG9wOjQwcHg7Ki9cclxuICAgIG1hcmdpbi1ib3R0b206LTIwcHg7XHJcbiAgICBjbGVhcjpib3RoO1xyXG4gICAgcGFkZGluZy1ib3R0b206MTAwcHg7XHJcbn1cclxuXHJcbnRyLm9yZGVyLXRvdGFsIHRkLCB0ci5jYXJ0LXN1YnRvdGFsIHRkLCB0ZC5wcm9kdWN0LXRvdGFsIHtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIHRkLnByb2R1Y3QtbmFtZSB7XHJcbi8vICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcyAhaW1wb3J0YW50O1xyXG4vLyAgICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xyXG4vLyAgICAgbWF4LXdpZHRoOjYyJSAhaW1wb3J0YW50O1xyXG4vLyAgICAgbWluLXdpZHRoOjYyJSAhaW1wb3J0YW50O1xyXG4vLyAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuLy8gfVxyXG5cclxuLy8gdGgucHJvZHVjdC1uYW1lIHtcclxuLy8gICAgIG1heC13aWR0aDo2MiUgIWltcG9ydGFudDtcclxuLy8gICAgIG1pbi13aWR0aDo2MiUgIWltcG9ydGFudDtcclxuLy8gfVxyXG5cclxuLnNoaXBwaW5nIHRoIHtcclxuICAgIHBhZGRpbmctbGVmdDoyNXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbnRoLnByb2R1Y3QtdG90YWwge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi5vcmRlci10b3RhbCwgLmNhcnQtc3VidG90YWwge1xyXG4gICAgdGgge1xyXG4gICAgICAgIGZvbnQtc2l6ZToxLjE1cmVtO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRXVyb3BhLVJlZ3VsYXInO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQgIWltcG9ydGFudDtcclxuICAgICAgICBwYWRkaW5nLXRvcDo4cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICB0ZCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRXVyb3BhLVJlZ3VsYXInO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOjhweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG50Zm9vdC5zaGlwcGluZy1tZXRob2RzIHtcclxuXHJcbiAgICAvLyAuZm9ybS1jaGVjayB7XHJcbiAgICAvLyAgICAgbGFiZWwge1xyXG4gICAgLy8gICAgICAgICBmb250LXNpemU6Ljg4ZW07XHJcbiAgICAvLyAgICAgfVxyXG4gICAgLy8gfVxyXG5cclxuICAgIHRyIHtcclxuICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTouODhlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoIHtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgZW0ge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOi43NWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjojNDQ0NDQ0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aCwgdGQgeyAgICBcclxuICAgICAgICAgICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuICAgICAgICAgICAgcGFkZGluZzoycHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjotMXB4O1xyXG4gICAgICAgICAgICAvL2JvcmRlci1ib3R0b206MnB4IHNvbGlkICNkOGUzZTk5NSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbiAgICB9XHJcbn1cclxuXHJcbnNlbGVjdC5mb3JtLWNvbnRyb2wge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI0JFQkVCRSAhaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICBwYWRkaW5nOiAxMXB4IDIwcHg7XHJcbiAgICBjb2xvcjogIzBBMUQyRTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbi5sb25nVGV4dCB7XHJcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi5wcm9kdWN0LW5hbWUubG9uZ1RleHQge1xyXG4gICAgbWF4LXdpZHRoOjI3NXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5jaGVja291dC53b29jb21tZXJjZS1jaGVja291dCAud29vY29tbWVyY2UtTm90aWNlR3JvdXAge1xyXG4gICAgei1pbmRleDogMSAhaW1wb3J0YW50O1xyXG4gICAgdG9wOiAxMDdweCAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IHN0aWNreSAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tdG9wOiAtMzBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5oMi53b29jb21tZXJjZS1vcmRlci1kZXRhaWxzX190aXRsZSB7XHJcbiAgICBtYXJnaW4tdG9wOjMwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxucC53b29jb21tZXJjZS10aGFua3lvdS1vcmRlci1yZWNlaXZlZCB7XHJcbiAgICBmb250LXNpemU6MzhweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIG1hcmdpbi1ib3R0b206OHB4O1xyXG4gICAgbWFyZ2luLXRvcDoyMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxufVxyXG5cclxuLndvb2NvbW1lcmNlLW9yZGVyLWRldGFpbHMge1xyXG4gICAgbWF4LXdpZHRoOjEzNjBweDtcclxufVxyXG5cclxudGFibGUub3JkZXJfZGV0YWlscyB7XHJcbiAgICBtYXJnaW46YXV0byAhaW1wb3J0YW50O1xyXG4gICAgbWF4LXdpZHRoOjEwMCU7XHJcblxyXG5cclxuICAgIHRoIHtcclxuICAgICAgICBtYXgtd2lkdGg6NDgwcHg7XHJcbiAgICAgICAgd2lkdGg6MjUlO1xyXG4gICAgICAgIG1pbi13aWR0aDoyNSU7XHJcbiAgICB9XHJcblxyXG4gICAgdGQge1xyXG4gICAgICAgIG1heC13aWR0aDo3ODBweDtcclxuICAgICAgICB3aWR0aDo3NSU7XHJcbiAgICAgICAgbWluLXdpZHRoOjc1JTtcclxuICAgIH1cclxuXHJcbiAgICB0Zm9vdCB7XHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICA6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6NDgwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDoyNSU7XHJcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6MjUlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjEwNjAuNXB4KSB7XHJcbiAgICAud29vY29tbWVyY2Utb3JkZXIge1xyXG4gICAgICAgIG1hcmdpbjphdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOjEzNjBweDtcclxuXHJcbiAgICAgICAgdGFibGUub3JkZXJfZGV0YWlscyB7XHJcbiAgICAgICAgICAgIC8vbWF4LXdpZHRoOjEwNjBweDtcclxuICAgICAgICAgICAgLy9tYXJnaW46YXV0byAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgdGgge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOjIwMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6MjAlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICB0ZCB7XHJcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ODAwcHg7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDo4MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNjBweCkge1xyXG5cclxuICAgIC5zaWRlYmFyLWZvb3RlciB7XHJcbiAgICAgICAgbWF4LXdpZHRoOjk5LjV2dyAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6MWVtICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4uc2lkZWJhci1wcm9kdWN0LWRlYXRpbHMge1xyXG4gICAgbWF4LXdpZHRoOjk5LjV2dztcclxufVxyXG5cclxuICAgIC5zaWRlYmFyLWlubmVyLXdyYXAge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICB0b3A6IDBweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgei1pbmRleDogOTk5OTk5O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICByaWdodDogMzVweDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBtYXgtd2lkdGg6IDk4dnc7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMTAwJSkpO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC41cyk7XHJcbiAgICB9XHJcblxyXG4gICAgLnNob3BfdGFibGUud29vY29tbWVyY2UtY2hlY2tvdXQtcmV2aWV3LW9yZGVyLXRhYmxlIHtcclxuICAgICAgICBtYXgtd2lkdGg6MTAwdnc7XHJcbiAgICAgICAgbWluLXdpZHRoOjkwdnc7XHJcbiAgICB9XHJcblxyXG4gICAgI2N1c3RvbWVyX2RldGFpbHMge1xyXG4gICAgICAgIG1heC13aWR0aDoxMDAlO1xyXG4gICAgICAgIG1pbi13aWR0aDoxMDAlO1xyXG4gICAgICAgIGZsb2F0Om5vbmU7XHJcbiAgICAgICAgdG9wOnVuc2V0O1xyXG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cclxuICAgICAgICBkaXYge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6MTAwJTtcclxuICAgICAgICAgICAgbWluLXdpZHRoOjEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVsLndvb2NvbW1lcmNlLXRoYW5reW91LW9yZGVyLWRldGFpbHMge1xyXG4gICAgICAgIGJvcmRlcjpub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOmF1dG8gIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtd2lkdGg6OTklO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206MjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHBhZGRpbmc6Ljk1ZW0gIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGNsZWFyOmJvdGggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZmxvYXQ6bm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWluLXdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjBweCAhaW1wb3J0YW50O1xyXG5cclxuICAgICAgICAgICAgJiBwOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgICAgICAgICAgICBmbG9hdDpsZWZ0O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOjQ4JTtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDo0OCU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICYgcDpudGgtY2hpbGQoMikge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6cmlnaHQ7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOjUyJTtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDo1MiU7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOjQ4JSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOjQ4JSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAudGV4dC1ib2xkIHtcclxuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246cmlnaHQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDo1MiUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIG1pbi13aWR0aDo1MiUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLndvb2NvbW1lcmNlLWNoZWNrb3V0LXJldmlldy1vcmRlci10YWJsZSB0Zm9vdCB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XHJcbn1cclxuXHJcbiNhbmdlbGxleWVfb3JkZXJfcmV2aWV3X3BheW1lbnRfbWV0aG9kIHtcclxuICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ud29vY29tbWVyY2UgdGFibGUuc2hvcF90YWJsZSB7IFxyXG4gICAgdGQsIHRoIHtcclxuICAgICAgICBwYWRkaW5nOjNweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4uc2lkZWJhci13cmFwLnNob3BwaW5nLWNhcnQtc2lkZWJhciAuc2hpcHBpbmctcHJvZHVjdC1pdGVtIC5zaGlwcGluZy1wcm9kdWN0LXRvcCB7XHJcbiAgICBtYXgtd2lkdGg6MTAwdncgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNhdCB7XHJcbiAgICBtYXgtd2lkdGg6OTl2dztcclxufVxyXG5cclxuLnNoaXBNZXRob2Qge1xyXG5cclxuICAgIGxhYmVsIHtcclxuICAgICAgICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6ICdFdXJvcGEgUmVndWxhcicgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbn1cclxuXHJcbiNTaGlwcGluZ19zYW1lX2FzX2ZpZWxkIHtcclxuICAgIGRpc3BsYXk6bm9uZTtcclxufVxyXG5cclxuLmF2YWlsYWJsZS1pbmdyZWRpZW50IHtcclxuICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICBjb2xvcjokYy1ncmVlbjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBjb2xvcjokYy1ibHVlLWRhcms7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNzb3J0LWJ5IHtcclxuICAgIG1pbi13aWR0aDoxMjBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jc2VhcmNoLWNvbnRhaW5lciB7XHJcbiAgICBzY3JvbGxiYXItY29sb3I6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICBzY3JvbGxiYXItd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbiNibG9nX3BhZ2luZywgLm5hdmlnYXRpb24ucGFnaW5hdGlvbiB7XHJcbiAgICBtYXgtd2lkdGg6OTl2dztcclxuICAgIG1pbi13aWR0aDo0NXZ3O1xyXG4gICAgbWFyZ2luOiAxOHB4IDBweCAxMnB4IDBweDtcclxuICAgIHRleHQtYWxpZ246Y2VudGVyO1xyXG4gICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuXHJcbiAgICAubmF2LWxpbmtzIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgd2lkdGg6OTklO1xyXG4gICAgICAgIGZvbnQtc2l6ZToxNnB4O1xyXG5cclxuICAgICAgICAuY3VycmVudCB7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiRjLXllbGxvdztcclxuICAgICAgICAgICAgcGFkZGluZzo4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjowcHggNXB4IDBweCA1cHg7XHJcbiAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgI2VmZWZlZjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuNTVzO1xyXG4gICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgbWluLXdpZHRoOjQwcHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDoxMjVweDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGNvbG9yOiRjLXllbGxvdztcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogLjU1cztcclxuICAgICAgICAgICAgYm94LXNoYWRvdzozcHggMnB4IDVweCByZ2JhKDEwMCwxMDAsMTAwLC4yNSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgICAgY29sb3I6JGMtYmx1ZS1kYXJrO1xyXG4gICAgICAgICAgICBwYWRkaW5nOjhweDtcclxuICAgICAgICAgICAgbWFyZ2luOjBweCA1cHggMHB4IDVweDtcclxuICAgICAgICAgICAgYm9yZGVyOjFweCBzb2xpZCAjZWZlZmVmO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC41NXM7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBtaW4td2lkdGg6NDBweDtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOjEyNXB4O1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6JGMteWVsbG93O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcclxuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IC41NXM7XHJcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OjNweCAycHggNXB4IHJnYmEoMTAwLDEwMCwxMDAsLjI1KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnByZXYsIC5uZXh0IHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6Ym9sZDtcclxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jY2hlY2tvdXRfcGF5cGFsX21lc3NhZ2Uge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbWVudS1tb2JpbGUpIHtcclxuICAgIGhlYWRlciwgZm9vdGVyIHtcclxuICAgICAgICBwYWRkaW5nOnVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OnVuc2V0ICFpbXBvcnRhbnQ7ICAgICAgICBcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OnVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOnVuc2V0ICFpbXBvcnRhbnQ7ICAgXHJcbiAgICB9XHJcblxyXG4gICAgW2lkXj1cImFkZG9uaWZ5XCJdIHtcclxuICAgICAgICBtYXgtd2lkdGg6MTAwdncgIWltcG9ydGFudDtcclxuICAgICAgICBtYXgtaGVpZ2h0OjEwMHZoICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgZm9vdGVyIHtcclxuICAgICAgICAmPmRpdiB7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OjN2dyAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6M3Z3ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5oaWRkZW4tbWQge1xyXG4gICAgICAgIGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaWEtd2lkdGgtbWVudS1kZXNrdG9wKSB7XHJcbiAgICAuaGlkZGVuLWxnIHtcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG5mb290ZXI6OmJlZm9yZSB7XHJcbiAgICB3aWR0aDoxMDB2dztcclxuICAgIG1hcmdpbjowcHg7XHJcbiAgICBsZWZ0OjA7XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1lZGlhLXdpZHRoLW1lbnUtZGVza3RvcCkge1xyXG4gICAgLmRlc2t0b3AtaGlkZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubXlhY2NvdW50LW1lbnUge1xyXG4gICAgICAgIGRpc3BsYXk6bm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAjQ29mZmVlIGltZywgI1RlYSBpbWcsICNMYWIgaW1nIHsgICAgICAgICAgICBcclxuICAgICAgICBtYXgtaGVpZ2h0OiAxMDVweDtcclxuICAgICAgICBtYXJnaW46LTE1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1lbnUtbW9iaWxlKSB7XHJcbiAgICBoZWFkZXI+LmNvbnRhaW5lciAubmF2YmFyLWxvZ28tZnVsbCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA2MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWluLXdpZHRoOiAzMHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgIHRvcDogMTVweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC50YWJsZXQtaGlkZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAjQ29mZmVlIGltZywgI1RlYSBpbWcsICNMYWIgaW1nIHsgICAgICAgICAgICBcclxuICAgICAgICBtYXgtaGVpZ2h0OiA4MHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWFyZ2luOmF1dG87XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTotMTVweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubW9kYWxfYmFjayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC40MCk7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDk5OTk5OTA7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIGxlZnQ6IDBweDtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaWEtd2lkdGgtbWVudS1tb2JpbGUpIHtcclxuICAgIGhlYWRlciB7XHJcbiAgICAgICAgbWF4LWhlaWdodDoxMDdweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgICNoZWFkZXItbWVudSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDoxMDdweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpYS13aWR0aC1tZW51LW1vYmlsZSkge1xyXG4gICAgaGVhZGVyIHtcclxuICAgICAgICBtYXgtaGVpZ2h0Ojg1cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAjaGVhZGVyLW1lbnUge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6dW5zZXQgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuc2FtcGxlUmVxdWVzdEJvZHkge1xyXG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgIGxlZnQ6LTE1NXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5oMyB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hY3RpdmUtc2hvcHBpbmctY2FydCB7XHJcbiAgICAuc2lkZWJhci1pbm5lci13cmFwIHtcclxuICAgICAgICBib3gtc2hhZG93OiAtMTBweCAwcHggMjBweCByZ2JhKDAsMCwwLC4yNSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogJ2JveC1zaGFkb3cnIC44OHM7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5iYW5uZXItc2xpZGVyIHtcclxuICAgIC5zbGlkZXItaXRlbS13cmFwcGVyIHtcclxuICAgICAgICBkaXNwbGF5OmZsZXggIWltcG9ydGFudDtcclxuICAgICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50O1xyXG4gICAgICAgIGNvbHVtbi1nYXA6IDBweDtcclxuXHJcbiAgICAgICAgbWF4LWhlaWdodDo0ODBweDtcclxuXHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjI1cHgpIHsgXHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6NDMwcHg7ICAgICAgICAgICAgXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExMjVweCkgeyBcclxuICAgICAgICAgICAgbWF4LWhlaWdodDozODBweDsgICAgICAgICAgICBcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNXB4KSB7IFxyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OjMzMHB4OyAgICAgICAgICAgIFxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLy8gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkgeyAgICAgICAgICAgIFxyXG4gICAgICAgIC8vICAgICBtYXgtaGVpZ2h0OnVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy8gICAgIG1pbi1oZWlnaHQ6dW5zZXQgIWltcG9ydGFudDtcclxuICAgICAgICAvLyAgICAgaGVpZ2h0OnVuc2V0ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgLy8gICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7ICAgICAgICAgXHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6NTAwcHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgbWluLWhlaWdodDp1bnNldCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIGhlaWdodDphdXRvO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmJhbm5lci1jb250ZW50IHtcclxuXHJcbiAgICAgICAgICAgIGg0IHtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0Om5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBwYWRkaW5nOjIuNWVtO1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDo4JTtcclxuICAgICAgICAgICAgaDIge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjJlbTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDEpO1xyXG4gICAgICAgICAgICB3aWR0aDo1MCU7XHJcbiAgICAgICAgICAgIG9yZGVyOjE7XHJcblxyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSB7XHJcblxyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDoyMDBweDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOnVuc2V0O1xyXG5cclxuICAgICAgICAgICAgICAgIGgyIHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6MS42NWVtICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzouNzVlbTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIG9yZGVyOjI7XHJcblxyXG4gICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgYm90dG9tOjBweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjU1KTtcclxuICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiA0cHggNHB4IDdweCByZ2JhKDEwMCwxMDAsMTAwLC4xNSk7XHJcbiAgICAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYmFubmVyLWltYWdlIHtcclxuICAgICAgICAgICAgd2lkdGg6NTAlO1xyXG4gICAgICAgICAgICBvcmRlcjoyO1xyXG5cclxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgb3JkZXI6MTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXIgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAxcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7ICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNDgwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNDgwcHg7ICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMzUwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMzUwcHg7ICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4OyAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTc1cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNTBweDtcclxuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAyNTBweDsgICBcclxuICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlciAhaW1wb3J0YW50OyAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgXHJcbiAgICB1bC5zbGljay1kb3RzIHtcclxuICAgICAgICBib3R0b206IC0zMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbnVsLnNsaWNrLWRvdHMge1xyXG4gICAgYm90dG9tOiAtMzBweCAhaW1wb3J0YW50O1xyXG4gICAgXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7ICAgXHJcbiAgICAgICAgYm90dG9tOjBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ucHJpbnQtb2ZmZXJpbmctY29udGFpbmVyLW91dGVyIHtcclxuICAgIHdpZHRoOjE5NXB4O1xyXG4gICAgbWF4LXdpZHRoOjE5NXB4O1xyXG4gICAgZGlzcGxheTpmbGV4ICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7ICAgICAgICBcclxuICAgICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbWF4LXdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICBkaXNwbGF5OmZsZXggIWltcG9ydGFudDtcclxuXHJcbiAgICAgICAgLnNvcnQtYnktc2VsZWN0LXdyYXAge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOjBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAucHJpbnQtb2ZmZXJpbmctY29udGFpbmVyIHtcclxuICAgICAgICBtaW4td2lkdGg6MTY1cHggIWltcG9ydGFudDsgXHJcbiAgICAgICAgbWF4LXdpZHRoOjE5NXB4ICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgIG1hcmdpbi1yaWdodDoxMHB4O1xyXG5cclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTAwcHgpIHsgICAgICAgIFxyXG4gICAgICAgICAgICB3aWR0aDo4NXB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6ODVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJ1dHRvbiB7XHJcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQ4cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDo4cHg7IFxyXG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjhweDtcclxuXHJcbiAgICAgICAgICAgIGRpdiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46MHB4O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzowcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0OyBcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxcHg7IFxyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOjE0cHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5wcmludF9idXR0b24geyBcclxuICAgIGZvbnQtc2l6ZToxM3B4ICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6NDhweCAhaW1wb3J0YW50O1xyXG5cclxuICAgIC5kYXNoaWNvbnMge1xyXG4gICAgICAgIGZvbnQtc2l6ZToxOXB4ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5MDBweCkgeyAgIFxyXG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxufVxyXG5cclxuLnJueWwtaGVhZGVyIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo5MDBweCkgeyAgIFxyXG4gICAgICAgIG1hcmdpbi10b3A6LTMwcHghaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4ub2ZmZXJpbmctaXRlbS1ib2R5LWxlZnQge1xyXG4gICAgLm9mZmVyaW5nLWl0ZW0tZGV0YWlscyB7XHJcbiAgICAgICAgdWwuZC1mbGV4IHtcclxuICAgICAgICAgICAgbGkuZC1mbGV4IHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDoyOCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOjQwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4vLyBwLmg1IGJ1dHRvbiwgcC5oNSBkaXYgYnV0dG9uLCAucHJpbnRfYnV0dG9uIHtcclxuLy8gICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuLy8gICAgIGJvcmRlcjowcHggbm9uZSAhaW1wb3J0YW50O1xyXG4vLyAgICAgY29sb3I6IzBBMUMyRSAhaW1wb3J0YW50O1xyXG4vLyAgICAgbWFyZ2luLXJpZ2h0Oi0xNXB4O1xyXG4vLyAgICAgbWFyZ2luLXRvcDotMjVweDtcclxuXHJcbi8vICAgICAuZGFzaGljb25zIHtcclxuLy8gICAgICAgICBmb250LXNpemU6MjhweDtcclxuLy8gICAgIH1cclxuLy8gfVxyXG5cclxuXHJcbi51aS1kYXRlcGlja2VyIHtcclxuICAgICoge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRXVyb3BhLVJlZ3VsYXInICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi51aS1kYXRlcGlja2VyLWNhbGVuZGFyIHtcclxuICAgIHRyIHtcclxuICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWJsdWUtZGFyayAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnVpLWRhdGVwaWNrZXItaGVhZGVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktc2Vjb25kYXJ5LWJsdWUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gLnVpLWRhdGVwaWNrZXItcHJldiB7XHJcblxyXG4vLyB9XHJcblxyXG4vLyAudWktZGF0ZXBpY2tlci1uZXh0IHtcclxuXHJcbi8vIH1cclxuXHJcbiAudWktZGF0ZXBpY2tlci10aXRsZSB7XHJcbiAgICBmb250LXdlaWdodDpib2xkICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LWZhbWlseTonRXVyb3BhLVJlZ3VsYXInICFpbXBvcnRhbnQ7XHJcbiB9XHJcblxyXG4vLyAudWktZGF0ZXBpY2tlci1tb250aCB7XHJcblxyXG4vLyB9XHJcblxyXG4vLyAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB7XHJcblxyXG4vLyB9XHJcblxyXG4vLyAudWktZGF0ZXBpY2tlci1jdXJyZW50LWRheSB7XHJcblxyXG4vLyB9XHJcblxyXG4udWktZGF0ZXBpY2tlciB0cjpmaXJzdC1jaGlsZCB7XHJcbiAgICBib3JkZXI6MXB4IHNvbGlkIHNpbHZlciAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4udWktZGF0ZXBpY2tlci1jdXJyZW50LWRheSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7ICAgIFxyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXllbGxvdyAhaW1wb3J0YW50OyAgXHJcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcblxyXG4udWktZGF0ZXBpY2tlci1vdGhlci1tb250aCB7XHJcbiAgICBib3JkZXI6dW5zZXQgIWltcG9ydGFudFxyXG59XHJcblxyXG4ubm9zZWxlY3Qge1xyXG4gIHVzZXItc2VsZWN0OiBub25lOyAgICAgICAgICAgICAgLyogU3RhbmRhcmQgc3ludGF4ICovXHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgICAgIC8qIFNhZmFyaSAqL1xyXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7ICAgICAgICAvKiBGaXJlZm94ICovXHJcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAgICAgICAgIC8qIEludGVybmV0IEV4cGxvcmVyL0VkZ2UgKi9cclxufVxyXG4iLCIvKioqIEFwcCBjb2xvciB2YXJpYWJsZSAqKiovXHJcblxyXG4kcHJpbWFyeS1jb2xvcjojRkY2MTVDO1xyXG4kc2Vjb25kYXJ5LWNvbG9yOiM0OTM0QTY7XHJcbiR3aGl0ZS1jb2xvcjogI2ZmZjtcclxuJGJsYWNrLWNvbG9yOiAjMDAwO1xyXG4kbGlnaHQtc3RvbmU6I2MwYzBjMDtcclxuJHJueS1uYXZ5LWJsdWU6IzBBMUQyRTtcclxuJHJueS1nb2xkOiNCNTkwMzg7XHJcbiRybnktbGlnaHQtYmx1ZTojRUZGN0ZDO1xyXG4kZGFyay1ncmF5OiM0QjRCNEI7XHJcbiRncmF5OiNCRUJFQkU7XHJcbiRsaWdodC1ncmF5OiNFOEVBRUI7XHJcbiRzdG9uZS1jb2xvcjojY2NjO1xyXG4kbGlnaHRlci1zdG9uZTokYmxhY2stY29sb3I7XHJcbiRybnktc2Vjb25kYXJ5LWJsdWU6IzMwNEU2QztcclxuJHJueS1ibHVlLWZvb3RlcjojMEIxNzI0O1xyXG4kcm55LWJvcmRlci1jb2xvcjojNjM2RTc4O1xyXG5cclxuLyoqKiBGb250IHdlaWdodCAqKiovXHJcblxyXG4kZXhTbWFsbDogNTc1cHg7XHJcbiRTbWFsbDogNzY3cHg7XHJcbiRtZWRpdW06IDk5OXB4O1xyXG4kZXhNZWRpdW06MTE5OXB4O1xyXG4kbGFyZ2U6MTQwMHB4O1xyXG4kZXhMYXJnZToxNTk5cHg7XHJcbi8vICRjb250YWluZXI6MTU5OTtcclxuXHJcblxyXG4vLyBDb2xvciBzeXN0ZW1cclxuXHJcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcclxuJGdyYXktMTAwOiAjZjhmOWZhICFkZWZhdWx0O1xyXG4kZ3JheS0yMDA6ICNlOWVjZWYgIWRlZmF1bHQ7XHJcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcclxuJGdyYXktNDAwOiAjY2VkNGRhICFkZWZhdWx0O1xyXG4kZ3JheS01MDA6ICNhZGI1YmQgIWRlZmF1bHQ7XHJcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcclxuJGdyYXktNzAwOiAjNDk1MDU3ICFkZWZhdWx0O1xyXG4kZ3JheS04MDA6ICMzNDNhNDAgIWRlZmF1bHQ7XHJcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcclxuJGJsYWNrOiAgICAjMDAwICFkZWZhdWx0O1xyXG5cclxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcclxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcclxuJGdyYXlzOiBtYXAtbWVyZ2UoXHJcbiAgKFxyXG4gICAgXCIxMDBcIjogJGdyYXktMTAwLFxyXG4gICAgXCIyMDBcIjogJGdyYXktMjAwLFxyXG4gICAgXCIzMDBcIjogJGdyYXktMzAwLFxyXG4gICAgXCI0MDBcIjogJGdyYXktNDAwLFxyXG4gICAgXCI1MDBcIjogJGdyYXktNTAwLFxyXG4gICAgXCI2MDBcIjogJGdyYXktNjAwLFxyXG4gICAgXCI3MDBcIjogJGdyYXktNzAwLFxyXG4gICAgXCI4MDBcIjogJGdyYXktODAwLFxyXG4gICAgXCI5MDBcIjogJGdyYXktOTAwXHJcbiAgKSxcclxuICAkZ3JheXNcclxuKTtcclxuXHJcbiRibHVlOiAgICAjMDA3YmZmICFkZWZhdWx0O1xyXG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcclxuJHB1cnBsZTogICM2ZjQyYzEgIWRlZmF1bHQ7XHJcbiRwaW5rOiAgICAjZTgzZThjICFkZWZhdWx0O1xyXG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcclxuJG9yYW5nZTogICNmZDdlMTQgIWRlZmF1bHQ7XHJcbiR5ZWxsb3c6ICAjZmZjMTA3ICFkZWZhdWx0O1xyXG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcclxuJHRlYWw6ICAgICMyMGM5OTcgIWRlZmF1bHQ7XHJcbiRjeWFuOiAgICAjMTdhMmI4ICFkZWZhdWx0O1xyXG5cclxuJGNvbG9yczogKCkgIWRlZmF1bHQ7XHJcbi8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBzY3NzL2RvbGxhci12YXJpYWJsZS1kZWZhdWx0XHJcbiRjb2xvcnM6IG1hcC1tZXJnZShcclxuICAoXHJcbiAgICBcImJsdWVcIjogICAgICAgJGJsdWUsXHJcbiAgICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcclxuICAgIFwicHVycGxlXCI6ICAgICAkcHVycGxlLFxyXG4gICAgXCJwaW5rXCI6ICAgICAgICRwaW5rLFxyXG4gICAgXCJyZWRcIjogICAgICAgICRyZWQsXHJcbiAgICBcIm9yYW5nZVwiOiAgICAgJG9yYW5nZSxcclxuICAgIFwieWVsbG93XCI6ICAgICAkeWVsbG93LFxyXG4gICAgXCJncmVlblwiOiAgICAgICRncmVlbixcclxuICAgIFwidGVhbFwiOiAgICAgICAkdGVhbCxcclxuICAgIFwiY3lhblwiOiAgICAgICAkY3lhbixcclxuICAgIFwid2hpdGVcIjogICAgICAkd2hpdGUsXHJcbiAgICBcImdyYXlcIjogICAgICAgJGdyYXktNjAwLFxyXG4gICAgXCJncmF5LWRhcmtcIjogICRncmF5LTgwMFxyXG4gICksXHJcbiAgJGNvbG9yc1xyXG4pO1xyXG5cclxuJHByaW1hcnk6ICAgICAgICRibHVlICFkZWZhdWx0O1xyXG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xyXG4kc3VjY2VzczogICAgICAgJGdyZWVuICFkZWZhdWx0O1xyXG4kaW5mbzogICAgICAgICAgJGN5YW4gIWRlZmF1bHQ7XHJcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xyXG4kZGFuZ2VyOiAgICAgICAgJHJlZCAhZGVmYXVsdDtcclxuJGxpZ2h0OiAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcclxuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcclxuXHJcbiR0aGVtZS1jb2xvcnM6ICgpICFkZWZhdWx0O1xyXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxyXG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoXHJcbiAgKFxyXG4gICAgXCJwcmltYXJ5XCI6ICAgICRwcmltYXJ5LFxyXG4gICAgXCJzZWNvbmRhcnlcIjogICRzZWNvbmRhcnksXHJcbiAgICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXHJcbiAgICBcImluZm9cIjogICAgICAgJGluZm8sXHJcbiAgICBcIndhcm5pbmdcIjogICAgJHdhcm5pbmcsXHJcbiAgICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcclxuICAgIFwibGlnaHRcIjogICAgICAkbGlnaHQsXHJcbiAgICBcImRhcmtcIjogICAgICAgJGRhcmtcclxuICApLFxyXG4gICR0aGVtZS1jb2xvcnNcclxuKTtcclxuXHJcbi8vIFNldCBhIHNwZWNpZmljIGp1bXAgcG9pbnQgZm9yIHJlcXVlc3RpbmcgY29sb3IganVtcHNcclxuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xyXG5cclxuLy8gVGhlIHlpcSBsaWdodG5lc3MgdmFsdWUgdGhhdCBkZXRlcm1pbmVzIHdoZW4gdGhlIGxpZ2h0bmVzcyBvZiBjb2xvciBjaGFuZ2VzIGZyb20gXCJkYXJrXCIgdG8gXCJsaWdodFwiLiBBY2NlcHRhYmxlIHZhbHVlcyBhcmUgYmV0d2VlbiAwIGFuZCAyNTUuXHJcbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6ICAxNTAgIWRlZmF1bHQ7XHJcblxyXG4vLyBDdXN0b21pemUgdGhlIGxpZ2h0IGFuZCBkYXJrIHRleHQgY29sb3JzIGZvciB1c2UgaW4gb3VyIFlJUSBjb2xvciBjb250cmFzdCBmdW5jdGlvbi5cclxuJHlpcS10ZXh0LWRhcms6ICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcclxuJHlpcS10ZXh0LWxpZ2h0OiAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuXHJcblxyXG4vLyBPcHRpb25zXHJcbi8vXHJcbi8vIFF1aWNrbHkgbW9kaWZ5IGdsb2JhbCBzdHlsaW5nIGJ5IGVuYWJsaW5nIG9yIGRpc2FibGluZyBvcHRpb25hbCBmZWF0dXJlcy5cclxuXHJcbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLXJvdW5kZWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS1zaGFkb3dzOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0O1xyXG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XHJcbiRlbmFibGUtdHJhbnNpdGlvbnM6ICAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLXByZWZlcnMtcmVkdWNlZC1tb3Rpb24tbWVkaWEtcXVlcnk6ICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeTogICAgICAgICAgICAgICAgICAgIGZhbHNlICFkZWZhdWx0OyAvLyBEZXByZWNhdGVkLCBubyBsb25nZXIgYWZmZWN0cyBhbnkgY29tcGlsZWQgQ1NTXHJcbiRlbmFibGUtZ3JpZC1jbGFzc2VzOiAgICAgICAgICAgICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xyXG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgICAgICAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcclxuJGVuYWJsZS12YWxpZGF0aW9uLWljb25zOiAgICAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbi8vIEJSQU5EIFBSSU1BUlkgQ09MT1JTIC8vXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbiRjLWdyZWVuOiAjNTc4NTg3OyAvL2hzbGEoMTgzLCAyMiUsIDQ0JSwgMSk7XHJcbiRjLWdyZWVuLWRhcms6ICMxYzM1MzM7XHJcbiRjLWJsdWU6ICMzMDRmNmM7IC8vaHNsYSgyMTAsIDM4JSwgMzElLCAxKTtcclxuJGMtYmx1ZS1saWdodDogI2VmZjdmYztcclxuJGMtYmx1ZS1kYXJrOiAjMDcxYzJmOyAvLzA4MUMyRVxyXG4kYy15ZWxsb3c6ICNiNzkyMjA7IC8vaHNsYSg0MiwgNTMlLCA0NiUsIDEpO1xyXG4kYy1wdXJwbGU6ICM2ZjRlN2M7XHJcbiRjLWdyYXktZGFyazogIzBhMWMyYzsgLy9oc2xhKDIwOCwgNjMlLCAxMSUsIDEpO1xyXG4kYy1ncmF5LW1lZGl1bS1kYXJrOiAjNzg4MDhjO1xyXG4kYy1ncmF5LW1lZDogIzkwOTY5ZjsgLy9oc2xhKDIxNiwgNyUsIDU5JSwgMSk7XHJcbiRjLWdyYXktbGlnaHQ6ICNlOGVhZWI7IC8vaHNsYSgyMDAsIDclLCA5MiUsIDEpO1xyXG4kd2hpdGU6ICNmZmZmZmY7XHJcbiRjLWJsYWNrOiAjMTkxOTE5O1xyXG5cclxuJGMtcmVkOiAjYTExYzE4O1xyXG4kYy1ncmVlbi1hbGVydDogIzE3OWE0NDtcclxuJGMtcmVkLWFsZXJ0OiAjZTY2MDRiO1xyXG4kYy1vcmFuZ2UtYWxlcnQ6ICNkZDZlMDA7XHJcblxyXG4vL0FndHJvbiBTY2FsZSBjb2xvcnNcclxuJGMtYWd0cm9uLTQ1OiAjMzIyMTE3O1xyXG4kYy1hZ3Ryb24tNTU6ICMzZjIyMTA7XHJcbiRjLWFndHJvbi02NTogIzVkMzgxZDtcclxuJGMtYWd0cm9uLTc1OiAjNGMyYTExO1xyXG4kYy1hZ3Ryb24tODU6ICM1NDJjMDg7XHJcbiRjLWFndHJvbi05NTogIzZmM2MxMTtcclxuXHJcbi8vIFRleHQgY29sb3JcclxuJGJvZHktY29sb3I6ICRjLWdyYXktZGFyaztcclxuXHJcblxyXG4vLyBTcGFjaW5nXHJcbi8vXHJcbi8vIENvbnRyb2wgdGhlIGRlZmF1bHQgc3R5bGluZyBvZiBtb3N0IEJvb3RzdHJhcCBlbGVtZW50cyBieSBtb2RpZnlpbmcgdGhlc2VcclxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxyXG4vLyBZb3UgY2FuIGFkZCBtb3JlIGVudHJpZXMgdG8gdGhlICRzcGFjZXJzIG1hcCwgc2hvdWxkIHlvdSBuZWVkIG1vcmUgdmFyaWF0aW9uLlxyXG5cclxuJHNwYWNlcjogMXJlbSAhZGVmYXVsdDtcclxuJHNwYWNlcnM6ICgpICFkZWZhdWx0O1xyXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxyXG4kc3BhY2VyczogbWFwLW1lcmdlKFxyXG4gIChcclxuICAgIDA6IDAsXHJcbiAgICAxOiAoJHNwYWNlciAqIC4yNSksXHJcbiAgICAyOiAoJHNwYWNlciAqIC41KSxcclxuICAgIDM6ICRzcGFjZXIsXHJcbiAgICA0OiAoJHNwYWNlciAqIDEuNSksXHJcbiAgICA1OiAoJHNwYWNlciAqIDMpXHJcbiAgKSxcclxuICAkc3BhY2Vyc1xyXG4pO1xyXG5cclxuLy8gVGhpcyB2YXJpYWJsZSBhZmZlY3RzIHRoZSBgLmgtKmAgYW5kIGAudy0qYCBjbGFzc2VzLlxyXG4kc2l6ZXM6ICgpICFkZWZhdWx0O1xyXG4vLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgc2Nzcy9kb2xsYXItdmFyaWFibGUtZGVmYXVsdFxyXG4kc2l6ZXM6IG1hcC1tZXJnZShcclxuICAoXHJcbiAgICAyNTogMjUlLFxyXG4gICAgNTA6IDUwJSxcclxuICAgIDc1OiA3NSUsXHJcbiAgICAxMDA6IDEwMCUsXHJcbiAgICBhdXRvOiBhdXRvXHJcbiAgKSxcclxuICAkc2l6ZXNcclxuKTtcclxuXHJcblxyXG4vLyBCb2R5XHJcbi8vXHJcbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cclxuXHJcbiRib2R5LWJnOiAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XHJcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XHJcblxyXG5cclxuLy8gTGlua3NcclxuLy9cclxuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxyXG5cclxuJGxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI0ZGNjE1QyAhZGVmYXVsdDtcclxuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgICAgICAgICAgICAgICAgbm9uZSAhZGVmYXVsdDtcclxuJGxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xyXG4kbGluay1ob3Zlci1kZWNvcmF0aW9uOiAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmUgIWRlZmF1bHQ7XHJcbi8vIERhcmtlbiBwZXJjZW50YWdlIGZvciBsaW5rcyB3aXRoIGAudGV4dC0qYCBjbGFzcyAoZS5nLiBgLnRleHQtc3VjY2Vzc2ApXHJcbiRlbXBoYXNpemVkLWxpbmstaG92ZXItZGFya2VuLXBlcmNlbnRhZ2U6IDE1JSAhZGVmYXVsdDtcclxuXHJcbi8vIFBhcmFncmFwaHNcclxuLy9cclxuLy8gU3R5bGUgcCBlbGVtZW50LlxyXG5cclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XHJcblxyXG5cclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gVFlQT0dSQVBIWSAgIC8vXHJcbi8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vL0BpbXBvcnQgdXJsKFwiaHR0cHM6Ly91c2UudHlwZWtpdC5uZXQvdW93MXJ3dy5jc3NcIik7XHJcbi8vQGltcG9ydCB1cmwoXCJodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9TG9yYTo0MDAsNDAwaSU3Q09wZW4rU2Fuczo0MDAsNDAwaSw3MDBcIik7XHJcblxyXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogXCJFdXJvcGFcIiwgXCJPcGVuIFNhbnNcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcclxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiBcIkV1cm9wYVwiLCBcIk9wZW4gU2Fuc1wiLCBzYW5zLXNlcmlmO1xyXG4kZm9udC1mYW1pbHktaWNvbnM6IFwiZm9udC1hd2Vzb21lXCI7XHJcblxyXG5cclxuLy8gQ29tcG9uZW50c1xyXG4vL1xyXG4vLyBEZWZpbmUgY29tbW9uIHBhZGRpbmcgYW5kIGJvcmRlciByYWRpdXMgc2l6ZXMgYW5kIG1vcmUuXHJcblxyXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC1zbTogICAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcclxuXHJcbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcclxuJGJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAgJGdyYXktMzAwICFkZWZhdWx0O1xyXG5cclxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xyXG4kYm9yZGVyLXJhZGl1cy1sZzogICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcclxuJGJvcmRlci1yYWRpdXMtc206ICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XHJcblxyXG4kcm91bmRlZC1waWxsOiAgICAgICAgICAgICAgICA1MHJlbSAhZGVmYXVsdDtcclxuXHJcbiRib3gtc2hhZG93LXNtOiAgICAgICAgICAgICAgIDAgLjEyNXJlbSAuMjVyZW0gcmdiYSgkYmxhY2ssIC4wNzUpICFkZWZhdWx0O1xyXG4kYm94LXNoYWRvdzogICAgICAgICAgICAgICAgICAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC4xNSkgIWRlZmF1bHQ7XHJcbiRib3gtc2hhZG93LWxnOiAgICAgICAgICAgICAgIDAgMXJlbSAzcmVtIHJnYmEoJGJsYWNrLCAuMTc1KSAhZGVmYXVsdDtcclxuXHJcbiRjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcclxuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xyXG5cclxuJGNhcmV0LXdpZHRoOiAgICAgICAgICAgICAgICAgLjNlbSAhZGVmYXVsdDtcclxuXHJcbiR0cmFuc2l0aW9uLWJhc2U6ICAgICAgICAgICAgIGFsbCAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XHJcbiR0cmFuc2l0aW9uLWZhZGU6ICAgICAgICAgICAgIG9wYWNpdHkgLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XHJcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XHJcblxyXG4kZW1iZWQtcmVzcG9uc2l2ZS1hc3BlY3QtcmF0aW9zOiAoKSAhZGVmYXVsdDtcclxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIHNjc3MvZG9sbGFyLXZhcmlhYmxlLWRlZmF1bHRcclxuJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvczogam9pbihcclxuICAoXHJcbiAgICAoMjEgOSksXHJcbiAgICAoMTYgOSksXHJcbiAgICAoMyA0KSxcclxuICAgICgxIDEpLFxyXG4gICksXHJcbiAgJGVtYmVkLXJlc3BvbnNpdmUtYXNwZWN0LXJhdGlvc1xyXG4pO1xyXG5cclxuLy8gRm9udHNcclxuLy9cclxuLy8gRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXHJcblxyXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcclxuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6ICAgICAgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCBcIlNlZ29lIFVJXCIsIFJvYm90bywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBBcmlhbCwgXCJOb3RvIFNhbnNcIiwgc2Fucy1zZXJpZiwgXCJBcHBsZSBDb2xvciBFbW9qaVwiLCBcIlNlZ29lIFVJIEVtb2ppXCIsIFwiU2Vnb2UgVUkgU3ltYm9sXCIsIFwiTm90byBDb2xvciBFbW9qaVwiICFkZWZhdWx0O1xyXG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgICAgICBTRk1vbm8tUmVndWxhciwgTWVubG8sIE1vbmFjbywgQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xyXG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcclxuLy8gc3R5bGVsaW50LWVuYWJsZSB2YWx1ZS1rZXl3b3JkLWNhc2VcclxuXHJcbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxyXG4kZm9udC1zaXplLWxnOiAgICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XHJcbiRmb250LXNpemUtc206ICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAuODc1KSAhZGVmYXVsdDtcclxuXHJcbiRmb250LXdlaWdodC1saWdodGVyOiAgICAgICAgIGxpZ2h0ZXIgIWRlZmF1bHQ7XHJcbiRmb250LXdlaWdodC1saWdodDogICAgICAgICAgIDMwMCAhZGVmYXVsdDtcclxuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgNDAwICFkZWZhdWx0O1xyXG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XHJcbiRmb250LXdlaWdodC1ib2xkZXI6ICAgICAgICAgIGJvbGRlciAhZGVmYXVsdDtcclxuXHJcbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XHJcbiRsaW5lLWhlaWdodC1iYXNlOiAgICAgICAgICAgIDEuNSAhZGVmYXVsdDtcclxuXHJcbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcclxuJGgyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMiAhZGVmYXVsdDtcclxuJGgzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS43NSAhZGVmYXVsdDtcclxuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xyXG4kaDUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjI1ICFkZWZhdWx0O1xyXG4kaDYtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgIWRlZmF1bHQ7XHJcblxyXG4kaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTogICAgICAkc3BhY2VyIC8gMiAhZGVmYXVsdDtcclxuJGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICAgICAgaW5oZXJpdCAhZGVmYXVsdDtcclxuJGhlYWRpbmdzLWZvbnQtd2VpZ2h0OiAgICAgICAgNTAwICFkZWZhdWx0O1xyXG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XHJcbiRoZWFkaW5ncy1jb2xvcjogICAgICAgICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XHJcblxyXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xyXG4kZGlzcGxheTItc2l6ZTogICAgICAgICAgICAgICA1LjVyZW0gIWRlZmF1bHQ7XHJcbiRkaXNwbGF5My1zaXplOiAgICAgICAgICAgICAgIDQuNXJlbSAhZGVmYXVsdDtcclxuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xyXG5cclxuJGRpc3BsYXkxLXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xyXG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XHJcbiRkaXNwbGF5My13ZWlnaHQ6ICAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcclxuJGRpc3BsYXk0LXdlaWdodDogICAgICAgICAgICAgMzAwICFkZWZhdWx0O1xyXG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XHJcblxyXG4kbGVhZC1mb250LXNpemU6ICAgICAgICAgICAgICAoJGZvbnQtc2l6ZS1iYXNlICogMS4yNSkgIWRlZmF1bHQ7XHJcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcclxuXHJcbiRzbWFsbC1mb250LXNpemU6ICAgICAgICAgICAgIDgwJSAhZGVmYXVsdDtcclxuXHJcbiR0ZXh0LW11dGVkOiAgICAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcclxuXHJcbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcclxuJGJsb2NrcXVvdGUtc21hbGwtZm9udC1zaXplOiAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcclxuJGJsb2NrcXVvdGUtZm9udC1zaXplOiAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xyXG5cclxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcclxuJGhyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcclxuXHJcbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XHJcblxyXG4kZHQtZm9udC13ZWlnaHQ6ICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcclxuXHJcbiRrYmQtYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgLS4xcmVtIDAgcmdiYSgkYmxhY2ssIC4yNSkgIWRlZmF1bHQ7XHJcbiRuZXN0ZWQta2JkLWZvbnQtd2VpZ2h0OiAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xyXG5cclxuJGxpc3QtaW5saW5lLXBhZGRpbmc6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XHJcblxyXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xyXG5cclxuJGhyLW1hcmdpbi15OiAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcclxuXHJcblxyXG4vLy8vLy8vLy8vLy9cclxuLy8gTGlua3MgL1xyXG4vLy8vLy8vLy8vXHJcblxyXG4kbGluay1jb2xvcjogJGMtYmx1ZTtcclxuJGxpbmstaG92ZXItY29sb3I6IGRhcmtlbigkbGluay1jb2xvciwgMjAlKSAhZGVmYXVsdDtcclxuXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBMYXlvdXQtIChvdmVycmlkZXMpXHJcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuXHJcbiRncmlkLWJyZWFrcG9pbnRzOiAoXHJcbiAgeHM6IDAsXHJcbiAgc206IDU3NnB4LFxyXG4gIG1kOiA3NjhweCxcclxuICBsZzogMTAwMHB4LFxyXG4gIC8vbGc6IDk5MnB4LFxyXG4gIHhsOiAxMjAwcHgsXHJcbiAgeHhsOiAxNjAwcHgsXHJcbikgIWRlZmF1bHQ7XHJcblxyXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcclxuICBzbTogNTQwcHgsXHJcbiAgbWQ6IDcyMHB4LFxyXG4gIC8vbGc6IDk2MHB4LFxyXG4gIGxnOiA5NjhweCxcclxuICB4bDogMTI3NHB4LFxyXG4gIHh4bDogMTU0MHB4LFxyXG4pICFkZWZhdWx0O1xyXG5cclxuJGdyaWQtZ3V0dGVyLXdpZHRoOiA0NXB4O1xyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4vLyBNZWRpYSAgIC8vXHJcbi8vLy8vLy8vLy8vLy8vLy8vL1xyXG4kbWVkaWEtd2lkdGgtZGVza3RvcDogNzY4cHg7XHJcbiRtZWRpYS13aWR0aC1tb2JpbGU6IDc2N3B4O1xyXG5cclxuJG1lZGlhLXdpZHRoLW1lbnUtZGVza3RvcDogMTAwMHB4O1xyXG4kbWVkaWEtd2lkdGgtbWVudS1tb2JpbGU6IDk5OXB4OyIsIi8vLyBDb252ZXJ0IGEgZGlyZWN0aW9uIHRvIGxlZ2FjeSBzeW50YXhcclxuLy8vIEBwYXJhbSB7S2V5d29yZCB8IEFuZ2xlfSAkdmFsdWUgLSBWYWx1ZSB0byBjb252ZXJ0XHJcbi8vLyBAcmVxdWlyZSB7ZnVuY3Rpb259IGlzLWRpcmVjdGlvblxyXG4vLy8gQHJlcXVpcmUge2Z1bmN0aW9ufSBjb252ZXJ0LWFuZ2xlXHJcbi8vLyBAdGhyb3cgQ2Fubm90IGNvbnZlcnQgYCN7JHZhbHVlfWAgdG8gbGVnYWN5IHN5bnRheCBiZWNhdXNlIGl0IGRvZXNuJ3Qgc2VlbSB0byBiZSBhIGRpcmVjdGlvbi47XHJcbkBmdW5jdGlvbiBsZWdhY3ktZGlyZWN0aW9uKCR2YWx1ZSkge1xyXG4gIEBpZiBpcy1kaXJlY3Rpb24oJHZhbHVlKSA9PSBmYWxzZSB7XHJcbiAgICBAZXJyb3IgXCJDYW5ub3QgY29udmVydCBgI3skdmFsdWV9YCB0byBsZWdhY3kgc3ludGF4IGJlY2F1c2UgaXQgZG9lc24ndCBzZWVtIHRvIGJlIGEgZGlyZWN0aW9uLlwiO1xyXG4gIH1cclxuXHJcbiAgJGNvbnZlcnNpb24tbWFwOiAoXHJcbiAgICB0byB0b3A6IGJvdHRvbSxcclxuICAgIHRvIHRvcCByaWdodDogYm90dG9tIGxlZnQsXHJcbiAgICB0byByaWdodCB0b3A6IGxlZnQgYm90dG9tLFxyXG4gICAgdG8gcmlnaHQ6IGxlZnQsXHJcbiAgICB0byBib3R0b20gcmlnaHQ6IHRvcCBsZWZ0LFxyXG4gICAgdG8gcmlnaHQgYm90dG9tOiBsZWZ0IHRvcCwgXHJcbiAgICB0byBib3R0b206IHRvcCxcclxuICAgIHRvIGJvdHRvbSBsZWZ0OiB0b3AgcmlnaHQsXHJcbiAgICB0byBsZWZ0IGJvdHRvbTogcmlnaHQgdG9wLFxyXG4gICAgdG8gbGVmdDogcmlnaHQsXHJcbiAgICB0byBsZWZ0IHRvcDogcmlnaHQgYm90dG9tLFxyXG4gICAgdG8gdG9wIGxlZnQ6IGJvdHRvbSByaWdodFxyXG4gICk7XHJcblxyXG4gIEBpZiBtYXAtaGFzLWtleSgkY29udmVyc2lvbi1tYXAsICR2YWx1ZSkge1xyXG4gICAgQHJldHVybiBtYXAtZ2V0KCRjb252ZXJzaW9uLW1hcCwgJHZhbHVlKTtcclxuICB9XHJcblxyXG4gIEByZXR1cm4gOTBkZWcgLSAkdmFsdWU7XHJcbn1cclxuXHJcblxyXG4vLyBCb290c3RyYXAgZnVuY3Rpb25zXHJcbi8vXHJcbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1YXRpbmcgc291cmNlIGNvZGUgYWNyb3NzIG91ciB2YXJpYWJsZXMsIG1hcHMsIGFuZCBtaXhpbnMuXHJcblxyXG4vLyBBc2NlbmRpbmdcclxuLy8gVXNlZCB0byBldmFsdWF0ZSBTYXNzIG1hcHMgbGlrZSBvdXIgZ3JpZCBicmVha3BvaW50cy5cclxuQG1peGluIF9hc3NlcnQtYXNjZW5kaW5nKCRtYXAsICRtYXAtbmFtZSkge1xyXG4gICRwcmV2LWtleTogbnVsbDtcclxuICAkcHJldi1udW06IG51bGw7XHJcbiAgQGVhY2ggJGtleSwgJG51bSBpbiAkbWFwIHtcclxuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCBvciB1bml0KCRudW0pID09IFwiJVwiIHtcclxuICAgICAgLy8gRG8gbm90aGluZ1xyXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcclxuICAgICAgQHdhcm4gXCJQb3RlbnRpYWxseSBpbnZhbGlkIHZhbHVlIGZvciAjeyRtYXAtbmFtZX06IFRoaXMgbWFwIG11c3QgYmUgaW4gYXNjZW5kaW5nIG9yZGVyLCBidXQga2V5ICcjeyRrZXl9JyBoYXMgdmFsdWUgI3skbnVtfSB3aG9zZSB1bml0IG1ha2VzIGl0IGluY29tcGFyYWJsZSB0byAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcclxuICAgIH0gQGVsc2UgaWYgJHByZXYtbnVtID49ICRudW0ge1xyXG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcclxuICAgIH1cclxuICAgICRwcmV2LWtleTogJGtleTtcclxuICAgICRwcmV2LW51bTogJG51bTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFN0YXJ0cyBhdCB6ZXJvXHJcbi8vIEFub3RoZXIgZ3JpZCBtaXhpbiB0aGF0IGVuc3VyZXMgdGhlIG1pbi13aWR0aCBvZiB0aGUgbG93ZXN0IGJyZWFrcG9pbnQgc3RhcnRzIGF0IDAuXHJcbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXApIHtcclxuICAkdmFsdWVzOiBtYXAtdmFsdWVzKCRtYXApO1xyXG4gICRmaXJzdC12YWx1ZTogbnRoKCR2YWx1ZXMsIDEpO1xyXG4gIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XHJcbiAgICBAd2FybiBcIkZpcnN0IGJyZWFrcG9pbnQgaW4gYCRncmlkLWJyZWFrcG9pbnRzYCBtdXN0IHN0YXJ0IGF0IDAsIGJ1dCBzdGFydHMgYXQgI3skZmlyc3QtdmFsdWV9LlwiO1xyXG4gIH1cclxufVxyXG5cclxuLy8gUmVwbGFjZSBgJHNlYXJjaGAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RyaW5nYFxyXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxyXG4vL1xyXG4vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcclxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xyXG4vLyBAcGFyYW0ge1N0cmluZ30gJHNlYXJjaCAtIFN1YnN0cmluZyB0byByZXBsYWNlXHJcbi8vIEBwYXJhbSB7U3RyaW5nfSAkcmVwbGFjZSAoJycpIC0gTmV3IHZhbHVlXHJcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xyXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6IFwiXCIpIHtcclxuICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcclxuXHJcbiAgQGlmICRpbmRleCB7XHJcbiAgICBAcmV0dXJuIHN0ci1zbGljZSgkc3RyaW5nLCAxLCAkaW5kZXggLSAxKSArICRyZXBsYWNlICsgc3RyLXJlcGxhY2Uoc3RyLXNsaWNlKCRzdHJpbmcsICRpbmRleCArIHN0ci1sZW5ndGgoJHNlYXJjaCkpLCAkc2VhcmNoLCAkcmVwbGFjZSk7XHJcbiAgfVxyXG5cclxuICBAcmV0dXJuICRzdHJpbmc7XHJcbn1cclxuXHJcbi8vIENvbG9yIGNvbnRyYXN0XHJcbkBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yLCAkZGFyazogJHlpcS10ZXh0LWRhcmssICRsaWdodDogJHlpcS10ZXh0LWxpZ2h0KSB7XHJcbiAgJHI6IHJlZCgkY29sb3IpO1xyXG4gICRnOiBncmVlbigkY29sb3IpO1xyXG4gICRiOiBibHVlKCRjb2xvcik7XHJcblxyXG4gICR5aXE6ICgoJHIgKiAyOTkpICsgKCRnICogNTg3KSArICgkYiAqIDExNCkpIC8gMTAwMDtcclxuXHJcbiAgQGlmICgkeWlxID49ICR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQpIHtcclxuICAgIEByZXR1cm4gJGRhcms7XHJcbiAgfSBAZWxzZSB7XHJcbiAgICBAcmV0dXJuICRsaWdodDtcclxuICB9XHJcbn1cclxuXHJcbi8vIFJldHJpZXZlIGNvbG9yIFNhc3MgbWFwc1xyXG5AZnVuY3Rpb24gY29sb3IoJGtleTogXCJibHVlXCIpIHtcclxuICBAcmV0dXJuIG1hcC1nZXQoJGNvbG9ycywgJGtleSk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiB0aGVtZS1jb2xvcigka2V5OiBcInByaW1hcnlcIikge1xyXG4gIEByZXR1cm4gbWFwLWdldCgkdGhlbWUtY29sb3JzLCAka2V5KTtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGdyYXkoJGtleTogXCIxMDBcIikge1xyXG4gIEByZXR1cm4gbWFwLWdldCgkZ3JheXMsICRrZXkpO1xyXG59XHJcblxyXG4vLyBSZXF1ZXN0IGEgdGhlbWUgY29sb3IgbGV2ZWxcclxuQGZ1bmN0aW9uIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvci1uYW1lOiBcInByaW1hcnlcIiwgJGxldmVsOiAwKSB7XHJcbiAgJGNvbG9yOiB0aGVtZS1jb2xvcigkY29sb3ItbmFtZSk7XHJcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICRibGFjaywgJHdoaXRlKTtcclxuICAkbGV2ZWw6IGFicygkbGV2ZWwpO1xyXG5cclxuICBAcmV0dXJuIG1peCgkY29sb3ItYmFzZSwgJGNvbG9yLCAkbGV2ZWwgKiAkdGhlbWUtY29sb3ItaW50ZXJ2YWwpO1xyXG59XHJcbiIsIlxyXG5cclxuLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuLy8gbWVkaWEgcXVlcmllcyAvL1xyXG4vLy8vLy8vLy8vLy8vLy8vLy8vXHJcblxyXG5AbWl4aW4gYnAoJHBvaW50KSB7XHJcblxyXG4gICAgQGlmICRwb2ludCA9PSBtZWRpdW0tbWF4IHtcclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvaW50ID09IHNtYWxsIHtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAkcG9pbnQgPT0gbWVkaXVtIHtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvaW50ID09IGxhcmdlIHtcclxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAgICAgICAgIEBjb250ZW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIEBlbHNlIGlmICRwb2ludCA9PSB4bGFyZ2Uge1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGVsc2UgaWYgJHBvaW50ID09IHh4bGFyZ2Uge1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxNjAwcHgpIHtcclxuICAgICAgICAgICAgQGNvbnRlbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gcm91Z2gtZWRnZSgkY29sb3I6IHdoaXRlLCAkcG9zaXRpb246IHRvcCkge1xyXG4gICAgYm9yZGVyLWltYWdlLXJlcGVhdDogc3RyZXRjaDtcclxuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XHJcbiAgICBib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoJy4uL2ltZy9yb3VnaC1lZGdlLXdoaXRlLnN2ZycpO1xyXG4gICAgLXdlYmtpdC1ib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoJy4uL2ltZy9yb3VnaC1lZGdlLXdoaXRlLnN2ZycpO1xyXG4gIFxyXG4gICAgICBAaWYgJGNvbG9yID09ICRjLWJsdWUtbGlnaHQge1xyXG4gICAgICBib3JkZXItaW1hZ2Utc291cmNlOiB1cmwoJy4uL2ltZy9yb3VnaC1lZGdlLWxpZ2h0LWJsdWUuc3ZnJyk7XHJcbiAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCcuLi9pbWcvcm91Z2gtZWRnZS1saWdodC1ibHVlLnN2ZycpO1xyXG4gICAgICB9XHJcbiAgXHJcbiAgICBAaWYgJGNvbG9yID09ICRjLWJsdWUtZGFyayB7XHJcbiAgICAgICAgYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCcuLi9pbWcvcm91Z2gtZWRnZS1kYXJrLWJsdWUuc3ZnJyk7XHJcbiAgICAgIC13ZWJraXQtYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCcuLi9pbWcvcm91Z2gtZWRnZS1kYXJrLWJsdWUuc3ZnJyk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAgIC8vIHBvc2l0aW9uIGJvdGhcclxuICAgICAgQGlmICRwb3NpdGlvbiA9PSBib3RoIHtcclxuICAgICAgICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAzNXB4IDAgNjBweCAwO1xyXG4gICAgICAgICAgYm9yZGVyLWltYWdlLW91dHNldDogMTRweCAwIDEwcHggMDtcclxuICAgICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiA0MjtcclxuICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgYnAobWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAzNXB4IDAgNjBweCAwO1xyXG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDIycHggMCAxOXB4IDA7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAxNDtcdFxyXG4gICAgICAgICAgfVxyXG4gIFxyXG4gICAgICAgICAgQGluY2x1ZGUgYnAoeGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAzNXB4IDAgNjVweCAwO1xyXG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDI4cHggMCAyNXB4IDA7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAzMDtcclxuICAgICAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgICAvL3Bvc2l0aW9uIGJvdHRvbVxyXG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gYm90dG9tIHtcclxuICAgICAgICAgIGJvcmRlci1pbWFnZS13aWR0aDogMCAwIDQ1cHggMDtcclxuICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDAgMCAzNXB4IDA7XHJcbiAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDM7XHJcbiAgICB9XHJcbiAgICBcclxuICAgICAgLy90b3BcclxuICAgICAgQGVsc2Uge1xyXG4gICAgICAgICAgYm9yZGVyLWltYWdlLXdpZHRoOiAzMnB4IDAgMCAwIDtcclxuICAgICAgICAgICAgYm9yZGVyLWltYWdlLW91dHNldDogMTlweCAwIDAgMDtcclxuICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogMjQ7XHJcbiAgXHJcbiAgICAgICAgICBAaW5jbHVkZSBicChzbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLW91dHNldDogMjNweCAwIDAgMDtcclxuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDMxO1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICAgICAgQGluY2x1ZGUgYnAgKHh4bGFyZ2Upe1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLW91dHNldDogMjNweCAwIDAgMDtcclxuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDUwO1xyXG4gICAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgXHJcbiAgICAgIEBjb250ZW50O1xyXG4gIH1cclxuICBcclxuXHJcbkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJGRpcmVjdGlvbiwgJGNvbG9yLXN0b3BzLi4uKSB7XHJcbiAgICAvLyBEaXJlY3Rpb24gaGFzIGJlZW4gb21pdHRlZCBhbmQgaGFwcGVucyB0byBiZSBhIGNvbG9yLXN0b3BcclxuICAgIEBpZiBpcy1kaXJlY3Rpb24oJGRpcmVjdGlvbik9PWZhbHNlIHtcclxuICAgICAgICAkY29sb3Itc3RvcHM6ICRkaXJlY3Rpb24sICRjb2xvci1zdG9wcztcclxuICAgICAgICAkZGlyZWN0aW9uOiAxODBkZWc7XHJcbiAgICB9XHJcbiAgICBiYWNrZ3JvdW5kOiBudGgobnRoKCRjb2xvci1zdG9wcywgMSksIDEpO1xyXG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVnYWN5LWRpcmVjdGlvbigkZGlyZWN0aW9uKSwgJGNvbG9yLXN0b3BzKTtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgkZGlyZWN0aW9uLCAkY29sb3Itc3RvcHMpO1xyXG59XHJcblxyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJGFyZ3MuLi4pIHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJGFyZ3M7XHJcbiAgICAtbW96LXRyYW5zaXRpb246ICRhcmdzO1xyXG4gICAgLW1zLXRyYW5zaXRpb246ICRhcmdzO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogJGFyZ3M7XHJcbiAgICB0cmFuc2l0aW9uOiAkYXJncztcclxuICB9XHJcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXHJcbiAgLy8gZGFya2VuIGJ0biBvbiBob3Zlci8vXHJcbiAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cclxuICBcclxuICBAbWl4aW4gYnRuLWhvdmVyKCRjb2xvcikge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTUlKTtcclxuICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRjb2xvciwgMTUlKTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgXHJcbiAgICB0cmFuc2l0aW9uOiBhbGwsIDAuNHM7XHJcbiAgICBjb2xvcjogJHdoaXRlO1xyXG4gIH1cclxuICBcclxuICAvL2ZvciBkYXJrIGJsdWUgYnV0dG9ucywgbWFpbmx5OlxyXG4gIEBtaXhpbiBidG4taG92ZXItbGlnaHQoJGNvbG9yKSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1ibHVlOyBcclxuICAgIGJvcmRlci1jb2xvcjogJGMtYmx1ZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IGFsbCwgMC40cztcclxuICB9XHJcbiAgLy8gYWRkIHRoaXMgdG8gaW1hZ2VzOiBcclxuICAvLyBvcGFjaXR5OiAxO1xyXG4gIC8vIC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDEwMCUpOy8vXHJcbiAgQG1peGluIGltZy1ob3ZlcigpIHtcclxuICAgIC13ZWJraXQtZmlsdGVyOiBicmlnaHRuZXNzKDcwJSk7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTtcclxuICAgIC1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xyXG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7XHJcbiAgfVxyXG5cclxuQG1peGluIGdyYWRpZW50LWRhcmtlbigkY29sb3IpIHtcclxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcclxuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCggMGRlZywgJGNvbG9yIDIlLCBsaWdodGVuKCRjb2xvciwgNSUpIDMwJSApO1xyXG4gIFxyXG4gIH1cclxuXHJcbi8qKiogRm9udCBGYW1pbHkgICoqKi9cclxuXHJcbiRmb250LWJvZHk6XCJFdXJvcGFcIixcclxuXCJPcGVuIFNhbnNcIixcclxuSGVsdmV0aWNhLFxyXG5BcmlhbCxcclxuc2Fucy1zZXJpZjtcclxuQG1peGluIGZvbnQtZmFtaWx5KCRmYWNlLCAkd2VpZ2h0KSB7XHJcbiAgICBmb250LWZhbWlseTogJGZhY2U7XHJcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcclxufVxyXG5cclxuQG1peGluIGJvZHktZm9udCB7XHJcbiAgICBAaW5jbHVkZSBmb250LWZhbWlseSgkZm9udC1ib2R5LCBub3JtYWwpO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICBjb2xvcjogJHJueS1uYXZ5LWJsdWU7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8qKiogRm9udC1zaXplIGFzIGgxLWg2IGhlYWRpbmdzICoqKi9cclxuXHJcbkBtaXhpbiBmb250LXhsIHtcclxuICAgIGZvbnQtc2l6ZTogNDhweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBsaW5lLWhlaWdodDogNTcuNnB4O1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICBmb250LXNpemU6IDQwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ3LjZweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAzNnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MC42cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LWxnIHtcclxuICAgIGZvbnQtc2l6ZTogMzZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiA0My4ycHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2LjJweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMi4ycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LW1kIHtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhNZWRpdW0pIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtaXhpbiBmb250LXNtIHtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC14cyB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjdweDtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5AbWl4aW4gZm9udC14eHMge1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuQG1peGluIGZvbnQtYm9sZCB7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzKSB7XHJcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XHJcbiAgICAtby1ib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcclxufVxyXG5cclxuQG1peGluIG9wYWNpdHkoJG9wYWNpdHkpIHtcclxuICAgIC13ZWJraXQtb3BhY2l0eTogJG9wYWNpdHk7XHJcbiAgICAtbW96LW9wYWNpdHk6ICRvcGFjaXR5O1xyXG4gICAgLW8tb3BhY2l0eTogJG9wYWNpdHk7XHJcbiAgICAtbXMtb3BhY2l0eTogJG9wYWNpdHk7XHJcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcclxufVxyXG5cclxuQG1peGluIHRyYW5zaXRpb24oJHNlY29uZHMsICR0aW1pbmc6IGVhc2UpIHtcclxuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsICRzZWNvbmRzIGVhc2U7XHJcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAkc2Vjb25kcyBlYXNlO1xyXG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAkc2Vjb25kcyBlYXNlO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogYWxsICRzZWNvbmRzIGVhc2U7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgJHNlY29uZHMgJHRpbWluZztcclxufVxyXG5cclxuQG1peGluIHRyYW5zZm9ybSgkcHJvcGVydHkpIHtcclxuICAgIC1vLXRyYW5zZm9ybTogJHByb3BlcnR5O1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06ICRwcm9wZXJ0eTtcclxuICAgIC1tcy10cmFuc2Zvcm06ICRwcm9wZXJ0eTtcclxuICAgIC1tb3otdHJhbnNmb3JtOiAkcHJvcGVydHk7XHJcbiAgICB0cmFuc2Zvcm06ICRwcm9wZXJ0eTtcclxufVxyXG5cclxuQG1peGluIGZsZXhib3goKSB7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbkBtaXhpbiBmbGV4Ym94SW1wKCkge1xyXG4gICAgZGlzcGxheTogLW1zLWZsZXhib3ggIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleCAhaW1wb3J0YW50O1xyXG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWl4aW4gdGV4dC1zaGFkb3coJHgtYXhpcywgJHktYXhpcywgJGJsdXIsICRjb2xvcikge1xyXG4gICAgLW1zLXRleHQtc2hhZG93OiAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xyXG4gICAgLW8tdGV4dC1zaGFkb3c6ICR4LWF4aXMgJHktYXhpcyAkYmx1ciAkY29sb3I7XHJcbiAgICAtd2Via2l0LXRleHQtc2hhZG93OiAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xyXG4gICAgLW1vei10ZXh0LXNoYWRvdzogJHgtYXhpcyAkeS1heGlzICRibHVyICRjb2xvcjtcclxuICAgIHRleHQtc2hhZG93OiAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNoYWRvdygkeC1heGlzLCAkeS1heGlzLCAkYmx1ciwgJGNvbG9yKSB7XHJcbiAgICAtbXMtYm94LXNoYWRvdzogJHgtYXhpcyAkeS1heGlzICRibHVyICRjb2xvcjtcclxuICAgIC1vLWJveC1zaGFkb3c6ICR4LWF4aXMgJHktYXhpcyAkYmx1ciAkY29sb3I7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6ICR4LWF4aXMgJHktYXhpcyAkYmx1ciAkY29sb3I7XHJcbiAgICAtbW96LWJveC1zaGFkb3c6ICR4LWF4aXMgJHktYXhpcyAkYmx1ciAkY29sb3I7XHJcbiAgICBib3gtc2hhZG93OiAkeC1heGlzICR5LWF4aXMgJGJsdXIgJGNvbG9yO1xyXG59XHJcblxyXG5AbWl4aW4gYm94LXNoYWRvdy1ub25lIHtcclxuICAgIC1tcy1ib3gtc2hhZG93OiBub25lO1xyXG4gICAgLW8tYm94LXNoYWRvdzogbm9uZTtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogbm9uZTtcclxuICAgIC1tb3otYm94LXNoYWRvdzogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbn1cclxuXHJcbkBtaXhpbiB0ZXh0LXNoYWRvdy1ub25lIHtcclxuICAgIC1tcy10ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgIC1vLXRleHQtc2hhZG93OiBub25lO1xyXG4gICAgLXdlYmtpdC10ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgIC1tb3otdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcclxufVxyXG5cclxuQG1peGluIGJveCgkcHJvcGVydHkpIHtcclxuICAgIGJveC1zaXppbmc6ICRwcm9wZXJ0eTtcclxuICAgIC1tb3otYm94LXNpemluZzogJHByb3BlcnR5O1xyXG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkcHJvcGVydHk7XHJcbiAgICAtby1ib3gtc2l6aW5nOiAkcHJvcGVydHk7XHJcbn1cclxuXHJcbkBtaXhpbiB0cmFucy1hbmltLW5vbmUge1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBub25lO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOiBub25lO1xyXG4gICAgLW8tdHJhbnNpdGlvbjogbm9uZTtcclxuICAgIHRyYW5zaXRpb246IG5vbmU7XHJcbn1cclxuXHJcbkBtaXhpbiBzcGFjZS1ub25lIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiBhcHAtbm9uZSB7XHJcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICAtby1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgLW1zLWFwcGVhcmFuY2U6IG5vbmU7XHJcbiAgICBhcHBlYXJhbmNlOiBub25lO1xyXG59XHJcblxyXG5AbWl4aW4gcG9pbnQtbm9uZSB7XHJcbiAgICAtd2Via2l0LXBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgLW1vei1wb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIC1vLXBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgLW1zLXBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcblxyXG4vKioqIEJhY2tncm91bmQgcHJvcGVydGllcyAgKioqL1xyXG5cclxuQG1peGluIGJnLWNtbiB7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbn1cclxuXHJcbkBtaXhpbiBiZy1wYXJhbGxheCB7XHJcbiAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkO1xyXG4gICAgQGluY2x1ZGUgYmctY21uO1xyXG59XHJcblxyXG5cclxuQG1peGluIHJvdWdoLWVkZ2UoJGNvbG9yOiB3aGl0ZSwgJHBvc2l0aW9uOiB0b3ApIHtcclxuICAgIGJvcmRlci1pbWFnZS1yZXBlYXQ6IHN0cmV0Y2g7XHJcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xyXG4gICAgYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCcuLi9pbWcvcm91Z2gtZWRnZS13aGl0ZS5zdmcnKTtcclxuICAgIC13ZWJraXQtYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCcuLi9pbWcvcm91Z2gtZWRnZS13aGl0ZS5zdmcnKTtcclxuICBcclxuICAgICAgQGlmICRjb2xvciA9PSAkYy1ibHVlLWxpZ2h0IHtcclxuICAgICAgYm9yZGVyLWltYWdlLXNvdXJjZTogdXJsKCcuLi9pbWcvcm91Z2gtZWRnZS1saWdodC1ibHVlLnN2ZycpO1xyXG4gICAgICAgICAgICAtd2Via2l0LWJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnLi4vaW1nL3JvdWdoLWVkZ2UtbGlnaHQtYmx1ZS5zdmcnKTtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgQGlmICRjb2xvciA9PSAkYy1ibHVlLWRhcmsge1xyXG4gICAgICAgIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnLi4vaW1nL3JvdWdoLWVkZ2UtZGFyay1ibHVlLnN2ZycpO1xyXG4gICAgICAtd2Via2l0LWJvcmRlci1pbWFnZS1zb3VyY2U6IHVybCgnLi4vaW1nL3JvdWdoLWVkZ2UtZGFyay1ibHVlLnN2ZycpO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgICAvLyBwb3NpdGlvbiBib3RoXHJcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gYm90aCB7XHJcbiAgICAgICAgICAgIGJvcmRlci1pbWFnZS13aWR0aDogMzVweCAwIDYwcHggMDtcclxuICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDE0cHggMCAxMHB4IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogNDI7XHJcbiAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGJwKG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS13aWR0aDogMzVweCAwIDYwcHggMDtcclxuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utb3V0c2V0OiAyMnB4IDAgMTlweCAwO1xyXG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogMTQ7XHRcclxuICAgICAgICAgIH1cclxuICBcclxuICAgICAgICAgIEBpbmNsdWRlIGJwKHhsYXJnZSkge1xyXG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS13aWR0aDogMzVweCAwIDY1cHggMDtcclxuICAgICAgICAgICAgICBib3JkZXItaW1hZ2Utb3V0c2V0OiAyOHB4IDAgMjVweCAwO1xyXG4gICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogMzA7XHJcbiAgICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgICAgLy9wb3NpdGlvbiBib3R0b21cclxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGJvdHRvbSB7XHJcbiAgICAgICAgICBib3JkZXItaW1hZ2Utd2lkdGg6IDAgMCA0NXB4IDA7XHJcbiAgICAgICAgICBib3JkZXItaW1hZ2Utb3V0c2V0OiAwIDAgMzVweCAwO1xyXG4gICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAzO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAgIC8vdG9wXHJcbiAgICAgIEBlbHNlIHtcclxuICAgICAgICAgIGJvcmRlci1pbWFnZS13aWR0aDogMzJweCAwIDAgMCA7XHJcbiAgICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDE5cHggMCAwIDA7XHJcbiAgICAgICAgICBib3JkZXItaW1hZ2Utc2xpY2U6IDI0O1xyXG4gIFxyXG4gICAgICAgICAgQGluY2x1ZGUgYnAoc21hbGwpIHtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDIzcHggMCAwIDA7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAzMTtcclxuICAgICAgfVxyXG4gICAgICBcclxuICAgICAgICAgIEBpbmNsdWRlIGJwICh4eGxhcmdlKXtcclxuICAgICAgICAgICAgICAgIGJvcmRlci1pbWFnZS1vdXRzZXQ6IDIzcHggMCAwIDA7XHJcbiAgICAgICAgICAgICAgYm9yZGVyLWltYWdlLXNsaWNlOiA1MDtcclxuICAgICAgICAgIH1cclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBAY29udGVudDtcclxuICB9XHJcbiAgIiwiW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcclxuICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xyXG4gIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcclxuICBzcGVhazogbmV2ZXI7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgZm9udC12YXJpYW50OiBub3JtYWw7XHJcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgbGluZS1oZWlnaHQ6IDE7XHJcblxyXG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xyXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbn1cclxuXHJcbi5pY29uLXJveWFsLXRydWNrOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MTJcIjtcclxufVxyXG4uaWNvbi1yb3lhbC1kZWxldGU6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkxNVwiO1xyXG59XHJcbi5pY29uLXJveWFsLWZpbHRlcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTFlXCI7XHJcbn1cclxuLmljb24tcm95YWwtbWludXM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkxY1wiO1xyXG59XHJcbi5pY29uLXJveWFsLXBsdXM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkxZFwiO1xyXG59XHJcbi5pY29uLXJveWFsLXRlYS1wb3Q6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkxM1wiO1xyXG59XHJcbi5pY29uLXJveWFsLXRlYS1sZWF2ZXM6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkxNFwiO1xyXG59XHJcbi5pY29uLXJveWFsLXRlbXBlcmF0dXJlOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MTZcIjtcclxufVxyXG4uaWNvbi1yb3lhbC13ZXN0ZXJuOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MTdcIjtcclxufVxyXG4uaWNvbi1yb3lhbC1zdG9wd2F0Y2g6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkxOFwiO1xyXG59XHJcbi5pY29uLXJveWFsLWF2YWlsYWJpbGl0eTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTE5XCI7XHJcbn1cclxuLmljb24tcm95YWwtcG9zaXRpb246YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkxYVwiO1xyXG59XHJcbi5pY29uLXJveWFsLWluZ3JlZGllbnRzOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MWJcIjtcclxufVxyXG4uaWNvbi1yb3lhbC1zdGFyOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MTFcIjtcclxuICBjb2xvcjogIzRiNGI0YjtcclxufVxyXG4uaWNvbi1yb3lhbC1oYXJ2ZXN0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MGJcIjtcclxufVxyXG4uaWNvbi1yb3lhbC1iZWFuczpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTBjXCI7XHJcbn1cclxuLmljb24tcm95YWwtcGxhbnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwZFwiO1xyXG59XHJcbi5pY29uLXJveWFsLWVsZXZhdGlvbjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTBlXCI7XHJcbn1cclxuLmljb24tcm95YWwtcHJvZHVjZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwZlwiO1xyXG59XHJcbi5pY29uLXJveWFsLWxvY2F0aW9uOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MTBcIjtcclxufVxyXG4uaWNvbi1yb3lhbC1sb2NrOmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MGFcIjtcclxufVxyXG4uaWNvbi1yb3lhbC1jbG9zZTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTA4XCI7XHJcbn1cclxuLmljb24tcm95YWwtbWVudTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTA5XCI7XHJcbn1cclxuLmljb24tcm95YWwtc2FtcGxlLWJveDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTA3XCI7XHJcbiAgXHJcbn1cclxuLmljb24tcm95YWwtYXJyb3ctZGFzaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTA2XCI7XHJcbn1cclxuLmljb24tcm95YWwtUmlnaHQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwNVwiO1xyXG59XHJcbi5pY29uLXJveWFsLUluc3RhZ3JhbTpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTA0XCI7XHJcblxyXG59XHJcbi5pY29uLXJveWFsLXVzZXI6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwMVwiO1xyXG59XHJcbi5pY29uLXJveWFsLWNhcnQ6YmVmb3JlIHtcclxuICBjb250ZW50OiBcIlxcZTkwMlwiO1xyXG59XHJcbi5pY29uLXJveWFsLVNlYXJjaDpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XHJcbiAgY29sb3I6IzRiNGI0YjtcclxuICBmb250LXNpemU6MjBweDtcclxufVxyXG4uaWNvbi1yb3lhbC10ZXN0OmJlZm9yZSB7XHJcbiAgY29udGVudDogXCJcXGU5MDBcIjtcclxufVxyXG4iLCJAaW1wb3J0IFwiYmFzZVwiO1xyXG5cclxuLyogQmFzaWMgY29tbW9uIHJlc3RlIHN0eWxlICovXHJcblxyXG5AaW1wb3J0IFwiaGVscGVyQ2xhc3NcIjsgXHJcblxyXG4vKiBDdXN0b20gSGVscGVyIGNsYXNzZXMgc3R5bGUgKi9cclxuICBcclxuQGltcG9ydCBcImJ1dHRvblwiO1xyXG5cclxuLyogVGhlbWUgY29tbW9uIGJ1dHRvbiBzdHlsZSAqLyBcclxuICBcclxuQGltcG9ydCBcImZvcm1Db250cm9sXCI7IFxyXG5cclxuLyogVGhlbWUgY29tbW9uIEZvcm0gQ29udHJvbHMgU3R5bGUgKi8gXHJcblxyXG5AaW1wb3J0IFwiaGVhZGVyXCI7IFxyXG5cclxuLyogU3R5bGUgRm9yIEhlYWRlciAqL1xyXG5cclxuQGltcG9ydCBcImZvb3RlclwiO1xyXG4gXHJcbi8qIFN0eWxlIEZvciBGb290ZXIgKi8gICAgXHJcblxyXG5cclxuXHJcbi5mcmFjLXBvcC11cC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwcHg7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHotaW5kZXg6IDk5OTk5OTtcclxuICB9XHJcbiAgXHJcbiAgLmZyYWMtcG9wLXVwIHtcclxuICAgIHBhZGRpbmc6IDBweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDhweCA4cHggMTFweCByZ2JhKDUwLCA1MCwgNTAsIDAuMyk7XHJcbiAgICBib3gtc2hhZG93OiA4cHggOHB4IDExcHggcmdiYSg1MCwgNTAsIDUwLCAwLjMpO1xyXG4gICAgei1pbmRleDogOTk5OTk5OTtcclxuICAgIG1hcmdpbi10b3A6IDEwJTtcclxuICAgIG1hcmdpbi1sZWZ0OiBjYWxjKDUwJSAtIDM0NXB4KSAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzA3MWMyZjtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxuICBcclxuICAuZnJhYy1wb3AtdXAtY2xvc2Uge1xyXG4gICAgZm9udC1zaXplOiAyM3B4O1xyXG4gICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG4gICAgcGFkZGluZzogMXB4O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgcGFkZGluZy10b3A6IC0xMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICB9XHJcbiAgXHJcbiAgLmZyYWMtcG9wLXVwLWNsb3NlOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY0NjQ7XHJcbiAgfVxyXG4gIFxyXG4gIC5ub24tdXMtZnJhYy1wb3AtdXAtY29udGFpbmVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMHB4O1xyXG4gICAgbGVmdDogMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB6LWluZGV4OiA5OTk5OTk7XHJcbiAgfVxyXG4gIFxyXG4gIC5ub24tdXMtZnJhYy1wb3AtdXAge1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogOHB4IDhweCAxMXB4IHJnYmEoNTAsIDUwLCA1MCwgMC4zKTtcclxuICAgIGJveC1zaGFkb3c6IDhweCA4cHggMTFweCByZ2JhKDUwLCA1MCwgNTAsIDAuMyk7XHJcbiAgICB6LWluZGV4OiA5OTk5OTk5O1xyXG4gICAgbWFyZ2luLXRvcDogMTAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gMzQ1cHgpICFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxYzJmO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG4gIFxyXG4gIC5ub24tdXMtZnJhYy1wb3AtdXAtY2xvc2Uge1xyXG4gICAgZm9udC1zaXplOiAyM3B4O1xyXG4gICAgaGVpZ2h0OiAyNXB4O1xyXG4gICAgd2lkdGg6IDI1cHg7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICBtYXJnaW4tdG9wOiAwcHg7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmVkO1xyXG4gICAgcGFkZGluZzogMXB4O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gICAgcGFkZGluZy10b3A6IC0xMHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDEwcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTZweDtcclxuICB9XHJcbiAgXHJcbiAgLm5vbi11cy1mcmFjLXBvcC11cC1jbG9zZTpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2NDY0O1xyXG4gIH1cclxuICBcclxuXHJcblxyXG5cclxuXHJcbiIsIi8qKiogRGVmYXVsdCBTdHlsZSBSZXNldCAqKiovXHJcblxyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuICAgIEBpbmNsdWRlIGJveChib3JkZXItYm94KTtcclxufVxyXG5cclxuYm9keSB7XHJcbiAgICBAaW5jbHVkZSBzcGFjZS1ub25lO1xyXG4gICAgQGluY2x1ZGUgYm9keS1mb250O1xyXG4gICAgZm9udC1zbW9vdGg6IGF1dG87XHJcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhdXRvO1xyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG87XHJcbiAgICAvLyBwYWRkaW5nLXRvcDogNjZweDtcclxuICAgIC8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAvLyAgICAgcGFkZGluZy10b3A6IDYwcHg7XHJcbiAgICAvLyB9IFxyXG59XHJcblxyXG5hcnRpY2xlLFxyXG5hc2lkZSxcclxuZmlnY2FwdGlvbixcclxuZmlndXJlLFxyXG5mb290ZXIsXHJcbmhlYWRlcixcclxuaGdyb3VwLFxyXG5tYWluLFxyXG5uYXYsXHJcbnNlY3Rpb24ge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbmltZyxcclxuYSxcclxuaW5wdXQsXHJcbm5hdixcclxudGV4dGFyZWEsXHJcbnAsXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxufVxyXG5cclxuZmlndXJlIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGRpc3BsYXk6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmJ1dHRvbiB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5pbnB1dDpmb2N1cyxcclxuc2VsZWN0OmZvY3VzIHtcclxuICAgIG91dGxpbmU6IDA7XHJcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93LW5vbmU7XHJcbn1cclxuXHJcbnVsLFxyXG5vbCxcclxubGkge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbmEge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGNvbG9yOiAkcm55LW5hdnktYmx1ZTtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyk7XHJcbiAgICAvLyAmOmhvdmVyIHtcclxuICAgIC8vICAgICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgICAvLyB9XHJcbn1cclxuXHJcbmltZyB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB3aWR0aDogYXV0bztcclxufVxyXG5cclxuYmxvY2txdW90ZSxcclxuZmlndXJlLFxyXG5hZGRyZXNzIHtcclxuICAgIEBpbmNsdWRlIHNwYWNlLW5vbmU7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbn1cclxuXHJcbi50ZW1wbGF0ZXMtd3JhcHBlciB7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbm1haW4ge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xyXG4gICAgcGFkZGluZy10b3A6IDgxcHg7IC8vMTAycHg7XHJcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vaW1hZ2VzL2Zvb3Rlci1iZy5zdmcpIGJvdHRvbSBsZWZ0IHJlcGVhdC14IHRyYW5zcGFyZW50O1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNjlweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1MnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4uY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogMTU0MHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwIDIyLjVweDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAvLyBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleExhcmdlKSB7XHJcbiAgICAvLyAgICAgbWF4LXdpZHRoOiAxMjc0cHg7XHJcbiAgICAvLyB9IFxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEyNzRweDtcclxuICAgIH1cclxuICAgIC8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDokbGFyZ2UpIHtcclxuICAgIC8vICAgICBtYXgtd2lkdGg6IDk2OHB4O1xyXG4gICAgLy8gfVxyXG4gICAgLy8gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRleE1lZGl1bSkge1xyXG4gICAgLy8gICAgIG1heC13aWR0aDogOTY4cHg7XHJcbiAgICAvLyB9IFxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRtZWRpdW0pIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDk2OHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRTbWFsbCkge1xyXG4gICAgICAgIG1heC13aWR0aDogNzIwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGV4U21hbGwpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDU0MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5zZWN0aW9uLFxyXG4uc2VjdGlvbiB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLmRpdkltZyB7XHJcbiAgICBAaW5jbHVkZSBiZy1jbW47XHJcbn1cclxuXHJcbnAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqIEhlYWRpbmcgKioqL1xyXG5cclxuaDEsXHJcbi5oMSB7XHJcbiAgICBAaW5jbHVkZSBmb250LXhsO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbmgyLFxyXG4uaDIge1xyXG4gICAgQGluY2x1ZGUgZm9udC1sZztcclxuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5oMyxcclxuLmgzIHtcclxuICAgIEBpbmNsdWRlIGZvbnQtbWQ7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgIH1cclxufVxyXG5cclxuaDQsXHJcbi5oNCB7XHJcbiAgICBAaW5jbHVkZSBmb250LXNtO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbmg1LFxyXG4uaDUge1xyXG4gICAgQGluY2x1ZGUgZm9udC14cztcclxufVxyXG5cclxuaDYsXHJcbi5oNiB7XHJcbiAgICBAaW5jbHVkZSBmb250LXh4cztcclxufVxyXG5cclxuXHJcbi8qKiogTGlzdGluZyAqKiovXHJcblxyXG51bCB7XHJcbiAgICBtYXJnaW46IDBweCAwcHggMzBweDtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBAaW5jbHVkZSBib2R5LWZvbnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwcHggMHB4IDE1cHg7XHJcbiAgICAgICAgcGFkZGluZzogMHB4IDBweCAwcHggMTVweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICB3aWR0aDogNnB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDZweDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICBsZWZ0OiAwcHg7XHJcbiAgICAgICAgICAgIHRvcDogOHB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcm55LW5hdnktYmx1ZTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygxMDAlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbnVsLmxpc3QtdW5zdHlsZWQge1xyXG4gICAgbGkge1xyXG4gICAgICAgIG1hcmdpbjogMHB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDBweDtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vcm1hbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbm9sIHtcclxuICAgIG1hcmdpbjogMHB4IDBweCAzMHB4O1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgIGxpIHtcclxuICAgICAgICBjb3VudGVyLWluY3JlbWVudDogYXYtY291bnRlcjtcclxuICAgICAgICBAaW5jbHVkZSBib2R5LWZvbnQ7XHJcbiAgICAgICAgbWFyZ2luOiAwcHggMHB4IDIwcHg7XHJcbiAgICAgICAgcGFkZGluZzogMHB4IDBweCAwcHggMjBweDtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBjb3VudGVyKGF2LWNvdW50ZXIpIFwiLlwiO1xyXG4gICAgICAgICAgICBjb3VudGVyLWluY3JlbWVudDogbm9uZTtcclxuICAgICAgICAgICAgY29sb3I6ICRybnktbmF2eS1ibHVlO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGxlZnQ6IDBweDtcclxuICAgICAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VjdGlvbi5zZWN0aW9uLXRyYWRlciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4vLyBib2R5IC53b29jb21tZXJjZS1lcnJvcixcclxuLy8gYm9keSAud29vY29tbWVyY2UtaW5mbyxcclxuLy8gYm9keSAud29vY29tbWVyY2UtbWVzc2FnZSB7XHJcbi8vICAgICBtYXJnaW46IDA7XHJcbi8vIH1cclxuXHJcbi8vIGJvZHkgLndvb2NvbW1lcmNlLW5vdGljZXMtd3JhcHBlcixcclxuLy8gYm9keSAud29vY29tbWVyY2UtbWVzc2FnZSB7XHJcbi8vICAgICBtYXJnaW46IDA7XHJcbi8vICAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcclxuLy8gfVxyXG5cclxuLy8gYm9keSAud29vY29tbWVyY2Utbm90aWNlcy13cmFwcGVyIC53b29jb21tZXJjZS1tZXNzYWdlIHtcclxuLy8gICAgIHRvcDogMCAhaW1wb3J0YW50O1xyXG4vLyB9XHJcblxyXG4vLyBib2R5IC53b29jb21tZXJjZS1lcnJvciBsaTpiZWZvcmUge1xyXG4vLyAgICAgZGlzcGxheTogbm9uZTtcclxuLy8gfVxyXG5cclxuXHJcblxyXG4uY3VzdC1mb3JtIHtcclxuICAgIGRpc3BsYXk6ZmxleDsgXHJcbiAgICBmbGV4LWRpcmVjdGlvbjpyb3c7IFxyXG4gICAgbWFyZ2luOjRweDsgXHJcbiAgICB3aWR0aDoxMDAlO1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICAgIC5jdXN0LWZvcm0tbGFiZWwge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OmJvbGQ7XHJcbiAgICAgICAgZm9udC1zaXplOi44OGVtOyBcclxuICAgICAgICB3aGl0ZS1zcGFjZTpub3dyYXA7IFxyXG4gICAgICAgIG1heC13aWR0aDogMTMwcHg7XHJcbiAgICAgICAgd2lkdGg6IDIwJTtcclxuICAgIH1cclxuXHJcbiAgICAuY3VzdC1mb3JtLXNlbGVjdCB7XHJcbiAgICAgICAgd2lkdGg6IDgwJTsgXHJcbiAgICAgICAgbWF4LXdpZHRoOiAxMzcwcHg7IFxyXG4gICAgICAgIG1pbi13aWR0aDo1MDBweDtcclxuXHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkgeyAgIFxyXG4gICAgICAgICAgICBtaW4td2lkdGg6OTglICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHdpZHRoOjEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHNlbGVjdCB7XHJcbiAgICAgICAgICAgIHdpZHRoOjk5JTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5icm93c2luZy1hcyB7XHJcbiAgICBwb3NpdGlvbjpmaXhlZDsgXHJcbiAgICBkaXNwbGF5OmJsb2NrOyBcclxuICAgIHotaW5kZXg6MTAwMDsgXHJcbiAgICB3aWR0aDoxMDAlOyBcclxuICAgIHRvcDotMnB4O1xyXG4gICAgXHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTAwcHgpIHtcclxuICAgICAgICB0b3A6NDVweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5icm93c2luZy1hcy1pbm5uZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsIDE5OSwgNTgsIDAuMzEpOyBcclxuICAgICAgICBib3JkZXI6MXB4IHNvbGlkIGxpZ2h0eWVsbG93OyBcclxuICAgICAgICBtYXJnaW46YXV0bzsgIFxyXG4gICAgICAgIGNvbG9yOndoaXRlOyBcclxuICAgICAgICBmb250LXdlaWdodDpub3JtYWw7IFxyXG4gICAgICAgIGZvbnQtc2l6ZToxLjM1ZW0gIWltcG9ydGFudDsgXHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyBcclxuICAgICAgICBwYWRkaW5nOjFweDsgXHJcbiAgICAgICAgbGVmdDowOyBcclxuICAgICAgICB3aWR0aDoxMDAlOyBcclxuICAgICAgICBtYXgtd2lkdGg6NzAwcHg7IFxyXG4gICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA2cHg7IFxyXG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDsgXHJcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogbm9uZTsgXHJcbiAgICAgICAgb3ZlcmZsb3c6aGlkZGVuOyBcclxuICAgICAgICB0ZXh0LXdyYXA6bm9uZTsgXHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjkwMHB4KSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6JGMtYmx1ZS1kYXJrICFpbXBvcnRhbnQ7IFxyXG4gICAgICAgICAgICBib3JkZXI6MHB4IG5vbmUgdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgXHJcbiAgICAgICAgICAgIG1hcmdpbjphdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwcHg7IFxyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwcHg7IFxyXG4gICAgICAgICAgICBmb250LXNpemU6IC45ZW07XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uZC1ub25lLW1vYmlsZSB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6OTAwcHgpIHtcclxuICAgICAgICBkaXNwbGF5Om5vbmU7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5hbS1mcy1zYl9fc3RlcC1oZWFkaW5nIHtcclxuXHRjb2xvcjojZmZmZmZmICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5mYXJtLWRlc2NyaXB0aW9uIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWF4LWhlaWdodDo2MzVweDtcclxuXHRcdG92ZXJmbG93LXg6aGlkZGVuO1xyXG5cdFx0b3ZlcmZsb3cteTogYXV0bztcclxufVxyXG5cclxuLmNvdXBvbiB7XHJcblx0ZGlzcGxheTpub25lO1xyXG59XHJcblxyXG4ud29vY29tbWVyY2UtZm9ybS1jb3Vwb24tdG9nZ2xlIHtcclxuXHRkaXNwbGF5Om5vbmU7XHJcbn1cclxuXHJcbi5vZmZlcmluZy1mbGF2b3Itbm90ZSB7XHJcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogNHB4ICFpbXBvcnRhbnQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXRvcDogLTNweCAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmxvZ2luIGgxIGEge1xyXG5cclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3dwLWNvbnRlbnQvdGhlbWVzL3JveWFsLW55L2ltZy9sb2dvcy9ybnlfbG9nb19QYXJlbnQuc3ZnJyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDE0NHB4O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcclxuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICBjb2xvcjogIzNjNDM0YTtcclxuICAgIGhlaWdodDogMTEwcHg7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICBtYXJnaW46IDAgYXV0byAwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgd2lkdGg6IDExMHB4O1xyXG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XHJcbiAgICBvdXRsaW5lOiAwO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG5cclxufVxyXG5cclxuLnNiaS1oZWFkZXIuc2JpLWhlYWRlci10eXBlLXRleHQgIHtcclxuXHRcclxuXHRkaXNwbGF5Om5vbmU7XHJcblx0XHJcbn1cclxuXHJcbi5zYmlfaW5mb193cmFwcGVyIHtcclxuXHRcclxuXHRkaXNwbGF5Om5vbmU7XHJcbn1cclxuXHJcbiNzYl9pbnN0YWdyYW0ge1xyXG5cdG92ZXJmbG93OmhpZGRlbiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucm55LWJyYW5kcyAuZmlndXJlLWNhcmQtd3JhcCBmaWd1cmUgaW1nIHtcclxuXHRtaW4taGVpZ2h0OjM2NXB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbnNlY3Rpb24ucGF5bWVudC13cmFwcGVyIHtcclxuXHRtYXJnaW4tdG9wOi00OHB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbmEtbG9nb3V0LXRvYXN0LWNvbnRhaW5lciB7XHJcblx0d2lkdGg6NTUwcHggIWltcG9ydGFudDtcclxuXHRtYXgtd2lkdGg6OTV2dyAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucmVzZXJ2ZS1jb2xsYXBzYWJsZXtcclxuICAgIG1hcmdpbi1ib3R0b206MjBweCAhaW1wb3J0YW50O1xyXG4gICAgbWFyZ2luLXRvcDotMjBweCAhaW1wb3J0YW50O1xyXG4gICAgdHJhbnNpdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ucmVzdWx0cyB7XHJcbiAgICAuY29sbGFwc2VkLWdyb3VwLCAuY29mZmVlLWhlYWRlci1jb2xsYXBzZSAge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206MjBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG59XHJcbiIsIi5jbW4tc3BhY2Uge1xyXG4gICAgcGFkZGluZy10b3A6IDE1MHB4O1xyXG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEzNzBweCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDIwcHjigIs7XHJcbiAgICB9XHJcbn1cclxuXHJcblxyXG4vKioqIENvbW1vbiBDbGFzc2VzICoqKi9cclxuXHJcbi5zdGF0aWMtbGluayB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBjb2xvcjogJGJsYWNrLWNvbG9yO1xyXG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzKTtcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZC1mbGV4IHtcclxuICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbn1cclxuXHJcbi5oaWRlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbi5kLWFsaWduLWNlbnRlciB7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG59XHJcblxyXG4uZC1hbGlnbi1lbmQge1xyXG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xyXG59XHJcblxyXG4uZC1hbGlnbi1zdGFydCB7XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxufVxyXG5cclxuLmQtanVzdC1jZW50ZXIge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbi5kLWp1c3QtZW5kIHtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbn1cclxuXHJcbi5kLXNwYWNlLWJldHdlZW4ge1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG59XHJcblxyXG4uZC1mbGV4LXJvdyB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG59XHJcblxyXG4uZC1mbGV4LWNvbCB7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG59XHJcblxyXG4uZC1qdXN0LXN0YXJ0IHtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxufVxyXG5cclxuLnQtZmxleC1jb2x1bW4ge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgfVxyXG59XHJcblxyXG4udC10eHQtY2VudGVyIHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4udC1hbGlnbi1ub3JtYWwge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogbm9ybWFsO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubS1mbGV4LWNvbHVtbiB7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIH1cclxufVxyXG5cclxuLm0tZmxleC1yb3cge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tLXR4dC1sZWZ0IHtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gICAgfVxyXG59XHJcblxyXG4ubS1mbGV4LXdyYXAge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIH1cclxufVxyXG5cclxuLnR4dC1jZW50ZXIge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uanVzdC1sZWZ0IHtcclxuICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcclxufVxyXG5cclxuLmltZ0VsbSB7XHJcbiAgICBAaW5jbHVkZSBiZy1jbW47XHJcbn1cclxuXHJcbi5kZXNrdG9wIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubW9iaWxlLFxyXG4ubW9iaWxlLW1lbnUtYmFyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG59XHJcblxyXG4udC1hbGlnbi1jZW50ZXIge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgfVxyXG59XHJcblxyXG4ubS10eHQtY2VudGVyIHtcclxuICAgIGgyIHtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmF1dGhvci1uYW1lIHtcclxuICAgIGNvbG9yOiAkbGlnaHQtc3RvbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm0tYi0wIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLm0tcmVsYXRpdmUge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIH1cclxufVxyXG5cclxuLmJvZHlfZml4ZWQge1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufVxyXG5cclxuLm0tYmxvY2sge1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5kaXNhYmxlbGluayB7XHJcbiAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbn1cclxuXHJcbi8vIC5kLWFsaWduLXN0YXJ0IHtcclxuLy8gICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4vLyB9XHJcbi8vIC5tLWFsaWduLXN0YXJ0IHtcclxuLy8gICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuLy8gICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xyXG4vLyAgICAgfVxyXG4vLyB9XHJcbi8vIC5tLWFsaWduLWNlbnRlciB7XHJcbi8vICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbi8vICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuLy8gICAgIH1cclxuLy8gfVxyXG4vLyAubS1hbGlnbi1pbmhlcml0IHtcclxuLy8gICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsgXHJcbi8vICAgICAgICAgYWxpZ24taXRlbXM6IGluaGVyaXQ7XHJcbi8vICAgICB9XHJcbi8vIH1cclxuLmQtbm9uZSB7XHJcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn0iLCIvKioqIENvbW1vbiBBbGwgQnV0dG9ucyAqKioqL1xyXG5cclxuLmJ0biB7XHJcbiAgICBwYWRkaW5nOiAxNHB4IDI0cHg7XHJcbiAgICBtaW4td2lkdGg6IDEwNXB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogJGxpZ2h0LXN0b25lO1xyXG4gICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIC8vIEBpbmNsdWRlIGZvbnQtZmFtaWx5KCR5YW5Cb2xkICwgYm9sZCk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcclxuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC4zcyk7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdy1ub25lO1xyXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwKTtcclxuICAgIEBpbmNsdWRlIGFwcC1ub25lO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgICBjb2xvcjogJHJueS1zZWNvbmRhcnktYmx1ZTtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICBwYWRkaW5nOiAxMXB4IDIwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAxMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIH1cclxuICAgIGVtIHtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogLTZweDtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xyXG4gICAgICAgIGNvbG9yOiAkcm55LXNlY29uZGFyeS1ibHVlO1xyXG4gICAgICAgICYuYWZ0ZXIge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNDgsIDc4LCAxMDgsIDAuMSk7XHJcbiAgICB9XHJcbiAgICAmOmRpc2FibGVkLFxyXG4gICAgJi5kaXNhYmxlZCB7XHJcbiAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwLjQpO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgfVxyXG4gICAgJi5idG4tc21hbGwge1xyXG4gICAgICAgIHBhZGRpbmc6IDExcHggOHB4O1xyXG4gICAgfVxyXG4gICAgJi5idG4tc2Vjb25kYXJ5IHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm55LXNlY29uZGFyeS1ibHVlO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgZW0ge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMCwgMCwgMCwgMC4yKSwgcmdiYSgwLCAwLCAwLCAwLjIpKSwgIzMwNEU2QztcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJ0bi1vdXRsaW5lIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICRybnktc2Vjb25kYXJ5LWJsdWU7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDgsIDc4LCAxMDgsIDAuMSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi5idG4tZ29sZCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJueS1nb2xkO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC44KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmJ0bi13aGl0ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgIGNvbG9yOiAkcm55LW5hdnktYmx1ZTtcclxuICAgICAgICBlbSB7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcm55LXNlY29uZGFyeS1ibHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMTAsIDI5LCA0NiwgMC4yKSwgcmdiYSgxMCwgMjksIDQ2LCAwLjIpKSwgI0ZGRkZGRjtcclxuICAgICAgICB9XHJcbiAgICAgICAgJl9fb3V0bGluZSB7XHJcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmX190cmFuc3BhcmVudCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYnRuLWljb24ge1xyXG4gICAgICAgIHBhZGRpbmc6IDVweCAyNHB4O1xyXG4gICAgICAgIGhlaWdodDogNDhweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzhweDtcclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMjBweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiA0NHB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzRweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJ0biB7XHJcbiAgICAmW2Rpc2FibGVkXSxcclxuICAgICY6ZGlzYWJsZWQge1xyXG4gICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMC40KTtcclxuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGRhcmstZ3JheTtcclxuICAgICAgICBlbSB7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICYuYnRuLXNlY29uZGFyeSB7XHJcbiAgICAgICAgJltkaXNhYmxlZF0sXHJcbiAgICAgICAgJjpkaXNhYmxlZCB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uaHlwZXItbGluayB7XHJcbiAgICBjb2xvcjogJGxpZ2h0LXN0b25lO1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICAvLyBAaW5jbHVkZSBmb250LWZhbWlseSgkeWFuQm9sZCAsIGJvbGQpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGxldHRlci1zcGFjaW5nOiAxLjI1cHg7XHJcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xyXG4gICAgb3V0bGluZTogbm9uZTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHN0b25lLWNvbG9yO1xyXG4gICAgICAgIGVtIHtcclxuICAgICAgICAgICAgY29sb3I6ICRzdG9uZS1jb2xvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBlbSB7XHJcbiAgICAgICAgY29sb3I6ICRsaWdodC1zdG9uZTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuM3MpO1xyXG4gICAgICAgICYuaWNvbi1ub3JtYWwtYXJyb3cge1xyXG4gICAgICAgICAgICBtYXJnaW46IDBweCAwcHggMCAxMHB4O1xyXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYubGVmdC1pY29uIHtcclxuICAgICAgICAgICAgbWFyZ2luOiAwcHggMTBweCAwIDA7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTlweDtcclxuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyoqKiBDb21tb24gRm9ybXMgRWxlbWVudHMgKioqL1xyXG5cclxuLy8gbGFiZWx7XHJcbi8vICAgY29sb3I6ICRzdG9uZS1jb2xvcjtcclxuLy8gICAvLyBmb250LWZhbWlseTogJHlhbk1lZDtcclxuLy8gICBmb250LXN0eWxlOiBub3JtYWw7XHJcbi8vICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuLy8gICBmb250LXNpemU6IDE2cHg7XHJcbi8vICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbi8vICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xyXG4vLyAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbi8vIH1cclxuXHJcbi5mb3JtLWNvbnRyb2wge1xyXG4gIHBhZGRpbmc6MTFweCAyMHB4O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kOiAkd2hpdGUtY29sb3I7XHJcbiAgQGluY2x1ZGUgYm9keS1mb250KCk7XHJcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjNzKTtcclxuICBvdXRsaW5lOiBub25lO1xyXG4gIEBpbmNsdWRlIGJveC1zaGFkb3ctbm9uZTtcclxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xyXG4gIEBpbmNsdWRlIGFwcC1ub25lO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmF5OyBcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JGxhcmdlKXtcclxuICAgICAgICBwYWRkaW5nOiA4cHggMjBweDsgIFxyXG4gICAgfSBcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICBwYWRkaW5nOiA2cHggMTVweDsgXHJcbiAgICB9IFxyXG4gICAgJjpob3ZlcnsgXHJcbiAgICAgIEBpbmNsdWRlIGJveC1zaGFkb3coMCwgMCwgMCwgMnB4ICRncmF5KTtcclxuICAgICAgfVxyXG4gICAgJjpmb2N1c3tcclxuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygwLCAwLCAwLCAycHggJGdyYXkpO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGdyYXk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5mb3JtLWNvbnRyb2w6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgeyBcclxuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XHJcbiAgICBjb2xvcjogJGRhcmstZ3JheTsgXHJcbiAgfVxyXG4uZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVyIHsgXHJcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xyXG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgfVxyXG4uZm9ybS1jb250cm9sOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcbiAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xyXG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgfVxyXG4uZm9ybS1jb250cm9sOi1tb3otcGxhY2Vob2xkZXIgeyBcclxuICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XHJcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICB9XHJcblxyXG4gIC5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLC5mb3JtLWNvbnRyb2w6ZGlzYWJsZWQge1xyXG4gICBcclxuICAgIEBpbmNsdWRlIG9wYWNpdHkoMC41KTtcclxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgXHJcbn1cclxuXHJcbnRleHRhcmVhe1xyXG4gIGhlaWdodDogMTgwcHg7XHJcbiAgcmVzaXplOiBub25lOyBcclxufVxyXG5cclxuICAvKioqIFJlc3BvbnNpdmUgaW9zIGlucHV0ICoqKi9cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcclxuXHJcbiAgc2VsZWN0LFxyXG4gIHRleHRhcmVhLFxyXG4gIGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG4gIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuICBpbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXHJcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxyXG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxyXG4gIGlucHV0W3R5cGU9XCJtb250aFwiXSxcclxuICBpbnB1dFt0eXBlPVwidGltZVwiXSxcclxuICBpbnB1dFt0eXBlPVwid2Vla1wiXSxcclxuICBpbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxyXG4gIGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuICBpbnB1dFt0eXBlPVwidGVsXCJdLFxyXG4gIGlucHV0W3R5cGU9XCJ1cmxcIl0ge1xyXG4gICAgICBmb250LXNpemU6IDE2cHggIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbiAvKioqIENoZWNrIEJveCAgKioqL1xyXG5cclxuLmNtbi1jaGVja2JveCB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW4tYm90dG9tOiAxNnB4O1xyXG4gICY6bGFzdC1jaGlsZCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuICBpbnB1dCB7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XHJcbiAgICAmOmNoZWNrZWQgKyBsYWJlbHtcclxuICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICBiYWNrZ3JvdW5kOnVybCgnLi4vLi4vaW1hZ2VzL2ljb25zL3JveWFsLWNoZWNrZWQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciAkcm55LW5hdnktYmx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBsYWJlbCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XHJcbiAgICB9XHJcbiAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiAzcHg7XHJcbiAgICAgIHRvcDogM3B4OyAgXHJcbiAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRkYXJrLWdyYXk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xyXG4gICAgICBzcGVhazogbmV2ZXI7XHJcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XHJcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICBsaW5lLWhlaWdodDogMTtcclxuICAgICAgLy8gQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzKTtcclxuICAgICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXHJcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG4gICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgdGV4dC1pbmRlbnQ6IDNweDtcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uY21uLWNoZWNrYm94IHtcclxuICBpbnB1dFtkaXNhYmxlZF0saW5wdXQ6ZGlzYWJsZWR7XHJcbiAgICAmICsgbGFiZWx7XHJcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICBAaW5jbHVkZSBvcGFjaXR5KDAuNSk7XHJcbiAgICB9XHJcbiAgfVxyXG59ICBcclxuXHJcbiAvKioqIFJhZGlvIEJ1dHRvbiAgKioqL1xyXG5cclxuIC5jbW4tcmFkaW8ge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgXHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbi1yaWdodDogMTVweDtcclxuICBpbnB1dCB7XHJcbiAgICB3aWR0aDogMDtcclxuICAgIGhlaWdodDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGZvbnQtc2l6ZTogMDtcclxuICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XHJcbiAgICAmOmNoZWNrZWQgKyBsYWJlbHtcclxuICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgIGJhY2tncm91bmQ6dXJsKC4uL2ltYWdlcy9pY29ucy9yb3lhbC1jaGVja2VkLnN2Zykgbm8tcmVwZWF0IGNlbnRlciAkcm55LW5hdnktYmx1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gXHJcbiAgbGFiZWwge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMDtcclxuICAgICAgdG9wOiAycHg7IFxyXG4gICAgICB3aWR0aDogMThweDsgXHJcbiAgICAgIGhlaWdodDogMThweDtcclxuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmstZ3JheTtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDUwJSk7IFxyXG4gICAgIFxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNtbi1yYWRpbyB7XHJcbiAgaW5wdXRbZGlzYWJsZWRdLGlucHV0OmRpc2FibGVke1xyXG4gICAgJiArIGxhYmVse1xyXG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xyXG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwLjUpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmNvbnRyb2wtY29se1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmc6IDAgMTZweDtcclxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICYuY29sLTJ7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRTbWFsbCl7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAmOmxhc3QtY2hpbGR7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuc2VsZWN0IHtcclxuICAmLmZvcm0tY29udHJvbCB7XHJcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9yb3lhbC1Eb3duLnN2ZycpO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDhweCkgY2VudGVyO1xyXG4gICAgcGFkZGluZzogN3B4IDM3cHggN3B4IDhweDtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBjb2xvcjogJHJueS1zZWNvbmRhcnktYmx1ZTtcclxuICAgIG1pbi13aWR0aDogMTEwcHg7XHJcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuIiwiLnNyLW9ubHktZm9jdXNhYmxlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbiNoZWFkZXItbmF2IHtcclxuICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbmhlYWRlciB7XHJcbiAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHJueS1uYXZ5LWJsdWU7XHJcbiAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIHRvcDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDk5O1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDU3cHg7XHJcbiAgICB9XHJcbiAgICAmPi5jb250YWluZXIge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgLm5hdmJhci1sb2dvLWZ1bGwge1xyXG4gICAgICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA5OHB4O1xyXG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAxM3B4O1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcclxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5tYWluLW1lbnUtbmF2IHtcclxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaWEtd2lkdGgtbWVudS1tb2JpbGUpIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWVkaWEtd2lkdGgtbWVudS1kZXNrdG9wKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBuYXYge1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgLmhlYWRlci1tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAqIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc3BhY2Utbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+dWwuZHJvcGRvd24tbWVudSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmN1c3RvbS11bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDEpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgb3BhY2l0eSgwKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRybnktbmF2eS1ibHVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcm55LWJvcmRlci1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnMtYW5pbS1ub25lKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRybnktZ29sZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY3VzdG9tLXVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcm55LW5hdnktYmx1ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcGFkZGluZzogMTVweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHJueS1ib3JkZXItY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJueS1uYXZ5LWJsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcm55LWJvcmRlci1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDEwN3B4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUtc2Vjb25kLWxldmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHggMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzNy41JTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMzBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDNuKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPnVsLmRyb3Bkb3duLW1lbnUtdGhpcmQtbGV2ZWw+bGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcm55LWdvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj51bC5kcm9wZG93bi1tZW51LXRoaXJkLWxldmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIC0xNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI0U4RUFFQjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcm55LWdvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jYXQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJueS1ibHVlLWZvb3RlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMzBweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjQ2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgLTE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlndXJlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxNjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxODBweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMzBweCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTAwcHgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRybnktZ29sZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAmPnVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJj5saSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5hIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+YSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMHB4KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaWdodDogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+YSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LXhzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMTVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktZ29sZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMDAuNHMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5oZWFkZXItYnV0dG9ucyB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgICAgICAgJj4uaGVhZGVyLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA0MHB4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMThweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzU5cHgpIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMTJweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xMnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogLTEycHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogLTQzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTQzcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDBweCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuaGVhZGVyLWRyb3Bkb3duIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9wYWNpdHkoMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuY2FydC1jb3VudCB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdFdXJvcGEnLCBzYW5zLXNlcmlmO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0I1OTAzODtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzBBMUQyRTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTEwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC0xMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYuc2FtcGxlLWJveCB7XHJcbiAgICAgICAgICAgICAgICAgICAgLmNhcnQtY291bnQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IC0xNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY+YSxcclxuICAgICAgICAgICAgICAgICY+c3BhbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzKTtcclxuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICYuaWNvbi1yb3lhbC11c2VyLFxyXG4gICAgICAgICAgICAgICAgICAgICYuaWNvbi1yb3lhbC1zYW1wbGUtYm94IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJueS1nb2xkO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJi5zaXRlLWFkbWluIHtcclxuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oZWFkZXItZHJvcGRvd24ge1xyXG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgdG9wOiA2M3B4O1xyXG4gICAgd2lkdGg6IDIwMHB4O1xyXG4gICAgYmFja2dyb3VuZDogJHJueS1uYXZ5LWJsdWU7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHJueS1ib3JkZXItY29sb3I7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICByaWdodDogLTUwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcm55LW5hdnktYmx1ZTtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkcm55LWJvcmRlci1jb2xvcjtcclxuICAgIHBhZGRpbmc6IDE1cHggMDtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgdG9wOiA0NXB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWVkaXVtKSB7XHJcbiAgICAgICAgdG9wOiAzNnB4O1xyXG4gICAgfVxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAwcHgpIHtcclxuICAgICAgICBAaW5jbHVkZSBvcGFjaXR5KDApO1xyXG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyk7XHJcbiAgICB9XHJcbiAgICB1bCB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIEBpbmNsdWRlIHNwYWNlLW5vbmU7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDMwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC40cyk7XHJcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHJueS1nb2xkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4ubW9iaWxlLW1lbnUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1lbnUtbW9iaWxlKSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgICAgc2NhbGU6MS42O1xyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGlhLXdpZHRoLW1lbnUtbW9iaWxlKSB7XHJcbiAgICBoZWFkZXIge1xyXG4gICAgICAgICY+LmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIC5tYWluLW1lbnUtbmF2IHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDg1cHg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMEIxNzI0O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gODVweCk7XHJcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgbmF2IHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgLmhlYWRlci1tZW51LWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAmPnVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5hIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIitcIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY+YSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggNDBweCAxNXB4IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNjM2RTc4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgdWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5jdXN0b20tdWwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLm1lbnUtZXhwYW5kIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5hIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIi1cIjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuY3VzdG9tLXVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUtc2Vjb25kLWxldmVsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjM2RTc4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5saSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggNTBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLmhlYWRlci1leHBhbmQge1xyXG4gICAgICAgICAgICAubW9iaWxlLW1lbnUuaWNvbi1yb3lhbC1tZW51OjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDhcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGhlYWRlciA+IC5jb250YWluZXIgLm1haW4tbWVudS1uYXYgbmF2IC5oZWFkZXItbWVudS1jb250YWluZXIgdWwgbGkgLmN1c3RvbS11bCxoZWFkZXIgPiAuY29udGFpbmVyIC5tYWluLW1lbnUtbmF2IG5hdiAuaGVhZGVyLW1lbnUtY29udGFpbmVyIHVsIGxpIC5kcm9wZG93bi1tZW51e2Rpc3BsYXk6IG5vbmU7fVxyXG4gICAgLy8gaGVhZGVyID4gLmNvbnRhaW5lciAubWFpbi1tZW51LW5hdiBuYXYgLmhlYWRlci1tZW51LWNvbnRhaW5lciA+IHVsID4gbGkgPiBhIHtcclxuICAgIC8vICAgICBwYWRkaW5nOiAxNXB4IDQwcHggMTVweCAyNXB4O1xyXG4gICAgLy8gICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjNjM2RTc4OyBcclxuICAgIC8vICAgICB3aWR0aDogMTAwJTsgICBcclxuICAgIC8vIH1cclxuICAgIC8vIGhlYWRlciA+IC5jb250YWluZXIgLm1haW4tbWVudS1uYXYgbmF2IC5oZWFkZXItbWVudS1jb250YWluZXIgPiB1bCA+IGxpLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gPiBhe1xyXG4gICAgLy8gICAgICY6OmFmdGVye1xyXG4gICAgLy8gICAgICAgICBjb250ZW50OiBcIitcIjtcclxuICAgIC8vICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyAgICAgXHJcbiAgICAvLyAgICAgICAgIHJpZ2h0OiAzMHB4O1xyXG4gICAgLy8gICAgICAgICBmb250LXNpemU6IDMwcHg7ICBcclxuICAgIC8vICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcclxuICAgIC8vICAgICAgICAgdG9wOiAxMHB4OyAgICBcclxuICAgIC8vICAgICB9ICAgXHJcbiAgICAvLyB9IFxyXG4gICAgLy8gaGVhZGVyID4gLmNvbnRhaW5lciAubWFpbi1tZW51LW5hdiBuYXYgLmhlYWRlci1tZW51LWNvbnRhaW5lciB1bCBsaS5tZW51LWV4cGFuZCA+IGE6OmFmdGVye2NvbnRlbnQ6IFwiLVwiO31cclxuICAgIC8vIGhlYWRlciA+IC5jb250YWluZXIgLm1haW4tbWVudS1uYXYgbmF2IC5oZWFkZXItbWVudS1jb250YWluZXIgdWwgbGkgLmN1c3RvbS11bCAuZHJvcGRvd24tbWVudS1zZWNvbmQtbGV2ZWwge1xyXG4gICAgLy8gICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNjM2RTc4O1xyXG4gICAgLy8gfVxyXG4gICAgLy8gaGVhZGVyID4gLmNvbnRhaW5lciAubWFpbi1tZW51LW5hdiBuYXYgLmhlYWRlci1tZW51LWNvbnRhaW5lciB1bCBsaSAuY3VzdG9tLXVsIC5kcm9wZG93bi1tZW51LXNlY29uZC1sZXZlbCA+IGxpe3dpZHRoOiAxMDAlICFpbXBvcnRhbnQ7cGFkZGluZzogNXB4IDUwcHg7fVxyXG4gICAgLy8gLmhlYWRlci1leHBhbmQgLm1vYmlsZS1tZW51Lmljb24tcm95YWwtbWVudTo6YmVmb3Jle1xyXG4gICAgLy8gICAgIGNvbnRlbnQ6IFwiXFxlOTA4XCIgOyBcclxuICAgIC8vIH0gIFxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6JFNtYWxsKSB7XHJcbiAgICBoZWFkZXIge1xyXG4gICAgICAgICY+IHtcclxuICAgICAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgICAgICAubWFpbi1tZW51LW5hdiBuYXYge1xyXG4gICAgICAgICAgICAgICAgICAgIC5oZWFkZXItbWVudS1jb250YWluZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLmN1c3RvbS11bCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51LXNlY29uZC1sZXZlbCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmxpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICY+dWwge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJj5saS5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmPmE6OmFmdGVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2FtcGxlUmVxdWVzdENvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB6LWluZGV4OiA5OTg7XHJcbiAgICB0b3A6IDEwNXB4O1xyXG4gICAgd2lkdGg6IDU1MHB4O1xyXG4gICAgbWF4LXdpZHRoOiA5N3Z3O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIC8vIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAvLyAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgLy8gICAgIHRvcDogNTdweDtcclxuICAgIC8vICAgICByaWdodDogMDtcclxuICAgIC8vICAgICBsZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAvLyB9XHJcbiAgICAuc2FtcGxlUmVxdWVzdEJvZHkge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDUxNXB4O1xyXG4gICAgICAgIG1pbi1oZWlnaHQ6IDUxNXB4O1xyXG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XHJcbiAgICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogNHB4IDRweCA1cHggcmdiYSgzNSwgMzUsIDM1LCAuMik7XHJcbiAgICAgICAgYm94LXNoYWRvdzogNHB4IDRweCA1cHggcmdiYSgzNSwgMzUsIDM1LCAuMik7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcclxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7XHJcbiAgICAgICAgY29sb3I6ICRybnktbmF2eS1ibHVlO1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0YWJsZSB7XHJcbiAgICAgICAgICAgIHRoZWFkIHtcclxuICAgICAgICAgICAgICAgIHRyIHtcclxuICAgICAgICAgICAgICAgICAgICB0aCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgJHJueS1nb2xkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0Ym9keSB7XHJcbiAgICAgICAgICAgICAgICB0ciB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGQge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAuZW1wdHlTYW1wbGVNZXNzYWdlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC53aW5kb3dDbG9zZVRleHQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgICAgICAgIC5kYXNoaWNvbnMtbm8ge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZS1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJueS1nb2xkO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgICAgICAgICByaWdodDogLTEwcHg7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRvcDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICByaWdodDogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgei1pbmRleDoxMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2FtcGxlUmVxdWVzdE9wdGlvbnMtaGVhZGVyIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICAgICAgZ2FwOiAyMHB4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICAgICAgICAuYnRuIHtcclxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmFycm93LXVwIHtcclxuICAgICAgICB3aWR0aDogMDtcclxuICAgICAgICBoZWlnaHQ6IDA7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXItcmlnaHQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICNmZWZlZmU7XHJcbiAgICAgICAgcmlnaHQ6IDM5JTtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogOTk5OTg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jZ2xvYmFsTm90aWNlSGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiA0NXB4O1xyXG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xyXG4gICAgLW1zLWZsZXgtYWxpZ246IGNlbnRlcjtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XHJcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIC8vei1pbmRleDogOTk5OTk5OTtcclxuICAgIGJhY2tncm91bmQ6ICNiNzkyMjA7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIHBvcC11cCBzdGFydFxyXG4ubG9naW5fb3ZlcmxheSB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmY2ZjY7XHJcbiAgICBvcGFjaXR5OiAuOTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDk5ODtcclxufVxyXG5cclxuI21vZGFsLWxvZ2luIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB3aWR0aDogMjVyZW07XHJcbiAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAzcmVtIDJyZW07XHJcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IDJweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgLjE1KTtcclxuICAgIGJveC1zaGFkb3c6IDJweCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgLjE1KTtcclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4U21hbGwpIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDkwJTtcclxuICAgIH1cclxufVxyXG5cclxuLm1vZGFsIHtcclxuICAgIHotaW5kZXg6IDEwNTA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgb3V0bGluZTogMDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgLnBvc2l0aW9uLXJlbGF0aXZlIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgLmNsb3NlLW1vZGFsIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIHRvcDogLTEuNXJlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAubG9zdF9wYXNzd29yZCB7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtc207XHJcbiAgICAgICAgICAgIGNvbG9yOiAkcm55LXNlY29uZGFyeS1ibHVlO1xyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2stY29sb3I7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC5mb3JtLWdyb3VwIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgIGxhYmVsIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xyXG4gICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICAgICAgICAgICAgbGVmdDogY2FsYygwLjVyZW0gKyA4cHgpO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICByaWdodDogY2FsYygzMnB4ICsgMC41cmVtKTtcclxuICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbiAgICAgICAgICAgIHRvcDogNHB4O1xyXG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gICAgICAgICAgICB6LWluZGV4OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuZm9ybS1jb250cm9sIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMwNEU2QztcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNC4xcmVtO1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMi4yNXJlbSArIDJweCk7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMC41cmVtIDAuNXJlbSAxLjFyZW07XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLmZvcm0tY2hlY2sge1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzdGFydDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgaW5wdXQjcmVtZW1iZXJtZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgei1pbmRleDogOTk5OTk7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgJjpjaGVja2VkK2xhYmVsIHtcclxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2ljb25zL3JveWFsLWNoZWNrZWQuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciAkcm55LW5hdnktYmx1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBsYWJlbC5pbmxpbmUge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDM2cHg7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAzcHg7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDNweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGRhcmstZ3JheTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgIHNwZWFrOiBuZXZlcjtcclxuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgICAgICAgICAgICAgICAvLyBAaW5jbHVkZSB0cmFuc2l0aW9uKDAuNHMpO1xyXG4gICAgICAgICAgICAgICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovXHJcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAzcHg7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuZm9ybS1zdWJtaXQtYmx1ZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJueS1zZWNvbmRhcnktYmx1ZTtcclxuICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAyMHB4O1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMCwgMCwgMCwgMC4yKSwgcmdiYSgwLCAwLCAwLCAwLjIpKSwgJHJueS1zZWNvbmRhcnktYmx1ZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5zaWRlYmFyLXdyYXAge1xyXG5cclxuICAgICYuYWN0aXZlLXNpZGViYXIsXHJcbiAgICAmLmFjdGl2ZS1zaG9wcGluZy1jYXJ0IHtcclxuICAgICAgICAuc2lkZWJhci1pbm5lci13cmFwIHtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoMCkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAuc2lkZWJhci1vdmVybGF5IHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMTtcclxuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgICAgICAgICAgaGVpZ2h0OjEwMHZoO1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OjEwMHZoO1xyXG4gICAgICAgICAgICBwYWRkaW5nOjBweDtcclxuICAgICAgICAgICAgbWFyZ2luOjBweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNob3BwaW5nLWNhcnQtc2lkZWJhciB7XHJcbiAgICAgICAgLnNpZGViYXItYm9keSB7XHJcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAyMTNweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLnNoaXBwaW5nLWluZm9ybWF0aW9uIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHJueS1saWdodC1ibHVlO1xyXG4gICAgICAgICAgICBtYXJnaW46IDI0cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxNnB4IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5pY29uLXJveWFsLXRydWNrIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2hpcHBpbmctcHJvZHVjdC1pdGVtIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAyNHB4O1xyXG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLnNoaXBwaW5nLXByb2R1Y3QtdG9wIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAuc2hpcHBpbmctcHJvZHVjdC1oZWFkZXItbGVmdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA4MHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAuc2hpcHBpbmctcHJvZHVjdC1oZWFkZXItcmlnaHQge1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5zaGlwcGluZy1wcm9kdWN0LXRpdGxlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRybnktc2Vjb25kYXJ5LWJsdWU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC5yZW1vdmUtcHJvZHVjdCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNDRjE3MTc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAuc2hpcHBpbmctcm55IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5zaGlwcGluZy1wcm9kdWN0LWJvdHRvbSB7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIC5jb3VudGVyIHtcclxuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLmNvdW50ZXItYmFyIHtcclxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLnByaWNlLWJhciB7XHJcbiAgICAgICAgICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2lkZWJhci1mb290ZXIge1xyXG4gICAgICAgICAgICAuY2FydC10b3RhbC13cmFwIHtcclxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2lkZWJhci1pbm5lci13cmFwIHtcclxuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICAgICAgdG9wOiAwcHg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgIHotaW5kZXg6IDk5OTk5OTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA1NDBweDtcclxuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgxMDAlKSk7XHJcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjVzKTtcclxuICAgIH1cclxuICAgIC5zaWRlYmFyLW92ZXJsYXkge1xyXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7XHJcbiAgICAgICAgLy90b3A6IDQ1cHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgIHotaW5kZXg6IDk5O1xyXG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oMC41cyk7XHJcbiAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgICAuc2lkZWJhci1oZWFkZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktbmF2eS1ibHVlO1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgcGFkZGluZzogMTZweCAyNHB4O1xyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAuaWNvbi1yb3lhbC1jYXJ0IHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuc2lkZWJhci1jbG9zZSB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG4gICAgICAgICAgICAuaWNvbi1yb3lhbC1jbG9zZSB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlLWNvbG9yO1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuc2lkZWJhci1ib2R5IHtcclxuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxNDBweCk7XHJcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcclxuICAgICAgICAvKiBGaXJlZm94ICovXHJcbiAgICAgICAgJiB7XHJcbiAgICAgICAgICAgIHNjcm9sbGJhci13aWR0aDogYXV0bztcclxuICAgICAgICAgICAgc2Nyb2xsYmFyLWNvbG9yOiAkcm55LW5hdnktYmx1ZSAkd2hpdGUtY29sb3I7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8qIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaSAqL1xyXG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDZweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQUZBRkFGO1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxNzlweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdmggLSAxNzVweCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5jb3VudGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXk7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZS1jb2xvcjtcclxuICAgICAgICAgICAgcGFkZGluZzogOHB4IDEycHg7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIwcHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICAgICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgICAgICYuZG93bixcclxuICAgICAgICAgICAgICAgICYuZG93bl9xdWFudGl0eSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjlweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICYudXAsXHJcbiAgICAgICAgICAgICAgICAmLnVwX3F1YW50aXR5IHtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDExLjFweDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuY291bnRlci1iYXIge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICAucHJpY2UtYmFyIHtcclxuICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5saW5lLXRvdGFsLXdyYXAge1xyXG4gICAgICAgICAgICAubGluZS10b3RhbC10aXRsZSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAubGluZS10b3RhbC1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLnNpZGViYXItZm9vdGVyIHtcclxuICAgICAgICBwYWRkaW5nOiAxNnB4IDI0cHg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXk7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTZweCAyMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2FydC10b3RhbC13cmFwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xyXG4gICAgICAgICAgICAuY2FydC10b3RhbC1sYWJlbCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAuY2FydC10b3RhbC1wcmljZSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5cclxuLmZyYWMtcG9wLXVwLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IDBweDtcclxuICAgIGxlZnQ6IDBweDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgei1pbmRleDogOTk5OTk5O1xyXG4gIH1cclxuICBcclxuICAuZnJhYy1wb3AtdXAge1xyXG4gICAgcGFkZGluZzogMHB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogOHB4IDhweCAxMXB4IHJnYmEoNTAsIDUwLCA1MCwgMC4zKTtcclxuICAgIGJveC1zaGFkb3c6IDhweCA4cHggMTFweCByZ2JhKDUwLCA1MCwgNTAsIDAuMyk7XHJcbiAgICB6LWluZGV4OiA5OTk5OTk5O1xyXG4gICAgbWFyZ2luLXRvcDogMTAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoNTAlIC0gMzQ1cHgpICFpbXBvcnRhbnQ7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDcxYzJmO1xyXG4gICAgY29sb3I6ICNmZmY7XHJcbiAgfVxyXG4gIFxyXG4gIC5mcmFjLXBvcC11cC1jbG9zZSB7XHJcbiAgICBmb250LXNpemU6IDIzcHg7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbi10b3A6IDBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgICBwYWRkaW5nOiAxcHg7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBwYWRkaW5nLXRvcDogLTEwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gIH1cclxuICBcclxuICAuZnJhYy1wb3AtdXAtY2xvc2U6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjQ2NDtcclxuICB9XHJcbiAgXHJcbiAgLm5vbi11cy1mcmFjLXBvcC11cC1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwcHg7XHJcbiAgICBsZWZ0OiAwcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHotaW5kZXg6IDk5OTk5OTtcclxuICB9XHJcbiAgXHJcbiAgLm5vbi11cy1mcmFjLXBvcC11cCB7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiA4cHggOHB4IDExcHggcmdiYSg1MCwgNTAsIDUwLCAwLjMpO1xyXG4gICAgYm94LXNoYWRvdzogOHB4IDhweCAxMXB4IHJnYmEoNTAsIDUwLCA1MCwgMC4zKTtcclxuICAgIHotaW5kZXg6IDk5OTk5OTk7XHJcbiAgICBtYXJnaW4tdG9wOiAxMCU7XHJcbiAgICBtYXJnaW4tbGVmdDogY2FsYyg1MCUgLSAzNDVweCkgIWltcG9ydGFudDtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNzFjMmY7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICB9XHJcbiAgXHJcbiAgLm5vbi11cy1mcmFjLXBvcC11cC1jbG9zZSB7XHJcbiAgICBmb250LXNpemU6IDIzcHg7XHJcbiAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICB3aWR0aDogMjVweDtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbi10b3A6IDBweDtcclxuICAgIG1hcmdpbi1yaWdodDogMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZWQ7XHJcbiAgICBwYWRkaW5nOiAxcHg7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICBwYWRkaW5nLXRvcDogLTEwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xyXG4gIH1cclxuICBcclxuICAubm9uLXVzLWZyYWMtcG9wLXVwLWNsb3NlOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY0NjQ7XHJcbiAgfVxyXG4gICIsImZvb3RlcntcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICRybnktYmx1ZS1mb290ZXI7XHJcbiAgICAgY29sb3I6ICR3aGl0ZS1jb2xvcjtcclxuICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgYXtcclxuICAgICAgIGNvbG9yOiAkd2hpdGUtY29sb3I7IFxyXG4gICAgIH1cclxuICAgICAgIFxyXG4gICAgIC5pbnN0YWdyYW0tZmVlZHMge1xyXG4gICAgICAgZmxvYXQ6IGxlZnQ7ICBcclxuICAgICAgIHdpZHRoOiAxMDAlOyBcclxuICAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgICB9XHJcbiAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgIHBhZGRpbmc6IDFweCAwO1xyXG4gICAgICAgfVxyXG4gICB9IFxyXG4gICAubmV3cy1sZXR0ZXItc291cmNlIHtcclxuICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsMC4xKTtcclxuICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwwLjEpO1xyXG4gICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsYXJnZSkge1xyXG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XHJcbiAgICAgfVxyXG4gICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgIHBhZGRpbmc6IDVweCAwO1xyXG4gICAgIH1cclxuICAgICBkaXYjbmV3c2xldHRlckZvcm0ge1xyXG4gICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IFxyXG4gICAgICAgfVxyXG4gICAgICAgLm5ld3NsZXR0ZXJGb3JtX2hlYWRpbmcge1xyXG4gICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcclxuICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xyXG4gICAgICAgICB9XHJcbiAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICB9XHJcbiAgICAgICAgIGg0IHtcclxuICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgY29sb3I6ICRybnktZ29sZDtcclxuICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgfVxyXG4gICAgICAgICBwIHtcclxuICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgIH1cclxuICAgICAgIH1cclxuICAgICAgIFxyXG4gICAgIC5uZXdzbGV0dGVyRm9ybV9ib2R5e1xyXG4gICAgICAgJi5uZXdzbGV0dGVyRm9ybS1ib2R5IHsgXHJcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICBtYXgtd2lkdGg6IDQ4MHB4O1xyXG4gICAgICAgICBmbG9hdDogcmlnaHQ7IFxyXG4gICAgICAgfSBcclxuICAgICB9XHJcbiAgIFxyXG4gICAgIH1cclxuICAgfVxyXG4gICBcclxuICAgLmdpbnB1dF9jb250YWluZXIuZ2lucHV0X2NvbnRhaW5lcl9lbWFpbCB7XHJcbiAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcclxuICAgICBpbnB1dCNuZXdzbGV0dGVyRW1haWwge1xyXG4gICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDExNXB4KTtcclxuICAgICB9XHJcbiAgIH1cclxuICAgXHJcbiAgIC5mb290ZXItbGlua3Mge1xyXG4gICAgIHBhZGRpbmc6IDIwcHggMDtcclxuICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xyXG4gICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgcGFkZGluZzogMTBweCAwO1xyXG4gICAgIH1cclxuICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICBwYWRkaW5nOiA1cHggMDtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICB9XHJcbiAgICAgLnJveWFsLWluZm8ge1xyXG4gICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgIG1heC13aWR0aDogMjAwcHg7XHJcbiAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgIH1cclxuICAgICAgICNmb290ZXItY29sb3Bob24geyBcclxuICAgICAgICAgbWF4LXdpZHRoOiAxNDhweDtcclxuICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7XHJcbiAgICAgICAgIH0gXHJcbiAgICAgICB9IFxyXG4gICAgICAgLmZvbGxvdy1vbiB7XHJcbiAgICAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICAgICB3aWR0aDogMTAwJTsgXHJcbiAgICAgICAgIG1hcmdpbjogMjNweCAwIDMwcHggMDsgXHJcbiAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7XHJcbiAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4TWVkaXVtKSB7XHJcbiAgICAgICAgICBtYXJnaW46IDIwcHggMCAyMHB4IDA7IFxyXG4gICAgICAgICB9XHJcbiAgICAgICAgIGFkZHJlc3Mge1xyXG4gICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgICAgfVxyXG4gICAgICAgICBlbXtcclxuICAgICAgICAgICBjb2xvcjogJHJueS1nb2xkOyBcclxuICAgICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IFxyXG4gICAgICAgICB9IFxyXG4gICAgICAgfVxyXG4gICAgICAgYWRkcmVzc3tcclxuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XHJcbiAgICAgICB9XHJcbiAgICAgfVxyXG4gICAgIC5mb290ZXItbGluay13cmFwIHsgXHJcbiAgICAgICBAaW5jbHVkZSBmbGV4Ym94OyBcclxuICAgICAgIHdpZHRoOmNhbGMoMTAwJSAtIDI3MHB4KTtcclxuICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDokZXhMYXJnZSkge1xyXG4gICAgICAgIHdpZHRoOmNhbGMoMTAwJSAtIDgwcHgpO1xyXG4gICAgICAgfVxyXG4gICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhNZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMHB4KTsgXHJcbiAgICAgICB9XHJcbiAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtZWRpdW0pIHtcclxuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMHB4KTtcclxuICAgICAgIH1cclxuICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICB9XHJcbiAgICAgICAubWVudS1mb290ZXItY29udGFpbmVyIHsgXHJcbiAgICAgICAgIEBpbmNsdWRlIGZsZXhib3g7ICBcclxuICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgIHVseyBcclxuICAgICAgICAgICBsaXtcclxuICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICY6OmJlZm9yZXtcclxuICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJiA+IHVsIHtcclxuICAgICAgICAgICAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgIEBpbmNsdWRlIHNwYWNlLW5vbmU7XHJcbiAgICAgICAgICAgICAmID4gICBsaSB7XHJcbiAgICAgICAgICAgICAgIG1hcmdpbjogMTJweCAwIDA7XHJcbiAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJFNtYWxsKSB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1cHg7IFxyXG4gICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgIGE6aG92ZXJ7IFxyXG4gICAgICAgICAgICAgICAgIGNvbG9yOiAkcm55LWdvbGQ7XHJcbiAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICB9IFxyXG4gICAgICAgICAgICAgXHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICB9XHJcbiAgICAgICAgICYgPiB1bCB7IFxyXG4gICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgbWFyZ2luOiAwOyBcclxuICAgICAgICAgICBwYWRkaW5nOiAwOyAgXHJcbiAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICAgICAmID4gbGkge1xyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7ICBcclxuICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4U21hbGwpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAmOmZpcnN0LWNoaWxke1xyXG4gICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgJiA+IGF7XHJcbiAgICAgICAgICAgICAgIGNvbG9yOiAkcm55LWdvbGQ7XHJcbiAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcclxuICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgfVxyXG4gICAgICAgICB9XHJcbiAgICAgICB9XHJcbiAgICAgfVxyXG4gICAgIFxyXG4gICB9XHJcbiAgIFxyXG4gICAuY29weXJpZ2h0LXJveWFsIHsgXHJcbiAgICAgQGluY2x1ZGUgZmxleGJveDtcclxuICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgXHJcbiAgICAgcGFkZGluZzogMTVweCAwO1xyXG4gICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcclxuICAgICB9IFxyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkU21hbGwpIHtcclxuICAgICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICAgfVxyXG4gICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGV4U21hbGwpIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICB9XHJcbiAgICAgLm1lbnUtZm9vdGVyLWJvdHRvbS1tZW51LWNvbnRhaW5lcntcclxuICAgICAgIHVsIHtcclxuICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgcGFkZGluZzogMDsgXHJcbiAgICAgICAgICAgbWFyZ2luOiAwIDAgMHB4IDI1cHg7IFxyXG4gICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICBkaXNwbGF5OiBub25lOyBcclxuICAgICAgICAgICB9XHJcbiAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcclxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IFxyXG4gICAgICAgICAgIH1cclxuICAgICAgICAgICBhIHsgXHJcbiAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICY6aG92ZXJ7XHJcbiAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgIH1cclxuICAgICAgICAgICB9IFxyXG4gICAgICAgICB9XHJcbiAgICAgICB9XHJcbiAgICAgfVxyXG4gICAgIFxyXG4gICB9XHJcbiAgICAgICAgJjo6YmVmb3Jle1xyXG4gICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvZm9vdGVyLWJnLnN2ZykgYm90dG9tIGxlZnQgcmVwZWF0LXggdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEzcHg7XHJcbiAgICAgICAgICB3aWR0aDogMTAwJTsgXHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7ICBcclxuICAgICAgICAgIHRvcDogLTEzcHg7IFxyXG4gICAgICAgICAgLy8gei1pbmRleDogOTk5OTk5OTk5O1xyXG4gICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhNZWRpdW0pIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogIGNlbnRlciBib3R0b207XHJcbiAgICAgICAgICAgIHRvcDogLTEycHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5GZWVkR3JpZExheW91dF9fZ3JpZCB7XHJcbiAgICAgICAgICBjb2x1bW4tZ2FwOiA0NXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRleE1lZGl1bSkge1xyXG4gICAgICAgICAgICBjb2x1bW4tZ2FwOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAgICAgICAgIGNvbHVtbjogMTVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAuTWVkaWFUaWxlX19vdmVybGF5IHtcclxuICAgICAgICAgIC5NZWRpYU92ZXJsYXlfX3Jvd3Mge1xyXG4gICAgICAgICAgICAuTWVkaWFPdmVybGF5X19ib3R0b20tcm93IHtcclxuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC5NZWRpYVRpbGVfX3R5cGUtaWNvbiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgfSAgICIsIi5kLXJvdyB7XHJcbiAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIG1hcmdpbjogMCAtMjRweDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhMYXJnZSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAtMjBweDtcclxuICAgIH1cclxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgIG1hcmdpbjogMCAtMTVweDtcclxuICAgIH1cclxuICAgIC5jYXJkIHtcclxuICAgICAgICBAaW5jbHVkZSBmbGV4Ym94O1xyXG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgICAgICBwYWRkaW5nOiAwIDI0cHg7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhMYXJnZSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJG1lZGl1bSkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICYuY2FyZC0yIHtcclxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYXJkLTMge1xyXG4gICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRTbWFsbCkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy8gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiRleFNtYWxsKSB7XHJcbiAgICAgICAgICAgIC8vICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgLy8gfSBcclxuICAgICAgICB9XHJcbiAgICAgICAgJi5jYXJkLTQge1xyXG4gICAgICAgICAgICB3aWR0aDogMjUlO1xyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMzJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjU0MHB4KSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi51aS1hY2NvcmRpb24ge1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIC51aS1hY2NvcmRpb24taGVhZGVyIHtcclxuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4gICAgICAgIHBhZGRpbmc6IDI0cHggNDBweCAyNHB4IDA7XHJcbiAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnQtc207XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbGFyZ2UpIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMTdweCA0MHB4IDE3cHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhNZWRpdW0pIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMTNweCA0MHB4IDEzcHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHNwZWFrOiBuZXZlcjtcclxuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwNVwiO1xyXG4gICAgICAgICAgICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cclxuICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSAocm90YXRlKDkwZGVnKSk7XHJcbiAgICAgICAgICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcclxuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbigwLjRzKTtcclxuICAgICAgICAgICAgdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxhcmdlKSB7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDIxcHg7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkZXhNZWRpdW0pIHtcclxuICAgICAgICAgICAgICAgIHRvcDogMTVweDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAmLnVpLWFjY29yZGlvbi1oZWFkZXItYWN0aXZlIHtcclxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtIChyb3RhdGUoLTkwZGVnKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAudWktYWNjb3JkaW9uLWNvbnRlbnQge1xyXG4gICAgICAgIHBhZGRpbmc6IDI0cHggMDtcclxuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuICAgICAgICBwLFxyXG4gICAgICAgIGgxLFxyXG4gICAgICAgIGgyLFxyXG4gICAgICAgIGgzLFxyXG4gICAgICAgIGg0LFxyXG4gICAgICAgIGg1LFxyXG4gICAgICAgIGg2IHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICB1bCB7XHJcbiAgICAgICAgICAgIEBpbmNsdWRlIHNwYWNlLW5vbmU7XHJcbiAgICAgICAgICAgIGxpIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4O1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vcm1hbDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FDQUEsMkJBQTJCO0FDQTNCLDRCQUE0QjtBQW1CNUIscUJBQXFCO0FFNklyQixzQkFBc0I7QUF5QnRCLHFDQUFxQztBQXdMckMsZ0NBQWdDO0NDalhoQyxBQUFBLEFBQUEsS0FBQyxFQUFPLE9BQU8sQUFBZCxJQUFpQixBQUFBLEtBQUMsRUFBTyxRQUFRLEFBQWYsRUFBaUI7RUFDbEMsZ0ZBQWdGO0VBQ2hGLFdBQVcsRUFBRSxvQkFBb0I7RUFDakMsS0FBSyxFQUFFLEtBQUs7RUFDWixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsTUFBTTtFQUNuQixZQUFZLEVBQUUsTUFBTTtFQUNwQixjQUFjLEVBQUUsSUFBSTtFQUNwQixXQUFXLEVBQUUsQ0FBQztFQUVkLHVDQUF1QztFQUN2QyxzQkFBc0IsRUFBRSxXQUFXO0VBQ25DLHVCQUF1QixFQUFFLFNBQVMsR0FDbkM7O0FBRUQsQUFBQSxpQkFBaUIsQUFBQSxPQUFPLENBQUM7RUFDdkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxrQkFBa0IsQUFBQSxPQUFPLENBQUM7RUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxrQkFBa0IsQUFBQSxPQUFPLENBQUM7RUFDeEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxpQkFBaUIsQUFBQSxPQUFPLENBQUM7RUFDdkIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxnQkFBZ0IsQUFBQSxPQUFPLENBQUM7RUFDdEIsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBQ0QsQUFBQSxtQkFBbUIsQUFBQSxPQUFPLENBQUM7RUFDekIsT0FBTyxFQUFFLE9BQU8sR0FD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QUFjO0VBQ3ZCLFNBQVMsRUFBRSxlQUFlO0VBQzFCLEtBQUssRUFBRSxlQUFlO0VBQ3RCLFdBQVcsRUFBRSxjQUFjO0VBQzNCLFVBQVUsRUFBRSxjQUFjLEdBQzNCOztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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 */
