/* ----- VENDOR IMPORTS ----- */
html {
  box-sizing: border-box; }

*, *:before, *:after {
  box-sizing: inherit; }

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` affecting `line-height` in all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/* ----- THEME IMPORTS ----- */
/* ----- Add any extra _*.scss files here ----- */
/* ----- PUT ALL YOUR AMAZING VARIABLES IN HERE ----- */
/* ----- PUT ALL YOUR AMAZING MIXINS IN HERE ----- */
@font-face {
  font-family: "iconfont";
  src: url("iconfont.eot");
  src: url("iconfont.ttf") format("truetype"), url("iconfont.eot?#iefix") format("embedded-opentype"), url("iconfont.woff") format("woff"), url("iconfont.svg#svgiconfont") format("svg");
  font-weight: normal;
  font-style: normal; }

.icon:before {
  display: inline-block;
  font-family: "iconfont";
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

.icon-lg {
  font-size: 1.3333333333333333em;
  line-height: 0.75em;
  vertical-align: -15%; }

.icon-2x {
  font-size: 2em; }

.icon-3x {
  font-size: 3em; }

.icon-4x {
  font-size: 4em; }

.icon-5x {
  font-size: 5em; }

.icon-fw {
  width: 1.2857142857142858em;
  text-align: center; }

body {
  margin: 0;
  background: #FFF;
  color: #B4B6BF;
  font-size: 14px;
  padding-top: 50px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }
  .wf-active body {
    font-family: "Cormorant Garamond", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400; }
  body.fixed {
    overflow: hidden; }
  body.toolbar-tray-open.toolbar-vertical.toolbar-fixed {
    margin-left: 0;
    margin-right: 0; }
  body.isMobile.page-node-type-homepage section.industries {
    display: block; }
  body.isMobile.page-node-type-homepage section.header,
  body.isMobile.page-node-type-homepage section.local_nav,
  body.isMobile.page-node-type-homepage section.departments,
  body.isMobile.page-node-type-homepage .diamond,
  body.isMobile.page-node-type-homepage .header-arrow {
    display: none; }
  @media screen and (min-width: 769px) {
    body {
      padding-top: 84px; } }

p,
h1, h2, h3,
h4, h5, h6 {
  margin: 0; }

h1 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.15px;
  text-transform: uppercase; }
  h1.title {
    color: #292A2E;
    margin: 0 0 9px; }
  @media screen and (min-width: 769px) {
    h1 {
      font-size: 2.5rem;
      line-height: 0.69; }
      h1.title {
        margin: 0 0 17px; } }
  @media screen and (min-width: 1200px) {
    h1 {
      font-size: 3.4375rem;
      letter-spacing: -0.3px; } }

h2 {
  font-size: 1.25rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 2.86px;
  text-transform: uppercase; }
  h2.sub_title {
    color: #404147; }

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

a {
  color: #B4B6BF;
  text-decoration: none; }
  a:visited {
    color: #B4B6BF; }

#header {
  -ms-flex: none;
      flex: none;
  background: #1D1D1D;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 100;
  padding: 0 28px; }
  #header::after {
    clear: both;
    content: "";
    display: table; }
  #header .global_cta {
    display: none;
    float: left;
    margin-top: -2px; }
    #header .global_cta img, #header .global_cta h3 {
      display: inline-block;
      vertical-align: middle; }
    #header .global_cta h3 {
      color: #FFF;
      font-size: 0.875rem;
      text-transform: uppercase;
      font-weight: 500;
      letter-spacing: 0.8px; }
    #header .global_cta img {
      margin-right: 6px; }
      #header .global_cta img.icon-dark {
        display: none; }
  #header .global_nav {
    width: 82px;
    margin: auto; }
    #header .global_nav .site-logo > img {
      width: 100%;
      display: block;
      padding: 15px 0 17px; }
  #header .global_toolbar {
    float: right;
    color: #FFF;
    position: relative; }
    #header .global_toolbar .language-switcher {
      display: none;
      width: 55px;
      margin-right: 55px;
      position: relative; }
      #header .global_toolbar .language-switcher ul {
        display: inline-block;
        vertical-align: middle;
        background: url("../../images/build/earth.png") no-repeat left 3px;
        background-size: 13px auto;
        position: absolute;
        top: 0;
        padding: 0 20px; }
        #header .global_toolbar .language-switcher ul li {
          display: none;
          font-size: 0.875rem;
          letter-spacing: 0.8px;
          text-transform: uppercase;
          margin-bottom: 5px; }
          #header .global_toolbar .language-switcher ul li a {
            font-weight: 500;
            color: #FFF; }
          #header .global_toolbar .language-switcher ul li.active {
            display: block; }
        #header .global_toolbar .language-switcher ul.active {
          background-color: #1D1D1D; }
      #header .global_toolbar .language-switcher .switcher-arrow {
        cursor: pointer;
        position: absolute;
        top: 6px;
        right: 0;
        height: 4.5px;
        width: 9px;
        background: url("../../images/build/menu-arrow-light.png") no-repeat center;
        background-size: 9px auto;
        transition: all 222ms linear; }
        #header .global_toolbar .language-switcher .switcher-arrow.rotate {
          transform: rotate(-180deg); }
  #header .menu-toggle {
    cursor: pointer;
    padding: 7px 0;
    position: absolute;
    top: -30px;
    right: 0; }
    #header .menu-toggle div {
      height: 1px;
      width: 19px;
      background: #EAEAEA;
      transition: all 333ms linear; }
      #header .menu-toggle div:before, #header .menu-toggle div:after {
        content: '';
        height: 1px;
        width: 19px;
        background: #EAEAEA;
        position: absolute;
        transition: all 333ms linear; }
      #header .menu-toggle div:before {
        top: 0; }
      #header .menu-toggle div:after {
        bottom: 0; }
    #header .menu-toggle.active div {
      background: transparent; }
      #header .menu-toggle.active div:before {
        transform: rotate(45deg) translate(10px); }
      #header .menu-toggle.active div:after {
        transform: rotate(-45deg) translateX(10px) translateY(-1px); }
  @media screen and (min-width: 769px) {
    #header {
      padding: 35px 50px 32px; }
      #header .global_cta {
        display: block; }
      #header .global_nav {
        width: 144px;
        position: absolute;
        top: 26px;
        right: 0;
        left: 0; }
        #header .global_nav .site-logo {
          display: block;
          transform: translateY(-32px); }
          #header .global_nav .site-logo img {
            padding: 30px 0; }
      #header .global_toolbar .language-switcher {
        display: block; }
      #header .menu-toggle {
        padding: 9px 0;
        top: -1px; }
        #header .menu-toggle div {
          height: 1px;
          width: 32px; }
          #header .menu-toggle div:before, #header .menu-toggle div:after {
            height: 1px;
            width: 32px; }
        #header .menu-toggle.active div:before {
          transform: rotate(45deg) translate(13px); }
        #header .menu-toggle.active div:after {
          transform: rotate(-45deg) translateX(12px) translateY(-1px); } }

.main-menu {
  text-align: center;
  background: rgba(214, 214, 214, 0.98);
  padding: 0 20px;
  opacity: 0;
  position: fixed;
  top: -100%;
  right: 0;
  height: calc(100vh - 50px);
  width: 100%;
  transition: all 333ms ease-in-out; }
  .main-menu.active {
    top: 50px;
    opacity: 1; }
  .main-menu a {
    color: #323232; }
  .main-menu .homepage {
    display: none; }
  .main-menu .menu {
    padding: 10px 0; }
    .main-menu .menu .menu-item {
      position: relative;
      padding: 16px 0 14px; }
      @media screen and (max-width: 768px) {
        .main-menu .menu .menu-item:not(:nth-last-child(2)):after {
          content: '';
          height: 1px;
          width: 30px;
          background: #616466;
          position: absolute;
          right: 0;
          bottom: 0;
          left: 0;
          margin: auto; } }
      .main-menu .menu .menu-item.inventory {
        display: none; }
    .main-menu .menu h2 {
      position: relative;
      font-size: 1.0625rem;
      line-height: 2.23;
      text-transform: uppercase;
      letter-spacing: 1.2px; }
    .main-menu .menu .description, .main-menu .menu span {
      display: none; }
  .main-menu .online-inventory {
    padding: 20px 0;
    margin-bottom: 20px;
    border-top: 1px solid #616466;
    border-bottom: 1px solid #616466; }
    .main-menu .online-inventory img, .main-menu .online-inventory h3 {
      display: inline-block;
      vertical-align: middle; }
    .main-menu .online-inventory img {
      margin-right: 10.5px; }
      .main-menu .online-inventory img.icon-light {
        display: none; }
    .main-menu .online-inventory h3 {
      font-size: 0.875rem;
      color: #323232;
      font-weight: 500;
      text-transform: uppercase;
      letter-spacing: 0.8px; }
  .main-menu .block-language {
    float: left;
    padding: 13px 0 0 12px; }
    .main-menu .block-language .language-switcher {
      background: url("../../images/build/earth-dark.png") no-repeat left 3px;
      background-size: 13px auto; }
    .main-menu .block-language ul {
      padding-left: 25px;
      display: inline-block;
      vertical-align: middle; }
      .main-menu .block-language ul li {
        font-weight: 600;
        font-size: 0.875rem;
        color: #323232;
        letter-spacing: 0.8px;
        text-transform: uppercase;
        display: none;
        vertical-align: middle;
        margin-right: 10px;
        max-width: 0;
        transition: all 222ms linear; }
        .main-menu .block-language ul li.active {
          max-width: 50px;
          display: inline-block; }
      .main-menu .block-language ul.active li {
        max-width: 50px;
        display: inline-block; }
    .main-menu .block-language .switcher-arrow {
      cursor: pointer;
      display: inline-block;
      vertical-align: middle;
      height: 9px;
      width: 4.5px;
      background: url("../../images/build/menu-arrow.png") no-repeat center;
      background-size: 4.5px auto;
      transition: all 222ms linear; }
      .main-menu .block-language .switcher-arrow.rotate {
        transform: rotate(-180deg); }
  .main-menu #block_social-media {
    float: right;
    padding-right: 12px; }
  @media screen and (min-width: 769px) {
    .main-menu {
      padding: 0;
      min-height: 800px;
      height: calc(100vh - 84px); }
      .main-menu.active {
        top: 84px; }
      .main-menu .container {
        position: relative;
        top: 50%;
        transform: translateY(-50%);
        padding: 0 25px;
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .main-menu .container::after {
          clear: both;
          content: "";
          display: table; }
      .main-menu .homepage {
        display: block;
        padding: 15px 0 18px; }
        .main-menu .homepage h1 {
          text-transform: uppercase;
          font-size: 25px;
          font-weight: 500;
          line-height: 1.31; }
      .main-menu .menu {
        display: block;
        padding: 8px 0;
        border-top: 1px solid #575757;
        border-bottom: 1px solid #575757; }
        .main-menu .menu::after {
          clear: both;
          content: "";
          display: table; }
        .main-menu .menu .menu-item {
          padding: 0;
          margin: 15px 0;
          float: left;
          display: block;
          margin-right: 3.00429%;
          width: 31.33047%; }
          .main-menu .menu .menu-item:last-child {
            margin-right: 0; }
          .main-menu .menu .menu-item:nth-child(3n) {
            margin-right: 0; }
          .main-menu .menu .menu-item:nth-child(3n+1) {
            clear: left; }
          .main-menu .menu .menu-item:after {
            content: none; }
          .main-menu .menu .menu-item.inventory {
            display: block; }
          .main-menu .menu .menu-item.menu-item--active-trail .item-content {
            background: #CECECE; }
        .main-menu .menu .item-content {
          font-weight: 500;
          padding: 20px 15px;
          transition: all 222ms ease-out; }
          .main-menu .menu .item-content:hover {
            background: #CECECE; }
            .main-menu .menu .item-content:hover span {
              opacity: 1; }
        .main-menu .menu h2 {
          font-size: 1.8125rem;
          line-height: 1.31;
          padding-bottom: 13px;
          margin-bottom: 12px; }
          .main-menu .menu h2:after {
            content: '';
            background: #616466;
            height: 1px;
            width: 40px;
            position: absolute;
            right: 0;
            bottom: 0;
            left: 0;
            margin: auto; }
        .main-menu .menu .description {
          display: none;
          font-size: 1.0625rem;
          line-height: 1.28;
          max-width: 280px;
          margin: 0 auto 19px; }
        .main-menu .menu span {
          display: block;
          font-size: 0.8125rem;
          font-weight: 400;
          text-transform: uppercase;
          opacity: 0;
          font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
          transition: all 222ms ease-out; }
      .main-menu .online-inventory,
      .main-menu .block-language {
        display: none; }
      .main-menu #block_social-media {
        float: none;
        padding: 30px 0; } }
  @media screen and (min-width: 1200px) {
    .main-menu .container {
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto;
      padding: 0; }
      .main-menu .container::after {
        clear: both;
        content: "";
        display: table; }
    .main-menu .homepage {
      padding: 19px 0 21.5px; }
      .main-menu .homepage h1 {
        font-size: 29px; }
    .main-menu .menu {
      padding: 9.5px 15px; }
      .main-menu .menu .menu-item {
        margin-top: 21px;
        margin-bottom: 21px; }
      .main-menu .menu .item-content {
        padding: 36px 30px 27px; }
      .main-menu .menu h2 {
        padding-bottom: 13px;
        margin-bottom: 12px; }
      .main-menu .menu .description {
        margin-bottom: 19px; }
    .main-menu #block_social-media {
      padding: 50px 0; } }

#footer {
  -ms-flex: none;
      flex: none;
  text-align: center;
  background: #1D1D1D; }
  #footer .prefooter {
    display: block;
    display: inline-block;
    width: 100%;
    position: relative; }
    #footer .prefooter::after {
      clear: both;
      content: "";
      display: table; }
  #footer .footer-area {
    padding: 0 25px; }
  #footer h2 {
    font-size: 0.8125rem;
    font-weight: 400;
    line-height: 2.9;
    letter-spacing: 1.86px;
    text-transform: uppercase; }
  #footer .menu li {
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    text-transform: uppercase;
    font-size: 0.75rem;
    font-weight: 500;
    letter-spacing: 2px;
    margin: 40px 0; }
  #footer .footer_top {
    padding: 30px 0;
    border-bottom: 1px solid rgba(180, 182, 191, 0.3); }
  #footer .footer_bottom_first {
    padding: 35px 0;
    border-bottom: 1px solid rgba(180, 182, 191, 0.3); }
  #footer .footer_bottom_third {
    padding: 20px 0;
    border-top: 1px solid rgba(180, 182, 191, 0.3);
    color: #AFB2BA;
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; }
    #footer .footer_bottom_third .site_legal {
      font-size: 0.75rem;
      line-height: 1.9;
      margin-bottom: 4px; }
    #footer .footer_bottom_third .site_by {
      font-size: 0.6875rem;
      line-height: 2.1; }
      #footer .footer_bottom_third .site_by a {
        font-size: 0.5625rem;
        font-weight: 700;
        text-transform: uppercase; }
  @media screen and (min-width: 577px) {
    #footer h2 {
      font-size: 1.25rem; } }
  @media screen and (min-width: 769px) {
    #footer .footer-area {
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto; }
      #footer .footer-area::after {
        clear: both;
        content: "";
        display: table; }
    #footer h2 {
      font-size: 1.5625rem;
      line-height: 1.52;
      letter-spacing: 3.57px; }
    #footer .menu li {
      display: inline-block;
      vertical-align: middle;
      margin: 0 18px; }
    #footer .footer_bottom_first {
      padding: 42px 0;
      border: 0; }
    #footer .footer_bottom_third {
      padding: 35px 0;
      border: 0; } }

.layout-container {
  display: -ms-flexbox;
  display: flex;
  height: 100vh;
  -ms-flex-direction: column;
      flex-direction: column; }
  .layout-container #main {
    -ms-flex: 1 0 auto;
        flex: 1 0 auto;
    padding: 25px 0 0; }
  .layout-container #content-area {
    overflow: hidden; }

.trigger {
  height: 1px;
  width: 100%;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto; }

input:not([type="submit"]), textarea {
  max-width: 100%;
  background: #FFF;
  padding: 9px 17px;
  color: #272528;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  line-height: 1.57;
  letter-spacing: 0.44px;
  border: 0;
  border-radius: 3px;
  box-shadow: inherit;
  resize: none;
  outline: none;
  -moz-appearance: none; }

label {
  display: block;
  margin-bottom: 10px;
  color: #292A2E;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.8125rem;
  letter-spacing: 1.37px;
  font-weight: 300;
  text-transform: uppercase; }

.btn-more, .page-node-type-contact-us .contact-us_content .office-link > a {
  position: relative;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 2px;
  color: #6C6D73;
  text-transform: uppercase;
  padding-right: 14px;
  background: url("../../images/build/btn-more.png") no-repeat right center;
  background-size: 5px auto;
  transition: all 222ms linear; }
  .btn-more:before, .page-node-type-contact-us .contact-us_content .office-link > a:before {
    content: '';
    height: 1px;
    width: 0;
    position: absolute;
    bottom: -2px;
    left: 0;
    background: #323232;
    transition: all 222ms linear; }
  .btn-more a, .page-node-type-contact-us .contact-us_content .office-link > a a {
    color: #6C6D73; }
  .btn-more:hover, .page-node-type-contact-us .contact-us_content .office-link > a:hover {
    font-weight: 700;
    color: #323232;
    background-image: url("../../images/build/btn-more-dark.png"); }
    .btn-more:hover a, .page-node-type-contact-us .contact-us_content .office-link > a:hover a {
      color: #323232; }
    .btn-more:hover:before, .page-node-type-contact-us .contact-us_content .office-link > a:hover:before {
      width: 100%; }

.btn-back {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 2px;
  color: #6C6D73;
  text-transform: uppercase;
  padding-left: 14px;
  background: url("../../images/build/btn-back.png") no-repeat left center;
  background-size: 5px auto; }

.btn-double_line, #block-playlist .link-area a, #block-sales-office a, #user-login-form #edit-submit, .page-node-type-homepage section.worldwide-clock .all-worldwide-link a, .page-node-type-contact-us .form #edit-submit, .page-node-type-experience .experience .action-content a {
  opacity: 0.7;
  display: inline-block;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  padding: 10px 10px 10px 4px;
  border-top: 1px solid #272528;
  border-bottom: 1px solid #272528;
  color: #272528;
  font-weight: 500;
  font-size: 0.75rem;
  letter-spacing: 2px;
  text-transform: uppercase;
  background: url("../../images/build/frame-arrow.png") no-repeat calc(100% - 1px) center transparent;
  background-size: 4px auto;
  transition: all 333ms linear; }
  .btn-double_line:hover, #block-playlist .link-area a:hover, #block-sales-office a:hover, #user-login-form #edit-submit:hover, .page-node-type-homepage section.worldwide-clock .all-worldwide-link a:hover, .page-node-type-contact-us .form #edit-submit:hover, .page-node-type-experience .experience .action-content a:hover {
    font-weight: 700;
    color: #1D1D1D; }

.btn-close {
  cursor: pointer;
  height: 21px;
  width: 21px;
  position: absolute;
  top: 23px;
  right: 23px;
  background: url("../../images/build/close.png") no-repeat center;
  background-size: 100% auto; }

#block_instagram {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: wrap;
      flex-flow: wrap;
  text-align: center;
  background: #1C1C1F; }
  #block_instagram .grid-items {
    -ms-flex: 1 100%;
        flex: 1 100%;
    position: relative;
    text-align: center;
    background-size: cover;
    background-position: center; }
    #block_instagram .grid-items:before {
      content: '';
      display: block;
      padding-top: 100%; }
    #block_instagram .grid-items.item-0 {
      -ms-flex-order: 2;
          order: 2; }
    #block_instagram .grid-items.item-1 {
      -ms-flex-order: 3;
          order: 3;
      -ms-flex: 1 50%;
          flex: 1 50%; }
    #block_instagram .grid-items.item-2 {
      -ms-flex-order: 4;
          order: 4;
      -ms-flex: 1 50%;
          flex: 1 50%; }
    #block_instagram .grid-items.item-3 {
      -ms-flex-order: 5;
          order: 5;
      display: none; }
  #block_instagram .grid-header {
    -ms-flex-order: 1;
        order: 1;
    -ms-flex: 100%;
        flex: 100%;
    padding: 22px 8px 15px;
    background: none; }
    #block_instagram .grid-header .header-area {
      background: none !important; }
    #block_instagram .grid-header .content {
      padding: 0;
      color: #FFF;
      font-size: 0.9375rem;
      line-height: 1.26;
      letter-spacing: 2.86px; }
      #block_instagram .grid-header .content strong {
        font-size: 1.25rem;
        font-weight: 400;
        letter-spacing: 2.86px;
        text-transform: uppercase; }
      #block_instagram .grid-header .content img {
        width: 18px;
        margin-bottom: 8px; }
      #block_instagram .grid-header .content p:last-child {
        margin-top: 10px; }
  #block_instagram .grid-footer {
    -ms-flex: 100%;
        flex: 100%;
    -ms-flex-order: 6;
        order: 6;
    padding: 25px 8px; }
    #block_instagram .grid-footer a {
      display: inline-block;
      padding: 9.5px 18px 8px;
      border-top: 1px solid #FFF;
      border-bottom: 1px solid #FFF;
      text-transform: uppercase;
      font-size: 0.75rem;
      letter-spacing: 2px;
      font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
      color: #FFF;
      opacity: 0.7;
      transition: all 333ms linear; }
      #block_instagram .grid-footer a:hover {
        opacity: 1; }
  @media screen and (min-width: 769px) {
    #block_instagram {
      display: block;
      position: relative; }
      #block_instagram::after {
        clear: both;
        content: "";
        display: table; }
      #block_instagram .grid-items {
        -ms-flex: none;
            flex: none;
        width: 20%;
        float: left; }
        #block_instagram .grid-items.item-1, #block_instagram .grid-items.item-2 {
          -ms-flex: none;
              flex: none; }
        #block_instagram .grid-items.item-3 {
          display: block;
          float: right; }
      #block_instagram .grid-header {
        -ms-flex: none;
            flex: none;
        padding: 10px;
        background: white;
        width: 20%;
        height: 100%;
        position: absolute;
        top: 0;
        right: 20%; }
        #block_instagram .grid-header a {
          display: inline-block;
          height: 100%;
          width: 100%; }
        #block_instagram .grid-header .header-area {
          z-index: 1;
          position: relative;
          height: 100%;
          color: #CCCCCC; }
          #block_instagram .grid-header .header-area:before {
            content: '';
            z-index: -1;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            height: 100%;
            width: 100%;
            background: rgba(28, 28, 31, 0.95); }
        #block_instagram .grid-header .content {
          padding: 5px 5px 15px;
          position: absolute;
          top: 50%;
          right: 0;
          left: 0;
          transform: translateY(-50%);
          margin: auto;
          font-size: 0.875rem;
          letter-spacing: 0.5px; }
          #block_instagram .grid-header .content:before {
            content: '';
            position: absolute;
            right: 0;
            bottom: 0;
            left: 0;
            height: 1px;
            width: 15px;
            margin: auto;
            background: #FFF; }
          #block_instagram .grid-header .content strong {
            font-size: 0.9375rem;
            letter-spacing: 1.5px; }
          #block_instagram .grid-header .content img {
            width: 14px;
            margin-bottom: 5px; }
          #block_instagram .grid-header .content p:last-child {
            margin-top: 10px; }
      #block_instagram .grid-footer {
        display: none; } }
  @media screen and (min-width: 1200px) {
    #block_instagram .grid-header {
      padding: 20px; }
      #block_instagram .grid-header .content {
        padding: 10px;
        font-size: 1.125rem; }
        #block_instagram .grid-header .content strong {
          font-size: 1.25rem;
          letter-spacing: 2.86px; }
        #block_instagram .grid-header .content img {
          margin-bottom: 9px; } }

#block_social-media {
  text-align: center; }
  #block_social-media h2 {
    font-size: 1.125rem;
    color: #404147;
    line-height: 1.67;
    letter-spacing: 2.57px;
    font-weight: 400;
    margin-bottom: 5px;
    display: none; }
  #block_social-media .social-media_items {
    position: relative;
    height: 43px;
    width: 43px;
    background: #3B3B3B;
    display: inline-block;
    vertical-align: middle;
    margin: 0 6px; }
    #block_social-media .social-media_items img {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto; }
    #block_social-media .social-media_items .dark {
      display: none; }
  #block_social-media a:last-of-type .social-media_items {
    margin-right: 0; }

#block-departmentblock {
  text-align: center;
  padding: 32px 25px 50px;
  background: #F7F9FA; }
  #block-departmentblock h3 {
    font-size: 1.5rem;
    font-weight: 400;
    letter-spacing: -0.1px;
    line-height: 1.46;
    margin-bottom: 33px;
    color: #292A2E;
    text-transform: capitalize; }
  #block-departmentblock h4 {
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    transform: translateY(-50%);
    font-size: 1.125rem;
    color: #F7F9FA;
    letter-spacing: 2.4px;
    line-height: 1.27;
    font-weight: 400;
    text-transform: uppercase; }
  #block-departmentblock .item {
    position: relative;
    background-size: cover;
    background-position: center;
    margin: 0 15px; }
    #block-departmentblock .item:before {
      content: '';
      display: block;
      padding-top: 100%;
      background: rgba(32, 33, 36, 0.87);
      transition: all 222ms linear; }
    #block-departmentblock .item:hover:before {
      background: rgba(32, 33, 36, 0.95); }
  #block-departmentblock .slick-dots {
    padding: 0 10px; }
    #block-departmentblock .slick-dots li {
      width: calc((100% - 15px) / 3);
      height: 2px;
      margin: 0 5px 0 0;
      vertical-align: middle; }
      #block-departmentblock .slick-dots li:last-of-type {
        margin: 0; }
      #block-departmentblock .slick-dots li button {
        padding: 0;
        height: 100%;
        width: 100%;
        background: #EBECED;
        transition: all 222ms linear; }
        #block-departmentblock .slick-dots li button:before {
          content: none; }
      #block-departmentblock .slick-dots li.slick-active {
        height: 5px; }
        #block-departmentblock .slick-dots li.slick-active button {
          background: #D6D6D6; }
  @media screen and (min-width: 769px) {
    #block-departmentblock {
      position: relative;
      text-align: left;
      padding: 25px 25px 70px 25px; }
      #block-departmentblock:before {
        content: '';
        background: #F7F9FA;
        height: 100%;
        width: 9999px;
        position: absolute;
        top: 0;
        left: -4999px; }
      #block-departmentblock h3 {
        font-size: 1.5rem;
        margin-bottom: 41px; }
      #block-departmentblock h4 {
        position: absolute;
        top: 50%;
        right: 0;
        left: 0;
        transform: translateY(-50%);
        font-size: 1.125rem;
        color: #F7F9FA;
        letter-spacing: 2.4px;
        line-height: 1.27;
        text-transform: uppercase; }
      #block-departmentblock .item-list {
        display: block; }
        #block-departmentblock .item-list::after {
          clear: both;
          content: "";
          display: table; }
      #block-departmentblock .item {
        text-align: center;
        margin-bottom: 0;
        float: left;
        display: block;
        margin-right: 3.00429%;
        width: 27.03863%;
        margin-left: 4.29185%; }
        #block-departmentblock .item:last-child {
          margin-right: 0; }
      #block-departmentblock a:first-of-type .item {
        margin-left: 0%; } }
  @media screen and (min-width: 1200px) {
    #block-departmentblock {
      padding: 32px 33px 70px 33px; }
      #block-departmentblock .item {
        float: left;
        display: block;
        margin-right: 3.00429%;
        width: 22.74678%;
        margin-left: 10.30043%; }
        #block-departmentblock .item:last-child {
          margin-right: 0; } }

.active #block-press-kit .press-kit_btn {
  display: block; }

#block-press-kit .press-kit_btn {
  display: none;
  cursor: pointer;
  width: 75%;
  max-width: 240px;
  border-top: 1px solid rgba(97, 100, 102, 0.15);
  padding: 15px 0 23px;
  margin: 10px auto 0; }
  #block-press-kit .press-kit_btn .content {
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 0.875rem;
    color: #304054;
    text-transform: uppercase;
    line-height: 2.7;
    letter-spacing: 1.47px;
    padding-left: 25px;
    background: url("../../images/build/presskit.png") no-repeat left center;
    background-size: 13px auto;
    text-align: center;
    display: inline-block; }

#block-press-kit .press-kit_lightbox {
  display: none;
  z-index: 10;
  padding: 23px;
  background: #FFF;
  text-align: center;
  height: 100vh;
  width: 100%;
  position: fixed;
  top: 50px;
  left: 0; }
  #block-press-kit .press-kit_lightbox .content {
    padding: 8px; }

#block-press-kit .icon {
  margin: 30px auto 15px; }

#block-press-kit h2 {
  position: relative;
  font-size: 1.25rem;
  font-weight: 400;
  color: #404147;
  letter-spacing: 2.86px;
  line-height: 1.5;
  text-transform: uppercase;
  padding: 15px 0 28px;
  margin-bottom: 25px; }
  #block-press-kit h2:after {
    content: '';
    height: 1px;
    width: 40px;
    margin: auto;
    background: #616466;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0; }

#block-press-kit .body-text {
  padding: 0 5px;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1rem;
  font-weight: 300;
  line-height: 1.56;
  letter-spacing: 0.5px;
  color: #292A2E;
  margin-bottom: 33px; }

#block-press-kit a {
  display: inline-block;
  width: 100%;
  padding: 10px;
  background: #F7F9FA;
  margin-bottom: 25px; }
  #block-press-kit a img, #block-press-kit a span {
    display: inline-block;
    vertical-align: middle; }
  #block-press-kit a img {
    width: 13px;
    margin-right: 9px; }
  #block-press-kit a span {
    font-size: 0.875rem;
    font-weight: 700;
    line-height: 2.93;
    letter-spacing: 1.37px;
    text-transform: uppercase;
    color: #292A2E; }

@media screen and (min-width: 769px) {
  #block-press-kit .press-kit_btn {
    display: block;
    margin-top: 28px;
    width: 100%;
    padding: 28px 0 0; }
    #block-press-kit .press-kit_btn .content {
      font-weight: 300;
      font-size: 13px; }
  #block-press-kit .press-kit_lightbox {
    background: rgba(0, 0, 0, 0.7);
    padding: 0; }
    #block-press-kit .press-kit_lightbox .content {
      padding: 60px 0;
      max-width: 580px;
      margin: 0 auto; }
  #block-press-kit .wrapper {
    width: 85%;
    max-width: 860px;
    margin: 0 auto;
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    transform: translateY(-50%);
    background: #FFF; }
  #block-press-kit .icon {
    margin: 0 auto 18px; }
  #block-press-kit h2 {
    font-size: 1.5625rem;
    letter-spacing: 3.57px;
    padding: 0 0 26px; }
  #block-press-kit .body-text {
    padding: 0;
    margin-bottom: 47px; }
  #block-press-kit a {
    width: calc((100% - 30px) / 2);
    margin-bottom: 0;
    margin-right: 25px; }
    #block-press-kit a img {
      width: 24px;
      margin-right: 20px; }
    #block-press-kit a span {
      font-size: 1.25rem;
      font-weight: 400;
      line-height: 1.9;
      letter-spacing: 2.86px; }
    #block-press-kit a:last-of-type {
      margin-right: 0; } }

#block-playlist {
  margin-top: 60px;
  padding: 40px 25px 50px;
  background: #272528;
  box-shadow: 0 0 20px 0 rgba(33, 41, 52, 0.18); }
  #block-playlist h2 {
    padding-bottom: 19px;
    margin-bottom: 19px;
    font-size: 1.0625rem;
    letter-spacing: 2.43px;
    line-height: 1.47;
    color: #FFF;
    border-bottom: 1px solid #FFF; }
  #block-playlist .__video-list > div {
    padding: 15px 0;
    border-bottom: 1px solid rgba(247, 249, 250, 0.05); }
    #block-playlist .__video-list > div:last-of-type {
      border: 0; }
  #block-playlist .__video-list h3 {
    font-size: 1.25rem;
    line-height: 1;
    letter-spacing: 0.4px;
    margin-bottom: 3px;
    color: #FFF; }
  #block-playlist .__video-list h4 {
    font-size: 1.0625rem;
    line-height: 1.29;
    letter-spacing: 0.4px;
    font-weight: 500;
    color: #FFF; }
  #block-playlist .link-area {
    margin-top: 25px; }
    #block-playlist .link-area a {
      padding: 9px 25px 9px 16px;
      color: #F7F9FA;
      border-color: #F7F9FA;
      background: url("../../images/build/frame-arrow-light.png") no-repeat calc(100% - 5px) center transparent;
      background-size: 7px auto; }
      #block-playlist .link-area a:hover {
        color: #FFF; }
  @media screen and (min-width: 769px) {
    #block-playlist {
      width: 100%;
      max-width: 325px;
      margin: 0;
      float: right;
      padding: 42px 30px 50px;
      position: relative; }
      #block-playlist h2 {
        min-width: 400px;
        text-align: right;
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: 0;
        line-height: 1.3;
        font-size: 1.3125rem;
        letter-spacing: 2.8px;
        color: #6C6D73;
        font-weight: 400;
        text-transform: uppercase;
        position: absolute;
        top: 50%;
        left: 0;
        transform: rotate(-90deg) translateX(-5px) translateY(-230px); }
      #block-playlist .__video-list h3 {
        margin-bottom: 0; }
      #block-playlist .link-area {
        text-align: center; }
        #block-playlist .link-area a {
          display: inline-block;
          margin: 0 auto; } }

#block-shareeverywhereblock {
  z-index: 1;
  position: absolute;
  top: 70px;
  right: 25px; }
  #block-shareeverywhereblock h2 {
    display: none; }
  #block-shareeverywhereblock .se-trigger {
    display: inline-block;
    vertical-align: middle;
    height: 25px;
    width: 25px;
    background: url("../../images/build/share.png") no-repeat center;
    background-size: 40px auto; }
    #block-shareeverywhereblock .se-trigger img {
      display: none; }
  #block-shareeverywhereblock .se-links-container {
    width: auto;
    height: 25px;
    display: inline-block;
    vertical-align: middle;
    max-width: 0;
    transition: all 444ms linear; }
    #block-shareeverywhereblock .se-links-container.toggled {
      max-width: 250px; }
  #block-shareeverywhereblock .se-links {
    position: relative;
    height: auto;
    padding: 0; }
  #block-shareeverywhereblock .se-link {
    display: inline-block;
    vertical-align: middle;
    height: 25px;
    width: 35px; }
    #block-shareeverywhereblock .se-link a {
      font-size: 0;
      display: inline-block;
      height: 100%;
      width: 100%; }
    #block-shareeverywhereblock .se-link.facebook_share {
      background: url("../../images/build/share-fb-dark.png") no-repeat center;
      background-size: 6px auto; }
    #block-shareeverywhereblock .se-link.twitter {
      background: url("../../images/build/share-tw-dark.png") no-repeat center;
      background-size: 13px auto; }
    #block-shareeverywhereblock .se-link.linkedin {
      background: url("../../images/build/share-in-dark.png") no-repeat center;
      background-size: 14px auto; }
    #block-shareeverywhereblock .se-link.whatsapp {
      background: url("../../images/build/share-whatsapp-dark.png") no-repeat center;
      background-size: 14px auto; }
  @media screen and (min-width: 769px) {
    #block-shareeverywhereblock {
      position: fixed;
      top: 120px; } }
  @media screen and (min-width: 1024px) {
    #block-shareeverywhereblock {
      top: 180px;
      left: 0;
      right: inherit; }
      #block-shareeverywhereblock h2 {
        display: block;
        font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 0.625rem;
        color: #6C6D73;
        text-transform: uppercase;
        position: absolute;
        top: 0;
        right: 0;
        transform: rotate(90deg) translateX(24px) translateY(-35px); }
      #block-shareeverywhereblock .se-trigger {
        display: none; }
      #block-shareeverywhereblock .se-links-container {
        display: block;
        height: auto;
        width: auto;
        max-width: 250px; }
      #block-shareeverywhereblock .se-links {
        background: #323232;
        position: relative;
        height: auto;
        padding: 17px 11px;
        box-shadow: 0 0 20px 0 rgba(33, 41, 52, 0.18); }
      #block-shareeverywhereblock .se-link {
        display: block;
        margin-bottom: 17px; }
        #block-shareeverywhereblock .se-link.facebook_share {
          background: url("../../images/build/share-fb.png") no-repeat center #323232;
          background-size: 6px auto; }
        #block-shareeverywhereblock .se-link.twitter {
          background: url("../../images/build/share-tw.png") no-repeat center #323232;
          background-size: 13px auto; }
        #block-shareeverywhereblock .se-link.linkedin {
          background: url("../../images/build/share-in.png") no-repeat center #323232;
          background-size: 14px auto;
          margin-bottom: 0; }
        #block-shareeverywhereblock .se-link.whatsapp {
          display: none;
          background: url("../../images/build/share-whatsapp.png") no-repeat center #323232;
          background-size: 14px auto; } }

#block-sales-office {
  text-align: center;
  padding: 68.5px 25px 80px; }
  #block-sales-office h3 {
    font-weight: 400;
    margin: 52px 0 48px;
    font-size: 1.4375rem;
    line-height: 1.56;
    color: #56585C;
    text-transform: none; }
  @media screen and (min-width: 769px) {
    #block-sales-office {
      padding: 70px 25px 125px; }
      #block-sales-office h3 {
        margin: 27px 0 30px;
        font-size: 1.5rem; } }

.pager {
  width: 100%;
  display: inline-block; }
  .pager nav.pager {
    width: 100%;
    display: inline-block;
    margin: 0 auto;
    padding: 0 30px;
    text-align: center; }
  .pager .pager__item {
    display: none;
    background: #1D1D20;
    height: 55px;
    width: 55px; }
    .pager .pager__item a {
      display: inline-block;
      height: 100%;
      width: 100%; }
      .pager .pager__item a span {
        font-size: 0; }
    .pager .pager__item.pager__item--first, .pager .pager__item.pager__item--previous, .pager .pager__item.pager__item--last, .pager .pager__item.pager__item--next {
      margin-right: 12px;
      display: inline-block; }
      .pager .pager__item.pager__item--first:last-of-type, .pager .pager__item.pager__item--previous:last-of-type, .pager .pager__item.pager__item--last:last-of-type, .pager .pager__item.pager__item--next:last-of-type {
        margin-right: 0; }
      .pager .pager__item.pager__item--first.pager__item--last, .pager .pager__item.pager__item--first.pager__item--next, .pager .pager__item.pager__item--previous.pager__item--last, .pager .pager__item.pager__item--previous.pager__item--next, .pager .pager__item.pager__item--last.pager__item--last, .pager .pager__item.pager__item--last.pager__item--next, .pager .pager__item.pager__item--next.pager__item--last, .pager .pager__item.pager__item--next.pager__item--next {
        transform: rotate(180deg); }
    .pager .pager__item.pager__item--first a,
    .pager .pager__item.pager__item--last a {
      background: url("../../images/build/first-page.png") no-repeat center;
      background-size: 9px auto; }
    .pager .pager__item.pager__item--previous a,
    .pager .pager__item.pager__item--next a {
      background: url("../../images/build/prev-page.png") no-repeat center;
      background-size: 6px auto; }
  @media screen and (min-width: 769px) {
    .pager nav.pager {
      padding: 25px 30px; } }

.selectize-control {
  width: 100%;
  position: relative; }
  .selectize-control .selectize-input {
    padding: 9px 18.5px 9px 16px;
    border-radius: 3px;
    color: #272528;
    background: url("../../images/build/select-arrow.png") no-repeat calc(100% - 18.5px) center #FFF;
    background-size: 10px auto;
    line-height: 1.54; }
    .selectize-control .selectize-input .item[data-value="_none"] {
      color: #AEB1BA; }
  .selectize-control #edit-field-title-selectized,
  .selectize-control #edit-field-select-subject-selectized {
    display: none; }
  .selectize-control .selectize-dropdown {
    position: absolute;
    color: #272528;
    padding: 5px 15px;
    background: #FFF; }
    .selectize-control .selectize-dropdown .option {
      padding: 5px 0; }

.worldwide-clock .flip-clock-wrapper {
  margin: 0; }

.worldwide-clock .flip {
  height: 48px;
  width: 27px;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 1.5625rem;
  font-weight: 400;
  letter-spacing: 2.5px;
  margin: 0;
  border-radius: 0;
  background: #F7F8FA;
  box-shadow: none; }
  .worldwide-clock .flip:before {
    content: '';
    background: #FFF;
    height: 1px;
    width: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    z-index: 10; }
  .worldwide-clock .flip:nth-of-type(1), .worldwide-clock .flip:nth-of-type(3) {
    border-top-left-radius: 5px;
    border-bottom-left-radius: 5px; }
    .worldwide-clock .flip:nth-of-type(1) .flip-clock-before,
    .worldwide-clock .flip:nth-of-type(1) .flip-clock-active, .worldwide-clock .flip:nth-of-type(3) .flip-clock-before,
    .worldwide-clock .flip:nth-of-type(3) .flip-clock-active {
      padding: 0 2px 0  10px; }
  .worldwide-clock .flip:nth-of-type(2), .worldwide-clock .flip:nth-of-type(4) {
    border-top-right-radius: 5px;
    border-bottom-right-radius: 5px; }
    .worldwide-clock .flip:nth-of-type(2) .flip-clock-before,
    .worldwide-clock .flip:nth-of-type(2) .flip-clock-active, .worldwide-clock .flip:nth-of-type(4) .flip-clock-before,
    .worldwide-clock .flip:nth-of-type(4) .flip-clock-active {
      padding: 0 10px 0  2px; }
  .worldwide-clock .flip .flip-clock-before,
  .worldwide-clock .flip .flip-clock-active {
    line-height: 25px; }
  .worldwide-clock .flip .up, .worldwide-clock .flip .down {
    font-size: 1.5625rem;
    line-height: 2;
    border-radius: 0;
    outline: none; }
    .worldwide-clock .flip .up .inn, .worldwide-clock .flip .down .inn {
      font-size: 1.5625rem;
      border-radius: 0;
      outline: none;
      background: #F7F8FA;
      text-shadow: none;
      color: #323232; }
      .worldwide-clock .flip .up .inn:after, .worldwide-clock .flip .down .inn:after {
        content: none; }
    .worldwide-clock .flip .up .shadow, .worldwide-clock .flip .down .shadow {
      display: none; }

.worldwide-clock .flip-clock-divider {
  height: 48px;
  width: 14px;
  padding: 0 3.5px 0 5.5px; }
  .worldwide-clock .flip-clock-divider:nth-of-type(1) {
    display: none; }
  .worldwide-clock .flip-clock-divider .flip-clock-dot {
    height: 5px;
    width: 5px;
    box-shadow: none;
    background: #323232;
    left: inherit; }
    .worldwide-clock .flip-clock-divider .flip-clock-dot.top {
      top: 28px; }
    .worldwide-clock .flip-clock-divider .flip-clock-dot.bottom {
      bottom: 28px; }

#user-login-form {
  margin: 0 auto;
  padding: 120px 25px;
  max-width: 600px; }
  #user-login-form .form-item {
    margin-bottom: 25px; }
  #user-login-form input:not([type="submit"]) {
    border: 1px solid #272528; }
  #user-login-form .description {
    display: none; }
  #user-login-form #edit-submit {
    padding: 8.5px 30px 8.5px 21px;
    border-radius: 0;
    border-right: none;
    border-left: none;
    background-position: calc(100% - 9px) center; }

#toolbar-administration {
  display: none; }

#block-rhm-starter-local-tasks {
  padding: 25px; }
  #block-rhm-starter-local-tasks li {
    display: inline-block;
    vertical-align: middle;
    margin-right: 15px; }
  #block-rhm-starter-local-tasks a {
    color: #304054;
    font-size: 1rem;
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; }

body.role--authenticated {
  padding-top: 80px !important; }

body.path-admin #toolbar-administration,
body.is_user_page #toolbar-administration {
  display: block; }

.page-node-type-homepage #main {
  padding: 0; }

.page-node-type-homepage #content-area section {
  position: relative; }
  .page-node-type-homepage #content-area section h2 {
    font-size: 1.25rem;
    line-height: 1.25;
    letter-spacing: 2.86px;
    text-transform: uppercase;
    color: #404147; }
    @media screen and (min-width: 769px) {
      .page-node-type-homepage #content-area section h2 {
        font-size: 1.8125rem;
        line-height: 1.31;
        letter-spacing: 4.14px; } }

.page-node-type-homepage section.industries {
  text-align: center;
  background: #D6D6D6;
  padding: 65px 0 0;
  margin-bottom: 30px; }
  .page-node-type-homepage section.industries .info {
    padding: 0 25px;
    margin-bottom: 105px; }
    .page-node-type-homepage section.industries .info h1 {
      font-size: 1.75rem;
      font-weight: 700;
      line-height: 1.07;
      letter-spacing: -0.15px;
      color: #292A2E;
      text-transform: uppercase;
      margin-bottom: 6px; }
    .page-node-type-homepage section.industries .info h2 {
      font-size: 1.0625rem;
      letter-spacing: 2.43px;
      line-height: 1.47;
      color: #404147;
      text-transform: uppercase; }
  .page-node-type-homepage section.industries .industry-slide {
    padding-top: 7px;
    background: #FFF; }
    .page-node-type-homepage section.industries .industry-slide .slick-list {
      overflow: visible !important; }
    .page-node-type-homepage section.industries .industry-slide .item {
      margin: 0 3.5px;
      background: #D6D6D6; }
    .page-node-type-homepage section.industries .industry-slide .background {
      position: relative;
      background-size: cover;
      background-position: center; }
      .page-node-type-homepage section.industries .industry-slide .background:before {
        content: '';
        display: block;
        height: 118px;
        background: rgba(0, 0, 0, 0.7); }
      .page-node-type-homepage section.industries .industry-slide .background .image {
        width: 155px;
        position: absolute;
        position: absolute;
        right: 0;
        bottom: 10px;
        left: 0;
        margin: auto; }
        .page-node-type-homepage section.industries .industry-slide .background .image img {
          width: 100%;
          display: block; }
    .page-node-type-homepage section.industries .industry-slide .content {
      position: relative;
      padding: 18px 35px 30px; }
      .page-node-type-homepage section.industries .industry-slide .content h3 {
        font-size: 1.875rem;
        font-weight: 700;
        color: #323232;
        letter-spacing: -0.41px;
        margin-bottom: 10px; }
      .page-node-type-homepage section.industries .industry-slide .content .section_title {
        padding-bottom: 21px;
        border-bottom: 0.5px solid #575757; }
        .page-node-type-homepage section.industries .industry-slide .content .section_title a {
          position: relative;
          display: inline-block;
          padding: 0 14px;
          font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
          font-weight: 300;
          font-size: 0.75rem;
          color: #323232;
          text-transform: uppercase;
          letter-spacing: 1.3px;
          line-height: 2.1; }
          .page-node-type-homepage section.industries .industry-slide .content .section_title a:not(:last-of-type):after {
            content: '';
            height: 13px;
            width: 1px;
            background: #323232;
            margin: auto;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0; }
      .page-node-type-homepage section.industries .industry-slide .content .body-text {
        margin: 20px 0 23px;
        font-size: 1rem;
        color: #323232;
        line-height: 1.375; }
      .page-node-type-homepage section.industries .industry-slide .content .btn-more, .page-node-type-homepage section.industries .industry-slide .content .page-node-type-contact-us .contact-us_content .office-link > a, .page-node-type-contact-us .contact-us_content .page-node-type-homepage section.industries .industry-slide .content .office-link > a {
        color: #323232;
        background: url("../../images/build/btn-more-dark.png") no-repeat right center;
        background-size: 6px auto; }
  .page-node-type-homepage section.industries .slick-dots {
    bottom: -15px;
    padding: 0 15px; }
    .page-node-type-homepage section.industries .slick-dots li {
      width: calc((100% - 15px) / 4);
      height: 2px;
      margin: 0 5px 0 0;
      vertical-align: middle; }
      .page-node-type-homepage section.industries .slick-dots li:last-of-type {
        margin: 0; }
      .page-node-type-homepage section.industries .slick-dots li button {
        padding: 0;
        height: 100%;
        width: 100%;
        background: #EBECED;
        transition: all 222ms linear; }
        .page-node-type-homepage section.industries .slick-dots li button:before {
          content: none; }
      .page-node-type-homepage section.industries .slick-dots li.slick-active {
        height: 5px; }
        .page-node-type-homepage section.industries .slick-dots li.slick-active button {
          background: #D6D6D6; }
  .page-node-type-homepage section.industries .slick-arrow {
    top: inherit;
    bottom: -25px;
    left: 50%;
    z-index: 1;
    height: 43px;
    width: 55px; }
    .page-node-type-homepage section.industries .slick-arrow.slick-next {
      transform: translateX(calc(-50% + 40px));
      background: url("../../images/build/slide-arrow-next.png") no-repeat center #202124;
      background-size: 5px auto; }
    .page-node-type-homepage section.industries .slick-arrow.slick-prev {
      transform: translateX(calc(-50% - 40px));
      background: url("../../images/build/slide-arrow-prev.png") no-repeat center #202124;
      background-size: 5px auto; }
    .page-node-type-homepage section.industries .slick-arrow.slick-disabled {
      display: none !important; }
    .page-node-type-homepage section.industries .slick-arrow:before {
      content: none; }
  @media screen and (min-width: 769px) {
    .page-node-type-homepage section.industries {
      display: none; } }

.page-node-type-homepage section.header,
.page-node-type-homepage section.local_nav,
.page-node-type-homepage section.departments {
  display: none; }
  @media screen and (min-width: 769px) {
    .page-node-type-homepage section.header,
    .page-node-type-homepage section.local_nav,
    .page-node-type-homepage section.departments {
      display: block; } }

.page-node-type-homepage section.header {
  z-index: 1;
  position: relative;
  text-align: center;
  padding: 275px 25px 300px;
  background-size: cover;
  background-position: center; }
  .page-node-type-homepage section.header:before {
    content: '';
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #FFF;
    opacity: 0.2;
    z-index: -1; }
  .page-node-type-homepage section.header h1 {
    position: relative;
    font-size: 2.8125rem;
    line-height: 0.7;
    letter-spacing: -0.3px;
    font-weight: 700;
    color: #292A2E;
    text-transform: uppercase;
    margin-bottom: 55px;
    transition: all 444ms linear;
    -webkit-filter: blur(20px);
    filter: blur(20px); }
    .page-node-type-homepage section.header h1.ready {
      -webkit-filter: blur(0);
      filter: blur(0); }
  @media screen and (min-width: 1200px) {
    .page-node-type-homepage section.header {
      padding: 275px 0 300px; }
      .page-node-type-homepage section.header h1 {
        font-size: 3.4375rem; } }

.page-node-type-homepage section.local_nav {
  z-index: 5;
  text-align: center;
  padding: 150px 25px 20px; }
  .page-node-type-homepage section.local_nav h2 {
    font-size: 1.8125rem;
    letter-spacing: 4.14px;
    line-height: 1.31;
    color: #404147;
    margin-bottom: 17px; }
  .page-node-type-homepage section.local_nav li {
    position: relative;
    display: inline-block;
    margin-right: 30px;
    font-size: 0.8125rem;
    font-weight: 300;
    line-height: 2.9;
    letter-spacing: 1.37px;
    text-transform: uppercase;
    color: #292A2E;
    cursor: pointer;
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; }
    .page-node-type-homepage section.local_nav li:before {
      content: '';
      height: 1px;
      width: 0;
      position: absolute;
      bottom: 5px;
      left: 0;
      background: #292A2E;
      transition: all 222ms linear; }
    .page-node-type-homepage section.local_nav li:last-of-type {
      margin-right: 0; }
    .page-node-type-homepage section.local_nav li:hover:before {
      width: 100%; }
  @media screen and (min-width: 1200px) {
    .page-node-type-homepage section.local_nav {
      padding: 150px 0 20px; }
      .page-node-type-homepage section.local_nav li {
        margin-right: 60px; } }

@media screen and (min-width: 769px) {
  .page-node-type-homepage section.departments {
    z-index: 1;
    width: 100%;
    display: inline-block; }
    .page-node-type-homepage section.departments .department {
      float: left;
      display: block;
      margin-right: 3.00429%;
      width: 58.3691%;
      margin-top: 125px;
      position: relative;
      padding: 25px 0;
      transition: all 666ms linear; }
      .page-node-type-homepage section.departments .department:last-child {
        margin-right: 0; }
      .page-node-type-homepage section.departments .department:before {
        z-index: -1;
        content: '';
        background: #D6D6D6;
        position: absolute;
        top: 25px;
        left: -9999px;
        height: calc(100% - 50px);
        width: 9999px; }
      .page-node-type-homepage section.departments .department .content {
        background: #D6D6D6;
        padding: 135px 220px 135px 25px; }
        .page-node-type-homepage section.departments .department .content .name {
          font-size: 2.5rem;
          line-height: 0.88;
          letter-spacing: -0.8px;
          font-weight: 600;
          color: #292A2E;
          margin-bottom: 25px; }
        .page-node-type-homepage section.departments .department .content .subtitle {
          font-size: 1.0625rem;
          line-height: 1.15;
          font-weight: 400;
          color: #323232;
          margin: 12px 0 24px; }
        .page-node-type-homepage section.departments .department .content .section_title {
          position: relative;
          display: inline-block;
          font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
          font-weight: 300;
          font-size: 0.75rem;
          letter-spacing: 1.2px;
          color: #323232;
          text-transform: uppercase;
          margin: 0 14px 5px 0;
          padding-right: 14px;
          transition: all 222ms linear; }
          .page-node-type-homepage section.departments .department .content .section_title:after {
            content: '';
            margin: auto;
            height: 11px;
            width: 1px;
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            background: #323232; }
          .page-node-type-homepage section.departments .department .content .section_title:before {
            content: '';
            position: absolute;
            bottom: -2px;
            left: 0;
            height: 1px;
            width: 0;
            background: #323232;
            transition: all 222ms linear; }
          .page-node-type-homepage section.departments .department .content .section_title:last-of-type {
            padding-right: 0;
            margin-right: 0; }
            .page-node-type-homepage section.departments .department .content .section_title:last-of-type:after {
              content: none; }
          .page-node-type-homepage section.departments .department .content .section_title:hover:before {
            width: calc(100% - 14px); }
          .page-node-type-homepage section.departments .department .content .section_title:hover:last-of-type:before {
            width: 100%; }
        .page-node-type-homepage section.departments .department .content .btn-more, .page-node-type-homepage section.departments .department .content .page-node-type-contact-us .contact-us_content .office-link > a, .page-node-type-contact-us .contact-us_content .page-node-type-homepage section.departments .department .content .office-link > a {
          display: inline-block;
          color: #323232;
          background: url("../../images/build/btn-more-dark.png") no-repeat center right;
          background-size: 5px auto; }
          .page-node-type-homepage section.departments .department .content .btn-more:before, .page-node-type-homepage section.departments .department .content .page-node-type-contact-us .contact-us_content .office-link > a:before, .page-node-type-contact-us .contact-us_content .page-node-type-homepage section.departments .department .content .office-link > a:before {
            content: none; }
      .page-node-type-homepage section.departments .department .image {
        height: calc(100% - 50px);
        width: 150px;
        background-size: cover;
        background-position: center;
        position: absolute;
        top: 25px;
        right: 0; }
        .page-node-type-homepage section.departments .department .image:before {
          content: '';
          height: 100%;
          width: 100%;
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          background: rgba(0, 0, 0, 0.6); }
      .page-node-type-homepage section.departments .department:first-of-type {
        margin-top: 30px; }
      .page-node-type-homepage section.departments .department:nth-of-type(2n) {
        float: right;
        margin-right: 0; }
        .page-node-type-homepage section.departments .department:nth-of-type(2n):before {
          right: -9999px;
          left: inherit; }
        .page-node-type-homepage section.departments .department:nth-of-type(2n) .content {
          padding: 135px 25px 135px 220px; }
        .page-node-type-homepage section.departments .department:nth-of-type(2n) .image {
          right: inherit;
          left: 0; } }
    @media screen and (min-width: 769px) and (min-width: 1200px) {
      .page-node-type-homepage section.departments .department .content {
        padding: 135px 250px 135px 25px; }
      .page-node-type-homepage section.departments .department:nth-of-type(2n) .content {
        padding: 135px 25px 135px 250px; } }

@media screen and (min-width: 1200px) {
  .page-node-type-homepage section.departments {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto;
    display: block; }
    .page-node-type-homepage section.departments::after {
      clear: both;
      content: "";
      display: table; }
    .page-node-type-homepage section.departments .department .content .name {
      font-size: 3.625rem;
      margin-bottom: 32px; }
    .page-node-type-homepage section.departments .department .content .subtitle {
      font-size: 1.1875rem; }
    .page-node-type-homepage section.departments .department .image {
      height: calc(100% - 50px);
      width: 195px; } }

.page-node-type-homepage section.latest-news {
  text-align: center;
  padding: 35px 48px 58px; }
  .page-node-type-homepage section.latest-news:after {
    content: '';
    margin: auto;
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    background: #EBECED;
    height: 1px;
    width: calc(100% - 50px); }
  .page-node-type-homepage section.latest-news h2 {
    margin-bottom: 33px; }
  .page-node-type-homepage section.latest-news .news {
    color: #292A2E; }
    .page-node-type-homepage section.latest-news .news:first-of-type {
      margin-bottom: 40px; }
    .page-node-type-homepage section.latest-news .news .image {
      position: relative;
      width: 70%;
      max-width: 250px;
      margin: 0 auto 23px;
      background: #F5F6F7;
      padding-top: 9px; }
      .page-node-type-homepage section.latest-news .news .image img {
        width: 100%;
        display: block;
        margin: 0 0 0 9px; }
    .page-node-type-homepage section.latest-news .news .category {
      display: none; }
    .page-node-type-homepage section.latest-news .news h3 {
      font-size: 1.375rem;
      line-height: 1.14;
      letter-spacing: -0.22px;
      margin-bottom: 5px;
      font-weight: 400; }
    .page-node-type-homepage section.latest-news .news .teaser {
      font-size: 1rem;
      line-height: 1.375;
      margin-bottom: 14px; }
    .page-node-type-homepage section.latest-news .news .btn-more, .page-node-type-homepage section.latest-news .news .page-node-type-contact-us .contact-us_content .office-link > a, .page-node-type-contact-us .contact-us_content .page-node-type-homepage section.latest-news .news .office-link > a {
      color: #1A1A1A;
      background: url("../../images/build/btn-more-dark.png") no-repeat right center;
      background-size: 5px auto; }
  .page-node-type-homepage section.latest-news .all-news-link {
    display: block;
    margin: 50px auto 0; }
    .page-node-type-homepage section.latest-news .all-news-link a {
      font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 0.75rem;
      font-weight: 500;
      letter-spacing: 2px;
      color: #6C6D73;
      text-transform: uppercase;
      padding-right: 13px;
      background: url("../../images/build/arrow-fh.png") no-repeat center right;
      background-size: 7px auto; }
  @media screen and (min-width: 769px) {
    .page-node-type-homepage section.latest-news {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto;
      text-align: left;
      position: relative;
      padding: 45px 25px 100px;
      margin-top: 125px; }
      .page-node-type-homepage section.latest-news::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-homepage section.latest-news:after {
        background: transparent; }
      .page-node-type-homepage section.latest-news h2 {
        transform: translateX(-50%) translateY(-50%) rotate(-90deg);
        position: absolute;
        top: 50%;
        margin-bottom: 0; }
      .page-node-type-homepage section.latest-news .news-wrapper {
        display: block; }
        .page-node-type-homepage section.latest-news .news-wrapper::after {
          clear: both;
          content: "";
          display: table; }
      .page-node-type-homepage section.latest-news .news {
        width: 90%;
        padding-left: 45px; }
        .page-node-type-homepage section.latest-news .news:first-of-type {
          margin-bottom: 65px; }
        .page-node-type-homepage section.latest-news .news.no-image .info {
          width: 100%;
          max-width: none; }
        .page-node-type-homepage section.latest-news .news .image {
          width: 195px;
          max-width: none;
          margin: 0 70px 0 0;
          padding-top: 15px;
          display: inline-block;
          vertical-align: top; }
          .page-node-type-homepage section.latest-news .news .image img {
            margin: 0 0 0 15px; }
        .page-node-type-homepage section.latest-news .news .info {
          display: inline-block;
          width: calc(100% - 195px - 80px);
          padding-top: 5px;
          max-width: 500px; }
        .page-node-type-homepage section.latest-news .news .category {
          display: block;
          font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
          font-size: 0.75rem;
          letter-spacing: 1.26px;
          color: #6C6D73;
          text-transform: uppercase;
          margin-bottom: 9px; }
        .page-node-type-homepage section.latest-news .news h3 {
          font-size: 1.75rem;
          line-height: 1;
          letter-spacing: -0.35px;
          margin-bottom: 15px;
          font-weight: 400;
          min-height: 65px; }
        .page-node-type-homepage section.latest-news .news .teaser {
          font-size: 1.125rem;
          line-height: 1.1;
          margin-bottom: 28px;
          letter-spacing: 0; }
      .page-node-type-homepage section.latest-news .all-news-link {
        padding-left: 45px; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-homepage section.latest-news {
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto;
      padding: 45px 0 150px; }
      .page-node-type-homepage section.latest-news::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-homepage section.latest-news .news {
        margin-left: 15.45064%;
        float: left;
        display: block;
        margin-right: 3.00429%;
        width: 65.66524%;
        padding-left: 0; }
        .page-node-type-homepage section.latest-news .news:last-child {
          margin-right: 0; }
        .page-node-type-homepage section.latest-news .news h3 {
          font-size: 2.125rem; }
        .page-node-type-homepage section.latest-news .news .teaser {
          font-size: 1.25rem; }
        .page-node-type-homepage section.latest-news .news .image {
          margin: 0 90px 0 0; }
        .page-node-type-homepage section.latest-news .news .info {
          width: calc(100% - 195px - 100px); }
      .page-node-type-homepage section.latest-news .all-news-link {
        margin-left: 15.45064%;
        padding-left: 0; } }

.page-node-type-homepage section.company {
  z-index: 1;
  position: relative;
  padding: 40px 25px 63px; }
  .page-node-type-homepage section.company .layer {
    z-index: -1;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    overflow: hidden;
    opacity: 0.1;
    background-size: cover;
    background-position: center; }
  .page-node-type-homepage section.company .wrapper {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: wrap;
        flex-flow: wrap;
    background: rgba(255, 255, 255, 0.1); }
    .page-node-type-homepage section.company .wrapper h2 {
      -ms-flex-order: 1;
          order: 1;
      margin-bottom: 25px; }
    .page-node-type-homepage section.company .wrapper .text {
      -ms-flex-order: 3;
          order: 3;
      font-size: 1rem;
      line-height: 1.56;
      color: #292A2E;
      margin-bottom: 30px; }
      .page-node-type-homepage section.company .wrapper .text .btn-double_line, .page-node-type-homepage section.company .wrapper .text #block-playlist .link-area a, #block-playlist .link-area .page-node-type-homepage section.company .wrapper .text a, .page-node-type-homepage section.company .wrapper .text #block-sales-office a, #block-sales-office .page-node-type-homepage section.company .wrapper .text a, .page-node-type-homepage section.company .wrapper .text #user-login-form #edit-submit, #user-login-form .page-node-type-homepage section.company .wrapper .text #edit-submit, .page-node-type-homepage section.company .wrapper .text section.worldwide-clock .all-worldwide-link a, .page-node-type-homepage section.worldwide-clock .all-worldwide-link section.company .wrapper .text a, .page-node-type-homepage section.company .wrapper .text .page-node-type-contact-us .form #edit-submit, .page-node-type-contact-us .form .page-node-type-homepage section.company .wrapper .text #edit-submit, .page-node-type-homepage section.company .wrapper .text .page-node-type-experience .experience .action-content a, .page-node-type-experience .experience .action-content .page-node-type-homepage section.company .wrapper .text a {
        display: none; }
    .page-node-type-homepage section.company .wrapper .image {
      position: relative;
      -ms-flex-order: 2;
          order: 2;
      margin-bottom: 20px;
      overflow: hidden; }
      .page-node-type-homepage section.company .wrapper .image img {
        height: auto;
        margin: 0 auto;
        width: 100%; }
    .page-node-type-homepage section.company .wrapper .btn-double_line, .page-node-type-homepage section.company .wrapper #block-playlist .link-area a, #block-playlist .link-area .page-node-type-homepage section.company .wrapper a, .page-node-type-homepage section.company .wrapper #block-sales-office a, #block-sales-office .page-node-type-homepage section.company .wrapper a, .page-node-type-homepage section.company .wrapper #user-login-form #edit-submit, #user-login-form .page-node-type-homepage section.company .wrapper #edit-submit, .page-node-type-homepage section.company .wrapper section.worldwide-clock .all-worldwide-link a, .page-node-type-homepage section.worldwide-clock .all-worldwide-link section.company .wrapper a, .page-node-type-homepage section.company .wrapper .page-node-type-contact-us .form #edit-submit, .page-node-type-contact-us .form .page-node-type-homepage section.company .wrapper #edit-submit, .page-node-type-homepage section.company .wrapper .page-node-type-experience .experience .action-content a, .page-node-type-experience .experience .action-content .page-node-type-homepage section.company .wrapper a {
      -ms-flex-order: 4;
          order: 4;
      color: #272528;
      padding: 7.5px 22px 8px 5px;
      background: url("../../images/build/frame-arrow.png") no-repeat calc(100% - 7px) center transparent;
      background-size: 6px auto; }
  @media screen and (min-width: 769px) {
    .page-node-type-homepage section.company {
      padding: 0 25px;
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-homepage section.company::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-homepage section.company .wrapper h2 {
        transform: translateX(-50%) translateY(-50%) rotate(-90deg);
        position: absolute;
        top: 50%;
        margin-bottom: 0; }
      .page-node-type-homepage section.company .wrapper .text {
        -ms-flex-order: 1;
            order: 1;
        font-size: 1.125rem;
        letter-spacing: -0.21px;
        margin-bottom: 0;
        width: 50%;
        float: left;
        padding: 50px;
        line-height: 1.4; }
        .page-node-type-homepage section.company .wrapper .text .btn-double_line, .page-node-type-homepage section.company .wrapper .text #block-playlist .link-area a, #block-playlist .link-area .page-node-type-homepage section.company .wrapper .text a, .page-node-type-homepage section.company .wrapper .text #block-sales-office a, #block-sales-office .page-node-type-homepage section.company .wrapper .text a, .page-node-type-homepage section.company .wrapper .text #user-login-form #edit-submit, #user-login-form .page-node-type-homepage section.company .wrapper .text #edit-submit, .page-node-type-homepage section.company .wrapper .text section.worldwide-clock .all-worldwide-link a, .page-node-type-homepage section.worldwide-clock .all-worldwide-link section.company .wrapper .text a, .page-node-type-homepage section.company .wrapper .text .page-node-type-contact-us .form #edit-submit, .page-node-type-contact-us .form .page-node-type-homepage section.company .wrapper .text #edit-submit, .page-node-type-homepage section.company .wrapper .text .page-node-type-experience .experience .action-content a, .page-node-type-experience .experience .action-content .page-node-type-homepage section.company .wrapper .text a {
          margin-top: 30px;
          display: inline-block; }
      .page-node-type-homepage section.company .wrapper .image {
        margin-bottom: 0;
        width: 50%;
        float: left; }
        .page-node-type-homepage section.company .wrapper .image img {
          position: absolute;
          top: 0;
          right: 0;
          left: 0;
          height: 100%;
          margin: 0 auto;
          width: auto; }
      .page-node-type-homepage section.company .wrapper .btn-double_line, .page-node-type-homepage section.company .wrapper #block-playlist .link-area a, #block-playlist .link-area .page-node-type-homepage section.company .wrapper a, .page-node-type-homepage section.company .wrapper #block-sales-office a, #block-sales-office .page-node-type-homepage section.company .wrapper a, .page-node-type-homepage section.company .wrapper #user-login-form #edit-submit, #user-login-form .page-node-type-homepage section.company .wrapper #edit-submit, .page-node-type-homepage section.company .wrapper section.worldwide-clock .all-worldwide-link a, .page-node-type-homepage section.worldwide-clock .all-worldwide-link section.company .wrapper a, .page-node-type-homepage section.company .wrapper .page-node-type-contact-us .form #edit-submit, .page-node-type-contact-us .form .page-node-type-homepage section.company .wrapper #edit-submit, .page-node-type-homepage section.company .wrapper .page-node-type-experience .experience .action-content a, .page-node-type-experience .experience .action-content .page-node-type-homepage section.company .wrapper a {
        display: none; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-homepage section.company {
      padding: 0;
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-homepage section.company::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-homepage section.company .wrapper .text {
        font-size: 1.5rem;
        padding: 100px 80px 100px 103px; }
        .page-node-type-homepage section.company .wrapper .text .btn-double_line, .page-node-type-homepage section.company .wrapper .text #block-playlist .link-area a, #block-playlist .link-area .page-node-type-homepage section.company .wrapper .text a, .page-node-type-homepage section.company .wrapper .text #block-sales-office a, #block-sales-office .page-node-type-homepage section.company .wrapper .text a, .page-node-type-homepage section.company .wrapper .text #user-login-form #edit-submit, #user-login-form .page-node-type-homepage section.company .wrapper .text #edit-submit, .page-node-type-homepage section.company .wrapper .text section.worldwide-clock .all-worldwide-link a, .page-node-type-homepage section.worldwide-clock .all-worldwide-link section.company .wrapper .text a, .page-node-type-homepage section.company .wrapper .text .page-node-type-contact-us .form #edit-submit, .page-node-type-contact-us .form .page-node-type-homepage section.company .wrapper .text #edit-submit, .page-node-type-homepage section.company .wrapper .text .page-node-type-experience .experience .action-content a, .page-node-type-experience .experience .action-content .page-node-type-homepage section.company .wrapper .text a {
          margin-top: 40px; } }

.page-node-type-homepage section.worldwide-clock {
  text-align: center;
  padding: 48px 25px 105px; }
  .page-node-type-homepage section.worldwide-clock h2 {
    margin-bottom: 49px; }
  .page-node-type-homepage section.worldwide-clock .clock-item {
    text-align: center;
    display: inline-block;
    margin-right: 10px;
    margin-bottom: 60px; }
    .page-node-type-homepage section.worldwide-clock .clock-item:nth-of-type(3) {
      display: none; }
    .page-node-type-homepage section.worldwide-clock .clock-item:nth-of-type(2), .page-node-type-homepage section.worldwide-clock .clock-item:nth-of-type(5) {
      margin-right: 0; }
  .page-node-type-homepage section.worldwide-clock .clock-wrapper {
    background: #FFF;
    box-shadow: 0 2px 19px 4px rgba(33, 41, 52, 0.03);
    border-radius: 5px;
    padding: 10px;
    margin-bottom: 30px; }
  .page-node-type-homepage section.worldwide-clock .clock-timezone {
    font-size: 1.4375rem;
    line-height: 1.57;
    color: #56585C; }
  .page-node-type-homepage section.worldwide-clock .all-worldwide-link {
    display: block; }
  @media screen and (min-width: 769px) {
    .page-node-type-homepage section.worldwide-clock {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 90px; }
      .page-node-type-homepage section.worldwide-clock::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-homepage section.worldwide-clock h2 {
        margin-bottom: 90px; }
      .page-node-type-homepage section.worldwide-clock .clock-item {
        margin-right: 2%;
        margin-bottom: 75px; }
        .page-node-type-homepage section.worldwide-clock .clock-item:nth-of-type(2), .page-node-type-homepage section.worldwide-clock .clock-item:nth-of-type(4) {
          margin-right: 2%; }
        .page-node-type-homepage section.worldwide-clock .clock-item:last-of-type {
          display: inline-block;
          margin-right: 0; }
      .page-node-type-homepage section.worldwide-clock .clock-wrapper {
        padding: 7px 17.5px;
        margin-bottom: 55px; }
      .page-node-type-homepage section.worldwide-clock .all-worldwide-link {
        margin-top: 0;
        display: block; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-homepage section.worldwide-clock {
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto;
      padding: 48px 0 105px;
      margin-top: 140px; }
      .page-node-type-homepage section.worldwide-clock::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-homepage section.worldwide-clock h2 {
        margin-bottom: 116px; } }

.page-node-type-homepage .header-arrow {
  display: none;
  z-index: 5;
  position: absolute;
  top: 430px;
  right: 0;
  left: 0;
  cursor: pointer;
  height: 24px;
  width: 49px;
  margin: 0 auto;
  background: url("../../images/build/homepage-arrow.png") no-repeat center;
  background-size: 100% auto;
  opacity: 0;
  transition: all 333ms linear; }
  @media screen and (min-width: 769px) {
    .page-node-type-homepage .header-arrow {
      display: block; }
      .page-node-type-homepage .header-arrow.ready {
        opacity: 1; } }

.page-node-type-homepage .diamond {
  overflow: hidden;
  display: none;
  z-index: 2;
  margin: auto;
  position: absolute;
  top: 400px;
  right: 0;
  left: 0;
  height: 450px;
  width: 450px;
  transition: all 1.3s linear; }
  .page-node-type-homepage .diamond .diamond_wrapper {
    height: 100%;
    width: 100%;
    opacity: 0;
    transform: translateY(50px);
    transition: all 444ms linear; }
  @media screen and (min-width: 769px) {
    .page-node-type-homepage .diamond {
      display: block; }
      .page-node-type-homepage .diamond.ready .diamond_wrapper {
        opacity: 1;
        transform: translateY(0); } }

.page-node-type-sitemap #content-header {
  text-align: center;
  padding: 35px 25px; }
  @media screen and (min-width: 769px) {
    .page-node-type-sitemap #content-header {
      padding: 45px 25px;
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-sitemap #content-header::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-sitemap #content-header {
      padding: 80px 25px 40px;
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-sitemap #content-header::after {
        clear: both;
        content: "";
        display: table; } }

.page-node-type-sitemap .item-list {
  padding: 44px 25px 35px; }
  @media screen and (min-width: 769px) {
    .page-node-type-sitemap .item-list {
      padding: 35px 25px;
      display: block;
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-sitemap .item-list::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-sitemap .item-list::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-sitemap .item-list {
      padding: 35px 0;
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-sitemap .item-list::after {
        clear: both;
        content: "";
        display: table; } }

.page-node-type-sitemap .items {
  z-index: 1;
  position: relative;
  border-top: 1px solid #272528;
  border-bottom: 1px solid #272528;
  padding: 17px 20px 12px;
  margin-bottom: 40px; }
  .page-node-type-sitemap .items:before {
    z-index: -1;
    content: '';
    opacity: 0;
    box-shadow: 0 0 40px 0 rgba(33, 41, 52, 0.06);
    height: calc(100% + 41px);
    width: calc(100% + 20px);
    position: absolute;
    top: -16px;
    left: -10px;
    transition: all 222ms ease-in-out; }
  .page-node-type-sitemap .items:hover:before {
    opacity: 1; }
  .page-node-type-sitemap .items:last-of-type {
    margin-bottom: 0; }
  .page-node-type-sitemap .items.have-child {
    cursor: pointer; }
  .page-node-type-sitemap .items .title-wrapper {
    min-height: 50px;
    margin-bottom: 17px;
    position: relative; }
    .page-node-type-sitemap .items .title-wrapper a {
      font-size: 1.25rem;
      text-transform: uppercase;
      color: #404147;
      line-height: 1.25;
      letter-spacing: 2.86px;
      display: inline-block;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%); }
  .page-node-type-sitemap .items .desc {
    position: relative;
    padding-top: 14px;
    min-height: 75px; }
    .page-node-type-sitemap .items .desc:before {
      content: '';
      height: 1px;
      width: 40px;
      background: #272528;
      position: absolute;
      top: 0;
      left: 0; }
    .page-node-type-sitemap .items .desc .text {
      color: #292A2E;
      line-height: 1.56;
      font-size: 1rem;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%); }
  .page-node-type-sitemap .items ul {
    display: none;
    padding: 12px 0 20px; }
    .page-node-type-sitemap .items ul li {
      margin-bottom: 31px; }
      .page-node-type-sitemap .items ul li:last-of-type {
        margin-bottom: 0; }
      .page-node-type-sitemap .items ul li a {
        font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
        font-size: 0.8125rem;
        font-weight: 500;
        letter-spacing: 2.92px;
        color: #1A1A1A;
        margin-bottom: 0;
        padding-right: 12px;
        background: url("../../images/build/sitemap-arrow.png") no-repeat right center;
        background-size: 5px auto;
        text-transform: uppercase; }
  @media screen and (min-width: 769px) {
    .page-node-type-sitemap .items {
      float: left;
      display: block;
      margin-right: 3.00429%;
      width: 31.33047%;
      padding: 22px 20px 48px;
      margin-bottom: 50px; }
      .page-node-type-sitemap .items:last-child {
        margin-right: 0; }
      .page-node-type-sitemap .items:nth-child(3n) {
        margin-right: 0; }
      .page-node-type-sitemap .items:nth-child(3n+1) {
        clear: left; }
      .page-node-type-sitemap .items .title-wrapper {
        margin-bottom: 15px;
        min-height: 75px; }
        .page-node-type-sitemap .items .title-wrapper a {
          font-size: 1.8125rem;
          line-height: 1.31;
          letter-spacing: 0.2px; }
      .page-node-type-sitemap .items .desc {
        padding-top: 27px; }
        .page-node-type-sitemap .items .desc .text {
          line-height: 1.4;
          font-size: 1.25rem;
          position: relative;
          top: inherit;
          right: inherit;
          bottom: inherit;
          left: inherit;
          transform: translateY(0); }
      .page-node-type-sitemap .items ul {
        padding: 40px 0 3px; }
        .page-node-type-sitemap .items ul li {
          margin-bottom: 33px; }
          .page-node-type-sitemap .items ul li a {
            font-size: 0.75rem;
            letter-spacing: 2.97px; } }

.page-node-type-page #content-header {
  text-align: center;
  padding: 40px 0 35px; }
  .page-node-type-page #content-header .sub_title {
    font-size: 1.0625rem; }
  .page-node-type-page #content-header .local_nav {
    display: none;
    width: 100%;
    padding: 5px 25px 7px;
    background: #F7F9FA;
    position: fixed;
    top: 50px;
    left: 0; }
    .page-node-type-page #content-header .local_nav ul {
      display: none; }
    .page-node-type-page #content-header .local_nav li {
      font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 0.8125rem;
      line-height: 2.93;
      letter-spacing: 1.37px;
      text-transform: uppercase;
      font-weight: lighter; }
      .page-node-type-page #content-header .local_nav li a {
        color: #292A2E; }
  @media screen and (min-width: 769px) {
    .page-node-type-page #content-header {
      padding: 60px 10px 20px;
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-page #content-header::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-page #content-header .sub_title {
        font-size: 1.8125rem;
        letter-spacing: 4.14px;
        line-height: 1.31;
        margin-bottom: 64px; }
      .page-node-type-page #content-header .local_nav {
        display: block;
        text-align: center;
        background: transparent;
        position: relative;
        top: inherit;
        right: inherit;
        bottom: inherit;
        left: inherit; }
        .page-node-type-page #content-header .local_nav ul {
          display: block; }
        .page-node-type-page #content-header .local_nav li {
          margin: 0 30px 0 0;
          display: inline-block; }
          .page-node-type-page #content-header .local_nav li:last-of-type {
            margin-right: 0; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-page #content-header {
      padding: 80px 0 20px;
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-page #content-header::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-page #content-header .local_nav li {
        margin: 0 45px 0 0; } }

.page-node-type-page #content-area h2 {
  font-size: 1.25rem;
  color: #404147;
  font-weight: 400;
  letter-spacing: 2.86px;
  line-height: 1.25; }

.page-node-type-page #content-area h3 {
  font-size: 1rem;
  color: #292A2E;
  font-weight: 400;
  line-height: 1.56; }

.page-node-type-page #content-area .text {
  font-size: 1rem;
  color: #292A2E;
  line-height: 1.56; }

.page-node-type-page #content-area .text-light {
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 0.875rem;
  color: #292A2E;
  font-weight: 300;
  line-height: 1.78;
  letter-spacing: 0.44px; }

.page-node-type-page #content-area #strategy h3 {
  font-size: 1.125rem; }

@media screen and (min-width: 769px) {
  .page-node-type-page #content-area h2 {
    font-size: 1.5625rem;
    letter-spacing: 4.14px;
    line-height: 1.31; }
    .page-node-type-page #content-area h2.vertical {
      transform: translateX(-50%) translateY(-50%) rotate(-90deg);
      position: absolute;
      top: 50%; }
  .page-node-type-page #content-area h3, .page-node-type-page #content-area #strategy h3 {
    font-size: 1.25rem;
    letter-spacing: -0.1px;
    line-height: 1.49; }
  .page-node-type-page #content-area .text {
    font-size: 1.25rem;
    letter-spacing: -0.1px;
    line-height: 1.49; }
  .page-node-type-page #content-area .text-light {
    font-size: 0.9375rem;
    letter-spacing: 0.47px;
    line-height: 1.67; } }

@media screen and (min-width: 1200px) {
  .page-node-type-page #content-area h2 {
    font-size: 1.8125rem; }
  .page-node-type-page #content-area h3, .page-node-type-page #content-area #strategy h3 {
    font-size: 1.5rem; }
  .page-node-type-page #content-area .text {
    font-size: 1.5rem; } }

.page-node-type-page #the-company {
  padding: 14px 0 50px; }
  .page-node-type-page #the-company .company {
    position: relative;
    z-index: 1;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: wrap;
        flex-flow: wrap;
    padding: 0 20px 44px;
    background: rgba(255, 255, 255, 0.9); }
    .page-node-type-page #the-company .company h2 {
      -ms-flex-order: 1;
          order: 1;
      margin-bottom: 20px; }
    .page-node-type-page #the-company .company .text {
      -ms-flex-order: 3;
          order: 3; }
    .page-node-type-page #the-company .company .image {
      -ms-flex-order: 2;
          order: 2;
      margin-bottom: 20px; }
      .page-node-type-page #the-company .company .image img {
        width: 100%;
        display: block; }
      .page-node-type-page #the-company .company .image .background {
        z-index: -1;
        opacity: 0.1;
        background-size: cover;
        background-position: center;
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0; }
  .page-node-type-page #the-company .de-beers .text {
    padding: 38px 25px;
    background: #F7F9FA; }
  .page-node-type-page #the-company .de-beers .sibling {
    text-align: right;
    padding: 58px 25px 47px;
    background: #292A2E; }
    .page-node-type-page #the-company .de-beers .sibling img {
      display: inline-block;
      margin: 0 12px 38px 0; }
    .page-node-type-page #the-company .de-beers .sibling p {
      font-size: 1rem;
      line-height: 1.58;
      color: #F7F9FA; }
  @media screen and (min-width: 769px) {
    .page-node-type-page #the-company {
      padding: 0 25px;
      margin-bottom: 90px;
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-page #the-company::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-page #the-company .company {
        padding: 0;
        margin-bottom: 9px;
        position: relative; }
        .page-node-type-page #the-company .company .text {
          -ms-flex-order: 2;
              order: 2;
          margin-right: 9px;
          padding: 60px;
          width: calc((100% - 9px) / 2);
          background: rgba(255, 255, 255, 0.9);
          border-right: 9px solid #FFF; }
        .page-node-type-page #the-company .company .image {
          -ms-flex-order: 3;
              order: 3;
          margin-bottom: 0;
          width: calc((100% - 9px) / 2); }
          .page-node-type-page #the-company .company .image img {
            display: none; }
          .page-node-type-page #the-company .company .image .background {
            opacity: 1; }
      .page-node-type-page #the-company .de-beers {
        display: block; }
        .page-node-type-page #the-company .de-beers::after {
          clear: both;
          content: "";
          display: table; }
        .page-node-type-page #the-company .de-beers .text {
          float: left;
          font-size: 1.25rem;
          width: 60%;
          margin-right: 9px;
          padding: 45px 40px 30px; }
        .page-node-type-page #the-company .de-beers .sibling {
          float: left;
          padding: 0;
          position: relative;
          width: calc(40% - 9px); }
          .page-node-type-page #the-company .de-beers .sibling .sibling-wrapper {
            padding: 30px 35px 35px;
            position: absolute;
            right: 0;
            bottom: 0; }
          .page-node-type-page #the-company .de-beers .sibling img {
            display: inline-block;
            margin: 0 0 15px; }
          .page-node-type-page #the-company .de-beers .sibling p {
            font-size: 1.125rem; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-page #the-company {
      padding: 0;
      margin-bottom: 150px;
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-page #the-company::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-page #the-company .company .text {
        padding: 105px 83px 118px; }
      .page-node-type-page #the-company .de-beers .text {
        padding: 90px 80px 60px; }
      .page-node-type-page #the-company .de-beers .sibling .sibling-wrapper {
        padding: 45px 44px 44px 90px; }
      .page-node-type-page #the-company .de-beers .sibling p {
        font-size: 1.25rem;
        line-height: 1.4; } }

.page-node-type-page #our-history {
  z-index: 1;
  position: relative;
  background-color: #000;
  background-repeat: no-repeat;
  background-position: left top;
  background-size: auto calc(100% - 55px); }
  .page-node-type-page #our-history:before {
    content: '';
    z-index: -1;
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(32, 33, 36, 0.89); }
  .page-node-type-page #our-history:after {
    content: '';
    z-index: -1;
    height: 55px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #FFF; }
  .page-node-type-page #our-history h2 {
    padding: 40px 25px;
    color: #FFF;
    letter-spacing: 2.86px;
    line-height: 1.25;
    text-transform: uppercase; }
  .page-node-type-page #our-history .timeline {
    position: relative;
    padding: 10px 0 0 14.5px; }
    .page-node-type-page #our-history .timeline:before {
      content: '';
      z-index: -1;
      height: 1px;
      width: 100%;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background: #D8D8D8;
      box-shadow: 0 0 4px 2px rgba(255, 255, 255, 0.15); }
  .page-node-type-page #our-history .key-event {
    outline: none;
    margin: 0 10.5px; }
    .page-node-type-page #our-history .key-event .outer {
      display: none; }
      .page-node-type-page #our-history .key-event .outer .image {
        cursor: pointer; }
    .page-node-type-page #our-history .key-event .inner {
      height: 100%; }
      .page-node-type-page #our-history .key-event .inner .image {
        height: 200px;
        background-size: cover;
        background-position: center; }
      .page-node-type-page #our-history .key-event .inner img {
        width: 100%;
        display: block; }
      .page-node-type-page #our-history .key-event .inner .content {
        height: 100%;
        padding: 12px 20px 45px;
        background: #F2F4F5; }
      .page-node-type-page #our-history .key-event .inner .year {
        font-size: 1.875rem;
        font-weight: 700;
        line-height: 1.3;
        letter-spacing: -0.3px;
        margin-bottom: 4px;
        color: #292A2E; }
      .page-node-type-page #our-history .key-event .inner h3 {
        font-size: 0.9375rem;
        line-height: 1.67;
        letter-spacing: 2.14px;
        text-transform: uppercase;
        color: #404147;
        margin-bottom: 13px; }
      .page-node-type-page #our-history .key-event .inner .text {
        font-size: 1.125rem;
        color: #292A2E;
        line-height: 1.39; }
  .page-node-type-page #our-history .btn-area {
    display: none; }
  .page-node-type-page #our-history .slick-arrow {
    top: inherit;
    bottom: -30px;
    left: 50%;
    z-index: 1;
    height: 43px;
    width: 55px; }
    .page-node-type-page #our-history .slick-arrow.slick-next {
      transform: translateX(calc(-50% + 40px));
      background: url("../../images/build/slide-arrow-next.png") no-repeat center #202124;
      background-size: 5px auto; }
    .page-node-type-page #our-history .slick-arrow.slick-prev {
      transform: translateX(calc(-50% - 40px));
      background: url("../../images/build/slide-arrow-prev.png") no-repeat center #202124;
      background-size: 5px auto; }
    .page-node-type-page #our-history .slick-arrow.slick-disabled {
      display: none !important; }
    .page-node-type-page #our-history .slick-arrow:before {
      content: none; }
  @media screen and (min-width: 769px) {
    .page-node-type-page #our-history {
      padding: 78px 0 10px;
      background-size: auto calc(100% - 120px); }
      .page-node-type-page #our-history:after {
        height: 120px; }
      .page-node-type-page #our-history .title-wrapper {
        padding: 0 20px;
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .page-node-type-page #our-history .title-wrapper::after {
          clear: both;
          content: "";
          display: table; }
        .page-node-type-page #our-history .title-wrapper h2 {
          padding: 0; }
      .page-node-type-page #our-history .timeline {
        position: relative;
        padding: 0 0 0 60px;
        margin-left: 100px;
        overflow: hidden; }
        .page-node-type-page #our-history .timeline:before {
          content: none; }
      .page-node-type-page #our-history .slick-list {
        padding-left: 120px; }
      .page-node-type-page #our-history .slick-track {
        height: 100%;
        transition: all 444ms ease-in-out; }
      .page-node-type-page #our-history .key-event {
        position: relative;
        outline: none;
        margin: 0 60px 0 0; }
        .page-node-type-page #our-history .key-event:not(:first-of-type):before {
          content: '';
          z-index: -1;
          margin: auto;
          background: #D8D8D8;
          box-shadow: 0 0 4px 2px rgba(255, 255, 255, 0.15);
          height: 1px;
          width: 150%;
          position: absolute;
          top: 285px;
          left: -95%; }
        .page-node-type-page #our-history .key-event:first-of-type:before {
          content: '';
          z-index: -1;
          margin: auto;
          background: #D8D8D8;
          box-shadow: 0 0 4px 2px rgba(255, 255, 255, 0.15);
          height: 1px;
          width: 250%;
          position: absolute;
          top: 285px;
          left: -105px; }
        .page-node-type-page #our-history .key-event:first-of-type:after {
          content: '';
          z-index: -1;
          margin: auto;
          background: #D8D8D8;
          box-shadow: 0 0 4px 2px rgba(255, 255, 255, 0.15);
          border-radius: 50%;
          height: 8px;
          width: 8px;
          position: absolute;
          top: 282px;
          left: -105px; }
        .page-node-type-page #our-history .key-event .outer {
          margin-top: 250px;
          display: block; }
          .page-node-type-page #our-history .key-event .outer .image {
            height: 64px;
            width: 64px;
            border-radius: 50%;
            border: 1px solid #D8D8D8;
            background-size: cover;
            background-position: center;
            margin: 0 auto 16px;
            transition: all 444ms linear; }
          .page-node-type-page #our-history .key-event .outer .year {
            font-size: 2.3125rem;
            font-weight: 700;
            text-align: center;
            color: #F7F9FA; }
          .page-node-type-page #our-history .key-event .outer:hover .image {
            transform: scale(1.1) rotate(45deg); }
        .page-node-type-page #our-history .key-event .inner {
          opacity: 0;
          height: 0;
          transform: scale(0);
          transition: all 444ms linear; }
          .page-node-type-page #our-history .key-event .inner .image {
            height: 315px; }
          .page-node-type-page #our-history .key-event .inner .content {
            padding: 26px 35px 47px; }
          .page-node-type-page #our-history .key-event .inner .year {
            font-size: 2.3125rem;
            line-height: 0.9; }
          .page-node-type-page #our-history .key-event .inner h3 {
            font-size: 1.125rem;
            line-height: 1.55;
            letter-spacing: 2.4px;
            margin-bottom: 23px; }
          .page-node-type-page #our-history .key-event .inner .text {
            font-size: 1.375rem;
            font-weight: 500;
            line-height: 1.27;
            margin-top: 15px;
            margin-bottom: 21px; }
        .page-node-type-page #our-history .key-event.rhm-current-slide .outer {
          opacity: 0;
          height: 0;
          margin-top: 0; }
        .page-node-type-page #our-history .key-event.rhm-current-slide .inner {
          opacity: 1;
          height: auto;
          transform: scale(1); }
      .page-node-type-page #our-history .btn-area {
        display: block; }
        .page-node-type-page #our-history .btn-area .arrow {
          display: inline-block;
          vertical-align: middle;
          font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
          text-transform: uppercase;
          letter-spacing: 2.7px;
          font-size: 0.75rem;
          font-weight: 500;
          color: #1A1A1A;
          cursor: pointer; }
          .page-node-type-page #our-history .btn-area .arrow.timeline-prev {
            margin-right: 15px;
            padding-left: 11px;
            background: url("../../images/build/frame-prev-arrow.png") no-repeat left center;
            background-size: 4px auto; }
          .page-node-type-page #our-history .btn-area .arrow.timeline-next {
            padding-right: 8px;
            background: url("../../images/build/frame-arrow.png") no-repeat right center;
            background-size: 4px auto; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-page #our-history .title-wrapper {
      padding: 0;
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-page #our-history .title-wrapper::after {
        clear: both;
        content: "";
        display: table; }
    .page-node-type-page #our-history .timeline {
      padding: 0 0 0 calc(25% - 120px); } }

.page-node-type-page #strategy {
  margin-top: 45px;
  padding: 50px 0 0;
  background: #F7F9FA; }
  .page-node-type-page #strategy .content h2 {
    margin-bottom: 10px;
    padding: 0 25px; }
  .page-node-type-page #strategy .content h3 {
    margin-bottom: 14px;
    padding: 0 25px; }
  .page-node-type-page #strategy .content .text-light {
    margin-bottom: 25px;
    padding: 0 25px; }
  .page-node-type-page #strategy .content .background {
    margin-top: 40px;
    position: relative;
    background-size: cover;
    background-position: center; }
    .page-node-type-page #strategy .content .background:before {
      content: '';
      display: block;
      padding-top: 50%; }
  @media screen and (min-width: 769px) {
    .page-node-type-page #strategy {
      overflow: hidden;
      padding: 60px 0 70px;
      position: relative;
      background: transparent; }
      .page-node-type-page #strategy .content {
        position: relative;
        padding: 70px 20px;
        max-width: 960px;
        margin-left: auto;
        margin-right: auto;
        background: #F7F9FA; }
        .page-node-type-page #strategy .content::after {
          clear: both;
          content: "";
          display: table; }
        .page-node-type-page #strategy .content:before {
          content: '';
          height: 100%;
          width: 9999px;
          position: absolute;
          top: 0;
          left: -9999px;
          background: #F7F9FA; }
        .page-node-type-page #strategy .content h2 {
          margin-bottom: 0;
          padding: 0; }
        .page-node-type-page #strategy .content h3 {
          margin-left: 8.58369%;
          margin-bottom: 14px;
          padding: 0;
          width: 50%;
          min-width: 450px; }
        .page-node-type-page #strategy .content .text-light {
          margin-left: 8.58369%;
          margin-bottom: 0;
          padding: 0;
          width: 50%;
          min-width: 450px; }
        .page-node-type-page #strategy .content .background {
          margin-top: 0;
          height: 100%;
          float: left;
          display: block;
          margin-right: 3.00429%;
          width: 18.45494%;
          position: absolute;
          top: 0;
          right: 0; }
          .page-node-type-page #strategy .content .background:last-child {
            margin-right: 0; }
          .page-node-type-page #strategy .content .background:before {
            content: none; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-page #strategy {
      padding: 60px 0 90px; }
      .page-node-type-page #strategy .content {
        padding: 94px 0 138px;
        max-width: 1140px;
        margin-left: auto;
        margin-right: auto; }
        .page-node-type-page #strategy .content::after {
          clear: both;
          content: "";
          display: table; } }

.page-node-type-page .content-with-links {
  padding: 50px 0 0; }
  .page-node-type-page .content-with-links .content {
    padding: 0 25px 35px; }
    .page-node-type-page .content-with-links .content h2 {
      margin-bottom: 10px; }
    .page-node-type-page .content-with-links .content h3 {
      margin-bottom: 25px; }
  .page-node-type-page .content-with-links .links {
    padding: 30px 25px;
    background: #F7F9FA;
    color: #404147; }
  .page-node-type-page .content-with-links li {
    cursor: pointer;
    margin-bottom: 22px;
    position: relative;
    padding: 21px 40px 21px 0;
    background: url("../../images/build/about-arrow.png") no-repeat right center;
    background-size: 9px auto; }
    .page-node-type-page .content-with-links li:before {
      content: '';
      height: 100%;
      width: 1px;
      background: #CCCFD9;
      position: absolute;
      top: 0;
      right: 26px;
      bottom: 0; }
    .page-node-type-page .content-with-links li:last-of-type {
      margin-bottom: 0; }
    .page-node-type-page .content-with-links li:hover span {
      font-weight: bolder; }
    .page-node-type-page .content-with-links li img, .page-node-type-page .content-with-links li span {
      display: inline-block;
      vertical-align: middle; }
    .page-node-type-page .content-with-links li img {
      margin-right: 9px; }
    .page-node-type-page .content-with-links li span {
      font-size: 0.9375rem;
      line-height: 1.67;
      letter-spacing: 2.14px;
      text-transform: uppercase;
      width: calc(100% - 50px);
      transition: all 111ms linear; }
  .page-node-type-page .content-with-links.black .links {
    background: #292A2E;
    color: #FFF; }
  .page-node-type-page .content-with-links.black li:before {
    background: #3C3D42; }
  @media screen and (min-width: 769px) {
    .page-node-type-page .content-with-links {
      padding: 40px 25px 85px;
      display: block;
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-page .content-with-links::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-page .content-with-links::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-page .content-with-links .content {
        float: left;
        display: block;
        margin-right: 3.00429%;
        width: 48.49785%;
        padding: 35px 0 0; }
        .page-node-type-page .content-with-links .content:last-child {
          margin-right: 0; }
        .page-node-type-page .content-with-links .content:nth-child(2n) {
          margin-right: 0; }
        .page-node-type-page .content-with-links .content:nth-child(2n+1) {
          clear: left; }
        .page-node-type-page .content-with-links .content h2 {
          margin-bottom: 8px; }
        .page-node-type-page .content-with-links .content h3 {
          margin-bottom: 40px; }
      .page-node-type-page .content-with-links .links {
        padding: 70px 36px;
        margin-left: 8.58369%;
        float: left;
        display: block;
        margin-right: 3.00429%;
        width: 39.91416%; }
        .page-node-type-page .content-with-links .links:last-child {
          margin-right: 0; }
        .page-node-type-page .content-with-links .links:nth-child(2n) {
          margin-right: 0; }
        .page-node-type-page .content-with-links .links:nth-child(2n+1) {
          clear: left; }
        .page-node-type-page .content-with-links .links li {
          margin-bottom: 47px;
          padding: 12px 40px 12px 0; }
          .page-node-type-page .content-with-links .links li:before {
            right: 35px; }
          .page-node-type-page .content-with-links .links li:last-of-type {
            margin-bottom: 0; }
          .page-node-type-page .content-with-links .links li img {
            margin-right: 21px; }
          .page-node-type-page .content-with-links .links li span {
            font-size: 1.125rem;
            line-height: 1.27;
            letter-spacing: 2.4px;
            width: calc(100% - 65px); } }
  @media screen and (min-width: 1200px) {
    .page-node-type-page .content-with-links {
      padding: 40px 0 85px;
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-page .content-with-links::after {
        clear: both;
        content: "";
        display: table; } }

.page-node-type-page .links-lightbox {
  opacity: 0;
  visibility: hidden;
  position: relative;
  position: fixed;
  top: -100vh;
  left: 0;
  transition: all 333ms linear; }
  .page-node-type-page .links-lightbox.active {
    top: 50px;
    opacity: 1;
    z-index: 10;
    visibility: visible; }
  .page-node-type-page .links-lightbox .frame {
    display: none;
    height: 100vh;
    background: #FFF; }
    .page-node-type-page .links-lightbox .frame[data-index="1"] .mobile-prev {
      display: none; }
    .page-node-type-page .links-lightbox .frame:last-of-type .mobile-next {
      display: none; }
    .page-node-type-page .links-lightbox .frame.active {
      display: block; }
    .page-node-type-page .links-lightbox .frame.haveImage .frame-body {
      max-height: calc(100vh - 190px); }
  .page-node-type-page .links-lightbox .background-mobile {
    height: 140px;
    width: 100%;
    background-size: cover; }
  .page-node-type-page .links-lightbox .background {
    display: none; }
  .page-node-type-page .links-lightbox .frame-body {
    padding: 30px 25px 40px;
    overflow: scroll;
    max-height: calc(100vh - 50px); }
  .page-node-type-page .links-lightbox .frame-title {
    position: relative;
    font-size: 1.25rem;
    color: #404147;
    letter-spacing: 2.86px;
    line-height: 1.25;
    text-transform: uppercase;
    margin-bottom: 25px;
    padding: 0 20px 23px 0; }
    .page-node-type-page .links-lightbox .frame-title:after {
      content: '';
      background: #616466;
      height: 1px;
      width: 40px;
      position: absolute;
      bottom: 0;
      left: 0; }
  .page-node-type-page .links-lightbox p {
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 300;
    font-size: 1rem;
    line-height: 1.56;
    letter-spacing: 0.5px;
    color: #292A2E;
    margin-bottom: 40px; }
  .page-node-type-page .links-lightbox .btn-area {
    margin: 30px 0; }
    .page-node-type-page .links-lightbox .btn-area .mobile-prev,
    .page-node-type-page .links-lightbox .btn-area .mobile-next {
      cursor: pointer;
      font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 0.75rem;
      font-weight: 500;
      letter-spacing: 2.7px;
      text-transform: uppercase;
      color: #1A1A1A;
      display: inline-block; }
      .page-node-type-page .links-lightbox .btn-area .mobile-prev.mobile-prev,
      .page-node-type-page .links-lightbox .btn-area .mobile-next.mobile-prev {
        margin-right: 20px;
        padding-left: 15px;
        background: url("../../images/build/frame-prev-arrow.png") no-repeat left center;
        background-size: 4px auto; }
      .page-node-type-page .links-lightbox .btn-area .mobile-prev.mobile-next,
      .page-node-type-page .links-lightbox .btn-area .mobile-next.mobile-next {
        padding-right: 15px;
        background: url("../../images/build/frame-arrow.png") no-repeat right center;
        background-size: 4px auto; }
  @media screen and (min-width: 769px) {
    .page-node-type-page .links-lightbox {
      height: 100vh;
      width: 100%;
      background: rgba(0, 0, 0, 0.7); }
      .page-node-type-page .links-lightbox .frame {
        width: 80%;
        height: auto;
        min-height: auto;
        max-height: 80vh;
        max-width: 860px;
        margin: 0 auto;
        position: absolute;
        top: 50%;
        right: 0;
        left: 0;
        transform: translateY(-50%); }
        .page-node-type-page .links-lightbox .frame.active {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
        .page-node-type-page .links-lightbox .frame.haveImage .frame-body {
          padding: 81px 50px 120px calc(25% + 50px); }
      .page-node-type-page .links-lightbox .background-mobile {
        display: none; }
      .page-node-type-page .links-lightbox .background {
        display: block;
        height: 100%;
        width: 25%;
        position: absolute;
        top: 0;
        left: 0; }
      .page-node-type-page .links-lightbox .frame-body {
        width: 100%;
        padding: 81px 50px 120px; }
      .page-node-type-page .links-lightbox .frame-title {
        font-size: 1.5625rem;
        letter-spacing: 3.57px;
        line-height: 1.52;
        margin-bottom: 25px;
        padding: 0 0 24px 0; }
      .page-node-type-page .links-lightbox p {
        line-height: 1.7; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-page .links-lightbox.haveImage .frame-body {
      padding: 81px 110px 120px calc(25% + 84px); } }

.page-node-type-department .container {
  overflow: hidden; }

.page-node-type-department .local_nav {
  padding: 30px 0 15px;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; }
  .page-node-type-department .local_nav li {
    position: relative;
    display: inline-block;
    padding-right: 17px;
    margin-right: 17px; }
    .page-node-type-department .local_nav li:before {
      content: '';
      height: 10px;
      width: 1px;
      background: #292A2E;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      margin: auto; }
    .page-node-type-department .local_nav li:last-of-type {
      padding-right: 0;
      margin-right: 0; }
    .page-node-type-department .local_nav li:hover a {
      font-weight: 600;
      color: #323232; }
  .page-node-type-department .local_nav a {
    font-size: 0.8125rem;
    text-transform: uppercase;
    line-height: 2.93;
    letter-spacing: 1.37px;
    color: #292A2E;
    font-weight: 300;
    transition: all 222ms linear; }
  @media screen and (min-width: 769px) {
    .page-node-type-department .local_nav {
      padding: 25px 0; }
      .page-node-type-department .local_nav li {
        padding-right: 0;
        margin-right: 24px; }
        .page-node-type-department .local_nav li:before {
          content: none; } }

.page-node-type-department #main {
  padding-bottom: 0; }

.page-node-type-department #content-header {
  padding: 0 25px; }
  @media screen and (min-width: 769px) {
    .page-node-type-department #content-header {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-department #content-header::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-department #content-header {
      padding: 0;
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-department #content-header::after {
        clear: both;
        content: "";
        display: table; } }

@media screen and (min-width: 769px) {
  .page-node-type-department #content-area {
    overflow: inherit;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .page-node-type-department #content-area::after {
      clear: both;
      content: "";
      display: table; } }

@media screen and (min-width: 1200px) {
  .page-node-type-department #content-area {
    max-width: 1140px;
    margin-left: auto;
    margin-right: auto; }
    .page-node-type-department #content-area::after {
      clear: both;
      content: "";
      display: table; } }

.page-node-type-department #content-area header {
  padding: 35px 25px 20px;
  text-align: center; }
  .page-node-type-department #content-area header .title {
    font-size: 1.5625rem;
    font-weight: 700;
    line-height: 1.2;
    letter-spacing: -0.14px;
    margin-bottom: 10px;
    color: #292A2E; }
  .page-node-type-department #content-area header p {
    font-size: 1rem;
    line-height: 1.56;
    color: #292A2E; }
  .page-node-type-department #content-area header .image {
    position: relative;
    padding: 25px 0 35px;
    border-bottom: 1px solid #EBECED; }
    .page-node-type-department #content-area header .image .background {
      z-index: 1;
      position: relative;
      width: 100%;
      max-width: 500px;
      background-size: cover;
      background-position: center;
      margin: 0 auto; }
      .page-node-type-department #content-area header .image .background:before {
        content: '';
        display: block;
        padding-top: 75%;
        height: 100%;
        width: 100%;
        background: rgba(255, 255, 255, 0.9); }
    .page-node-type-department #content-area header .image .front {
      position: absolute;
      top: 30px;
      left: 20px;
      width: calc(100% - 40px);
      display: block;
      background-size: cover;
      background-position: center; }
      .page-node-type-department #content-area header .image .front:before {
        content: '';
        display: block;
        padding-top: 75%;
        height: 100%;
        width: 100%;
        background: rgba(0, 0, 0, 0.81);
        z-index: -1; }
    .page-node-type-department #content-area header .image .feature {
      z-index: 10;
      max-width: 40%;
      margin: auto;
      position: absolute;
      top: 60%;
      right: 0;
      left: 0;
      transform: translateY(-60%); }
  @media screen and (min-width: 769px) {
    .page-node-type-department #content-area header {
      padding: 50px 25px 80px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      text-align: left; }
      .page-node-type-department #content-area header .title {
        font-size: 2.8125rem;
        line-height: 0.88;
        letter-spacing: -0.8px;
        margin-bottom: 28px;
        text-transform: capitalize; }
      .page-node-type-department #content-area header p {
        font-size: 1.125rem;
        line-height: 1.4;
        max-width: 350px; }
      .page-node-type-department #content-area header .header-content {
        position: relative;
        float: left;
        display: block;
        margin-right: 3.00429%;
        width: 39.91416%; }
        .page-node-type-department #content-area header .header-content:last-child {
          margin-right: 0; }
        .page-node-type-department #content-area header .header-content .core {
          position: absolute;
          top: 50%;
          left: 0;
          transform: translateY(-50%); }
      .page-node-type-department #content-area header .image {
        margin-left: 8.58369%;
        float: left;
        display: block;
        margin-right: 3.00429%;
        width: 48.49785%;
        padding: 0;
        border: 0; }
        .page-node-type-department #content-area header .image:last-child {
          margin-right: 0; }
        .page-node-type-department #content-area header .image .background:before {
          padding-top: 90%; }
        .page-node-type-department #content-area header .image .front {
          top: 62px;
          left: inherit;
          right: 72px;
          width: calc(100% - 50px); }
          .page-node-type-department #content-area header .image .front:before {
            padding-top: 90%; }
        .page-node-type-department #content-area header .image .feature {
          max-width: 250px;
          position: absolute;
          top: 50%;
          right: 0;
          left: 0;
          transform: translateY(-50%); } }
  @media screen and (min-width: 1200px) {
    .page-node-type-department #content-area header {
      padding: 50px 0 80px; }
      .page-node-type-department #content-area header .title {
        font-size: 3.625rem; }
      .page-node-type-department #content-area header p {
        font-size: 1.25rem; } }

.page-node-type-department #content-area section {
  position: relative; }
  .page-node-type-department #content-area section .subtitle, .page-node-type-department #content-area section .p-heading {
    font-weight: 400;
    color: #404147;
    line-height: 1.5;
    letter-spacing: 2.86px; }
  .page-node-type-department #content-area section .subtitle {
    font-size: 1.25rem;
    margin-bottom: 10px;
    text-transform: uppercase; }
  .page-node-type-department #content-area section .p-heading {
    font-size: 1.0625rem; }
  .page-node-type-department #content-area section .feature-paragraph .paragraph .p-heading {
    font-size: 1.25rem; }
  .page-node-type-department #content-area section .repeated-section .content .p-heading {
    font-size: 1rem; }
  .page-node-type-department #content-area section .p-subheading {
    font-size: 1rem;
    line-height: 1.56;
    color: #292A2E;
    margin-bottom: 19px;
    font-weight: 400; }
  .page-node-type-department #content-area section .normal-text {
    display: block;
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 300;
    letter-spacing: 0.44px;
    line-height: 1.78;
    color: #292A2E; }
  .page-node-type-department #content-area section .btn-more, .page-node-type-department #content-area section .page-node-type-contact-us .contact-us_content .office-link > a, .page-node-type-contact-us .contact-us_content .page-node-type-department #content-area section .office-link > a {
    color: #6C6D73;
    margin-top: 10px;
    display: inline-block;
    background: url("../../images/build/btn-more-dark.png") no-repeat right center;
    background-size: 5px auto; }
  @media screen and (min-width: 769px) {
    .page-node-type-department #content-area section .subtitle {
      font-size: 1.5625rem;
      line-height: 1.31;
      letter-spacing: 4.14px; }
    .page-node-type-department #content-area section .p-heading {
      font-size: 1.25rem;
      line-height: 1.29;
      letter-spacing: -0.1px; }
    .page-node-type-department #content-area section .feature-paragraph .paragraph .p-heading {
      font-size: 1.5rem; }
    .page-node-type-department #content-area section .p-subheading {
      font-size: 1rem;
      margin-bottom: 30px;
      letter-spacing: -0.09px; }
    .page-node-type-department #content-area section .normal-text {
      font-size: 0.9375rem; }
    .page-node-type-department #content-area section .btn-more, .page-node-type-department #content-area section .page-node-type-contact-us .contact-us_content .office-link > a, .page-node-type-contact-us .contact-us_content .page-node-type-department #content-area section .office-link > a {
      font-size: 0.6875rem; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-department #content-area section .subtitle {
      font-size: 1.8125rem; }
    .page-node-type-department #content-area section .p-heading {
      font-size: 1.5rem; }
    .page-node-type-department #content-area section .p-subheading {
      font-size: 1.25rem; } }

.page-node-type-department #content-area .row {
  padding: 15px 25px; }
  .page-node-type-department #content-area .row p {
    color: #292A2E;
    font-size: 0.9375rem;
    font-weight: 300;
    line-height: 1.78;
    letter-spacing: 0.44px;
    margin-bottom: 20px;
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; }
    .page-node-type-department #content-area .row p:first-of-type {
      font-size: 1.125rem;
      font-weight: 400;
      line-height: 1.55;
      letter-spacing: -0.08px;
      font-family: "Cormorant Garamond", "Helvetica Neue", Helvetica, Arial, sans-serif; }
    .page-node-type-department #content-area .row p:last-of-type {
      margin-bottom: 0; }
  @media screen and (min-width: 769px) {
    .page-node-type-department #content-area .row {
      padding: 40px 25px 20px; }
      .page-node-type-department #content-area .row .content {
        max-width: 650px; }
      .page-node-type-department #content-area .row p {
        font-size: 0.9375rem;
        line-height: 1.6;
        letter-spacing: 0.47px; }
        .page-node-type-department #content-area .row p:first-of-type {
          font-size: 1.5rem;
          line-height: 1.48;
          letter-spacing: -0.1px; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-department #content-area .row {
      padding: 40px 0 20px; } }

.page-node-type-department .section-feature {
  background: #F7F9FA;
  padding: 30px 0 0;
  margin-bottom: 21px; }
  .page-node-type-department .section-feature .subtitle {
    padding: 0 25px; }
  .page-node-type-department .section-feature .feature-paragraph .paragraph {
    margin-bottom: 45px;
    padding: 0 25px; }
    .page-node-type-department .section-feature .feature-paragraph .paragraph .p-heading {
      margin-bottom: 5px; }
    .page-node-type-department .section-feature .feature-paragraph .paragraph p {
      margin-bottom: 20px; }
      .page-node-type-department .section-feature .feature-paragraph .paragraph p:last-of-type {
        margin-bottom: 0; }
  .page-node-type-department .section-feature .background-wrapper .desktop {
    display: none; }
  .page-node-type-department .section-feature .background-wrapper .mobile {
    width: 100%;
    height: auto;
    display: block; }
  @media screen and (min-width: 769px) {
    .page-node-type-department .section-feature {
      position: relative;
      padding: 25px 0 30px 25px; }
      .page-node-type-department .section-feature:before {
        content: '';
        height: 100%;
        width: 9999px;
        background: #F7F9FA;
        position: absolute;
        top: 0;
        left: -9999px; }
      .page-node-type-department .section-feature .vertical {
        transform: translateX(-50%) translateY(-50%) rotate(-90deg);
        position: absolute;
        top: 50%; }
      .page-node-type-department .section-feature .subtitle {
        padding: 0; }
      .page-node-type-department .section-feature .p-heading {
        margin-bottom: 11px; }
      .page-node-type-department .section-feature .feature-paragraph {
        min-height: 450px;
        padding: 45px 0 45px 60px; }
        .page-node-type-department .section-feature .feature-paragraph .paragraph {
          margin-bottom: 0;
          margin-top: 50px;
          padding: 0;
          width: 70%; }
          .page-node-type-department .section-feature .feature-paragraph .paragraph .p-heading {
            margin-bottom: 25px; }
      .page-node-type-department .section-feature .background-wrapper {
        height: 100%;
        width: 20%;
        max-width: none;
        position: absolute;
        top: 0;
        right: 0; }
        .page-node-type-department .section-feature .background-wrapper .desktop {
          display: block;
          height: 100%;
          width: 100%;
          background-size: cover;
          background-position: center;
          background-repeat: no-repeat; }
        .page-node-type-department .section-feature .background-wrapper .mobile {
          display: none; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-department .section-feature {
      padding: 50px 0; }
      .page-node-type-department .section-feature .feature-paragraph {
        padding: 75px 0 90px 60px; }
        .page-node-type-department .section-feature .feature-paragraph .paragraph:first-child:nth-last-child(1),
        .page-node-type-department .section-feature .feature-paragraph .paragraph:first-child:nth-last-child(1) ~ .paragraph {
          width: 75%;
          max-width: 570px; }
        .page-node-type-department .section-feature .feature-paragraph .paragraph:first-child:nth-last-child(3),
        .page-node-type-department .section-feature .feature-paragraph .paragraph:first-child:nth-last-child(3) ~ .paragraph {
          width: 36%;
          max-width: 420px;
          margin-right: 5%;
          vertical-align: top;
          display: inline-block; }
          .page-node-type-department .section-feature .feature-paragraph .paragraph:first-child:nth-last-child(3):last-of-type,
          .page-node-type-department .section-feature .feature-paragraph .paragraph:first-child:nth-last-child(3) ~ .paragraph:last-of-type {
            margin-right: 0; } }

.page-node-type-department .repeated-section {
  position: relative;
  padding: 21.5px 25px; }
  .page-node-type-department .repeated-section .content .p-heading {
    margin-bottom: 15px;
    line-height: 1.56; }
  .page-node-type-department .repeated-section .background {
    z-index: -1;
    height: 100%;
    width: 100%;
    opacity: 0.8;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0;
    left: 0; }
  @media screen and (min-width: 769px) {
    .page-node-type-department .repeated-section {
      padding: 80px 25px; }
      .page-node-type-department .repeated-section .content {
        max-width: 570px; }
        .page-node-type-department .repeated-section .content .p-heading {
          margin-bottom: 24px; }
      .page-node-type-department .repeated-section .background {
        top: -60px;
        left: 250px; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-department .repeated-section {
      padding: 119px 0; } }

.page-node-type-http-error #main {
  padding: 0;
  -ms-flex: none;
      flex: none; }

.page-node-type-http-error .http-error {
  text-align: center;
  position: relative;
  z-index: 0;
  background-size: cover;
  background-position: center;
  padding: 65px 30px 270px;
  color: #292A2E; }
  .page-node-type-http-error .http-error:before {
    content: '';
    height: 100%;
    width: 100%;
    background: rgba(255, 255, 255, 0.8);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1; }
  .page-node-type-http-error .http-error h1 {
    font-size: 1.75rem;
    line-height: 1.07;
    letter-spacing: -0.15px;
    font-weight: 700;
    margin-bottom: 10px; }
  .page-node-type-http-error .http-error .text {
    max-width: 280px;
    font-size: 1.25rem;
    margin: 0 auto 35px; }
  .page-node-type-http-error .http-error a {
    color: #292A2E; }
  .page-node-type-http-error .http-error img {
    width: 100%;
    max-width: 400px;
    position: absolute;
    right: 0;
    bottom: 0; }
  @media screen and (min-width: 577px) {
    .page-node-type-http-error .http-error {
      text-align: left;
      padding: 65px 45px 270px; }
      .page-node-type-http-error .http-error h1 {
        font-size: 2.1875rem;
        line-height: 1.2;
        margin-bottom: 15px; }
      .page-node-type-http-error .http-error .text {
        margin-left: 0; } }
  @media screen and (min-width: 769px) {
    .page-node-type-http-error .http-error {
      padding: 80px 20px 270px; }
      .page-node-type-http-error .http-error .content {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .page-node-type-http-error .http-error .content::after {
          clear: both;
          content: "";
          display: table; }
      .page-node-type-http-error .http-error h1 {
        font-size: 3.4375rem;
        line-height: 1.79;
        margin-bottom: 27px; }
      .page-node-type-http-error .http-error .text {
        margin-bottom: 58px; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-http-error .http-error {
      padding: 195px 0 285px; }
      .page-node-type-http-error .http-error .content {
        max-width: 1140px;
        margin-left: auto;
        margin-right: auto; }
        .page-node-type-http-error .http-error .content::after {
          clear: both;
          content: "";
          display: table; }
      .page-node-type-http-error .http-error h1 {
        font-size: 4.25rem;
        letter-spacing: -0.22px; } }

.page-node-type-contact-us #content-header {
  text-align: center;
  padding: 35px 25px 60px; }
  @media screen and (min-width: 769px) {
    .page-node-type-contact-us #content-header {
      padding: 45px 25px 60px;
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-contact-us #content-header::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-contact-us #content-header {
      padding: 85px 25px 70px;
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-contact-us #content-header::after {
        clear: both;
        content: "";
        display: table; } }

.page-node-type-contact-us #content-area {
  background: #FFF;
  box-shadow: 0 0 40px 0 rgba(33, 41, 52, 0.06); }
  @media screen and (min-width: 769px) {
    .page-node-type-contact-us #content-area {
      padding: 0 25px;
      box-shadow: none; } }

.page-node-type-contact-us .contact-us_content {
  padding: 30.5px 25px 32px;
  margin-bottom: 20px; }
  .page-node-type-contact-us .contact-us_content .feature-image img {
    width: 100%;
    display: block; }
  .page-node-type-contact-us .contact-us_content .information {
    margin-top: 29.5px;
    border-top: 1px solid #EBECED;
    border-bottom: 1px solid #EBECED;
    padding: 30px 0; }
  .page-node-type-contact-us .contact-us_content h3 {
    font-size: 1.0625rem;
    line-height: 1.5;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 2.43px;
    color: #404147;
    margin-bottom: 23px; }
    .page-node-type-contact-us .contact-us_content h3:not(:first-of-type) {
      margin-top: 30px;
      padding-top: 33px;
      border-top: 1px solid #EBECED; }
  .page-node-type-contact-us .contact-us_content .info {
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: 300;
    letter-spacing: 0.44px;
    line-height: 1.57;
    color: #404147;
    margin-bottom: 8px;
    padding-left: 30px; }
    .page-node-type-contact-us .contact-us_content .info.email {
      background: url("../../images/build/icon-email.png") no-repeat left 4px;
      background-size: 12px auto; }
    .page-node-type-contact-us .contact-us_content .info.phone {
      background: url("../../images/build/icon-tel.png") no-repeat left 4px;
      background-size: 11px auto; }
    .page-node-type-contact-us .contact-us_content .info.whatsapp {
      background: url("../../images/build/icon-whatsapp.png") no-repeat left 4px;
      background-size: 12px auto; }
    .page-node-type-contact-us .contact-us_content .info.address {
      background: url("../../images/build/icon-address.png") no-repeat 1px 5px;
      background-size: 8px auto; }
  .page-node-type-contact-us .contact-us_content .text {
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.56;
    margin-bottom: 23px;
    color: #6C6D73; }
  @media screen and (min-width: 769px) {
    .page-node-type-contact-us .contact-us_content {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto;
      padding: 0;
      margin-bottom: 0;
      position: relative; }
      .page-node-type-contact-us .contact-us_content::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-contact-us .contact-us_content .feature-image {
        float: left;
        display: block;
        margin-right: 3.00429%;
        width: 57.08155%; }
        .page-node-type-contact-us .contact-us_content .feature-image:last-child {
          margin-right: 0; }
      .page-node-type-contact-us .contact-us_content .information {
        position: absolute;
        top: 0;
        right: 3.5%;
        float: left;
        display: block;
        margin-right: 3.00429%;
        width: 35.62232%;
        padding: 25px;
        margin-top: 0;
        background: #FFF;
        box-shadow: 0 0 40px 0 rgba(33, 41, 52, 0.06);
        border: 0;
        z-index: 10; }
        .page-node-type-contact-us .contact-us_content .information:last-child {
          margin-right: 0; }
      .page-node-type-contact-us .contact-us_content h3 {
        font-size: 1.125rem;
        line-height: 1.56;
        margin-bottom: 20px; }
        .page-node-type-contact-us .contact-us_content h3:not(:first-of-type) {
          margin: 40px 0 13px;
          padding-top: 0;
          border-top: 0; }
      .page-node-type-contact-us .contact-us_content .info {
        margin-bottom: 14px; }
      .page-node-type-contact-us .contact-us_content .text {
        margin-bottom: 29px; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-contact-us .contact-us_content {
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-contact-us .contact-us_content::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-contact-us .contact-us_content .information {
        padding: 65px 65px 45px; } }

.page-node-type-contact-us .form {
  z-index: 5;
  position: relative;
  padding: 38px 25px 45px;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  background-image: linear-gradient(-180deg, rgba(247, 249, 250, 0.98) 0%, #F7F9FA 53%, #F7F9FA 100%); }
  .page-node-type-contact-us .form .background {
    display: none;
    height: 100%;
    width: 50%;
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0.07;
    background-size: cover;
    background-position: center;
    z-index: -1; }
  .page-node-type-contact-us .form h2 {
    font-size: 1.0625rem;
    line-height: 1.47;
    letter-spacing: 2.43px;
    color: #404147;
    font-family: "Cormorant Garamond", "Helvetica Neue", Helvetica, Arial, sans-serif;
    margin-bottom: 29px; }
  .page-node-type-contact-us .form .form-wrapper {
    margin-bottom: 21px; }
  .page-node-type-contact-us .form .description {
    font-size: 0.875rem;
    font-weight: 300;
    color: #6C6D73;
    letter-spacing: 0.44px;
    line-height: 1.29;
    margin-bottom: 10px; }
  .page-node-type-contact-us .form #edit-actions {
    margin: 30px 0 0; }
  .page-node-type-contact-us .form #edit-field-title-wrapper {
    width: 85px; }
  .page-node-type-contact-us .form #edit-submit {
    padding: 8.5px 30px 8.5px 21px;
    border-radius: 0;
    border-right: none;
    border-left: none;
    background-position: calc(100% - 9px) center; }
  .page-node-type-contact-us .form #edit-field-select-subject-wrapper label {
    margin-bottom: 5px; }
  @media screen and (min-width: 769px) {
    .page-node-type-contact-us .form {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto;
      padding: 55px 75px 45px;
      margin-bottom: 110px; }
      .page-node-type-contact-us .form::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-contact-us .form .background {
        display: block; }
      .page-node-type-contact-us .form h2 {
        width: 630px;
        text-align: center;
        font-size: 1.8125rem;
        line-height: 1.31;
        letter-spacing: 4.14px;
        margin: 0 0 48px 0; }
      .page-node-type-contact-us .form form {
        width: 630px; }
      .page-node-type-contact-us .form .form-wrapper {
        margin-bottom: 41px; }
      .page-node-type-contact-us .form #edit-actions {
        text-align: center; }
      .page-node-type-contact-us .form #edit-field-title-wrapper,
      .page-node-type-contact-us .form #edit-field-first-name-wrapper,
      .page-node-type-contact-us .form #edit-field-last-name-wrapper {
        display: inline-block;
        vertical-align: bottom;
        margin-right: 10px; }
        .page-node-type-contact-us .form #edit-field-title-wrapper#edit-field-title-wrapper,
        .page-node-type-contact-us .form #edit-field-first-name-wrapper#edit-field-title-wrapper,
        .page-node-type-contact-us .form #edit-field-last-name-wrapper#edit-field-title-wrapper {
          width: 88px; }
        .page-node-type-contact-us .form #edit-field-title-wrapper#edit-field-first-name-wrapper, .page-node-type-contact-us .form #edit-field-title-wrapper#edit-field-last-name-wrapper,
        .page-node-type-contact-us .form #edit-field-first-name-wrapper#edit-field-first-name-wrapper,
        .page-node-type-contact-us .form #edit-field-first-name-wrapper#edit-field-last-name-wrapper,
        .page-node-type-contact-us .form #edit-field-last-name-wrapper#edit-field-first-name-wrapper,
        .page-node-type-contact-us .form #edit-field-last-name-wrapper#edit-field-last-name-wrapper {
          width: calc((100% - 20px - 95px) / 2); }
        .page-node-type-contact-us .form #edit-field-title-wrapper#edit-field-last-name-wrapper,
        .page-node-type-contact-us .form #edit-field-first-name-wrapper#edit-field-last-name-wrapper,
        .page-node-type-contact-us .form #edit-field-last-name-wrapper#edit-field-last-name-wrapper {
          margin-right: 0; }
      .page-node-type-contact-us .form #edit-field-select-subject-wrapper select {
        width: 100%; }
      .page-node-type-contact-us .form #edit-message-wrapper textarea {
        height: 105px;
        width: 100%; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-contact-us .form {
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto;
      padding: 75px 105px 55px; }
      .page-node-type-contact-us .form::after {
        clear: both;
        content: "";
        display: table; } }

.page-node-type-article #content-header {
  padding: 0 25px; }
  @media screen and (min-width: 769px) {
    .page-node-type-article #content-header {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-article #content-header::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-article #content-header {
      padding: 0;
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-article #content-header::after {
        clear: both;
        content: "";
        display: table; } }

.page-node-type-article .article-header {
  padding: 50px 15px 15px; }
  .page-node-type-article .article-header .image {
    display: block;
    position: relative;
    padding: 0 25px;
    margin-bottom: 40px; }
    .page-node-type-article .article-header .image .back {
      opacity: 0.05;
      height: 55%;
      width: 100%;
      max-width: 390px;
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      background-size: cover;
      background-position: center;
      z-index: -1;
      margin: auto; }
    .page-node-type-article .article-header .image .front {
      width: 100%;
      max-width: 350px;
      margin: 0 auto;
      box-shadow: 0 0 20px 0 rgba(33, 41, 52, 0.18); }
      .page-node-type-article .article-header .image .front img {
        width: 100%;
        margin: auto;
        display: block; }
  .page-node-type-article .article-header .info {
    padding: 0 10px; }
  .page-node-type-article .article-header .category {
    font-size: 1.0625rem;
    line-height: 1.47;
    letter-spacing: 2.43px;
    color: #404147;
    text-transform: uppercase;
    margin-bottom: 25px; }
  .page-node-type-article .article-header h1 {
    font-size: 1.5625rem;
    line-height: 1.2;
    letter-spacing: -0.25px;
    color: #292A2E;
    text-transform: none;
    margin-bottom: 0;
    font-weight: 600; }
  .page-node-type-article .article-header .created {
    font-weight: 300;
    font-size: 0.8125rem;
    letter-spacing: 1.37px;
    line-height: 2.93;
    color: #292A2E;
    text-transform: uppercase;
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; }
  @media screen and (min-width: 769px) {
    .page-node-type-article .article-header {
      display: block;
      max-width: 960px;
      margin-left: auto;
      margin-right: auto;
      padding: 32px 25px 60px;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .page-node-type-article .article-header::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-article .article-header::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-article .article-header.no-image {
        position: relative;
        width: 100%;
        margin-top: 35px;
        padding: 50px 35px;
        background: #F7F9FA; }
        .page-node-type-article .article-header.no-image:before {
          content: '';
          height: 100%;
          width: 9999px;
          background: #F7F9FA;
          position: absolute;
          top: 0;
          right: 0; }
        .page-node-type-article .article-header.no-image .info {
          padding: 0;
          float: left;
          display: block;
          margin-right: 3.00429%;
          width: 82.83262%; }
          .page-node-type-article .article-header.no-image .info:last-child {
            margin-right: 0; }
      .page-node-type-article .article-header .image {
        -ms-flex-order: 2;
            order: 2;
        float: left;
        display: block;
        margin-right: 3.00429%;
        width: 39.91416%;
        padding: 0;
        margin: 0; }
        .page-node-type-article .article-header .image:last-child {
          margin-right: 0; }
        .page-node-type-article .article-header .image .back {
          opacity: 0.05;
          max-width: none;
          height: 390px;
          width: 700px;
          position: absolute;
          top: 120px;
          right: -60px;
          bottom: inherit;
          left: inherit; }
        .page-node-type-article .article-header .image .front {
          width: 100%;
          max-width: none;
          margin-top: 20px; }
      .page-node-type-article .article-header .info {
        -ms-flex-order: 1;
            order: 1;
        position: relative;
        padding-top: 50px;
        padding-right: 40px;
        float: left;
        display: block;
        margin-right: 3.00429%;
        width: 55.36481%; }
        .page-node-type-article .article-header .info:last-child {
          margin-right: 0; }
      .page-node-type-article .article-header .category {
        color: #6C6D73;
        font-size: 1.125rem;
        line-height: 1.55;
        margin-bottom: 40px; }
      .page-node-type-article .article-header h1 {
        font-size: 1.875rem;
        line-height: 1;
        letter-spacing: -0.48px;
        margin-bottom: 10px; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-article .article-header {
      padding: 32px 0 199px;
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto; }
      .page-node-type-article .article-header::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-article .article-header.no-image {
        margin-top: 90px;
        margin-bottom: 90px;
        padding: 50px 0 70px; }
        .page-node-type-article .article-header.no-image .info {
          float: left;
          display: block;
          margin-right: 3.00429%;
          width: 57.08155%;
          margin-left: 17.16738%; }
          .page-node-type-article .article-header.no-image .info:last-child {
            margin-right: 0; }
      .page-node-type-article .article-header .info {
        padding-left: 35px;
        padding-top: 100px; }
      .page-node-type-article .article-header h1 {
        font-size: 3rem; } }

.page-node-type-article .article-content {
  padding: 20px 25px 35px; }
  .page-node-type-article .article-content .teaser {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.56;
    letter-spacing: -0.08px;
    color: #292A2E;
    margin-bottom: 19px; }
  .page-node-type-article .article-content .__content > div {
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px solid #EBECED; }
    .page-node-type-article .article-content .__content > div:last-of-type {
      margin-bottom: 0;
      padding-bottom: 0;
      border-bottom: 0; }
  .page-node-type-article .article-content .paragraph--type--normal-content .__content,
  .page-node-type-article .article-content .paragraph--type--normal-content .__blog-content {
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 300;
    font-size: 0.875rem;
    letter-spacing: 0.44px;
    line-height: 1.79;
    color: #292A2E; }
    .page-node-type-article .article-content .paragraph--type--normal-content .__content p,
    .page-node-type-article .article-content .paragraph--type--normal-content .__blog-content p {
      margin: 15px 0; }
  .page-node-type-article .article-content .paragraph--type--gallery {
    padding: 0 9.5px 0 7px;
    text-align: center; }
    .page-node-type-article .article-content .paragraph--type--gallery h2 {
      color: #6C6D73;
      margin-bottom: 15px;
      font-size: 1.125rem;
      line-height: 1.56;
      letter-spacing: 2.4px;
      text-transform: uppercase; }
    .page-node-type-article .article-content .paragraph--type--gallery .slider-show {
      margin-bottom: 15px;
      padding: 0 5.5px; }
      .page-node-type-article .article-content .paragraph--type--gallery .slider-show .show-item {
        background-size: cover;
        background-position: center; }
      .page-node-type-article .article-content .paragraph--type--gallery .slider-show img {
        width: 100%;
        opacity: 0; }
      .page-node-type-article .article-content .paragraph--type--gallery .slider-show .slick-arrow {
        z-index: 1;
        height: 45px;
        width: 55px; }
        .page-node-type-article .article-content .paragraph--type--gallery .slider-show .slick-arrow:before {
          content: none; }
        .page-node-type-article .article-content .paragraph--type--gallery .slider-show .slick-arrow.slick-next {
          right: -18.5px;
          background: url("../../images/build/slide-arrow-next.png") no-repeat center #202124;
          background-size: 5px auto; }
        .page-node-type-article .article-content .paragraph--type--gallery .slider-show .slick-arrow.slick-prev {
          left: -18.5px;
          background: url("../../images/build/slide-arrow-prev.png") no-repeat center #202124;
          background-size: 5px auto; }
    .page-node-type-article .article-content .paragraph--type--gallery .slider-nav .slick-track {
      margin-left: 0; }
    .page-node-type-article .article-content .paragraph--type--gallery .slider-nav .nav-item_wrapper {
      position: relative;
      padding: 0 5.5px;
      opacity: 0.6;
      transition: all 333ms linear; }
      .page-node-type-article .article-content .paragraph--type--gallery .slider-nav .nav-item_wrapper:hover, .page-node-type-article .article-content .paragraph--type--gallery .slider-nav .nav-item_wrapper.slick-current {
        opacity: 1; }
    .page-node-type-article .article-content .paragraph--type--gallery .slider-nav .nav-item {
      height: 100%;
      width: 100%;
      background-size: cover;
      background-position: center; }
      .page-node-type-article .article-content .paragraph--type--gallery .slider-nav .nav-item:before {
        content: '';
        display: block;
        padding-top: 100%; }
    .page-node-type-article .article-content .paragraph--type--gallery .desktop_slider-nav {
      display: none; }
  .page-node-type-article .article-content .author {
    padding: 6px 0 0;
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; }
    .page-node-type-article .article-content .author .title, .page-node-type-article .article-content .author .name {
      display: inline-block;
      vertical-align: middle; }
    .page-node-type-article .article-content .author .title {
      font-size: 0.6875rem;
      line-height: 2.1;
      letter-spacing: 0.92px;
      color: #6C6D73; }
    .page-node-type-article .article-content .author .name {
      margin-left: 7px;
      font-size: 1rem;
      font-weight: 300;
      color: #292A2E;
      line-height: 1.75;
      letter-spacing: 0.5px;
      text-transform: capitalize; }
  @media screen and (min-width: 769px) {
    .page-node-type-article .article-content {
      padding: 20px 0 60px;
      max-width: 750px;
      margin: 0 auto; }
      .page-node-type-article .article-content .teaser {
        font-size: 1.5rem;
        margin-bottom: 38px; }
      .page-node-type-article .article-content .__content > div {
        margin-bottom: 30px;
        padding-bottom: 0;
        border-bottom: 0; }
        .page-node-type-article .article-content .__content > div:last-of-type {
          margin-bottom: 0; }
      .page-node-type-article .article-content .paragraph--type--normal-content .__content,
      .page-node-type-article .article-content .paragraph--type--normal-content .__blog-content {
        font-size: 1rem;
        letter-spacing: 0.5px;
        line-height: 1.77; }
        .page-node-type-article .article-content .paragraph--type--normal-content .__content p,
        .page-node-type-article .article-content .paragraph--type--normal-content .__blog-content p {
          margin: 25px 0; }
      .page-node-type-article .article-content .paragraph--type--gallery {
        padding: 60px 0; }
        .page-node-type-article .article-content .paragraph--type--gallery h2 {
          margin-bottom: 22px;
          font-size: 1.125rem; }
        .page-node-type-article .article-content .paragraph--type--gallery .slider-show {
          padding: 0 25px; }
          .page-node-type-article .article-content .paragraph--type--gallery .slider-show .show-item {
            max-height: 480px; }
          .page-node-type-article .article-content .paragraph--type--gallery .slider-show img {
            opacity: 0; }
          .page-node-type-article .article-content .paragraph--type--gallery .slider-show .slick-arrow {
            z-index: 1;
            height: 45px;
            width: 55px; }
            .page-node-type-article .article-content .paragraph--type--gallery .slider-show .slick-arrow:before {
              content: none; }
            .page-node-type-article .article-content .paragraph--type--gallery .slider-show .slick-arrow.slick-next {
              right: -1.5px; }
            .page-node-type-article .article-content .paragraph--type--gallery .slider-show .slick-arrow.slick-prev {
              left: -1.5px; }
        .page-node-type-article .article-content .paragraph--type--gallery .slider-nav {
          display: none; }
        .page-node-type-article .article-content .paragraph--type--gallery .desktop_slider-nav {
          display: block;
          padding-left: 25.5px;
          position: relative; }
          .page-node-type-article .article-content .paragraph--type--gallery .desktop_slider-nav::after {
            clear: both;
            content: "";
            display: table; }
          .page-node-type-article .article-content .paragraph--type--gallery .desktop_slider-nav .desktop_slider-nav_wrapper {
            display: block;
            max-width: 680px;
            overflow: hidden;
            transition: all 444ms linear; }
            .page-node-type-article .article-content .paragraph--type--gallery .desktop_slider-nav .desktop_slider-nav_wrapper::after {
              clear: both;
              content: "";
              display: table; }
          .page-node-type-article .article-content .paragraph--type--gallery .desktop_slider-nav .desktop_slider-nav_container {
            transition: all 444ms linear; }
          .page-node-type-article .article-content .paragraph--type--gallery .desktop_slider-nav .desktop_nav-item_wrapper {
            cursor: pointer;
            width: 74px;
            margin-right: 11px;
            margin-bottom: 11px;
            padding: 0;
            float: left;
            opacity: 0.6;
            transition: all 444ms linear; }
            .page-node-type-article .article-content .paragraph--type--gallery .desktop_slider-nav .desktop_nav-item_wrapper .desktop_nav-item {
              height: 100%;
              width: 100%;
              background-size: cover;
              background-position: center; }
              .page-node-type-article .article-content .paragraph--type--gallery .desktop_slider-nav .desktop_nav-item_wrapper .desktop_nav-item:before {
                content: '';
                display: block;
                padding-top: 100%; }
            .page-node-type-article .article-content .paragraph--type--gallery .desktop_slider-nav .desktop_nav-item_wrapper.current, .page-node-type-article .article-content .paragraph--type--gallery .desktop_slider-nav .desktop_nav-item_wrapper:hover {
              opacity: 1; }
          .page-node-type-article .article-content .paragraph--type--gallery .desktop_slider-nav .view-all {
            display: none;
            font-size: 0.625rem;
            text-transform: uppercase;
            font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
            color: #6C6D73;
            letter-spacing: 1.05px;
            padding-right: 12px;
            position: absolute;
            top: 23px;
            left: 684px;
            transform: rotate(90deg);
            background: url("../../images/build/slide-nav-arrow.png") no-repeat center right;
            background-size: 5px auto; }
      .page-node-type-article .article-content .author {
        padding: 40px 0 0; } }

.page-node-type-article .article-footer {
  text-align: center;
  padding: 35px 25px 60px; }
  .page-node-type-article .article-footer h2 {
    margin-bottom: 50px;
    color: #404147;
    font-size: 0.9375rem;
    line-height: 1.67;
    letter-spacing: 2.14px; }
  .page-node-type-article .article-footer .next-article {
    position: relative;
    padding: 0 21px 50px;
    background: #F7F9FA; }
  .page-node-type-article .article-footer .image {
    max-width: 350px;
    padding: 0 14px;
    margin: 0 auto 26px; }
    .page-node-type-article .article-footer .image img {
      width: 100%;
      display: inline-block;
      margin: -38px auto 0; }
  .page-node-type-article .article-footer .title {
    font-size: 1.375rem;
    color: #292A2E;
    font-weight: 600;
    line-height: 1.13;
    letter-spacing: 0.22px; }
  .page-node-type-article .article-footer .created {
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #292A2E;
    font-size: 0.8125rem;
    line-height: 2.93;
    text-transform: uppercase;
    font-weight: 300; }
  .page-node-type-article .article-footer .btn-fake {
    height: 44px;
    width: 56px;
    position: absolute;
    right: 0;
    bottom: -21.5px;
    left: 0;
    margin: auto;
    background: url("../../images/build/fake-arrow.png") no-repeat center #212934;
    background-size: 5px auto; }
  @media screen and (min-width: 769px) {
    .page-node-type-article .article-footer {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto;
      padding: 60px 25px 150px;
      text-align: left; }
      .page-node-type-article .article-footer::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-article .article-footer .container {
        position: relative;
        margin: 0 auto;
        max-width: 750px; }
      .page-node-type-article .article-footer h2 {
        z-index: 1;
        margin: 0;
        font-size: 1.125rem;
        line-height: 1.55;
        letter-spacing: 2.4px;
        transform: translateX(-50%) rotate(-90deg);
        position: absolute;
        top: 30px;
        left: 12px; }
      .page-node-type-article .article-footer .next-article {
        min-height: 200px;
        margin-left: 36.5px;
        padding: 30px 60px 20px 27.5px; }
      .page-node-type-article .article-footer .image {
        width: 190px;
        padding: 0;
        margin: 0 37px 0 0;
        display: inline-block;
        vertical-align: middle; }
        .page-node-type-article .article-footer .image img {
          display: block;
          margin: -50px auto 0; }
      .page-node-type-article .article-footer .content {
        max-width: 380px;
        display: inline-block;
        vertical-align: middle; }
      .page-node-type-article .article-footer .title {
        font-size: 1.75rem;
        line-height: 1.07;
        letter-spacing: -0.28px;
        margin-bottom: 11px; }
      .page-node-type-article .article-footer .btn-fake {
        position: absolute;
        top: 0;
        right: -21.5px;
        bottom: 0;
        left: inherit;
        margin: auto; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-article .article-footer {
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto;
      padding: 60px 0 150px; }
      .page-node-type-article .article-footer::after {
        clear: both;
        content: "";
        display: table; } }

@media screen and (min-width: 769px) {
  .page-node-type-article #main {
    padding: 40px 0 0; } }

.page-node-type-experience #main {
  padding: 0; }

.page-node-type-experience .experience .core {
  z-index: 1;
  overflow: hidden;
  position: relative;
  padding: 150px 0;
  min-height: 1000px; }
  .page-node-type-experience .experience .core:before {
    content: '';
    height: 100%;
    width: 100%;
    background: rgba(30, 30, 31, 0.93);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: -1; }

.page-node-type-experience .experience .background {
  z-index: -2;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%; }
  .page-node-type-experience .experience .background div {
    opacity: 0;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center;
    transition: all 444ms linear; }
    .page-node-type-experience .experience .background div.current {
      opacity: 1; }

.page-node-type-experience .experience .experience-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto; }
  .page-node-type-experience .experience .experience-wrapper::after {
    clear: both;
    content: "";
    display: table; }

.page-node-type-experience .experience .experience-info {
  float: left;
  display: block;
  margin-right: 3.00429%;
  width: 39.91416%;
  padding-right: 25px;
  transition: all 444ms linear; }
  .page-node-type-experience .experience .experience-info:last-child {
    margin-right: 0; }
  .page-node-type-experience .experience .experience-info .info-content {
    max-width: 400px;
    color: #FFF; }
    .page-node-type-experience .experience .experience-info .info-content h1 {
      font-size: 3.4375rem;
      margin-bottom: 26px;
      line-height: 0.8;
      letter-spacing: -0.3px;
      text-transform: uppercase;
      font-weight: 700; }
    .page-node-type-experience .experience .experience-info .info-content h2 {
      font-size: 1.8125rem;
      margin-bottom: 32px;
      line-height: 1.13;
      letter-spacing: 4.14px;
      text-transform: uppercase; }
    .page-node-type-experience .experience .experience-info .info-content .body-text {
      font-size: 1.25rem;
      line-height: 1.4; }

.page-node-type-experience .experience .experience-action {
  position: relative;
  border-left: 1px solid #616466;
  padding: 35px 0 35px 70px;
  float: left;
  display: block;
  margin-right: 3.00429%;
  width: 56.22318%;
  float: right;
  transition: all 666ms linear; }
  .page-node-type-experience .experience .experience-action:last-child {
    margin-right: 0; }
  .page-node-type-experience .experience .experience-action section {
    z-index: 1;
    position: relative;
    cursor: pointer;
    color: #FFF;
    padding: 89px 48px;
    transition: background 444ms linear;
    border-bottom: 1px solid #616466; }
    .page-node-type-experience .experience .experience-action section:before {
      z-index: -1;
      content: '';
      background: rgba(29, 29, 29, 0.85);
      opacity: 0;
      height: 1px;
      width: 55vw;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      transition: height 777ms linear; }
    .page-node-type-experience .experience .experience-action section:first-of-type {
      border-top: 1px solid #616466; }
    .page-node-type-experience .experience .experience-action section:hover {
      background: rgba(29, 29, 29, 0.4); }
    .page-node-type-experience .experience .experience-action section.toggled {
      border: 0;
      background: transparent;
      position: absolute;
      top: 0;
      left: 70px; }
      .page-node-type-experience .experience .experience-action section.toggled:before {
        opacity: 1;
        height: 2000px; }
      .page-node-type-experience .experience .experience-action section.toggled .action-title,
      .page-node-type-experience .experience .experience-action section.toggled .action-teaser {
        display: none; }
  .page-node-type-experience .experience .experience-action .action-title {
    width: 235px;
    display: inline-block;
    vertical-align: middle;
    font-size: 2.8125rem;
    font-weight: 600;
    line-height: 0.9;
    letter-spacing: -0.62px;
    margin-right: 30px;
    transition: height 444ms linear; }
  .page-node-type-experience .experience .experience-action .action-teaser {
    width: calc(100% - 235px - 45px);
    display: inline-block;
    vertical-align: middle;
    font-size: 1.25rem;
    line-height: 1.4;
    transition: height 444ms linear; }
  .page-node-type-experience .experience .experience-action.toggled {
    border-left: 0; }

.page-node-type-experience .experience .action-content {
  display: none;
  color: #FFF;
  max-height: 55vh;
  overflow-y: auto;
  overflow-x: hidden; }
  .page-node-type-experience .experience .action-content .title {
    font-size: 2.8125rem;
    font-weight: 600;
    line-height: 0.91;
    letter-spacing: -0.62px;
    margin-bottom: 25px; }
  .page-node-type-experience .experience .action-content .teaser {
    font-size: 1.25rem;
    line-height: 1.4;
    margin-bottom: 35px; }
  .page-node-type-experience .experience .action-content .body-text {
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    line-height: 1.75;
    letter-spacing: 0.5px;
    margin-bottom: 63px;
    font-weight: 300;
    font-size: 1rem; }
  .page-node-type-experience .experience .action-content a {
    color: #F7F9FA;
    border-color: #F7F9FA;
    background: url("../../images/build/frame-arrow-light.png") no-repeat calc(100% - 7px) center;
    background-size: 7px auto;
    padding-right: 21px; }

.page-node-type-experience .experience .action-image {
  display: none; }
  .page-node-type-experience .experience .action-image:before {
    z-index: -1;
    content: '';
    background: rgba(0, 0, 0, 0.07);
    opacity: 0;
    height: 1px;
    width: 9999px;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    transition: height 666ms linear; }
  .page-node-type-experience .experience .action-image div {
    display: none; }
    .page-node-type-experience .experience .action-image div * {
      margin: 0 auto;
      display: block; }
  .page-node-type-experience .experience .action-image .animation {
    display: block; }
    .page-node-type-experience .experience .action-image .animation svg {
      position: relative;
      width: 130%;
      left: -15%; }
      .page-node-type-experience .experience .action-image .animation svg * {
        width: 100%; }
  .page-node-type-experience .experience .action-image .mobile {
    display: none; }
  .page-node-type-experience .experience .action-image.toggled:before {
    opacity: 1;
    height: 2000px; }

.page-node-type-experience .experience .btn-close {
  display: none;
  cursor: pointer;
  z-index: 1;
  background: url("../../images/build/close-light.png") no-repeat center;
  background-size: cover;
  top: 53px;
  right: 53px;
  height: 27px;
  width: 27px; }
  @media screen and (max-width: 768px) {
    .page-node-type-experience .experience .btn-close {
      display: none !important; } }

.page-node-type-experience .experience .btn-back {
  display: none;
  cursor: pointer;
  z-index: 1;
  position: absolute;
  top: 25px;
  left: 25px;
  font-size: 0.75rem;
  letter-spacing: 2.7px;
  font-weight: 500;
  font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #FFF;
  background: url("../../images/build/btn-back-light.png") no-repeat center left;
  background-size: 4px auto; }
  @media screen and (min-width: 769px) {
    .page-node-type-experience .experience .btn-back {
      display: none !important; } }

@media screen and (max-width: 1200px) {
  .page-node-type-experience .experience .core {
    padding: 100px 25px;
    min-height: 700px; }
  .page-node-type-experience .experience .experience-wrapper {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .page-node-type-experience .experience .experience-wrapper::after {
      clear: both;
      content: "";
      display: table; }
  .page-node-type-experience .experience .experience-info {
    float: left;
    display: block;
    margin-right: 3.00429%;
    width: 44.20601%;
    padding-right: 15px; }
    .page-node-type-experience .experience .experience-info:last-child {
      margin-right: 0; }
    .page-node-type-experience .experience .experience-info .info-content h1 {
      font-size: 2.1875rem;
      margin-bottom: 20px; }
    .page-node-type-experience .experience .experience-info .info-content h2 {
      font-size: 1.5625rem;
      margin-bottom: 20px; }
    .page-node-type-experience .experience .experience-info .info-content .body-text {
      font-size: 1.125rem; }
  .page-node-type-experience .experience .experience-action {
    float: left;
    display: block;
    margin-right: 3.00429%;
    width: 52.7897%;
    float: right;
    padding: 20px 0 20px 35px; }
    .page-node-type-experience .experience .experience-action:last-child {
      margin-right: 0; }
    .page-node-type-experience .experience .experience-action section {
      padding: 60px 15px; }
      .page-node-type-experience .experience .experience-action section.toggled {
        left: 15px; }
    .page-node-type-experience .experience .experience-action .action-title {
      width: 155px;
      font-size: 1.875rem; }
    .page-node-type-experience .experience .experience-action .action-teaser {
      width: calc(100% - 155px - 45px);
      font-size: 1.125rem; }
  .page-node-type-experience .experience .action-image .animation svg {
    width: 110%;
    left: 0; } }

@media screen and (max-width: 768px) {
  .page-node-type-experience .experience .core {
    text-align: center;
    padding: 65px 25px;
    min-height: 0; }
  .page-node-type-experience .experience .experience-info {
    width: 100%;
    margin-right: 0;
    padding-right: 0; }
    .page-node-type-experience .experience .experience-info .info-content {
      max-width: 450px;
      margin: 0 auto; }
      .page-node-type-experience .experience .experience-info .info-content h1 {
        font-size: 1.5625rem;
        margin-bottom: 6px;
        line-height: 1.2;
        letter-spacing: -0.14px; }
      .page-node-type-experience .experience .experience-info .info-content h2 {
        font-size: 1.25rem;
        line-height: 1.25;
        letter-spacing: 2.86px; }
      .page-node-type-experience .experience .experience-info .info-content .body-text {
        font-size: 1rem;
        line-height: 1.56; }
  .page-node-type-experience .experience .experience-action {
    width: 100%;
    float: none;
    border-left: 0;
    padding: 50px 0 25px; }
    .page-node-type-experience .experience .experience-action.toggled {
      padding: 35px 0 0; }
    .page-node-type-experience .experience .experience-action section {
      padding: 30px 0; }
      .page-node-type-experience .experience .experience-action section.toggled {
        padding: 0;
        background: transparent;
        position: relative;
        top: inherit;
        right: inherit;
        bottom: inherit;
        left: inherit; }
      .page-node-type-experience .experience .experience-action section:before {
        content: none; }
    .page-node-type-experience .experience .experience-action .action-title {
      width: 100%;
      font-size: 1.25rem;
      margin: 0 0 10px; }
    .page-node-type-experience .experience .experience-action .action-teaser {
      width: 100%;
      font-size: 1rem;
      line-height: 1.56; }
  .page-node-type-experience .experience .action-content .title {
    font-size: 1.5625rem;
    line-height: 1.2;
    letter-spacing: -0.41px;
    text-transform: uppercase; }
  .page-node-type-experience .experience .action-content .teaser {
    font-size: 1rem;
    line-height: 1.56;
    margin-bottom: 20px; }
  .page-node-type-experience .experience .action-content .body-text {
    font-size: 0.875rem;
    line-height: 1.78;
    margin-bottom: 35px; }
  .page-node-type-experience .experience .action-image .animation {
    display: none; }
  .page-node-type-experience .experience .action-image .mobile {
    display: block; } }

.page-node-type-experience .aside-bg {
  z-index: 1;
  transition: all 666ms linear;
  position: absolute;
  bottom: -400px;
  left: -250px; }
  .page-node-type-experience .aside-bg.toggled {
    left: -1000px; }
  @media screen and (max-width: 1200px) {
    .page-node-type-experience .aside-bg {
      transform: scale(0.8);
      bottom: -100px; } }
  @media screen and (max-width: 768px) {
    .page-node-type-experience .aside-bg {
      display: none; } }

.page-node-type-office-index #main {
  padding: 0; }

.page-node-type-office-index section.header {
  text-align: center;
  padding: 65px 25px 45px; }
  .page-node-type-office-index section.header h1 {
    color: #292A2E;
    font-weight: 700;
    font-size: 1.75rem;
    letter-spacing: -0.15px;
    margin-bottom: 6px; }
  .page-node-type-office-index section.header h2 {
    color: #404147;
    font-weight: 400;
    font-size: 1.25rem;
    line-height: 1.25;
    letter-spacing: 2.86px;
    margin-bottom: 40px; }
  .page-node-type-office-index section.header .body-text {
    color: #292A2E;
    font-size: 1rem;
    line-height: 1.56; }
  @media screen and (min-width: 769px) {
    .page-node-type-office-index section.header {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto;
      padding: 65px 0 55px; }
      .page-node-type-office-index section.header::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-office-index section.header h1 {
        font-size: 2.8125rem;
        margin-bottom: 16px; }
      .page-node-type-office-index section.header h2 {
        font-size: 1.5625rem;
        line-height: 1.31;
        letter-spacing: 4.14px;
        margin-bottom: 46px; }
      .page-node-type-office-index section.header .body-text {
        font-size: 1.125rem;
        line-height: 1.4;
        max-width: 560px;
        margin: 0 auto; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-office-index section.header {
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto;
      padding: 95px 25px 75px; }
      .page-node-type-office-index section.header::after {
        clear: both;
        content: "";
        display: table; }
      .page-node-type-office-index section.header h1 {
        font-size: 3.4375rem; }
      .page-node-type-office-index section.header h2 {
        font-size: 1.8125rem; }
      .page-node-type-office-index section.header .body-text {
        font-size: 1.25rem; } }

.page-node-type-office-index section.content {
  position: relative;
  padding-bottom: 20px;
  background: #1D1D20; }
  .page-node-type-office-index section.content .filter {
    position: relative;
    padding: 0 25px; }
    .page-node-type-office-index section.content .filter .filter-list {
      cursor: pointer;
      padding: 6px 0;
      background: url("../../images/build/filter-arrow.png") no-repeat right 23px;
      background-size: 9px auto;
      border-bottom: 1px solid #616466; }
    .page-node-type-office-index section.content .filter li {
      max-width: 90%;
      font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 0.8125rem;
      text-transform: uppercase;
      line-height: 2.93;
      letter-spacing: 1.37px;
      color: white;
      display: none; }
      .page-node-type-office-index section.content .filter li.current {
        display: block; }
    .page-node-type-office-index section.content .filter .current-arrow {
      display: none; }
  .page-node-type-office-index section.content .offices {
    position: relative;
    padding: 12.5px 19.5px; }
    .page-node-type-office-index section.content .offices .office-item {
      cursor: pointer;
      width: 50%;
      text-align: center;
      padding: 12.5px 10.5px;
      margin-bottom: 25px; }
      .page-node-type-office-index section.content .offices .office-item .image {
        width: 100%;
        margin-bottom: 16px;
        position: relative;
        background: #363638;
        transition: all 222ms linear; }
        .page-node-type-office-index section.content .offices .office-item .image:before {
          content: '';
          padding-top: 100%;
          display: block; }
        .page-node-type-office-index section.content .offices .office-item .image .dark, .page-node-type-office-index section.content .offices .office-item .image .light {
          position: absolute;
          right: 0;
          bottom: 0;
          transition: all 222ms linear; }
          .page-node-type-office-index section.content .offices .office-item .image .dark.dark, .page-node-type-office-index section.content .offices .office-item .image .light.dark {
            opacity: 0; }
      .page-node-type-office-index section.content .offices .office-item .city {
        color: #FFF;
        font-size: 1rem;
        font-weight: 500;
        line-height: 1.69;
        letter-spacing: 2.29px; }
  .page-node-type-office-index section.content #office-map {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -1;
    background: #777; }
  @media screen and (min-width: 769px) {
    .page-node-type-office-index section.content {
      background: none;
      padding: 0; }
      .page-node-type-office-index section.content .filter {
        max-width: 1140px;
        margin: 0 auto;
        text-align: center;
        padding: 0 0 21px; }
        .page-node-type-office-index section.content .filter .filter-list {
          padding: 0;
          background: none;
          border-bottom: 0; }
        .page-node-type-office-index section.content .filter li {
          position: relative;
          max-width: none;
          display: inline-block;
          font-weight: 300;
          color: #292A2E;
          padding: 0 30px; }
          .page-node-type-office-index section.content .filter li:before {
            content: '';
            height: 1px;
            width: 0;
            position: absolute;
            bottom: 7px;
            left: 30px;
            background: #323232;
            transition: all 222ms linear; }
          .page-node-type-office-index section.content .filter li.current {
            display: inline-block;
            font-weight: 400;
            color: #304054; }
          .page-node-type-office-index section.content .filter li:hover {
            display: inline-block;
            color: #304054; }
            .page-node-type-office-index section.content .filter li:hover:before {
              width: calc(100% - 60px); }
        .page-node-type-office-index section.content .filter .current-arrow {
          position: absolute;
          bottom: 0;
          display: block;
          height: 12px;
          width: 24px;
          background: url("../../images/build/office-arrow.png") no-repeat center;
          background-size: 100% auto;
          transition: all 444ms linear; }
      .page-node-type-office-index section.content .offices {
        min-height: 945px;
        position: relative;
        padding: 40px 0 40px; }
        .page-node-type-office-index section.content .offices:before {
          content: '';
          height: 6px;
          width: 100%;
          background: #202124;
          position: absolute;
          top: 0;
          left: 0; }
        .page-node-type-office-index section.content .offices:after {
          content: '';
          height: 100%;
          width: 100%;
          position: absolute;
          top: 0;
          right: 0;
          bottom: 0;
          left: 0;
          opacity: 0;
          background: url("../../images/build/gradient-3.png") no-repeat center;
          background-size: cover;
          z-index: -1;
          transition: all 222ms linear; }
        .page-node-type-office-index section.content .offices.highlight:after {
          opacity: 0.99; }
        .page-node-type-office-index section.content .offices .office-list {
          max-width: 920px;
          margin: 0 auto; }
        .page-node-type-office-index section.content .offices .office-item {
          width: 20%;
          padding: 0 10px;
          margin-bottom: 40px; }
          .page-node-type-office-index section.content .offices .office-item .image {
            margin: 0 auto 14px;
            width: calc(100% - 20px); }
            .page-node-type-office-index section.content .offices .office-item .image img {
              max-width: 90%; }
            .page-node-type-office-index section.content .offices .office-item .image:hover {
              background: #F7F9FA; }
              .page-node-type-office-index section.content .offices .office-item .image:hover .light {
                opacity: 0; }
              .page-node-type-office-index section.content .offices .office-item .image:hover .dark {
                opacity: 1; }
          .page-node-type-office-index section.content .offices .office-item .city {
            font-size: 1.1875rem;
            line-height: 1.42;
            letter-spacing: 1px;
            text-transform: uppercase; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-office-index section.content .offices {
      padding: 81px 0 40px; }
      .page-node-type-office-index section.content .offices .office-item {
        padding: 0 15px; }
        .page-node-type-office-index section.content .offices .office-item .image {
          width: calc(100% - 32px); } }

.page-node-type-office-index .office-lightbox {
  opacity: 0;
  background: rgba(29, 29, 29, 0.86);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  transform: scale(0);
  transition: opacity 444ms linear; }
  .page-node-type-office-index .office-lightbox.active {
    opacity: 1;
    transform: scale(1); }
  .page-node-type-office-index .office-lightbox .office-lightbox_wrapper {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%; }
  .page-node-type-office-index .office-lightbox .office-lightbox_item {
    opacity: 0;
    margin: auto;
    width: 90%;
    max-width: 790px;
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    transform: translateY(-50%) scale(0);
    transition: opacity 444ms linear; }
    .page-node-type-office-index .office-lightbox .office-lightbox_item.active {
      opacity: 1;
      transform: translateY(-50%) scale(1); }
  .page-node-type-office-index .office-lightbox .top-icon {
    position: absolute;
    right: 0;
    bottom: 100%; }
    .page-node-type-office-index .office-lightbox .top-icon img {
      display: block; }
  .page-node-type-office-index .office-lightbox .vertical-city {
    width: 100%;
    position: absolute;
    top: 0;
    right: 100%; }
    .page-node-type-office-index .office-lightbox .vertical-city .text {
      font-size: 1.8125rem;
      letter-spacing: 4.14px;
      line-height: 1.31;
      color: #F7F9FA;
      text-transform: uppercase;
      text-align: right;
      width: 100%;
      position: absolute;
      top: 370px;
      left: 370px;
      transform: rotate(-90deg); }
  .page-node-type-office-index .office-lightbox .container {
    position: relative;
    background: #FFF;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
  .page-node-type-office-index .office-lightbox .right-corner {
    position: absolute;
    top: 20px;
    right: 20px; }
    .page-node-type-office-index .office-lightbox .right-corner .type {
      text-transform: uppercase;
      color: #6C6D73;
      font-size: 0.75rem;
      letter-spacing: 1.26px;
      display: inline-block;
      vertical-align: middle;
      padding-right: 33px;
      line-height: 1.9;
      font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif; }
    .page-node-type-office-index .office-lightbox .right-corner .btn-close {
      top: 0;
      right: 0; }
  .page-node-type-office-index .office-lightbox .image {
    height: 100%;
    width: 225px;
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0; }
    .page-node-type-office-index .office-lightbox .image img {
      width: 100%;
      position: absolute;
      bottom: 1px; }
  .page-node-type-office-index .office-lightbox .info {
    width: 100%;
    min-height: 420px;
    padding: 75px 80px 35px 305px; }
    .page-node-type-office-index .office-lightbox .info .name {
      font-size: 1.8125rem;
      font-weight: 600;
      color: #292A2E;
      text-transform: uppercase;
      letter-spacing: 4.14px;
      line-height: 1.17;
      margin-bottom: 7px; }
    .page-node-type-office-index .office-lightbox .info .city {
      font-size: 1.125rem;
      color: #292A2E;
      text-transform: uppercase;
      letter-spacing: 2.4px;
      line-height: 1.56;
      margin-bottom: 20px; }
    .page-node-type-office-index .office-lightbox .info .desc {
      font-weight: 300;
      font-size: 1rem;
      color: #202124; }
    .page-node-type-office-index .office-lightbox .info .text-light {
      font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-weight: 300;
      font-size: 0.9375rem;
      color: #202124;
      letter-spacing: 0.22px;
      line-height: 1.46;
      margin: 20px 0 12px;
      padding-left: 30px; }
      .page-node-type-office-index .office-lightbox .info .text-light a {
        color: #202124; }
      .page-node-type-office-index .office-lightbox .info .text-light.email {
        background: url("../../images/build/icon-email.png") no-repeat left 4px;
        background-size: 12px auto; }
      .page-node-type-office-index .office-lightbox .info .text-light.phone {
        background: url("../../images/build/icon-tel.png") no-repeat left 4px;
        background-size: 11px auto; }
      .page-node-type-office-index .office-lightbox .info .text-light.whatsapp {
        background: url("../../images/build/icon-whatsapp.png") no-repeat left 4px;
        background-size: 12px auto; }
      .page-node-type-office-index .office-lightbox .info .text-light.address {
        background: url("../../images/build/icon-address.png") no-repeat 1px 5px;
        background-size: 8px auto; }

.page-node-type-office #main {
  padding: 0; }

.page-node-type-office section.header {
  position: relative;
  background: url("../../images/build/office-detail.png") no-repeat center;
  background-size: cover;
  overflow: hidden;
  padding: 25px 14px 0 25px; }
  .page-node-type-office section.header .btn-back {
    color: #FFF;
    background: url("../../images/build/btn-back-light.png") no-repeat left center;
    background-size: 3.6px auto;
    letter-spacing: 2.7px; }
  .page-node-type-office section.header .city {
    margin: 28px 0 10px;
    text-transform: uppercase;
    font-size: 1.5625rem;
    font-weight: 700;
    letter-spacing: -0.14px;
    line-height: 1.2;
    color: #FFF;
    padding-right: 11px; }
  .page-node-type-office section.header .body-text {
    font-size: 1rem;
    line-height: 1.56;
    color: #FFF;
    padding-right: 11px;
    margin-bottom: 20px; }
  .page-node-type-office section.header .icon-details::after {
    clear: both;
    content: "";
    display: table; }
  .page-node-type-office section.header .icon-details img {
    float: right;
    margin-bottom: 0; }

.page-node-type-office section.content .info {
  padding: 35px 25px 45px; }
  .page-node-type-office section.content .info *, .page-node-type-office section.content .info * > a {
    color: #292A2E; }
  .page-node-type-office section.content .info .text-light {
    font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-size: 0.875rem;
    line-height: 1.79;
    letter-spacing: 0.44px;
    font-weight: 300;
    margin-bottom: 9px;
    padding-left: 30px; }
    .page-node-type-office section.content .info .text-light:last-of-type {
      margin-bottom: 0; }
    .page-node-type-office section.content .info .text-light.email {
      background: url("../../images/build/icon-email.png") no-repeat left 6px;
      background-size: 12px auto; }
    .page-node-type-office section.content .info .text-light.phone {
      background: url("../../images/build/icon-tel.png") no-repeat left 6px;
      background-size: 11px auto; }
    .page-node-type-office section.content .info .text-light.whatsapp {
      background: url("../../images/build/icon-whatsapp.png") no-repeat left 6px;
      background-size: 12px auto; }
    .page-node-type-office section.content .info .text-light.address {
      background: url("../../images/build/icon-address.png") no-repeat 1px 7px;
      background-size: 8px auto; }
  .page-node-type-office section.content .info .name {
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 2.57px;
    text-transform: uppercase; }
  .page-node-type-office section.content .info .city {
    font-size: 1rem;
    line-height: 1.56;
    text-transform: uppercase;
    margin-bottom: 25px; }

.page-node-type-office section.content .image {
  height: 140px;
  position: relative;
  background-position: center;
  background-size: cover; }
  .page-node-type-office section.content .image:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(247, 249, 250, 0.9); }

.page-node-type-general-page #content-area {
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  padding: 25px; }
  .page-node-type-general-page #content-area::after {
    clear: both;
    content: "";
    display: table; }
  .page-node-type-general-page #content-area .general-page {
    max-width: 750px;
    color: #292A2E; }
  .page-node-type-general-page #content-area h1 {
    font-weight: 600;
    font-size: 1.5625rem;
    letter-spacing: -0.25px;
    line-height: 1.2;
    margin-bottom: 1em;
    max-width: 570px;
    text-transform: none; }
  .page-node-type-general-page #content-area .teaser {
    font-weight: 500;
    font-size: 1.125rem;
    letter-spacing: -0.08px;
    line-height: 1.57;
    margin-bottom: 20px; }
  .page-node-type-general-page #content-area .body p {
    font-weight: 300;
    font-size: 0.875rem;
    line-height: 1.78;
    letter-spacing: 0.44px;
    margin-bottom: 20px; }
    .page-node-type-general-page #content-area .body p strong {
      font-size: 1.125rem; }
  .page-node-type-general-page #content-area .body ul {
    margin-top: -15px;
    margin-bottom: 20px;
    list-style: disc;
    padding-left: 10px; }
    .page-node-type-general-page #content-area .body ul li {
      margin-bottom: 10px;
      font-size: 0.875rem; }
  @media screen and (min-width: 769px) {
    .page-node-type-general-page #content-area {
      padding: 85px 25px 145px; }
      .page-node-type-general-page #content-area .general-page {
        margin-left: 8.58369%; }
      .page-node-type-general-page #content-area h1 {
        font-size: 2.1875rem;
        line-height: 0.9; }
      .page-node-type-general-page #content-area .teaser {
        font-size: 1.1875rem; }
      .page-node-type-general-page #content-area .body p {
        font-size: 0.9375rem; }
        .page-node-type-general-page #content-area .body p strong {
          font-size: 1.1875rem; }
      .page-node-type-general-page #content-area .body ul {
        margin-top: -10px; }
        .page-node-type-general-page #content-area .body ul li {
          font-size: 0.9375rem;
          margin-bottom: 15px; } }
  @media screen and (min-width: 1200px) {
    .page-node-type-general-page #content-area {
      padding: 85px 0 135px; }
      .page-node-type-general-page #content-area h1 {
        font-size: 3rem;
        letter-spacing: -0.48px;
        margin-bottom: 55px; }
      .page-node-type-general-page #content-area .teaser {
        font-size: 1.5rem;
        margin-bottom: 40px; }
      .page-node-type-general-page #content-area .body p {
        font-size: 1rem;
        margin-bottom: 30px; }
        .page-node-type-general-page #content-area .body p strong {
          font-size: 1.25rem; }
      .page-node-type-general-page #content-area .body ul {
        padding-left: 15px; }
        .page-node-type-general-page #content-area .body ul li {
          font-size: 1rem; } }

.department-index header {
  padding: 30px 25px;
  text-align: center; }
  .department-index header h1 {
    color: #292A2E;
    letter-spacing: -0.15px;
    line-height: 1.07;
    margin-bottom: 5px; }
  .department-index header h2 {
    color: #404147;
    letter-spacing: 2.86px;
    line-height: 1.25; }
  @media screen and (min-width: 769px) {
    .department-index header {
      padding: 60px 25px; }
      .department-index header h1 {
        margin-bottom: 15px; }
      .department-index header h2 {
        font-size: 1.5625rem; } }
  @media screen and (min-width: 769px) {
    .department-index header {
      padding: 75px 0 150px; }
      .department-index header h2 {
        font-size: 1.8125rem; } }

.department-index .item-list {
  padding: 30px 25px; }
  .department-index .item-list li {
    position: relative;
    width: 100%;
    margin-bottom: 75px;
    background: #FFF;
    box-shadow: 0 0 40px 0 rgba(33, 41, 52, 0.05); }
    .department-index .item-list li .wrapper {
      padding: 25px;
      position: relative;
      z-index: 0; }
    .department-index .item-list li:before {
      content: '';
      height: 100%;
      width: 100%;
      background: #D6D6D6;
      z-index: -1; }
    @media screen and (max-width: 768px) {
      .department-index .item-list li:nth-child(1):before {
        position: absolute;
        top: -9px;
        left: -9px; }
      .department-index .item-list li:nth-child(2):before {
        position: absolute;
        top: -9px;
        right: -9px; }
      .department-index .item-list li:nth-child(3):before {
        position: absolute;
        right: -9px;
        bottom: -9px; }
      .department-index .item-list li:nth-child(4):before {
        position: absolute;
        bottom: -9px;
        left: -9px; } }
  .department-index .item-list h2 {
    position: relative;
    font-size: 1.5625rem;
    font-weight: 600;
    line-height: 2;
    letter-spacing: -0.34px;
    color: #292A2E;
    padding-bottom: 7px;
    margin-bottom: 19px;
    text-transform: capitalize; }
    .department-index .item-list h2:after {
      content: '';
      background: #616466;
      height: 1px;
      width: 20px;
      position: absolute;
      bottom: 0;
      left: 0; }
  .department-index .item-list .subtitle {
    font-size: 1rem;
    line-height: 1.56;
    color: #292A2E;
    margin-bottom: 25px;
    max-width: 250px;
    width: 80%; }
  .department-index .item-list .image {
    z-index: -1;
    max-width: 120px;
    position: absolute;
    right: 0px;
    bottom: -80px; }
    .department-index .item-list .image img {
      height: auto;
      width: 100%; }
  .department-index .item-list .btn-more, .department-index .item-list .page-node-type-contact-us .contact-us_content .office-link > a, .page-node-type-contact-us .contact-us_content .department-index .item-list .office-link > a {
    display: inline-block; }
  @media screen and (min-width: 769px) {
    .department-index .item-list {
      padding: 30px 0;
      max-width: 100%;
      display: block; }
      .department-index .item-list::after {
        clear: both;
        content: "";
        display: table; }
      .department-index .item-list li {
        width: 700px;
        margin-bottom: 120px;
        box-shadow: none;
        transition: all 333ms linear; }
        .department-index .item-list li .wrapper {
          padding: 80px 180px 50px;
          box-shadow: 0 0 40px 0 rgba(33, 41, 52, 0.05); }
        .department-index .item-list li:before {
          opacity: 0.3;
          width: calc(100% - 23px);
          transition: all 333ms linear; }
        .department-index .item-list li:nth-child(1) {
          float: left; }
          .department-index .item-list li:nth-child(1) .image {
            position: absolute;
            top: -164px;
            left: -138px; }
          .department-index .item-list li:nth-child(1):before {
            position: absolute;
            top: inherit;
            right: 0;
            bottom: -15px;
            left: inherit; }
        .department-index .item-list li:nth-child(2) {
          float: right; }
          .department-index .item-list li:nth-child(2) .image {
            position: absolute;
            top: -100px;
            right: -138px; }
          .department-index .item-list li:nth-child(2):before {
            position: absolute;
            top: inherit;
            right: inherit;
            bottom: -15px;
            left: 0; }
        .department-index .item-list li:nth-child(3) {
          float: left; }
          .department-index .item-list li:nth-child(3) .image {
            position: absolute;
            top: -123.5px;
            left: -123.5px; }
          .department-index .item-list li:nth-child(3):before {
            position: absolute;
            top: inherit;
            right: 0;
            bottom: -15px;
            left: inherit; }
        .department-index .item-list li:nth-child(4) {
          float: right; }
          .department-index .item-list li:nth-child(4) .image {
            position: absolute;
            top: 40px;
            left: -200px; }
          .department-index .item-list li:nth-child(4):before {
            position: absolute;
            top: inherit;
            right: inherit;
            bottom: -15px;
            left: 0; }
        .department-index .item-list li:hover {
          box-shadow: 0 0 40px 0 rgba(33, 41, 52, 0.05); }
          .department-index .item-list li:hover:before {
            opacity: 1; }
          .department-index .item-list li:hover:nth-child(1):before {
            position: absolute;
            top: inherit;
            right: -23px;
            bottom: -23px;
            left: inherit; }
          .department-index .item-list li:hover:nth-child(2):before {
            position: absolute;
            top: inherit;
            right: inherit;
            bottom: -23px;
            left: -23px; }
          .department-index .item-list li:hover:nth-child(3):before {
            position: absolute;
            top: inherit;
            right: -23px;
            bottom: -23px;
            left: inherit; }
          .department-index .item-list li:hover:nth-child(4):before {
            position: absolute;
            top: inherit;
            right: inherit;
            bottom: -23px;
            left: -23px; }
          .department-index .item-list li:hover .image {
            opacity: 1; }
      .department-index .item-list h2 {
        font-size: 2.8125rem;
        line-height: 1.13;
        letter-spacing: -0.62px;
        padding-bottom: 31px;
        margin-bottom: 24px; }
        .department-index .item-list h2:after {
          width: 40px; }
      .department-index .item-list .subtitle {
        font-size: 1.25rem;
        line-height: 1.4;
        margin-bottom: 20px;
        max-width: none;
        width: 100%; }
      .department-index .item-list .image {
        max-width: 360px;
        opacity: 0.07;
        transition: all 333ms linear; }
        .department-index .item-list .image img {
          width: auto;
          max-width: 100%; } }
  @media screen and (min-width: 1200px) {
    .department-index .item-list {
      max-width: 1200px;
      margin-left: auto;
      margin-right: auto; }
      .department-index .item-list::after {
        clear: both;
        content: "";
        display: table; }
      .department-index .item-list li {
        width: 775px;
        margin-bottom: 150px; }
        .department-index .item-list li .wrapper {
          padding: 100px 198px 58px; } }

.department-index footer {
  width: 100%;
  text-align: center;
  padding: 35px 25px;
  background: #F0F3F4;
  color: #292A2E;
  font-size: 1.25rem;
  line-height: 1.5;
  letter-spacing: -0.09px;
  margin-bottom: 50px; }
  @media screen and (min-width: 769px) {
    .department-index footer {
      padding: 70px 25px;
      font-size: 1.5rem;
      line-height: 1.45;
      letter-spacing: -0.1px;
      margin-bottom: 0; }
      .department-index footer p {
        max-width: 890px;
        margin: 0 auto; } }

.article-index,
.article-listing {
  position: relative; }
  .article-index header,
  .article-listing header {
    text-align: center;
    padding: 70px 25px 65px; }
    .article-index header h1,
    .article-listing header h1 {
      font-size: 1.75rem;
      font-weight: 700;
      color: #292A2E;
      margin-bottom: 9px;
      text-transform: uppercase;
      letter-spacing: -0.15px; }
    .article-index header h2,
    .article-listing header h2 {
      font-size: 1.25rem;
      font-weight: 400;
      color: #404147;
      text-transform: uppercase;
      letter-spacing: 2.86px;
      line-height: 1.25; }
    @media screen and (min-width: 769px) {
      .article-index header,
      .article-listing header {
        padding: 85px 25px 35px; }
        .article-index header h1,
        .article-listing header h1 {
          font-size: 2.8125rem;
          line-height: 0.69;
          letter-spacing: -0.3px;
          margin-bottom: 16px; }
        .article-index header h2,
        .article-listing header h2 {
          font-size: 1.6875rem;
          letter-spacing: 4.14px;
          line-height: 1.31; } }
    @media screen and (min-width: 1200px) {
      .article-index header,
      .article-listing header {
        padding: 85px 0 35px; }
        .article-index header h1,
        .article-listing header h1 {
          font-size: 3.4375rem; }
        .article-index header h2,
        .article-listing header h2 {
          font-size: 1.8125rem; } }
  .article-index .sidebar-title,
  .article-listing .sidebar-title {
    display: none; }
  .article-index .index-action,
  .article-listing .index-action {
    display: none; }
    @media screen and (min-width: 769px) {
      .article-index .index-action,
      .article-listing .index-action {
        display: block;
        position: absolute;
        top: 0;
        right: 10px; }
        .article-index .index-action #block_social-media,
        .article-listing .index-action #block_social-media {
          text-align: right; }
          .article-index .index-action #block_social-media h2,
          .article-listing .index-action #block_social-media h2 {
            display: block; }
          .article-index .index-action #block_social-media .social-media_items,
          .article-listing .index-action #block_social-media .social-media_items {
            background: #E1E1E1; }
          .article-index .index-action #block_social-media .light,
          .article-listing .index-action #block_social-media .light {
            display: none; }
          .article-index .index-action #block_social-media .dark,
          .article-listing .index-action #block_social-media .dark {
            display: block; } }
    @media screen and (min-width: 1200px) {
      .article-index .index-action,
      .article-listing .index-action {
        right: 0; } }
  .article-index .views-exposed-form,
  .article-listing .views-exposed-form {
    position: fixed;
    top: 50px;
    left: 0;
    padding: 5px 25px;
    background: #F7F9FA;
    text-align: center;
    width: 100%;
    z-index: 10; }
    .article-index .views-exposed-form .form-select,
    .article-listing .views-exposed-form .form-select {
      cursor: pointer;
      background: url("../../images/build/local-nav-arrow.png") no-repeat right 17px;
      background-size: 9px auto;
      padding: 0 20px; }
      .article-index .views-exposed-form .form-select > div,
      .article-listing .views-exposed-form .form-select > div {
        width: 75%;
        max-width: 350px;
        margin: 0 auto; }
        .article-index .views-exposed-form .form-select > div a,
        .article-listing .views-exposed-form .form-select > div a {
          font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
          font-size: 0.875rem;
          color: #304054;
          text-transform: uppercase;
          line-height: 2.7;
          letter-spacing: 1.47px;
          display: inline-block;
          width: 100%; }
        .article-index .views-exposed-form .form-select > div:not(.bef-link-active),
        .article-listing .views-exposed-form .form-select > div:not(.bef-link-active) {
          display: none; }
    @media screen and (min-width: 769px) {
      .article-index .views-exposed-form,
      .article-listing .views-exposed-form {
        position: relative;
        top: inherit;
        left: inherit;
        padding: 0;
        background: none;
        text-align: left; }
        .article-index .views-exposed-form .form-select,
        .article-listing .views-exposed-form .form-select {
          background: none;
          padding: 0; }
          .article-index .views-exposed-form .form-select > div,
          .article-listing .views-exposed-form .form-select > div {
            width: 100%;
            max-width: none;
            transition: all 222ms linear; }
            .article-index .views-exposed-form .form-select > div a,
            .article-listing .views-exposed-form .form-select > div a {
              font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
              font-size: 0.8125rem;
              line-height: 2.9;
              letter-spacing: 1.37px;
              transition: all 222ms linear; }
            .article-index .views-exposed-form .form-select > div:not(.bef-link-active),
            .article-listing .views-exposed-form .form-select > div:not(.bef-link-active) {
              display: block;
              color: #292A2E;
              font-weight: 300; }
            .article-index .views-exposed-form .form-select > div:hover,
            .article-listing .views-exposed-form .form-select > div:hover {
              font-weight: 400; }
              .article-index .views-exposed-form .form-select > div:hover a,
              .article-listing .views-exposed-form .form-select > div:hover a {
                color: #304054; } }
  .article-index .row,
  .article-listing .row {
    padding: 0 48px 60px; }
    .article-index .row .article-item,
    .article-listing .row .article-item {
      text-align: center;
      margin-bottom: 65px; }
      .article-index .row .article-item.content-with-image .category,
      .article-listing .row .article-item.content-with-image .category {
        margin-bottom: 9px; }
    .article-index .row .category,
    .article-listing .row .category {
      font-size: 0.9375rem;
      line-height: 1.67;
      letter-spacing: 2.14px;
      text-transform: uppercase;
      margin-bottom: 24px;
      color: #404147; }
    .article-index .row .image,
    .article-listing .row .image {
      position: relative;
      max-width: 250px;
      margin: 0 auto 23px;
      background: #F5F6F7;
      padding-top: 12.5px; }
      .article-index .row .image img,
      .article-listing .row .image img {
        width: 100%;
        display: block;
        margin: 0 0 0 12.5px; }
    .article-index .row h2,
    .article-listing .row h2 {
      font-size: 1.375rem;
      font-weight: 600;
      line-height: 1.13;
      letter-spacing: -0.22px;
      color: #292A2E;
      text-transform: none; }
    .article-index .row .created,
    .article-listing .row .created {
      font-family: "Roboto", "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-size: 0.8125rem;
      font-weight: 300;
      line-height: 2.92;
      letter-spacing: 1.37px;
      margin-bottom: 15px;
      color: #292A2E;
      text-transform: uppercase; }
    .article-index .row .btn-more, .article-index .row .page-node-type-contact-us .contact-us_content .office-link > a, .page-node-type-contact-us .contact-us_content .article-index .row .office-link > a,
    .article-listing .row .btn-more,
    .article-listing .row .page-node-type-contact-us .contact-us_content .office-link > a, .page-node-type-contact-us .contact-us_content
    .article-listing .row .office-link > a {
      display: inline-block;
      color: #1A1A1A;
      background-image: url("../../images/build/btn-more-dark.png"); }
    @media screen and (min-width: 769px) {
      .article-index .row,
      .article-listing .row {
        padding: 75px 0 0;
        display: block;
        margin-left: 4.29185%;
        float: left;
        display: block;
        margin-right: 3.00429%;
        width: 78.54077%;
        margin-right: 0;
        background: url("../../images/build/article-index-bg.png") no-repeat calc(100% - 161px) 0;
        background-size: 233px; }
        .article-index .row::after,
        .article-listing .row::after {
          clear: both;
          content: "";
          display: table; }
        .article-index .row:last-child,
        .article-listing .row:last-child {
          margin-right: 0; }
        .article-index .row > div,
        .article-listing .row > div {
          width: 50%;
          padding: 0 3.5%;
          margin-bottom: 120px;
          display: block; }
          .article-index .row > div::after,
          .article-listing .row > div::after {
            clear: both;
            content: "";
            display: table; }
          .article-index .row > div:first-of-type,
          .article-listing .row > div:first-of-type {
            margin-top: 50px; }
          .article-index .row > div:nth-of-type(2),
          .article-listing .row > div:nth-of-type(2) {
            margin-top: 215px; }
          .article-index .row > div:hover .article-item:before,
          .article-listing .row > div:hover .article-item:before {
            background: #E7ECF1; }
          .article-index .row > div:hover .article-item:not(.content-with-image),
          .article-listing .row > div:hover .article-item:not(.content-with-image) {
            background: #E7ECF1; }
        .article-index .row .article-item,
        .article-listing .row .article-item {
          position: relative;
          margin-bottom: 0;
          margin-left: 20px; }
          .article-index .row .article-item:before,
          .article-listing .row .article-item:before {
            content: '';
            z-index: -1;
            background: #F7F9FA;
            height: 290px;
            width: 290px;
            position: absolute;
            top: -20px;
            left: -20px;
            transition: all 222ms linear; }
          .article-index .row .article-item:not(.content-with-image),
          .article-listing .row .article-item:not(.content-with-image) {
            padding: 35px 20px 30px 40px;
            min-height: 300px;
            margin-left: 0;
            background: #F7F9FA;
            transition: all 222ms linear; }
            .article-index .row .article-item:not(.content-with-image):before,
            .article-listing .row .article-item:not(.content-with-image):before {
              content: none; }
            .article-index .row .article-item:not(.content-with-image) .category,
            .article-listing .row .article-item:not(.content-with-image) .category {
              transform: rotate(-90deg) translateY(-135px) translateX(-170px); }
            .article-index .row .article-item:not(.content-with-image) .article-info,
            .article-listing .row .article-item:not(.content-with-image) .article-info {
              padding: 0;
              background: none; }
        .article-index .row .article-info,
        .article-listing .row .article-info {
          text-align: left;
          padding: 23px;
          background: #FFF; }
        .article-index .row .category,
        .article-listing .row .category {
          font-size: 1.1875rem;
          line-height: 1.33;
          letter-spacing: 2.8px;
          margin-bottom: 0;
          width: 100%;
          text-align: right;
          position: absolute;
          top: 0;
          left: 0;
          transform: rotate(-90deg) translateY(-152px) translateX(-120px); }
        .article-index .row .image,
        .article-listing .row .image {
          padding-top: 0;
          max-width: none;
          margin: 0 auto 33px;
          background: none; }
          .article-index .row .image img,
          .article-listing .row .image img {
            margin: 0; }
        .article-index .row h2,
        .article-listing .row h2 {
          font-size: 1.625rem;
          line-height: 1.07;
          letter-spacing: -0.28px;
          margin-bottom: 5px;
          text-transform: none; }
        .article-index .row .created,
        .article-listing .row .created {
          margin-bottom: 0; }
        .article-index .row .btn-more, .article-index .row .page-node-type-contact-us .contact-us_content .office-link > a, .page-node-type-contact-us .contact-us_content .article-index .row .office-link > a,
        .article-listing .row .btn-more,
        .article-listing .row .page-node-type-contact-us .contact-us_content .office-link > a, .page-node-type-contact-us .contact-us_content
        .article-listing .row .office-link > a {
          display: none; } }
    @media screen and (min-width: 1200px) {
      .article-index .row .article-item,
      .article-listing .row .article-item {
        margin-left: 60px; }
        .article-index .row .article-item:before,
        .article-listing .row .article-item:before {
          height: 363px;
          width: 363px;
          position: absolute;
          top: -35px;
          left: -40px; }
        .article-index .row .article-item:not(.content-with-image),
        .article-listing .row .article-item:not(.content-with-image) {
          padding: 70px 20px 70px 60px;
          margin-left: 25px; }
          .article-index .row .article-item:not(.content-with-image) .category,
          .article-listing .row .article-item:not(.content-with-image) .category {
            transform: rotate(-90deg) translateY(-150px) translateX(-240px); }
      .article-index .row .category,
      .article-listing .row .category {
        font-size: 1.3125rem;
        transform: rotate(-90deg) translateY(-180px) translateX(-150px); }
      .article-index .row h2,
      .article-listing .row h2 {
        font-size: 1.75rem; } }
  @media screen and (min-width: 769px) {
    .article-index,
    .article-listing {
      padding: 0 25px;
      display: block;
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .article-index::after,
      .article-listing::after {
        clear: both;
        content: "";
        display: table; }
      .article-index::after,
      .article-listing::after {
        clear: both;
        content: "";
        display: table; }
      .article-index .sidebar-title,
      .article-listing .sidebar-title {
        display: block;
        font-weight: 500;
        font-size: 1.125rem;
        text-transform: uppercase;
        letter-spacing: 2.57px;
        line-height: 1.67;
        margin-bottom: 28px;
        color: #404147; }
      .article-index .sidebar,
      .article-listing .sidebar {
        float: left;
        display: block;
        margin-right: 3.00429%;
        width: 14.16309%;
        padding-top: 45px; }
        .article-index .sidebar:last-child,
        .article-listing .sidebar:last-child {
          margin-right: 0; } }
  @media screen and (min-width: 1200px) {
    .article-index,
    .article-listing {
      padding: 0;
      max-width: 1140px;
      margin-left: auto;
      margin-right: auto; }
      .article-index::after,
      .article-listing::after {
        clear: both;
        content: "";
        display: table; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInZlbmRvci9ib3VyYm9uL19ib3VyYm9uLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9zZXR0aW5ncy9fcHJlZml4ZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL3NldHRpbmdzL19weC10by1lbS5zY3NzIiwidmVuZG9yL2JvdXJib24vc2V0dGluZ3MvX2Fzc2V0LXBpcGVsaW5lLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19jb252ZXJ0LXVuaXRzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19mb250LXNvdXJjZS1kZWNsYXJhdGlvbi5zY3NzIiwidmVuZG9yL2JvdXJib24vaGVscGVycy9fZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwidmVuZG9yL2JvdXJib24vaGVscGVycy9faXMtbnVtLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19saW5lYXItYW5nbGUtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19saW5lYXItZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19saW5lYXItcG9zaXRpb25zLXBhcnNlci5zY3NzIiwidmVuZG9yL2JvdXJib24vaGVscGVycy9fbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlci5zY3NzIiwidmVuZG9yL2JvdXJib24vaGVscGVycy9fcmFkaWFsLWFyZy1wYXJzZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19yZW5kZXItZ3JhZGllbnRzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19zaGFwZS1zaXplLXN0cmlwcGVyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19zdHItdG8tbnVtLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX2Fzc2lnbi5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19jb2xvci1saWdodG5lc3Muc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fY29udGFpbnMuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9faXMtbGVuZ3RoLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX2lzLXNpemUuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX3N0cmlwLXVuaXRzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX3RpbnQtc2hhZGUuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX3VucGFjay5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19tb2R1bGFyLXNjYWxlLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19hbmltYXRpb24uc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fYm94LXNpemluZy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fY2FsYy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fY29sdW1ucy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fZmlsdGVyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19mbGV4LWJveC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fZm9udC1mYWNlLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19mb250LWZlYXR1cmUtc2V0dGluZ3Muc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2hpZHBpLW1lZGlhLXF1ZXJ5LnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19oeXBoZW5zLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19pbWFnZS1yZW5kZXJpbmcuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2tleWZyYW1lcy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19wZXJzcGVjdGl2ZS5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fcGxhY2Vob2xkZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fc2VsZWN0aW9uLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL190ZXh0LWRlY29yYXRpb24uc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fdXNlci1zZWxlY3Quc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fZGlyZWN0aW9uYWwtdmFsdWVzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2VsbGlwc2lzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2ZvbnQtZmFtaWx5LnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2hpZGUtdGV4dC5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19odG1sNS1pbnB1dC10eXBlcy5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19wb3NpdGlvbi5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19wcmVmaXhlci5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19yZXRpbmEtaW1hZ2Uuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fc2l6ZS5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL190aW1pbmctZnVuY3Rpb25zLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX3RyaWFuZ2xlLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwidmVuZG9yL2JvdXJib24vX2JvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZy5zY3NzIiwidmVuZG9yL25lYXQvX25lYXQtaGVscGVycy5zY3NzIiwidmVuZG9yL25lYXQvZnVuY3Rpb25zL19wcml2YXRlLnNjc3MiLCJ2ZW5kb3IvbmVhdC9mdW5jdGlvbnMvX25ldy1icmVha3BvaW50LnNjc3MiLCJ2ZW5kb3IvbmVhdC9zZXR0aW5ncy9fZ3JpZC5zY3NzIiwidmVuZG9yL25lYXQvc2V0dGluZ3MvX3Zpc3VhbC1ncmlkLnNjc3MiLCJ2ZW5kb3IvbmVhdC9zZXR0aW5ncy9fZGlzYWJsZS13YXJuaW5ncy5zY3NzIiwiX2dyaWQuc2NzcyIsInZlbmRvci9uZWF0L19uZWF0LnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL19wcml2YXRlLnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL19ib3gtc2l6aW5nLnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL19vbWVnYS5zY3NzIiwidmVuZG9yL25lYXQvZ3JpZC9fb3V0ZXItY29udGFpbmVyLnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL19zcGFuLWNvbHVtbnMuc2NzcyIsInZlbmRvci9uZWF0L2dyaWQvX3Jvdy5zY3NzIiwidmVuZG9yL25lYXQvZ3JpZC9fc2hpZnQuc2NzcyIsInZlbmRvci9uZWF0L2dyaWQvX3BhZC5zY3NzIiwidmVuZG9yL25lYXQvZ3JpZC9fZmlsbC1wYXJlbnQuc2NzcyIsInZlbmRvci9uZWF0L2dyaWQvX21lZGlhLnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL190by1kZXByZWNhdGUuc2NzcyIsInZlbmRvci9uZWF0L2dyaWQvX3Zpc3VhbC1ncmlkLnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL19kaXNwbGF5LWNvbnRleHQuc2NzcyIsInZlbmRvci9uZWF0L2dyaWQvX2RpcmVjdGlvbi1jb250ZXh0LnNjc3MiLCJ2ZW5kb3IvX25vcm1hbGl6ZS5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX21peGlucy5zY3NzIiwiX2ljb25mb250LnNjc3MiLCJnbG9iYWwvX2dsb2JhbC5zY3NzIiwiZ2xvYmFsL190eXBvLnNjc3MiLCJnbG9iYWwvX2hlYWRlci5zY3NzIiwiZ2xvYmFsL19tZW51LnNjc3MiLCJnbG9iYWwvX2Zvb3Rlci5zY3NzIiwiZ2xvYmFsL19sYXlvdXQuc2NzcyIsImNvbXBvbmVudHMvX2NvbXBvbmVudHMuc2NzcyIsImNvbXBvbmVudHMvX2Zvcm0uc2NzcyIsImNvbXBvbmVudHMvX2J1dHRvbnMuc2NzcyIsImNvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCJjb21wb25lbnRzL19ibG9ja3Muc2NzcyIsImNvbXBvbmVudHMvX3BhZ2VyLnNjc3MiLCJjb21wb25lbnRzL19zZWxlY3RpemUuc2NzcyIsImNvbXBvbmVudHMvX2Nsb2NrLnNjc3MiLCJwYWdlcy9fcGFnZXMuc2NzcyIsInBhZ2VzL191c2VyLnNjc3MiLCJub2RlL19ub2RlLnNjc3MiLCJub2RlL19ob21lcGFnZS5zY3NzIiwibm9kZS9fc2l0ZW1hcC5zY3NzIiwibm9kZS9fYmFzaWMtcGFnZS5zY3NzIiwibm9kZS9fZGVwYXJ0bWVudC5zY3NzIiwibm9kZS9faHR0cC1lcnJvci5zY3NzIiwibm9kZS9fY29udGFjdC11cy5zY3NzIiwibm9kZS9fYXJ0aWNsZS5zY3NzIiwibm9kZS9fZXhwZXJpZW5jZS5zY3NzIiwibm9kZS9fb2ZmaWNlcy5zY3NzIiwibm9kZS9fb2ZmaWNlLnNjc3MiLCJub2RlL19nZW5lcmFsLXBhZ2Uuc2NzcyIsInZpZXdzL192aWV3cy5zY3NzIiwidmlld3MvX2RlcGFydG1lbnQtaW5kZXguc2NzcyIsInZpZXdzL19hcnRpY2xlLWluZGV4LnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLyogLS0tLS0gVkVORE9SIElNUE9SVFMgLS0tLS0gKi9cblxuQGltcG9ydCBcInZlbmRvci9ib3VyYm9uL2JvdXJib25cIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvbmVhdC9uZWF0LWhlbHBlcnNcIjtcbkBpbXBvcnQgXCJncmlkLnNjc3NcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvbmVhdC9uZWF0XCI7XG5AaW1wb3J0IFwidmVuZG9yL25vcm1hbGl6ZVwiO1xuXG5cblxuLyogLS0tLS0gVEhFTUUgSU1QT1JUUyAtLS0tLSAqL1xuLyogLS0tLS0gQWRkIGFueSBleHRyYSBfKi5zY3NzIGZpbGVzIGhlcmUgLS0tLS0gKi9cblxuQGltcG9ydCBcInZhcmlhYmxlcy5zY3NzXCI7XG5AaW1wb3J0IFwibWl4aW5zLnNjc3NcIjtcbkBpbXBvcnQgXCJpY29uZm9udC5zY3NzXCI7XG5cblxuQGltcG9ydCBcImdsb2JhbC9nbG9iYWxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbXBvbmVudHNcIjtcbkBpbXBvcnQgXCJwYWdlcy9wYWdlc1wiO1xuQGltcG9ydCBcIm5vZGUvbm9kZVwiO1xuQGltcG9ydCBcInZpZXdzL3ZpZXdzXCI7XG4iLCIvLyBCb3VyYm9uIDQuMS4xXG4vLyBodHRwOi8vYm91cmJvbi5pb1xuLy8gQ29weXJpZ2h0IDIwMTEtMjAxNSB0aG91Z2h0Ym90LCBpbmMuXG4vLyBNSVQgTGljZW5zZVxuXG4vLyBTZXR0aW5nc1xuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xuXG4vLyBDdXN0b20gSGVscGVyc1xuQGltcG9ydCBcImhlbHBlcnMvY29udmVydC11bml0c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZm9udC1zb3VyY2UtZGVjbGFyYXRpb25cIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2lzLW51bVwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvc2hhcGUtc2l6ZS1zdHJpcHBlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xuXG4vLyBDdXN0b20gRnVuY3Rpb25zXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnblwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb2xvci1saWdodG5lc3NcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLXNpemVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnQtc2hhZGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9tb2R1bGFyLXNjYWxlXCI7XG5cbi8vIENTUzMgTWl4aW5zXG5AaW1wb3J0IFwiY3NzMy9hbmltYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tmYWNlLXZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcImNzczMvYm94LXNpemluZ1wiO1xuQGltcG9ydCBcImNzczMvY2FsY1wiO1xuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9mbGV4LWJveFwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJjc3MzL2hpZHBpLW1lZGlhLXF1ZXJ5XCI7XG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9pbWFnZS1yZW5kZXJpbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2tleWZyYW1lc1wiO1xuQGltcG9ydCBcImNzczMvbGluZWFyLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9wZXJzcGVjdGl2ZVwiO1xuQGltcG9ydCBcImNzczMvcGxhY2Vob2xkZXJcIjtcbkBpbXBvcnQgXCJjc3MzL3JhZGlhbC1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvc2VsZWN0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90ZXh0LWRlY29yYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvdXNlci1zZWxlY3RcIjtcblxuLy8gQWRkb25zICYgb3RoZXIgbWl4aW5zXG5AaW1wb3J0IFwiYWRkb25zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiYWRkb25zL2RpcmVjdGlvbmFsLXZhbHVlc1wiO1xuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xuQGltcG9ydCBcImFkZG9ucy9mb250LWZhbWlseVwiO1xuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJhZGRvbnMvaHRtbDUtaW5wdXQtdHlwZXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3NpemVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy90cmlhbmdsZVwiO1xuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcblxuLy8gU29vbiB0byBiZSBkZXByZWNhdGVkIE1peGluc1xuQGltcG9ydCBcImJvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZ1wiO1xuIiwiLy8gVmFyaWFibGUgc2V0dGluZ3MgZm9yIC9hZGRvbnMvcHJlZml4ZXIuc2Nzc1xuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbW96aWxsYTogICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itc3BlYzogICAgICB0cnVlICFkZWZhdWx0OyAvLyByZXF1aXJlZCBmb3Iga2V5ZnJhbWUgbWl4aW5cbiIsIiRlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuIiwiJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3Igc3RyLXRvLW51bSBmbi5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfY29udmVydC11bml0cygkbnVtYmVyLCAkdW5pdCkge1xuICAkc3RyaW5nczogJ3B4JyAnY20nICdtbScgJyUnICdjaCcgJ3BpY2EnICdpbicgJ2VtJyAncmVtJyAncHQnICdwYycgJ2V4JyAndncnICd2aCcgJ3ZtaW4nICd2bWF4JywgJ2RlZycsICdyYWQnLCAnZ3JhZCcsICd0dXJuJztcbiAgJHVuaXRzOiAgIDFweCAgMWNtICAxbW0gIDElICAxY2ggIDFwaWNhICAxaW4gIDFlbSAgMXJlbSAgMXB0ICAxcGMgIDFleCAgMXZ3ICAxdmggIDF2bWluICAxdm1heCwgIDFkZWcsICAxcmFkLCAgMWdyYWQsIDF0dXJuO1xuICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkdW5pdCk7XG5cbiAgQGlmIG5vdCAkaW5kZXgge1xuICAgIEB3YXJuIFwiVW5rbm93biB1bml0IGAjeyR1bml0fWAuXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAcmV0dXJuICRudW1iZXIgKiBudGgoJHVuaXRzLCAkaW5kZXgpO1xufVxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2Vcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gICRzcmM6IG51bGw7XG5cbiAgJGZvcm1hdHMtbWFwOiAoXG4gICAgZW90OiAgIFwiI3skZmlsZS1wYXRofS5lb3Q/I2llZml4XCIgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgd29mZjI6IFwiI3skZmlsZS1wYXRofS53b2ZmMlwiIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHdvZmY6ICBcIiN7JGZpbGUtcGF0aH0ud29mZlwiIGZvcm1hdChcIndvZmZcIiksXG4gICAgdHRmOiAgIFwiI3skZmlsZS1wYXRofS50dGZcIiBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICBzdmc6ICAgXCIjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX1cIiBmb3JtYXQoXCJzdmdcIilcbiAgKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRmb3JtYXRzLW1hcCB7XG4gICAgQGlmIGNvbnRhaW5zKCRmaWxlLWZvcm1hdHMsICRrZXkpIHtcbiAgICAgICRmaWxlLXBhdGg6IG50aCgkdmFsdWVzLCAxKTtcbiAgICAgICRmb250LWZvcm1hdDogbnRoKCR2YWx1ZXMsIDIpO1xuXG4gICAgICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgZm9udC11cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIHVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzcmM7XG59XG4iLCJAZnVuY3Rpb24gX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXR5cGUsICRncmFkaWVudC1wb3NpdGlvbnMpIHtcbiAgQGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQHJldHVybiAkZ3JhZGllbnQtcG9zaXRpb25zO1xufVxuIiwiLy8gQ2hlY2sgZm9yIGEgdmFsaWQgbnVtYmVyXG5cbkBmdW5jdGlvbiBfaXMtbnVtKCR2YWx1ZSkge1xuICBAcmV0dXJuIGNvbnRhaW5zKCcwJyAnMScgJzInICczJyAnNCcgJzUnICc2JyAnNycgJzgnICc5JyAwIDEgMiAzIDQgNSA2IDcgOCA5LCAkdmFsdWUpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCkge1xuICAkb2Zmc2V0OiBudWxsO1xuICAkdW5pdC1zaG9ydDogIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMiwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR1bml0LWxvbmc6ICAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICBAaWYgKCR1bml0LWxvbmcgPT0gXCJncmFkXCIpIG9yXG4gICAgICAoJHVuaXQtbG9uZyA9PSBcInR1cm5cIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LWxvbmcgPT0gXCJncmFkXCIsIC0xMDBncmFkICogMywgLTAuNzV0dXJuKTtcbiAgfVxuXG4gIEBlbHNlIGlmICgkdW5pdC1zaG9ydCA9PSBcImRlZ1wiKSBvclxuICAgICAgICAgICAoJHVuaXQtc2hvcnQgPT0gXCJyYWRcIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LXNob3J0ID09IFwiZGVnXCIsIC05MCAqIDMsIDEuNnJhZCk7XG4gIH1cblxuICBAaWYgJG9mZnNldCB7XG4gICAgJG51bTogX3N0ci10by1udW0oJGZpcnN0LXZhbCk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgKCRvZmZzZXQgLSAkbnVtKSArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDAsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGhhcy1tdWx0aXBsZS12YWxzOiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCIgXCIpO1xuICAkaGFzLXNpbmdsZS1wb3NpdGlvbjogdW5xdW90ZShfcG9zaXRpb24tZmxpcHBlcigkZmlyc3QtdmFsKSArIFwiXCIpO1xuICAkaGFzLWFuZ2xlOiBfaXMtbnVtKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAwKSk7XG5cbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkc3BlYzogbnVsbDtcbiAgJGRlZ3JlZTogbnVsbDtcbiAgJHNpZGU6IG51bGw7XG4gICRjb3JuZXI6IG51bGw7XG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xuICBAaWYgKCRsZW5ndGggPiAxKSB7XG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XG5cbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRhYmlsaXR5XG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICB9XG5cbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xuICAgICAgJGRlZ3JlZTogJHBvcztcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcbiAgICAgICRzcGVjOiAkcG9zO1xuICAgIH1cbiAgfVxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcbn1cblxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcbiBAcmV0dXJuIGlmKCRwb3MgPT0gbGVmdCwgcmlnaHQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHJpZ2h0LCBsZWZ0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSB0b3AsIGJvdHRvbSwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gYm90dG9tLCB0b3AsIG51bGwpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKSB7XG4gICR2YWwtMTogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDAsICRoYXMtbXVsdGlwbGUtdmFscyAtIDEgKTtcbiAgJHZhbC0yOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGhhcy1tdWx0aXBsZS12YWxzICsgMSwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR2YWwtMzogbnVsbDtcbiAgJGhhcy12YWwtMzogc3RyLWluZGV4KCR2YWwtMiwgXCIgXCIpO1xuXG4gIEBpZiAkaGFzLXZhbC0zIHtcbiAgICAkdmFsLTM6IHN0ci1zbGljZSgkdmFsLTIsICRoYXMtdmFsLTMgKyAxLCBzdHItbGVuZ3RoKCR2YWwtMikpO1xuICAgICR2YWwtMjogc3RyLXNsaWNlKCR2YWwtMiwgMCwgJGhhcy12YWwtMyAtIDEpO1xuICB9XG5cbiAgJHBvczogX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0xKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTIpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMyk7XG4gICRwb3M6IHVucXVvdGUoJHBvcyArIFwiXCIpO1xuXG4gIC8vIFVzZSBvbGQgc3BlYyBmb3Igd2Via2l0XG4gIEBpZiAkdmFsLTEgPT0gXCJ0b1wiIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGNvZGUgdXAgdG8gc3BlY1xuICBAZWxzZSB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWFyZy1wYXJzZXIoJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkRzEsICRHMiB7XG4gICAgJGZpcnN0LXZhbDogbnRoKCR2YWx1ZSwgMSk7XG4gICAgJHBvcy10eXBlOiAgdHlwZS1vZigkZmlyc3QtdmFsKTtcbiAgICAkc3BlYy1hdC1pbmRleDogbnVsbDtcblxuICAgIC8vIERldGVybWluZSBpZiBzcGVjIHdhcyBwYXNzZWQgdG8gbWl4aW5cbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xuICAgICAgJHNwZWMtYXQtaW5kZXg6IGlmKGluZGV4KCR2YWx1ZSwgYXQpLCBpbmRleCgkdmFsdWUsIGF0KSwgZmFsc2UpO1xuICAgIH1cbiAgICBAaWYgJHNwZWMtYXQtaW5kZXgge1xuICAgICAgQGlmICRzcGVjLWF0LWluZGV4ID4gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRzcGVjLWF0LWluZGV4IC0gMSkge1xuICAgICAgICAgICRzaGFwZS1zaXplOiAkc2hhcGUtc2l6ZSBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkc3BlYy1hdC1pbmRleCA9PSAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAkRzE6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gSWYgbm90IHNwZWMgY2FsY3VsYXRlIGNvcnJlY3QgdmFsdWVzXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICgkcG9zLXR5cGUgIT0gY29sb3IpIG9yICgkZmlyc3QtdmFsICE9IFwidHJhbnNwYXJlbnRcIikge1xuICAgICAgICBAaWYgKCRwb3MtdHlwZSA9PSBudW1iZXIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwidG9wXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwicmlnaHRcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJsZWZ0XCIpIHtcblxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkcG9zID09ICRHMSB7XG4gICAgICAgICAgICAkRzE6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWZcbiAgICAgICAgICAgKCRmaXJzdC12YWwgPT0gXCJlbGxpcHNlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2lyY2xlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY29udGFpblwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvdmVyXCIpIHtcblxuICAgICAgICAgICRzaGFwZS1zaXplOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRHMSB7XG4gICAgICAgICAgICAkRzE6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2UgaWYgJHZhbHVlID09ICRHMiB7XG4gICAgICAgICAgICAkRzI6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zKSB7XG4gICRzaGFwZS1zaXplOiBudGgoJGdyYWRpZW50LXBvcywgMSk7XG4gICRwb3M6ICAgICAgICBudGgoJGdyYWRpZW50LXBvcywgMik7XG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAkcHJlLXNwZWM6IHVucXVvdGUoaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCkpXG4gICAgICAgICAgICAgdW5xdW90ZShpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSxcIiwgbnVsbCkpO1xuICAkcG9zLXNwZWM6IGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcblxuICAkc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHBvcy1zcGVjfVwiO1xuXG4gIC8vIEFkZCBjb21tYVxuICBAaWYgKCRzcGVjICE9ICcgICcpIHtcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIlxuICB9XG5cbiAgQHJldHVybiAkcHJlLXNwZWMgJHNwZWM7XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDAsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGlzLXNwZWMtc3ludGF4OiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCJhdFwiKTtcblxuICBAaWYgJGlzLXNwZWMtc3ludGF4IGFuZCAkaXMtc3BlYy1zeW50YXggPiAxIHtcbiAgICAka2V5d29yZDogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRpcy1zcGVjLXN5bnRheCAtIDIpO1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgICAkcG9zOiBhcHBlbmQoJHBvcywgJGtleXdvcmQsIGNvbW1hKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSBpZiAkaXMtc3BlYy1zeW50YXggPT0gMSB7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgIClcbiAgfVxuXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgIClcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIi8vIFVzZXIgZm9yIGxpbmVhciBhbmQgcmFkaWFsIGdyYWRpZW50cyB3aXRoaW4gYmFja2dyb3VuZC1pbWFnZSBvciBib3JkZXItaW1hZ2UgcHJvcGVydGllc1xuXG5AZnVuY3Rpb24gX3JlbmRlci1ncmFkaWVudHMoJGdyYWRpZW50LXBvc2l0aW9ucywgJGdyYWRpZW50cywgJGdyYWRpZW50LXR5cGUsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRwcmUtc3BlYzogbnVsbDtcbiAgJHNwZWM6IG51bGw7XG4gICR2ZW5kb3ItZ3JhZGllbnRzOiBudWxsO1xuICBAaWYgJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyIHtcbiAgICBAaWYgJGdyYWRpZW50LXBvc2l0aW9ucyB7XG4gICAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwge1xuICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgQGlmICR2ZW5kb3Ige1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiAtI3skdmVuZG9yfS0jeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRwcmUtc3BlY30gJGdyYWRpZW50cyk7XG4gIH1cbiAgQGVsc2UgaWYgJHZlbmRvciA9PSBmYWxzZSB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IFwiI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skc3BlY30gI3skZ3JhZGllbnRzfSlcIjtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogdW5xdW90ZSgkdmVuZG9yLWdyYWRpZW50cyk7XG4gIH1cbiAgQHJldHVybiAkdmVuZG9yLWdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSkge1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHNoYXBlLXNpemUge1xuICAgIEBpZiAoJHZhbHVlID09IFwiY292ZXJcIikgb3IgKCR2YWx1ZSA9PSBcImNvbnRhaW5cIikge1xuICAgICAgJHZhbHVlOiBudWxsO1xuICAgIH1cbiAgICAkc2hhcGUtc2l6ZS1zcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skdmFsdWV9XCI7XG4gIH1cbiAgQHJldHVybiAkc2hhcGUtc2l6ZS1zcGVjO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBsaW5lYXIvcmFkaWFsLWdyYWRpZW50LXBhcnNlcnMuXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX3N0ci10by1udW0oJHN0cmluZykge1xuICAvLyBNYXRyaWNlc1xuICAkc3RyaW5nczogJzAnICcxJyAnMicgJzMnICc0JyAnNScgJzYnICc3JyAnOCcgJzknO1xuICAkbnVtYmVyczogIDAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDk7XG5cbiAgLy8gUmVzdWx0XG4gICRyZXN1bHQ6IDA7XG4gICRkaXZpZGVyOiAwO1xuICAkbWludXM6IGZhbHNlO1xuXG4gIC8vIExvb3BpbmcgdGhyb3VnaCBhbGwgY2hhcmFjdGVyc1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkc3RyaW5nLCAkaSwgJGkpO1xuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy0nIHtcbiAgICAgICRtaW51czogdHJ1ZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGl2aWRlcjogMTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgbm90ICRpbmRleCB7XG4gICAgICAgICRyZXN1bHQ6IGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbiAgICAgICAgQHJldHVybiBfY29udmVydC11bml0cygkcmVzdWx0LCBzdHItc2xpY2UoJHN0cmluZywgJGkpKTtcbiAgICAgIH1cblxuICAgICAgJG51bWJlcjogbnRoKCRudW1iZXJzLCAkaW5kZXgpO1xuXG4gICAgICBAaWYgJGRpdmlkZXIgPT0gMCB7XG4gICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMDtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBNb3ZlIHRoZSBkZWNpbWFsIGRvdCB0byB0aGUgbGVmdFxuICAgICAgICAkZGl2aWRlcjogJGRpdmlkZXIgKiAxMDtcbiAgICAgICAgJG51bWJlcjogJG51bWJlciAvICRkaXZpZGVyO1xuICAgICAgfVxuXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgJG51bWJlcjtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG59XG4iLCJAZnVuY3Rpb24gYXNzaWduLWlucHV0cygkaW5wdXRzLCAkcHNldWRvOiBudWxsKSB7XG4gICRsaXN0IDogKCk7XG5cbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xuICAgICRpbnB1dDogdW5xdW90ZSgkaW5wdXQpO1xuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn0iLCIvLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB3aGV0aGVyIGEgY29sb3IgaXMgbGlnaHQgb3IgZGFya1xuLy8gUmV0dXJucyBhIGJvb2xlYW5cbi8vIE1vcmUgZGV0YWlscyBoZXJlIGh0dHA6Ly9yb2JvdHMudGhvdWdodGJvdC5jb20vY2xvc2VyLWxvb2stY29sb3ItbGlnaHRuZXNzXG5cbkBmdW5jdGlvbiBpcy1saWdodCgkaGV4LWNvbG9yKSB7XG4gICQtbG9jYWwtcmVkOiByZWQocmdiYSgkaGV4LWNvbG9yLCAxLjApKTtcbiAgJC1sb2NhbC1ncmVlbjogZ3JlZW4ocmdiYSgkaGV4LWNvbG9yLCAxLjApKTtcbiAgJC1sb2NhbC1ibHVlOiBibHVlKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG5cbiAgJC1sb2NhbC1saWdodG5lc3M6ICgkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjIpIC8gMjU1O1xuXG4gIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MgPiAuNjtcbn1cbiIsIi8vIFRlc3QgYSBTYXNzIGxpc3QgdG8gc2VlIGlmIGl0IGNvbnRhaW5zIGEgZGVmaW5lZCB2YWx1ZVxuLy8gQWxsb3dzIGZvciBjaGVja2luZyBpZiBhIGxpc3QgY29udGFpbnMgc2V2ZXJhbCB2YWx1ZXMgYXQgb25jZVxuXG5AZnVuY3Rpb24gY29udGFpbnMoJGxpc3QsICR2YWx1ZXMuLi4pIHtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiB0eXBlLW9mKGluZGV4KCRsaXN0LCAkdmFsdWUpKSAhPSBcIm51bWJlclwiIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuIiwiLy8gQ2hlY2sgZm9yIGEgdmFsaWQgbGVuZ3RoXG5cbkBmdW5jdGlvbiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpICE9IFwibnVsbFwiIGFuZCAoc3RyLXNsaWNlKCR2YWx1ZSArIFwiXCIsIDEsIDQpID09ICdjYWxjJ1xuICAgICAgIG9yIGluZGV4KGF1dG8gaW5oZXJpdCBpbml0aWFsIDAsICR2YWx1ZSlcbiAgICAgICBvciAodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIG5vdCh1bml0bGVzcygkdmFsdWUpKSkpO1xufVxuIiwiLy8gQ2hlY2sgZm9yIGEgdmFsaWQgc2l6ZVxuXG5AZnVuY3Rpb24gaXMtc2l6ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxuICAgICAgICAgIG9yIGNvbnRhaW5zKFwiZmlsbFwiIFwiZml0LWNvbnRlbnRcIiBcIm1pbi1jb250ZW50XCIgXCJtYXgtY29udGVudFwiLCAkdmFsdWUpO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcblxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxZW07XG59XG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byByZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIHJlbSgxMilcbi8vIEFzc3VtZXMgJGVtLWJhc2UgaXMgdGhlIGZvbnQtc2l6ZSBvZiA8aHRtbD5cblxuQGZ1bmN0aW9uIHJlbSgkcHh2YWwpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xufVxuIiwiLy8gU3J0aXBzIHRoZSB1bml0cyBmcm9tIGEgdmFsdWUuIGUuZy4gMTJweCAtPiAxMlxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbCkge1xuICBAcmV0dXJuICgkdmFsIC8gKCR2YWwgKiAwICsgMSkpO1xufVxuIiwiLy8gQWRkIHBlcmNlbnRhZ2Ugb2Ygd2hpdGUgdG8gYSBjb2xvclxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCl7XG4gIEByZXR1cm4gbWl4KHdoaXRlLCAkY29sb3IsICRwZXJjZW50KTtcbn1cblxuLy8gQWRkIHBlcmNlbnRhZ2Ugb2YgYmxhY2sgdG8gYSBjb2xvclxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnQpe1xuICBAcmV0dXJuIG1peChibGFjaywgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLCIvLyBSZXR1cm4gdmVuZG9yLXByZWZpeGVkIHByb3BlcnR5IG5hbWVzIGlmIGFwcHJvcHJpYXRlXG4vLyBFeGFtcGxlOiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCh0cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kKSwgbW96KSAtPiAtbW96LXRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmRcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wcywgJHZlbmRvcjogZmFsc2UpIHtcblx0JG5ldy1wcm9wczogKCk7XG5cdFxuXHRAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xuXHRcdCRuZXctcHJvcHM6IGFwcGVuZCgkbmV3LXByb3BzLCB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3IpLCBjb21tYSk7XG5cdH1cblxuXHRAcmV0dXJuICRuZXctcHJvcHM7XG59XG5cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3I6IGZhbHNlKSB7XG5cdC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxuXHRAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcblx0XHRAcmV0dXJuIHVucXVvdGUoJy0nKyR2ZW5kb3IrJy0nKyRwcm9wKTtcblx0fVxuXHRAZWxzZSB7XG5cdFx0QHJldHVybiAkcHJvcDtcblx0fVxufSIsIi8vIENvbnZlcnQgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheFxuXG5AZnVuY3Rpb24gdW5wYWNrKCRzaG9ydGhhbmQpIHtcbiAgQGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAxIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKTtcbiAgfVxuICBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMiB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH1cbiAgQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDMge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMykgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRzaG9ydGhhbmQ7XG4gIH1cbn1cblxuIiwiLy8gU2NhbGluZyBWYXJpYWJsZXNcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcbiRtaW5vci10aGlyZDogICAgICAxLjI7XG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xuJG9jdGF2ZTogICAgICAgICAgIDI7XG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XG4kZG91YmxlLW9jdGF2ZTogICAgNDtcblxuJG1vZHVsYXItc2NhbGUtcmF0aW86ICRwZXJmZWN0LWZvdXJ0aCAhZGVmYXVsdDtcbiRtb2R1bGFyLXNjYWxlLWJhc2U6IGVtKCRlbS1iYXNlKSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlOiAkbW9kdWxhci1zY2FsZS1iYXNlLCAkcmF0aW86ICRtb2R1bGFyLXNjYWxlLXJhdGlvKSB7XG4gICR2MTogbnRoKCR2YWx1ZSwgMSk7XG4gICR2MjogbnRoKCR2YWx1ZSwgbGVuZ3RoKCR2YWx1ZSkpO1xuICAkdmFsdWU6ICR2MTtcblxuICAvLyBzY2FsZSAkdjIgdG8ganVzdCBhYm92ZSAkdjFcbiAgQHdoaWxlICR2MiA+ICR2MSB7XG4gICAgJHYyOiAoJHYyIC8gJHJhdGlvKTsgLy8gd2lsbCBiZSBvZmYtYnktMVxuICB9XG4gIEB3aGlsZSAkdjIgPCAkdjEge1xuICAgICR2MjogKCR2MiAqICRyYXRpbyk7IC8vIHdpbGwgZml4IG9mZi1ieS0xXG4gIH1cblxuICAvLyBjaGVjayBBRlRFUiBzY2FsaW5nICR2MiB0byBwcmV2ZW50IGRvdWJsZS1jb3VudGluZyBjb3JuZXItY2FzZVxuICAkZG91YmxlLXN0cmFuZGVkOiAkdjIgPiAkdjE7XG5cbiAgQGlmICRpbmNyZW1lbnQgPiAwIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRpbmNyZW1lbnQge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgKiAkcmF0aW8pID4gJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAqICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxICogJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRpbmNyZW1lbnQgPCAwIHtcbiAgICAvLyBhZGp1c3QgJHYyIHRvIGp1c3QgYmVsb3cgJHYxXG4gICAgQGlmICRkb3VibGUtc3RyYW5kZWQge1xuICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gJGluY3JlbWVudCB0aHJvdWdoIC0xIHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxIC8gJHJhdGlvKSA8ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAvICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1hbmltYXRpb25zLyN0aGUtYW5pbWF0aW9uLW5hbWUtcHJvcGVydHktXG4vLyBFYWNoIG9mIHRoZXNlIG1peGlucyBzdXBwb3J0IGNvbW1hIHNlcGFyYXRlZCBsaXN0cyBvZiB2YWx1ZXMsIHdoaWNoIGFsbG93cyBkaWZmZXJlbnQgdHJhbnNpdGlvbnMgZm9yIGluZGl2aWR1YWwgcHJvcGVydGllcyB0byBiZSBkZXNjcmliZWQgaW4gYSBzaW5nbGUgc3R5bGUgcnVsZS4gRWFjaCB2YWx1ZSBpbiB0aGUgbGlzdCBjb3JyZXNwb25kcyB0byB0aGUgdmFsdWUgYXQgdGhhdCBzYW1lIHBvc2l0aW9uIGluIHRoZSBvdGhlciBwcm9wZXJ0aWVzLlxuXG4vLyBPZmZpY2lhbCBhbmltYXRpb24gc2hvcnRoYW5kIHByb3BlcnR5LlxuQG1peGluIGFuaW1hdGlvbiAoJGFuaW1hdGlvbnMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLCAkYW5pbWF0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gSW5kaXZpZHVhbCBBbmltYXRpb24gUHJvcGVydGllc1xuQG1peGluIGFuaW1hdGlvbi1uYW1lICgkbmFtZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRuYW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uICgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24gKCRtb3Rpb25zLi4uKSB7XG4vLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQgKCR2YWx1ZXMuLi4pIHtcbi8vIGluZmluaXRlIHwgPG51bWJlcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJHZhbHVlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbiAoJGRpcmVjdGlvbnMuLi4pIHtcbi8vIG5vcm1hbCB8IGFsdGVybmF0ZVxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUgKCRzdGF0ZXMuLi4pIHtcbi8vIHJ1bm5pbmcgfCBwYXVzZWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1kZWxheSAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlICgkbW9kZXMuLi4pIHtcbi8vIG5vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGFwcGVhcmFuY2UgKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhcHBlYXJhbmNlLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tmYWNlLXZpc2liaWxpdHkgbWl4aW5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJhY2tmYWNlLXZpc2liaWxpdHksICR2aXNpYmlsaXR5LCB3ZWJraXQgc3BlYyk7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZHMgdXNpbmcgc2hvcnRoYW5kXG4vLyBub3RhdGlvbi5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQoJGJhY2tncm91bmRzLi4uKSB7XG4gICR3ZWJraXQtYmFja2dyb3VuZHM6ICgpO1xuICAkc3BlYy1iYWNrZ3JvdW5kczogKCk7XG5cbiAgQGVhY2ggJGJhY2tncm91bmQgaW4gJGJhY2tncm91bmRzIHtcbiAgICAkd2Via2l0LWJhY2tncm91bmQ6ICgpO1xuICAgICRzcGVjLWJhY2tncm91bmQ6ICgpO1xuICAgICRiYWNrZ3JvdW5kLXR5cGU6IHR5cGUtb2YoJGJhY2tncm91bmQpO1xuXG4gICAgQGlmICRiYWNrZ3JvdW5kLXR5cGUgPT0gc3RyaW5nIG9yICRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCB7XG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xuICAgICRzcGVjLWJhY2tncm91bmRzOiAgIGFwcGVuZCgkc3BlYy1iYWNrZ3JvdW5kcywgICAkc3BlYy1iYWNrZ3JvdW5kLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICR3ZWJraXQtYmFja2dyb3VuZHM7XG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcbiAgJHdlYmtpdC1pbWFnZXM6ICgpO1xuICAkc3BlYy1pbWFnZXM6ICgpO1xuXG4gIEBlYWNoICRpbWFnZSBpbiAkaW1hZ2VzIHtcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcbiAgICAkc3BlYy1pbWFnZTogKCk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAwLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGltYWdlLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWltYWdlOiAkaW1hZ2U7XG4gICAgICAgICAgJHNwZWMtaW1hZ2U6ICRpbWFnZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcbiAgICAkc3BlYy1pbWFnZXM6ICAgYXBwZW5kKCRzcGVjLWltYWdlcywgICAkc3BlYy1pbWFnZSwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiAkd2Via2l0LWltYWdlcztcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xufVxuIiwiQG1peGluIGJvcmRlci1pbWFnZSgkYm9yZGVycy4uLikge1xuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xuICAkc3BlYy1ib3JkZXJzOiAoKTtcblxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XG4gICAgJHNwZWMtYm9yZGVyOiAoKTtcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XG5cbiAgICBAaWYgJGJvcmRlci10eXBlID09IHN0cmluZyBvciBsaXN0IHtcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogJGJvcmRlcjtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xuICB9XG5cbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItaW1hZ2U6ICRzcGVjLWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLy9FeGFtcGxlczpcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSAyMCBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgMjAgMzAgNDAgNTAgc3RyZXRjaCByb3VuZCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcbiIsIi8vIEJvcmRlciBSYWRpdXMgKFNob3J0aGFuZClcbi8vIFByb3ZpZGVzIGEgc2hvcnRoYW5kIHN5bnRheCB0byB0YXJnZXQgYW5kIGFkZCBib3JkZXIgcmFkaWkgdG8gYm90aCBjb3JuZXJzIG9uIG9uZSBzaWRlIG9mIGEgYm94XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xufVxuIiwiQG1peGluIGJveC1zaXppbmcgKCRib3gpIHtcbi8vICBjb250ZW50LWJveCB8IGJvcmRlci1ib3ggfCBpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuICAjeyRwcm9wZXJ0eX06ICAgICAgICAgY2FsYygjeyR2YWx1ZX0pO1xufVxuIiwiQG1peGluIGNvbHVtbnMoJGFyZzogYXV0bykge1xuLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XG4vLyBhdXRvIHx8IGludGVnZXJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWNvdW50LCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkbGVuZ3RoOiBub3JtYWwpIHtcbi8vIG5vcm1hbCB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWdhcCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1maWxsKCRhcmc6IGF1dG8pIHtcbi8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xuLy8gPGJvcmRlci13aWR0aD4gfHwgPGJvcmRlci1zdHlsZT4gfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZSwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlOiBub25lKSB7XG4vLyBub25lIHwgaGlkZGVuIHwgZGFzaGVkIHwgZG90dGVkIHwgZG91YmxlIHwgZ3Jvb3ZlIHwgaW5zZXQgfCBpbnNldCB8IG91dHNldCB8IHJpZGdlIHwgc29saWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoICgkd2lkdGg6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1zcGFuKCRhcmc6IG5vbmUpIHtcbi8vIG5vbmUgfHwgYWxsXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcbi8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi13aWR0aCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBmaWx0ZXIoJGZ1bmN0aW9uOiBub25lKSB7XG4gIC8vIDxmaWx0ZXItZnVuY3Rpb24+IFs8ZmlsdGVyLWZ1bmN0aW9uXSogfCBub25lXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZpbHRlciwgJGZ1bmN0aW9uLCB3ZWJraXQgc3BlYyk7XG59XG5cbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcbiAgZGlzcGxheTogYm94O1xufVxuXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwLjApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuLy8gVW5pZmllZCBhdHRyaWJ1dGVzIGZvciAyMDA5LCAyMDExLCBhbmQgMjAxMiBmbGF2b3Vycy5cblxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXG4vLyAyMDExIC0gZGlzcGxheSAoZmxleGJveCB8IGlubGluZS1mbGV4Ym94KVxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xuLy8gZmxleCB8IGlubGluZS1mbGV4XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xuICAgIC8vIDIwMDlcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiBib3g7XG5cbiAgICAvLyAyMDEyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIEBlbHNlIGlmICR2YWx1ZSA9PSBcImlubGluZS1mbGV4XCIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJveDtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogJHZhbHVlO1xuICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IFwibm9ybWFsXCI7XG5cbiAgQGlmICR2YWx1ZSA9PSByb3cge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfVxuXG4gIEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgfVxuXG4gIEBlbHNlIGlmICR2YWx1ZSA9PSBcImNvbHVtbi1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkdmFsdWUtMjAwOSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJyZXZlcnNlXCIge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWxpbmVzIChzaW5nbGUgfCBtdWx0aXBsZSlcbi8vIDIwMTEgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG4vLyAyMDEyIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWU6IG5vd3JhcCkge1xuXG4gIC8vIEFsdCB2YWx1ZXNcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IHdyYXAge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwid3JhcC1yZXZlcnNlXCIge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1mbG93LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBib3gtb3JkaW5hbC1ncm91cCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4LW9yZGVyIChpbnRlZ2VyKVxuLy8gMjAxMiAtIG9yZGVyIChpbnRlZ2VyKVxuQG1peGluIG9yZGVyKCRpbnQ6IDApIHtcbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1vcmRlcjogJGludDtcbn1cblxuLy8gMjAxMiAtIGZsZXgtZ3JvdyAobnVtYmVyKVxuQG1peGluIGZsZXgtZ3JvdygkbnVtYmVyOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZ3JvdywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxuQG1peGluIGZsZXgtc2hyaW5rKCRudW1iZXI6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1zaHJpbmssICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoOiBhdXRvKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR3aWR0aDtcbn1cblxuLy8gMjAwOSAtIGJveC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDExIC0gZmxleC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDEyIC0ganVzdGlmeS1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kKVxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcblxuICAvLyBBbHQgdmFsdWVzLlxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkYWx0LXZhbHVlOiBqdXN0aWZ5O1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoanVzdGlmeS1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtcGFjazogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDExIC0gZmxleC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24taXRlbXMgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG5cbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH1cblxuICBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfVxuXG4gIEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH1cblxuICBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogJHZhbHVlLTIwMTE7XG59XG4iLCJAbWl4aW4gZm9udC1mYWNlKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICR3ZWlnaHQ6IG5vcm1hbCxcbiAgJHN0eWxlOiBub3JtYWwsXG4gICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XG5cbiAgJGZvbnQtdXJsLXByZWZpeDogZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKTtcblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcblxuICAgIHNyYzogZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICAgICAkZm9udC1mYW1pbHksXG4gICAgICAkZmlsZS1wYXRoLFxuICAgICAgJGFzc2V0LXBpcGVsaW5lLFxuICAgICAgJGZpbGUtZm9ybWF0cyxcbiAgICAgICRmb250LXVybC1wcmVmaXhcbiAgICApO1xuICB9XG59XG4iLCIvLyBGb250IGZlYXR1cmUgc2V0dGluZ3MgbWl4aW4gYW5kIHByb3BlcnR5IGRlZmF1bHQuXG4vLyBFeGFtcGxlczogQGluY2x1ZGUgZm9udC1mZWF0dXJlLXNldHRpbmdzKFwibGlnYVwiKTtcbi8vICAgICAgICAgICBAaW5jbHVkZSBmb250LWZlYXR1cmUtc2V0dGluZ3MoXCJsbnVtXCIgZmFsc2UpO1xuLy8gICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyhcInBudW1cIiAxLCBcImtlcm5cIiAwKTtcbi8vICAgICAgICAgICBAaW5jbHVkZSBmb250LWZlYXR1cmUtc2V0dGluZ3MoXCJzczAxXCIsIFwic3MwMlwiKTtcblxuQG1peGluIGZvbnQtZmVhdHVyZS1zZXR0aW5ncygkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59IiwiLy8gSGlEUEkgbWl4aW4uIERlZmF1bHQgdmFsdWUgc2V0IHRvIDEuMyB0byB0YXJnZXQgR29vZ2xlIE5leHVzIDcgKGh0dHA6Ly9iamFuZ28uY29tL2FydGljbGVzL21pbi1kZXZpY2UtcGl4ZWwtcmF0aW8vKVxuQG1peGluIGhpZHBpKCRyYXRpbzogMS4zKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogI3skcmF0aW99LzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiByb3VuZCgkcmF0aW8gKiA5NmRwaSkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAkcmF0aW8gKiAxZHBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAbWl4aW4gaHlwaGVucygkaHlwaGVuYXRpb246IG5vbmUpIHtcbi8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICRoeXBoZW5hdGlvbiwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn0iLCJAbWl4aW4gaW1hZ2UtcmVuZGVyaW5nICgkbW9kZTphdXRvKSB7XG5cbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xuICAgICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsgLy8gSUU4K1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtbW96LWNyaXNwLWVkZ2VzO1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcbiAgICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcbiAgICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xuICB9XG59XG4iLCIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLW1vemlsbGE6IHRydWUgIWdsb2JhbDtcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYSAgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjICAgICAgIWdsb2JhbDtcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyB7XG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHBvcywgJEcxLCAkRzI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHMzogbnVsbCwgJEc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzU6IG51bGwsICRHNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc3OiBudWxsLCAkRzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHOTogbnVsbCwgJEcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG4gIC8vIERldGVjdCB3aGF0IHR5cGUgb2YgdmFsdWUgZXhpc3RzIGluICRwb3NcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRwb3Mtc3BlYzogbnVsbDtcbiAgJHBvcy1kZWdyZWU6IG51bGw7XG5cbiAgLy8gSWYgJHBvcyBpcyBtaXNzaW5nIGZyb20gbWl4aW4sIHJlYXNzaWduIHZhcnMgYW5kIGFkZCBkZWZhdWx0IHBvc2l0aW9uXG4gIEBpZiAoJHBvcy10eXBlID09IGNvbG9yKSBvciAobnRoKCRwb3MsIDEpID09IFwidHJhbnNwYXJlbnRcIikgIHtcbiAgICAkRzEwOiAkRzk7ICRHOTogJEc4OyAkRzg6ICRHNzsgJEc3OiAkRzY7ICRHNjogJEc1O1xuICAgICAkRzU6ICRHNDsgJEc0OiAkRzM7ICRHMzogJEcyOyAkRzI6ICRHMTsgJEcxOiAkcG9zO1xuICAgICAkcG9zOiBudWxsO1xuICB9XG5cbiAgQGlmICRwb3Mge1xuICAgICRwb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKTtcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XG4gIH1cblxuICAkZnVsbDogJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMDtcblxuICAvLyBTZXQgJEcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRHMSwgMSk7XG5cbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRHMSwgICAgICAgICRHMixcbiAgICAgICAgICAgICAgICAgICAgICAgJEczOiBudWxsLCAkRzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHNTogbnVsbCwgJEc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzc6IG51bGwsICRHODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc5OiBudWxsLCAkRzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG5cbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkRzEsICRHMiwgJHBvcywgJHNoYXBlLXNpemUpO1xuICAkRzE6ICBudGgoJGRhdGEsIDEpO1xuICAkRzI6ICBudGgoJGRhdGEsIDIpO1xuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcblxuICAkZnVsbDogJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMDtcblxuICAvLyBTdHJpcCBkZXByZWNhdGVkIGNvdmVyL2NvbnRhaW4gZm9yIHNwZWNcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gIC8vIFNldCAkRzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xuXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXG4gICRzaGFwZS1zaXplOiBpZigkc2hhcGUtc2l6ZSwgJyN7JHNoYXBlLXNpemV9LCAnLCBudWxsKTtcbiAgJHBvczogICAgICAgIGlmKCRwb3MsICcjeyRwb3N9LCAnLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsICdhdCAjeyRwb3N9JywgbnVsbCk7XG4gICRzaGFwZS1zaXplLXNwZWM6IGlmKCgkc2hhcGUtc2l6ZS1zcGVjICE9ICcgJykgYW5kICgkcG9zID09IG51bGwpLCAnI3skc2hhcGUtc2l6ZS1zcGVjfSwgJywgJyN7JHNoYXBlLXNpemUtc3BlY30gJyk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQodW5xdW90ZSgjeyRwb3N9I3skc2hhcGUtc2l6ZX0jeyRmdWxsfSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwicmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gc2VsZWN0aW9uIHtcclxuICAkYmVmb3JlLWNvbG9uczogXCJcIjtcclxuXHJcbiAgQGlmICYge1xyXG4gICAgJGJlZm9yZS1jb2xvbnM6IFwiJlwiXHJcbiAgfVxyXG5cclxuICAjeyRiZWZvcmUtY29sb25zfTo6c2VsZWN0aW9uIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAjeyRiZWZvcmUtY29sb25zfTo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59IiwiQG1peGluIHRleHQtZGVjb3JhdGlvbigkdmFsdWUpIHtcbi8vIDx0ZXh0LWRlY29yYXRpb24tbGluZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1zdHlsZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1jb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLCAkdmFsdWUsIG1veik7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tbGluZSgkbGluZTogbm9uZSkge1xuLy8gbm9uZSB8fCB1bmRlcmxpbmUgfHwgb3ZlcmxpbmUgfHwgbGluZS10aHJvdWdoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1saW5lLCAkbGluZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1zdHlsZSgkc3R5bGU6IHNvbGlkKSB7XG4vLyBzb2xpZCB8fCBkb3VibGUgfHwgZG90dGVkIHx8IGRhc2hlZCB8fCB3YXZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1zdHlsZSwgJHN0eWxlLCBtb3ogd2Via2l0KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1jb2xvcigkY29sb3I6IGN1cnJlbnRDb2xvcikge1xuLy8gY3VycmVudENvbG9yIHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWNvbG9yLCAkY29sb3IsIG1veik7XG59XG4iLCJAbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eTogbm9uZSkge1xuLy8gIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4vLyB4LWF4aXMgLSBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgIHwgbGVuZ3RoIHwgJVxuLy8geS1heGlzIC0gdG9wICB8IGNlbnRlciB8IGJvdHRvbSB8IGxlbmd0aCB8ICVcbi8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSAoJHN0eWxlOiBmbGF0KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uICgkcHJvcGVydGllcy4uLikge1xuICAvLyBGaXggZm9yIHZlbmRvci1wcmVmaXggdHJhbnNmb3JtIHByb3BlcnR5XG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XG4gICR3ZWJraXQ6ICgpO1xuICAkbW96OiAoKTtcbiAgJHNwZWM6ICgpO1xuXG4gIC8vIENyZWF0ZSBsaXN0cyBmb3IgdmVuZG9yLXByZWZpeGVkIHRyYW5zZm9ybVxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAkbmVlZHMtcHJlZml4ZXM6IHRydWU7XG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MzogKCk7XG5cbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xuICAgICAgICAkbGlzdDM6IGpvaW4oJGxpc3QzLCAkdmFyKTtcblxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICAgICAkbGlzdDE6IGpvaW4oJGxpc3QxLCAkdmFyKTtcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcbiAgICAgICAgICRtb3o6IGFwcGVuZCgkbW96LCAgICAkbGlzdDIpO1xuICAgICAgICAkc3BlYzogYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGxpc3RzIGZvciBub24tcHJlZml4ZWQgdHJhbnNpdGlvbiBwcm9wZXJ0aWVzXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdDogIGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xuICAgICAgJHNwZWM6ICAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5ICgkcHJvcGVydGllcy4uLikge1xuICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCAnd2Via2l0Jyk7XG4gICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsICdtb3onKTtcbiAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbiAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uICgkbW90aW9ucy4uLikge1xuLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKClcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiB1c2VyLXNlbGVjdCgkYXJnOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkYXJnLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiLy8gVGhlIGNsZWFyZml4IG1peGluIHByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGNvbnRhaW4gZmxvYXRzXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTpcbi8vIC53cmFwcGVyIHtcbi8vICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLyB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG5cbi8vIEFja25vd2xlZGdlbWVudHM6XG4vLyBUaGllcnJ5IEtvYmxlbnR6LCBjc3Ntb2pvXG4vLyBodHRwOi8vZ29vLmdsL0FRV3Z5SFxuIiwiLy8gZGlyZWN0aW9uYWwtcHJvcGVydHkgbWl4aW5zIGFyZSBzaG9ydGhhbmRzXG4vLyBmb3Igd3JpdGluZyBwcm9wZXJ0aWVzIGxpa2UgdGhlIGZvbGxvd2luZ1xuLy9cbi8vIEBpbmNsdWRlIG1hcmdpbihudWxsIDAgMTBweCk7XG4vLyAtLS0tLS1cbi8vIG1hcmdpbi1yaWdodDogMDtcbi8vIG1hcmdpbi1ib3R0b206IDEwcHg7XG4vLyBtYXJnaW4tbGVmdDogMDtcbi8vXG4vLyAtIG9yIC1cbi8vXG4vLyBAaW5jbHVkZSBib3JkZXItc3R5bGUoZG90dGVkIG51bGwpO1xuLy8gLS0tLS0tXG4vLyBib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7XG4vLyBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4vL1xuLy8gLS0tLS0tXG4vL1xuLy8gTm90ZTogWW91IGNhbiBhbHNvIHVzZSBmYWxzZSBpbnN0ZWFkIG9mIG51bGxcblxuQGZ1bmN0aW9uIGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscykge1xuICAkb3V0cHV0OiBudWxsO1xuXG4gICRBOiBudGgoICR2YWxzLCAxICk7XG4gICRCOiBpZiggbGVuZ3RoKCR2YWxzKSA8IDIsICRBLCBudGgoJHZhbHMsIDIpKTtcbiAgJEM6IGlmKCBsZW5ndGgoJHZhbHMpIDwgMywgJEEsIG50aCgkdmFscywgMykpO1xuICAkRDogaWYoIGxlbmd0aCgkdmFscykgPCAyLCAkQSwgbnRoKCR2YWxzLCBpZiggbGVuZ3RoKCR2YWxzKSA8IDQsIDIsIDQpICkpO1xuXG4gIEBpZiAkQSA9PSAwIHsgJEE6IDAgfVxuICBAaWYgJEIgPT0gMCB7ICRCOiAwIH1cbiAgQGlmICRDID09IDAgeyAkQzogMCB9XG4gIEBpZiAkRCA9PSAwIHsgJEQ6IDAgfVxuXG4gIEBpZiAkQSA9PSAkQiBhbmQgJEEgPT0gJEMgYW5kICRBID09ICREIHsgJG91dHB1dDogJEEgICAgICAgICAgfVxuICBAZWxzZSBpZiAkQSA9PSAkQyBhbmQgJEIgPT0gJEQgICAgICAgICB7ICRvdXRwdXQ6ICRBICRCICAgICAgIH1cbiAgQGVsc2UgaWYgJEIgPT0gJEQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkQSAkQiAkQyAgICB9XG4gIEBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJEEgJEIgJEMgJEQgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuQGZ1bmN0aW9uIGNvbnRhaW5zLWZhbHN5KCRsaXN0KSB7XG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICBAaWYgbm90ICRpdGVtIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gZGlyZWN0aW9uYWwtcHJvcGVydHkoJHByZSwgJHN1ZiwgJHZhbHMpIHtcbiAgLy8gUHJvcGVydHkgTmFtZXNcbiAgJHRvcDogICAgJHByZSArIFwiLXRvcFwiICAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGJvdHRvbTogJHByZSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGxlZnQ6ICAgJHByZSArIFwiLWxlZnRcIiAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJHJpZ2h0OiAgJHByZSArIFwiLXJpZ2h0XCIgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGFsbDogICAgJHByZSArICAgICAgICAgICAgIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG5cbiAgJHZhbHM6IGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscyk7XG5cbiAgQGlmIGNvbnRhaW5zLWZhbHN5KCR2YWxzKSB7XG4gICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHMsIDEpOyB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAxIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAyKTsgfVxuICAgIH1cblxuICAgIC8vIHByb3A6IHRvcC9ib3R0b20gcmlnaHQvbGVmdFxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDIge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cblxuICAgIC8vIHByb3A6IHRvcCByaWdodC9sZWZ0IGJvdHRvbVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSAzIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG5cbiAgICAvLyBwcm9wOiB0b3AgcmlnaHQgYm90dG9tIGxlZnRcbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDQpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCA0KTsgfVxuICAgIH1cblxuICAvLyBwcm9wOiB0b3AvcmlnaHQvYm90dG9tL2xlZnRcbiAgfSBAZWxzZSB7XG4gICAgI3skYWxsfTogJHZhbHM7XG4gIH1cbn1cblxuQG1peGluIG1hcmdpbigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShtYXJnaW4sIGZhbHNlLCAkdmFscy4uLik7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XG59XG5cbkBtaXhpbiBib3JkZXItc3R5bGUoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBzdHlsZSwgJHZhbHMuLi4pO1xufVxuXG5AbWl4aW4gYm9yZGVyLWNvbG9yKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgY29sb3IsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIGJvcmRlci13aWR0aCgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHdpZHRoLCAkdmFscy4uLik7XG59XG4iLCJAbWl4aW4gZWxsaXBzaXMoJHdpZHRoOiAxMDAlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbiIsIiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG4kaGVsdmV0aWNhOiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiUm9ib3RvXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRtb25vc3BhY2U6IFwiQml0c3RyZWFtIFZlcmEgU2FucyBNb25vXCIsIFwiQ29uc29sYXNcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcbiIsIkBtaXhpbiBoaWRlLXRleHQoJGhlaWdodDogMWVtKSB7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBHZW5lcmF0ZSBhIHZhcmlhYmxlICgkYWxsLXRleHQtaW5wdXRzKSB3aXRoIGEgbGlzdCBvZiBhbGwgaHRtbDVcbi8vIGlucHV0IHR5cGVzIHRoYXQgaGF2ZSBhIHRleHQtYmFzZWQgaW5wdXQsIGV4Y2x1ZGluZyB0ZXh0YXJlYS5cbi8vIGh0dHA6Ly9kaXZlaW50b2h0bWw1Lm9yZy9mb3Jtcy5odG1sXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kaW5wdXRzLWxpc3Q6ICdpbnB1dFt0eXBlPVwiZW1haWxcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInNlYXJjaFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxuXG4gICAgICAgICAgICAgIC8vIFdlYmtpdCAmIEdlY2tvIG1heSBjaGFuZ2UgdGhlIGRpc3BsYXkgb2YgdGhlc2UgaW4gdGhlIGZ1dHVyZVxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImNvbG9yXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0aW1lXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ3ZWVrXCJdJztcblxuLy8gQmFyZSBpbnB1dHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtdGV4dC1pbnB1dHM6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1saXN0KTtcblxuLy8gSG92ZXIgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCwgaG92ZXIpO1xuXG4vLyBGb2N1cyBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1saXN0LCBmb2N1cyk7XG5cbi8vIEFjdGl2ZSBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCwgYWN0aXZlKTtcblxuXG4vLyBZb3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHN9XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHMtZm9jdXN9XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlfVxuXG4vLyBFeGFtcGxlXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyAgICN7JGFsbC10ZXh0LWlucHV0c30sIHRleHRhcmVhIHtcbi8vICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4vLyAgIH1cblxuXG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEdlbmVyYXRlIGEgdmFyaWFibGUgKCRhbGwtYnV0dG9uLWlucHV0cykgd2l0aCBhIGxpc3Qgb2YgYWxsIGh0bWw1XG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSBidXR0b24tYmFzZWQgaW5wdXQsIGV4Y2x1ZGluZyBidXR0b24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kaW5wdXRzLWJ1dHRvbi1saXN0OiAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuLy8gQmFyZSBpbnB1dHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0KTtcblxuLy8gSG92ZXIgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgaG92ZXIpO1xuXG4vLyBGb2N1cyBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1mb2N1czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0LCBmb2N1cyk7XG5cbi8vIEFjdGl2ZSBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgYWN0aXZlKTtcblxuXG5cbi8vIFlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTpcbi8vICN7JGFsbC1idXR0b24taW5wdXRzfVxuLy8gI3skYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXJ9XG4vLyAjeyRhbGwtYnV0dG9uLWlucHV0cy1mb2N1c31cbi8vICN7JGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZX1cblxuLy8gRXhhbXBsZVxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gICAjeyRhbGwtYnV0dG9uLWlucHV0c30sIGJ1dHRvbiB7XG4vLyAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xuLy8gICB9XG4iLCIvLyBTZXQgZWxlbWVudCBwb3NpdGlvbmluZyBpbiBhIHNpbmdsZSBzdGF0ZW1lbnRcblxuQG1peGluIHBvc2l0aW9uKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuXG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG5cbiAgJG9mZnNldHM6IChcbiAgICB0b3A6ICAgIG50aCgkY29vcmRpbmF0ZXMsIDEpLFxuICAgIHJpZ2h0OiAgbnRoKCRjb29yZGluYXRlcywgMiksXG4gICAgYm90dG9tOiBudGgoJGNvb3JkaW5hdGVzLCAzKSxcbiAgICBsZWZ0OiAgIG50aCgkY29vcmRpbmF0ZXMsIDQpXG4gICk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAZWFjaCAkb2Zmc2V0LCAkdmFsdWUgaW4gJG9mZnNldHMge1xuICAgIEBpZiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAkcmFkaWksIHdlYmtpdCBtcyBzcGVjKTtcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIFZhcmlhYmxlcyBsb2NhdGVkIGluIC9zZXR0aW5ncy9fcHJlZml4ZXIuc2Nzc1xuXG5AbWl4aW4gcHJlZml4ZXIgKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwiQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCwgJHJldGluYS1zdWZmaXg6IF8yeCwgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgIHVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9XG5cbiAgQGluY2x1ZGUgaGlkcGkge1xuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1zaXplOiAkYmFja2dyb3VuZC1zaXplO1xuXG4gIH1cbn1cbiIsIi8vIFNldCBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBpbiBhIHNpbmdsZSBzdGF0ZW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJgI3skaGVpZ2h0fWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCRoZWlnaHRgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG5cbiAgQGlmIGlzLXNpemUoJHdpZHRoKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG59XG4iLCIvLyBDU1MgY3ViaWMtYmV6aWVyIHRpbWluZyBmdW5jdGlvbnMuIFRpbWluZyBmdW5jdGlvbnMgY291cnRlc3kgb2YganF1ZXJ5LmVhc2llIChnaXRodWIuY29tL2phdWtpYS9lYXNpZSlcbi8vIFRpbWluZyBmdW5jdGlvbnMgYXJlIHRoZSBzYW1lIGFzIGRlbW8nZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXG5cbi8vIEVBU0UgSU5cbiRlYXNlLWluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCk7XG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRlYXNlLWluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlLWluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4vLyBFQVNFIE9VVFxuJGVhc2Utb3V0LXF1YWQ6ICAgICBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRlYXNlLW91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVhcnQ6ICAgIGN1YmljLWJlemllcigwLjE2NSwgIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xuJGVhc2Utb3V0LXF1aW50OiAgICBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtZXhwbzogICAgIGN1YmljLWJlemllcigwLjE5MCwgIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xuJGVhc2Utb3V0LWNpcmM6ICAgICBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcbiRlYXNlLW91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XG5cbi8vIEVBU0UgSU4gT1VUXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXNpbmU6ICBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJGVhc2UtaW4tb3V0LWJhY2s6ICBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcbiIsIkBtaXhpbiB0cmlhbmdsZSAoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcblxuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBpZihsZW5ndGgoJGNvbG9yKSA9PSAyLCBudGgoJGNvbG9yLCAyKSwgdHJhbnNwYXJlbnQpO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcblxuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG59XG4iLCJAbWl4aW4gd29yZC13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XG4gIG92ZXJmbG93LXdyYXA6ICR3cmFwO1xuICB3b3JkLXdyYXA6ICR3cmFwO1xuXG4gIEBpZiAkd3JhcCA9PSBicmVhay13b3JkIHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIH0gQGVsc2Uge1xuICAgIHdvcmQtYnJlYWs6ICR3cmFwO1xuICB9XG59XG4iLCIvLyBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXG5cbkBtaXhpbiBpbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQHdhcm4gXCJUaGUgaW5saW5lLWJsb2NrIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQG1peGluIGJ1dHRvbiAoJHN0eWxlOiBzaW1wbGUsICRiYXNlLWNvbG9yOiAjNDI5NGYwLCAkdGV4dC1zaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xuICAgICR0ZXh0LXNpemU6ICRzdHlsZTtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSAjNDI5NGYwIHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIEB3YXJuIFwiVGhlIGJ1dHRvbiBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbi8vIFNlbGVjdG9yIFN0eWxlIEJ1dHRvblxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xuICAvLyBHcmF5c2NhbGUgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBwaWxsIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBmbGF0IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIC8vIENvbG9yZWQgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gc2hpbnkge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBmbGF0IHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cbn1cblxuLy8gU2ltcGxlIEJ1dHRvblxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC04JSwgICRsaWdodG5lc3M6ICAxNSUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTExJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC03JSwgJGxpZ2h0bmVzczogIDUlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDglLCAkbGlnaHRuZXNzOiAtMTQlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogOSUsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA3JSwgJGxpZ2h0bmVzczogLTE3JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmUsIGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFNoaW55IEJ1dHRvblxuQG1peGluIHNoaW55KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGZvdXJ0aC1zdG9wOiAgIGdyYXlzY2FsZSgkZm91cnRoLXN0b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRiYXNlLWNvbG9yIDAlLCAkc2Vjb25kLXN0b3AgNTAlLCAkdGhpcmQtc3RvcCA1MCUsICRmb3VydGgtc3RvcCAxMDAlKTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gUGlsbCBCdXR0b25cbkBtaXhpbiBwaWxsKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtMTElLCAkbGlnaHRuZXNzOiAtMjYlKTtcbiAgJGJvcmRlci1zaWRlczogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMjElLCAkbGlnaHRuZXNzOiAtMjElKTtcbiAgJGJvcmRlci10b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMzAlLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMSUsICAkbGlnaHRuZXNzOiAgNyUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxNCUsICRsaWdodG5lc3M6IC0xMCUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC0xOSUsICRsaWdodG5lc3M6IC0xNSUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRib3JkZXItc2lkZXM6ICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3M6IC00LjUlKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxMy41JSwgJGxpZ2h0bmVzczogLTMyJSk7XG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xuICAgICRib3JkZXItdG9wOiAgICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTE3JSwgICAkbGlnaHRuZXNzOiAtMjElKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgJHNhdHVyYXRpb246IC0xJSwgICAgJGxpZ2h0bmVzczogIDMlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC01JSwgICAgJGxpZ2h0bmVzczogLTIyJSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGJvcmRlci1ib3R0b206ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICAgJGJvcmRlci10b3A6ICAgICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1ob3Zlcik7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWhvdmVyO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDQsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0xMCUpO1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogMTEsICRzYXR1cmF0aW9uOiAgNiUsICAgJGxpZ2h0bmVzczogLTMxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDksICAkc2F0dXJhdGlvbjogIDIlLCAgICRsaWdodG5lc3M6IC0yMS41JSk7XG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20tYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDNweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIEZsYXQgQnV0dG9uXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKXtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNCUsICRsaWdodG5lc3M6IDUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWFjdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gRmxleGlibGUgZ3JpZFxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ncmlkIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ndXR0ZXIgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcblxuICBAd2FybiBcIlRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZSwgJHJhdGlvOiAkZ29sZGVuKTtcblxuICBAd2FybiBcIlRoZSBnb2xkZW4tcmF0aW8gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gUGxlYXNlIHVzZSB0aGUgbW9kdWxhci1zY2FsZSBmdW5jdGlvbiwgaW5zdGVhZC5cIjtcbn1cbiIsIi8vIEZ1bmN0aW9uc1xuQGltcG9ydCBcImZ1bmN0aW9ucy9wcml2YXRlXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL25ldy1icmVha3BvaW50XCI7XG5cbi8vIFNldHRpbmdzXG5AaW1wb3J0IFwic2V0dGluZ3MvZ3JpZFwiO1xuQGltcG9ydCBcInNldHRpbmdzL3Zpc3VhbC1ncmlkXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvZGlzYWJsZS13YXJuaW5nc1wiO1xuIiwiLy8gTm90IGZ1bmN0aW9uIGZvciBMaWJzYXNzIGNvbXBhdGliaWxpdHlcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL2xpYnNhc3MvaXNzdWVzLzM2OFxuQGZ1bmN0aW9uIGlzLW5vdCgkdmFsdWUpIHtcbiAgQHJldHVybiBpZigkdmFsdWUsIGZhbHNlLCB0cnVlKTtcbn1cblxuLy8gQ2hlY2tzIGlmIGEgbnVtYmVyIGlzIGV2ZW5cbkBmdW5jdGlvbiBpcy1ldmVuKCRpbnQpIHtcbiAgQHJldHVybiAkaW50ICUgMiA9PSAwO1xufVxuXG4vLyBDaGVja3MgaWYgYW4gZWxlbWVudCBiZWxvbmdzIHRvIGEgbGlzdCBvciBub3RcbkBmdW5jdGlvbiBiZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpIHtcbiAgQHJldHVybiBpcy1ub3Qobm90LWJlbG9uZ3MtdG8oJHRlc3RlZC1pdGVtLCAkbGlzdCkpO1xufVxuXG5AZnVuY3Rpb24gbm90LWJlbG9uZ3MtdG8oJHRlc3RlZC1pdGVtLCAkbGlzdCkge1xuICBAcmV0dXJuIGlzLW5vdChpbmRleCgkbGlzdCwgJHRlc3RlZC1pdGVtKSk7XG59XG5cbi8vIENvbnRhaW5zIGRpc3BsYXkgdmFsdWVcbkBmdW5jdGlvbiBjb250YWlucy1kaXNwbGF5LXZhbHVlKCRxdWVyeSkge1xuICBAcmV0dXJuIGJlbG9uZ3MtdG8odGFibGUsICRxdWVyeSlcbiAgICAgICBvciBiZWxvbmdzLXRvKGJsb2NrLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhpbmxpbmUtYmxvY2ssICRxdWVyeSlcbiAgICAgICBvciBiZWxvbmdzLXRvKGlubGluZSwgJHF1ZXJ5KTtcbn1cblxuLy8gUGFyc2VzIHRoZSBmaXJzdCBhcmd1bWVudCBvZiBzcGFuLWNvbHVtbnMoKVxuQGZ1bmN0aW9uIGNvbnRhaW5lci1zcGFuKCRzcGFuOiAkc3Bhbikge1xuICBAaWYgbGVuZ3RoKCRzcGFuKSA9PSAzIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc3BhbiwgMyk7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzcGFuKSA9PSAyIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc3BhbiwgMik7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH1cblxuICBAcmV0dXJuICRncmlkLWNvbHVtbnM7XG59XG5cbkBmdW5jdGlvbiBjb250YWluZXItc2hpZnQoJHNoaWZ0OiAkc2hpZnQpIHtcbiAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFkZWZhdWx0ICFnbG9iYWw7XG5cbiAgQGlmIGxlbmd0aCgkc2hpZnQpID09IDMge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzaGlmdCwgMyk7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaGlmdCkgPT0gMiB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNoaWZ0LCAyKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfVxuXG4gIEByZXR1cm4gJHBhcmVudC1jb2x1bW5zO1xufVxuXG4vLyBHZW5lcmF0ZXMgYSBzdHJpcGVkIGJhY2tncm91bmRcbkBmdW5jdGlvbiBncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zLCAkY29sb3I6ICR2aXN1YWwtZ3JpZC1jb2xvcikge1xuICAkdHJhbnNwYXJlbnQ6IHRyYW5zcGFyZW50O1xuXG4gICRjb2x1bW4td2lkdGg6IGZsZXgtZ3JpZCgxLCAkZ3JpZC1jb2x1bW5zKTtcbiAgJGd1dHRlci13aWR0aDogZmxleC1ndXR0ZXIoJGdyaWQtY29sdW1ucyk7XG4gICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLXdpZHRoO1xuXG4gICR2YWx1ZXM6ICgkdHJhbnNwYXJlbnQgMCwgJGNvbG9yIDApO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRvICRncmlkLWNvbHVtbnMqMiB7XG4gICAgQGlmIGlzLWV2ZW4oJGkpIHtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdHJhbnNwYXJlbnQgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkY29sb3IgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLW9mZnNldCArICRjb2x1bW4td2lkdGg7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJGNvbG9yICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHRyYW5zcGFyZW50ICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi1vZmZzZXQgKyAkZ3V0dGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlcztcbn1cblxuLy8gTGF5b3V0IGRpcmVjdGlvblxuQGZ1bmN0aW9uIGdldC1kaXJlY3Rpb24oJGxheW91dCwgJGRlZmF1bHQpIHtcbiAgJGRpcmVjdGlvbjogbnVsbDtcblxuICBAaWYgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIkxUUlwiIG9yIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJSVExcIiB7XG4gICAgJGRpcmVjdGlvbjogZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRsYXlvdXQpO1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBkaXJlY3Rpb24tZnJvbS1sYXlvdXQoJGRlZmF1bHQpO1xuICB9XG5cbiAgQHJldHVybiAkZGlyZWN0aW9uO1xufVxuXG5AZnVuY3Rpb24gZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRsYXlvdXQpIHtcbiAgJGRpcmVjdGlvbjogbnVsbDtcblxuICBAaWYgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIkxUUlwiIHtcbiAgICAkZGlyZWN0aW9uOiByaWdodDtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogbGVmdDtcbiAgfVxuXG4gIEByZXR1cm4gJGRpcmVjdGlvbjtcbn1cblxuQGZ1bmN0aW9uIGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBsZWZ0O1xuXG4gIEBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodDtcbiAgfVxuXG4gIEByZXR1cm4gJG9wcG9zaXRlLWRpcmVjdGlvbjtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFJldHVybnMgYSBtZWRpYSBjb250ZXh0IChtZWRpYSBxdWVyeSAvIGdyaWQgY29udGV4dCkgdGhhdCBjYW4gYmUgc3RvcmVkIGluIGEgdmFyaWFibGUgYW5kIHBhc3NlZCB0byBgbWVkaWEoKWAgYXMgYSBzaW5nbGUta2V5d29yZCBhcmd1bWVudC4gTWVkaWEgY29udGV4dHMgZGVmaW5lZCB1c2luZyBgbmV3LWJyZWFrcG9pbnRgIGFyZSB1c2VkIGJ5IHRoZSB2aXN1YWwgZ3JpZCwgYXMgbG9uZyBhcyB0aGV5IGFyZSBkZWZpbmVkIGJlZm9yZSBpbXBvcnRpbmcgTmVhdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5XG4vLy8gICBBIGxpc3Qgb2YgbWVkaWEgcXVlcnkgZmVhdHVyZXMgYW5kIHZhbHVlcy4gRWFjaCBgJGZlYXR1cmVgIHNob3VsZCBoYXZlIGEgY29ycmVzcG9uZGluZyBgJHZhbHVlYC5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBgJHZhbHVlYCBpbiBgJHF1ZXJ5YCwgYCRkZWZhdWx0LWZlYXR1cmVgIGlzIGdvaW5nIHRvIGJlIHVzZWQuXG4vLy9cbi8vLyAgIFRoZSBudW1iZXIgb2YgdG90YWwgY29sdW1ucyBpbiB0aGUgZ3JpZCBjYW4gYmUgc2V0IGJ5IHBhc3NpbmcgYCRjb2x1bW5zYCBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IChvdmVycmlkZXMgYCR0b3RhbC1jb2x1bW5zYCkuIEZvciBhIGxpc3Qgb2YgdmFsaWQgdmFsdWVzIGZvciBgJGZlYXR1cmVgLCBjbGljayBbaGVyZV0oaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tZWRpYXF1ZXJpZXMvI21lZGlhMSkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAodW5pdGxlc3MpfSAkdG90YWwtY29sdW1ucyAoJGdyaWQtY29sdW1ucylcbi8vLyAgIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGluIHRoZSBuZXcgZ3JpZCBjb250ZXh0LiBDYW4gYmUgc2V0IGFzIGEgc2hvcnRoYW5kIGluIHRoZSBmaXJzdCBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICRtb2JpbGU6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCA0ODBweCA0KTtcbi8vL1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4vLy8gICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuLy8vICAgICAuZWxlbWVudCB7XG4vLy8gICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICAgbWFyZ2luLXJpZ2h0OiA3LjQyMjk3JTtcbi8vLyAgICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICAgfVxuLy8vICAgICAuZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgIH1cbi8vLyAgIH1cblxuQGZ1bmN0aW9uIG5ldy1icmVha3BvaW50KCRxdWVyeTogJGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgJHF1ZXJ5OiAkZGVmYXVsdC1mZWF0dXJlIG50aCgkcXVlcnksIDEpICR0b3RhbC1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpIHtcbiAgICAkcXVlcnk6IGFwcGVuZCgkcXVlcnksICR0b3RhbC1jb2x1bW5zKTtcbiAgfVxuXG4gIEBpZiBpcy1ub3QoYmVsb25ncy10bygkcXVlcnksICR2aXN1YWwtZ3JpZC1icmVha3BvaW50cykpIHtcbiAgICAkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHM6IGFwcGVuZCgkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHMsICRxdWVyeSwgY29tbWEpICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRxdWVyeTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNldHMgdGhlIHJlbGF0aXZlIHdpZHRoIG9mIGEgc2luZ2xlIGdyaWQgY29sdW1uLiBUaGUgdW5pdCB1c2VkIHNob3VsZCBiZSB0aGUgc2FtZSBvbmUgdXNlZCB0byBkZWZpbmUgYCRndXR0ZXJgLiBUbyBsZWFybiBtb3JlIGFib3V0IGdvbGRlbi1yYXRpbygpIHNlZSBbQm91cmJvbiBkb2NzXShodHRwOi8vYm91cmJvbi5pby9kb2NzLyNnb2xkZW4tcmF0aW8pLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyIChVbml0KVxuXG4kY29sdW1uOiBnb2xkZW4tcmF0aW8oMWVtLCAzKSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHJlbGF0aXZlIHdpZHRoIG9mIGEgc2luZ2xlIGdyaWQgZ3V0dGVyLiBUaGUgdW5pdCB1c2VkIHNob3VsZCBiZSB0aGUgc2FtZSBvbmUgdXNlZCB0byBkZWZpbmUgYCRjb2x1bW5gLiBUbyBsZWFybiBtb3JlIGFib3V0IGdvbGRlbi1yYXRpbygpIHNlZSBbQm91cmJvbiBkb2NzXShodHRwOi8vYm91cmJvbi5pby9kb2NzLyNnb2xkZW4tcmF0aW8pLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXQpXG5cbiRndXR0ZXI6IGdvbGRlbi1yYXRpbygxZW0sIDEpICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuIEl0cyB2YWx1ZSBjYW4gYmUgb3ZlcnJpZGRlbiBpbnNpZGUgYSBtZWRpYSBxdWVyeSB1c2luZyB0aGUgYG1lZGlhKClgIG1peGluLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXRsZXNzKVxuXG4kZ3JpZC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIG1heC13aWR0aCBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCB0aGF0IGluY2x1ZGVzIGBvdXRlci1jb250YWluZXIoKWAuIFRvIGxlYXJuIG1vcmUgYWJvdXQgYGVtKClgIHNlZSBbQm91cmJvbiBkb2NzXShodHRwOi8vYm91cmJvbi5pby9kb2NzLyNweC10by1lbSkuIFNldCB3aXRoIHRoZSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIE51bWJlciAoVW5pdClcbi8vL1xuJG1heC13aWR0aDogZW0oMTA4OCkgIWRlZmF1bHQ7XG5cbi8vLyBXaGVuIHNldCB0byB0cnVlLCBpdCBzZXRzIHRoZSBib3gtc2l6aW5nIHByb3BlcnR5IG9mIGFsbCBlbGVtZW50cyB0byBgYm9yZGVyLWJveGAuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBCb29sXG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICBodG1sIHtcbi8vLyAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy8vICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4vLy8gICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbi8vL1xuLy8vICAgKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuLy8vICAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaGVyaXQ7XG4vLy8gICAgIC1tb3otYm94LXNpemluZzogaW5oZXJpdDtcbi8vLyAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbi8vLyAgIH1cblxuJGJvcmRlci1ib3gtc2l6aW5nOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgZGVmYXVsdCBbbWVkaWEgZmVhdHVyZV0oaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tZWRpYXF1ZXJpZXMvI21lZGlhKSB0aGF0IGBtZWRpYSgpYCBhbmQgYG5ldy1icmVha3BvaW50KClgIHJldmVydCB0byB3aGVuIG9ubHkgYSBicmVha3BvaW50IHZhbHVlIGlzIHBhc3NlZC4gU2V0IHdpdGggYSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuXG4kZGVmYXVsdC1mZWF0dXJlOiBtaW4td2lkdGg7IC8vIERlZmF1bHQgQG1lZGlhIGZlYXR1cmUgZm9yIHRoZSBicmVha3BvaW50KCkgbWl4aW5cblxuLy8vU2V0cyB0aGUgZGVmYXVsdCBsYXlvdXQgZGlyZWN0aW9uIG9mIHRoZSBncmlkLiBDYW4gYmUgYExUUmAgb3IgYFJUTGAuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vL0B0eXBlIFN0cmluZ1xuXG4kZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uOiBMVFIgIWRlZmF1bHQ7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEaXNwbGF5cyB0aGUgdmlzdWFsIGdyaWQgd2hlbiBzZXQgdG8gdHJ1ZS4gVGhlIG92ZXJsYWlkIGdyaWQgbWF5IGJlIGZldyBwaXhlbHMgb2ZmIGRlcGVuZGluZyBvbiB0aGUgYnJvd3NlcidzIHJlbmRlcmluZyBlbmdpbmUgYW5kIHBpeGVsIHJvdW5kaW5nIGFsZ29yaXRobS4gU2V0IHdpdGggdGhlIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuXG4kdmlzdWFsLWdyaWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIGdyaWQgY29sb3IuIFNldCB3aXRoIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3JcblxuJHZpc3VhbC1ncmlkLWNvbG9yOiAjZWVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgYHotaW5kZXhgIHByb3BlcnR5IG9mIHRoZSB2aXN1YWwgZ3JpZC4gQ2FuIGJlIGBiYWNrYCAoYmVoaW5kIGNvbnRlbnQpIG9yIGBmcm9udGAgKGluIGZyb250IG9mIGNvbnRlbnQpLiBTZXQgd2l0aCBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuXG4kdmlzdWFsLWdyaWQtaW5kZXg6IGJhY2sgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSBvcGFjaXR5IHByb3BlcnR5IG9mIHRoZSB2aXN1YWwgZ3JpZC4gU2V0IHdpdGggYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXRsZXNzKVxuXG4kdmlzdWFsLWdyaWQtb3BhY2l0eTogMC40ICFkZWZhdWx0O1xuXG4kdmlzdWFsLWdyaWQtYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGlzYWJsZSBhbGwgZGVwcmVjYXRpb24gd2FybmluZ3MuIERlZmF1bHRzIHRvIGBmYWxzZWAuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBCb29sXG5cbiRkaXNhYmxlLXdhcm5pbmdzOiBmYWxzZSAhZGVmYXVsdDtcblxuQG1peGluIC1uZWF0LXdhcm4oJG1lc3NhZ2UpIHtcbiAgQGlmICRkaXNhYmxlLXdhcm5pbmdzID09IGZhbHNlIHtcbiAgICBAd2FybiBcIiN7JG1lc3NhZ2V9XCI7XG4gIH1cbn1cbiIsIlxuXG4vLyBCb3VyYm9uIGdyaWQgZGlzcGxheS4gQ29tbWVudCBvdXQgdG8gcmVtb3ZlIGRpc3BsYXkuXG4kdmlzdWFsLWdyaWQ6IGZhbHNlO1xuJHZpc3VhbC1ncmlkLWNvbG9yOiAjNzk5MUZBO1xuXG5cbi8vIFNldCB0byBmYWxzZSBpZiB5b3UnZCBsaWtlIHRvIHJlbW92ZSB0aGUgcmVzcG9uc2l2ZW5lc3MuXG4kcmVzcG9uc2l2ZTogdHJ1ZTtcblxuLy8gU2V0dXAgdGhlIGNvbHVtbiwgZ3JpZCwgYW5kIGd1dHRlciBhbW91bnRzLlxuJGNvbHVtbjogNjVweDtcbiRndXR0ZXI6IDM1cHg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcblxuLy8gV2Ugc2V0IHRoZSBtYXggd2lkdGggb2YgdGhlIHBhZ2UgdXNpbmcgdGhlIHB4IHRvIGVtIGZ1bmN0aW9uIGluIEJvdXJib24uXG4vLyB0aGUgZmlyc3QgdmFsdWUgaXMgdGhlIHBpeGVsIHZhbHVlIG9mIHRoZSB3aWR0aCBhbmQgdGhlIHNlY29uZCBpcyB0aGUgYmFzZSBmb250IHNpemUgb2YgeW91ciB0aGVtZS5cbi8vIEluIHRoaXMgaW5zdGFuY2Ugd2Ugd2FudCB0aGUgbWF4IHdpZHRoIHRvIGJlIDEwODhweCBhbmQgb24gTGluZSA2IG9mIHN0eWxlLnNjc3Mgd2UgaGF2ZSByZXNldCB0aGUgYmFzZVxuLy8gZm9udCBzaXplIHRvIDEzcHggc28gdGhlIGZpcnN0IHZhbHVlIHdvdWxkIGJlIDEwODggYW5kIHRoZSBzZWNvbmQgMTNcbi8vIGV4LiBlbSgxMDg4LCAxMylcbiRtYXgtd2lkdGgtcHg6IDExNDA7XG4kbWF4LXdpZHRoOiBlbSgkbWF4LXdpZHRoLXB4LCAxNik7XG5cbi8vIERlZmluZSB5b3VyIGJyZWFrcG9pbnRzLlxuJG92ZXJtb2JpbGU6IG5ldy1icmVha3BvaW50KG1pbi13aWR0aCA1NzdweCAxMik7XG4kbW9iaWxlOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggNTc2cHggMTIpO1xuJG92ZXJ0YWJsZXQ6IG5ldy1icmVha3BvaW50KG1pbi13aWR0aCA3NjlweCAxMik7XG4kdGFibGV0OiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggNzY4cHggMTIpO1xuJG92ZXJkZXNrdG9wOiBuZXctYnJlYWtwb2ludChtaW4td2lkdGggMTIwMHB4IDEyKTtcbiRkZXNrdG9wOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTIwMHB4IDEyKTtcbiIsIi8vIE5lYXQgMS43LjFcbi8vIGh0dHA6Ly9uZWF0LmJvdXJib24uaW9cbi8vIENvcHlyaWdodCAyMDEyLTIwMTUgdGhvdWdodGJvdCwgaW5jLlxuLy8gTUlUIExpY2Vuc2VcblxuLy8gSGVscGVyc1xuQGltcG9ydCBcIm5lYXQtaGVscGVyc1wiO1xuXG4vLyBHcmlkXG5AaW1wb3J0IFwiZ3JpZC9wcml2YXRlXCI7XG5AaW1wb3J0IFwiZ3JpZC9ib3gtc2l6aW5nXCI7XG5AaW1wb3J0IFwiZ3JpZC9vbWVnYVwiO1xuQGltcG9ydCBcImdyaWQvb3V0ZXItY29udGFpbmVyXCI7XG5AaW1wb3J0IFwiZ3JpZC9zcGFuLWNvbHVtbnNcIjtcbkBpbXBvcnQgXCJncmlkL3Jvd1wiO1xuQGltcG9ydCBcImdyaWQvc2hpZnRcIjtcbkBpbXBvcnQgXCJncmlkL3BhZFwiO1xuQGltcG9ydCBcImdyaWQvZmlsbC1wYXJlbnRcIjtcbkBpbXBvcnQgXCJncmlkL21lZGlhXCI7XG5AaW1wb3J0IFwiZ3JpZC90by1kZXByZWNhdGVcIjtcbkBpbXBvcnQgXCJncmlkL3Zpc3VhbC1ncmlkXCI7XG5AaW1wb3J0IFwiZ3JpZC9kaXNwbGF5LWNvbnRleHRcIjtcbkBpbXBvcnQgXCJncmlkL2RpcmVjdGlvbi1jb250ZXh0XCI7XG4iLCIkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWRlZmF1bHQ7XG4kZmctY29sdW1uOiAkY29sdW1uO1xuJGZnLWd1dHRlcjogJGd1dHRlcjtcbiRmZy1tYXgtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiRjb250YWluZXItZGlzcGxheS10YWJsZTogZmFsc2UgIWRlZmF1bHQ7XG4kbGF5b3V0LWRpcmVjdGlvbjogTFRSICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucykge1xuICAkd2lkdGg6ICRjb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkd2lkdGggLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1uczogJGZnLW1heC1jb2x1bW5zLCAkZ3V0dGVyOiAkZmctZ3V0dGVyKSB7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJGd1dHRlciAvICRjb250YWluZXItd2lkdGgpO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcbn1cblxuQGZ1bmN0aW9uIGdldC1wYXJlbnQtY29sdW1ucygkY29sdW1ucykge1xuICBAaWYgJGNvbHVtbnMgIT0gJGdyaWQtY29sdW1ucyB7XG4gICAgJHBhcmVudC1jb2x1bW5zOiAkY29sdW1ucyAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICAkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHBhcmVudC1jb2x1bW5zO1xufVxuXG5AZnVuY3Rpb24gaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWlzLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KSB7XG4gIEByZXR1cm4gJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlID09IHRydWUgb3IgJGRpc3BsYXkgPT0gdGFibGU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gdHJ1ZSB7XG4gIGh0bWwgeyAvLyBodHRwOi8vYml0Lmx5LzFxazJ0VlJcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICB9XG5cbiAgKiB7XG4gICAgJixcbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoaW5oZXJpdCk7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBSZW1vdmVzIHRoZSBlbGVtZW50J3MgZ3V0dGVyIG1hcmdpbiwgcmVnYXJkbGVzcyBvZiBpdHMgcG9zaXRpb24gaW4gdGhlIGdyaWQgaGllcmFyY2h5IG9yIGRpc3BsYXkgcHJvcGVydHkuIEl0IGNhbiB0YXJnZXQgYSBzcGVjaWZpYyBlbGVtZW50LCBvciBldmVyeSBgbnRoLWNoaWxkYCBvY2N1cnJlbmNlLiBXb3JrcyBvbmx5IHdpdGggYGJsb2NrYCBsYXlvdXRzLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcXVlcnkgKGJsb2NrKVxuLy8vICAgTGlzdCBvZiBhcmd1bWVudHMuIFN1cHBvcnRlZCBhcmd1bWVudHMgYXJlIGBudGgtY2hpbGRgIHNlbGVjdG9ycyAodGFyZ2V0cyBhIHNwZWNpZmljIHBzZXVkbyBlbGVtZW50KSBhbmQgYGF1dG9gICh0YXJnZXRzIGBsYXN0LWNoaWxkYCkuXG4vLy9cbi8vLyAgIFdoZW4gcGFzc2VkIGFuIGBudGgtY2hpbGRgIGFyZ3VtZW50IG9mIHR5cGUgYCpuYCB3aXRoIGBibG9ja2AgZGlzcGxheSwgdGhlIG9tZWdhIG1peGluIGF1dG9tYXRpY2FsbHkgYWRkcyBhIGNsZWFyIHRvIHRoZSBgKm4rMWAgdGggZWxlbWVudC4gTm90ZSB0aGF0IGNvbXBvc2l0ZSBhcmd1bWVudHMgc3VjaCBhcyBgMm4rMWAgZG8gbm90IHN1cHBvcnQgdGhpcyBmZWF0dXJlLlxuLy8vXG4vLy8gICAqKkRlcHJlY2F0aW9uIHdhcm5pbmcqKjogVGhlIG9tZWdhIG1peGluIHdpbGwgbm8gbG9uZ2VyIHRha2UgYSBgJGRpcmVjdGlvbmAgYXJndW1lbnQuIFRvIGNoYW5nZSB0aGUgbGF5b3V0IGRpcmVjdGlvbiwgdXNlIGByb3coJGRpcmVjdGlvbilgIG9yIHNldCBgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbmAgaW5zdGVhZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvbWVnYTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudDpudGgtY2hpbGQoNG4pIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQ6bnRoLWNoaWxkKDRuKzEpIHtcbi8vLyAgICAgY2xlYXI6IGxlZnQ7XG4vLy8gICB9XG5cbkBtaXhpbiBvbWVnYSgkcXVlcnk6IGJsb2NrLCAkZGlyZWN0aW9uOiBkZWZhdWx0KSB7XG4gICR0YWJsZTogYmVsb25ncy10byh0YWJsZSwgJHF1ZXJ5KTtcbiAgJGF1dG86IGJlbG9uZ3MtdG8oYXV0bywgJHF1ZXJ5KTtcblxuICBAaWYgJGRpcmVjdGlvbiAhPSBkZWZhdWx0IHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG9tZWdhIG1peGluIHdpbGwgbm8gbG9uZ2VyIHRha2UgYSAkZGlyZWN0aW9uIGFyZ3VtZW50LiBUbyBjaGFuZ2UgdGhlIGxheW91dCBkaXJlY3Rpb24sIHVzZSB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XG4gIH0gQGVsc2Uge1xuICAgICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICB9XG5cbiAgQGlmICR0YWJsZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBvbWVnYSBtaXhpbiBubyBsb25nZXIgcmVtb3ZlcyBwYWRkaW5nIGluIHRhYmxlIGxheW91dHMuXCIpO1xuICB9XG5cbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBpZiAkYXV0byB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSBpZiBjb250YWlucy1kaXNwbGF5LXZhbHVlKCRxdWVyeSkgYW5kICR0YWJsZSA9PSBmYWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaW5jbHVkZSBudGgtY2hpbGQoJHF1ZXJ5LCAkZGlyZWN0aW9uKTtcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMiB7XG4gICAgQGlmICRhdXRvIHtcbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgbnRoLWNoaWxkKG50aCgkcXVlcnksIDEpLCAkZGlyZWN0aW9uKTtcbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUb28gbWFueSBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSBvbWVnYSgpIG1peGluLlwiKTtcbiAgfVxufVxuXG5AbWl4aW4gbnRoLWNoaWxkKCRxdWVyeSwgJGRpcmVjdGlvbikge1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gICY6bnRoLWNoaWxkKCN7JHF1ZXJ5fSkge1xuICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICB9XG5cbiAgQGlmIHR5cGUtb2YoJHF1ZXJ5KSA9PSBudW1iZXIgYW5kIHVuaXQoJHF1ZXJ5KSA9PSBcIm5cIiB7XG4gICAgJjpudGgtY2hpbGQoI3skcXVlcnl9KzEpIHtcbiAgICAgIGNsZWFyOiAkb3Bwb3NpdGUtZGlyZWN0aW9uO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gTWFrZXMgYW4gZWxlbWVudCBhIG91dGVyIGNvbnRhaW5lciBieSBjZW50cmluZyBpdCBpbiB0aGUgdmlld3BvcnQsIGNsZWFyaW5nIGl0cyBmbG9hdHMsIGFuZCBzZXR0aW5nIGl0cyBgbWF4LXdpZHRoYC5cbi8vLyBBbHRob3VnaCBvcHRpb25hbCwgdXNpbmcgYG91dGVyLWNvbnRhaW5lcmAgaXMgcmVjb21tZW5kZWQuIFRoZSBtaXhpbiBjYW4gYmUgY2FsbGVkIG9uIG1vcmUgdGhhbiBvbmUgZWxlbWVudCBwZXIgcGFnZSwgYXMgbG9uZyBhcyB0aGV5IGFyZSBub3QgbmVzdGVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXQpfSAkbG9jYWwtbWF4LXdpZHRoICgkbWF4LXdpZHRoKVxuLy8vICAgTWF4IHdpZHRoIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGVsZW1lbnQuIENhbiBiZSBhIHBlcmNlbnRhZ2Ugb3IgYSBtZWFzdXJlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgKnpvb206IDE7XG4vLy8gICAgIG1heC13aWR0aDogMTAwJTtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4vLy8gICAgIG1hcmdpbi1yaWdodDogYXV0bztcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YmVmb3JlLCAuZWxlbWVudDphZnRlciB7XG4vLy8gICAgIGNvbnRlbnQ6IFwiIFwiO1xuLy8vICAgICBkaXNwbGF5OiB0YWJsZTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgICBjbGVhcjogYm90aDtcbi8vLyAgIH1cblxuQG1peGluIG91dGVyLWNvbnRhaW5lcigkbG9jYWwtbWF4LXdpZHRoOiAkbWF4LXdpZHRoKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXgtd2lkdGg6ICRsb2NhbC1tYXgtd2lkdGg7XG4gIG1hcmdpbjoge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW4gZWxlbWVudCBzaG91bGQgc3Bhbi4gSWYgdGhlIHNlbGVjdG9yIGlzIG5lc3RlZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgaXRzIHBhcmVudCBlbGVtZW50IHNob3VsZCBiZSBwYXNzZWQgYXMgYW4gYXJndW1lbnQgYXMgd2VsbC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNwYW5cbi8vLyAgIEEgbGlzdCBjb250YWluaW5nIGAkY29sdW1uc2AsIHRoZSB1bml0bGVzcyBudW1iZXIgb2YgY29sdW1ucyB0aGUgZWxlbWVudCBzcGFucyAocmVxdWlyZWQpLCBhbmQgYCRjb250YWluZXItY29sdW1uc2AsIHRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGUgcGFyZW50IGVsZW1lbnQgc3BhbnMgKG9wdGlvbmFsKS5cbi8vL1xuLy8vICAgSWYgb25seSBvbmUgdmFsdWUgaXMgcGFzc2VkLCBpdCBpcyBhc3N1bWVkIHRoYXQgaXQncyBgJGNvbHVtbnNgIGFuZCB0aGF0IHRoYXQgYCRjb250YWluZXItY29sdW1uc2AgaXMgZXF1YWwgdG8gYCRncmlkLWNvbHVtbnNgLCB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuXG4vLy9cbi8vLyAgIFRoZSB2YWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCB3aXRoIGFueSBzdHJpbmcgc3VjaCBhcyBgb2ZgLCBgL2AsIGV0Yy5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlzcGxheSAoYmxvY2spXG4vLy8gICBTZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBlbGVtZW50LiBCeSBkZWZhdWx0IGl0IHNldHMgdGhlIGRpc3BsYXkgcHJvcGVydCBvZiB0aGUgZWxlbWVudCB0byBgYmxvY2tgLlxuLy8vXG4vLy8gICBJZiBwYXNzZWQgYGJsb2NrLWNvbGxhcHNlYCwgaXQgYWxzbyByZW1vdmVzIHRoZSBtYXJnaW4gZ3V0dGVyIGJ5IGFkZGluZyBpdCB0byB0aGUgZWxlbWVudCB3aWR0aC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGB0YWJsZWAsIGl0IHNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgdG8gYHRhYmxlLWNlbGxgIGFuZCBjYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiB0aGUgZWxlbWVudCB3aXRob3V0IHRha2luZyBndXR0ZXJzIGludG8gY29uc2lkZXJhdGlvbi4gVGhlIHJlc3VsdCBkb2VzIG5vdCBhbGlnbiB3aXRoIHRoZSBibG9jay1iYXNlZCBncmlkLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vL1xuLy8vICAgIC5uZXN0ZWQtZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMiBvZiA2KTtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuLy8vICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogNC44MjkxNiU7XG4vLy8gICAgIHdpZHRoOiAzMC4xMTM4OSU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50IC5uZXN0ZWQtZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuXG5AbWl4aW4gc3Bhbi1jb2x1bW5zKCRzcGFuOiAkY29sdW1ucyBvZiAkY29udGFpbmVyLWNvbHVtbnMsICRkaXNwbGF5OiBibG9jaykge1xuICAkY29sdW1uczogbnRoKCRzcGFuLCAxKTtcbiAgJGNvbnRhaW5lci1jb2x1bW5zOiBjb250YWluZXItc3Bhbigkc3Bhbik7XG5cbiAgJHBhcmVudC1jb2x1bW5zOiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbnRhaW5lci1jb2x1bW5zKSAhZ2xvYmFsO1xuXG4gICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gICRkaXNwbGF5LXRhYmxlOiBpcy1kaXNwbGF5LXRhYmxlKCRjb250YWluZXItZGlzcGxheS10YWJsZSwgJGRpc3BsYXkpO1xuXG4gIEBpZiAkZGlzcGxheS10YWJsZSAge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkY29udGFpbmVyLWNvbHVtbnMpO1xuICB9IEBlbHNlIHtcbiAgICBmbG9hdDogI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTtcblxuICAgIEBpZiAkZGlzcGxheSAhPSBuby1kaXNwbGF5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkZGlzcGxheSA9PSBjb2xsYXBzZSB7XG4gICAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlICdjb2xsYXBzZScgYXJndW1lbnQgd2lsbCBiZSBkZXByZWNhdGVkLiBVc2UgJ2Jsb2NrLWNvbGxhcHNlJyBpbnN0ZWFkLlwiKTtcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Ugb3IgJGRpc3BsYXkgPT0gYmxvY2stY29sbGFwc2Uge1xuICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKSArIGZsZXgtZ3V0dGVyKCRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG4gICAgICB9XG5cbiAgICB9IEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgd2lkdGg6IGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zKTtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEZXNpZ25hdGVzIHRoZSBlbGVtZW50IGFzIGEgcm93IG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQgbGF5b3V0LiBJdCBjbGVhcnMgdGhlIGZsb2F0cyBvbiB0aGUgZWxlbWVudCBhbmQgc2V0cyBpdHMgZGlzcGxheSBwcm9wZXJ0eS4gUm93cyBjYW4ndCBiZSBuZXN0ZWQsIGJ1dCB0aGVyZSBjYW4gYmUgbW9yZSB0aGFuIG9uZSByb3cgZWxlbWVudOKAlHdpdGggZGlmZmVyZW50IGRpc3BsYXkgcHJvcGVydGllc+KAlHBlciBsYXlvdXQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgKGRlZmF1bHQpXG4vLy8gIFNldHMgdGhlIGRpc3BsYXkgcHJvcGVydHkgb2YgdGhlIGVsZW1lbnQgYW5kIHRoZSBkaXNwbGF5IGNvbnRleHQgdGhhdCB3aWxsIGJlIHVzZWQgYnkgaXRzIGNoaWxkcmVuLiBDYW4gYmUgYGJsb2NrYCBvciBgdGFibGVgLlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXJlY3Rpb24gKCRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pXG4vLy8gIFNldHMgdGhlIGxheW91dCBkaXJlY3Rpb24uIENhbiBiZSBgTFRSYCAobGVmdC10by1yaWdodCkgb3IgYFJUTGAgKHJpZ2h0LXRvLWxlZnQpLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gIC5lbGVtZW50IHtcbi8vLyAgICBAaW5jbHVkZSByb3coKTtcbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgKnpvb206IDE7XG4vLy8gICAgZGlzcGxheTogYmxvY2s7XG4vLy8gIH1cbi8vL1xuLy8vIC5lbGVtZW50OmJlZm9yZSwgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgY29udGVudDogXCIgXCI7XG4vLy8gICBkaXNwbGF5OiB0YWJsZTtcbi8vLyB9XG4vLy9cbi8vLyAuZWxlbWVudDphZnRlciB7XG4vLy8gICBjbGVhcjogYm90aDtcbi8vLyB9XG5cbkBtaXhpbiByb3coJGRpc3BsYXk6IGRlZmF1bHQsICRkaXJlY3Rpb246ICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pIHtcbiAgQGlmICRkaXJlY3Rpb24gIT0gJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbiB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSAkZGlyZWN0aW9uIGFyZ3VtZW50IHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBmdXR1cmUgdmVyc2lvbnMgaW4gZmF2b3Igb2YgdGhlIGRpcmVjdGlvbigpey4uLn0gbWl4aW4uXCIpO1xuICB9XG5cbiAgJGxheW91dC1kaXJlY3Rpb246ICRkaXJlY3Rpb24gIWdsb2JhbDtcblxuICBAaWYgJGRpc3BsYXkgIT0gZGVmYXVsdCB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSAkZGlzcGxheSBhcmd1bWVudCB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIGluIGZhdm9yIG9mIHRoZSBkaXNwbGF5KCl7Li4ufSBtaXhpbi5cIik7XG4gIH1cblxuICBAaWYgJGRpc3BsYXkgPT0gdGFibGUge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIEBpbmNsdWRlIGZpbGwtcGFyZW50O1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gICAgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiB0cnVlICFnbG9iYWw7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICRjb250YWluZXItZGlzcGxheS10YWJsZTogZmFsc2UgIWdsb2JhbDtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gVHJhbnNsYXRlcyBhbiBlbGVtZW50IGhvcml6b250YWxseSBieSBhIG51bWJlciBvZiBjb2x1bW5zLiBQb3NpdGl2ZSBhcmd1bWVudHMgc2hpZnQgdGhlIGVsZW1lbnQgdG8gdGhlIGFjdGl2ZSBsYXlvdXQgZGlyZWN0aW9uLCB3aGlsZSBuZWdhdGl2ZSBvbmVzIHNoaWZ0IGl0IHRvIHRoZSBvcHBvc2l0ZSBkaXJlY3Rpb24uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAodW5pdGxlc3MpfSAkbi1jb2x1bW5zICgxKVxuLy8vICAgTnVtYmVyIG9mIGNvbHVtbnMgYnkgd2hpY2ggdGhlIGVsZW1lbnQgc2hpZnRzLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHNoaWZ0KC0zKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBvdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IC0yNS41ODk0MSU7XG4vLy8gICB9XG5cbkBtaXhpbiBzaGlmdCgkbi1jb2x1bW5zOiAxKSB7XG4gIEBpbmNsdWRlIHNoaWZ0LWluLWNvbnRleHQoJG4tY29sdW1ucyk7XG59XG5cbi8vLyBUcmFuc2xhdGVzIGFuIGVsZW1lbnQgaG9yaXpvbnRhbGx5IGJ5IGEgbnVtYmVyIG9mIGNvbHVtbnMsIGluIGEgc3BlY2lmaWMgbmVzdGluZyBjb250ZXh0LlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hpZnRcbi8vLyAgIEEgbGlzdCBjb250YWluaW5nIHRoZSBudW1iZXIgb2YgY29sdW1ucyB0byBzaGlmdCAoYCRjb2x1bW5zYCkgYW5kIHRoZSBudW1iZXIgb2YgY29sdW1ucyBvZiB0aGUgcGFyZW50IGVsZW1lbnQgKGAkY29udGFpbmVyLWNvbHVtbnNgKS5cbi8vL1xuLy8vICAgVGhlIHR3byB2YWx1ZXMgY2FuIGJlIHNlcGFyYXRlZCB3aXRoIGFueSBzdHJpbmcgc3VjaCBhcyBgb2ZgLCBgL2AsIGV0Yy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaGlmdCgtMyBvZiA2KTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBvdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLWxlZnQ6IC01Mi40MTQ1OCU7XG4vLy8gICB9XG5cbkBtaXhpbiBzaGlmdC1pbi1jb250ZXh0KCRzaGlmdDogJGNvbHVtbnMgb2YgJGNvbnRhaW5lci1jb2x1bW5zKSB7XG4gICRuLWNvbHVtbnM6IG50aCgkc2hpZnQsIDEpO1xuICAkcGFyZW50LWNvbHVtbnM6IGNvbnRhaW5lci1zaGlmdCgkc2hpZnQpICFnbG9iYWw7XG5cbiAgJGRpcmVjdGlvbjogZ2V0LWRpcmVjdGlvbigkbGF5b3V0LWRpcmVjdGlvbiwgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbik7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbik7XG5cbiAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRuLWNvbHVtbnMgKiBmbGV4LWdyaWQoMSwgJHBhcmVudC1jb2x1bW5zKSArICRuLWNvbHVtbnMgKiBmbGV4LWd1dHRlcigkcGFyZW50LWNvbHVtbnMpO1xuXG4gIC8vIFJlc2V0IG5lc3RpbmcgY29udGV4dFxuICAkcGFyZW50LWNvbHVtbnM6ICRncmlkLWNvbHVtbnMgIWdsb2JhbDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEFkZHMgcGFkZGluZyB0byB0aGUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHBhZGRpbmcgKGZsZXgtZ3V0dGVyKCkpXG4vLy8gICBBIGxpc3Qgb2YgcGFkZGluZyB2YWx1ZShzKSB0byB1c2UuIFBhc3NpbmcgYGRlZmF1bHRgIGluIHRoZSBsaXN0IHdpbGwgcmVzdWx0IGluIHVzaW5nIHRoZSBndXR0ZXIgd2lkdGggYXMgYSBwYWRkaW5nIHZhbHVlLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHBhZCgzMHB4IC0yMHB4IDEwcHggZGVmYXVsdCk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIHBhZGRpbmc6IDMwcHggLTIwcHggMTBweCAyLjM1NzY1JTtcbi8vLyAgIH1cblxuQG1peGluIHBhZCgkcGFkZGluZzogZmxleC1ndXR0ZXIoKSkge1xuICAkcGFkZGluZy1saXN0OiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHBhZGRpbmcge1xuICAgICR2YWx1ZTogaWYoJHZhbHVlID09ICdkZWZhdWx0JywgZmxleC1ndXR0ZXIoKSwgJHZhbHVlKTtcbiAgICAkcGFkZGluZy1saXN0OiBqb2luKCRwYWRkaW5nLWxpc3QsICR2YWx1ZSk7XG4gIH1cbiAgcGFkZGluZzogJHBhZGRpbmctbGlzdDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIEZvcmNlcyB0aGUgZWxlbWVudCB0byBmaWxsIGl0cyBwYXJlbnQgY29udGFpbmVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIGZpbGwtcGFyZW50O1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy8vICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4vLy8gICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4vLy8gICB9XG5cbkBtaXhpbiBmaWxsLXBhcmVudCgpIHtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgQGlmICRib3JkZXItYm94LXNpemluZyA9PSBmYWxzZSB7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gT3V0cHV0cyBhIG1lZGlhLXF1ZXJ5IGJsb2NrIHdpdGggYW4gb3B0aW9uYWwgZ3JpZCBjb250ZXh0ICh0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgdXNlZCBpbiB0aGUgZ3JpZCkuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRxdWVyeVxuLy8vICAgQSBsaXN0IG9mIG1lZGlhIHF1ZXJ5IGZlYXR1cmVzIGFuZCB2YWx1ZXMsIHdoZXJlIGVhY2ggYCRmZWF0dXJlYCBzaG91bGQgaGF2ZSBhIGNvcnJlc3BvbmRpbmcgYCR2YWx1ZWAuXG4vLy8gICBGb3IgYSBsaXN0IG9mIHZhbGlkIHZhbHVlcyBmb3IgYCRmZWF0dXJlYCwgY2xpY2sgW2hlcmVdKGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtbWVkaWFxdWVyaWVzLyNtZWRpYTEpLlxuLy8vXG4vLy8gICBJZiB0aGVyZSBpcyBvbmx5IGEgc2luZ2xlIGAkdmFsdWVgIGluIGAkcXVlcnlgLCBgJGRlZmF1bHQtZmVhdHVyZWAgaXMgZ29pbmcgdG8gYmUgdXNlZC5cbi8vL1xuLy8vICAgVGhlIG51bWJlciBvZiB0b3RhbCBjb2x1bW5zIGluIHRoZSBncmlkIGNhbiBiZSBzZXQgYnkgcGFzc2luZyBgJGNvbHVtbnNgIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3QgKG92ZXJyaWRlcyBgJHRvdGFsLWNvbHVtbnNgKS5cbi8vL1xuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJHRvdGFsLWNvbHVtbnMgKCRncmlkLWNvbHVtbnMpXG4vLy8gICAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBpbiB0aGUgbmV3IGdyaWQgY29udGV4dC4gQ2FuIGJlIHNldCBhcyBhIHNob3J0aGFuZCBpbiB0aGUgZmlyc3QgcGFyYW1ldGVyLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKDc2OXB4KSB7XG4vLy8gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgbWVkaWEobWluLXdpZHRoIDMyMHB4IG1heC13aWR0aCA0ODBweCwgNikge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQge1xuLy8vICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgIG1hcmdpbi1yaWdodDogMi4zNTc2NSU7XG4vLy8gICAgICB3aWR0aDogNDguODIxMTclO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5yZXNwb25zaXZlLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgfVxuLy8vXG4vLy8gICAgLm5ldy1jb250ZXh0LWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgfVxuLy8vICB9XG5cbkBtaXhpbiBtZWRpYSgkcXVlcnk6ICRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnMgIWdsb2JhbDtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICAkbG9vcC10bzogbGVuZ3RoKCRxdWVyeSk7XG4gICAgJG1lZGlhLXF1ZXJ5OiBcInNjcmVlbiBhbmQgXCI7XG4gICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG5cbiAgICBAaWYgaXMtbm90KGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpKSB7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAkbG9vcC10bykgIWdsb2JhbDtcbiAgICAgICRsb29wLXRvOiAkbG9vcC10byAtIDE7XG4gICAgfVxuXG4gICAgJGk6IDE7XG4gICAgQHdoaWxlICRpIDw9ICRsb29wLXRvIHtcbiAgICAgICRtZWRpYS1xdWVyeTogJG1lZGlhLXF1ZXJ5ICsgXCIoXCIgKyBudGgoJHF1ZXJ5LCAkaSkgKyBcIjogXCIgKyBudGgoJHF1ZXJ5LCAkaSArIDEpICsgXCIpIFwiO1xuXG4gICAgICBAaWYgKCRpICsgMSkgIT0gJGxvb3AtdG8ge1xuICAgICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiYW5kIFwiO1xuICAgICAgfVxuXG4gICAgICAkaTogJGkgKyAyO1xuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpYS1xdWVyeX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnMgIWdsb2JhbDtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5OiRmZWF0dXJlICR2YWx1ZSAkY29sdW1ucywgJHRvdGFsLWNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBicmVha3BvaW50KCkgbWl4aW4gd2FzIHJlbmFtZWQgdG8gbWVkaWEoKSBpbiBOZWF0IDEuMC4gUGxlYXNlIHVwZGF0ZSB5b3VyIHByb2plY3Qgd2l0aCB0aGUgbmV3IHN5bnRheCBiZWZvcmUgdGhlIG5leHQgdmVyc2lvbiBidW1wLlwiKTtcblxuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKCRkZWZhdWx0LWZlYXR1cmU6IG50aCgkcXVlcnksIDEpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucztcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAyIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucztcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAzIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCAzKTtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xuICAgIH1cbiAgfSBAZWxzZSBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSA0IHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobnRoKCRxdWVyeSwgMSk6IG50aCgkcXVlcnksIDIpKSBhbmQgKG50aCgkcXVlcnksIDMpOiBudGgoJHF1ZXJ5LCA0KSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnM7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gNSB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkgYW5kIChudGgoJHF1ZXJ5LCAzKTogbnRoKCRxdWVyeSwgNCkpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6IG50aCgkcXVlcnksIDUpO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiV3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyBmb3IgYnJlYWtwb2ludCgpLiBSZWFkIHRoZSBkb2N1bWVudGF0aW9uIGZvciBtb3JlIGRldGFpbHMuXCIpO1xuICB9XG59XG5cbkBtaXhpbiBudGgtb21lZ2EoJG50aCwgJGRpc3BsYXk6IGJsb2NrLCAkZGlyZWN0aW9uOiBkZWZhdWx0KSB7XG4gIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgbnRoLW9tZWdhKCkgbWl4aW4gaXMgZGVwcmVjYXRlZC4gUGxlYXNlIHVzZSBvbWVnYSgpIGluc3RlYWQuXCIpO1xuICBAaW5jbHVkZSBvbWVnYSgkbnRoICRkaXNwbGF5LCAkZGlyZWN0aW9uKTtcbn1cblxuLy8vIFJlc2V0cyB0aGUgYWN0aXZlIGRpc3BsYXkgcHJvcGVydHkgdG8gYGJsb2NrYC4gUGFydGljdWxhcmx5IHVzZWZ1bCB3aGVuIGNoYW5naW5nIHRoZSBkaXNwbGF5IHByb3BlcnR5IGluIGEgc2luZ2xlIHJvdy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSByb3codGFibGUpO1xuLy8vICAgICAvLyBDb250ZXh0IGNoYW5nZWQgdG8gdGFibGUgZGlzcGxheVxuLy8vICAgfVxuLy8vXG4vLy8gICBAaW5jbHVkZSByZXNldC1kaXNwbGF5O1xuLy8vICAgLy8gQ29udGV4dCBpcyByZXNldCB0byBibG9jayBkaXNwbGF5XG5cbkBtaXhpbiByZXNldC1kaXNwbGF5IHtcbiAgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiBmYWxzZSAhZ2xvYmFsO1xuICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiUmVzZXR0aW5nICRkaXNwbGF5IHdpbGwgYmUgZGVwcmVjYXRlZCBpbiBmdXR1cmUgdmVyc2lvbnMgaW4gZmF2b3Igb2YgdGhlIGRpc3BsYXkoKXsuLi59IG1peGluLlwiKTtcbn1cblxuLy8vIFJlc2V0cyB0aGUgYWN0aXZlIGxheW91dCBkaXJlY3Rpb24gdG8gdGhlIGRlZmF1bHQgdmFsdWUgc2V0IGluIGAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uYC4gUGFydGljdWxhcmx5IHVzZWZ1bCB3aGVuIGNoYW5naW5nIHRoZSBsYXlvdXQgZGlyZWN0aW9uIGluIGEgc2luZ2xlIHJvdy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSByb3coJGRpcmVjdGlvbjogUlRMKTtcbi8vLyAgICAgLy8gQ29udGV4dCBjaGFuZ2VkIHRvIHJpZ2h0LXRvLWxlZnRcbi8vLyAgIH1cbi8vL1xuLy8vICAgQGluY2x1ZGUgcmVzZXQtbGF5b3V0LWRpcmVjdGlvbjtcbi8vLyAgIC8vIENvbnRleHQgaXMgcmVzZXQgdG8gbGVmdC10by1yaWdodFxuXG5AbWl4aW4gcmVzZXQtbGF5b3V0LWRpcmVjdGlvbiB7XG4gICRsYXlvdXQtZGlyZWN0aW9uOiAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uICFnbG9iYWw7XG4gIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJSZXNldHRpbmcgJGRpcmVjdGlvbiB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIGluIGZhdm9yIG9mIHRoZSBkaXJlY3Rpb24oKXsuLi59IG1peGluLlwiKTtcbn1cblxuLy8vIFJlc2V0cyBib3RoIHRoZSBhY3RpdmUgbGF5b3V0IGRpcmVjdGlvbiBhbmQgdGhlIGFjdGl2ZSBkaXNwbGF5IHByb3BlcnR5LlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIHJvdyh0YWJsZSwgUlRMKTtcbi8vLyAgICAgLy8gQ29udGV4dCBjaGFuZ2VkIHRvIHRhYmxlIHRhYmxlIGFuZCByaWdodC10by1sZWZ0XG4vLy8gICB9XG4vLy9cbi8vLyAgIEBpbmNsdWRlIHJlc2V0LWFsbDtcbi8vLyAgIC8vIENvbnRleHQgaXMgcmVzZXQgdG8gYmxvY2sgZGlzcGxheSBhbmQgbGVmdC10by1yaWdodFxuXG5AbWl4aW4gcmVzZXQtYWxsIHtcbiAgQGluY2x1ZGUgcmVzZXQtZGlzcGxheTtcbiAgQGluY2x1ZGUgcmVzZXQtbGF5b3V0LWRpcmVjdGlvbjtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuQG1peGluIGdyaWQtY29sdW1uLWdyYWRpZW50KCR2YWx1ZXMuLi4pIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgJHZhbHVlcyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgJHZhbHVlcyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVucXVvdGUoXCJsaW5lYXItZ3JhZGllbnQodG8gbGVmdCwgI3skdmFsdWVzfSlcIik7XG59XG5cbkBpZiAkdmlzdWFsLWdyaWQgPT0gdHJ1ZSBvciAkdmlzdWFsLWdyaWQgPT0geWVzIHtcbiAgYm9keTpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLWdyYWRpZW50KGdyYWRpZW50LXN0b3BzKCRncmlkLWNvbHVtbnMpKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XG4gICAgb3BhY2l0eTogJHZpc3VhbC1ncmlkLW9wYWNpdHk7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGlmICR2aXN1YWwtZ3JpZC1pbmRleCA9PSBiYWNrIHtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgIEBlbHNlIGlmICR2aXN1YWwtZ3JpZC1pbmRleCA9PSBmcm9udCB7XG4gICAgICB6LWluZGV4OiA5OTk5O1xuICAgIH1cblxuICAgIEBlYWNoICRicmVha3BvaW50IGluICR2aXN1YWwtZ3JpZC1icmVha3BvaW50cyB7XG4gICAgICBAaWYgJGJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLWdyYWRpZW50KGdyYWRpZW50LXN0b3BzKCRncmlkLWNvbHVtbnMpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hhbmdlcyB0aGUgZGlzcGxheSBwcm9wZXJ0eSB1c2VkIGJ5IG90aGVyIG1peGlucyBjYWxsZWQgaW4gdGhlIGNvZGUgYmxvY2sgYXJndW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgKGJsb2NrKVxuLy8vICAgRGlzcGxheSB2YWx1ZSB0byBiZSB1c2VkIHdpdGhpbiB0aGUgYmxvY2suIENhbiBiZSBgdGFibGVgIG9yIGBibG9ja2AuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICBAaW5jbHVkZSBkaXNwbGF5LWNvbnRleHQodGFibGUpIHtcbi8vLyAgICAuZGlzcGxheS10YWJsZSB7XG4vLy8gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgIH1cbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzc1xuLy8vICAgLmRpc3BsYXktdGFibGUge1xuLy8vICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbi8vLyAgICAgIC4uLlxuLy8vICAgfVxuXG5AbWl4aW4gZGlzcGxheS1jb250ZXh0KCRkaXNwbGF5OiBibG9jaykge1xuICAkc2NvcGUtZGlzcGxheTogJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlO1xuICAkY29udGFpbmVyLWRpc3BsYXktdGFibGU6ICRkaXNwbGF5ID09IHRhYmxlICFnbG9iYWw7XG5cbiAgQGNvbnRlbnQ7XG5cbiAgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiAkc2NvcGUtZGlzcGxheSAhZ2xvYmFsO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gQ2hhbmdlcyB0aGUgZGlyZWN0aW9uIHByb3BlcnR5IHVzZWQgYnkgb3RoZXIgbWl4aW5zIGNhbGxlZCBpbiB0aGUgY29kZSBibG9jayBhcmd1bWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uIChsZWZ0LXRvLXJpZ2h0KVxuLy8vICAgTGF5b3V0IGRpcmVjdGlvbiB0byBiZSB1c2VkIHdpdGhpbiB0aGUgYmxvY2suIENhbiBiZSBgbGVmdC10by1yaWdodGAgb3IgYHJpZ2h0LXRvLWxlZnRgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFVzYWdlXG4vLy8gICBAaW5jbHVkZSBkaXJlY3Rpb24tY29udGV4dChyaWdodC10by1sZWZ0KSB7XG4vLy8gICAgLnJpZ2h0LXRvLWxlZnQtYmxvY2sge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAucmlnaHQtdG8tbGVmdC1ibG9jayB7XG4vLy8gICAgIGZsb2F0OiByaWdodDtcbi8vLyAgICAgIC4uLlxuLy8vICAgfVxuXG5AbWl4aW4gZGlyZWN0aW9uLWNvbnRleHQoJGRpcmVjdGlvbjogbGVmdC10by1yaWdodCkge1xuICAkc2NvcGUtZGlyZWN0aW9uOiAkbGF5b3V0LWRpcmVjdGlvbjtcblxuICBAaWYgdG8tbG93ZXItY2FzZSgkZGlyZWN0aW9uKSA9PSBcImxlZnQtdG8tcmlnaHRcIiB7XG4gICAgJGxheW91dC1kaXJlY3Rpb246IExUUiAhZ2xvYmFsO1xuICB9IEBlbHNlIGlmIHRvLWxvd2VyLWNhc2UoJGRpcmVjdGlvbikgPT0gXCJyaWdodC10by1sZWZ0XCIge1xuICAgICRsYXlvdXQtZGlyZWN0aW9uOiBSVEwgIWdsb2JhbDtcbiAgfVxuXG4gIEBjb250ZW50O1xuXG4gICRsYXlvdXQtZGlyZWN0aW9uOiAkc2NvcGUtZGlyZWN0aW9uICFnbG9iYWw7XG59XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2My4wLjIgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufSIsIi8qIC0tLS0tIFBVVCBBTEwgWU9VUiBBTUFaSU5HIFZBUklBQkxFUyBJTiBIRVJFIC0tLS0tICovXG5cbiR3aGl0ZTogI0ZGRjtcblxuJGJsYWNrOiAjMUQxRDFEO1xuJGJsYWNrXzI6ICMyMDIxMjQ7XG4kYmxhY2tfdmVyeV9kYXJrOiAjMzIzMjMyO1xuXG4kZ3JheV92ZXJ5X2Rhcms6ICMzQjNCM0I7XG4kZ3JheV92ZXJ5X2RhcmtfMjogIzU3NTc1NztcbiRncmF5X3ZlcnlfZGFya18zOiAjMUExQTFBO1xuJGdyYXlfdmVyeV9saWdodDogI0VBRUFFQTtcbiRncmF5X3ZlcnlfbGlnaHRfMjogI0UxRTFFMTtcbiRncmF5X2xpZ2h0OiAjQ0NDQ0NDO1xuJGdyYXlfbGlnaHRfMjogI0Q2RDZENjtcbiRncmF5X2xpZ2h0XzM6ICNDRUNFQ0U7XG4kZ3JheV9saWdodF80OiAjRDhEOEQ4O1xuJGdyYXlfbGlnaHRfYmx1ZTogI0U3RUNGMTtcbiRncmF5X2xpZ2h0X2JsdWVfMjogI0Y3RjhGQTtcblxuJGJsdWVfZ3JheWlzaDogI0I0QjZCRjtcbiRibHVlX2dyYXlpc2hfMjogI0FGQjJCQTtcbiRibHVlX2RhcmtfZ3JheWlzaDogIzZDNkQ3MztcbiRibHVlX2RhcmtfZ3JheWlzaF8yOiAjMzYzNjM4O1xuJGJsdWVfdmVyeV9kYXJrOiAjMUMxQzFGO1xuJGJsdWVfdmVyeV9kYXJrXzI6ICMyOTJBMkU7XG4kYmx1ZV92ZXJ5X2RhcmtfMzogIzFEMUQyMDtcbiRibHVlX3ZlcnlfZGFya19ncmF5aXNoOiAjNjE2NDY2O1xuJGJsdWVfdmVyeV9kYXJrX2dyYXlpc2hfMjogIzQwNDE0NztcbiRibHVlX3ZlcnlfZGFya19ncmF5aXNoXzM6ICMzQzNENDI7XG4kYmx1ZV92ZXJ5X2RhcmtfZ3JheWlzaF80OiAjNTY1ODVDO1xuJGJsdWVfdmVyeV9kYXJrX2Rlc2F0dXJhdGVkOiAjMjEyOTM0O1xuJGJsdWVfdmVyeV9kYXJrX2Rlc2F0dXJhdGVkXzI6ICMzMDQwNTQ7XG4kYmx1ZV9saWdodF9ncmF5aXNoOiAjRjdGOUZBO1xuJGJsdWVfbGlnaHRfZ3JheWlzaF8yOiAjQ0NDRkQ5O1xuJGJsdWVfbGlnaHRfZ3JheWlzaF8zOiAjRjBGM0Y0O1xuJGJsdWVfbGlnaHRfZ3JheWlzaF80OiAjRUJFQ0VEO1xuJGJsdWVfbGlnaHRfZ3JheWlzaF81OiAjRjVGNkY3O1xuJGJsdWVfbGlnaHRfZ3JheWlzaF82OiAjRjJGNEY1O1xuXG4kdmlvbGV0X3ZlcnlfZGFyazogIzI3MjUyODtcblxuJGNvbG9yX21haW46ICRibHVlX2dyYXlpc2g7XG5cbiRmb250LXN0YWNrX19zYW5zLXNlcmlmOiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kZm9udC1zdGFja19fY29ybW9yYW50OiBcIkNvcm1vcmFudCBHYXJhbW9uZFwiLCAkZm9udC1zdGFja19fc2Fucy1zZXJpZjtcbiRmb250LXN0YWNrX19yb2JvdG86IFwiUm9ib3RvXCIsICRmb250LXN0YWNrX19zYW5zLXNlcmlmO1xuIiwiLyogLS0tLS0gUFVUIEFMTCBZT1VSIEFNQVpJTkcgTUlYSU5TIElOIEhFUkUgLS0tLS0gKi9cblxuLy8gSW1hZ2UgcmVwbGFjZW1lbnRcbkBtaXhpbiByZXBsYWNlKCl7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDA7XG59XG5cbi8vIFJlc2V0cyB0aGUgbGFzdCBjb2x1bW4gbnVtYmVyXG5AbWl4aW4gb21lZ2EtcmVzZXQoJG50aCkge1xuICAmOm50aC1jaGlsZCgjeyRudGh9KSB7IG1hcmdpbi1yaWdodDogZmxleC1ndXR0ZXIoKTsgfVxuICAmOm50aC1jaGlsZCgjeyRudGh9KzEpIHsgY2xlYXI6IG5vbmUgfVxufVxuXG5AbWl4aW4gYnJlLXRyYW5zaXRpb24oKXtcbiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59IiwiQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcImljb25mb250XCI7XG4gIHNyYzogdXJsKCdpY29uZm9udC5lb3QnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYzogdXJsKFwiaWNvbmZvbnQudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLFxuICAgICAgIHVybChcImljb25mb250LmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgICAgdXJsKFwiaWNvbmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLFxuICAgICAgIHVybChcImljb25mb250LnN2ZyNzdmdpY29uZm9udFwiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLmljb246YmVmb3JlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogXCJpY29uZm9udFwiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmljb24tbGcge1xuICBmb250LXNpemU6IDEuMzMzMzMzMzMzMzMzMzMzM2VtO1xuICBsaW5lLWhlaWdodDogMC43NWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogLTE1JTtcbn1cbi5pY29uLTJ4IHsgZm9udC1zaXplOiAyZW07IH1cbi5pY29uLTN4IHsgZm9udC1zaXplOiAzZW07IH1cbi5pY29uLTR4IHsgZm9udC1zaXplOiA0ZW07IH1cbi5pY29uLTV4IHsgZm9udC1zaXplOiA1ZW07IH1cbi5pY29uLWZ3IHtcbiAgd2lkdGg6IDEuMjg1NzE0Mjg1NzE0Mjg1OGVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59IiwiYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBjb2xvcjogJGNvbG9yX21haW47XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZy10b3A6IDUwcHg7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFja19fc2Fucy1zZXJpZjtcbiAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG5cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG5cbiAgLndmLWFjdGl2ZSAmIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2tfX2Nvcm1vcmFudDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICB9XG5cbiAgJi5maXhlZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICYudG9vbGJhci10cmF5LW9wZW4udG9vbGJhci12ZXJ0aWNhbC50b29sYmFyLWZpeGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICAmLmlzTW9iaWxlLnBhZ2Utbm9kZS10eXBlLWhvbWVwYWdlIHtcblxuICAgIHNlY3Rpb24uaW5kdXN0cmllcyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBzZWN0aW9uLmhlYWRlcixcbiAgICBzZWN0aW9uLmxvY2FsX25hdixcbiAgICBzZWN0aW9uLmRlcGFydG1lbnRzLFxuICAgIC5kaWFtb25kLFxuICAgIC5oZWFkZXItYXJyb3cge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgIHBhZGRpbmctdG9wOiA4NHB4O1xuICB9XG59XG5cbkBpbXBvcnQgXCJ0eXBvLnNjc3NcIjtcbkBpbXBvcnQgXCJoZWFkZXIuc2Nzc1wiO1xuQGltcG9ydCBcIm1lbnUuc2Nzc1wiO1xuQGltcG9ydCBcImZvb3Rlci5zY3NzXCI7XG5AaW1wb3J0IFwibGF5b3V0LnNjc3NcIjtcbiIsInAsXG5oMSwgaDIsIGgzLFxuaDQsIGg1LCBoNiB7XG4gIG1hcmdpbjogMDtcbn1cblxuaDEge1xuICBmb250LXNpemU6IHJlbSgyOCk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjA4O1xuICBsZXR0ZXItc3BhY2luZzogLTAuMTVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAmLnRpdGxlIHtcbiAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgbWFyZ2luOiAwIDAgOXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IHJlbSg0MCk7XG4gICAgbGluZS1oZWlnaHQ6IDAuNjk7XG5cbiAgICAmLnRpdGxlIHtcbiAgICAgIG1hcmdpbjogMCAwIDE3cHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG4gICAgZm9udC1zaXplOiByZW0oNTUpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4zcHg7XG4gIH1cbn1cblxuaDIge1xuICBmb250LXNpemU6IHJlbSgyMCk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBsZXR0ZXItc3BhY2luZzogMi44NnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICYuc3ViX3RpdGxlIHtcbiAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrX2dyYXlpc2hfMjtcbiAgfVxufVxuXG51bCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuYSB7XG4gIGNvbG9yOiAkY29sb3JfbWFpbjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6dmlzaXRlZCB7XG4gICAgY29sb3I6ICRjb2xvcl9tYWluO1xuICB9XG59XG4iLCIjaGVhZGVyIHtcbiAgZmxleDogbm9uZTtcbiAgYmFja2dyb3VuZDogJGJsYWNrO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICB6LWluZGV4OiAxMDA7XG4gIC8vcGFkZGluZzogMTVweCAyOHB4IDE3cHg7XG4gIHBhZGRpbmc6IDAgMjhweDtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAuZ2xvYmFsX2N0YSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4O1xuXG4gICAgaW1nLCBoMyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA2cHg7XG5cbiAgICAgICYuaWNvbi1kYXJrIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZ2xvYmFsX25hdiB7XG4gICAgd2lkdGg6IDgycHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgLnNpdGUtbG9nbyA+IGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMTVweCAwIDE3cHg7XG4gICAgfVxuICB9XG5cbiAgLmdsb2JhbF90b29sYmFyIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAubGFuZ3VhZ2Utc3dpdGNoZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHdpZHRoOiA1NXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1NXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvZWFydGgucG5nJykgbm8tcmVwZWF0IGxlZnQgM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEzcHggYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuOHB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zd2l0Y2hlci1hcnJvdyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDZweCAwIG51bGwgbnVsbCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoOXB4IDQuNXB4KTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvbWVudS1hcnJvdy1saWdodC5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMjJtcyBsaW5lYXIpO1xuXG4gICAgICAgICYucm90YXRlIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC0xODBkZWcpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51LXRvZ2dsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDdweCAwO1xuICAgIC8vQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0xNXB4IDAgbnVsbCBudWxsKTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTMwcHggMCBudWxsIG51bGwpO1xuXG4gICAgZGl2IHtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTlweCAxcHgpO1xuICAgICAgYmFja2dyb3VuZDogJGdyYXlfdmVyeV9saWdodDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgICAgICY6YmVmb3JlLFxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDE5cHggMXB4KTtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyYXlfdmVyeV9saWdodDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG5cbiAgICAgIGRpdiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoMTBweCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVgoMTBweCkgdHJhbnNsYXRlWSgtMXB4KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgIHBhZGRpbmc6IDM1cHggNTBweCAzMnB4O1xuXG4gICAgLmdsb2JhbF9jdGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmdsb2JhbF9uYXYge1xuICAgICAgd2lkdGg6IDE0NHB4O1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDI2cHggMCBudWxsKTtcblxuICAgICAgLnNpdGUtbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtMzJweCkpO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdsb2JhbF90b29sYmFyIHtcblxuICAgICAgLmxhbmd1YWdlLXN3aXRjaGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtdG9nZ2xlIHtcbiAgICAgIHBhZGRpbmc6IDlweCAwO1xuICAgICAgdG9wOiAtMXB4O1xuXG4gICAgICBkaXYge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDMycHggMXB4KTtcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgzMnB4IDFweCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuXG4gICAgICAgIGRpdiB7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDQ1ZGVnKSB0cmFuc2xhdGUoMTNweCkpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZVgoMTJweCkgdHJhbnNsYXRlWSgtMXB4KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubWFpbi1tZW51IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIxNCwgMjE0LCAyMTQsIDAuOTgpO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIG9wYWNpdHk6IDA7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAtMTAwJSAwIG51bGwgbnVsbCk7XG4gIEBpbmNsdWRlIHNpemUoMTAwJSBjYWxjKDEwMHZoIC0gNTBweCkpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLWluLW91dCk7XG5cbiAgJi5hY3RpdmUge1xuICAgIHRvcDogNTBweDtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgYSB7XG4gICAgY29sb3I6ICRibGFja192ZXJ5X2Rhcms7XG4gIH1cblxuICAuaG9tZXBhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAubWVudSB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgLm1lbnUtaXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAxNnB4IDAgMTRweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAgICY6bm90KDpudGgtbGFzdC1jaGlsZCgyKSk6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMzBweCAxcHgpO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoO1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDAgMCAwKTtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5pbnZlbnRvcnkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjIzO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjJweDtcbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24sIHNwYW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAub25saW5lLWludmVudG9yeSB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRibHVlX3ZlcnlfZGFya19ncmF5aXNoO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmx1ZV92ZXJ5X2RhcmtfZ3JheWlzaDtcblxuICAgIGltZywgaDMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMC41cHg7XG5cbiAgICAgICYuaWNvbi1saWdodCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgY29sb3I6ICRibGFja192ZXJ5X2Rhcms7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgICB9XG4gIH1cblxuICAuYmxvY2stbGFuZ3VhZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBhZGRpbmc6IDEzcHggMCAwIDEycHg7XG5cbiAgICAubGFuZ3VhZ2Utc3dpdGNoZXIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvZWFydGgtZGFyay5wbmcnKSBuby1yZXBlYXQgbGVmdCAzcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEzcHggYXV0bztcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgY29sb3I6ICRibGFja192ZXJ5X2Rhcms7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDA7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGxpbmVhcik7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG1heC13aWR0aDogNTBweDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUgbGkge1xuICAgICAgICBtYXgtd2lkdGg6IDUwcHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpdGNoZXItYXJyb3cge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIEBpbmNsdWRlIHNpemUoNC41cHggOXB4KTtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL21lbnUtYXJyb3cucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNC41cHggYXV0bztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGxpbmVhcik7XG5cbiAgICAgICYucm90YXRlIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtMTgwZGVnKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2Jsb2NrX3NvY2lhbC1tZWRpYSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWluLWhlaWdodDogODAwcHg7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gODRweCk7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICB0b3A6IDg0cHg7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcblxuICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgICB9XG5cbiAgICAuaG9tZXBhZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxNXB4IDAgMThweDtcblxuICAgICAgaDEge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51IHtcbiAgICAgIEBpbmNsdWRlIHJvdygpO1xuICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXlfdmVyeV9kYXJrXzI7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXlfdmVyeV9kYXJrXzI7XG5cbiAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgzbik7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaW52ZW50b3J5IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICYubWVudS1pdGVtLS1hY3RpdmUtdHJhaWwge1xuXG4gICAgICAgICAgLml0ZW0tY29udGVudCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheV9saWdodF8zO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaXRlbS1jb250ZW50IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgcGFkZGluZzogMjBweCAxNXB4O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMjJtcyBlYXNlLW91dCk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGdyYXlfbGlnaHRfMztcblxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTNweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZV92ZXJ5X2RhcmtfZ3JheWlzaDtcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDQwcHggMXB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAwIDAgMCk7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjg7XG4gICAgICAgIG1heC13aWR0aDogMjgwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDE5cHhcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFja19fcm9ib3RvO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMjJtcyBlYXNlLW91dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm9ubGluZS1pbnZlbnRvcnksXG4gICAgLmJsb2NrLWxhbmd1YWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgI2Jsb2NrX3NvY2lhbC1tZWRpYSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkb3ZlcmRlc2t0b3ApIHtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDExNDBweCk7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5ob21lcGFnZSB7XG4gICAgICBwYWRkaW5nOiAxOXB4IDAgMjEuNXB4O1xuXG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjlweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudSB7XG4gICAgICBwYWRkaW5nOiA5LjVweCAxNXB4O1xuXG4gICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjFweDtcbiAgICAgIH1cblxuICAgICAgLml0ZW0tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDM2cHggMzBweCAyN3B4O1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxM3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxOXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICNibG9ja19zb2NpYWwtbWVkaWEge1xuICAgICAgcGFkZGluZzogNTBweCAwO1xuICAgIH1cbiAgfVxufVxuIiwiI2Zvb3RlciB7XG4gIGZsZXg6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogJGJsYWNrO1xuXG4gIC5wcmVmb290ZXIge1xuICAgIEBpbmNsdWRlIHJvdygpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuZm9vdGVyLWFyZWEge1xuICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMi45O1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjg2cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC5tZW51IGxpIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2tfX3JvYm90bztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG4gIH1cblxuICAuZm9vdGVyX3RvcCB7XG4gICAgcGFkZGluZzogMzBweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE4MCwgMTgyLCAxOTEsIDAuMyk7XG4gIH1cblxuICAuZm9vdGVyX2JvdHRvbV9maXJzdCB7XG4gICAgcGFkZGluZzogMzVweCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE4MCwgMTgyLCAxOTEsIDAuMyk7XG4gIH1cblxuICAuZm9vdGVyX2JvdHRvbV90aGlyZCB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDE4MCwgMTgyLCAxOTEsIDAuMyk7XG4gICAgY29sb3I6ICRibHVlX2dyYXlpc2hfMjtcbiAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2tfX3JvYm90bztcblxuICAgIC5zaXRlX2xlZ2FsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgfVxuXG4gICAgLnNpdGVfYnkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuMTtcblxuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDkpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRvdmVybW9iaWxlKSB7XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcblxuICAgIC5mb290ZXItYXJlYSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTE0MHB4KTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IHJlbSgyNSk7XG4gICAgICBsaW5lLWhlaWdodDogMS41MjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAzLjU3cHg7XG4gICAgfVxuXG4gICAgLm1lbnUgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbjogMCAxOHB4O1xuICAgIH1cblxuICAgIC5mb290ZXJfYm90dG9tX2ZpcnN0IHtcbiAgICAgIHBhZGRpbmc6IDQycHggMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICB9XG5cbiAgICAuZm9vdGVyX2JvdHRvbV90aGlyZCB7XG4gICAgICBwYWRkaW5nOiAzNXB4IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG59XG4iLCIubGF5b3V0LWNvbnRhaW5lciB7XG4gIC8vIFN0aWNreSBGb290ZXJcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAjbWFpbiB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gICAgcGFkZGluZzogMjVweCAwIDA7XG4gIH1cblxuICAjY29udGVudC1hcmVhIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG59XG5cbi50cmlnZ2VyIHtcbiAgQGluY2x1ZGUgc2l6ZSgxMDAlIDFweCk7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwIG51bGwgMCAwKTtcbiAgbWFyZ2luOiBhdXRvO1xufVxuIiwiQGltcG9ydCBcImZvcm1cIjtcbkBpbXBvcnQgXCJidXR0b25zXCI7XG5AaW1wb3J0IFwidGFibGVcIjtcbkBpbXBvcnQgXCJibG9ja3NcIjtcbkBpbXBvcnQgXCJwYWdlclwiO1xuQGltcG9ydCBcInNlbGVjdGl6ZVwiO1xuQGltcG9ydCBcImNsb2NrXCI7XG4iLCJpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLCB0ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBwYWRkaW5nOiA5cHggMTdweDtcblxuICBjb2xvcjogJHZpb2xldF92ZXJ5X2Rhcms7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFja19fcm9ib3RvO1xuICBmb250LXNpemU6IHJlbSgxNCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjU3O1xuICBsZXR0ZXItc3BhY2luZzogMC40NHB4O1xuXG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBpbmhlcml0O1xuXG4gIHJlc2l6ZTogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG4gIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDEuMzdweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbiIsIi5idG4tbW9yZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgY29sb3I6ICRibHVlX2RhcmtfZ3JheWlzaDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZy1yaWdodDogMTRweDtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvYnRuLW1vcmUucG5nJykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiA1cHggYXV0bztcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMjIybXMgbGluZWFyKTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgQGluY2x1ZGUgc2l6ZSgwIDFweCk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAtMnB4IDApO1xuICAgIGJhY2tncm91bmQ6ICRibGFja192ZXJ5X2Rhcms7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMjIybXMgbGluZWFyKTtcbiAgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkYmx1ZV9kYXJrX2dyYXlpc2g7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAkYmxhY2tfdmVyeV9kYXJrO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2J0bi1tb3JlLWRhcmsucG5nJyk7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYmxhY2tfdmVyeV9kYXJrO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufVxuXG5cbi5idG4tYmFjayB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFja19fcm9ib3RvO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxldHRlci1zcGFjaW5nOiAycHg7XG4gIGNvbG9yOiAkYmx1ZV9kYXJrX2dyYXlpc2g7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmctbGVmdDogMTRweDtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvYnRuLWJhY2sucG5nJykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDVweCBhdXRvO1xufVxuXG5cbi5idG4tZG91YmxlX2xpbmUge1xuICBvcGFjaXR5OiAwLjc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG4gIHBhZGRpbmc6IDEwcHggMTBweCAxMHB4IDRweDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICR2aW9sZXRfdmVyeV9kYXJrO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHZpb2xldF92ZXJ5X2Rhcms7XG4gIGNvbG9yOiAkdmlvbGV0X3ZlcnlfZGFyaztcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiByZW0oMTIpO1xuICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9mcmFtZS1hcnJvdy5wbmcnKSBuby1yZXBlYXQgY2FsYygxMDAlIC0gMXB4KSBjZW50ZXIgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNHB4IGF1dG87XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgJjpob3ZlciB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogJGJsYWNrO1xuICB9XG59XG5cblxuLmJ0bi1jbG9zZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgQGluY2x1ZGUgc2l6ZSgyMXB4KTtcbiAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDIzcHggMjNweCBudWxsIG51bGwpO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9jbG9zZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbn1cbiIsIiIsIiNibG9ja19pbnN0YWdyYW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHdyYXA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogJGJsdWVfdmVyeV9kYXJrO1xuXG4gIC5ncmlkLWl0ZW1zIHtcbiAgICAvL2ZsZXg6IDUwJTtcbiAgICBmbGV4OiAxIDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICB9XG5cbiAgICAmLml0ZW0tMCB7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG5cbiAgICAmLml0ZW0tMSB7XG4gICAgICBvcmRlcjogMztcbiAgICAgIGZsZXg6IDEgNTAlO1xuICAgIH1cblxuICAgICYuaXRlbS0yIHtcbiAgICAgIG9yZGVyOiA0O1xuICAgICAgZmxleDogMSA1MCU7XG4gICAgfVxuXG4gICAgJi5pdGVtLTMge1xuICAgICAgb3JkZXI6IDU7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5ncmlkLWhlYWRlciB7XG4gICAgb3JkZXI6IDE7XG4gICAgZmxleDogMTAwJTtcbiAgICBwYWRkaW5nOiAyMnB4IDhweCAxNXB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAuaGVhZGVyLWFyZWEge1xuICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMi44NnB4O1xuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAyLjg2cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICB9XG5cbiAgICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmdyaWQtZm9vdGVyIHtcbiAgICBmbGV4OiAxMDAlO1xuICAgIG9yZGVyOiA2O1xuICAgIHBhZGRpbmc6IDI1cHggOHB4O1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiA5LjVweCAxOHB4IDhweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2tfX3JvYm90bztcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgIEBpbmNsdWRlIHJvdygpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5ncmlkLWl0ZW1zIHtcbiAgICAgIGZsZXg6IG5vbmU7XG4gICAgICB3aWR0aDogMjAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICYuaXRlbS0xLFxuICAgICAgJi5pdGVtLTIge1xuICAgICAgICBmbGV4OiBub25lO1xuICAgICAgfVxuXG5cbiAgICAgICYuaXRlbS0zIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3JpZC1oZWFkZXIge1xuICAgICAgZmxleDogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcblxuICAgICAgd2lkdGg6IDIwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDIwJSBudWxsIG51bGwpO1xuXG4gICAgICBhIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAuaGVhZGVyLWFyZWEge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgY29sb3I6ICRncmF5X2xpZ2h0O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI4LCAyOCwgMzEsIDAuOTUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogNXB4IDVweCAxNXB4O1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCAwKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAwIDAgMCk7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxNXB4IDFweCk7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmdyaWQtZm9vdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG5cbiAgICAuZ3JpZC1oZWFkZXIge1xuICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuODZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNibG9ja19zb2NpYWwtbWVkaWEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrX2dyYXlpc2hfMjtcbiAgICBsaW5lLWhlaWdodDogMS42NztcbiAgICBsZXR0ZXItc3BhY2luZzogMi41N3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuc29jaWFsLW1lZGlhX2l0ZW1zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgc2l6ZSg0M3B4KTtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheV92ZXJ5X2Rhcms7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWFyZ2luOiAwIDZweDtcblxuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuXG4gICAgLmRhcmsge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBhOmxhc3Qtb2YtdHlwZSAuc29jaWFsLW1lZGlhX2l0ZW1zIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuI2Jsb2NrLWRlcGFydG1lbnRibG9jayB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMzJweCAyNXB4IDUwcHg7XG4gIGJhY2tncm91bmQ6ICRibHVlX2xpZ2h0X2dyYXlpc2g7XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4xcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDY7XG4gICAgbWFyZ2luLWJvdHRvbTogMzNweDtcbiAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIH1cblxuICBoNCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSAwIG51bGwgMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICBjb2xvcjogJGJsdWVfbGlnaHRfZ3JheWlzaDtcbiAgICBsZXR0ZXItc3BhY2luZzogMi40cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjc7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICB9XG5cbiAgLml0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgMTVweDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzIsIDMzLCAzNiwgMC44Nyk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMjJtcyBsaW5lYXIpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzIsIDMzLCAzNiwgMC45NSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNsaWNrLWRvdHMge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcblxuICAgIGxpIHtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMTVweCkgLyAzKTtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWVfbGlnaHRfZ3JheWlzaF80O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMjJtcyBsaW5lYXIpO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgICAgaGVpZ2h0OiA1cHg7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheV9saWdodF8yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAyNXB4IDI1cHggNzBweCAyNXB4O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmx1ZV9saWdodF9ncmF5aXNoO1xuICAgICAgQGluY2x1ZGUgc2l6ZSg5OTk5cHggMTAwJSk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgLTQ5OTlweCk7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDFweDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCAwKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgIGNvbG9yOiAkYmx1ZV9saWdodF9ncmF5aXNoO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjc7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5pdGVtLWxpc3Qge1xuICAgICAgQGluY2x1ZGUgcm93KCk7XG4gICAgfVxuXG4gICAgLml0ZW0ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzLjUpO1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMC41KTtcbiAgICB9XG5cbiAgICBhOmZpcnN0LW9mLXR5cGUge1xuICAgICAgLml0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBzaGlmdCgwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkb3ZlcmRlc2t0b3ApIHtcbiAgICBwYWRkaW5nOiAzMnB4IDMzcHggNzBweCAzM3B4O1xuXG4gICAgLml0ZW0ge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMS4yKTtcbiAgICB9XG4gIH1cbn1cblxuI2Jsb2NrLXByZXNzLWtpdCB7XG5cbiAgLmFjdGl2ZSAmIHtcblxuICAgIC5wcmVzcy1raXRfYnRuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC5wcmVzcy1raXRfYnRuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB3aWR0aDogNzUlO1xuICAgIG1heC13aWR0aDogMjQwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoOTcsIDEwMCwgMTAyLCAwLjE1KTtcbiAgICBwYWRkaW5nOiAxNXB4IDAgMjNweDtcbiAgICBtYXJnaW46IDEwcHggYXV0byAwO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrX2Rlc2F0dXJhdGVkXzI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNztcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjQ3cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9wcmVzc2tpdC5wbmcnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEzcHggYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAucHJlc3Mta2l0X2xpZ2h0Ym94IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHBhZGRpbmc6IDIzcHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUgMTAwdmgpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCA1MHB4IG51bGwgbnVsbCAwKTtcblxuICAgIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDhweDtcbiAgICB9XG4gIH1cblxuICAuaWNvbiB7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG8gMTVweDtcbiAgfVxuXG4gIGgyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoXzI7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDIuODZweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgcGFkZGluZzogMTVweCAwIDI4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBAaW5jbHVkZSBzaXplKDQwcHggMXB4KTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJhY2tncm91bmQ6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgMCAwIDApO1xuICAgIH1cbiAgfVxuXG4gIC5ib2R5LXRleHQge1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFja19fcm9ib3RvO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU2O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgbWFyZ2luLWJvdHRvbTogMzNweDtcbiAgfVxuXG4gIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICRibHVlX2xpZ2h0X2dyYXlpc2g7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgIGltZywgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTNweDtcbiAgICAgIG1hcmdpbi1yaWdodDogOXB4O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjkzO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMzdweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcblxuICAgIC5wcmVzcy1raXRfYnRuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMjhweCAwIDA7XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wcmVzcy1raXRfbGlnaHRib3gge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgIHdpZHRoOiA4NSU7XG4gICAgICBtYXgtd2lkdGg6IDg2MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCAwKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICBtYXJnaW46IDAgYXV0byAxOHB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI1KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAzLjU3cHg7XG4gICAgICBwYWRkaW5nOiAwIDAgMjZweDtcbiAgICB9XG5cbiAgICAuYm9keS10ZXh0IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0N3B4O1xuICAgIH1cblxuICAgIGEge1xuICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAzMHB4KSAvIDIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuODZweDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNibG9jay1wbGF5bGlzdCB7XG4gIG1hcmdpbi10b3A6IDYwcHg7XG4gIHBhZGRpbmc6IDQwcHggMjVweCA1MHB4O1xuICBiYWNrZ3JvdW5kOiAkdmlvbGV0X3ZlcnlfZGFyaztcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDMzLCA0MSwgNTIsIDAuMTgpO1xuXG4gIGgyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTlweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxOXB4O1xuICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMi40M3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ3O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcbiAgfVxuXG4gIC5fX3ZpZGVvLWxpc3Qge1xuXG4gICAgJiA+IGRpdiB7XG4gICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNDcsIDI0OSwgMjUwLCAwLjA1KTtcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC40cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI5O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLmxpbmstYXJlYSB7XG4gICAgbWFyZ2luLXRvcDogMjVweDtcblxuICAgIGEge1xuICAgICAgQGV4dGVuZCAuYnRuLWRvdWJsZV9saW5lO1xuICAgICAgcGFkZGluZzogOXB4IDI1cHggOXB4IDE2cHg7XG4gICAgICBjb2xvcjogJGJsdWVfbGlnaHRfZ3JheWlzaDtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJsdWVfbGlnaHRfZ3JheWlzaDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2ZyYW1lLWFycm93LWxpZ2h0LnBuZycpIG5vLXJlcGVhdCBjYWxjKDEwMCUgLSA1cHgpIGNlbnRlciB0cmFuc3BhcmVudDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogN3B4IGF1dG87XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAzMjVweDtcbiAgICBtYXJnaW46IDA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDQycHggMzBweCA1MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGgyIHtcbiAgICAgIG1pbi13aWR0aDogNDAwcHg7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgZm9udC1zaXplOiByZW0oMjEpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAgICAgY29sb3I6ICRibHVlX2RhcmtfZ3JheWlzaDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgMCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC05MGRlZykgdHJhbnNsYXRlWCgtNXB4KSB0cmFuc2xhdGVZKC0yMzBweCkpO1xuICAgIH1cblxuICAgIC5fX3ZpZGVvLWxpc3Qge1xuXG4gICAgICBoMyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmstYXJlYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jYmxvY2stc2hhcmVldmVyeXdoZXJlYmxvY2sge1xuICB6LWluZGV4OiAxO1xuICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNzBweCAyNXB4IG51bGwgbnVsbCk7XG5cbiAgaDIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuc2UtdHJpZ2dlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgQGluY2x1ZGUgc2l6ZSgyNXB4KTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9zaGFyZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNDBweCBhdXRvO1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnNlLWxpbmtzLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1heC13aWR0aDogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA0NDRtcyBsaW5lYXIpO1xuXG4gICAgJi50b2dnbGVkIHtcbiAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgfVxuICB9XG5cbiAgLnNlLWxpbmtzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuc2UtbGluayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgQGluY2x1ZGUgc2l6ZSgzNXB4IDI1cHgpO1xuXG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgIH1cblxuICAgICYuZmFjZWJvb2tfc2hhcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc2hhcmUtZmItZGFyay5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA2cHggYXV0bztcbiAgICB9XG5cbiAgICAmLnR3aXR0ZXIge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc2hhcmUtdHctZGFyay5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxM3B4IGF1dG87XG4gICAgfVxuXG4gICAgJi5saW5rZWRpbiB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9zaGFyZS1pbi1kYXJrLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggYXV0bztcbiAgICB9XG5cbiAgICAmLndoYXRzYXBwIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3NoYXJlLXdoYXRzYXBwLWRhcmsucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTRweCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMTIwcHg7XG4gIH1cblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICB0b3A6IDE4MHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IGluaGVyaXQ7XG5cbiAgICBoMiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFja19fcm9ib3RvO1xuICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgY29sb3I6ICRibHVlX2RhcmtfZ3JheWlzaDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIG51bGwgbnVsbCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDkwZGVnKSB0cmFuc2xhdGVYKDI0cHgpIHRyYW5zbGF0ZVkoLTM1cHgpKTtcbiAgICB9XG5cbiAgICAuc2UtdHJpZ2dlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5zZS1saW5rcy1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgfVxuXG4gICAgLnNlLWxpbmtzIHtcbiAgICAgIGJhY2tncm91bmQ6ICRibGFja192ZXJ5X2Rhcms7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nOiAxN3B4IDExcHg7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMjBweCAwIHJnYmEoMzMsIDQxLCA1MiwgMC4xOCk7XG4gICAgfVxuXG4gICAgLnNlLWxpbmsge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuXG4gICAgICAmLmZhY2Vib29rX3NoYXJlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc2hhcmUtZmIucG5nJykgbm8tcmVwZWF0IGNlbnRlciAkYmxhY2tfdmVyeV9kYXJrO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDZweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmLnR3aXR0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9zaGFyZS10dy5wbmcnKSBuby1yZXBlYXQgY2VudGVyICRibGFja192ZXJ5X2Rhcms7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTNweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmLmxpbmtlZGluIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc2hhcmUtaW4ucG5nJykgbm8tcmVwZWF0IGNlbnRlciAkYmxhY2tfdmVyeV9kYXJrO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE0cHggYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgJi53aGF0c2FwcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3NoYXJlLXdoYXRzYXBwLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgJGJsYWNrX3ZlcnlfZGFyaztcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNHB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNibG9jay1zYWxlcy1vZmZpY2Uge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDY4LjVweCAyNXB4IDgwcHg7XG5cbiAgaDMge1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luOiA1MnB4IDAgNDhweDtcbiAgICBmb250LXNpemU6IHJlbSgyMyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTY7XG4gICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoXzQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICBhIHtcbiAgICBAZXh0ZW5kIC5idG4tZG91YmxlX2xpbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgIHBhZGRpbmc6IDcwcHggMjVweCAxMjVweDtcblxuICAgIGgzIHtcbiAgICAgIG1hcmdpbjogMjdweCAwIDMwcHg7XG4gICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgfVxuICB9XG59XG4iLCIucGFnZXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIG5hdi5wYWdlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAucGFnZXJfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogJGJsdWVfdmVyeV9kYXJrXzM7XG4gICAgQGluY2x1ZGUgc2l6ZSg1NXB4KTtcblxuICAgIGEge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnBhZ2VyX19pdGVtLS1maXJzdCxcbiAgICAmLnBhZ2VyX19pdGVtLS1wcmV2aW91cyxcbiAgICAmLnBhZ2VyX19pdGVtLS1sYXN0LFxuICAgICYucGFnZXJfX2l0ZW0tLW5leHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgJi5wYWdlcl9faXRlbS0tbGFzdCxcbiAgICAgICYucGFnZXJfX2l0ZW0tLW5leHQge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDE4MGRlZykpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYucGFnZXJfX2l0ZW0tLWZpcnN0IGEsXG4gICAgJi5wYWdlcl9faXRlbS0tbGFzdCBhIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2ZpcnN0LXBhZ2UucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IGF1dG87XG4gICAgfVxuXG4gICAgJi5wYWdlcl9faXRlbS0tcHJldmlvdXMgYSxcbiAgICAmLnBhZ2VyX19pdGVtLS1uZXh0IGEge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvcHJldi1wYWdlLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDZweCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG5cbiAgICBuYXYucGFnZXIge1xuICAgICAgcGFkZGluZzogMjVweCAzMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnNlbGVjdGl6ZS1jb250cm9sIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAuc2VsZWN0aXplLWlucHV0IHtcbiAgICBwYWRkaW5nOiA5cHggMTguNXB4IDlweCAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBjb2xvcjogJHZpb2xldF92ZXJ5X2Rhcms7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc2VsZWN0LWFycm93LnBuZycpIG5vLXJlcGVhdCBjYWxjKDEwMCUgLSAxOC41cHgpIGNlbnRlciAkd2hpdGU7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDEuNTQ7XG5cbiAgICAuaXRlbVtkYXRhLXZhbHVlPVwiX25vbmVcIl0ge1xuICAgICAgY29sb3I6ICNBRUIxQkE7XG4gICAgfVxuICB9XG5cbiAgI2VkaXQtZmllbGQtdGl0bGUtc2VsZWN0aXplZCxcbiAgI2VkaXQtZmllbGQtc2VsZWN0LXN1YmplY3Qtc2VsZWN0aXplZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5zZWxlY3RpemUtZHJvcGRvd24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb2xvcjogJHZpb2xldF92ZXJ5X2Rhcms7XG4gICAgcGFkZGluZzogNXB4IDE1cHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgLm9wdGlvbiB7XG4gICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICB9XG4gIH1cbn1cbiIsIi53b3JsZHdpZGUtY2xvY2sge1xuXG4gIC5mbGlwLWNsb2NrLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5mbGlwIHtcbiAgICBAaW5jbHVkZSBzaXplKDI3cHggNDhweCk7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG4gICAgZm9udC1zaXplOiByZW0oMjUpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDIuNXB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJhY2tncm91bmQ6ICRncmF5X2xpZ2h0X2JsdWVfMjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUgMXB4KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgMCAwKTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMSksXG4gICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG5cbiAgICAgIC5mbGlwLWNsb2NrLWJlZm9yZSxcbiAgICAgIC5mbGlwLWNsb2NrLWFjdGl2ZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMnB4IDAgIDEwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgyKSxcbiAgICAmOm50aC1vZi10eXBlKDQpIHtcbiAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuXG4gICAgICAuZmxpcC1jbG9jay1iZWZvcmUsXG4gICAgICAuZmxpcC1jbG9jay1hY3RpdmUge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAgMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mbGlwLWNsb2NrLWJlZm9yZSxcbiAgICAuZmxpcC1jbG9jay1hY3RpdmUge1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgfVxuXG4gICAgLnVwLCAuZG93biB7XG4gICAgICBmb250LXNpemU6IHJlbSgyNSk7XG4gICAgICBsaW5lLWhlaWdodDogMjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAuaW5uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheV9saWdodF9ibHVlXzI7XG4gICAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgICBjb2xvcjogJGJsYWNrX3ZlcnlfZGFyaztcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zaGFkb3cge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mbGlwLWNsb2NrLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIHNpemUoMTRweCA0OHB4KTtcbiAgICBwYWRkaW5nOiAwIDMuNXB4IDAgNS41cHg7XG5cbiAgICAmOm50aC1vZi10eXBlKDEpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZsaXAtY2xvY2stZG90IHtcbiAgICAgIEBpbmNsdWRlIHNpemUoNXB4KTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmxhY2tfdmVyeV9kYXJrO1xuICAgICAgbGVmdDogaW5oZXJpdDtcblxuICAgICAgJi50b3Age1xuICAgICAgICB0b3A6IDI4cHg7XG4gICAgICB9XG5cbiAgICAgICYuYm90dG9tIHtcbiAgICAgICAgYm90dG9tOiAyOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGltcG9ydCAndXNlcic7XG4iLCIjdXNlci1sb2dpbi1mb3JtIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBhZGRpbmc6IDEyMHB4IDI1cHg7XG4gIG1heC13aWR0aDogNjAwcHg7XG5cbiAgLmZvcm0taXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxuXG4gIGlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICR2aW9sZXRfdmVyeV9kYXJrO1xuICB9XG5cbiAgLmRlc2NyaXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgI2VkaXQtc3VibWl0IHtcbiAgICBAZXh0ZW5kIC5idG4tZG91YmxlX2xpbmU7XG4gICAgcGFkZGluZzogOC41cHggMzBweCA4LjVweCAyMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDlweCkgY2VudGVyO1xuICB9XG59XG5cbi8vIEFkbWluc3RyYXRpb24gVG9vbGJhclxuI3Rvb2xiYXItYWRtaW5pc3RyYXRpb24ge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4jYmxvY2stcmhtLXN0YXJ0ZXItbG9jYWwtdGFza3Mge1xuICBwYWRkaW5nOiAyNXB4O1xuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrX2Rlc2F0dXJhdGVkXzI7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFja19fcm9ib3RvO1xuICB9XG59XG5cbmJvZHkucm9sZS0tYXV0aGVudGljYXRlZCB7XG4gIHBhZGRpbmctdG9wOiA4MHB4ICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkucGF0aC1hZG1pbixcbmJvZHkuaXNfdXNlcl9wYWdlIHtcblxuICAjdG9vbGJhci1hZG1pbmlzdHJhdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cbiIsIkBpbXBvcnQgXCJob21lcGFnZVwiO1xuQGltcG9ydCBcInNpdGVtYXBcIjtcbkBpbXBvcnQgXCJiYXNpYy1wYWdlXCI7XG5AaW1wb3J0IFwiZGVwYXJ0bWVudFwiO1xuQGltcG9ydCBcImh0dHAtZXJyb3JcIjtcbkBpbXBvcnQgXCJjb250YWN0LXVzXCI7XG5AaW1wb3J0IFwiYXJ0aWNsZVwiO1xuQGltcG9ydCBcImV4cGVyaWVuY2VcIjtcbkBpbXBvcnQgXCJvZmZpY2VzXCI7XG5AaW1wb3J0IFwib2ZmaWNlXCI7XG5AaW1wb3J0IFwiZ2VuZXJhbC1wYWdlXCI7XG4iLCIucGFnZS1ub2RlLXR5cGUtaG9tZXBhZ2Uge1xuXG4gICNtYWluIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgI2NvbnRlbnQtYXJlYSBzZWN0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAyLjg2cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoXzI7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI5KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiA0LjE0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbi5pbmR1c3RyaWVzIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogJGdyYXlfbGlnaHRfMjtcbiAgICBwYWRkaW5nOiA2NXB4IDAgMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgLmluZm8ge1xuICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTA1cHg7XG5cbiAgICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4wNztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjE1cHg7XG4gICAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuNDNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDc7XG4gICAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfZ3JheWlzaF8yO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbmR1c3RyeS1zbGlkZSB7XG4gICAgICBwYWRkaW5nLXRvcDogN3B4O1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIC5pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwIDMuNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheV9saWdodF8yO1xuICAgICAgfVxuXG4gICAgICAuYmFja2dyb3VuZCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDExOHB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IDE1NXB4O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAwIDEwcHggMCk7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDM1cHggMzBweDtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMzApO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgY29sb3I6ICRibGFja192ZXJ5X2Rhcms7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQxcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uX3RpdGxlIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjFweDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwLjVweCBzb2xpZCAkZ3JheV92ZXJ5X2RhcmtfMjtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNHB4O1xuXG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2tfX3JvYm90bztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrX3ZlcnlfZGFyaztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS4zcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMi4xO1xuXG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKTphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDFweCAxM3B4KTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrX3ZlcnlfZGFyaztcbiAgICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJvZHktdGV4dCB7XG4gICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMjNweDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgICAgY29sb3I6ICRibGFja192ZXJ5X2Rhcms7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0bi1tb3JlIHtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrX3ZlcnlfZGFyaztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9idG4tbW9yZS1kYXJrLnBuZycpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2cHggYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgIGJvdHRvbTogLTE1cHg7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAxNXB4KSAvIDQpO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlX2xpZ2h0X2dyYXlpc2hfNDtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMjJtcyBsaW5lYXIpO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgaGVpZ2h0OiA1cHg7XG5cbiAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXlfbGlnaHRfMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stYXJyb3cge1xuICAgICAgdG9wOiBpbmhlcml0O1xuICAgICAgYm90dG9tOiAtMjVweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBAaW5jbHVkZSBzaXplKDU1cHggNDNweCk7XG5cbiAgICAgICYuc2xpY2stbmV4dCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKGNhbGMoLTUwJSArIDQwcHgpKSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3NsaWRlLWFycm93LW5leHQucG5nJykgbm8tcmVwZWF0IGNlbnRlciAkYmxhY2tfMjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1cHggYXV0bztcbiAgICAgIH1cblxuICAgICAgJi5zbGljay1wcmV2IHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoY2FsYygtNTAlIC0gNDBweCkpKTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc2xpZGUtYXJyb3ctcHJldi5wbmcnKSBuby1yZXBlYXQgY2VudGVyICRibGFja18yO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmLnNsaWNrLWRpc2FibGVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbi5oZWFkZXIsXG4gIHNlY3Rpb24ubG9jYWxfbmF2LFxuICBzZWN0aW9uLmRlcGFydG1lbnRzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24uaGVhZGVyIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMjc1cHggMjVweCAzMDBweDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDApO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1zaXplOiByZW0oNDUpO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuNztcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zcHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya18yO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA0NDRtcyBsaW5lYXIpO1xuICAgICAgQGluY2x1ZGUgZmlsdGVyKGJsdXIoMjBweCkpO1xuXG4gICAgICAmLnJlYWR5IHtcbiAgICAgICAgQGluY2x1ZGUgZmlsdGVyKGJsdXIoMCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgcGFkZGluZzogMjc1cHggMCAzMDBweDtcblxuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IHJlbSg1NSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbi5sb2NhbF9uYXYge1xuICAgIHotaW5kZXg6IDU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE1MHB4IDI1cHggMjBweDtcblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI5KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiA0LjE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4zMTtcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfZ3JheWlzaF8yO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuOTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjM3cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya18yO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMCAxcHgpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIDVweCAwKTtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGxpbmVhcik7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcmRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmc6IDE1MHB4IDAgMjBweDtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDYwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbi5kZXBhcnRtZW50cyB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAuZGVwYXJ0bWVudCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg3LjE1KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMTI1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogMjVweCAwO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA2NjZtcyBsaW5lYXIpO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheV9saWdodF8yO1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAyNXB4IG51bGwgbnVsbCAtOTk5OXB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDk5OTlweCBjYWxjKDEwMCUgLSA1MHB4KSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGdyYXlfbGlnaHRfMjtcbiAgICAgICAgICBwYWRkaW5nOiAxMzVweCAyMjBweCAxMzVweCAyNXB4O1xuXG4gICAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oNDApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuODg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuOHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2tfdmVyeV9kYXJrO1xuICAgICAgICAgICAgbWFyZ2luOiAxMnB4IDAgMjRweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuc2VjdGlvbl90aXRsZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2tfX3JvYm90bztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS4ycHg7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrX3ZlcnlfZGFyaztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTRweCA1cHggMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE0cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMjJtcyBsaW5lYXIpO1xuXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxcHggMTFweCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCBudWxsKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrX3ZlcnlfZGFyaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAtMnB4IDApO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBzaXplKDAgMXB4KTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsYWNrX3ZlcnlfZGFyaztcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMjIybXMgbGluZWFyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE0cHgpO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGU6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5idG4tbW9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrX3ZlcnlfZGFyaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2J0bi1tb3JlLWRhcmsucG5nJykgbm8tcmVwZWF0IGNlbnRlciByaWdodDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IGF1dG87XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTUwcHggY2FsYygxMDAlIC0gNTBweCkpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAyNXB4IDAgbnVsbCBudWxsKTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC42KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1vZi10eXBlKDJuKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHJpZ2h0OiAtOTk5OXB4O1xuICAgICAgICAgICAgbGVmdDogaW5oZXJpdDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMzVweCAyNXB4IDEzNXB4IDIyMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgICByaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG5cbiAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMzVweCAyNTBweCAxMzVweCAyNXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bnRoLW9mLXR5cGUoMm4pIHtcblxuICAgICAgICAgICAgLmNvbnRlbnQge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAxMzVweCAyNXB4IDEzNXB4IDI1MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDExNDBweCk7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgLmRlcGFydG1lbnQge1xuXG4gICAgICAgIC5jb250ZW50IHtcblxuICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDU4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTk1cHggY2FsYygxMDAlIC0gNTBweCkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2VjdGlvbi5sYXRlc3QtbmV3cyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDM1cHggNDhweCA1OHB4O1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDAgMCAwKTtcbiAgICAgIGJhY2tncm91bmQ6ICRibHVlX2xpZ2h0X2dyYXlpc2hfNDtcbiAgICAgIEBpbmNsdWRlIHNpemUoY2FsYygxMDAlIC0gNTBweCkgMXB4KTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzM3B4O1xuICAgIH1cblxuICAgIC5uZXdzIHtcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cblxuICAgICAgLmltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0byAyM3B4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZV9saWdodF9ncmF5aXNoXzU7XG4gICAgICAgIHBhZGRpbmctdG9wOiA5cHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgMCAwIDlweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2F0ZWdvcnkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4yMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB9XG5cbiAgICAgIC50ZWFzZXIge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICAgIH1cblxuICAgICAgLmJ0bi1tb3JlIHtcbiAgICAgICAgY29sb3I6ICRncmF5X3ZlcnlfZGFya18zO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9idG4tbW9yZS1kYXJrLnBuZycpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFsbC1uZXdzLWxpbmsge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDUwcHggYXV0byAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICAgICAgY29sb3I6ICRibHVlX2RhcmtfZ3JheWlzaDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTNweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvYXJyb3ctZmgucG5nJykgbm8tcmVwZWF0IGNlbnRlciByaWdodDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3cHggYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiA0NXB4IDI1cHggMTAwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAxMjVweDtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgcm90YXRlKC05MGRlZykpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIG51bGwgbnVsbCBudWxsKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLm5ld3Mtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIHJvdygpO1xuICAgICAgfVxuXG4gICAgICAubmV3cyB7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDVweDtcblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDY1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLm5vLWltYWdlIHtcblxuICAgICAgICAgIC5pbmZvIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IDE5NXB4O1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IDAgNzBweCAwIDA7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDE1cHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmZvIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE5NXB4IC0gODBweCk7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhdGVnb3J5IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2tfX3JvYm90bztcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMjZweDtcbiAgICAgICAgICBjb2xvcjogJGJsdWVfZGFya19ncmF5aXNoO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMzVweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgbWluLWhlaWdodDogNjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZWFzZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFsbC1uZXdzLWxpbmsge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTE0MHB4KTtcbiAgICAgIHBhZGRpbmc6IDQ1cHggMCAxNTBweDtcblxuICAgICAgLm5ld3Mge1xuICAgICAgICBAaW5jbHVkZSBzaGlmdCgxLjgpO1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMzQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRlYXNlciB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICBtYXJnaW46IDAgOTBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5mbyB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE5NXB4IC0gMTAwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hbGwtbmV3cy1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgc2hpZnQoMS44KTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24uY29tcGFueSB7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogNDBweCAyNXB4IDYzcHg7XG5cbiAgICAubGF5ZXIge1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG9wYWNpdHk6IDAuMTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLndyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZmxvdzogd3JhcDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcblxuICAgICAgaDIge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NjtcbiAgICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya18yO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgIC5idG4tZG91YmxlX2xpbmUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYnRuLWRvdWJsZV9saW5lIHtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIGNvbG9yOiAkdmlvbGV0X3ZlcnlfZGFyaztcbiAgICAgICAgcGFkZGluZzogNy41cHggMjJweCA4cHggNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvYnVpbGQvZnJhbWUtYXJyb3cucG5nXCIpIG5vLXJlcGVhdCBjYWxjKDEwMCUgLSA3cHgpIGNlbnRlciB0cmFuc3BhcmVudDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2cHggYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcblxuICAgICAgLndyYXBwZXIge1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtOTBkZWcpKTtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIG51bGwgbnVsbCBudWxsKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZzogNTBweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuXG4gICAgICAgICAgLmJ0bi1kb3VibGVfbGluZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgbnVsbCAwKTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ0bi1kb3VibGVfbGluZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMTQwcHgpO1xuXG4gICAgICAud3JhcHBlciB7XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgICAgICBwYWRkaW5nOiAxMDBweCA4MHB4IDEwMHB4IDEwM3B4O1xuXG4gICAgICAgICAgLmJ0bi1kb3VibGVfbGluZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNlY3Rpb24ud29ybGR3aWRlLWNsb2NrIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNDhweCAyNXB4IDEwNXB4O1xuXG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDlweDtcbiAgICB9XG5cbiAgICAuY2xvY2staXRlbSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuXG4gICAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZSgyKSxcbiAgICAgICY6bnRoLW9mLXR5cGUoNSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNsb2NrLXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgYm94LXNoYWRvdzogMCAycHggMTlweCA0cHggcmdiYSgzMywgNDEsIDUyLCAwLjAzKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIC5jbG9jay10aW1lem9uZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMyk7XG4gICAgICBsaW5lLWhlaWdodDogMS41NztcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfZ3JheWlzaF80O1xuICAgIH1cblxuICAgIC5hbGwtd29ybGR3aWRlLWxpbmsge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIGEge1xuICAgICAgICBAZXh0ZW5kIC5idG4tZG91YmxlX2xpbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gICAgICBtYXJnaW4tdG9wOiA5MHB4O1xuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDkwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jbG9jay1pdGVtIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDtcblxuICAgICAgICAmOm50aC1vZi10eXBlKDIpLFxuICAgICAgICAmOm50aC1vZi10eXBlKDQpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNsb2NrLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiA3cHggMTcuNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgICAgfVxuXG5cbiAgICAgIC5hbGwtd29ybGR3aWRlLWxpbmsge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcmRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMTQwcHgpO1xuICAgICAgcGFkZGluZzogNDhweCAwIDEwNXB4O1xuICAgICAgbWFyZ2luLXRvcDogMTQwcHg7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTE2cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1hcnJvdyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB6LWluZGV4OiA1O1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA0MzBweCAwIG51bGwgMCk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIHNpemUoNDlweCAyNHB4KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9ob21lcGFnZS1hcnJvdy5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJi5yZWFkeSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmRpYW1vbmQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNDAwcHggMCBudWxsIDApO1xuICAgIEBpbmNsdWRlIHNpemUoNDUwcHggNDUwcHgpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDEuM3MgbGluZWFyKTtcblxuICAgIC5kaWFtb25kX3dyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSg1MHB4KSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA0NDRtcyBsaW5lYXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJi5yZWFkeSB7XG5cbiAgICAgICAgLmRpYW1vbmRfd3JhcHBlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlLW5vZGUtdHlwZS1zaXRlbWFwIHtcblxuICAjY29udGVudC1oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzNXB4IDI1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgcGFkZGluZzogNDVweCAyNXB4O1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcmRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmc6IDgwcHggMjVweCA0MHB4O1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDExNDBweCk7XG4gICAgfVxuICB9XG5cbiAgLml0ZW0tbGlzdCB7XG4gICAgcGFkZGluZzogNDRweCAyNXB4IDM1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgcGFkZGluZzogMzVweCAyNXB4O1xuICAgICAgQGluY2x1ZGUgcm93KCk7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgcGFkZGluZzogMzVweCAwO1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDExNDBweCk7XG4gICAgfVxuICB9XG5cbiAgLml0ZW1zIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHZpb2xldF92ZXJ5X2Rhcms7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR2aW9sZXRfdmVyeV9kYXJrO1xuICAgIHBhZGRpbmc6IDE3cHggMjBweCAxMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCA0MHB4IDAgcmdiYSgzMyw0MSw1MiwwLjA2KTtcbiAgICAgIEBpbmNsdWRlIHNpemUoY2FsYygxMDAlICsgMjBweCkgY2FsYygxMDAlICsgNDFweCkpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0xNnB4IG51bGwgbnVsbCAtMTBweCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMjJtcyBlYXNlLWluLW91dCk7XG4gICAgfVxuXG4gICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgICYuaGF2ZS1jaGlsZCB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLnRpdGxlLXdyYXBwZXIge1xuICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfZ3JheWlzaF8yO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuODZweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIG51bGwgbnVsbCAwKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5kZXNjIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctdG9wOiAxNHB4O1xuICAgICAgbWluLWhlaWdodDogNzVweDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSg0MHB4IDFweCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICR2aW9sZXRfdmVyeV9kYXJrO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya18yO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NjtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIG51bGwgbnVsbCAwKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAxMnB4IDAgMjBweDtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMXB4O1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuOTJweDtcbiAgICAgICAgICBjb2xvcjogJGdyYXlfdmVyeV9kYXJrXzM7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3NpdGVtYXAtYXJyb3cucG5nJykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweCBhdXRvO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgMTIpO1xuICAgICAgQGluY2x1ZGUgb21lZ2EoM24pO1xuICAgICAgcGFkZGluZzogMjJweCAyMHB4IDQ4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgICAudGl0bGUtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDc1cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMjkpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZGVzYyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyN3B4O1xuXG4gICAgICAgIC50ZXh0IHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgaW5oZXJpdCk7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogNDBweCAwIDNweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzNweDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpIDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAyLjk3cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS1ub2RlLXR5cGUtcGFnZSB7XG5cbiAgI2NvbnRlbnQtaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNDBweCAwIDM1cHg7XG5cbiAgICAuc3ViX3RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICB9XG5cbiAgICAubG9jYWxfbmF2IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDVweCAyNXB4IDdweDtcbiAgICAgIGJhY2tncm91bmQ6ICRibHVlX2xpZ2h0X2dyYXlpc2g7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgNTBweCBudWxsIG51bGwgMCk7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2tfX3JvYm90bztcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICBsaW5lLWhlaWdodDogMi45MztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMzdweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya18yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDYwcHggMTBweCAyMHB4O1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcblxuICAgICAgLnN1Yl90aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI5KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDQuMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG4gICAgICB9XG5cbiAgICAgIC5sb2NhbF9uYXYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIGluaGVyaXQpO1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW46IDAgMzBweCAwIDA7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgcGFkZGluZzogODBweCAwIDIwcHg7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTE0MHB4KTtcblxuICAgICAgLmxvY2FsX25hdiB7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbjogMCA0NXB4IDAgMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNjb250ZW50LWFyZWEge1xuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoXzI7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuODZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS41NjtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgICBsaW5lLWhlaWdodDogMS41NjtcbiAgICB9XG5cbiAgICAudGV4dC1saWdodCB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2tfX3JvYm90bztcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsaW5lLWhlaWdodDogMS43ODtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjQ0cHg7XG4gICAgfVxuXG4gICAgI3N0cmF0ZWd5IGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI1KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDQuMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzE7XG5cbiAgICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTkwZGVnKSk7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgbnVsbCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDMsICNzdHJhdGVneSBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDk7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40OTtcbiAgICAgIH1cblxuICAgICAgLnRleHQtbGlnaHQge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjQ3cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY3O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI5KTtcbiAgICAgIH1cblxuICAgICAgaDMsICNzdHJhdGVneSBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI3RoZS1jb21wYW55IHtcbiAgICBwYWRkaW5nOiAxNHB4IDAgNTBweDtcblxuICAgIC5jb21wYW55IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiB3cmFwO1xuICAgICAgcGFkZGluZzogMCAyMHB4IDQ0cHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgb3JkZXI6IDM7XG4gICAgICB9XG5cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuYmFja2dyb3VuZCB7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5kZS1iZWVycyB7XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgcGFkZGluZzogMzhweCAyNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZV9saWdodF9ncmF5aXNoO1xuICAgICAgfVxuXG4gICAgICAuc2libGluZyB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nOiA1OHB4IDI1cHggNDdweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWVfdmVyeV9kYXJrXzI7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIDEycHggMzhweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICAgICAgICAgIGNvbG9yOiAkYmx1ZV9saWdodF9ncmF5aXNoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDkwcHg7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpO1xuXG4gICAgICAuY29tcGFueSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC50ZXh0IHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgICAgICAgICBwYWRkaW5nOiA2MHB4O1xuICAgICAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gOXB4KSAvIDIpO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDlweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgIG9yZGVyOiAzO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSA5cHgpIC8gMik7XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYmFja2dyb3VuZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZGUtYmVlcnMge1xuICAgICAgICBAaW5jbHVkZSByb3coKTtcbiAgICAgICAgLy9kaXNwbGF5OiBmbGV4O1xuICAgICAgICAvL2ZsZXgtZmxvdzogd3JhcDtcblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA5cHg7XG4gICAgICAgICAgcGFkZGluZzogNDVweCA0MHB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2libGluZyB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNDAlIC0gOXB4KTtcblxuICAgICAgICAgIC5zaWJsaW5nLXdyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAzNXB4IDM1cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAwIDAgbnVsbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTUwcHg7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTE0MHB4KTtcblxuICAgICAgLmNvbXBhbnkge1xuXG4gICAgICAgIC50ZXh0IHtcbiAgICAgICAgICBwYWRkaW5nOiAxMDVweCA4M3B4IDExOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5kZS1iZWVycyB7XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgIHBhZGRpbmc6IDkwcHggODBweCA2MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNpYmxpbmcge1xuXG4gICAgICAgICAgLnNpYmxpbmctd3JhcHBlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiA0NXB4IDQ0cHggNDRweCA5MHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjb3VyLWhpc3Rvcnkge1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IHRvcDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gY2FsYygxMDAlIC0gNTVweCk7XG4gICAgLy9iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIC8vYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDMyLCAzMywgMzYsIDAuODkpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSA1NXB4KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgMCAwKTtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDI1cHg7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuODZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAudGltZWxpbmUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMTBweCAwIDAgMTQuNXB4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlIDFweCk7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwKTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheV9saWdodF80O1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgNHB4IDJweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5rZXktZXZlbnQge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAxMC41cHg7XG5cbiAgICAgIC5vdXRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmlubmVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICAgIC5pbWFnZSB7XG4gICAgICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDEycHggMjBweCA0NXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlX2xpZ2h0X2dyYXlpc2hfNjtcbiAgICAgICAgfVxuXG4gICAgICAgIC55ZWFyIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgzMCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjc7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuMTRweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfZ3JheWlzaF8yO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zOTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4tYXJlYSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICB0b3A6IGluaGVyaXQ7XG4gICAgICBib3R0b206IC0zMHB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIEBpbmNsdWRlIHNpemUoNTVweCA0M3B4KTtcblxuICAgICAgJi5zbGljay1uZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoY2FsYygtNTAlICsgNDBweCkpKTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc2xpZGUtYXJyb3ctbmV4dC5wbmcnKSBuby1yZXBlYXQgY2VudGVyICRibGFja18yO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmLnNsaWNrLXByZXYge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWChjYWxjKC01MCUgLSA0MHB4KSkpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9zbGlkZS1hcnJvdy1wcmV2LnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgJGJsYWNrXzI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IGF1dG87XG4gICAgICB9XG5cbiAgICAgICYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgcGFkZGluZzogNzhweCAwIDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gY2FsYygxMDAlIC0gMTIwcHgpO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMjBweDtcbiAgICAgIH1cblxuICAgICAgLnRpdGxlLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRpbWVsaW5lIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCA2MHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTAwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNsaWNrLWxpc3Qge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEyMHB4O1xuICAgICAgfVxuXG4gICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDQ0NG1zIGVhc2UtaW4tb3V0KTtcbiAgICAgIH1cblxuICAgICAgLmtleS1ldmVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwIDYwcHggMCAwO1xuXG4gICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKTpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheV9saWdodF80O1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA0cHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxNTAlIDFweCk7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDI4NXB4IG51bGwgbnVsbCAtOTUlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXlfbGlnaHRfNDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA0cHggMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDI1MCUgMXB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAyODVweCBudWxsIG51bGwgLTEwNXB4KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheV9saWdodF80O1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDRweCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoOHB4KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAyODJweCBudWxsIG51bGwgLTEwNXB4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAub3V0ZXIge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDI1MHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNjRweCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheV9saWdodF80O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDE2cHg7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA0NDRtcyBsaW5lYXIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC55ZWFyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDM3KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWVfbGlnaHRfZ3JheWlzaDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkgcm90YXRlKDQ1ZGVnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmlubmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMCkpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDQ0NG1zIGxpbmVhcik7XG5cbiAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMTVweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyNnB4IDM1cHggNDdweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAueWVhciB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgzNyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjNweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyMik7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjc7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjFweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnJobS1jdXJyZW50LXNsaWRlIHtcblxuICAgICAgICAgIC5vdXRlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuaW5uZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5idG4tYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIC5hcnJvdyB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMi43cHg7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgY29sb3I6ICRncmF5X3ZlcnlfZGFya18zO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICYudGltZWxpbmUtcHJldiB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9mcmFtZS1wcmV2LWFycm93LnBuZycpIG5vLXJlcGVhdCBsZWZ0IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNHB4IGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi50aW1lbGluZS1uZXh0IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2ZyYW1lLWFycm93LnBuZycpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDRweCBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG5cbiAgICAgIC50aXRsZS13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDExNDBweCk7XG4gICAgICB9XG5cbiAgICAgIC50aW1lbGluZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIGNhbGMoMjUlIC0gMTIwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzdHJhdGVneSB7XG4gICAgbWFyZ2luLXRvcDogNDVweDtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMDtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZV9saWdodF9ncmF5aXNoO1xuXG4gICAgLmNvbnRlbnQge1xuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMjVweDtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWxpZ2h0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgICAgfVxuXG4gICAgICAuYmFja2dyb3VuZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwYWRkaW5nLXRvcDogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiA2MHB4IDAgNzBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogNzBweCAyMHB4O1xuICAgICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYmx1ZV9saWdodF9ncmF5aXNoO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDk5OTlweCAxMDAlKTtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgLTk5OTlweCk7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJsdWVfbGlnaHRfZ3JheWlzaDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgQGluY2x1ZGUgc2hpZnQoMSk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgbWluLXdpZHRoOiA0NTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0LWxpZ2h0IHtcbiAgICAgICAgICBAaW5jbHVkZSBzaGlmdCgxKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBtaW4td2lkdGg6IDQ1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJhY2tncm91bmQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygyLjUpO1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgbnVsbCBudWxsKTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG4gICAgICBwYWRkaW5nOiA2MHB4IDAgOTBweDtcblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA5NHB4IDAgMTM4cHg7XG4gICAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMTQwcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50LXdpdGgtbGlua3Mge1xuICAgIHBhZGRpbmc6IDUwcHggMCAwO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMCAyNXB4IDM1cHg7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5saW5rcyB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDI1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmx1ZV9saWdodF9ncmF5aXNoO1xuICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoXzI7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjJweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDIxcHggNDBweCAyMXB4IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9hYm91dC1hcnJvdy5wbmcnKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA5cHggYXV0bztcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxcHggMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlX2xpZ2h0X2dyYXlpc2hfMjtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMjZweCAwIG51bGwpO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIge1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW1nLCBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDlweDtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjc7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAyLjE0cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTExbXMgbGluZWFyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJsYWNrIHtcblxuICAgICAgLmxpbmtzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICB9XG5cbiAgICAgIGxpOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoXzM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMjVweCA4NXB4O1xuICAgICAgQGluY2x1ZGUgcm93KCk7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpO1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgICBwYWRkaW5nOiAzNXB4IDAgMDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmxpbmtzIHtcbiAgICAgICAgcGFkZGluZzogNzBweCAzNnB4O1xuICAgICAgICBAaW5jbHVkZSBzaGlmdCgxKTtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDUpO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgybik7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQ3cHg7XG4gICAgICAgICAgcGFkZGluZzogMTJweCA0MHB4IDEycHggMDtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHJpZ2h0OiAzNXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjFweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI3O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuNHB4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDY1cHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgcGFkZGluZzogNDBweCAwIDg1cHg7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTE0MHB4KTtcbiAgICB9XG4gIH1cblxuICAubGlua3MtbGlnaHRib3gge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgLTEwMHZoIG51bGwgbnVsbCAwKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgdG9wOiA1MHB4O1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAuZnJhbWUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbiAgICAgICZbZGF0YS1pbmRleD1cIjFcIl0gLm1vYmlsZS1wcmV2IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LW9mLXR5cGUgLm1vYmlsZS1uZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJi5oYXZlSW1hZ2Uge1xuXG4gICAgICAgIC5mcmFtZS1ib2R5IHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTkwcHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJhY2tncm91bmQtbW9iaWxlIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSAxNDBweCk7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZyYW1lLWJvZHkge1xuICAgICAgcGFkZGluZzogMzBweCAyNXB4IDQwcHg7XG5cbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNTBweCk7XG4gICAgfVxuXG4gICAgLmZyYW1lLXRpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfZ3JheWlzaF8yO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuODZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBwYWRkaW5nOiAwIDIwcHggMjNweCAwO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDQwcHggMXB4KTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAwIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC41cHg7XG4gICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cblxuICAgIC5idG4tYXJlYSB7XG4gICAgICBtYXJnaW46IDMwcHggMDtcblxuICAgICAgLm1vYmlsZS1wcmV2LFxuICAgICAgLm1vYmlsZS1uZXh0IHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2tfX3JvYm90bztcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMi43cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkZ3JheV92ZXJ5X2RhcmtfMztcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICYubW9iaWxlLXByZXYge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvZnJhbWUtcHJldi1hcnJvdy5wbmcnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA0cHggYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYubW9iaWxlLW5leHQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvZnJhbWUtYXJyb3cucG5nJykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDRweCBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSAxMDB2aCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNyk7XG5cbiAgICAgIC5mcmFtZSB7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogODB2aDtcbiAgICAgICAgbWF4LXdpZHRoOiA4NjBweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgMCBudWxsIDApO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5oYXZlSW1hZ2Uge1xuXG4gICAgICAgICAgLmZyYW1lLWJvZHkge1xuICAgICAgICAgICAgcGFkZGluZzogODFweCA1MHB4IDEyMHB4IGNhbGMoMjUlICsgNTBweCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5iYWNrZ3JvdW5kLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMjUlIDEwMCUpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgICB9XG5cbiAgICAgIC5mcmFtZS1ib2R5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDgxcHggNTBweCAxMjBweDtcbiAgICAgIH1cblxuICAgICAgLmZyYW1lLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjUpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMy41N3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41MjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDI0cHggMDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG5cbiAgICAgICYuaGF2ZUltYWdlIHtcblxuICAgICAgICAuZnJhbWUtYm9keSB7XG4gICAgICAgICAgcGFkZGluZzogODFweCAxMTBweCAxMjBweCBjYWxjKDI1JSArIDg0cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAbWl4aW4gcGFyYWdyYXBoLXdpZHRoKCRuKSB7XG4gICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skbn0pLFxuICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JG59KSB+IC5wYXJhZ3JhcGgge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbi5wYWdlLW5vZGUtdHlwZS1kZXBhcnRtZW50IHtcblxuICAuY29udGFpbmVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLmxvY2FsX25hdiB7XG4gICAgcGFkZGluZzogMzBweCAwIDE1cHg7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG5cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxN3B4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxN3B4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDFweCAxMHB4KTtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCBudWxsKTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBjb2xvcjogJGJsYWNrX3ZlcnlfZGFyaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjkzO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMzdweDtcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMjJtcyBsaW5lYXIpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDA7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNHB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI21haW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgI2NvbnRlbnQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcmRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTE0MHB4KTtcbiAgICB9XG4gIH1cblxuICAjY29udGVudC1hcmVhIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICBvdmVyZmxvdzogaW5oZXJpdDtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTE0MHB4KTtcbiAgICB9XG5cbiAgICBoZWFkZXIge1xuICAgICAgcGFkZGluZzogMzVweCAyNXB4IDIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI1KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjE0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTY7XG4gICAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgIH1cblxuICAgICAgLmltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDAgMzVweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibHVlX2xpZ2h0X2dyYXlpc2hfNDtcblxuICAgICAgICAuYmFja2dyb3VuZCB7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNzUlO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZnJvbnQge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDc1JTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuODEpO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZlYXR1cmUge1xuICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgIG1heC13aWR0aDogNDAlO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNjAlIDAgbnVsbCAwKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNjAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAyNXB4IDgwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQ1KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMC44ODtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuOHB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci1jb250ZW50IHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDUpO1xuXG4gICAgICAgICAgLmNvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICBAaW5jbHVkZSBzaGlmdCgxKTtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAuYmFja2dyb3VuZDpiZWZvcmUge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDkwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZnJvbnQge1xuICAgICAgICAgICAgdG9wOiA2MnB4O1xuICAgICAgICAgICAgbGVmdDogaW5oZXJpdDtcbiAgICAgICAgICAgIHJpZ2h0OiA3MnB4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiA5MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmZlYXR1cmUge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgMCBudWxsIDApO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcmRlc2t0b3ApIHtcbiAgICAgICAgcGFkZGluZzogNTBweCAwIDgwcHg7XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSg1OCk7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgLnN1YnRpdGxlLCAucC1oZWFkaW5nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoXzI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAyLjg2cHg7XG4gICAgICB9XG5cbiAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIH1cblxuICAgICAgLnAtaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgIH1cblxuICAgICAgLmZlYXR1cmUtcGFyYWdyYXBoIC5wYXJhZ3JhcGggLnAtaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgIH1cblxuICAgICAgLnJlcGVhdGVkLXNlY3Rpb24gLmNvbnRlbnQgLnAtaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgIH1cblxuICAgICAgLnAtc3ViaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTY7XG4gICAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIH1cblxuICAgICAgLm5vcm1hbC10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFja19fcm9ib3RvO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40NHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS43ODtcbiAgICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya18yO1xuICAgICAgfVxuXG4gICAgICAuYnRuLW1vcmUge1xuICAgICAgICBjb2xvcjogJGJsdWVfZGFya19ncmF5aXNoO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2J0bi1tb3JlLWRhcmsucG5nJykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1cHggYXV0bztcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcblxuICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDI1KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zMTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogNC4xNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnAtaGVhZGluZyB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI5O1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4xcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZmVhdHVyZS1wYXJhZ3JhcGggLnBhcmFncmFwaCAucC1oZWFkaW5nIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICAgIH1cblxuICAgICAgICAucC1zdWJoZWFkaW5nIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDlweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ub3JtYWwtdGV4dCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0bi1tb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG5cbiAgICAgICAgLnN1YnRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgyOSk7XG4gICAgICAgIH1cblxuICAgICAgICAucC1oZWFkaW5nIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICAgIH1cblxuICAgICAgICAucC1zdWJoZWFkaW5nIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucm93IHtcbiAgICAgIHBhZGRpbmc6IDE1cHggMjVweDtcblxuICAgICAgcCB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS43ODtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNDRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41NTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDhweDtcbiAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2tfX2Nvcm1vcmFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMjVweCAyMHB4O1xuXG4gICAgICAgIC5jb250ZW50IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNDdweDtcblxuICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS40ODtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4xcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDAgMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2VjdGlvbi1mZWF0dXJlIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZV9saWdodF9ncmF5aXNoO1xuICAgIHBhZGRpbmc6IDMwcHggMCAwO1xuICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG5cbiAgICAuc3VidGl0bGUge1xuICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgIH1cblxuICAgIC5mZWF0dXJlLXBhcmFncmFwaCAucGFyYWdyYXBoIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgICBwYWRkaW5nOiAwIDI1cHg7XG5cbiAgICAgIC5wLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJhY2tncm91bmQtd3JhcHBlciB7XG5cbiAgICAgIC5kZXNrdG9wIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLm1vYmlsZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAyNXB4IDAgMzBweCAyNXB4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDk5OTlweCAxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWVfbGlnaHRfZ3JheWlzaDtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIC05OTk5cHgpO1xuICAgICAgfVxuXG4gICAgICAudmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgtOTBkZWcpKTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC5wLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuICAgICAgfVxuXG4gICAgICAuZmVhdHVyZS1wYXJhZ3JhcGgge1xuICAgICAgICBtaW4taGVpZ2h0OiA0NTBweDtcbiAgICAgICAgcGFkZGluZzogNDVweCAwIDQ1cHggNjBweDtcblxuICAgICAgICAucGFyYWdyYXBoIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB3aWR0aDogNzAlO1xuXG4gICAgICAgICAgLnAtaGVhZGluZyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYmFja2dyb3VuZC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgyMCUgMTAwJSk7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCBudWxsIG51bGwpO1xuXG4gICAgICAgIC5kZXNrdG9wIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuXG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcmRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMDtcblxuICAgICAgLmZlYXR1cmUtcGFyYWdyYXBoIHtcbiAgICAgICAgcGFkZGluZzogNzVweCAwIDkwcHggNjBweDtcblxuICAgICAgICAucGFyYWdyYXBoIHtcblxuICAgICAgICAgIEBpbmNsdWRlIHBhcmFncmFwaC13aWR0aCgxKSB7XG4gICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1NzBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBwYXJhZ3JhcGgtd2lkdGgoMykge1xuICAgICAgICAgICAgd2lkdGg6IDM2JTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnJlcGVhdGVkLXNlY3Rpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAyMS41cHggMjVweDtcblxuICAgIC5jb250ZW50IHtcblxuICAgICAgLnAtaGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDgwcHggMjVweDtcblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDU3MHB4O1xuXG4gICAgICAgIC5wLWhlYWRpbmcge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJhY2tncm91bmQge1xuICAgICAgICB0b3A6IC02MHB4O1xuICAgICAgICBsZWZ0OiAyNTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcmRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmc6IDExOXB4IDA7XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS1ub2RlLXR5cGUtaHR0cC1lcnJvciB7XG5cbiAgI21haW4ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxleDogbm9uZTtcbiAgfVxuXG4gIC5odHRwLWVycm9yIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNjVweCAzMHB4IDI3MHB4O1xuICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwKTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjA3O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjE1cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMzVweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgMCAwIG51bGwpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVybW9iaWxlKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgcGFkZGluZzogNjVweCA0NXB4IDI3MHB4O1xuXG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDM1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgcGFkZGluZzogODBweCAyMHB4IDI3MHB4O1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gICAgICB9XG5cbiAgICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oNTUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS43OTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjdweDtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1OHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgcGFkZGluZzogMTk1cHggMCAyODVweDtcblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTE0MHB4KTtcbiAgICAgIH1cblxuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IHJlbSg2OCk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4yMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLnBhZ2Utbm9kZS10eXBlLWNvbnRhY3QtdXMge1xuXG4gICNjb250ZW50LWhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDM1cHggMjVweCA2MHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDQ1cHggMjVweCA2MHB4O1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcmRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmc6IDg1cHggMjVweCA3MHB4O1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDExNDBweCk7XG4gICAgfVxuICB9XG5cbiAgI2NvbnRlbnQtYXJlYSB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA0MHB4IDAgcmdiYSgzMyw0MSw1MiwwLjA2KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWN0LXVzX2NvbnRlbnQge1xuICAgIHBhZGRpbmc6IDMwLjVweCAyNXB4IDMycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC5mZWF0dXJlLWltYWdlIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5pbmZvcm1hdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAyOS41cHg7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJsdWVfbGlnaHRfZ3JheWlzaF80O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRibHVlX2xpZ2h0X2dyYXlpc2hfNDtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNyk7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMi40M3B4O1xuICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoXzI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuXG4gICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMzNweDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRibHVlX2xpZ2h0X2dyYXlpc2hfNDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5mbyB7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2tfX3JvYm90bztcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC40NHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTc7XG4gICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrX2dyYXlpc2hfMjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcblxuICAgICAgJi5lbWFpbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2ljb24tZW1haWwucG5nJykgbm8tcmVwZWF0IGxlZnQgNHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggYXV0bztcbiAgICAgIH1cblxuICAgICAgJi5waG9uZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2ljb24tdGVsLnBuZycpIG5vLXJlcGVhdCBsZWZ0IDRweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMXB4IGF1dG87XG4gICAgICB9XG5cbiAgICAgICYud2hhdHNhcHAge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9pY29uLXdoYXRzYXBwLnBuZycpIG5vLXJlcGVhdCBsZWZ0IDRweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IGF1dG87XG4gICAgICB9XG5cbiAgICAgICYuYWRkcmVzcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2ljb24tYWRkcmVzcy5wbmcnKSBuby1yZXBlYXQgMXB4IDVweDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA4cHggYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTY7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuICAgICAgY29sb3I6ICRibHVlX2RhcmtfZ3JheWlzaDtcbiAgICB9XG5cbiAgICAub2ZmaWNlLWxpbmsgPiBhIHtcbiAgICAgIEBleHRlbmQgLmJ0bi1tb3JlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5mZWF0dXJlLWltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcpO1xuICAgICAgfVxuXG4gICAgICAuaW5mb3JtYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAzLjUlIG51bGwgbnVsbCk7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0LjUpO1xuICAgICAgICBwYWRkaW5nOiAyNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCA0MHB4IDAgcmdiYSgzMywgNDEsIDUyLCAwLjA2KTtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgbWFyZ2luOiA0MHB4IDAgMTNweDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pbmZvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyOXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDExNDBweCk7XG5cbiAgICAgIC5pbmZvcm1hdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDY1cHggNjVweCA0NXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtIHtcbiAgICB6LWluZGV4OiA1O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAzOHB4IDI1cHggNDVweDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2tfX3JvYm90bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoLTE4MGRlZywgcmdiYSgyNDcsMjQ5LDI1MCwwLjk4KSAwJSwgI0Y3RjlGQSA1MyUsICNGN0Y5RkEgMTAwJSk7XG5cbiAgICAuYmFja2dyb3VuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgc2l6ZSg1MCUgMTAwJSk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIG51bGwgbnVsbCk7XG4gICAgICBvcGFjaXR5OiAwLjA3O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ3O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuNDNweDtcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfZ3JheWlzaF8yO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19jb3Jtb3JhbnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOXB4O1xuICAgIH1cblxuICAgIC5mb3JtLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjFweDtcbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGNvbG9yOiAkYmx1ZV9kYXJrX2dyYXlpc2g7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC40NHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgICNlZGl0LWFjdGlvbnMge1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMDtcbiAgICB9XG5cbiAgICAjZWRpdC1maWVsZC10aXRsZS13cmFwcGVyIHtcbiAgICAgIHdpZHRoOiA4NXB4O1xuICAgIH1cblxuICAgICNlZGl0LXN1Ym1pdCB7XG4gICAgICBAZXh0ZW5kIC5idG4tZG91YmxlX2xpbmU7XG4gICAgICBwYWRkaW5nOiA4LjVweCAzMHB4IDguNXB4IDIxcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSA5cHgpIGNlbnRlcjtcbiAgICB9XG5cbiAgICAjZWRpdC1maWVsZC1zZWxlY3Qtc3ViamVjdC13cmFwcGVyIGxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgICAgIHBhZGRpbmc6IDU1cHggNzVweCA0NXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTEwcHg7XG5cbiAgICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgd2lkdGg6IDYzMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI5KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiA0LjE0cHg7XG4gICAgICAgIG1hcmdpbjogMCAwIDQ4cHggMDtcbiAgICAgIH1cblxuICAgICAgZm9ybSB7XG4gICAgICAgIHdpZHRoOiA2MzBweDtcbiAgICAgIH1cblxuICAgICAgLmZvcm0td3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQxcHg7XG4gICAgICB9XG5cbiAgICAgICNlZGl0LWFjdGlvbnMge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgICNlZGl0LWZpZWxkLXRpdGxlLXdyYXBwZXIsXG4gICAgICAjZWRpdC1maWVsZC1maXJzdC1uYW1lLXdyYXBwZXIsXG4gICAgICAjZWRpdC1maWVsZC1sYXN0LW5hbWUtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgICYjZWRpdC1maWVsZC10aXRsZS13cmFwcGVyIHtcbiAgICAgICAgICB3aWR0aDogODhweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYjZWRpdC1maWVsZC1maXJzdC1uYW1lLXdyYXBwZXIsXG4gICAgICAgICYjZWRpdC1maWVsZC1sYXN0LW5hbWUtd3JhcHBlciB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoKDEwMCUgLSAyMHB4IC0gOTVweCkgLyAyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYjZWRpdC1maWVsZC1sYXN0LW5hbWUtd3JhcHBlciB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICNlZGl0LWZpZWxkLXNlbGVjdC1zdWJqZWN0LXdyYXBwZXIge1xuXG4gICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgI2VkaXQtbWVzc2FnZS13cmFwcGVyIHtcblxuICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDVweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDExNDBweCk7XG4gICAgICBwYWRkaW5nOiA3NXB4IDEwNXB4IDU1cHg7XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS1ub2RlLXR5cGUtYXJ0aWNsZSB7XG5cbiAgI2NvbnRlbnQtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcmRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTE0MHB4KTtcbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZS1oZWFkZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMTVweCAxNXB4O1xuXG4gICAgLmltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgICAgLmJhY2sge1xuICAgICAgICBvcGFjaXR5OiAwLjA1O1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUgNTUlKTtcbiAgICAgICAgbWF4LXdpZHRoOiAzOTBweDtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgMCAwIDApO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5mcm9udCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDMzLCA0MSwgNTIsIDAuMTgpO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmluZm8ge1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgIH1cblxuICAgICAuY2F0ZWdvcnkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDc7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMi40M3B4O1xuICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoXzI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyNSk7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjI1cHg7XG4gICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cblxuICAgIC5jcmVhdGVkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS4zN3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIuOTM7XG4gICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHJvdygpO1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgICAgIHBhZGRpbmc6IDMycHggMjVweCA2MHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgJi5uby1pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMzVweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGJsdWVfbGlnaHRfZ3JheWlzaDtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSg5OTk5cHggMTAwJSk7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGJsdWVfbGlnaHRfZ3JheWlzaDtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIG51bGwgbnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5mbyB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMTApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNSk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAuYmFjayB7XG4gICAgICAgICAgb3BhY2l0eTogMC4wNTtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSg3MDBweCAzOTBweCk7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDEyMHB4IC02MHB4IGluaGVyaXQgaW5oZXJpdCk7XG4gICAgICAgIH1cblxuICAgICAgICAuZnJvbnQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pbmZvIHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2LjgpO1xuICAgICAgfVxuXG4gICAgICAuY2F0ZWdvcnkge1xuICAgICAgICBjb2xvcjogJGJsdWVfZGFya19ncmF5aXNoO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgfVxuXG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDMwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40OHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgcGFkZGluZzogMzJweCAwIDE5OXB4O1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDExNDBweCk7XG5cbiAgICAgICYubm8taW1hZ2Uge1xuICAgICAgICBtYXJnaW4tdG9wOiA5MHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDAgNzBweDtcblxuICAgICAgICAuaW5mbyB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcpO1xuICAgICAgICAgIEBpbmNsdWRlIHNoaWZ0KDIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pbmZvIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzNXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwcHg7XG4gICAgICB9XG5cbiAgICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oNDgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hcnRpY2xlLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDIwcHggMjVweCAzNXB4O1xuXG4gICAgLnRlYXNlciB7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDhweDtcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG4gICAgfVxuXG4gICAgLl9fY29udGVudCA+IGRpdiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsdWVfbGlnaHRfZ3JheWlzaF80O1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wYXJhZ3JhcGgtLXR5cGUtLW5vcm1hbC1jb250ZW50IC5fX2NvbnRlbnQsXG4gICAgLnBhcmFncmFwaC0tdHlwZS0tbm9ybWFsLWNvbnRlbnQgLl9fYmxvZy1jb250ZW50IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFja19fcm9ib3RvO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjQ0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS43OTtcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcblxuICAgICAgcCB7XG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wYXJhZ3JhcGgtLXR5cGUtLWdhbGxlcnkge1xuICAgICAgcGFkZGluZzogMCA5LjVweCAwIDdweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgaDIge1xuICAgICAgICBjb2xvcjogJGJsdWVfZGFya19ncmF5aXNoO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMi40cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICB9XG5cbiAgICAgIC5zbGlkZXItc2hvdyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNS41cHg7XG5cbiAgICAgICAgLnNob3ctaXRlbSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stYXJyb3cge1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSg1NXB4IDQ1cHgpO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLnNsaWNrLW5leHQge1xuICAgICAgICAgICAgcmlnaHQ6IC0xOC41cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9zbGlkZS1hcnJvdy1uZXh0LnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgJGJsYWNrXzI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDVweCBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuc2xpY2stcHJldiB7XG4gICAgICAgICAgICBsZWZ0OiAtMTguNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc2xpZGUtYXJyb3ctcHJldi5wbmcnKSBuby1yZXBlYXQgY2VudGVyICRibGFja18yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA1cHggYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNsaWRlci1uYXYge1xuXG4gICAgICAgIC5zbGljay10cmFjayB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubmF2LWl0ZW1fd3JhcHBlciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmc6IDAgNS41cHg7XG4gICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICYuc2xpY2stY3VycmVudCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXYtaXRlbSB7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmRlc2t0b3Bfc2xpZGVyLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmF1dGhvciB7XG4gICAgICBwYWRkaW5nOiA2cHggMCAwO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG5cbiAgICAgIC50aXRsZSwgLm5hbWUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuOTJweDtcbiAgICAgICAgY29sb3I6ICRibHVlX2RhcmtfZ3JheWlzaDtcbiAgICAgIH1cblxuICAgICAgLm5hbWUge1xuICAgICAgICBtYXJnaW4tbGVmdDogN3B4O1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMCA2MHB4O1xuICAgICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAudGVhc2VyIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzOHB4O1xuICAgICAgfVxuXG4gICAgICAuX19jb250ZW50ID4gZGl2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnBhcmFncmFwaC0tdHlwZS0tbm9ybWFsLWNvbnRlbnQgLl9fY29udGVudCxcbiAgICAgIC5wYXJhZ3JhcGgtLXR5cGUtLW5vcm1hbC1jb250ZW50IC5fX2Jsb2ctY29udGVudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS43NztcblxuICAgICAgICBwIHtcbiAgICAgICAgICBtYXJnaW46IDI1cHggMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucGFyYWdyYXBoLS10eXBlLS1nYWxsZXJ5IHtcbiAgICAgICAgcGFkZGluZzogNjBweCAwO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGlkZXItc2hvdyB7XG4gICAgICAgICAgcGFkZGluZzogMCAyNXB4O1xuXG4gICAgICAgICAgLnNob3ctaXRlbSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0ODBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuc2xpY2stYXJyb3cge1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoNTVweCA0NXB4KTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNsaWNrLW5leHQge1xuICAgICAgICAgICAgICByaWdodDogLTEuNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNsaWNrLXByZXYge1xuICAgICAgICAgICAgICBsZWZ0OiAtMS41cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWRlci1uYXYge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZGVza3RvcF9zbGlkZXItbmF2IHtcbiAgICAgICAgICBAaW5jbHVkZSByb3coKTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI1LjVweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAuZGVza3RvcF9zbGlkZXItbmF2X3dyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgcm93KCk7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY4MHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDQ0NG1zIGxpbmVhcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmRlc2t0b3Bfc2xpZGVyLW5hdl9jb250YWluZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgNDQ0bXMgbGluZWFyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuZGVza3RvcF9uYXYtaXRlbV93cmFwcGVyIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiA3NHB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDQ0NG1zIGxpbmVhcik7XG5cbiAgICAgICAgICAgIC5kZXNrdG9wX25hdi1pdGVtIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmN1cnJlbnQsXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudmlldy1hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2tfX3JvYm90bztcbiAgICAgICAgICAgIGNvbG9yOiAkYmx1ZV9kYXJrX2dyYXlpc2g7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMS4wNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAyM3B4IG51bGwgbnVsbCA2ODRweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKDkwZGVnKSk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9zbGlkZS1uYXYtYXJyb3cucG5nJykgbm8tcmVwZWF0IGNlbnRlciByaWdodDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IGF1dG87XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hdXRob3Ige1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDAgMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYXJ0aWNsZS1mb290ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAzNXB4IDI1cHggNjBweDtcblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrX2dyYXlpc2hfMjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY3O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuMTRweDtcbiAgICB9XG5cbiAgICAubmV4dC1hcnRpY2xlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDAgMjFweCA1MHB4O1xuICAgICAgYmFja2dyb3VuZDogJGJsdWVfbGlnaHRfZ3JheWlzaDtcbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAzNTBweDtcbiAgICAgIHBhZGRpbmc6IDAgMTRweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDI2cHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogLTM4cHggYXV0byAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMik7XG4gICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTM7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4yMnB4O1xuICAgIH1cblxuICAgIC5jcmVhdGVkIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFja19fcm9ib3RvO1xuICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya18yO1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuOTM7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG5cbiAgICAuYnRuLWZha2Uge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg1NnB4IDQ0cHgpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgMCAtMjEuNXB4IDApO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvZmFrZS1hcnJvdy5wbmcnKSBuby1yZXBlYXQgY2VudGVyICRibHVlX3ZlcnlfZGFya19kZXNhdHVyYXRlZDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IGF1dG87XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gICAgICBwYWRkaW5nOiA2MHB4IDI1cHggMTUwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAyLjRweDtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkgcm90YXRlKC05MGRlZykpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMzBweCBudWxsIG51bGwgMTJweCk7XG4gICAgICB9XG5cbiAgICAgIC5uZXh0LWFydGljbGUge1xuICAgICAgICBtaW4taGVpZ2h0OiAyMDBweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDM2LjVweDtcbiAgICAgICAgcGFkZGluZzogMzBweCA2MHB4IDIwcHggMjcuNXB4O1xuICAgICAgfVxuXG4gICAgICAuaW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTkwcHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMCAzN3B4IDAgMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAtNTBweCBhdXRvIDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDc7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4yOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuXG4gICAgICB9XG5cbiAgICAgIC5idG4tZmFrZSB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIC0yMS41cHggMCBpbmhlcml0KTtcbiAgICAgICAgbWFyZ2luOiBhdXRvXG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTE0MHB4KTtcbiAgICAgIHBhZGRpbmc6IDYwcHggMCAxNTBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuXG4gICAgI21haW4ge1xuICAgICAgcGFkZGluZzogNDBweCAwIDA7XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS1ub2RlLXR5cGUtZXhwZXJpZW5jZSB7XG5cbiAgI21haW4ge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZXhwZXJpZW5jZSB7XG5cbiAgICAuY29yZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDE1MHB4IDA7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAwcHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMzAsIDMwLCAzMSwgMC45Myk7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwKTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmJhY2tncm91bmQge1xuICAgICAgei1pbmRleDogLTI7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuXG4gICAgICBkaXYge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgNDQ0bXMgbGluZWFyKTtcblxuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZXhwZXJpZW5jZS13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTE0MHB4KTtcbiAgICB9XG5cbiAgICAuZXhwZXJpZW5jZS1pbmZvIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg1KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDI1cHg7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA0NDRtcyBsaW5lYXIpO1xuXG4gICAgICAuaW5mby1jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oNTUpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDAuODtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgyOSk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4xMztcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogNC4xNHB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuYm9keS10ZXh0IHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5leHBlcmllbmNlLWFjdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRibHVlX3ZlcnlfZGFya19ncmF5aXNoO1xuICAgICAgcGFkZGluZzogMzVweCAwIDM1cHggNzBweDtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2LjkpO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgNjY2bXMgbGluZWFyKTtcblxuICAgICAgc2VjdGlvbiB7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nOiA4OXB4IDQ4cHg7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYmFja2dyb3VuZCA0NDRtcyBsaW5lYXIpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJsdWVfdmVyeV9kYXJrX2dyYXlpc2g7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjksIDI5LCAyOSwgMC44NSk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDU1dncgMXB4KTtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIG51bGwgbnVsbCAwKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihoZWlnaHQgNzc3bXMgbGluZWFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRibHVlX3ZlcnlfZGFya19ncmF5aXNoO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyOSwgMjksIDI5LCAwLjQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi50b2dnbGVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgLy9iYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDcwcHgpO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIGhlaWdodDogMjAwMHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5hY3Rpb24tdGl0bGUsXG4gICAgICAgICAgLmFjdGlvbi10ZWFzZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFjdGlvbi10aXRsZSB7XG4gICAgICAgIHdpZHRoOiAyMzVweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBmb250LXNpemU6IHJlbSg0NSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC42MnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oaGVpZ2h0IDQ0NG1zIGxpbmVhcik7XG4gICAgICB9XG5cbiAgICAgIC5hY3Rpb24tdGVhc2VyIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIzNXB4IC0gNDVweCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGhlaWdodCA0NDRtcyBsaW5lYXIpO1xuICAgICAgfVxuXG4gICAgICAmLnRvZ2dsZWQge1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgIG1heC1oZWlnaHQ6IDU1dmg7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSg0NSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkxO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNjJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIH1cblxuICAgICAgLnRlYXNlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgIH1cblxuICAgICAgLmJvZHktdGV4dCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFja19fcm9ib3RvO1xuICAgICAgICBsaW5lLWhlaWdodDogMS43NTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2M3B4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBAZXh0ZW5kIC5idG4tZG91YmxlX2xpbmU7XG4gICAgICAgIGNvbG9yOiAkYmx1ZV9saWdodF9ncmF5aXNoO1xuICAgICAgICBib3JkZXItY29sb3I6ICRibHVlX2xpZ2h0X2dyYXlpc2g7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2ZyYW1lLWFycm93LWxpZ2h0LnBuZycpIG5vLXJlcGVhdCBjYWxjKDEwMCUgLSA3cHgpIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3cHggYXV0bztcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9uLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDcpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDk5OTlweCAxcHgpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIG51bGwgbnVsbCAwKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGhlaWdodCA2NjZtcyBsaW5lYXIpO1xuICAgICAgfVxuXG4gICAgICBkaXYge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICoge1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hbmltYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBzdmcge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogMTMwJTtcbiAgICAgICAgICAvL2hlaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAtMTUlO1xuXG4gICAgICAgICAgKiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYudG9nZ2xlZCB7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgaGVpZ2h0OiAyMDAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYnRuLWNsb3NlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvY2xvc2UtbGlnaHQucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICB0b3A6IDUzcHg7XG4gICAgICByaWdodDogNTNweDtcbiAgICAgIEBpbmNsdWRlIHNpemUoMjdweCk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4tYmFjayB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAyNXB4IG51bGwgbnVsbCAyNXB4KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAyLjdweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2tfX3JvYm90bztcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9idG4tYmFjay1saWdodC5wbmcnKSBuby1yZXBlYXQgY2VudGVyIGxlZnQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDRweCBhdXRvO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblxuICAgICAgLmNvcmUge1xuICAgICAgICBwYWRkaW5nOiAxMDBweCAyNXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA3MDBweDtcbiAgICAgIH1cblxuICAgICAgLmV4cGVyaWVuY2Utd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gICAgICB9XG5cbiAgICAgIC5leHBlcmllbmNlLWluZm8ge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNS41KTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcblxuICAgICAgICAuaW5mby1jb250ZW50IHtcblxuICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDM1KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjUpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYm9keS10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmV4cGVyaWVuY2UtYWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYuNSk7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgcGFkZGluZzogMjBweCAwIDIwcHggMzVweDtcblxuICAgICAgICBzZWN0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nOiA2MHB4IDE1cHg7XG5cbiAgICAgICAgICAmLnRvZ2dsZWQge1xuICAgICAgICAgICAgbGVmdDogMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICB3aWR0aDogMTU1cHg7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMzApO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi10ZWFzZXIge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNTVweCAtIDQ1cHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYWN0aW9uLWltYWdlIHtcblxuICAgICAgICAuYW5pbWF0aW9uIHtcblxuICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICB3aWR0aDogMTEwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAuY29yZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogNjVweCAyNXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAuZXhwZXJpZW5jZS1pbmZvIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgICAuaW5mby1jb250ZW50IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQ1MHB4O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjUpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4xNHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuODZweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYm9keS10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZXhwZXJpZW5jZS1hY3Rpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDAgMjVweDtcblxuICAgICAgICAmLnRvZ2dsZWQge1xuICAgICAgICAgIHBhZGRpbmc6IDM1cHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VjdGlvbiB7XG4gICAgICAgICAgcGFkZGluZzogMzBweCAwO1xuXG4gICAgICAgICAgJi50b2dnbGVkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBpbmhlcml0KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24tdGl0bGUge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi10ZWFzZXIge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41NjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYWN0aW9uLWNvbnRlbnQge1xuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMjUpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQxcHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZWFzZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41NjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJvZHktdGV4dCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFjdGlvbi1pbWFnZSB7XG5cbiAgICAgICAgLmFuaW1hdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2JpbGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFzaWRlLWJnIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDY2Nm1zIGxpbmVhcik7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAtNDAwcHggLTI1MHB4KTtcblxuICAgICYudG9nZ2xlZCB7XG4gICAgICBsZWZ0OiAtMTAwMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC44KSk7XG4gICAgICBib3R0b206IC0xMDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLnBhZ2Utbm9kZS10eXBlLW9mZmljZS1pbmRleCB7XG5cbiAgI21haW4ge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICBzZWN0aW9uLmhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDY1cHggMjVweCA0NXB4O1xuXG4gICAgaDEge1xuICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya18yO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4xNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfZ3JheWlzaF8yO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuODZweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgfVxuXG4gICAgLmJvZHktdGV4dCB7XG4gICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICBsaW5lLWhlaWdodDogMS41NjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgICAgIHBhZGRpbmc6IDY1cHggMCA1NXB4O1xuXG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDQ1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogNC4xNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0NnB4O1xuICAgICAgfVxuXG4gICAgICAuYm9keS10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBtYXgtd2lkdGg6IDU2MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcmRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMTQwcHgpO1xuICAgICAgcGFkZGluZzogOTVweCAyNXB4IDc1cHg7XG5cbiAgICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oNTUpO1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI5KTtcbiAgICAgIH1cblxuICAgICAgLmJvZHktdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZWN0aW9uLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZV92ZXJ5X2RhcmtfMztcblxuICAgIC5maWx0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMCAyNXB4O1xuXG4gICAgICAuZmlsdGVyLWxpc3Qge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDZweCAwO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9maWx0ZXItYXJyb3cucG5nJykgbm8tcmVwZWF0IHJpZ2h0IDIzcHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IGF1dG87XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYmx1ZV92ZXJ5X2RhcmtfZ3JheWlzaDtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuOTM7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjM3cHg7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jdXJyZW50LWFycm93IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAub2ZmaWNlcyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAxMi41cHggMTkuNXB4O1xuXG4gICAgICAub2ZmaWNlLWl0ZW0ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTIuNXB4IDEwLjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlX2RhcmtfZ3JheWlzaF8yO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGxpbmVhcik7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmRhcmssIC5saWdodCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAwIDAgbnVsbCk7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMjJtcyBsaW5lYXIpO1xuXG4gICAgICAgICAgICAmLmRhcmsge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jaXR5IHtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY5O1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAyLjI5cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAjb2ZmaWNlLW1hcCB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBiYWNrZ3JvdW5kOiAjNzc3O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgLmZpbHRlciB7XG4gICAgICAgIG1heC13aWR0aDogMTE0MHB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMjFweDtcblxuICAgICAgICAuZmlsdGVyLWxpc3Qge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya18yO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMzBweDtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgwIDFweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIDdweCAzMHB4KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRibGFja192ZXJ5X2Rhcms7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMjJtcyBsaW5lYXIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya19kZXNhdHVyYXRlZF8yO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya19kZXNhdHVyYXRlZF8yO1xuXG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3VycmVudC1hcnJvdyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDI0cHggMTJweCk7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvb2ZmaWNlLWFycm93LnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgNDQ0bXMgbGluZWFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub2ZmaWNlcyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDk0NXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmc6IDQwcHggMCA0MHB4O1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUgNnB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkYmxhY2tfMjtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwKTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2dyYWRpZW50LTMucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGxpbmVhcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLmhpZ2hsaWdodCB7XG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuOTk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9mZmljZS1saXN0IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDkyMHB4O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9mZmljZS1pdGVtIHtcbiAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDE0cHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogOTAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJsdWVfbGlnaHRfZ3JheWlzaDtcblxuICAgICAgICAgICAgICAubGlnaHQge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAuZGFyayB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5jaXR5IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE5KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQyO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG5cbiAgICAgIC5vZmZpY2VzIHtcbiAgICAgICAgcGFkZGluZzogODFweCAwIDQwcHg7XG5cbiAgICAgICAgLm9mZmljZS1pdGVtIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG5cbiAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMycHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5vZmZpY2UtbGlnaHRib3gge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyOSwgMjksIDI5LCAwLjg2KTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDApKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKG9wYWNpdHkgNDQ0bXMgbGluZWFyKTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkpO1xuICAgIH1cblxuICAgIC5vZmZpY2UtbGlnaHRib3hfd3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgIH1cblxuICAgIC5vZmZpY2UtbGlnaHRib3hfaXRlbSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNzkwcHg7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCAwKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDApKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSA0NDRtcyBsaW5lYXIpO1xuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWljb24ge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgMCAxMDAlIG51bGwpO1xuXG4gICAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudmVydGljYWwtY2l0eSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDEwMCUgbnVsbCBudWxsKTtcblxuICAgICAgLnRleHQge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOSk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiA0LjE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxO1xuICAgICAgICBjb2xvcjogJGJsdWVfbGlnaHRfZ3JheWlzaDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAzNzBweCBudWxsIG51bGwgMzcwcHgpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC05MGRlZykpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWluZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAucmlnaHQtY29ybmVyIHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAyMHB4IDIwcHggbnVsbCBudWxsKTtcblxuICAgICAgLnR5cGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJGJsdWVfZGFya19ncmF5aXNoO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjI2cHg7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuOTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG4gICAgICB9XG5cbiAgICAgIC5idG4tY2xvc2Uge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDIyNXB4IDEwMCUpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcblxuICAgICAgaW1ne1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5mbyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDQyMHB4O1xuICAgICAgcGFkZGluZzogNzVweCA4MHB4IDM1cHggMzA1cHg7XG5cbiAgICAgIC5uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjkpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiA0LjE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE3O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICB9XG5cbiAgICAgIC5jaXR5IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAyLjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5kZXNjIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICBjb2xvcjogJGJsYWNrXzI7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWxpZ2h0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgICAgY29sb3I6ICRibGFja18yO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4yMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NjtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMTJweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2tfMjtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZW1haWwge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2ljb24tZW1haWwucG5nJykgbm8tcmVwZWF0IGxlZnQgNHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5waG9uZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvaWNvbi10ZWwucG5nJykgbm8tcmVwZWF0IGxlZnQgNHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTFweCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi53aGF0c2FwcCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvaWNvbi13aGF0c2FwcC5wbmcnKSBuby1yZXBlYXQgbGVmdCA0cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmLmFkZHJlc3Mge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2ljb24tYWRkcmVzcy5wbmcnKSBuby1yZXBlYXQgMXB4IDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDhweCBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIucGFnZS1ub2RlLXR5cGUtb2ZmaWNlIHtcblxuICAjbWFpbiB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIHNlY3Rpb24uaGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvb2ZmaWNlLWRldGFpbC5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAyNXB4IDE0cHggMCAyNXB4O1xuXG4gICAgLmJ0bi1iYWNrIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9idG4tYmFjay1saWdodC5wbmcnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDMuNnB4IGF1dG87XG4gICAgICBsZXR0ZXItc3BhY2luZzogMi43cHg7XG4gICAgfVxuXG4gICAgLmNpdHkge1xuICAgICAgbWFyZ2luOiAyOHB4IDAgMTBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IHJlbSgyNSk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDExcHg7XG4gICAgfVxuXG4gICAgLmJvZHktdGV4dCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICBsaW5lLWhlaWdodDogMS41NjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuaWNvbi1kZXRhaWxzIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZWN0aW9uLmNvbnRlbnQge1xuXG4gICAgLmluZm8ge1xuICAgICAgcGFkZGluZzogMzVweCAyNXB4IDQ1cHg7XG5cbiAgICAgICosICogPiBhIHtcbiAgICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya18yO1xuICAgICAgfVxuXG4gICAgICAudGV4dC1saWdodCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFja19fcm9ib3RvO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc5O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC40NHB4O1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZW1haWwge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2ljb24tZW1haWwucG5nJykgbm8tcmVwZWF0IGxlZnQgNnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5waG9uZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvaWNvbi10ZWwucG5nJykgbm8tcmVwZWF0IGxlZnQgNnB4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTFweCBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi53aGF0c2FwcCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvaWNvbi13aGF0c2FwcC5wbmcnKSBuby1yZXBlYXQgbGVmdCA2cHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAmLmFkZHJlc3Mge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2ljb24tYWRkcmVzcy5wbmcnKSBuby1yZXBlYXQgMXB4IDdweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDhweCBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMi41N3B4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgfVxuXG4gICAgICAuY2l0eSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTY7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ3LCAyNDksIDI1MCwgMC45KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5wYWdlLW5vZGUtdHlwZS1nZW5lcmFsLXBhZ2Uge1xuXG4gICNjb250ZW50LWFyZWEge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMTQwcHgpO1xuICAgIHBhZGRpbmc6IDI1cHg7XG5cbiAgICAuZ2VuZXJhbC1wYWdlIHtcbiAgICAgIG1heC13aWR0aDogNzUwcHg7XG4gICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI1KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4yNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgIG1heC13aWR0aDogNTcwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAudGVhc2VyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU3O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuYm9keSB7XG5cbiAgICAgICBwIHtcbiAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgICBsaW5lLWhlaWdodDogMS43ODtcbiAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjQ0cHg7XG4gICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgICB9XG4gICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDg1cHggMjVweCAxNDVweDtcblxuICAgICAgLmdlbmVyYWwtcGFnZSB7XG4gICAgICAgIEBpbmNsdWRlIHNoaWZ0KDEpO1xuICAgICAgfVxuXG4gICAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDM1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTtcbiAgICAgIH1cblxuICAgICAgLnRlYXNlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE5KTtcbiAgICAgIH1cblxuICAgICAgLmJvZHkge1xuXG4gICAgICAgIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcblxuICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxOSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcmRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmc6IDg1cHggMCAxMzVweDtcblxuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IHJlbSg0OCk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40OHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgICAgfVxuXG4gICAgICAudGVhc2VyIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgfVxuXG4gICAgICAuYm9keSB7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICdkZXBhcnRtZW50LWluZGV4JztcbkBpbXBvcnQgJ2FydGljbGUtaW5kZXgnO1xuIiwiLmRlcGFydG1lbnQtaW5kZXgge1xuXG4gIGhlYWRlciB7XG4gICAgcGFkZGluZzogMzBweCAyNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGgxIHtcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4xNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMDc7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoXzI7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMi44NnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDYwcHggMjVweDtcblxuICAgICAgaDEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgcGFkZGluZzogNzVweCAwIDE1MHB4O1xuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI5KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXRlbS1saXN0IHtcbiAgICBwYWRkaW5nOiAzMHB4IDI1cHg7XG5cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBib3gtc2hhZG93OiAwIDAgNDBweCAwIHJnYmEoMzMsIDQxLCA1MiwgMC4wNSk7XG5cbiAgICAgIC53cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMjVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheV9saWdodF8yO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAgICY6bnRoLWNoaWxkKDEpOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC05cHggbnVsbCBudWxsIC05cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMik6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTlweCAtOXB4IG51bGwgbnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgzKTpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIC05cHggLTlweCBudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDQpOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAtOXB4IC05cHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1zaXplOiByZW0oMjUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM0cHg7XG4gICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQ6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDIwcHggMXB4KTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAwIDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICBsaW5lLWhlaWdodDogMS41NjtcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgMHB4IC04MHB4IG51bGwpO1xuXG4gICAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4tbW9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHJvdygpO1xuXG4gICAgICBsaSB7XG4gICAgICAgIHdpZHRoOiA3MDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTIwcHg7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgICAgICAgLndyYXBwZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDgwcHggMTgwcHggNTBweDtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgNDBweCAwIHJnYmEoMzMsNDEsNTIsMC4wNSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyM3B4KTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtMTY0cHggbnVsbCBudWxsIC0xMzhweCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIGluaGVyaXQgMCAtMTVweCBpbmhlcml0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtMTAwcHggLTEzOHB4IG51bGwgbnVsbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIGluaGVyaXQgaW5oZXJpdCAtMTVweCAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0xMjMuNXB4IG51bGwgbnVsbCAtMTIzLjVweCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIGluaGVyaXQgMCAtMTVweCBpbmhlcml0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA0MHB4IG51bGwgbnVsbCAtMjAwcHgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBpbmhlcml0IGluaGVyaXQgLTE1cHggMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDQwcHggMCByZ2JhKDMzLCA0MSwgNTIsIDAuMDUpO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgxKTpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIGluaGVyaXQgLTIzcHggLTIzcHggaW5oZXJpdCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpudGgtY2hpbGQoMik6YmVmb3JlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBpbmhlcml0IGluaGVyaXQgLTIzcHggLTIzcHgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6bnRoLWNoaWxkKDMpOmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgaW5oZXJpdCAtMjNweCAtMjNweCBpbmhlcml0KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCg0KTpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIGluaGVyaXQgaW5oZXJpdCAtMjNweCAtMjNweCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oNDUpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xMztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjYycHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzNjBweDtcbiAgICAgICAgb3BhY2l0eTogMC4wNztcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEyMDBweCk7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgd2lkdGg6IDc3NXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNTBweDtcblxuICAgICAgICAud3JhcHBlciB7XG4gICAgICAgICAgcGFkZGluZzogMTAwcHggMTk4cHggNThweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZvb3RlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDM1cHggMjVweDtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZV9saWdodF9ncmF5aXNoXzM7XG4gICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya18yO1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wOXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgcGFkZGluZzogNzBweCAyNXB4O1xuICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgcCB7XG4gICAgICAgIG1heC13aWR0aDogODkwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmFydGljbGUtaW5kZXgsXG4uYXJ0aWNsZS1saXN0aW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDcwcHggMjVweCA2NXB4O1xuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMTVweDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoXzI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuODZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiA4NXB4IDI1cHggMzVweDtcblxuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IHJlbSg0NSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwLjY5O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDI3KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDQuMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzE7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG4gICAgICBwYWRkaW5nOiA4NXB4IDAgMzVweDtcblxuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IHJlbSg1NSk7XG5cbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNpZGViYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuaW5kZXgtYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMTBweCBudWxsIG51bGwpO1xuXG4gICAgICAjYmxvY2tfc29jaWFsLW1lZGlhIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNvY2lhbC1tZWRpYV9pdGVtcyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGdyYXlfdmVyeV9saWdodF8yO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpZ2h0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRhcmsge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG4gICAgICByaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAudmlld3MtZXhwb3NlZC1mb3JtIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgNTBweCBudWxsIG51bGwgMCk7XG4gICAgcGFkZGluZzogNXB4IDI1cHg7XG4gICAgYmFja2dyb3VuZDogJGJsdWVfbGlnaHRfZ3JheWlzaDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTA7XG5cbiAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvbG9jYWwtbmF2LWFycm93LnBuZycpIG5vLXJlcGVhdCByaWdodCAxN3B4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA5cHggYXV0bztcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgICAgJiA+IGRpdiB7XG4gICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFja19fcm9ib3RvO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrX2Rlc2F0dXJhdGVkXzI7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi43O1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjQ3cHg7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmJlZi1saW5rLWFjdGl2ZSkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiBpbmhlcml0O1xuICAgICAgbGVmdDogaW5oZXJpdDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmID4gZGl2IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMjIybXMgbGluZWFyKTtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrX19yb2JvdG87XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMi45O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMzdweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGxpbmVhcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpub3QoLmJlZi1saW5rLWFjdGl2ZSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfZGVzYXR1cmF0ZWRfMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucm93IHtcbiAgICBwYWRkaW5nOiAwIDQ4cHggNjBweDtcblxuICAgIC5hcnRpY2xlLWl0ZW0ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjVweDtcblxuICAgICAgJi5jb250ZW50LXdpdGgtaW1hZ2Uge1xuXG4gICAgICAgIC5jYXRlZ29yeSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNhdGVnb3J5IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY3O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuMTRweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoXzI7XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0byAyM3B4O1xuICAgICAgYmFja2dyb3VuZDogJGJsdWVfbGlnaHRfZ3JheWlzaF81O1xuICAgICAgcGFkZGluZy10b3A6IDEyLjVweDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCAwIDEyLjVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMik7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTM7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMjJweDtcbiAgICAgIGNvbG9yOiAkYmx1ZV92ZXJ5X2RhcmtfMjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC5jcmVhdGVkIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFja19fcm9ib3RvO1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjkyO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMzdweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBjb2xvcjogJGJsdWVfdmVyeV9kYXJrXzI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5idG4tbW9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb2xvcjogJGdyYXlfdmVyeV9kYXJrXzM7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9idG4tbW9yZS1kYXJrLnBuZycpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiA3NXB4IDAgMDtcbiAgICAgIEBpbmNsdWRlIHJvdygpO1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMC41KTtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5LjUpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvYXJ0aWNsZS1pbmRleC1iZy5wbmcnKSBuby1yZXBlYXQgY2FsYygxMDAlIC0gMTYxcHgpIDA7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIzM3B4O1xuXG4gICAgICAmID4gZGl2IHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZzogMCAzLjUlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMjBweDtcbiAgICAgICAgQGluY2x1ZGUgcm93KCk7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgIC5hcnRpY2xlLWl0ZW06YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRncmF5X2xpZ2h0X2JsdWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmFydGljbGUtaXRlbTpub3QoLmNvbnRlbnQtd2l0aC1pbWFnZSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGdyYXlfbGlnaHRfYmx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFydGljbGUtaXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlX2xpZ2h0X2dyYXlpc2g7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgyOTBweCk7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0yMHB4IG51bGwgbnVsbCAtMjBweCk7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMjIybXMgbGluZWFyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5jb250ZW50LXdpdGgtaW1hZ2UpIHtcbiAgICAgICAgICBwYWRkaW5nOiAzNXB4IDIwcHggMzBweCA0MHB4O1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRibHVlX2xpZ2h0X2dyYXlpc2g7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMjIybXMgbGluZWFyKTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmNhdGVnb3J5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVZKC0xMzVweCkgdHJhbnNsYXRlWCgtMTcwcHgpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuYXJ0aWNsZS1pbmZvIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYXJ0aWNsZS1pbmZvIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgcGFkZGluZzogMjNweDtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICAuY2F0ZWdvcnkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMi44cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC05MGRlZykgdHJhbnNsYXRlWSgtMTUycHgpIHRyYW5zbGF0ZVgoLTEyMHB4KSk7XG4gICAgICB9XG5cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDMzcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA3O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMjhweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmNyZWF0ZWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAuYnRuLW1vcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuXG4gICAgICAuYXJ0aWNsZS1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDYwcHg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMzYzcHggMzYzcHgpO1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtMzVweCBudWxsIG51bGwgLTQwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmNvbnRlbnQtd2l0aC1pbWFnZSkge1xuICAgICAgICAgIHBhZGRpbmc6IDcwcHggMjBweCA3MHB4IDYwcHg7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG5cbiAgICAgICAgICAuY2F0ZWdvcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZVkoLTE1MHB4KSB0cmFuc2xhdGVYKC0yNDBweCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2F0ZWdvcnkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMSk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShyb3RhdGUoLTkwZGVnKSB0cmFuc2xhdGVZKC0xODBweCkgdHJhbnNsYXRlWCgtMTUwcHgpKTtcbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgQGluY2x1ZGUgcm93KCk7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcblxuICAgIC5zaWRlYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMi41N3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjc7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgICAgY29sb3I6ICRibHVlX3ZlcnlfZGFya19ncmF5aXNoXzI7XG4gICAgfVxuXG4gICAgLnNpZGViYXIge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIpO1xuICAgICAgcGFkZGluZy10b3A6IDQ1cHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTE0MHB4KTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxnQ0FBZ0M7QWlGRzlCLEFBQUEsSUFBSSxDQUFDO0VoQk1DLGtCQUFvQixFZ0JMSixVQUFVO0VoQlUxQixlQUFpQixFZ0JWRCxVQUFVO0VoQnlCMUIsVUFBWSxFZ0J6QkksVUFBVSxHQUMvQjs7QUFFRCxBQUFBLENBQUMsRUFBRCxBQUFBLENBQUMsQUFFRSxPQUFPLEVBRlYsQUFBQSxDQUFDLEFBR0UsTUFBTSxDQUFDO0VoQkRKLGtCQUFvQixFZ0JFRixPQUFPO0VoQkd6QixlQUFpQixFZ0JIQyxPQUFPO0VoQmtCekIsVUFBWSxFZ0JsQk0sT0FBTyxH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 */
