@import url(https://fonts.googleapis.com/css2?family=Work+Sans:wght@400;600;700&display=swap);
/* Media Query */
/* Colors */
/* Base */
/**
 * Mixins
 */
/**
 * Media Query
 */
/**
   * UTILITY MIXINS
   */
@media (min-width: 1366px) {
  .hidden-desktop {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1365.98px) {
  .hidden-tablet {
    display: none !important;
  }
}

@media (min-width: 1024px) and (max-width: 1365.98px) {
  .hidden-tablet-landscape {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1023.98px) {
  .hidden-tablet-portrait {
    display: none !important;
  }
}

@media (max-width: 767.98px) {
  .hidden-mobile {
    display: none !important;
  }
}

/* ----------------------------- */
/* ==Reset (base)                */
/* ----------------------------- */
/*
 * 1. Switch to border-box model for all elements
 *
 */
*,
*::before,
*::after {
  box-sizing: border-box;
  /* 1 */
}

/*
   * 1. Remove the grey highlight on links in iOS
   * 2. Prevent orientation font changes in iOS
   * 3. Breaks words to prevent overflow in all browsers
   */
html {
  font-size: 16px;
  -webkit-tap-highlight-color: transparent;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  overflow-wrap: break-word;
  /* 3 */
}

body {
  margin: 0;
  font-family: "Work Sans", Helvetica;
  font-size: 16px;
  line-height: 1.43;
  background-color: #ffffff;
  color: #3a3a3a;
}

/*
   * Headings
   */
h1,
.h1-like,
h2,
.h2-like,
h3,
.h3-like,
h4,
.h4-like,
h5,
.h5-like,
h6,
.h6-like {
  color: #3a3a3a;
}

/*
   * Links
   */
a {
  color: #a521fc;
  text-decoration: none;
}

a:focus,
a:hover,
a:active {
  color: #a521fc;
  text-decoration: none;
}

/**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */
}

/*
   * Vertical rythm
   */
h1,
.h1-like,
h2,
.h2-like {
  margin-top: 0;
  margin-bottom: 10px;
}

p,
address,
ol,
ul,
dl,
blockquote,
pre,
h3,
.h3-like,
h4,
.h4-like,
h5,
.h5-like,
h6,
.h6-like,
dt,
dd {
  margin-top: 0;
  margin-bottom: 5px;
}

/*
   * Nested elements
   */
ol ol,
ol ul,
ul ol,
ul ul,
li ul,
li ol,
nav ul,
nav ol,
li p,
li .p-like {
  margin-top: 0;
  margin-bottom: 0;
}

/*
   * Lists
   */
ul,
ol {
  padding-left: 10px;
}

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

/*
   * Embed content
   */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

img,
table,
td,
blockquote,
pre,
code,
input,
textarea,
select,
video,
svg,
iframe {
  max-width: 100%;
}

iframe,
img,
input,
select,
textarea {
  height: auto;
}

img {
  border-style: none;
}

/**
   * Remove the border on iframes in all browsers
   */
iframe {
  border-style: none;
}

/*
   * Fill color matching to text color
   */
svg:not([fill]) {
  fill: currentColor;
}

/*
   * Hide the overflow in IE
   */
svg:not(:root) {
  overflow: hidden;
}

/*
   * Tables
   */
table {
  border-collapse: collapse;
}

/*
   * Rulers
   */
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border: 0;
  border-top: 1px solid;
  margin: 10px 0;
  clear: both;
  color: inherit;
}

/*
   * table styles
   */
table {
  width: 100%;
  max-width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  vertical-align: top;
  margin-bottom: 10px;
}

/*
 * Hidden but not for an assistive technology like a screen reader, Yahoo! method
 */
.visually-hidden,
.sr-only {
  position: absolute !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
}

/*
   * Disable animations styles when reduced motion is enabled
   */
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    transition: none !important;
  }
}

/*
   * Change the cursor on busy elements in all browsers.
   */
[aria-busy='true'] {
  cursor: progress;
}

/*
   * Change the cursor on control elements in all browsers.
   */
[aria-controls] {
  cursor: pointer;
}

/*
   * Change the cursor on disabled, not-editable, or otherwise
   * inoperable elements in all browsers.
   */
[aria-disabled='true'],
[disabled] {
  cursor: not-allowed;
}

/*
   * Change the display on visually hidden accessible elements
   * in all browsers.
   */
[aria-hidden='false'][hidden] {
  display: initial;
}

[aria-hidden='false'][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/* ----------------------------- */
/* ==Reset (forms)               */
/* ----------------------------- */
/*
 * Remove the tapping delay on clickable elements in all browsers .
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

/*
   * 1. Change the inconsistent appearance in all browsers.
   * 2. Add typography inheritance in all browsers.
   */
button,
input,
select,
textarea {
  margin: 0;
  background-color: transparent;
  /* 1 */
  color: inherit;
  /* 1 */
  font-family: inherit;
  /* 2 */
  font-size: inherit;
  /* 2 */
  line-height: inherit;
  /* 2 */
  letter-spacing: inherit;
  /* 2 */
  vertical-align: middle;
}

/*
   * Basic User Interface reset
   */
button,
input:not([type='radio']):not([type='checkbox']),
select,
textarea {
  border: 0;
}

/*
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
pre,
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

pre {
  tab-size: 2;
  white-space: pre-wrap;
  line-height: normal;
  overflow: auto;
  -ms-overflow-style: scrollbar;
}

/*
   * Show overflow in IE/Edge
   */
button,
input {
  overflow: visible;
}

/*
   * Remove the inheritance of text transform in Firefox
   */
button,
select {
  text-transform: none;
}

/*
   * Correct the inability to style clickable types in iOS and Safari.
   */
button,
[type='button'],
[type='reset'],
[type='submit'],
[type='date'] {
  -webkit-appearance: button;
}

form,
fieldset {
  border: none;
}

fieldset {
  margin: 0;
  padding: 10px;
}

legend {
  display: table;
  max-width: 100%;
  padding: 0 5px;
  border: 0;
  color: inherit;
  white-space: normal;
}

label {
  display: inline-block;
  cursor: pointer;
}

textarea {
  overflow: auto;
  vertical-align: top;
  resize: vertical;
  white-space: pre-wrap;
}

progress {
  display: inline-block;
  width: 100%;
  vertical-align: baseline;
}

output {
  display: inline-block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

/* ----------------------------- */
/* Form oddities                 */
/* ----------------------------- */
/*
   * 1. Correct the odd appearance in Chrome, Edge, and Safari.
   * 2. Correct the outline style in Safari.
   */
[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/*
   * Correct the cursor style of increment and decrement buttons in Safari.
   */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/*
   * Correct the text style of placeholders in Chrome, Edge, and Safari.
   */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/*
   * Remove the inner padding in Chrome, Edge, and Safari on macOS.
   */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/*
   * 1. Correct the inability to style upload buttons in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/*
   * Remove the inner border and padding of focus outlines in Firefox.
   */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/*
   * Restore the focus outline styles unset by the previous rule in Firefox.
   */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/*
   * Remove the additional :invalid styles in Firefox.
   */
:-moz-ui-invalid {
  box-shadow: none;
}

/* ----------------------------- */
/* ==Print (quick print reset)   */
/* ----------------------------- */
@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  body {
    width: auto;
    margin: auto;
    font-family: serif;
    font-size: 12pt;
  }
  p,
  .p-like,
  h1,
  .h1-like,
  h2,
  .h2-like,
  h3,
  .h3-like,
  h4,
  .h4-like,
  h5,
  .h5-like,
  h6,
  .h6-like,
  blockquote,
  label,
  ul,
  ol {
    color: #000;
    margin: auto;
  }
  .print {
    display: block;
  }
  .no-print {
    display: none;
  }
  /* no orphans, no widows */
  p,
  .p-like,
  blockquote {
    orphans: 3;
    widows: 3;
  }
  /* no breaks inside these elements */
  blockquote,
  ul,
  ol {
    page-break-inside: avoid;
  }
  /* page break before main headers
    h1,
    .h1-like {
      page-break-before: always;
    }
    */
  /* no breaks after these elements */
  h1,
  .h1-like,
  h2,
  .h2-like,
  h3,
  .h3-like,
  caption {
    page-break-after: avoid;
  }
  a {
    color: #000;
  }
  /* displaying URLs
    a[href]::after {
      content: " (" attr(href) ")";
    }
    */
  a[href^='javascript:']::after,
  a[href^='#']::after {
    content: '';
  }
}

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 150px;
  position: fixed;
  right: 0;
  left: 0;
  top: 0;
  z-index: 11;
  background-color: #ffffff;
  padding: 0 20px;
  width: 100%;
  padding: 0 10%;
}

@media only screen and (max-width: 1365.98px) {
  header {
    height: 50px;
    padding: 0;
    justify-content: center;
  }
}

header .logo {
  z-index: 1;
}

header .logo .svg-logo {
  content: url(/build/images/logo-dark.b9c28734.svg);
}

@media only screen and (max-width: 1365.98px) {
  header .logo .svg-logo {
    content: url(/build/images/logo-dark-mobile.ea549639.svg);
    margin-bottom: -13px;
  }
}

@media only screen and (max-width: 1365.98px) {
  header .menu {
    position: fixed;
    left: 100%;
    top: 0;
    z-index: 10;
    background-color: #fff;
    height: 100vh;
    width: 40%;
    padding: 80px 20px 20px;
    box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.08);
    -moz-transition: all 400ms ease-in;
    -webkit-transition: all 400ms ease-in;
    -o-transition: all 400ms ease-in;
    transition: all 400ms ease-in;
  }
  header .menu.open {
    left: 60%;
  }
}

@media only screen and (max-width: 767.98px) {
  header .menu {
    width: 80%;
  }
  header .menu.open {
    left: 20%;
  }
}

header .menu .links {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "Work Sans", Helvetica;
  font-size: 12px;
  font-style: normal;
  letter-spacing: 0.6px;
  font-weight: 600;
  text-transform: uppercase;
  list-style: none;
  padding-left: 60px;
}

@media only screen and (min-width: 1366px) and (max-width: 1679.98px) {
  header .menu .links {
    padding: 0;
    flex-wrap: wrap;
  }
}

@media only screen and (max-width: 1365.98px) {
  header .menu .links {
    flex-direction: column;
    font-size: 13px;
    padding-left: 20px;
    align-items: baseline;
  }
}

header .menu .links li.active .main-menu-link:after, header .menu .links li:hover .main-menu-link:after {
  transform: translate3d(0, 0, 0);
}

header .menu .links li:hover .dropdown-menu {
  opacity: 1;
  left: 0;
  width: 100%;
}

header .menu .links a {
  color: #3a3a3a;
  padding: 10px 0;
  margin: 0 20px;
  position: relative;
  display: block;
}

header .menu .links a.main-menu-link {
  overflow: hidden;
  margin: 0 20px;
}

header .menu .links a.main-menu-link:after {
  content: '';
  position: absolute;
  bottom: 1px;
  left: -1px;
  width: 100%;
  height: 3px;
  background-color: #ae9478;
  transition: opacity 300ms, transform 300ms;
  opacity: 1;
  transform: translate3d(-100%, 0, 0);
}

header .menu .links .dropdown-menu {
  display: flex;
  justify-content: center;
  position: absolute;
  left: -9999px;
  width: 0;
  top: 90px;
  padding-top: 60px;
  background-color: #ffffff;
  opacity: 0;
  box-shadow: 0px 7px 10px rgba(0, 0, 0, 0.08);
}

header .menu .links .dropdown-menu .wrapper {
  padding: 20px 0 35px;
}

header .menu .links .dropdown-menu .wrapper .media {
  margin-right: 150px;
}

header .menu .links .dropdown-menu .wrapper .content {
  width: 75%;
  display: flex;
  justify-content: space-between;
}

header .menu .links .dropdown-menu .wrapper .content .links-list .links-list-title {
  font-size: 16px;
  font-weight: 800;
  text-transform: none;
  line-height: 19px;
}

header .menu .links .dropdown-menu .wrapper .content .links-list a {
  font-size: 14px;
  font-weight: 400;
  text-transform: none;
  line-height: 16px;
}

@media only screen and (max-width: 1365.98px) {
  header .menu .user-menu-mobile {
    background-color: #f6f6f6;
    padding: 15px;
  }
  header .menu .user-menu-mobile a {
    color: #3a3a3a;
    display: flex;
    align-items: center;
    margin-bottom: 15px;
  }
  header .menu .user-menu-mobile a .svg-container {
    background-color: #ffffff;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    text-align: center;
    line-height: 35px;
  }
  header .menu .user-menu-mobile a .svg-container svg {
    stroke: #ae9478;
  }
  header .menu .user-menu-mobile a .user-name {
    font-size: 15px;
    font-weight: 600;
    padding-left: 10px;
  }
  header .menu .user-menu-mobile a.button {
    font-weight: 400;
    color: #ffffff;
    border-radius: 6px;
    font-size: 18px;
    height: 65px;
    cursor: pointer;
    display: block;
    text-align: center;
    line-height: 65px;
    background-color: #ae9478;
  }
  header .menu .user-menu-mobile a.button:hover {
    background-color: #987b5b;
  }
  header .menu .user-menu-mobile button {
    font-weight: 400;
  }
}

header .user-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 50px;
  height: 40px;
  width: 40px;
  background-color: #f6f6f6;
  border-radius: 50%;
  z-index: 1;
}

@media only screen and (min-width: 1366px) and (max-width: 1679.98px) {
  header .user-menu {
    margin: 0;
  }
}

@media only screen and (max-width: 1365.98px) {
  header .user-menu {
    background: none;
    z-index: 11;
    position: absolute;
    right: 20px;
  }
  header .user-menu .burger-menu {
    position: relative;
    padding: 20px;
  }
  header .user-menu .menu-toggle {
    position: absolute;
    right: 10px;
    top: 49%;
    transform: translate(0, -50%);
    height: 12px;
    width: 18px;
    color: #3a3a3a;
  }
  header .user-menu .menu-toggle .menu-toggle-bar {
    display: block;
    position: absolute;
    top: 50%;
    margin-top: -1px;
    left: 0;
    width: 100%;
    height: 3px;
    border-radius: 4px;
    background-color: #3a3a3a;
    transition: all 0.3s ease;
  }
  header .user-menu .menu-toggle .menu-toggle-bar.menu-toggle-bar--top {
    transform: translate(0, -6px);
  }
  header .user-menu .menu-toggle .menu-toggle-bar.menu-toggle-bar--middle {
    width: 80%;
  }
  header .user-menu .menu-toggle .menu-toggle-bar.menu-toggle-bar--bottom {
    transform: translate(0, 6px);
  }
  .nav-open header .user-menu .menu-toggle .menu-toggle-bar.menu-toggle-bar--top {
    transform: translate(0, 0) rotate(45deg);
  }
  .nav-open header .user-menu .menu-toggle .menu-toggle-bar.menu-toggle-bar--middle {
    opacity: 0;
  }
  .nav-open header .user-menu .menu-toggle .menu-toggle-bar.menu-toggle-bar--bottom {
    transform: translate(0, 0) rotate(-45deg);
  }
}

header .user-menu a {
  color: #2b2b2b;
}

header .user-menu a svg {
  width: 20px;
  margin-top: -5px;
  stroke: #2b2b2b;
}

footer {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 170px;
  background-color: #2b2b2b;
}

@media only screen and (min-width: 1366px) and (max-width: 1679.98px) {
  footer {
    padding: 0 20px;
  }
}

@media only screen and (max-width: 1365.98px) {
  footer {
    flex-direction: column;
    height: auto;
    padding: 20px 0 30px;
  }
}

footer .links-list {
  display: flex;
  list-style: none;
  padding-left: 80px;
}

@media only screen and (min-width: 1366px) and (max-width: 1679.98px) {
  footer .links-list {
    flex-wrap: wrap;
    justify-content: center;
    padding: 0;
  }
}

@media only screen and (max-width: 1365.98px) {
  footer .links-list {
    align-items: center;
    padding: 40px 0 0;
    line-height: 1.8em;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  footer .links-list {
    flex-wrap: wrap;
    justify-content: center;
  }
}

@media only screen and (max-width: 767.98px) {
  footer .links-list {
    flex-direction: column;
  }
}

footer .links-list a {
  color: #ae9478;
  padding: 10px 0;
  margin: 0 10px;
  text-decoration: none;
  font-size: 14px;
}

footer .links-list a:hover {
  color: #987b5b;
}

/* Media Query */
/* Colors */
/* Base */
/**
 * Mixins
 */
/**
 * Media Query
 */
/**
   * UTILITY MIXINS
   */
.cross-sells-container {
  margin: 25px auto 90px !important;
  padding: 0px 20px !important;
}

@media only screen and (max-width: 1365.98px) {
  .cross-sells-container {
    margin-bottom: 40px !important;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .cross-sells-container .cross-sells {
    width: 100%;
  }
}

.cross-sells-container .cross-sells .title {
  font-size: 58px;
  color: #2b2b2b;
  font-weight: 600;
  line-height: 1;
}

@media only screen and (max-width: 1365.98px) {
  .cross-sells-container .cross-sells .title {
    font-size: 28px;
    margin: 0;
  }
}

.cross-sells-container .cross-sells .remaining-time {
  font-size: 14px;
  color: #a521fc;
  display: flex;
  align-items: center;
}

.cross-sells-container .cross-sells .remaining-time .icon-container {
  width: 18px;
  height: 18px;
  line-height: 1;
  margin-right: 5px;
}

.cross-sells-container .cross-sells .remaining-time span {
  font-weight: 600;
}

.cross-sells-container .cross-sells .cross-sell-item {
  display: flex;
  background-color: #f6f6f6;
  padding: 30px;
  border-radius: 10px;
  margin-top: 10px;
  width: 745px;
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .cross-sells-container .cross-sells .cross-sell-item {
    width: 100%;
  }
}

@media only screen and (max-width: 767.98px) {
  .cross-sells-container .cross-sells .cross-sell-item {
    padding: 25px 15px 15px;
    flex-wrap: wrap;
    width: auto;
  }
}

@media only screen and (max-width: 767.98px) {
  .cross-sells-container .cross-sells .cross-sell-item .cross-sell-item-media {
    margin-bottom: 30px;
  }
}

.cross-sells-container .cross-sells .cross-sell-item .cross-sell-item-content {
  padding: 20px 0 0 65px;
}

@media only screen and (max-width: 767.98px) {
  .cross-sells-container .cross-sells .cross-sell-item .cross-sell-item-content {
    padding: 0 0 0 20px;
  }
}

.cross-sells-container .cross-sells .cross-sell-item .cross-sell-item-content .cross-sell-item-title {
  font-size: 30px;
  font-weight: 600;
  line-height: 1;
  padding-bottom: 20px;
  color: #3a3a3a;
}

@media only screen and (max-width: 767.98px) {
  .cross-sells-container .cross-sells .cross-sell-item .cross-sell-item-content .cross-sell-item-title {
    font-size: 23px;
    padding-bottom: 15px;
    line-height: 23px;
  }
}

.cross-sells-container .cross-sells .cross-sell-item .cross-sell-item-content .cross-sell-item-title span {
  display: block;
  font-weight: 700;
  white-space: nowrap;
}

.cross-sells-container .cross-sells .cross-sell-item .cross-sell-item-content .cross-sell-item-price {
  font-size: 45px;
  font-weight: 600;
  line-height: 1;
  color: #a521fc;
}

@media only screen and (max-width: 767.98px) {
  .cross-sells-container .cross-sells .cross-sell-item .cross-sell-item-content .cross-sell-item-price {
    font-size: 30px;
    display: inline-block;
    float: left;
  }
}

.cross-sells-container .cross-sells .cross-sell-item .cross-sell-item-content .cross-sell-item-promotion {
  font-size: 14px;
  line-height: 1;
  padding-bottom: 5px;
  color: #2b2b2b;
}

.cross-sells-container .cross-sells .cross-sell-item .cross-sell-item-content .cross-sell-item-crossed-price {
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  padding-bottom: 20px;
  text-decoration: line-through;
  color: #2b2b2b;
}

@media only screen and (max-width: 767.98px) {
  .cross-sells-container .cross-sells .cross-sell-item .cross-sell-item-content .cross-sell-item-crossed-price {
    font-size: 14px;
    display: inline-block;
    float: left;
    padding: 8px 0 0 10px;
  }
}

.cross-sells-container .cross-sells .cross-sell-item .cross-sell-item-content .cross-sell-item-payment-facility {
  color: #a521fc;
  font-size: 13px;
  font-style: italic;
}

@media only screen and (max-width: 767.98px) {
  .cross-sells-container .cross-sells .cross-sell-item .cross-sell-item-content .cross-sell-item-payment-facility {
    display: inline-block;
    line-height: 1;
    width: 100%;
  }
}

.cross-sells-container .cross-sells .cross-sell-item .cross-sell-item-content .cross-sell-item-payment-facility span {
  font-weight: 600;
}

.cross-sells-container.large .cross-sells {
  width: 100%;
  margin-top: 40px;
}

.cross-sells-container.large .cross-sells .remaining-time {
  color: #ff5edf !important;
}

.cross-sells-container.large .cross-sells .remaining-time svg {
  stroke: #ff5edf;
}

.cross-sells-container.large .cross-sells .cross-sell-item-link .accroche {
  color: black;
  font-size: 18px;
  margin-left: 2px;
}

@media only screen and (max-width: 1365.98px) {
  .cross-sells-container.large .cross-sells .cross-sell-item-link .accroche {
    font-size: 16px;
  }
}

@media only screen and (max-width: 1365.98px) {
  .cross-sells-container.large .cross-sells .cross-sell-item-link .accroche strong {
    display: block;
  }
}

.cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item {
  width: 100%;
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item {
    position: relative;
  }
}

.cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-media {
  width: 21%;
}

@media only screen and (max-width: 767.98px) {
  .cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-media {
    width: 40.5%;
  }
}

.cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-media img {
  max-height: 140px;
}

.cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 79%;
  padding: 0 0 0 45px;
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-content {
    padding: 0;
  }
}

@media only screen and (max-width: 767.98px) {
  .cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-content {
    display: block;
    padding: 0 0 0 20px;
    width: 59.5%;
  }
}

.cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-content .cross-sell-item-title {
  padding-bottom: 0;
}

@media only screen and (max-width: 767.98px) {
  .cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-content .cross-sell-item-title {
    padding-bottom: 15px;
  }
}

.cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-content .cross-sell-item-title span {
  display: inline;
}

@media only screen and (max-width: 767.98px) {
  .cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-content .cross-sell-item-title span {
    margin-left: 0;
  }
}

.cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-content .cross-sell-item-title .bigTitle {
  display: block;
  margin-left: 0;
  margin-bottom: 8px;
  color: #ff5edf;
  font-weight: 600;
}

.cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-content .cross-sell-item-price {
  color: #ff5edf;
}

.cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-content .cross-sell-item-payment-facility {
  color: #ff5edf;
  margin: -130px 50px 0 0;
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-content .cross-sell-item-payment-facility {
    position: absolute;
    right: 30px;
    top: 30px;
    margin: 0;
  }
}

@media only screen and (max-width: 767.98px) {
  .cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-content .cross-sell-item-payment-facility {
    margin: 0;
  }
}

.cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-content .cross-sell-item-promotion,
.cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item .cross-sell-item-content .cross-sell-item-crossed-price {
  display: inline;
}

.cross-sells-container.large .cross-sells .cross-sell-item-link .cross-sell-item button {
  background-color: #ff5edf;
}

.cross-sells-container.large .cross-sells .cross-sell-item-link h5 {
  font-style: italic;
  text-align: center;
  color: white;
  margin-top: 10px;
  background-color: #a521fc;
  opacity: 0.9;
  padding: 10px;
}

/* Media Query */
/* Colors */
/* Base */
/**
 * Mixins
 */
/**
 * Media Query
 */
/**
   * UTILITY MIXINS
   */
.exclusive-offers {
  border-top: 2px solid #f6f6f6;
  padding-top: 25px !important;
  padding-bottom: 65px !important;
  align-items: end;
}

@media only screen and (max-width: 1365.98px) {
  .exclusive-offers {
    flex-direction: column;
    align-items: flex-start !important;
  }
}

.exclusive-offers .exclusive-offers-group .exclusive-offers-title {
  font-size: 34px;
  line-height: 1;
  margin-bottom: 25px;
}

@media only screen and (max-width: 1365.98px) {
  .exclusive-offers .exclusive-offers-group .exclusive-offers-title {
    font-size: 28px;
    margin-bottom: 5px;
  }
}

.exclusive-offers .exclusive-offers-group p {
  font-size: 14px;
}

.exclusive-offers #form-newsletter-box {
  display: contents;
}

.exclusive-offers #sent-newsletter-box {
  text-align: center;
}

.exclusive-offers form {
  max-width: 48%;
  display: flex;
  flex-wrap: wrap;
}

@media only screen and (max-width: 1365.98px) {
  .exclusive-offers form {
    max-width: 100%;
  }
}

@media only screen and (max-width: 767.98px) {
  .exclusive-offers form {
    flex-direction: column;
  }
}

.exclusive-offers form input {
  width: 67%;
}

@media only screen and (max-width: 767.98px) {
  .exclusive-offers form input {
    width: 100%;
  }
}

.exclusive-offers form button {
  width: 30%;
  margin-left: 3%;
  line-height: 1;
}

@media only screen and (max-width: 767.98px) {
  .exclusive-offers form button {
    width: 100%;
    margin: 10px 0 0;
  }
}

@media only screen and (max-width: 1365.98px) {
  .exclusive-offers form button {
    font-size: 15px;
  }
}

.exclusive-offers form .accept-offers-container {
  display: flex;
  margin-top: 10px;
  width: 100%;
}

.exclusive-offers form .accept-offers-container input[type=checkbox] {
  height: auto;
  width: auto;
  margin-right: 10px;
  accent-color: #a521fc;
}

.exclusive-offers form .accept-offers-container label {
  font-size: 14px;
  background-color: inherit;
}

/* Media Query */
/* Colors */
/* Base */
/**
 * Mixins
 */
/**
 * Media Query
 */
/**
   * UTILITY MIXINS
   */
.share {
  display: block;
  float: right;
}

@media only screen and (max-width: 767.98px) {
  .share {
    float: left;
  }
}

.share h2 {
  font-size: 24px !important;
}

@media only screen and (max-width: 767.98px) {
  .share h2 {
    margin-top: 20px !important;
  }
}

/* Global style */
body {
  padding-top: 150px;
}

@media only screen and (max-width: 1365.98px) {
  body {
    font-size: 14px;
    padding-top: 50px;
  }
}

.linkasbutton {
  margin-top: 15px;
  cursor: pointer;
  width: 100%;
  border-radius: 6px;
  height: 65px;
  display: inline-block;
  color: #ffffff;
  background-color: #a521fc;
  font-size: 18px;
  font-weight: 600;
  vertical-align: middle;
  text-align: center;
  line-height: 65px;
}

@media only screen and (max-width: 1365.98px) {
  .linkasbutton.light {
    height: 30px;
  }
}

.linkasbutton:hover {
  background-color: #8c03e7;
  color: #ffffff;
}

.wrapper {
  width: 1520px;
  max-width: 1520px;
  display: flex;
  margin: 0 auto;
  justify-content: space-between;
  align-items: center;
}

@media only screen and (min-width: 1366px) and (max-width: 1679.98px) {
  .wrapper {
    width: 1250px;
    max-width: 1250px;
  }
}

@media only screen and (max-width: 1365.98px) {
  .wrapper {
    width: 100%;
    max-width: 100%;
    padding: 0 20px;
  }
}

@media only screen and (min-width: 768px) and (max-width: 1365.98px) {
  .wrapper {
    padding: 0 40px;
  }
}

button {
  width: 100%;
  color: #ffffff;
  background-color: #a521fc;
  border-radius: 6px;
  font-size: 18px;
  font-weight: 600;
  height: 65px;
  cursor: pointer;
}

button:hover {
  background-color: #8c03e7;
}

button.brown {
  background-color: #ae9478;
}

button.brown:hover {
  background-color: #987b5b;
}

button.light {
  background-color: #f6f6f6;
  color: #ae9478;
  font-weight: 400;
  font-size: 14px;
  font-style: italic;
}

button.light svg {
  stroke: #ae9478;
}

button.light:hover {
  background-color: #dddddd;
}

.heading {
  background: url(/build/images/bg-heading.9cb8c1da.svg) calc(100% - 75px) 10px no-repeat #f6f6f6;
  padding: 25px 0;
  min-height: 290px;
  display: flex;
}

@media only screen and (max-width: 1365.98px) {
  .heading {
    background: url(/build/images/bg-heading-mobile.8df7a82f.svg) center 7px no-repeat #f6f6f6;
    padding: 65px 0 40px;
  }
}

.heading .wrapper {
  justify-content: space-between;
  align-items: center;
}

.heading .wrapper .heading-content h1.title {
  background: url(/build/images/zigzag.0dec4ba1.svg) 5px 70px no-repeat;
  font-size: 80px;
  font-weight: 600;
  margin-bottom: 25px;
  line-height: 0.8em;
  padding-bottom: 25px;
}

@media only screen and (max-width: 1365.98px) {
  .heading .wrapper .heading-content h1.title {
    font-size: 46px;
    background-position: 0 44px;
    background-size: 115px;
    margin: 0;
  }
}

@media only screen and (max-width: 767.98px) {
  .heading .wrapper .heading-content h1.title {
    line-height: 1.1em;
  }
}

.heading .wrapper .heading-content p:not(:last-child) {
  margin-bottom: 25px;
}

.heading .wrapper .heading-media {
  padding-right: 200px;
  position: relative;
}

@media only screen and (min-width: 1366px) and (max-width: 1679.98px) {
  .heading .wrapper .heading-media {
    padding: 0;
  }
}

@media only screen and (min-width: 1024px) and (max-width: 1365.98px) {
  .heading .wrapper .heading-media {
    padding: 0 0 0 50px;
  }
}

.heading .wrapper .heading-media svg {
  position: absolute;
  left: 23%;
  top: 27%;
}

@media only screen and (min-width: 1024px) and (max-width: 1365.98px) {
  .heading .wrapper .heading-media svg {
    left: 35%;
    top: 20%;
  }
}

form {
  width: 50%;
}

@media only screen and (max-width: 1365.98px) {
  form {
    width: 100%;
    margin-top: 20px;
  }
}

form label {
  font-size: 17px;
  display: flex;
  flex-direction: column;
  align-items: center;
  background-color: #f6f6f6;
}

form label .icon.man {
  background: url(/build/images/man.c017eba4.svg) center center no-repeat;
  background-size: 100%;
  width: 43px;
  height: 44px;
  height: 56px;
  display: block;
}

@media only screen and (max-width: 1365.98px) {
  form label .icon.man {
    width: 29px;
    height: 40px;
  }
}

form label .icon.women {
  background: url(/build/images/women.655475e0.svg) center center no-repeat;
  background-size: 100%;
  width: 36px;
  height: 56px;
  display: block;
}

@media only screen and (max-width: 1365.98px) {
  form label .icon.women {
    width: 25px;
    height: 40px;
  }
}

form label:hover [type=radio]:checked + span:before,
form label:hover [type=radio]:not(:checked) + span:before {
  border-color: #3a3a3a;
}

form input {
  background-color: #f6f6f6;
  height: 65px;
  width: 100%;
  padding: 10px 30px;
  border-radius: 10px;
  font-size: 17px;
}

@media only screen and (max-width: 1365.98px) {
  form input {
    font-size: 14px;
  }
}

form input[type=email] {
  background: url(/build/images/send.eed5ea73.svg) calc(100% - 30px) center no-repeat #f6f6f6;
}

form input[type=datetime-local], form input[type=date] {
  background: url(/build/images/calendar.8fc8f90b.svg) calc(100% - 30px) center no-repeat #f6f6f6;
  cursor: pointer;
}

form input[type=datetime-local]::-webkit-inner-spin-button, form input[type=datetime-local]::-webkit-calendar-picker-indicator, form input[type=date]::-webkit-inner-spin-button, form input[type=date]::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none;
}

form input[type=radio]:checked, form input[type=radio]:not(:checked) {
  position: absolute;
  left: -9999px;
}

form input[type=radio]:checked + span,
form input[type=radio]:not(:checked) + span {
  position: relative;
}

form input[type=radio]:checked + span:before,
form input[type=radio]:not(:checked) + span:before {
  content: '';
  position: absolute;
  left: 50%;
  top: 39px;
  transform: translateX(-50%);
  height: 23px;
  width: 23px;
  border: 2px solid #d5d5d5;
  border-radius: 100%;
  background: #f6f6f6;
}

form input[type=radio]:checked + span:after,
form input[type=radio]:not(:checked) + span:after {
  content: '\2714';
  height: 23px;
  width: 23px;
  background: #3a3a3a;
  position: absolute;
  left: calc(50% - 12px);
  top: 39px;
  border-radius: 100%;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  color: #ffffff;
  text-align: center;
  font-size: 15px;
  padding: 2px;
}

form input[type=radio]:not(:checked) + span:after {
  opacity: 0;
  -webkit-transform: scale(0);
  transform: scale(0);
}

form input[type=radio]:checked + span:after {
  opacity: 1;
  -webkit-transform: scale(1);
  transform: scale(1);
}

form input[type=submit] {
  background-color: #a521fc;
  margin-top: 25px;
  color: #ffffff;
  font-size: 18px;
  font-weight: 600;
  cursor: pointer;
}

@media only screen and (max-width: 767.98px) {
  form input[type=submit] {
    margin-top: 10px;
  }
}

form input[type=submit]:hover {
  background-color: #8c03e7;
}

form input[name=firstname] {
  background: url(/build/images/user.a91dba4f.svg) calc(100% - 30px) center no-repeat #f6f6f6;
}

form input::placeholder {
  color: #3a3a3a;
  opacity: 1;
}

form input::-webkit-input-placeholder {
  color: #3a3a3a;
  opacity: 1;
}

form input:-ms-input-placeholder {
  color: #3a3a3a;
  opacity: 1;
}

form select {
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 25px center;
  background-size: 1em;
  background-color: #f6f6f6;
  height: 65px;
  width: 100%;
  padding: 10px 30px;
  border-radius: 10px;
  font-size: 17px;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}

@media only screen and (max-width: 1365.98px) {
  form select {
    font-size: 14px;
  }
}

form textarea {
  background-color: #f6f6f6;
  font-size: 17px;
  border-radius: 10px;
  padding: 25px;
  resize: none;
}

@media only screen and (max-width: 1365.98px) {
  form textarea {
    padding: 15px 30px;
    font-size: 14px;
  }
}

form textarea::placeholder {
  color: #3a3a3a;
  opacity: 1;
}

form textarea::-webkit-input-placeholder {
  color: #3a3a3a;
  opacity: 1;
}

form textarea:-ms-input-placeholder {
  color: #3a3a3a;
  opacity: 1;
}

.title-container .uptitle {
  font-size: 13px;
  color: #ae9478;
  text-transform: uppercase;
  padding-bottom: 15px;
}

@media only screen and (max-width: 1365.98px) {
  .title-container .uptitle {
    padding-bottom: 5px;
  }
}

.title-container .title {
  font-size: 58px;
  font-weight: 600;
  color: #2b2b2b;
  line-height: 1;
  margin: 0;
}

@media only screen and (max-width: 1365.98px) {
  .title-container .title {
    font-size: 28px;
    margin-bottom: 20px;
  }
}

.title-container p {
  padding: 25px 0 40px;
  margin: 0;
}

@media only screen and (max-width: 1365.98px) {
  .title-container p {
    padding-top: 5px;
  }
}


/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiO0FBQUE7QUFZQTtBQWVBO0FDM0JBOztFQ0tFO0FEREY7O0VDSUU7QURnREE7O0lDN0NFO0FDWEo7RUFDSTtJQUNFLHdCQUF3QjtFRGM1QjtBQUNGOztBQ1hFO0VBQ0U7SUFDRSx3QkFBd0I7RURjNUI7QUFDRjs7QUNYRTtFQUNFO0lBQ0Usd0JBQXdCO0VEYzVCO0FBQ0Y7O0FDWEU7RUFDRTtJQUNFLHdCQUF3QjtFRGM1QjtBQUNGOztBQ1hFO0VBQ0U7SUFDRSx3QkFBd0I7RURjNUI7QUFDRjs7QUV6Q0E7QUFDQTtBQUNBO0FBRUE7OztFRjZDRTtBRXhDRDs7O0VBR0Usc0JBQXNCO0VBQUU7QUYyQzNCOztBRXhDQzs7OztJRjhDRztBRXhDSDtFQUNHLGVKT2lCO0VJTmxCLHdDQUF3QztFQUFFO0VBQzFDLDhCQUE4QjtFQUFFO0VBQ2hDLHlCQUF5QjtFQUFFO0FGNkM5Qjs7QUUxQ0M7RUFDRSxTQUFTO0VBQ1QsbUNKRnNDO0VJR3RDLGVKRmtCO0VJR2xCLGlCSkRvQjtFSUVwQix5QkpwQlk7RUlxQlosY0poQmU7QUU2RGxCOztBRTFDQzs7SUY4Q0c7QUUxQ0g7Ozs7Ozs7Ozs7OztFQVlFLGNKbkNlO0FFK0VsQjs7QUV6Q0M7O0lGNkNHO0FFekNIO0VBQ0UsY0p6Q2E7RUkwQ2IscUJKM0JtQjtBRXNFdEI7O0FFeENDOzs7RUFHRSxjSmhEYTtFSWlEYixxQkpsQ21CO0FFNkV0Qjs7QUV4Q0M7OztJRjZDRztBRXhDSDtFQUNFLG1CQUFtQjtFQUFFO0VBQ3JCLDBCQUEwQjtFQUFFO0VBQzVCLGlDQUFpQztFQUFFO0FGNkN0Qzs7QUUxQ0M7O0lGOENHO0FFMUNIOzs7O0VBSUUsYUFBYTtFQUNiLG1CSnhEaUI7QUVvR3BCOztBRXpDQzs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQkUsYUFBYTtFQUNiLGtCSjVFZTtBRXdIbEI7O0FFekNDOztJRjZDRztBRXpDSDs7Ozs7Ozs7OztFQVVFLGFBQWE7RUFDYixnQkFBZ0I7QUYyQ25COztBRXhDQzs7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QW9CO0VBQ3BCLHlCRjdTVztFRThTWCxZQUFZO0VBQ1osV0FBVztFQUNYLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLHdCQUF3QjtFQUN4QixnQkFBZ0I7RUFDaEIsZUFBZTtBQTZnRHZCOztBRG55RE07RUNvSE47SUFvS1ksZUFBZTtFQWdoRHpCO0FBQ0Y7O0FBcnJEQTtFQXdLUSx5QkYzVFc7RUU0VFgsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsWUFBWTtBQWloRHBCOztBRGp6RE07RUNvSE47SUE4S1ksa0JBQWtCO0lBQ2xCLGVBQWU7RUFvaER6QjtBQUNGOztBQXBzREE7RUFrTFksY0ZsVU07RUVtVU4sVUFBVTtBQXNoRHRCOztBQXpzREE7RUFzTFksY0Z0VU07RUV1VU4sVUFBVTtBQXVoRHRCOztBQTlzREE7RUEwTFksY0YxVU07RUUyVU4sVUFBVTtBQXdoRHRCOztBQW5oREE7RUFFUSxlQUFlO0VBQ2YsY0YvVU87RUVnVlAseUJBQXlCO0VBQ3pCLG9CQUFvQjtBQXFoRDVCOztBRDkwRE07RUNvVE47SUFPWSxtQkFBbUI7RUF3aEQ3QjtBQUNGOztBQWhpREE7RUFXUSxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCLGNBQWM7RUFDZCxjQUFjO0VBQ2QsU0FBUztBQXloRGpCOztBRDUxRE07RUNvVE47SUFpQlksZUFBZTtJQUNmLG1CQUFtQjtFQTRoRDdCO0FBQ0Y7O0FBL2lEQTtFQXNCUSxvQkFBb0I7RUFDcEIsU0FBUztBQTZoRGpCOztBRHgyRE07RUNvVE47SUF5QlksZ0JBQWdCO0VBZ2lEMUI7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Nhc3MvYWJzdHJhY3RzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zYXNzL2Fic3RyYWN0cy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXBwLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vc2Fzcy9hYnN0cmFjdHMvX3NjcmVlbi5zY3NzIiwid2VicGFjazovLy8uL3Nhc3MvYmFzZS9fcmVzZXQtYmFzZS5zY3NzIiwid2VicGFjazovLy8uL3Nhc3MvYmFzZS9fcmVzZXQtYWNjZXNzaWJpbGl0eS5zY3NzIiwid2VicGFjazovLy8uL3Nhc3MvYmFzZS9fcmVzZXQtZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly8vLi9zYXNzL2Jhc2UvX3Jlc2V0LXByaW50LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vbGF5b3V0L2hlYWRlci5zY3NzIiwid2VicGFjazovLy8uL2xheW91dC9mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9sYXlvdXQvY3Jvc3Mtc2VsbHMuc2NzcyIsIndlYnBhY2s6Ly8vLi9sYXlvdXQvZXhjbHVzaXZlLW9mZmVycy5zY3NzIiwid2VicGFjazovLy8uL2xheW91dC9zaGFyZS1saW5rcy5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIE1lZGlhIFF1ZXJ5ICovXG4kZGVza3RvcF9sYXB0b3A6ICcobWluLXdpZHRoOiAxMzY2cHgpJztcbiRkZXNrdG9wOiAnKG1pbi13aWR0aDogMTY4MHB4KSc7XG4kbGFwdG9wOiAnKG1pbi13aWR0aDogMTM2NnB4KSBhbmQgKG1heC13aWR0aDogMTY3OS45OHB4KSc7XG4kdGFibGV0OiAnKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMzY1Ljk4cHgpJztcbiR0YWJsZXRfbGFuZHNjYXBlOiAnKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTM2NS45OHB4KSc7XG4kdGFibGV0X3BvcnRyYWl0OiAnKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiAxMDIzLjk4cHgpJztcbiRtb2JpbGU6ICcobWF4LXdpZHRoOiA3NjcuOThweCknO1xuJG1vYmlsZV9sYW5kc2NhcGU6ICcobWluLXdpZHRoOiA1NjhweCkgYW5kIChtYXgtd2lkdGg6IDc2Ny45OHB4KSc7XG4kbW9iaWxlX3BvcnRyYWl0OiAnKG1heC13aWR0aDogNTY3Ljk4cHgpJztcbiR0YWJsZXRfbW9iaWxlOiAnKG1heC13aWR0aDogMTM2NS45OHB4KSc7XG5cbi8qIENvbG9ycyAqL1xuJHdoaXRlOiAjZmZmZmZmO1xuJGJsYWNrOiAjMDAwMDAwO1xuJGdyYXlMaWdodDogI2Y2ZjZmNjtcbiRncmF5TGlnaHRIb3ZlcjogZGFya2VuKCNmNmY2ZjYsIDEwJSk7XG4kZ3JleURhcmtlcjogIzJiMmIyYjtcbiRncmV5RGFyazogIzNhM2EzYTtcbiRncmV5RGFya0hvdmVyOiBkYXJrZW4oIzNhM2EzYSwgMTAlKTtcbiRwdXJwbGU6ICNhNTIxZmM7XG4kcHVycGxlSG92ZXI6IGRhcmtlbigjYTUyMWZjLCAxMCUpO1xuJGJyb3duOiAjYWU5NDc4O1xuJGJyb3duSG92ZXI6IGRhcmtlbigjYWU5NDc4LCAxMCUpO1xuJGdyZXlGb3JtOiAjZDVkNWQ1O1xuJHBpbms6ICNmZjVlZGY7XG5cbi8qIEJhc2UgKi9cbiRmb250LWZhbWlseS1iYXNlOiAnV29yayBTYW5zJywgSGVsdmV0aWNhO1xuJGZvbnQtc2l6ZS1iYXNlOiAxNnB4O1xuJGZvbnQtc2l6ZS10aXRsZTogODBweDtcbiRsaW5lLWhlaWdodC1iYXNlOiAxLjQzO1xuJGNvbG9yLWJhc2U6ICRncmV5RGFyaztcbiRiZ0NvbG9yLWJhc2U6ICR3aGl0ZTtcbiRwcmltYXJ5OiAkcHVycGxlO1xuJGxpbmstZGVjb3JhdGlvbjogbm9uZTtcbiRzcGFjZXItbWVkaXVtOiAxMHB4O1xuJHNwYWNlci1zbWFsbDogNXB4OyIsIi8qKlxuICogTWl4aW5zXG4gKi9cblxuLyoqXG4gKiBNZWRpYSBRdWVyeVxuICovXG5cbiBAbWl4aW4gc2NyZWVuKCRzaXplKSB7XG4gICAgQGlmICRzaXplID09IGRlc2t0b3BfbGFwdG9wIHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgI3skZGVza3RvcF9sYXB0b3B9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSBkZXNrdG9wIHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgI3skZGVza3RvcH0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09IGxhcHRvcCB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICN7JGxhcHRvcH0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09IHRhYmxldCB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICN7JHRhYmxldH0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09IHRhYmxldF9sYW5kc2NhcGUge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAjeyR0YWJsZXRfbGFuZHNjYXBlfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gdGFibGV0X3BvcnRyYWl0IHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgI3skdGFibGV0X3BvcnRyYWl0fSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gbW9iaWxlIHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgI3skbW9iaWxlfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gbW9iaWxlX2xhbmRzY2FwZSB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kICN7JG1vYmlsZV9sYW5kc2NhcGV9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSBtb2JpbGVfcG9ydHJhaXQge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAjeyRtb2JpbGVfcG9ydHJhaXR9IHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSB0YWJsZXRfbW9iaWxlIHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgI3skdGFibGV0X21vYmlsZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgI3skc2l6ZX0ge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gIC8qKlxuICAgKiBVVElMSVRZIE1JWElOU1xuICAgKi9cbiAgXG4gIC8vIENsZWFyZml4XG4gIEBtaXhpbiBjbGVhcmZpeCB7XG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgfVxuICBcbiAgLy8gcmVtb3ZlIGJhc2Ugc3R5bGUgaW5wdXQgb2YgYWxsIGJyb3dzZXJcbiAgQG1peGluIHJlbW92ZS1icm93c2VyLXN0eWxlKCkge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLyogV2ViS2l0ICovXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lOyAvKiBNb3ppbGxhICovXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuICBcbiAgLy8gUGxhY2Vob2xkZXJcbiAgQG1peGluIG9wdGlvbmFsLWF0LXJvb3QoJHNlbCkge1xuICAgIEBhdC1yb290ICN7aWYobm90ICYsICRzZWwsIHNlbGVjdG9yLWFwcGVuZCgmLCAkc2VsKSl9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBcbiAgQG1peGluIHBsYWNlaG9sZGVyIHtcbiAgICBAaW5jbHVkZSBvcHRpb25hbC1hdC1yb290KCc6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXInKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIFxuICAgIEBpbmNsdWRlIG9wdGlvbmFsLWF0LXJvb3QoJzotbW96LXBsYWNlaG9sZGVyJykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICBcbiAgICBAaW5jbHVkZSBvcHRpb25hbC1hdC1yb290KCc6Oi1tb3otcGxhY2Vob2xkZXInKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIFxuICAgIEBpbmNsdWRlIG9wdGlvbmFsLWF0LXJvb3QoJzotbXMtaW5wdXQtcGxhY2Vob2xkZXInKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbiAgXG4gIC8vIFRleHQgb3ZlcmZsb3dcbiAgQG1peGluIHRleHQtb3ZlcmZsb3coKSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB9XG4gIFxuICAvLyBSZXRpbmFcbiAgQG1peGluIHJldGluYSgkaW1hZ2UsICR3aWR0aCwgJGhlaWdodCkge1xuICAgIEBtZWRpYSAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLFxuICAgICAgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIuNi8yKSxcbiAgICAgICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuMyksXG4gICAgICAobWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSxcbiAgICAgIChtaW4tcmVzb2x1dGlvbjogMS4zZHBweCkge1xuICAgICAgLyogU2VydmluZyAyeCBpbWFnZSBvbiBSZXRpbmEgZGlzcGxheSAqL1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCRpbWFnZSk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6ICR3aWR0aCAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gICIsIkBpbXBvcnQgJ3Nhc3MvYWJzdHJhY3RzL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdzYXNzL2Fic3RyYWN0cy9taXhpbnMnO1xuQGltcG9ydCAnc2Fzcy9hYnN0cmFjdHMvc2NyZWVuJztcbkBpbXBvcnQgJ3Nhc3MvYmFzZS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ3Nhc3MvYmFzZS9yZXNldC1iYXNlJztcbkBpbXBvcnQgJ3Nhc3MvYmFzZS9yZXNldC1hY2Nlc3NpYmlsaXR5JztcbkBpbXBvcnQgJ3Nhc3MvYmFzZS9yZXNldC1mb3Jtcyc7XG5AaW1wb3J0ICdzYXNzL2Jhc2UvcmVzZXQtcHJpbnQnO1xuQGltcG9ydCAnbGF5b3V0L2hlYWRlcic7XG5AaW1wb3J0ICdsYXlvdXQvZm9vdGVyJztcbkBpbXBvcnQgJ2xheW91dC9jcm9zcy1zZWxscyc7XG5AaW1wb3J0ICdsYXlvdXQvZXhjbHVzaXZlLW9mZmVycyc7XG5AaW1wb3J0ICdsYXlvdXQvc2hhcmUtbGlua3MnO1xuXG5cbi8qIEdsb2JhbCBzdHlsZSAqL1xuXG5ib2R5IHtcbiAgICBwYWRkaW5nLXRvcDogMTUwcHg7XG4gICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICB9XG59XG5cbi5saW5rYXNidXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBoZWlnaHQ6IDY1cHg7ICAgICAgICBcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2E1MjFmYztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogNjVweDtcbiAgICAmLmxpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgIGhlaWdodDogMzBweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZUhvdmVyO1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICB9XG4gICAgXG59XG5cbi53cmFwcGVyIHtcbiAgICB3aWR0aDogMTUyMHB4O1xuICAgIG1heC13aWR0aDogMTUyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgc2NyZWVuKGxhcHRvcCkge1xuICAgICAgICB3aWR0aDogMTI1MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEyNTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICB9XG59XG5cbmJ1dHRvbiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlSG92ZXI7XG4gICAgfVxuICAgICYuYnJvd24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnJvd247XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyb3duSG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJi5saWdodCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5TGlnaHQ7XG4gICAgICAgIGNvbG9yOiAkYnJvd247XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgc3Ryb2tlOiAkYnJvd247XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheUxpZ2h0SG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL2JnLWhlYWRpbmcuc3ZnXCIpIGNhbGMoMTAwJSAtIDc1cHgpIDEwcHggbm8tcmVwZWF0ICAkZ3JheUxpZ2h0O1xuICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICBtaW4taGVpZ2h0OiAyOTBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9zdmcvYmctaGVhZGluZy1tb2JpbGUuc3ZnXCIpIGNlbnRlciA3cHggbm8tcmVwZWF0ICAkZ3JheUxpZ2h0O1xuICAgICAgICBwYWRkaW5nOiA2NXB4IDAgNDBweDtcbiAgICB9XG4gICAgLndyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIC5oZWFkaW5nLWNvbnRlbnQge1xuICAgICAgICAgICAgaDEudGl0bGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9zdmcvemlnemFnLnN2Z1wiKSA1cHggNzBweCBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRpdGxlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMC44ZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA0NnB4O1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDQ0cHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTE1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKG1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5oZWFkaW5nLW1lZGlhIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKGxhcHRvcCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X2xhbmRzY2FwZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDUwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyMyU7XG4gICAgICAgICAgICAgICAgdG9wOiAyNyU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9sYW5kc2NhcGUpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMzUlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDIwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuZm9ybSB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X21vYmlsZSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gICAgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5TGlnaHQ7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICYubWFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL21hbi5zdmdcIikgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0M3B4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDU2cHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI5cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLndvbWVuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL3dvbWVuLnN2Z1wiKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1NnB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgW3R5cGU9cmFkaW9dOmNoZWNrZWQgKyBzcGFuOmJlZm9yZSxcbiAgICAgICAgICAgIFt0eXBlPXJhZGlvXTpub3QoOmNoZWNrZWQpICsgc3BhbjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGdyZXlEYXJrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGlucHV0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXlMaWdodDtcbiAgICAgICAgaGVpZ2h0OiA2NXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTBweCAzMHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICAgICAgJlt0eXBlPWVtYWlsXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvc3ZnL3NlbmQuc3ZnXCIpIGNhbGMoMTAwJSAtIDMwcHggKSBjZW50ZXIgbm8tcmVwZWF0ICRncmF5TGlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgJlt0eXBlPWRhdGV0aW1lLWxvY2FsXSxcbiAgICAgICAgJlt0eXBlPWRhdGVdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9zdmcvY2FsZW5kYXIuc3ZnXCIpIGNhbGMoMTAwJSAtIDMwcHggKSBjZW50ZXIgbm8tcmVwZWF0ICRncmF5TGlnaHQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgICAgICAgJjo6LXdlYmtpdC1jYWxlbmRhci1waWNrZXItaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmW3R5cGU9cmFkaW9dIHtcbiAgICAgICAgICAgICY6Y2hlY2tlZCxcbiAgICAgICAgICAgICY6bm90KDpjaGVja2VkKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmNoZWNrZWQgKyBzcGFuLFxuICAgICAgICAgICAgJjpub3QoOmNoZWNrZWQpICsgc3BhblxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Y2hlY2tlZCArIHNwYW46YmVmb3JlLFxuICAgICAgICAgICAgJjpub3QoOmNoZWNrZWQpICsgc3BhbjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdG9wOiAzOXB4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIzcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgJGdyZXlGb3JtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXlMaWdodDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Y2hlY2tlZCArIHNwYW46YWZ0ZXIsXG4gICAgICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgKyBzcGFuOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnXFwyNzE0JztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIzcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIzcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyZXlEYXJrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiBjYWxjKDUwJSAtIDEycHgpO1xuICAgICAgICAgICAgICAgIHRvcDogMzlweDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm5vdCg6Y2hlY2tlZCkgKyBzcGFuOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpjaGVja2VkICsgc3BhbjphZnRlciB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmW3R5cGU9c3VibWl0XSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKG1vYmlsZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHVycGxlSG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJltuYW1lPWZpcnN0bmFtZV0ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1hZ2VzL3N2Zy91c2VyLnN2Z1wiKSBjYWxjKDEwMCUgLSAzMHB4ICkgY2VudGVyIG5vLXJlcGVhdCAkZ3JheUxpZ2h0O1xuICAgICAgICB9XG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleURhcms7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5RGFyaztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5RGFyaztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2VsZWN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9VVRGLTgsJTNjc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDI0IDI0JyBmaWxsPSdub25lJyBzdHJva2U9J2N1cnJlbnRDb2xvcicgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1saW5lam9pbj0ncm91bmQnJTNlJTNjcG9seWxpbmUgcG9pbnRzPSc2IDkgMTIgMTUgMTggOSclM2UlM2MvcG9seWxpbmUlM2UlM2Mvc3ZnJTNlXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAyNXB4IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxZW07XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5TGlnaHQ7XG4gICAgICAgIGhlaWdodDogNjVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5TGlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgcGFkZGluZzogMjVweDtcbiAgICAgICAgcmVzaXplOiBub25lO1xuICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X21vYmlsZSkge1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAzMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleURhcms7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAgICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5RGFyaztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5RGFyaztcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50aXRsZS1jb250YWluZXIge1xuICAgIC51cHRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBjb2xvcjogJGJyb3duO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiA1OHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogIzJiMmIyYjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcCB7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMCA0MHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgICAgICB9XG4gICAgfVxufSIsIkBtZWRpYSAjeyRkZXNrdG9wX2xhcHRvcH0ge1xuICAgIC5oaWRkZW4tZGVza3RvcCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIFxuICBAbWVkaWEgI3skdGFibGV0fSB7XG4gICAgLmhpZGRlbi10YWJsZXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAjeyR0YWJsZXRfbGFuZHNjYXBlfSB7XG4gICAgLmhpZGRlbi10YWJsZXQtbGFuZHNjYXBlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICBAbWVkaWEgI3skdGFibGV0X3BvcnRyYWl0fSB7XG4gICAgLmhpZGRlbi10YWJsZXQtcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuICBcbiAgQG1lZGlhICN7JG1vYmlsZX0ge1xuICAgIC5oaWRkZW4tbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qID09UmVzZXQgKGJhc2UpICAgICAgICAgICAgICAgICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG4vKlxuICogMS4gU3dpdGNoIHRvIGJvcmRlci1ib3ggbW9kZWwgZm9yIGFsbCBlbGVtZW50c1xuICpcbiAqL1xuXG4gKixcbiAqOjpiZWZvcmUsXG4gKjo6YWZ0ZXIge1xuICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuIH1cbiBcbiAvKlxuICAgKiAxLiBSZW1vdmUgdGhlIGdyZXkgaGlnaGxpZ2h0IG9uIGxpbmtzIGluIGlPU1xuICAgKiAyLiBQcmV2ZW50IG9yaWVudGF0aW9uIGZvbnQgY2hhbmdlcyBpbiBpT1NcbiAgICogMy4gQnJlYWtzIHdvcmRzIHRvIHByZXZlbnQgb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzXG4gICAqL1xuIFxuIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlO1xuICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkOyAvKiAzICovXG4gfVxuIFxuIGJvZHkge1xuICAgbWFyZ2luOiAwO1xuICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1iYXNlO1xuICAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdDb2xvci1iYXNlO1xuICAgY29sb3I6ICRjb2xvci1iYXNlO1xuIH1cbiBcbiAvKlxuICAgKiBIZWFkaW5nc1xuICAgKi9cbiBcbiBoMSxcbiAuaDEtbGlrZSxcbiBoMixcbiAuaDItbGlrZSxcbiBoMyxcbiAuaDMtbGlrZSxcbiBoNCxcbiAuaDQtbGlrZSxcbiBoNSxcbiAuaDUtbGlrZSxcbiBoNixcbiAuaDYtbGlrZSB7XG4gICBjb2xvcjogJGNvbG9yLWJhc2U7XG4gfVxuIFxuIC8qXG4gICAqIExpbmtzXG4gICAqL1xuIFxuIGEge1xuICAgY29sb3I6ICRwcmltYXJ5O1xuICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuIH1cbiBcbiBhOmZvY3VzLFxuIGE6aG92ZXIsXG4gYTphY3RpdmUge1xuICAgY29sb3I6ICRwcmltYXJ5O1xuICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1kZWNvcmF0aW9uO1xuIH1cbiBcbiAvKipcbiAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICovXG4gXG4gYWJiclt0aXRsZV0ge1xuICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuIH1cbiBcbiAvKlxuICAgKiBWZXJ0aWNhbCByeXRobVxuICAgKi9cbiBcbiBoMSxcbiAuaDEtbGlrZSxcbiBoMixcbiAuaDItbGlrZSB7XG4gICBtYXJnaW4tdG9wOiAwO1xuICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci1tZWRpdW07XG4gfVxuIFxuIHAsXG4gYWRkcmVzcyxcbiBvbCxcbiB1bCxcbiBkbCxcbiBibG9ja3F1b3RlLFxuIHByZSxcbiBoMyxcbiAuaDMtbGlrZSxcbiBoNCxcbiAuaDQtbGlrZSxcbiBoNSxcbiAuaDUtbGlrZSxcbiBoNixcbiAuaDYtbGlrZSxcbiBkdCxcbiBkZCB7XG4gICBtYXJnaW4tdG9wOiAwO1xuICAgbWFyZ2luLWJvdHRvbTogJHNwYWNlci1zbWFsbDtcbiB9XG4gXG4gLypcbiAgICogTmVzdGVkIGVsZW1lbnRzXG4gICAqL1xuIFxuIG9sIG9sLFxuIG9sIHVsLFxuIHVsIG9sLFxuIHVsIHVsLFxuIGxpIHVsLFxuIGxpIG9sLFxuIG5hdiB1bCxcbiBuYXYgb2wsXG4gbGkgcCxcbiBsaSAucC1saWtlIHtcbiAgIG1hcmdpbi10b3A6IDA7XG4gICBtYXJnaW4tYm90dG9tOiAwO1xuIH1cbiBcbiAvKlxuICAgKiBMaXN0c1xuICAgKi9cbiBcbiB1bCxcbiBvbCB7XG4gICBwYWRkaW5nLWxlZnQ6ICRzcGFjZXItbWVkaXVtO1xuIH1cbiBcbiBuYXYgdWwsXG4gbmF2IG9sIHtcbiAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICBwYWRkaW5nOiAwO1xuIH1cbiBcbiAvKlxuICAgKiBFbWJlZCBjb250ZW50XG4gICAqL1xuIFxuIGF1ZGlvLFxuIGNhbnZhcyxcbiBpZnJhbWUsXG4gaW1nLFxuIHN2ZyxcbiB2aWRlbyB7XG4gICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuIH1cbiBcbiBpbWcsXG4gdGFibGUsXG4gdGQsXG4gYmxvY2txdW90ZSxcbiBwcmUsXG4gY29kZSxcbiBpbnB1dCxcbiB0ZXh0YXJlYSxcbiBzZWxlY3QsXG4gdmlkZW8sXG4gc3ZnLFxuIGlmcmFtZSB7XG4gICBtYXgtd2lkdGg6IDEwMCU7XG4gfVxuIFxuIGlmcmFtZSxcbiBpbWcsXG4gaW5wdXQsXG4gc2VsZWN0LFxuIHRleHRhcmVhIHtcbiAgIGhlaWdodDogYXV0bztcbiB9XG4gXG4gaW1nIHtcbiAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiB9XG4gXG4gLyoqXG4gICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGlmcmFtZXMgaW4gYWxsIGJyb3dzZXJzXG4gICAqL1xuIFxuIGlmcmFtZSB7XG4gICBib3JkZXItc3R5bGU6IG5vbmU7XG4gfVxuIFxuIC8qXG4gICAqIEZpbGwgY29sb3IgbWF0Y2hpbmcgdG8gdGV4dCBjb2xvclxuICAgKi9cbiBcbiBzdmc6bm90KFtmaWxsXSkge1xuICAgZmlsbDogY3VycmVudENvbG9yO1xuIH1cbiBcbiAvKlxuICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRVxuICAgKi9cbiBcbiBzdmc6bm90KDpyb290KSB7XG4gICBvdmVyZmxvdzogaGlkZGVuO1xuIH1cbiBcbiAvKlxuICAgKiBUYWJsZXNcbiAgICovXG4gXG4gdGFibGUge1xuICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiB9XG4gXG4gLypcbiAgICogUnVsZXJzXG4gICAqL1xuIFxuIGhyIHtcbiAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgaGVpZ2h0OiAwO1xuICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICBib3JkZXI6IDA7XG4gICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICBtYXJnaW46ICRzcGFjZXItbWVkaXVtIDA7XG4gICBjbGVhcjogYm90aDtcbiAgIGNvbG9yOiBpbmhlcml0O1xuIH1cbiBcbiAvKlxuICAgKiB0YWJsZSBzdHlsZXNcbiAgICovXG4gXG4gdGFibGUge1xuICAgd2lkdGg6IDEwMCU7XG4gICBtYXgtd2lkdGg6IDEwMCU7XG4gICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyLW1lZGl1bTtcbiB9XG4gIiwiLypcbiAqIEhpZGRlbiBidXQgbm90IGZvciBhbiBhc3Npc3RpdmUgdGVjaG5vbG9neSBsaWtlIGEgc2NyZWVuIHJlYWRlciwgWWFob28hIG1ldGhvZFxuICovXG5cbiAudmlzdWFsbHktaGlkZGVuLFxuIC5zci1vbmx5IHtcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICAgd2lkdGg6IDFweCAhaW1wb3J0YW50O1xuICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKSAhaW1wb3J0YW50O1xuIH1cbiBcbiAvKlxuICAgKiBEaXNhYmxlIGFuaW1hdGlvbnMgc3R5bGVzIHdoZW4gcmVkdWNlZCBtb3Rpb24gaXMgZW5hYmxlZFxuICAgKi9cbiBcbiBAbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgKiB7XG4gICAgIGFuaW1hdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgICB0cmFuc2l0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICB9XG4gfVxuIFxuIC8qXG4gICAqIENoYW5nZSB0aGUgY3Vyc29yIG9uIGJ1c3kgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbiBcbiBbYXJpYS1idXN5PSd0cnVlJ10ge1xuICAgY3Vyc29yOiBwcm9ncmVzcztcbiB9XG4gXG4gLypcbiAgICogQ2hhbmdlIHRoZSBjdXJzb3Igb24gY29udHJvbCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuIFxuIFthcmlhLWNvbnRyb2xzXSB7XG4gICBjdXJzb3I6IHBvaW50ZXI7XG4gfVxuIFxuIC8qXG4gICAqIENoYW5nZSB0aGUgY3Vyc29yIG9uIGRpc2FibGVkLCBub3QtZWRpdGFibGUsIG9yIG90aGVyd2lzZVxuICAgKiBpbm9wZXJhYmxlIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICovXG4gXG4gW2FyaWEtZGlzYWJsZWQ9J3RydWUnXSxcbiBbZGlzYWJsZWRdIHtcbiAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gfVxuIFxuIC8qXG4gICAqIENoYW5nZSB0aGUgZGlzcGxheSBvbiB2aXN1YWxseSBoaWRkZW4gYWNjZXNzaWJsZSBlbGVtZW50c1xuICAgKiBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuIFxuIFthcmlhLWhpZGRlbj0nZmFsc2UnXVtoaWRkZW5dIHtcbiAgIGRpc3BsYXk6IGluaXRpYWw7XG4gfVxuIFxuIFthcmlhLWhpZGRlbj0nZmFsc2UnXVtoaWRkZW5dOm5vdCg6Zm9jdXMpIHtcbiAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gfVxuICIsIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKiA9PVJlc2V0IChmb3JtcykgICAgICAgICAgICAgICAqL1xuLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuLypcbiAqIFJlbW92ZSB0aGUgdGFwcGluZyBkZWxheSBvbiBjbGlja2FibGUgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzIC5cbiAqL1xuXG4gYSxcbiBhcmVhLFxuIGJ1dHRvbixcbiBpbnB1dCxcbiBsYWJlbCxcbiBzZWxlY3QsXG4gc3VtbWFyeSxcbiB0ZXh0YXJlYSxcbiBbdGFiaW5kZXhdIHtcbiAgIC1tcy10b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuIH1cbiBcbiAvKlxuICAgKiAxLiBDaGFuZ2UgdGhlIGluY29uc2lzdGVudCBhcHBlYXJhbmNlIGluIGFsbCBicm93c2Vycy5cbiAgICogMi4gQWRkIHR5cG9ncmFwaHkgaW5oZXJpdGFuY2UgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbiBcbiBidXR0b24sXG4gaW5wdXQsXG4gc2VsZWN0LFxuIHRleHRhcmVhIHtcbiAgIG1hcmdpbjogMDtcbiAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDIgKi9cbiAgIGZvbnQtc2l6ZTogaW5oZXJpdDsgLyogMiAqL1xuICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0OyAvKiAyICovXG4gICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuIH1cbiBcbiAvKlxuICAgKiBCYXNpYyBVc2VyIEludGVyZmFjZSByZXNldFxuICAgKi9cbiBcbiBidXR0b24sXG4gaW5wdXQ6bm90KFt0eXBlPSdyYWRpbyddKTpub3QoW3R5cGU9J2NoZWNrYm94J10pLFxuIHNlbGVjdCxcbiB0ZXh0YXJlYSB7XG4gICBib3JkZXI6IDA7XG4gfVxuIFxuIC8qXG4gICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICovXG4gXG4gcHJlLFxuIGNvZGUsXG4ga2JkLFxuIHNhbXAge1xuICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuIH1cbiBcbiBwcmUge1xuICAgdGFiLXNpemU6IDI7XG4gICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgb3ZlcmZsb3c6IGF1dG87XG4gICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbiB9XG4gXG4gLypcbiAgICogU2hvdyBvdmVyZmxvdyBpbiBJRS9FZGdlXG4gICAqL1xuIFxuIGJ1dHRvbixcbiBpbnB1dCB7XG4gICBvdmVyZmxvdzogdmlzaWJsZTtcbiB9XG4gXG4gLypcbiAgICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94XG4gICAqL1xuIFxuIGJ1dHRvbixcbiBzZWxlY3Qge1xuICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gfVxuIFxuIC8qXG4gICAqIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAqL1xuIFxuIGJ1dHRvbixcbiBbdHlwZT0nYnV0dG9uJ10sXG4gW3R5cGU9J3Jlc2V0J10sXG4gW3R5cGU9J3N1Ym1pdCddLFxuIFt0eXBlPSdkYXRlJ10ge1xuICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gfVxuIFxuIGZvcm0sXG4gZmllbGRzZXQge1xuICAgYm9yZGVyOiBub25lO1xuIH1cbiBcbiBmaWVsZHNldCB7XG4gICBtYXJnaW46IDA7XG4gICBwYWRkaW5nOiAkc3BhY2VyLW1lZGl1bTtcbiB9XG4gXG4gbGVnZW5kIHtcbiAgIGRpc3BsYXk6IHRhYmxlO1xuICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgcGFkZGluZzogMCAkc3BhY2VyLXNtYWxsO1xuICAgYm9yZGVyOiAwO1xuICAgY29sb3I6IGluaGVyaXQ7XG4gICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuIH1cbiBcbiBsYWJlbCB7XG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICBjdXJzb3I6IHBvaW50ZXI7XG4gfVxuIFxuIHRleHRhcmVhIHtcbiAgIG92ZXJmbG93OiBhdXRvO1xuICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgIHJlc2l6ZTogdmVydGljYWw7XG4gICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gfVxuIFxuIHByb2dyZXNzIHtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgIHdpZHRoOiAxMDAlO1xuICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuIH1cbiBcbiBvdXRwdXQge1xuICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuIH1cbiBcbiBzdW1tYXJ5IHtcbiAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiB9XG4gXG4gdGVtcGxhdGUge1xuICAgZGlzcGxheTogbm9uZTtcbiB9XG4gXG4gLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbiAvKiBGb3JtIG9kZGl0aWVzICAgICAgICAgICAgICAgICAqL1xuIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4gXG4gLypcbiAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICovXG4gXG4gW3R5cGU9J3NlYXJjaCddIHtcbiAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xuIH1cbiBcbiAvKlxuICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBTYWZhcmkuXG4gICAqL1xuIFxuIDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiA6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgaGVpZ2h0OiBhdXRvO1xuIH1cbiBcbiAvKlxuICAgKiBDb3JyZWN0IHRoZSB0ZXh0IHN0eWxlIG9mIHBsYWNlaG9sZGVycyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAqL1xuIFxuIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICBjb2xvcjogaW5oZXJpdDtcbiAgIG9wYWNpdHk6IDAuNTQ7XG4gfVxuIFxuIC8qXG4gICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAqL1xuIFxuIDo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gfVxuIFxuIC8qXG4gICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSB1cGxvYWQgYnV0dG9ucyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgKi9cbiBcbiA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gfVxuIFxuIC8qXG4gICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIG9mIGZvY3VzIG91dGxpbmVzIGluIEZpcmVmb3guXG4gICAqL1xuIFxuIDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICBwYWRkaW5nOiAwO1xuIH1cbiBcbiAvKlxuICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBvdXRsaW5lIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZSBpbiBGaXJlZm94LlxuICAgKi9cbiBcbiA6LW1vei1mb2N1c3Jpbmcge1xuICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuIH1cbiBcbiAvKlxuICAgKiBSZW1vdmUgdGhlIGFkZGl0aW9uYWwgOmludmFsaWQgc3R5bGVzIGluIEZpcmVmb3guXG4gICAqL1xuIFxuIDotbW96LXVpLWludmFsaWQge1xuICAgYm94LXNoYWRvdzogbm9uZTtcbiB9XG4gIiwiLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qID09UHJpbnQgKHF1aWNrIHByaW50IHJlc2V0KSAgICovXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuXG5AbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICBcbiAgICBib2R5IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgZm9udC1mYW1pbHk6IHNlcmlmO1xuICAgICAgZm9udC1zaXplOiAxMnB0O1xuICAgIH1cbiAgXG4gICAgcCxcbiAgICAucC1saWtlLFxuICAgIGgxLFxuICAgIC5oMS1saWtlLFxuICAgIGgyLFxuICAgIC5oMi1saWtlLFxuICAgIGgzLFxuICAgIC5oMy1saWtlLFxuICAgIGg0LFxuICAgIC5oNC1saWtlLFxuICAgIGg1LFxuICAgIC5oNS1saWtlLFxuICAgIGg2LFxuICAgIC5oNi1saWtlLFxuICAgIGJsb2NrcXVvdGUsXG4gICAgbGFiZWwsXG4gICAgdWwsXG4gICAgb2wge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICBcbiAgICAucHJpbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICBcbiAgICAubm8tcHJpbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIFxuICAgIC8qIG5vIG9ycGhhbnMsIG5vIHdpZG93cyAqL1xuICAgIHAsXG4gICAgLnAtbGlrZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuICBcbiAgICAvKiBubyBicmVha3MgaW5zaWRlIHRoZXNlIGVsZW1lbnRzICovXG4gICAgYmxvY2txdW90ZSxcbiAgICB1bCxcbiAgICBvbCB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuICBcbiAgICAvKiBwYWdlIGJyZWFrIGJlZm9yZSBtYWluIGhlYWRlcnNcbiAgICBoMSxcbiAgICAuaDEtbGlrZSB7XG4gICAgICBwYWdlLWJyZWFrLWJlZm9yZTogYWx3YXlzO1xuICAgIH1cbiAgICAqL1xuICBcbiAgICAvKiBubyBicmVha3MgYWZ0ZXIgdGhlc2UgZWxlbWVudHMgKi9cbiAgICBoMSxcbiAgICAuaDEtbGlrZSxcbiAgICBoMixcbiAgICAuaDItbGlrZSxcbiAgICBoMyxcbiAgICAuaDMtbGlrZSxcbiAgICBjYXB0aW9uIHtcbiAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICAgIH1cbiAgXG4gICAgYSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICB9XG4gIFxuICAgIC8qIGRpc3BsYXlpbmcgVVJMc1xuICAgIGFbaHJlZl06OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIH1cbiAgICAqL1xuICBcbiAgICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOjphZnRlcixcbiAgICBhW2hyZWZePScjJ106OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cbiAgfVxuICAiLCJoZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxNTBweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogMTE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDEwJTtcbiAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X21vYmlsZSkge1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAubG9nbyB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIC5zdmctbG9nbyB7XG4gICAgICAgICAgICBjb250ZW50OiB1cmwoXCIuLi8uLi9pbWFnZXMvc3ZnL2xvZ28tZGFyay5zdmdcIik7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X21vYmlsZSkge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IHVybChcIi4uLy4uL2ltYWdlcy9zdmcvbG9nby1kYXJrLW1vYmlsZS5zdmdcIik7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTEzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm1lbnUge1xuICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X21vYmlsZSkge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICAgICAgcGFkZGluZzogODBweCAyMHB4IDIwcHg7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDIwcHggcmdiYSgwLDAsMCwwLjA4KTtcbiAgICAgICAgICAgIC1tb3otdHJhbnNpdGlvbjphbGwgNDAwbXMgZWFzZS1pbjtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgNDAwbXMgZWFzZS1pbjtcbiAgICAgICAgICAgIC1vLXRyYW5zaXRpb246YWxsIDQwMG1zIGVhc2UtaW47XG4gICAgICAgICAgICB0cmFuc2l0aW9uOmFsbCA0MDBtcyBlYXNlLWluO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAmLm9wZW4ge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDYwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzY3JlZW4obW9iaWxlKSB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgJi5vcGVuIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmxpbmtzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC42cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDYwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4obGFwdG9wKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X21vYmlsZSkge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIC5tYWluLW1lbnUtbGluazphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICB9IFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleURhcms7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAmLm1haW4tbWVudS1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyb3duO1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAzMDBtcywgdHJhbnNmb3JtIDMwMG1zO1xuICAgICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtOTk5OXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIHRvcDogOTBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMHB4IDdweCAxMHB4IHJnYmEoMCwwLDAsMC4wOCk7XG4gICAgICAgICAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMzVweDtcbiAgICAgICAgICAgICAgICAgICAgLm1lZGlhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTUwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgICAgICAgICAgICAubGlua3MtbGlzdCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLmxpbmtzLWxpc3QtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X21vYmlsZSkge1xuICAgICAgICAgICAgLnVzZXItbWVudS1tb2JpbGUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5TGlnaHQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5RGFyaztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgLnN2Zy1jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiAkYnJvd247XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLnVzZXItbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICAmLmJ1dHRvbiB7IFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDY1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2NXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyb3duO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJyb3duSG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnVzZXItbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogNTBweDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXlMaWdodDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBAaW5jbHVkZSBzY3JlZW4obGFwdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgLmJ1cmdlci1tZW51IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5tZW51LXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogNDklO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXlEYXJrO1xuXG4gICAgICAgICAgICAgICAgLm1lbnUtdG9nZ2xlLWJhciB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyZXlEYXJrO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICYubWVudS10b2dnbGUtYmFyLS10b3Age1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTZweCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJi5tZW51LXRvZ2dsZS1iYXItLW1pZGRsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICYubWVudS10b2dnbGUtYmFyLS1ib3R0b20ge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgNnB4KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgIC5uYXYtb3BlbiAmIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICYubWVudS10b2dnbGUtYmFyLS10b3Age1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAmLm1lbnUtdG9nZ2xlLWJhci0tbWlkZGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgJi5tZW51LXRvZ2dsZS1iYXItLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCkgcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRncmV5RGFya2VyO1xuICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTVweDtcbiAgICAgICAgICAgICAgICBzdHJva2U6ICRncmV5RGFya2VyO1xuICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIFxuICAgICAgICB9XG5cbiAgICB9XG59IiwiZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAxNzBweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleURhcmtlcjtcbiAgICBAaW5jbHVkZSBzY3JlZW4obGFwdG9wKSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMzBweDtcbiAgICB9XG4gICAgLmxpbmtzLWxpc3Qge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbihsYXB0b3ApIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0X21vYmlsZSkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMCAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuOGVtO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXQpIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGJyb3duO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJyb3duSG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiQGltcG9ydCAnLi4vc2Fzcy9hYnN0cmFjdHMvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL3Nhc3MvYWJzdHJhY3RzL21peGlucyc7XG5cbi5jcm9zcy1zZWxscy1jb250YWluZXIge1xuICAgIG1hcmdpbjogMjVweCBhdXRvIDkwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwcHggMjBweCAhaW1wb3J0YW50O1xuICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmNyb3NzLXNlbGxzIHtcbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNThweDtcbiAgICAgICAgICAgIGNvbG9yOiAkZ3JleURhcmtlcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyOHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucmVtYWluaW5nLXRpbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIC5pY29uLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY3Jvc3Mtc2VsbC1pdGVtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheUxpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDc0NXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKG1vYmlsZSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMTVweCAxNXB4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jcm9zcy1zZWxsLWl0ZW0tbWVkaWEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY3Jvc3Mtc2VsbC1pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAwIDY1cHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKG1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY3Jvc3Mtc2VsbC1pdGVtLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleURhcms7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jcm9zcy1zZWxsLWl0ZW0tcHJpY2Uge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDQ1cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHB1cnBsZTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKG1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNyb3NzLXNlbGwtaXRlbS1wcm9tb3Rpb24ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGdyZXlEYXJrZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC5jcm9zcy1zZWxsLWl0ZW0tY3Jvc3NlZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5RGFya2VyO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4obW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDhweCAwIDAgMTBweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuY3Jvc3Mtc2VsbC1pdGVtLXBheW1lbnQtZmFjaWxpdHkge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHB1cnBsZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY3Jvc3Mtc2VsbHMtY29udGFpbmVyLmxhcmdlIHtcbiAgICAuY3Jvc3Mtc2VsbHMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgXG4gICAgICAgIC5yZW1haW5pbmctdGltZSB7XG4gICAgICAgICAgICBjb2xvcjogJHBpbmsgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgc3Ryb2tlOiAkcGluaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY3Jvc3Mtc2VsbC1pdGVtLWxpbmsge1xuICAgICAgICAgICAgLmFjY3JvY2hlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY3Jvc3Mtc2VsbC1pdGVtIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNyb3NzLXNlbGwtaXRlbS1tZWRpYSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMSU7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0MC41JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTQwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmNyb3NzLXNlbGwtaXRlbS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzklO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA0NXB4O1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1OS41JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY3Jvc3Mtc2VsbC1pdGVtLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKG1vYmlsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7ICBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAuYmlnVGl0bGUge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHBpbms7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY3Jvc3Mtc2VsbC1pdGVtLXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcGluaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAuY3Jvc3Mtc2VsbC1pdGVtLXBheW1lbnQtZmFjaWxpdHkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRwaW5rO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAtMTMwcHggNTBweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4odGFibGV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4obW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwOyAgXG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLmNyb3NzLXNlbGwtaXRlbS1wcm9tb3Rpb24sXG4gICAgICAgICAgICAgICAgICAgIC5jcm9zcy1zZWxsLWl0ZW0tY3Jvc3NlZC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBpbms7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHB1cnBsZTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn0iLCJAaW1wb3J0ICcuLi9zYXNzL2Fic3RyYWN0cy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vc2Fzcy9hYnN0cmFjdHMvbWl4aW5zJztcblxuLmV4Y2x1c2l2ZS1vZmZlcnMge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAkZ3JheUxpZ2h0O1xuICAgIHBhZGRpbmctdG9wOiAyNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IDY1cHggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgIEBpbmNsdWRlIHNjcmVlbih0YWJsZXRfbW9iaWxlKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5leGNsdXNpdmUtb2ZmZXJzLWdyb3VwIHtcbiAgICAgICAgLmV4Y2x1c2l2ZS1vZmZlcnMtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbiAgICAjZm9ybS1uZXdzbGV0dGVyLWJveCB7XG4gICAgICAgIGRpc3BsYXk6IGNvbnRlbnRzO1xuICAgIH1cbiAgICAjc2VudC1uZXdzbGV0dGVyLWJveCB7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIH1cbiAgICBmb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0OCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBzY3JlZW4obW9iaWxlKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIHdpZHRoOiA2NyU7XG4gICAgICAgICAgICBAaW5jbHVkZSBzY3JlZW4obW9iaWxlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMyU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNjcmVlbihtb2JpbGUpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgc2NyZWVuKHRhYmxldF9tb2JpbGUpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmFjY2VwdC1vZmZlcnMtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICBhY2NlbnQtY29sb3I6ICRwdXJwbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaW1wb3J0ICcuLi9zYXNzL2Fic3RyYWN0cy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vc2Fzcy9hYnN0cmFjdHMvbWl4aW5zJztcblxuLnNoYXJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgQGluY2x1ZGUgc2NyZWVuKG1vYmlsZSkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDtcbiAgICAgICAgQGluY2x1ZGUgc2NyZWVuKG1vYmlsZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==*/