<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";
/* ----- VENDOR IMPORTS ----- */
@import url("https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700");
html {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

*, *:before, *:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  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 &lt; 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 {
  -moz-box-sizing: content-box;
  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 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 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; }

.select2-container {
  box-sizing: border-box;
  display: inline-block;
  margin: 0;
  position: relative;
  vertical-align: middle; }

.select2-container .select2-selection--single {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  height: 28px;
  user-select: none;
  -webkit-user-select: none; }

.select2-container .select2-selection--single .select2-selection__rendered {
  display: block;
  padding-left: 8px;
  padding-right: 20px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

.select2-container .select2-selection--single .select2-selection__clear {
  position: relative; }

.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered {
  padding-right: 8px;
  padding-left: 20px; }

.select2-container .select2-selection--multiple {
  box-sizing: border-box;
  cursor: pointer;
  display: block;
  min-height: 32px;
  user-select: none;
  -webkit-user-select: none; }

.select2-container .select2-selection--multiple .select2-selection__rendered {
  display: inline-block;
  overflow: hidden;
  padding-left: 8px;
  text-overflow: ellipsis;
  white-space: nowrap; }

.select2-container .select2-search--inline {
  float: left; }

.select2-container .select2-search--inline .select2-search__field {
  box-sizing: border-box;
  border: none;
  font-size: 100%;
  margin-top: 5px;
  padding: 0; }

.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none; }

.select2-dropdown {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  box-sizing: border-box;
  display: block;
  position: absolute;
  left: -100000px;
  width: 100%;
  z-index: 1051; }

.select2-results {
  display: block; }

.select2-results__options {
  list-style: none;
  margin: 0;
  padding: 0; }

.select2-results__option {
  padding: 6px;
  user-select: none;
  -webkit-user-select: none; }

.select2-results__option[aria-selected] {
  cursor: pointer; }

.select2-container--open .select2-dropdown {
  left: 0; }

.select2-container--open .select2-dropdown--above {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--open .select2-dropdown--below {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-search--dropdown {
  display: block;
  padding: 4px; }

.select2-search--dropdown .select2-search__field {
  padding: 4px;
  width: 100%;
  box-sizing: border-box; }

.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button {
  -webkit-appearance: none; }

.select2-search--dropdown.select2-search--hide {
  display: none; }

.select2-close-mask {
  border: 0;
  margin: 0;
  padding: 0;
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  min-height: 100%;
  min-width: 100%;
  height: auto;
  width: auto;
  opacity: 0;
  z-index: 99;
  background-color: #fff;
  filter: alpha(opacity=0); }

.select2-hidden-accessible {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important; }

.select2-container--default .select2-selection--single {
  background-color: #fff;
  border: 1px solid #aaa;
  border-radius: 4px; }

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px; }

.select2-container--default .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold; }

.select2-container--default .select2-selection--single .select2-selection__placeholder {
  color: #999; }

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px; }

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  left: 1px;
  right: auto; }

.select2-container--default.select2-container--disabled .select2-selection--single {
  background-color: #eee;
  cursor: default; }

.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear {
  display: none; }

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px; }

.select2-container--default .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text; }

.select2-container--default .select2-selection--multiple .select2-selection__rendered {
  box-sizing: border-box;
  list-style: none;
  margin: 0;
  padding: 0 5px;
  width: 100%; }

.select2-container--default .select2-selection--multiple .select2-selection__rendered li {
  list-style: none; }

.select2-container--default .select2-selection--multiple .select2-selection__placeholder {
  color: #999;
  margin-top: 5px;
  float: left; }

.select2-container--default .select2-selection--multiple .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  margin-top: 5px;
  margin-right: 10px; }

.select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: default;
  float: left;
  margin-right: 5px;
  margin-top: 5px;
  padding: 0 5px; }

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
  color: #999;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-right: 2px; }

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #333; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__placeholder, .select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline {
  float: right; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--default.select2-container--focus .select2-selection--multiple {
  border: solid black 1px;
  outline: 0; }

.select2-container--default.select2-container--disabled .select2-selection--multiple {
  background-color: #eee;
  cursor: default; }

.select2-container--default.select2-container--disabled .select2-selection__choice__remove {
  display: none; }

.select2-container--default.select2-container--open.select2-container--above .select2-selection--single, .select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--default.select2-container--open.select2-container--below .select2-selection--single, .select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa; }

.select2-container--default .select2-search--inline .select2-search__field {
  background: transparent;
  border: none;
  outline: 0;
  box-shadow: none;
  -webkit-appearance: textfield; }

.select2-container--default .select2-results &gt; .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--default .select2-results__option[role=group] {
  padding: 0; }

.select2-container--default .select2-results__option[aria-disabled=true] {
  color: #999; }

.select2-container--default .select2-results__option[aria-selected=true] {
  background-color: #ddd; }

.select2-container--default .select2-results__option .select2-results__option {
  padding-left: 1em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__group {
  padding-left: 0; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -1em;
  padding-left: 2em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -2em;
  padding-left: 3em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -3em;
  padding-left: 4em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -4em;
  padding-left: 5em; }

.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option {
  margin-left: -5em;
  padding-left: 6em; }

.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #5897fb;
  color: white; }

.select2-container--default .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic .select2-selection--single {
  background-color: #f7f7f7;
  border: 1px solid #aaa;
  border-radius: 4px;
  outline: 0;
  background-image: -webkit-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: -o-linear-gradient(top, white 50%, #eeeeee 100%);
  background-image: linear-gradient(to bottom, white 50%, #eeeeee 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }

.select2-container--classic .select2-selection--single:focus {
  border: 1px solid #5897fb; }

.select2-container--classic .select2-selection--single .select2-selection__rendered {
  color: #444;
  line-height: 28px; }

.select2-container--classic .select2-selection--single .select2-selection__clear {
  cursor: pointer;
  float: right;
  font-weight: bold;
  margin-right: 10px; }

.select2-container--classic .select2-selection--single .select2-selection__placeholder {
  color: #999; }

.select2-container--classic .select2-selection--single .select2-selection__arrow {
  background-color: #ddd;
  border: none;
  border-left: 1px solid #aaa;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  height: 26px;
  position: absolute;
  top: 1px;
  right: 1px;
  width: 20px;
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
  background-image: -o-linear-gradient(top, #eeeeee 50%, #cccccc 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, #cccccc 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0); }

.select2-container--classic .select2-selection--single .select2-selection__arrow b {
  border-color: #888 transparent transparent transparent;
  border-style: solid;
  border-width: 5px 4px 0 4px;
  height: 0;
  left: 50%;
  margin-left: -4px;
  margin-top: -2px;
  position: absolute;
  top: 50%;
  width: 0; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear {
  float: left; }

.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow {
  border: none;
  border-right: 1px solid #aaa;
  border-radius: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px;
  left: 1px;
  right: auto; }

.select2-container--classic.select2-container--open .select2-selection--single {
  border: 1px solid #5897fb; }

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow {
  background: transparent;
  border: none; }

.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b {
  border-color: transparent transparent #888 transparent;
  border-width: 0 4px 5px 4px; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  background-image: -webkit-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: -o-linear-gradient(top, white 0%, #eeeeee 50%);
  background-image: linear-gradient(to bottom, white 0%, #eeeeee 50%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0); }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  background-image: -webkit-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: -o-linear-gradient(top, #eeeeee 50%, white 100%);
  background-image: linear-gradient(to bottom, #eeeeee 50%, white 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0); }

.select2-container--classic .select2-selection--multiple {
  background-color: white;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: text;
  outline: 0; }

.select2-container--classic .select2-selection--multiple:focus {
  border: 1px solid #5897fb; }

.select2-container--classic .select2-selection--multiple .select2-selection__rendered {
  list-style: none;
  margin: 0;
  padding: 0 5px; }

.select2-container--classic .select2-selection--multiple .select2-selection__clear {
  display: none; }

.select2-container--classic .select2-selection--multiple .select2-selection__choice {
  background-color: #e4e4e4;
  border: 1px solid #aaa;
  border-radius: 4px;
  cursor: default;
  float: left;
  margin-right: 5px;
  margin-top: 5px;
  padding: 0 5px; }

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove {
  color: #888;
  cursor: pointer;
  display: inline-block;
  font-weight: bold;
  margin-right: 2px; }

.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover {
  color: #555; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  float: right; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice {
  margin-left: 5px;
  margin-right: auto; }

.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove {
  margin-left: 2px;
  margin-right: auto; }

.select2-container--classic.select2-container--open .select2-selection--multiple {
  border: 1px solid #5897fb; }

.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple {
  border-top: none;
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple {
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.select2-container--classic .select2-search--dropdown .select2-search__field {
  border: 1px solid #aaa;
  outline: 0; }

.select2-container--classic .select2-search--inline .select2-search__field {
  outline: 0;
  box-shadow: none; }

.select2-container--classic .select2-dropdown {
  background-color: white;
  border: 1px solid transparent; }

.select2-container--classic .select2-dropdown--above {
  border-bottom: none; }

.select2-container--classic .select2-dropdown--below {
  border-top: none; }

.select2-container--classic .select2-results &gt; .select2-results__options {
  max-height: 200px;
  overflow-y: auto; }

.select2-container--classic .select2-results__option[role=group] {
  padding: 0; }

.select2-container--classic .select2-results__option[aria-disabled=true] {
  color: grey; }

.select2-container--classic .select2-results__option--highlighted[aria-selected] {
  background-color: #3875d7;
  color: white; }

.select2-container--classic .select2-results__group {
  cursor: default;
  display: block;
  padding: 6px; }

.select2-container--classic.select2-container--open .select2-dropdown {
  border-color: #5897fb; }

.fancybox-enabled {
  overflow: hidden; }

.fancybox-enabled body {
  overflow: visible;
  height: 100%; }

.fancybox-is-hidden {
  position: absolute;
  top: -9999px;
  left: -9999px;
  visibility: hidden; }

.fancybox-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99993;
  -webkit-tap-highlight-color: transparent;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translateZ(0);
  transform: translateZ(0); }

/* Make sure that the first one is on the top */
.fancybox-container ~ .fancybox-container {
  z-index: 99992; }

.fancybox-outer,
.fancybox-inner,
.fancybox-bg,
.fancybox-stage {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0; }

.fancybox-outer {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch; }

.fancybox-bg {
  background: #1e1e1e;
  opacity: 0;
  transition-duration: inherit;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.47, 0, 0.74, 0.71); }

.fancybox-is-open .fancybox-bg {
  opacity: 0.87;
  transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1); }

.fancybox-infobar,
.fancybox-toolbar,
.fancybox-caption-wrap {
  position: absolute;
  direction: ltr;
  z-index: 99997;
  opacity: 0;
  visibility: hidden;
  transition: opacity .25s, visibility 0s linear .25s;
  box-sizing: border-box; }

.fancybox-show-infobar .fancybox-infobar,
.fancybox-show-toolbar .fancybox-toolbar,
.fancybox-show-caption .fancybox-caption-wrap {
  opacity: 1;
  visibility: visible;
  transition: opacity .25s, visibility 0s; }

.fancybox-infobar {
  top: 0;
  left: 50%;
  margin-left: -79px; }

.fancybox-infobar__body {
  display: inline-block;
  width: 70px;
  line-height: 44px;
  font-size: 13px;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  text-align: center;
  color: #ddd;
  background-color: rgba(30, 30, 30, 0.7);
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: subpixel-antialiased; }

.fancybox-toolbar {
  top: 0;
  right: 0; }

.fancybox-stage {
  overflow: hidden;
  direction: ltr;
  z-index: 99994;
  -webkit-transform: translate3d(0, 0, 0); }

.fancybox-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  overflow: auto;
  outline: none;
  white-space: normal;
  box-sizing: border-box;
  text-align: center;
  z-index: 99994;
  -webkit-overflow-scrolling: touch;
  display: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition-property: opacity, -webkit-transform;
  transition-property: transform, opacity;
  transition-property: transform, opacity, -webkit-transform;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d; }

.fancybox-slide::before {
  content: '';
  display: inline-block;
  vertical-align: middle;
  height: 100%;
  width: 0; }

.fancybox-is-sliding .fancybox-slide,
.fancybox-slide--previous,
.fancybox-slide--current,
.fancybox-slide--next {
  display: block; }

.fancybox-slide--image {
  overflow: visible; }

.fancybox-slide--image::before {
  display: none; }

.fancybox-slide--video .fancybox-content,
.fancybox-slide--video iframe {
  background: #000; }

.fancybox-slide--map .fancybox-content,
.fancybox-slide--map iframe {
  background: #E5E3DF; }

.fancybox-slide--next {
  z-index: 99995; }

.fancybox-slide &gt; div {
  display: inline-block;
  position: relative;
  padding: 24px;
  margin: 44px 0 44px;
  border-width: 0;
  vertical-align: middle;
  text-align: left;
  background-color: #fff;
  overflow: auto;
  box-sizing: border-box; }

.fancybox-slide .fancybox-image-wrap {
  position: absolute;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
  border: 0;
  z-index: 99995;
  background: transparent;
  cursor: default;
  overflow: visible;
  -webkit-transform-origin: top left;
  -ms-transform-origin: top left;
  transform-origin: top left;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-can-zoomOut .fancybox-image-wrap {
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.fancybox-can-zoomIn .fancybox-image-wrap {
  cursor: -webkit-zoom-in;
  cursor: zoom-in; }

.fancybox-can-drag .fancybox-image-wrap {
  cursor: -webkit-grab;
  cursor: grab; }

.fancybox-is-dragging .fancybox-image-wrap {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

.fancybox-image,
.fancybox-spaceball {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  max-width: none;
  max-height: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.fancybox-spaceball {
  z-index: 1; }

.fancybox-slide--iframe .fancybox-content {
  padding: 0;
  width: 80%;
  height: 80%;
  max-width: calc(100% - 100px);
  max-height: calc(100% - 88px);
  overflow: visible;
  background: #fff; }

.fancybox-iframe {
  display: block;
  margin: 0;
  padding: 0;
  border: 0;
  width: 100%;
  height: 100%;
  background: #fff; }

.fancybox-error {
  margin: 0;
  padding: 40px;
  width: 100%;
  max-width: 380px;
  background: #fff;
  cursor: default; }

.fancybox-error p {
  margin: 0;
  padding: 0;
  color: #444;
  font: 16px/20px "Helvetica Neue",Helvetica,Arial,sans-serif; }

.fancybox-close-small {
  position: absolute;
  top: 0;
  right: 0;
  width: 44px;
  height: 44px;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
  outline: none;
  background: transparent;
  z-index: 10;
  cursor: pointer; }

.fancybox-close-small:after {
  content: '×';
  position: absolute;
  top: 5px;
  right: 5px;
  width: 30px;
  height: 30px;
  font: 20px/30px Arial,"Helvetica Neue",Helvetica,sans-serif;
  color: #888;
  font-weight: 300;
  text-align: center;
  border-radius: 50%;
  border-width: 0;
  background: #fff;
  transition: background .25s;
  box-sizing: border-box;
  z-index: 2; }

.fancybox-close-small:focus:after {
  outline: 1px dotted #888; }

.fancybox-close-small:hover:after {
  color: #555;
  background: #eee; }

.fancybox-slide--iframe .fancybox-close-small {
  top: 0;
  right: -44px; }

.fancybox-slide--iframe .fancybox-close-small:after {
  background: transparent;
  font-size: 35px;
  color: #aaa; }

.fancybox-slide--iframe .fancybox-close-small:hover:after {
  color: #fff; }

/* Caption */
.fancybox-caption-wrap {
  bottom: 0;
  left: 0;
  right: 0;
  padding: 60px 30px 0 30px;
  background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.1) 20%, rgba(0, 0, 0, 0.2) 40%, rgba(0, 0, 0, 0.6) 80%, rgba(0, 0, 0, 0.8) 100%);
  pointer-events: none; }

.fancybox-caption {
  padding: 30px 0;
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  font-size: 14px;
  font-family: "Helvetica Neue",Helvetica,Arial,sans-serif;
  color: #fff;
  line-height: 20px;
  -webkit-text-size-adjust: none; }

.fancybox-caption a,
.fancybox-caption button,
.fancybox-caption select {
  pointer-events: all; }

.fancybox-caption a {
  color: #fff;
  text-decoration: underline; }

/* Buttons */
.fancybox-button {
  display: inline-block;
  position: relative;
  margin: 0;
  padding: 0;
  border: 0;
  width: 44px;
  height: 44px;
  line-height: 44px;
  text-align: center;
  background: transparent;
  color: #ddd;
  border-radius: 0;
  cursor: pointer;
  vertical-align: top;
  outline: none; }

.fancybox-button[disabled] {
  cursor: default;
  pointer-events: none; }

.fancybox-infobar__body, .fancybox-button {
  background: rgba(30, 30, 30, 0.6); }

.fancybox-button:hover:not([disabled]) {
  color: #fff;
  background: rgba(0, 0, 0, 0.8); }

.fancybox-button::before,
.fancybox-button::after {
  content: '';
  pointer-events: none;
  position: absolute;
  background-color: currentColor;
  color: currentColor;
  opacity: 0.9;
  box-sizing: border-box;
  display: inline-block; }

.fancybox-button[disabled]::before,
.fancybox-button[disabled]::after {
  opacity: 0.3; }

.fancybox-button--left::after,
.fancybox-button--right::after {
  top: 18px;
  width: 6px;
  height: 6px;
  background: transparent;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor; }

.fancybox-button--left::after {
  left: 20px;
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg); }

.fancybox-button--right::after {
  right: 20px;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.fancybox-button--left {
  border-bottom-left-radius: 5px; }

.fancybox-button--right {
  border-bottom-right-radius: 5px; }

.fancybox-button--close::before, .fancybox-button--close::after {
  content: '';
  display: inline-block;
  position: absolute;
  height: 2px;
  width: 16px;
  top: calc(50% - 1px);
  left: calc(50% - 8px); }

.fancybox-button--close::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.fancybox-button--close::after {
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

/* Navigation arrows */
.fancybox-arrow {
  position: absolute;
  top: 50%;
  margin: -50px 0 0 0;
  height: 100px;
  width: 54px;
  padding: 0;
  border: 0;
  outline: none;
  background: none;
  cursor: pointer;
  z-index: 99995;
  opacity: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition: opacity .25s; }

.fancybox-arrow::after {
  content: '';
  position: absolute;
  top: 28px;
  width: 44px;
  height: 44px;
  background-color: rgba(30, 30, 30, 0.8);
  background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjRkZGRkZGIiBoZWlnaHQ9IjQ4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSI0OCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4gICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPiAgICA8cGF0aCBkPSJNMTIgNGwtMS40MSAxLjQxTDE2LjE3IDExSDR2MmgxMi4xN2wtNS41OCA1LjU5TDEyIDIwbDgtOHoiLz48L3N2Zz4=);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 24px 24px; }

.fancybox-arrow--right {
  right: 0; }

.fancybox-arrow--left {
  left: 0;
  -webkit-transform: scaleX(-1);
  -ms-transform: scaleX(-1);
  transform: scaleX(-1); }

.fancybox-arrow--right::after,
.fancybox-arrow--left::after {
  left: 0; }

.fancybox-show-nav .fancybox-arrow {
  opacity: 0.6; }

.fancybox-show-nav .fancybox-arrow[disabled] {
  opacity: 0.3; }

/* Loading indicator */
.fancybox-slide &gt; .fancybox-loading {
  border: 6px solid rgba(100, 100, 100, 0.4);
  border-top: 6px solid rgba(255, 255, 255, 0.6);
  border-radius: 100%;
  height: 50px;
  width: 50px;
  -webkit-animation: fancybox-rotate .8s infinite linear;
  animation: fancybox-rotate .8s infinite linear;
  background: transparent;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -25px;
  margin-left: -25px;
  z-index: 99999; }

@-webkit-keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

@keyframes fancybox-rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg); } }

/* Transition effects */
.fancybox-animated {
  transition-timing-function: cubic-bezier(0, 0, 0.25, 1); }

/* transitionEffect: slide */
.fancybox-fx-slide.fancybox-slide--previous {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  opacity: 0; }

.fancybox-fx-slide.fancybox-slide--next {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  opacity: 0; }

.fancybox-fx-slide.fancybox-slide--current {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  opacity: 1; }

/* transitionEffect: fade */
.fancybox-fx-fade.fancybox-slide--previous,
.fancybox-fx-fade.fancybox-slide--next {
  opacity: 0;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1); }

.fancybox-fx-fade.fancybox-slide--current {
  opacity: 1; }

/* transitionEffect: zoom-in-out */
.fancybox-fx-zoom-in-out.fancybox-slide--previous {
  -webkit-transform: scale3d(1.5, 1.5, 1.5);
  transform: scale3d(1.5, 1.5, 1.5);
  opacity: 0; }

.fancybox-fx-zoom-in-out.fancybox-slide--next {
  -webkit-transform: scale3d(0.5, 0.5, 0.5);
  transform: scale3d(0.5, 0.5, 0.5);
  opacity: 0; }

.fancybox-fx-zoom-in-out.fancybox-slide--current {
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
  opacity: 1; }

/* transitionEffect: rotate */
.fancybox-fx-rotate.fancybox-slide--previous {
  -webkit-transform: rotate(-360deg);
  -ms-transform: rotate(-360deg);
  transform: rotate(-360deg);
  opacity: 0; }

.fancybox-fx-rotate.fancybox-slide--next {
  -webkit-transform: rotate(360deg);
  -ms-transform: rotate(360deg);
  transform: rotate(360deg);
  opacity: 0; }

.fancybox-fx-rotate.fancybox-slide--current {
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  opacity: 1; }

/* transitionEffect: circular */
.fancybox-fx-circular.fancybox-slide--previous {
  -webkit-transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(-100%, 0, 0);
  opacity: 0; }

.fancybox-fx-circular.fancybox-slide--next {
  -webkit-transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
  transform: scale3d(0, 0, 0) translate3d(100%, 0, 0);
  opacity: 0; }

.fancybox-fx-circular.fancybox-slide--current {
  -webkit-transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
  transform: scale3d(1, 1, 1) translate3d(0, 0, 0);
  opacity: 1; }

/* transitionEffect: tube */
.fancybox-fx-tube.fancybox-slide--previous {
  -webkit-transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg);
  transform: translate3d(-100%, 0, 0) scale(0.1) skew(-10deg); }

.fancybox-fx-tube.fancybox-slide--next {
  -webkit-transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg);
  transform: translate3d(100%, 0, 0) scale(0.1) skew(10deg); }

.fancybox-fx-tube.fancybox-slide--current {
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1); }

/* Styling for Small-Screen Devices */
@media all and (max-width: 800px) {
  .fancybox-infobar {
    left: 0;
    margin-left: 0; }
  .fancybox-button--left,
  .fancybox-button--right {
    display: none !important; }
  .fancybox-caption {
    padding: 20px 0;
    margin: 0; } }

/* Fullscreen  */
.fancybox-button--fullscreen::before {
  width: 15px;
  height: 11px;
  left: calc(50% - 7px);
  top: calc(50% - 6px);
  border: 2px solid;
  background: none; }

/* Slideshow button */
.fancybox-button--play::before,
.fancybox-button--pause::before {
  top: calc(50% - 6px);
  left: calc(50% - 4px);
  background: transparent; }

.fancybox-button--play::before {
  width: 0;
  height: 0;
  border-top: 6px inset transparent;
  border-bottom: 6px inset transparent;
  border-left: 10px solid;
  border-radius: 1px; }

.fancybox-button--pause::before {
  width: 7px;
  height: 11px;
  border-style: solid;
  border-width: 0 2px 0 2px; }

/* Thumbs */
.fancybox-thumbs {
  display: none; }

.fancybox-button--thumbs {
  display: none; }

@media all and (min-width: 800px) {
  .fancybox-button--thumbs {
    display: inline-block; }
  .fancybox-button--thumbs span {
    font-size: 23px; }
  .fancybox-button--thumbs::before {
    width: 3px;
    height: 3px;
    top: calc(50% - 2px);
    left: calc(50% - 2px);
    box-shadow: 0 -4px 0, -4px -4px 0, 4px -4px 0, 0 0 0 32px inset, -4px 0 0, 4px 0 0, 0 4px 0, -4px 4px 0, 4px 4px 0; }
  .fancybox-thumbs {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: auto;
    width: 220px;
    margin: 0;
    padding: 5px 5px 0 0;
    background: #fff;
    word-break: normal;
    -webkit-tap-highlight-color: transparent;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    box-sizing: border-box;
    z-index: 99995; }
  .fancybox-show-thumbs .fancybox-thumbs {
    display: block; }
  .fancybox-show-thumbs .fancybox-inner {
    right: 220px; }
  .fancybox-thumbs &gt; ul {
    list-style: none;
    position: absolute;
    position: relative;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    font-size: 0; }
  .fancybox-thumbs &gt; ul &gt; li {
    float: left;
    overflow: hidden;
    max-width: 50%;
    padding: 0;
    margin: 0;
    width: 105px;
    height: 75px;
    position: relative;
    cursor: pointer;
    outline: none;
    border: 5px solid transparent;
    border-top-width: 0;
    border-right-width: 0;
    -webkit-tap-highlight-color: transparent;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    box-sizing: border-box; }
  li.fancybox-thumbs-loading {
    background: rgba(0, 0, 0, 0.1); }
  .fancybox-thumbs &gt; ul &gt; li &gt; img {
    position: absolute;
    top: 0;
    left: 0;
    min-width: 100%;
    min-height: 100%;
    max-width: none;
    max-height: none;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .fancybox-thumbs &gt; ul &gt; li:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 2px;
    border: 4px solid #4ea7f9;
    z-index: 99991;
    opacity: 0;
    transition: all 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .fancybox-thumbs &gt; ul &gt; li.fancybox-thumbs-active:before {
    opacity: 1; } }

/* ----- 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 {
  font-family: "Poppins", sans-serif;
  color: #3B3535;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 1em;
  zoom: 0.9; }
  body.locked {
    overflow: hidden; }

table {
  margin: 30px 0;
  width: 100%; }
  table th {
    border: 0; }
  table td,
  table th {
    padding: 10px 0; }
  table tr.even,
  table tr.odd {
    background: none;
    border: 0;
    border-bottom: 1px solid #EAE9EC; }
  table tbody {
    border-top: 1px solid #EAE9EC; }
  table th {
    font-size: 0.6875rem;
    color: #666262;
    font-weight: 400; }

fieldset {
  margin: 0; }

section.breadcrumb-container {
  background: #EFEFEF; }
  section.breadcrumb-container .breadcrumb {
    align-items: center;
    display: flex;
    float: unset;
    height: 2.9375rem;
    margin: 0 auto;
    max-width: 75rem;
    position: initial;
    text-transform: capitalize;
    width: 100%; }
    @media screen and (max-width: 1200px) {
      section.breadcrumb-container .breadcrumb {
        padding-left: 1.5rem; } }
    @media screen and (max-width: 680px) {
      section.breadcrumb-container .breadcrumb {
        padding-left: 0.75rem; } }
    section.breadcrumb-container .breadcrumb a {
      font-size: 0.75rem;
      font-weight: 400;
      line-height: 1.5;
      text-decoration-line: underline; }
      @media screen and (max-width: 680px) {
        section.breadcrumb-container .breadcrumb a {
          font-size: 0.5rem; } }
    section.breadcrumb-container .breadcrumb .separator {
      background-image: url("../../images/build/angle-right.svg");
      background-size: 6px;
      background-repeat: no-repeat;
      width: 10px;
      height: 12px;
      margin: 0 8px; }
    section.breadcrumb-container .breadcrumb .active-trail {
      color: #10487a;
      font-weight: 700;
      font-size: 0.75rem;
      line-height: 1.5; }

iframe[title="recaptcha challenge expires in two minutes"] {
  height: 645px !important; }

iframe[title="reCAPTCHA"] {
  width: 422px !important; }

p {
  margin: 0 0 1em; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: bold;
  margin: 0 0 1em; }

a,
.fake-link {
  outline: none;
  color: #3B3535;
  text-decoration: none;
  -webkit-appearance: none; }

.main-with-sidebar a:not([class]),
.main-with-sidebar a[class=""] {
  color: #F2743A; }
  .main-with-sidebar a:not([class]):hover,
  .main-with-sidebar a[class=""]:hover {
    text-decoration: underline; }

.main-with-sidebar p {
  font-size: 0.875rem; }

button.no-style {
  background: none;
  border: 0;
  color: #F2743A; }

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

.main-with-sidebar .text ul {
  font-size: 0.875rem;
  margin: 25px 0;
  list-style-type: none;
  list-style-image: none; }
  .main-with-sidebar .text ul li {
    margin-bottom: 12px;
    padding-left: 20px;
    font-weight: 500;
    position: relative;
    list-style-type: none;
    list-style-image: none;
    background: none; }
    .main-with-sidebar .text ul li:before {
      content: '';
      background: #BBBDBF;
      width: 4px;
      height: 4px;
      border-radius: 50%;
      display: inline-block;
      vertical-align: middle;
      margin-right: 10px;
      position: absolute;
      left: 0;
      top: 10px; }

div.addeventatc {
  box-shadow: none !important; }

header {
  z-index: 20;
  position: fixed;
  top: 0;
  width: 100%;
  background: #FFF; }
  header.fixed .desktop-menu .top {
    padding-bottom: 8px; }
  header.fixed .desktop-menu .logo {
    width: 340px; }
  header.fixed .desktop-menu .bottom ul li {
    padding-top: 12px; }
  header .content-wrapper {
    position: relative;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear;
    box-shadow: 0 0 60px 0 rgba(234, 233, 236, 0.4); }
    header .content-wrapper ul {
      list-style: none;
      padding: 0;
      margin: 0; }
    @media screen and (max-width: 768px) {
      header .content-wrapper {
        padding: 13px 20px; } }
  header .mobile-menu .top::after {
    clear: both;
    content: "";
    display: table; }
  header .mobile-menu .menu-toggle div {
    position: relative;
    margin: 6px 0;
    height: 1.5px;
    width: 100%;
    -webkit-transition: all 444ms ease-out;
    -moz-transition: all 444ms ease-out;
    transition: all 444ms ease-out;
    background: #545151;
    border-radius: 3px; }
    header .mobile-menu .menu-toggle div:before, header .mobile-menu .menu-toggle div:after {
      content: '';
      border-radius: 3px;
      height: 1.5px;
      width: 100%;
      background: #545151;
      -webkit-transition: all 444ms ease-out;
      -moz-transition: all 444ms ease-out;
      transition: all 444ms ease-out; }
    header .mobile-menu .menu-toggle div:before {
      position: absolute;
      top: -6px;
      left: 0; }
    header .mobile-menu .menu-toggle div:after {
      position: absolute;
      bottom: -6px;
      left: 0; }
  header .mobile-menu .aside {
    z-index: 10;
    position: fixed;
    top: 0;
    right: -500px;
    -webkit-transition: all 444ms ease-out;
    -moz-transition: all 444ms ease-out;
    transition: all 444ms ease-out;
    height: 100%;
    width: 262px;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.5);
    min-height: 100vh;
    overflow: scroll;
    background: #FFF;
    padding-bottom: 35px; }
  header .mobile-menu .menu-search {
    height: auto;
    width: 100%;
    padding: 12px 20px 9px 40px;
    background: #F3F3F4; }
    header .mobile-menu .menu-search input {
      display: inline-block;
      vertical-align: middle;
      outline: none;
      -webkit-appearance: inherit; }
    header .mobile-menu .menu-search input[type="search"] {
      background: transparent;
      border: 0;
      box-shadow: none;
      font-size: 0.6875em;
      letter-spacing: 2.8px;
      line-height: 1;
      padding: 8px 6px;
      color: #666262;
      width: calc(100% - 50px);
      margin-right: 10px; }
      header .mobile-menu .menu-search input[type="search"]::-webkit-input-placeholder {
        text-transform: uppercase; }
      header .mobile-menu .menu-search input[type="search"]::-moz-placeholder {
        text-transform: uppercase; }
      header .mobile-menu .menu-search input[type="search"]:-moz-placeholder {
        text-transform: uppercase; }
      header .mobile-menu .menu-search input[type="search"]:-ms-input-placeholder {
        text-transform: uppercase; }
    header .mobile-menu .menu-search input[type="submit"] {
      font-size: 0;
      border: 0;
      height: 15px;
      width: 15px;
      cursor: pointer;
      background: url("../../html_prototype/images/search.svg") no-repeat center;
      background-size: 100% auto; }
  header .mobile-menu .main-menu {
    padding: 30px 8px 29.5px 34px;
    background: #FFF;
    margin-bottom: 46.5px; }
    header .mobile-menu .main-menu li:not(.extra) {
      position: relative;
      cursor: pointer;
      line-height: 0.9;
      margin-bottom: 25px;
      padding: 2px 0 1px 11px;
      -webkit-transition: all 333ms ease-out;
      -moz-transition: all 333ms ease-out;
      transition: all 333ms ease-out; }
      header .mobile-menu .main-menu li:not(.extra):before {
        content: '';
        opacity: 0;
        background: #F2743A;
        height: 100%;
        width: 2px;
        position: absolute;
        top: 0;
        left: 0;
        -webkit-transition: opacity 333ms ease-out;
        -moz-transition: opacity 333ms ease-out;
        transition: opacity 333ms ease-out; }
      header .mobile-menu .main-menu li:not(.extra) a {
        font-size: 0.84375rem;
        color: #545151;
        font-weight: 500; }
      header .mobile-menu .main-menu li:not(.extra):hover:before, header .mobile-menu .main-menu li:not(.extra).active-trail:before {
        opacity: 1; }
      header .mobile-menu .main-menu li:not(.extra):hover a, header .mobile-menu .main-menu li:not(.extra).active-trail a {
        font-weight: 600;
        color: #545151; }
      header .mobile-menu .main-menu li:not(.extra):last-of-type {
        margin-bottom: 0; }
  header .mobile-menu .extra-menu {
    font-size: 0.6875em;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 2.8px;
    padding: 13.5px 8px 13.5px 34px; }
    header .mobile-menu .extra-menu.have-sub-menu .extra-menu-text {
      display: inline-block;
      padding-right: 12px;
      background: url("../../images/build/sub-menu-arrow.svg") no-repeat right 6px;
      background-size: 6.5px auto; }
    header .mobile-menu .extra-menu:hover:not(.sub-menu) {
      color: #FC682D; }
    header .mobile-menu .extra-menu.e-login {
      background: url("../../html_prototype/images/profile.svg") no-repeat 34px 17px;
      background-size: 11px auto; }
    header .mobile-menu .extra-menu.e-lang {
      background: url("../../html_prototype/images/language.svg") no-repeat 34px 17px;
      background-size: 12px auto; }
    header .mobile-menu .extra-menu.e-access {
      background: url("../../html_prototype/images/accessibility.svg") no-repeat 34px 17px;
      background-size: 9px auto; }
      header .mobile-menu .extra-menu.e-access .sub-menu li {
        display: inline-block;
        margin-right: 30px;
        color: #545151;
        -webkit-transition: all 333ms linear;
        -moz-transition: all 333ms linear;
        transition: all 333ms linear; }
        header .mobile-menu .extra-menu.e-access .sub-menu li:hover {
          color: #FC682D; }
      header .mobile-menu .extra-menu.e-access .sub-menu #default {
        font-size: 14px; }
      header .mobile-menu .extra-menu.e-access .sub-menu #bigger {
        font-size: 16px; }
    header .mobile-menu .extra-menu.have-sub-menu {
      cursor: pointer; }
    header .mobile-menu .extra-menu li {
      padding-left: 30px; }
    header .mobile-menu .extra-menu .sub-menu {
      display: none;
      padding: 20px 0 0; }
      header .mobile-menu .extra-menu .sub-menu li {
        padding-left: 0;
        margin-bottom: 13px;
        font-size: 0.75rem;
        line-height: 2;
        letter-spacing: 0;
        text-transform: capitalize; }
        header .mobile-menu .extra-menu .sub-menu li a {
          color: #545151; }
        header .mobile-menu .extra-menu .sub-menu li.active {
          font-weight: 500; }
        header .mobile-menu .extra-menu .sub-menu li:last-of-type {
          margin-bottom: 0; }
  header .mobile-menu.toggled .menu-toggle {
    right: 260px; }
    header .mobile-menu.toggled .menu-toggle div {
      background: transparent; }
      header .mobile-menu.toggled .menu-toggle div:before {
        -webkit-transform: rotate(45deg) translateX(4px) translateY(4px);
        -moz-transform: rotate(45deg) translateX(4px) translateY(4px);
        -ms-transform: rotate(45deg) translateX(4px) translateY(4px);
        -o-transform: rotate(45deg) translateX(4px) translateY(4px);
        transform: rotate(45deg) translateX(4px) translateY(4px); }
      header .mobile-menu.toggled .menu-toggle div:after {
        -webkit-transform: rotate(-45deg) translateX(4px) translateY(-5px);
        -moz-transform: rotate(-45deg) translateX(4px) translateY(-5px);
        -ms-transform: rotate(-45deg) translateX(4px) translateY(-5px);
        -o-transform: rotate(-45deg) translateX(4px) translateY(-5px);
        transform: rotate(-45deg) translateX(4px) translateY(-5px); }
  header .mobile-menu.toggled .aside {
    right: 0; }
  header .desktop-menu {
    display: block;
    max-width: 1200px;
    padding: 0 20px;
    margin: 0 auto;
    clear: both; }
    header .desktop-menu::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 768px) {
      header .desktop-menu {
        display: none; } }
    header .desktop-menu .top {
      padding-bottom: 16px;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
      header .desktop-menu .top::after {
        clear: both;
        content: "";
        display: table; }
    header .desktop-menu .logo {
      float: left;
      width: 406px;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
      header .desktop-menu .logo img {
        width: 100%;
        display: block; }
    header .desktop-menu .extra {
      float: right; }
      header .desktop-menu .extra li {
        position: relative;
        display: inline-block;
        vertical-align: middle;
        margin: 0 0 0 31px;
        padding: 1px 0 0 18px;
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 2.8px;
        cursor: pointer;
        -webkit-transition: all 113ms linear;
        -moz-transition: all 113ms linear;
        transition: all 113ms linear; }
        header .desktop-menu .extra li a {
          font-size: 0.75rem;
          -webkit-transition: all 113ms linear;
          -moz-transition: all 113ms linear;
          transition: all 113ms linear; }
        header .desktop-menu .extra li.profile {
          background: url("../../images/build/profile.svg") no-repeat left 3px;
          background-size: auto 68%; }
        header .desktop-menu .extra li.language {
          background: url("../../images/build/language.svg") no-repeat left 3px;
          background-size: auto 68%; }
        header .desktop-menu .extra li.search {
          background: url("../../images/build/search.svg") no-repeat left 3px;
          background-size: auto 68%; }
        header .desktop-menu .extra li:hover {
          color: #FC682D; }
          header .desktop-menu .extra li:hover a {
            color: #FC682D; }
          header .desktop-menu .extra li:hover.profile {
            background: url("../../images/build/profile-active.svg") no-repeat left 3px;
            background-size: auto 68%; }
            header .desktop-menu .extra li:hover.profile .sub-menu {
              opacity: 1;
              visibility: visible; }
          header .desktop-menu .extra li:hover.language {
            background: url("../../images/build/language-active.svg") no-repeat left 3px;
            background-size: auto 68%;
            z-index: 15; }
            header .desktop-menu .extra li:hover.language .sub-menu {
              opacity: 1;
              visibility: visible; }
          header .desktop-menu .extra li:hover.search {
            background: url("../../images/build/search-active-2.png") no-repeat left 3px;
            background-size: auto 68%; }
      header .desktop-menu .extra .sub-menu {
        opacity: 0;
        visibility: hidden;
        min-width: 118px;
        position: absolute;
        top: 35px;
        left: 0;
        -webkit-transition: all 333ms linear;
        -moz-transition: all 333ms linear;
        transition: all 333ms linear;
        background: #FBF9F8;
        border: 1px solid #EAE9EC;
        border-radius: 3px;
        z-index: 10;
        padding: 1px; }
        header .desktop-menu .extra .sub-menu:after {
          content: '';
          background: url("../../images/build/lang-arrow.svg") no-repeat center;
          background-size: 20px auto;
          height: 13px;
          width: 20px;
          position: absolute;
          top: -12.5px;
          right: 0;
          left: 0;
          margin: auto; }
        header .desktop-menu .extra .sub-menu li {
          width: 100%;
          text-align: center;
          margin: 0;
          color: #474545;
          text-transform: capitalize;
          letter-spacing: 0;
          padding: 9px 0;
          -webkit-transition: all 333ms linear;
          -moz-transition: all 333ms linear;
          transition: all 333ms linear; }
          header .desktop-menu .extra .sub-menu li a {
            font-size: 0.75rem;
            color: #545151;
            -webkit-transition: all 333ms linear;
            -moz-transition: all 333ms linear;
            transition: all 333ms linear; }
          header .desktop-menu .extra .sub-menu li:last-of-type {
            margin-bottom: 0; }
          header .desktop-menu .extra .sub-menu li.current-lang {
            font-weight: bold; }
          header .desktop-menu .extra .sub-menu li:hover {
            background: #F2743A; }
            header .desktop-menu .extra .sub-menu li:hover a {
              color: #FFF;
              -webkit-transition: all 333ms linear;
              -moz-transition: all 333ms linear;
              transition: all 333ms linear; }
    header .desktop-menu .bottom ul {
      position: relative;
      height: 2.8125rem;
      text-align: justify;
      width: 100%;
      list-style: none;
      margin: 0;
      padding: 0;
      overflow: hidden; }
      header .desktop-menu .bottom ul:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        height: 2px;
        width: 100%;
        background: #EAE9EC; }
      header .desktop-menu .bottom ul:after {
        content: '';
        display: inline-block;
        width: 100%;
        height: 0; }
      header .desktop-menu .bottom ul li {
        display: inline-block;
        position: relative;
        padding-top: 18px;
        overflow: hidden;
        -webkit-transition: all 333ms linear;
        -moz-transition: all 333ms linear;
        transition: all 333ms linear; }
        header .desktop-menu .bottom ul li:hover a:after, header .desktop-menu .bottom ul li.active-trail a:after {
          left: 0; }
      header .desktop-menu .bottom ul a {
        font-size: 0.875rem;
        color: #3B3535; }
        header .desktop-menu .bottom ul a:after {
          content: '';
          height: 2px;
          width: 20px;
          background: #F2743A;
          position: absolute;
          top: 0;
          left: -20px;
          -webkit-transition: all 111ms linear;
          -moz-transition: all 111ms linear;
          transition: all 111ms linear; }
        @media screen and (max-width: 1200px) {
          header .desktop-menu .bottom ul a {
            font-size: 0.8125rem; } }
  header .accessibility {
    height: 31px;
    display: block;
    position: relative;
    position: absolute;
    right: 0;
    bottom: -31px;
    left: 0;
    margin: auto;
    padding: 0; }
    .locked header .accessibility {
      opacity: 0;
      pointer-events: none; }
    header .accessibility.cart-visible {
      background: #FBF9F8; }
    header .accessibility .accessibility-inner {
      max-width: 1200px;
      padding: 0 20px;
      margin: 0 auto;
      clear: both; }
      header .accessibility .accessibility-inner::after {
        clear: both;
        content: "";
        display: table; }
    header .accessibility.have-cart-quantity:before {
      content: '';
      z-index: -1;
      height: 31px;
      width: 9999px;
      position: absolute;
      top: 0;
      left: -50%;
      background: rgba(255, 255, 255, 0.88); }
    header .accessibility.have-cart-quantity .accessibility-menu {
      background: none; }
    header .accessibility .accessibility-menu {
      z-index: 10;
      float: right;
      position: relative;
      background: rgba(255, 255, 255, 0.88);
      padding: 3px 12px;
      display: flex;
      gap: 0 10px;
      align-items: center;
      border-radius: 0 0 5px 5px; }
      header .accessibility .accessibility-menu li {
        display: inline-flex;
        align-items: center;
        text-align: center; }
        header .accessibility .accessibility-menu li:last-of-type {
          margin-right: 0; }
        header .accessibility .accessibility-menu li:hover a {
          color: #FC682D; }
      header .accessibility .accessibility-menu a {
        color: #999;
        line-height: 1;
        cursor: pointer;
        -webkit-transition: all 333ms linear;
        -moz-transition: all 333ms linear;
        transition: all 333ms linear; }
        header .accessibility .accessibility-menu a#fontSmall {
          font-size: 13px;
          font-weight: 600; }
        header .accessibility .accessibility-menu a#fontDefault {
          font-size: 18px;
          font-weight: 600; }
        header .accessibility .accessibility-menu a#fontLarge {
          font-size: 23px;
          font-weight: 600; }
        header .accessibility .accessibility-menu a.current-access {
          color: #FC682D; }

.campaign-header {
  position: relative;
  overflow: hidden;
  z-index: 1; }
  .campaign-header:before {
    content: '';
    border-radius: 50%;
    z-index: -1;
    height: 80vw;
    width: 80vw;
    background: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transform: translateX(-25%) translateY(-33%);
    -moz-transform: translateX(-25%) translateY(-33%);
    -ms-transform: translateX(-25%) translateY(-33%);
    -o-transform: translateX(-25%) translateY(-33%);
    transform: translateX(-25%) translateY(-33%); }
  .campaign-header .background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -2;
    overflow: hidden; }
    .campaign-header .background::after {
      clear: both;
      content: "";
      display: table; }
    .campaign-header .background .flipped,
    .campaign-header .background .unflipped {
      float: left;
      z-index: -3;
      overflow: hidden;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat; }
    .campaign-header .background .unflipped {
      height: 100%;
      width: 40%; }
    .campaign-header .background .flipped {
      margin: -60px;
      -webkit-transform: scaleX(-1);
      -moz-transform: scaleX(-1);
      -ms-transform: scaleX(-1);
      -o-transform: scaleX(-1);
      transform: scaleX(-1);
      -webkit-filter: blur(42px);
      filter: blur(42px);
      height: calc(100% + 120px);
      width: calc(60% + 120px); }
    @media screen and (max-width: 680px) {
      .campaign-header .background .flipped {
        display: none; }
      .campaign-header .background .unflipped {
        width: 100%; } }
  .campaign-header .wrapper {
    padding: 20px 0 154px;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .campaign-header .wrapper::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .campaign-header .wrapper {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .campaign-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .campaign-header .wrapper {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .campaign-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .campaign-header .wrapper {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .campaign-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .campaign-header .wrapper {
        padding: 20px 20px;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .campaign-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
  .campaign-header .content {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    .campaign-header .content:last-child {
      margin-right: 0; }
  .campaign-header h1 {
    font-size: 3.0625em;
    line-height: 1.06;
    letter-spacing: -1.46px;
    margin: 70px 0 20px;
    text-transform: capitalize; }
  .campaign-header .category {
    color: #999;
    font-size: 0.9375em;
    line-height: 1.67;
    letter-spacing: -0.35px;
    font-weight: 600;
    text-transform: capitalize; }
  .campaign-header .logo {
    height: 160px;
    width: 160px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 55%;
    background: #FFF;
    border-radius: 50%;
    margin: auto; }
    .campaign-header .logo img {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      max-width: 95%; }
  @media screen and (max-width: 768px) {
    .campaign-header:before {
      height: 85vw;
      width: 85vw;
      min-width: 800px;
      min-height: 800px; } }
  @media screen and (max-width: 680px) {
    .campaign-header:before {
      height: 836px;
      width: 836px;
      -webkit-transform: translateX(-30%) translateY(5%);
      -moz-transform: translateX(-30%) translateY(5%);
      -ms-transform: translateX(-30%) translateY(5%);
      -o-transform: translateX(-30%) translateY(5%);
      transform: translateX(-30%) translateY(5%); }
    .campaign-header .content {
      width: 100%; }
    .campaign-header .breadcrumbs {
      display: none; }
    .campaign-header h1 {
      font-size: 1.625em;
      line-height: 1.15;
      letter-spacing: -0.87px;
      margin: 104px 0 15px; }
    .campaign-header .category {
      font-size: 0.8125em; }
    .campaign-header .logo {
      height: 91px;
      width: 91px;
      position: absolute;
      top: 20px;
      right: 20px;
      bottom: inherit;
      left: inherit; }
      .campaign-header .logo img {
        max-width: 70%; } }

.homepage-header {
  position: relative;
  margin-bottom: 89px; }
  .homepage-header.animation .left .heading,
  .homepage-header.animation .left .sub-heading {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  .homepage-header.animation .right:after {
    opacity: 1;
    -webkit-transform: scale(55);
    -moz-transform: scale(55);
    -ms-transform: scale(55);
    -o-transform: scale(55);
    transform: scale(55); }
    @media screen and (max-width: 1200px) {
      .homepage-header.animation .right:after {
        -webkit-transform: scale(50);
        -moz-transform: scale(50);
        -ms-transform: scale(50);
        -o-transform: scale(50);
        transform: scale(50); } }
    @media screen and (max-width: 680px) {
      .homepage-header.animation .right:after {
        -webkit-transform: scale(2);
        -moz-transform: scale(2);
        -ms-transform: scale(2);
        -o-transform: scale(2);
        transform: scale(2); } }
  .homepage-header.animation .right .container {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  .homepage-header.animation .btn-arrow {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
    .homepage-header.animation .btn-arrow .arrow {
      animation-name: header-arrow-animation;
      animation-duration: 2s;
      animation-delay: 1.5s;
      animation-fill-mode: forwards;
      animation-iteration-count: infinite;
      animation-timing-function: ease-out; }
    .homepage-header.animation .btn-arrow .background {
      animation-name: header-arrow-bg-animation;
      animation-duration: 2s;
      animation-delay: 1.5s;
      animation-fill-mode: forwards;
      animation-iteration-count: infinite;
      animation-timing-function: ease-out; }
  .homepage-header .bg-wrapper {
    overflow: hidden;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%; }
    .homepage-header .bg-wrapper .background {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      height: 100%;
      width: 100%;
      filter: blur(6px);
      z-index: -1;
      background-size: cover;
      background-position: center; }
      .homepage-header .bg-wrapper .background:before {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background: rgba(255, 255, 255, 0.8); }
  .homepage-header .wrapper {
    overflow: hidden;
    padding: 146px 0 101px; }
    @media screen and (max-width: 1200px) {
      .homepage-header .wrapper {
        padding: 104px 0 80px; } }
    @media screen and (max-width: 768px) {
      .homepage-header .wrapper {
        padding: 69px 0 92px; } }
    @media screen and (max-width: 680px) {
      .homepage-header .wrapper {
        padding: 15% 0 0; } }
  .homepage-header .content {
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto; }
    .homepage-header .content::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .homepage-header .content {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .homepage-header .content::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .homepage-header .content {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .homepage-header .content::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .homepage-header .content {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .homepage-header .content::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .homepage-header .content {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .homepage-header .content::after {
          clear: both;
          content: "";
          display: table; } }
  .homepage-header .left {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 57.44681%;
    padding-top: 18px; }
    .homepage-header .left:last-child {
      margin-right: 0; }
    .homepage-header .left .heading {
      font-size: 3.875em;
      line-height: 1.08;
      letter-spacing: -1.66px;
      margin-bottom: 16px;
      opacity: 0;
      -webkit-transform: translateY(15%);
      -moz-transform: translateY(15%);
      -ms-transform: translateY(15%);
      -o-transform: translateY(15%);
      transform: translateY(15%);
      -webkit-transition: all 555ms ease-out 111ms;
      -moz-transition: all 555ms ease-out 111ms;
      transition: all 555ms ease-out 111ms; }
    .homepage-header .left .sub-heading {
      font-size: 1.375em;
      line-height: 1.36;
      letter-spacing: -0.23px;
      color: #474545;
      font-weight: normal;
      opacity: 0;
      -webkit-transform: translateY(15%);
      -moz-transform: translateY(15%);
      -ms-transform: translateY(15%);
      -o-transform: translateY(15%);
      transform: translateY(15%);
      -webkit-transition: all 555ms ease-out 555ms;
      -moz-transition: all 555ms ease-out 555ms;
      transition: all 555ms ease-out 555ms; }
    @media screen and (max-width: 1440px) {
      .homepage-header .left .heading {
        font-size: 3.4375em;
        margin-bottom: 12px; }
      .homepage-header .left .sub-heading {
        font-size: 1.25em; } }
    @media screen and (max-width: 1200px) {
      .homepage-header .left {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 65.95745%; }
        .homepage-header .left:last-child {
          margin-right: 0; }
        .homepage-header .left .heading {
          font-size: 2.9375em;
          line-height: 1.19;
          letter-spacing: -1.26px;
          margin-bottom: 12px; }
        .homepage-header .left .sub-heading {
          font-size: 1.0625em;
          line-height: 1.47;
          letter-spacing: -0.18px; } }
    @media screen and (max-width: 768px) {
      .homepage-header .left {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 61.70213%; }
        .homepage-header .left:last-child {
          margin-right: 0; }
        .homepage-header .left .heading {
          font-size: 2.8125em;
          line-height: 1.06;
          letter-spacing: -1.21px;
          margin-bottom: 13px; }
        .homepage-header .left .sub-heading {
          font-size: 1em;
          line-height: 1.56;
          letter-spacing: -0.17px; } }
    @media screen and (max-width: 680px) {
      .homepage-header .left {
        width: 100%;
        margin: 0;
        padding: 0 20px 15%; }
        .homepage-header .left .heading {
          font-size: 1.8125em;
          line-height: 1.03;
          letter-spacing: -0.97px;
          margin-bottom: 12px; }
        .homepage-header .left .sub-heading {
          font-size: 0.75em;
          line-height: 1.125;
          font-weight: 500; } }
  .homepage-header .right {
    position: relative;
    margin-left: 17.02128%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 23.40426%; }
    .homepage-header .right:last-child {
      margin-right: 0; }
    .homepage-header .right:after {
      content: '';
      border-radius: 50%;
      background: rgba(255, 255, 255, 0.63);
      margin: auto;
      opacity: 0;
      z-index: -1;
      height: 20px;
      width: 20px;
      position: absolute;
      top: 0;
      right: -45%;
      bottom: 0;
      -webkit-transition: all 666ms ease-out 777ms;
      -moz-transition: all 666ms ease-out 777ms;
      transition: all 666ms ease-out 777ms; }
      @media screen and (max-width: 1200px) {
        .homepage-header .right:after {
          right: -55%; } }
      @media screen and (max-width: 680px) {
        .homepage-header .right:after {
          opacity: 1;
          height: 414px;
          width: 414px;
          -webkit-transform: scale(2);
          -moz-transform: scale(2);
          -ms-transform: scale(2);
          -o-transform: scale(2);
          transform: scale(2);
          position: absolute;
          top: inherit;
          right: 0;
          bottom: -414px;
          left: 250px; } }
    .homepage-header .right .container {
      opacity: 0;
      -webkit-transform: translateY(20%);
      -moz-transform: translateY(20%);
      -ms-transform: translateY(20%);
      -o-transform: translateY(20%);
      transform: translateY(20%);
      -webkit-transition: all 555ms ease-out 1221ms;
      -moz-transition: all 555ms ease-out 1221ms;
      transition: all 555ms ease-out 1221ms; }
    .homepage-header .right .nav-title {
      font-size: 0.6875em;
      text-transform: uppercase;
      letter-spacing: 2.8px;
      line-height: 1.1;
      margin-bottom: 18px;
      font-weight: normal; }
    @media screen and (max-width: 1200px) {
      .homepage-header .right {
        margin-left: 8.51064%;
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 23.40426%; }
        .homepage-header .right:last-child {
          margin-right: 0; }
        .homepage-header .right .nav-title {
          margin-bottom: 21px; } }
    @media screen and (max-width: 768px) {
      .homepage-header .right {
        margin-left: 4.25532%;
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 31.91489%; }
        .homepage-header .right:last-child {
          margin-right: 0; }
        .homepage-header .right .nav-title {
          margin-bottom: 20px; } }
    @media screen and (max-width: 680px) {
      .homepage-header .right {
        width: 100%;
        margin: 0;
        padding: 13px 20px 8px;
        background: #FBF9F8; }
        .homepage-header .right .nav-title {
          display: none; } }
  .homepage-header .header-nav .header-current-option {
    position: relative;
    font-size: 0.75em;
    font-weight: 600;
    color: #474545;
    letter-spacing: -0.35px;
    text-transform: capitalize;
    display: none; }
    .homepage-header .header-nav .header-current-option:before {
      content: '';
      position: absolute;
      bottom: -10px;
      left: 0;
      height: 2px;
      width: 14px;
      background: #FC682D; }
  .homepage-header .header-nav ul {
    padding: 0;
    margin: 0;
    list-style: none; }
  .homepage-header .header-nav .nav-item {
    cursor: pointer;
    position: relative;
    margin-bottom: 29px;
    padding-left: 9px; }
    .homepage-header .header-nav .nav-item:before {
      content: '';
      border-radius: 30px;
      height: 100%;
      width: 2px;
      position: absolute;
      top: 0;
      left: 0;
      background: #FC682D; }
    .homepage-header .header-nav .nav-item h3 {
      font-size: 1.0625em;
      font-weight: 600;
      line-height: 1.23;
      margin-bottom: 0;
      letter-spacing: -0.47px;
      color: #474545; }
    .homepage-header .header-nav .nav-item h4 {
      font-size: 1em;
      font-weight: 500;
      line-height: 1.31;
      margin-bottom: 0;
      letter-spacing: -0.47px;
      color: #474545; }
    .homepage-header .header-nav .nav-item:last-of-type {
      margin-bottom: 0; }
  @media screen and (max-width: 1200px) {
    .homepage-header .header-nav .nav-item {
      margin-bottom: 21px; }
      .homepage-header .header-nav .nav-item h3 {
        font-size: 1em;
        line-height: 1.31;
        letter-spacing: -0.47px; }
      .homepage-header .header-nav .nav-item h4 {
        font-size: 0.9375em;
        line-height: 1.4; } }
  @media screen and (max-width: 768px) {
    .homepage-header .header-nav .nav-item {
      margin-bottom: 26px; }
      .homepage-header .header-nav .nav-item h3 {
        font-size: 0.9375em;
        line-height: 1.2; }
      .homepage-header .header-nav .nav-item h4 {
        font-size: 0.875em;
        line-height: 1.29; } }
  @media screen and (max-width: 680px) {
    .homepage-header .header-nav ul {
      display: none;
      padding: 25px 0; }
    .homepage-header .header-nav .nav-item {
      margin-bottom: 12px; }
      .homepage-header .header-nav .nav-item:before {
        height: 15px;
        top: 6px; }
      .homepage-header .header-nav .nav-item h3,
      .homepage-header .header-nav .nav-item h4 {
        display: inline-block;
        font-size: 0.75em;
        font-weight: 600;
        letter-spacing: -0.35px;
        line-height: 1.25; }
    .homepage-header .header-nav .btn-more,
    .homepage-header .header-nav .header-current-option {
      display: inline-block; } }
  .homepage-header .btn-arrow {
    opacity: 0;
    margin: auto;
    height: 51.7px;
    width: 51.7px;
    position: absolute;
    right: 0;
    bottom: -25.85px;
    left: 0;
    -webkit-transform: translateY(40%);
    -moz-transform: translateY(40%);
    -ms-transform: translateY(40%);
    -o-transform: translateY(40%);
    transform: translateY(40%);
    -webkit-transition: all 444ms ease-out 1.5s;
    -moz-transition: all 444ms ease-out 1.5s;
    transition: all 444ms ease-out 1.5s; }
    .homepage-header .btn-arrow .arrow {
      height: 47px;
      width: 47px;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      background: url("../../html_prototype/images/arrow-header.svg") no-repeat center #FC682D;
      background-size: 18px auto;
      border-radius: 47px;
      cursor: pointer; }
    .homepage-header .btn-arrow .background {
      height: 10px;
      width: 10px;
      border-radius: 10px;
      background: rgba(252, 104, 45, 0.5);
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translateX(-50%) translateY(-50%);
      -moz-transform: translateX(-50%) translateY(-50%);
      -ms-transform: translateX(-50%) translateY(-50%);
      -o-transform: translateX(-50%) translateY(-50%);
      transform: translateX(-50%) translateY(-50%);
      margin: auto;
      z-index: -1; }
    @media screen and (max-width: 680px) {
      .homepage-header .btn-arrow {
        height: 50px;
        width: 50px;
        bottom: -70px; }
        .homepage-header .btn-arrow .arrow {
          height: 39px;
          width: 39px;
          border-radius: 39px;
          background-size: 15px auto; }
        .homepage-header .btn-arrow .background {
          height: 8px;
          width: 8px;
          border-radius: 8px; } }

@keyframes header-arrow-animation {
  50%,
  100% {
    -webkit-transform: scale(1.15);
    -moz-transform: scale(1.15);
    -ms-transform: scale(1.15);
    -o-transform: scale(1.15);
    transform: scale(1.15); } }

@keyframes header-arrow-bg-animation {
  0%,
  100% {
    opacity: 0; }
  50% {
    opacity: 0.5; }
  100% {
    -webkit-transform: translateX(-50%) translateY(-50%) scale(10);
    -moz-transform: translateX(-50%) translateY(-50%) scale(10);
    -ms-transform: translateX(-50%) translateY(-50%) scale(10);
    -o-transform: translateX(-50%) translateY(-50%) scale(10);
    transform: translateX(-50%) translateY(-50%) scale(10); } }

.focus-area-header {
  min-height: 400px;
  position: relative;
  padding: 12px 0 41px;
  overflow: hidden;
  z-index: 1; }
  .focus-area-header:before, .focus-area-header:after {
    content: '';
    border-radius: 50%;
    z-index: -1; }
  .focus-area-header:before {
    height: 1176px;
    width: 1176px;
    background: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 75%;
    left: -175px;
    -webkit-transform: translateY(-75%);
    -moz-transform: translateY(-75%);
    -ms-transform: translateY(-75%);
    -o-transform: translateY(-75%);
    transform: translateY(-75%); }
    @media screen and (max-width: 1200px) {
      .focus-area-header:before {
        height: 900px;
        width: 900px; } }
    @media screen and (max-width: 768px) {
      .focus-area-header:before {
        height: 850px;
        width: 850px; } }
    @media screen and (max-width: 680px) {
      .focus-area-header:before {
        height: 650px;
        width: 650px;
        top: 50%;
        left: inherit;
        right: 20%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        background: rgba(255, 255, 255, 0.7); } }
  .focus-area-header:after {
    height: 85px;
    width: 85px;
    background: rgba(242, 116, 58, 0.7);
    position: absolute;
    right: -42.5px;
    bottom: 77.5px; }
    @media screen and (max-width: 680px) {
      .focus-area-header:after {
        height: 37px;
        width: 37px;
        bottom: inherit;
        top: 50%;
        right: -18.5px; } }
  .focus-area-header .background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -2; }
    .focus-area-header .background::after {
      clear: both;
      content: "";
      display: table; }
    .focus-area-header .background:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      height: 100%;
      width: 100%;
      background: rgba(255, 255, 255, 0.5); }
    .focus-area-header .background .flipped,
    .focus-area-header .background .unflipped {
      float: left;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      z-index: -3; }
    .focus-area-header .background .unflipped {
      height: 100%;
      width: 50%; }
    .focus-area-header .background .flipped {
      -webkit-transform: scaleX(-1);
      -moz-transform: scaleX(-1);
      -ms-transform: scaleX(-1);
      -o-transform: scaleX(-1);
      transform: scaleX(-1);
      -webkit-filter: blur(11px);
      filter: blur(11px);
      overflow: hidden;
      margin: -12px;
      height: calc(100% + 24px);
      width: calc(50% + 24px); }
    @media screen and (max-width: 680px) {
      .focus-area-header .background .flipped {
        display: none; }
      .focus-area-header .background .unflipped {
        width: 100%; } }
  .focus-area-header .container {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .focus-area-header .container::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .focus-area-header .container {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .focus-area-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .focus-area-header .container {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .focus-area-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .focus-area-header .container {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .focus-area-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .focus-area-header .container {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        height: 100%;
        width: 100%; }
        .focus-area-header .container::after {
          clear: both;
          content: "";
          display: table; } }
  .focus-area-header .content {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 57.44681%;
    margin-top: 60px; }
    .focus-area-header .content:last-child {
      margin-right: 0; }
    @media screen and (max-width: 1200px) {
      .focus-area-header .content {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 61.70213%; }
        .focus-area-header .content:last-child {
          margin-right: 0; } }
    @media screen and (max-width: 768px) {
      .focus-area-header .content {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 74.46809%; }
        .focus-area-header .content:last-child {
          margin-right: 0; } }
  .focus-area-header h1 {
    font-size: 3.0625em;
    line-height: 1.2;
    letter-spacing: -1.46px;
    margin: 0 0 15px;
    max-width: 500px; }
  .focus-area-header p {
    font-size: 0.875em;
    font-weight: 500;
    letter-spacing: -0.41px;
    line-height: 1.42;
    max-width: 390px;
    margin-bottom: 0; }
    .focus-area-header p a {
      color: #F2743A; }
  @media screen and (max-width: 768px) {
    .focus-area-header {
      min-height: 300px; }
      .focus-area-header h1 {
        font-size: 2.1875em; } }
  @media screen and (max-width: 680px) {
    .focus-area-header {
      padding: 20px;
      min-height: inherit; }
      .focus-area-header .btn-back {
        position: absolute; }
      .focus-area-header .breadcrumbs {
        display: none; }
      .focus-area-header .content {
        float: none;
        width: 70%;
        min-width: 185px;
        margin: 0;
        padding: 60px 0; }
      .focus-area-header h1 {
        font-size: 1.5em;
        line-height: 1.25;
        letter-spacing: -0.8px;
        margin-bottom: 5px; }
      .focus-area-header p {
        display: none; } }

.about-us-header {
  min-height: 520px;
  position: relative;
  padding: 233px 0 0;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 1;
  overflow: hidden; }
  .about-us-header:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(255, 255, 255, 0.2);
    z-index: -1; }
  .about-us-header .wrapper {
    position: relative;
    background: url("../../images/build/header-overlay.svg") no-repeat center top;
    background-size: cover; }
    @media screen and (max-width: 768px) {
      .about-us-header .wrapper {
        background: url("../../images/build/header-overlay-tablet.png") no-repeat center top;
        background-size: cover; } }
    @media screen and (min-width: 769px) {
      .about-us-header .wrapper {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0; } }
    .about-us-header .wrapper:after {
      content: '';
      position: absolute;
      top: 0;
      left: 15%;
      height: 50px;
      width: 50px;
      background: rgba(251, 118, 63, 0.89);
      border-radius: 50%; }
      @media screen and (max-width: 1200px) {
        .about-us-header .wrapper:after {
          top: -10px; } }
      @media screen and (max-width: 680px) {
        .about-us-header .wrapper:after {
          height: 32.5px;
          width: 32.5px;
          top: 0; } }
  .about-us-header .container {
    padding: 85px 0 40px;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .about-us-header .container::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .about-us-header .container {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .about-us-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .about-us-header .container {
        padding: 92.5px 0 40px;
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .about-us-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .about-us-header .container {
        padding: 90px 0 54px;
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .about-us-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .about-us-header .container {
        padding: 65.5px 20px 38px;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .about-us-header .container::after {
          clear: both;
          content: "";
          display: table; } }
  .about-us-header h1 {
    font-size: 2.9375em;
    line-height: 1.125;
    letter-spacing: -1.96px;
    margin: 0;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 31.91489%;
    text-transform: capitalize; }
    .about-us-header h1:last-child {
      margin-right: 0; }
  .about-us-header p {
    font-size: 0.9375em;
    line-height: 1.6;
    margin-left: 8.51064%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 57.44681%;
    color: #545151;
    margin-right: 0;
    margin-bottom: 0; }
    .about-us-header p:last-child {
      margin-right: 0; }
    .about-us-header p strong {
      font-weight: normal; }
  .about-us-header .header-nav {
    width: 100%;
    display: inline-block;
    margin-top: 45px; }
    .about-us-header .header-nav ul {
      margin: 0;
      padding: 0;
      list-style: none; }
    .about-us-header .header-nav li {
      position: relative;
      font-size: 0.9375em;
      line-height: 1.4;
      letter-spacing: -0.4px;
      font-weight: 500;
      color: #545151;
      text-transform: capitalize;
      margin-right: 6.5%;
      padding-left: 9px;
      display: inline-block; }
      .about-us-header .header-nav li:last-of-type {
        margin-right: 0; }
      .about-us-header .header-nav li:after {
        content: '';
        position: absolute;
        top: 3px;
        left: 0;
        height: 14px;
        width: 2px;
        margin: auto;
        background: #FC682D;
        border-radius: 30px; }
  @media screen and (max-width: 1440px) {
    .about-us-header {
      min-height: 440px; }
      .about-us-header .header-nav li {
        margin-right: 4%; } }
  @media screen and (max-width: 1200px) {
    .about-us-header h1 {
      font-size: 2.625em; }
    .about-us-header p {
      font-size: 0.875em; }
    .about-us-header .header-nav {
      margin-top: 41px; }
      .about-us-header .header-nav li {
        font-size: 0.8125em;
        margin-right: 3%; }
        .about-us-header .header-nav li:after {
          top: 0; } }
  @media screen and (max-width: 768px) {
    .about-us-header {
      min-height: inherit; }
      .about-us-header h1 {
        font-size: 2.1875em;
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 36.17021%; }
        .about-us-header h1:last-child {
          margin-right: 0; }
      .about-us-header p {
        font-size: 0.8125em;
        margin-left: 4.25532%; }
      .about-us-header .header-nav {
        display: none; } }
  @media screen and (max-width: 680px) {
    .about-us-header {
      padding: 113px 0 0; }
      .about-us-header h1 {
        float: none;
        width: 100%;
        font-size: 1.8125em;
        margin-bottom: 10px; }
      .about-us-header p {
        float: none;
        width: 90%;
        margin: 0;
        font-size: 0.75em;
        font-weight: 500;
        line-height: 1.5;
        letter-spacing: -0.28px; } }

.event-header {
  overflow: hidden;
  position: relative;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 1; }
  .event-header.no-slider:after {
    background: rgba(234, 233, 236, 0.58); }
  .event-header.no-slider:before {
    content: '';
    z-index: -1;
    border-radius: 50%;
    height: 80vw;
    width: 80vw;
    background: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%) translateX(-40%);
    -moz-transform: translateY(-50%) translateX(-40%);
    -ms-transform: translateY(-50%) translateX(-40%);
    -o-transform: translateY(-50%) translateX(-40%);
    transform: translateY(-50%) translateX(-40%); }
  .event-header.no-slider .container {
    padding: 100px 0; }
  .event-header.no-slider .content {
    position: relative;
    top: inherit;
    right: inherit;
    bottom: inherit;
    left: inherit;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
  @media screen and (max-width: 680px) {
    .event-header.no-slider .container {
      padding: 0; }
    .event-header.no-slider:before {
      content: none; } }
  .event-header:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(234, 233, 236, 0.9);
    z-index: -1; }
  .event-header .container {
    position: relative;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .event-header .container::after {
      clear: both;
      content: "";
      display: table; }
    .event-header .container::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .event-header .container {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .event-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .event-header .container {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .event-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .event-header .container {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .event-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .event-header .container {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .event-header .container::after {
          clear: both;
          content: "";
          display: table; } }
  .event-header .content {
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 40.42553%; }
    .event-header .content:last-child {
      margin-right: 0; }
    .event-header .content .title {
      font-size: 3.5rem;
      line-height: 1;
      letter-spacing: -1.96px;
      margin-bottom: 8px; }
    .event-header .content .text {
      font-size: 0.875rem;
      line-height: 1.43;
      letter-spacing: -0.41px;
      font-weight: 500;
      color: #545151; }
      .event-header .content .text:last-of-type {
        margin-bottom: 0; }
  .event-header .slider {
    position: relative;
    margin-left: 17.02128%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 40.42553%;
    float: right; }
    .event-header .slider:last-child {
      margin-right: 0; }
    .event-header .slider:before {
      content: '';
      display: block;
      padding-top: 100%; }
    .event-header .slider .slick-list,
    .event-header .slider .slick-track {
      height: 100% !important; }
    .event-header .slider .header-slick {
      height: 100%;
      width: 100%;
      position: absolute;
      top: 0;
      left: 0; }
    .event-header .slider .item {
      position: relative;
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
      z-index: 1;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear;
      display: inline-block;
      height: 100%;
      width: 100%; }
      .event-header .slider .item.image-only {
        padding: 30px; }
      .event-header .slider .item.image-with-content {
        padding: 70px 30px; }
        .event-header .slider .item.image-with-content:after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          height: 100%;
          width: 100%;
          background: rgba(242, 116, 58, 0.9);
          z-index: -1; }
      .event-header .slider .item .detail {
        width: 80%;
        margin: auto;
        position: absolute;
        top: 50%;
        right: 0;
        left: 0;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%); }
      .event-header .slider .item .date {
        font-size: 1.25em;
        font-weight: 600;
        letter-spacing: -0.47px;
        line-height: 1.25;
        color: #FFF;
        text-transform: uppercase;
        margin-bottom: 24px; }
      .event-header .slider .item .category {
        font-size: 0.6875em;
        letter-spacing: 2.8px;
        line-height: 1.1;
        color: #FFF;
        text-transform: uppercase;
        margin-bottom: 2px; }
      .event-header .slider .item .title {
        font-size: 1.5em;
        letter-spacing: -0.7px;
        line-height: 1.25;
        color: #FFF;
        text-transform: capitalize;
        margin-bottom: 19px; }
      .event-header .slider .item p {
        font-size: 0.75em;
        letter-spacing: -0.3px;
        line-height: 1.58;
        color: #FFF; }
        .event-header .slider .item p:last-of-type {
          margin-bottom: 0; }
    .event-header .slider .slick-slider {
      margin-bottom: 0 !important; }
    .event-header .slider .slick-list {
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
    .event-header .slider .slick-dots {
      bottom: 19px; }
      .event-header .slider .slick-dots li {
        height: 6.25px;
        width: 6.25px;
        padding: 0;
        margin: 0 9px 0 0; }
        .event-header .slider .slick-dots li button {
          height: 6.25px;
          width: 6.25px;
          background: rgba(255, 255, 255, 0.4);
          border-radius: 50%;
          padding: 0; }
          .event-header .slider .slick-dots li button:before {
            content: none; }
        .event-header .slider .slick-dots li.slick-active button {
          background: #FFF; }
    .event-header .slider .slick-arrow {
      height: 30px;
      width: 30px;
      border-radius: 50%;
      z-index: 1; }
      .event-header .slider .slick-arrow:before {
        content: none; }
      .event-header .slider .slick-arrow:hover {
        background: #FFF; }
      .event-header .slider .slick-arrow.slick-next {
        right: -15px;
        background: url("../../html_prototype/images/slide-arrow-next-2.png") no-repeat center #FFF;
        background-size: 7.7px auto; }
      .event-header .slider .slick-arrow.slick-prev {
        left: -15px;
        background: url("../../html_prototype/images/slide-arrow-prev-2.png") no-repeat center #FFF;
        background-size: 7.7px auto; }
  .event-header .header-nav {
    margin-top: 45px; }
    .event-header .header-nav::after {
      clear: both;
      content: "";
      display: table; }
    .event-header .header-nav .nav-item {
      position: relative;
      width: 50%;
      float: left;
      margin-bottom: 7px;
      padding-left: 8px; }
      .event-header .header-nav .nav-item:before {
        content: '';
        position: absolute;
        top: 5px;
        left: 0;
        height: 14px;
        width: 2px;
        background: #FC682D;
        border-radius: 30px; }
      .event-header .header-nav .nav-item a {
        color: #474545;
        font-size: 0.9375rem;
        font-weight: 500;
        line-height: 1.4;
        letter-spacing: -0.42px; }
  @media screen and (max-width: 1200px) {
    .event-header .content {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%; }
      .event-header .content:last-child {
        margin-right: 0; }
    .event-header .slider {
      margin-left: 8.51064%;
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 40.42553%;
      float: right; }
      .event-header .slider:last-child {
        margin-right: 0; }
      .event-header .slider .item .title {
        font-size: 1.25rem;
        margin-bottom: 8px; }
    .event-header .header-nav {
      margin-top: 20px; } }
  @media screen and (max-width: 768px) {
    .event-header .content {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%; }
      .event-header .content:last-child {
        margin-right: 0; }
      .event-header .content .title {
        font-size: 2.5rem; }
    .event-header .header-nav {
      display: none; } }
  @media screen and (max-width: 680px) {
    .event-header:before {
      content: none; }
    .event-header .wrapper {
      min-height: inherit; }
    .event-header .content {
      margin: 0;
      float: none;
      width: 100%;
      overflow: hidden;
      padding: 139px 20px 25px;
      -webkit-transform: translateY(0);
      -moz-transform: translateY(0);
      -ms-transform: translateY(0);
      -o-transform: translateY(0);
      transform: translateY(0);
      position: relative;
      top: inherit;
      right: inherit;
      bottom: inherit;
      left: inherit; }
      .event-header .content .title {
        font-size: 1.625em;
        line-height: 1.15;
        letter-spacing: -0.87px;
        max-width: 320px; }
      .event-header .content .text {
        font-size: 0.75em;
        font-weight: 500;
        letter-spacing: -0.28px;
        line-height: 1.5;
        max-width: 85%;
        min-width: 320px; }
      .event-header .content:before {
        content: '';
        z-index: -1;
        border-radius: 50%;
        height: 180vw;
        width: 180vw;
        position: absolute;
        top: 22%;
        left: 75%;
        -webkit-transform: translateX(-75%) translateY(0);
        -moz-transform: translateX(-75%) translateY(0);
        -ms-transform: translateX(-75%) translateY(0);
        -o-transform: translateX(-75%) translateY(0);
        transform: translateX(-75%) translateY(0);
        background: rgba(255, 255, 255, 0.7); }
    .event-header .slider {
      float: none;
      width: 100%;
      margin: 0;
      padding: 8.5px 0 17.5px; }
      .event-header .slider:before {
        padding-top: 75%; }
      .event-header .slider .item {
        margin: 0;
        opacity: 0.2;
        -webkit-transform: scale(0.9);
        -moz-transform: scale(0.9);
        -ms-transform: scale(0.9);
        -o-transform: scale(0.9);
        transform: scale(0.9); }
        .event-header .slider .item .title {
          font-size: 0.9375em;
          font-weight: 600;
          margin-bottom: 5px; }
        .event-header .slider .item.image-only, .event-header .slider .item.image-with-content {
          padding: 20px; }
        .event-header .slider .item.slick-current {
          opacity: 1;
          -webkit-transform: scale(1);
          -moz-transform: scale(1);
          -ms-transform: scale(1);
          -o-transform: scale(1);
          transform: scale(1); }
      .event-header .slider .slick-arrow.slick-next {
        right: 10px; }
      .event-header .slider .slick-arrow.slick-prev {
        left: 10px; } }

.event-single-header {
  position: relative;
  overflow: hidden;
  z-index: 1;
  min-height: 400px;
  padding: 106px 0 119px; }
  .event-single-header:after {
    content: '';
    border-radius: 50%;
    height: 384px;
    width: 384px;
    z-index: -1;
    background: rgba(242, 116, 58, 0.5);
    position: absolute;
    top: 88%;
    right: 20%; }
    @media screen and (max-width: 768px) {
      .event-single-header:after {
        right: 13%; } }
    @media screen and (max-width: 680px) {
      .event-single-header:after {
        content: none; } }
  .event-single-header .btn-back {
    color: #3B3535; }
  .event-single-header .circle {
    z-index: 0;
    border-radius: 50%;
    height: 80vw;
    width: 80vw;
    background: rgba(255, 255, 255, 0.85);
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%) translateX(-40%);
    -moz-transform: translateY(-50%) translateX(-40%);
    -ms-transform: translateY(-50%) translateX(-40%);
    -o-transform: translateY(-50%) translateX(-40%);
    transform: translateY(-50%) translateX(-40%); }
    @media screen and (max-width: 680px) {
      .event-single-header .circle {
        height: 1200px;
        width: 1200px;
        background: rgba(255, 255, 255, 0.85);
        position: absolute;
        top: 20%;
        left: 40%;
        -webkit-transform: translateY(0%) translateX(-50%);
        -moz-transform: translateY(0%) translateX(-50%);
        -ms-transform: translateY(0%) translateX(-50%);
        -o-transform: translateY(0%) translateX(-50%);
        transform: translateY(0%) translateX(-50%); }
        .event-single-header .circle:before {
          content: '';
          border-radius: 50%;
          height: 30px;
          width: 30px;
          background: rgba(242, 116, 58, 0.65);
          position: absolute;
          top: 5px;
          right: 36%; } }
  .event-single-header .container {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .event-single-header .container::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .event-single-header .container {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .event-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .event-single-header .container {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .event-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .event-single-header .container {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .event-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .event-single-header .container {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .event-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
  .event-single-header .background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -2;
    overflow: hidden; }
    .event-single-header .background::after {
      clear: both;
      content: "";
      display: table; }
    .event-single-header .background .flipped,
    .event-single-header .background .unflipped {
      float: left;
      overflow: hidden;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center; }
    .event-single-header .background .unflipped {
      height: 100%;
      width: 50%; }
    .event-single-header .background .flipped {
      margin: -60px;
      -webkit-transform: scaleX(-1);
      -moz-transform: scaleX(-1);
      -ms-transform: scaleX(-1);
      -o-transform: scaleX(-1);
      transform: scaleX(-1);
      -webkit-filter: blur(42px);
      filter: blur(42px);
      height: calc(100% + 120px);
      width: calc(50% + 120px); }
    @media screen and (max-width: 680px) {
      .event-single-header .background .flipped {
        display: none; }
      .event-single-header .background .unflipped {
        width: 100%; } }
  .event-single-header .content {
    position: relative;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    .event-single-header .content:last-child {
      margin-right: 0; }
    .event-single-header .content .date {
      font-size: 1.125rem;
      font-weight: 600;
      color: #999;
      letter-spacing: -0.42px;
      line-height: 1.39;
      margin-bottom: 3px; }
    .event-single-header .content .title {
      font-size: 3.0625rem;
      font-weight: bold;
      line-height: 1.06;
      letter-spacing: -1.49px;
      text-transform: capitalize;
      margin-bottom: 15px; }
    .event-single-header .content p {
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.54;
      letter-spacing: -0.38px;
      margin: 0;
      color: #545151; }
    .event-single-header .content .sponsors-title {
      font-size: 0.625rem;
      text-transform: uppercase;
      letter-spacing: 0.25em;
      margin-top: 35px;
      margin-bottom: 5px;
      font-weight: 500; }
    .event-single-header .content .sponsors-logos {
      margin-bottom: -55px; }
      .event-single-header .content .sponsors-logos img {
        display: inline-block;
        max-height: 150px; }
      .event-single-header .content .sponsors-logos.two-lines .sponsors-logo {
        display: block;
        text-align: left; }
      @media screen and (max-width: 680px) {
        .event-single-header .content .sponsors-logos {
          margin: 0; } }
    .event-single-header .content .sponsors-logo {
      display: inline-block;
      vertical-align: middle;
      text-align: center;
      margin-right: 30px;
      margin-top: 20px; }
    .event-single-header .content .sponsor-logo-title {
      font-size: 0.625rem;
      text-transform: uppercase;
      letter-spacing: 0.25em; }
    @media screen and (max-width: 1440px) {
      .event-single-header .content {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 65.95745%; }
        .event-single-header .content:last-child {
          margin-right: 0; } }
    @media screen and (max-width: 1200px) {
      .event-single-header .content .title {
        font-size: 2.25rem; } }
    @media screen and (max-width: 768px) {
      .event-single-header .content .title {
        font-size: 1.875rem; } }
    @media screen and (max-width: 680px) {
      .event-single-header .content {
        width: 100%; }
        .event-single-header .content .date {
          font-size: 0.8125em;
          letter-spacing: -0.31px;
          line-height: 1.15;
          margin-bottom: 7px; }
        .event-single-header .content p {
          margin-top: 7px; }
        .event-single-header .content .title {
          font-size: 1.625em;
          line-height: 1.15;
          letter-spacing: -0.87px;
          margin-bottom: 0;
          max-width: 350px; } }
  @media screen and (max-width: 1200px) {
    .event-single-header {
      min-height: inherit; } }
  @media screen and (max-width: 680px) {
    .event-single-header {
      padding: 145px 20px 30px; }
      .event-single-header .btn-back {
        position: absolute;
        top: 15px; } }

.news-single-header {
  padding: 15px 0 70px;
  min-height: 400px;
  position: relative;
  overflow: hidden;
  z-index: 1; }
  @media screen and (max-width: 680px) {
    .news-single-header {
      min-height: inherit;
      padding: 30px 25px; }
      .news-single-header .btn-back {
        margin-bottom: 15px; } }
  .news-single-header .container {
    position: relative;
    padding-top: 45px;
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .news-single-header .container::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .news-single-header .container {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .news-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .news-single-header .container {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .news-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .news-single-header .container {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .news-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .news-single-header .container {
        padding-top: 0;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .news-single-header .container::after {
          clear: both;
          content: "";
          display: table; } }
  .news-single-header .content {
    position: relative;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    .news-single-header .content:last-child {
      margin-right: 0; }
    .news-single-header .content .date {
      font-size: 0.9375rem;
      font-weight: 600;
      color: #999;
      text-transform: uppercase;
      letter-spacing: -0.35px;
      line-height: 1.67;
      margin-bottom: 15px; }
    .news-single-header .content .title {
      font-size: 2.1875rem;
      font-weight: bold;
      line-height: 1.2;
      letter-spacing: -1.23px;
      margin-bottom: 15px;
      min-height: 150px; }
    .news-single-header .content p {
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.4;
      letter-spacing: -0.41px;
      color: #545151; }
      .news-single-header .content p:last-of-type {
        margin-bottom: 0; }
    @media screen and (max-width: 1440px) {
      .news-single-header .content {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 48.93617%; }
        .news-single-header .content:last-child {
          margin-right: 0; } }
    @media screen and (max-width: 1200px) {
      .news-single-header .content .title {
        font-size: 1.5625rem;
        min-height: inherit; } }
    @media screen and (max-width: 680px) {
      .news-single-header .content {
        width: 100%;
        margin-top: 100px; }
        .news-single-header .content .date {
          font-size: 0.8125em;
          letter-spacing: -0.31px;
          line-height: 1.15;
          margin-bottom: 5px; }
        .news-single-header .content .title {
          font-size: 1.375em;
          line-height: 1.15;
          letter-spacing: -0.87px;
          margin-bottom: 10px;
          min-height: inherit;
          max-width: 250px; }
        .news-single-header .content p {
          width: 90%; } }
  .news-single-header.circle-overlay:before, .news-single-header.circle-overlay:after {
    content: '';
    border-radius: 50%;
    z-index: -1; }
  .news-single-header.circle-overlay:before {
    height: 80vw;
    width: 80vw;
    background: rgba(255, 255, 255, 0.9);
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%) translateX(-40%);
    -moz-transform: translateY(-50%) translateX(-40%);
    -ms-transform: translateY(-50%) translateX(-40%);
    -o-transform: translateY(-50%) translateX(-40%);
    transform: translateY(-50%) translateX(-40%); }
  .news-single-header.circle-overlay:after {
    height: 384px;
    width: 384px;
    background: rgba(242, 116, 58, 0.65);
    position: absolute;
    top: 85%;
    right: 22%; }
  @media screen and (max-width: 680px) {
    .news-single-header.circle-overlay:before {
      height: 180vw;
      width: 180vw;
      position: absolute;
      top: 20%;
      right: -15%;
      -webkit-transform: translateY(0) translateX(0);
      -moz-transform: translateY(0) translateX(0);
      -ms-transform: translateY(0) translateX(0);
      -o-transform: translateY(0) translateX(0);
      transform: translateY(0) translateX(0); }
    .news-single-header.circle-overlay:after {
      content: none; } }
  .news-single-header.circle-overlay .background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -2; }
    .news-single-header.circle-overlay .background::after {
      clear: both;
      content: "";
      display: table; }
    .news-single-header.circle-overlay .background .flipped,
    .news-single-header.circle-overlay .background .unflipped {
      float: left;
      z-index: -3;
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center; }
    .news-single-header.circle-overlay .background .unflipped {
      height: 100%;
      width: 50%; }
    .news-single-header.circle-overlay .background .flipped {
      margin: -60px;
      -webkit-transform: scaleX(-1);
      -moz-transform: scaleX(-1);
      -ms-transform: scaleX(-1);
      -o-transform: scaleX(-1);
      transform: scaleX(-1);
      -webkit-filter: blur(42px);
      filter: blur(42px);
      height: calc(100% + 120px);
      width: calc(50% + 120px);
      overflow: hidden; }
    @media screen and (max-width: 680px) {
      .news-single-header.circle-overlay .background .flipped {
        display: none; }
      .news-single-header.circle-overlay .background .unflipped {
        width: 100%; } }
  .news-single-header.no-overlay {
    background: #F1F1F2; }
    .news-single-header.no-overlay:before {
      content: '';
      z-index: -1;
      border-radius: 50%;
      height: 770px;
      width: 770px;
      background: rgba(242, 116, 58, 0.13);
      position: absolute;
      right: -200px;
      bottom: -535px; }
    .news-single-header.no-overlay .wrapper::after {
      clear: both;
      content: "";
      display: table; }
    .news-single-header.no-overlay .wrapper:before {
      content: '';
      z-index: -1;
      border-radius: 50%;
      height: 468px;
      width: 468px;
      background: rgba(255, 255, 255, 0.36);
      position: absolute;
      top: -432px;
      left: 33%; }
    .news-single-header.no-overlay .image {
      float: right;
      height: 228px;
      width: 400px;
      margin: 30px 0 0 0; }
      .news-single-header.no-overlay .image img {
        height: 100%;
        margin: auto;
        display: block; }
    @media screen and (max-width: 1200px) {
      .news-single-header.no-overlay .image {
        position: relative;
        width: 40%;
        height: 300px;
        max-width: 300px;
        margin: 0; }
        .news-single-header.no-overlay .image::after {
          clear: both;
          content: "";
          display: table; }
        .news-single-header.no-overlay .image img {
          width: 75%;
          height: auto;
          position: absolute;
          top: 50%;
          right: 0;
          left: 0;
          -webkit-transform: translateY(-50%);
          -moz-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          -o-transform: translateY(-50%);
          transform: translateY(-50%); } }
    @media screen and (max-width: 680px) {
      .news-single-header.no-overlay:before {
        height: 360px;
        width: 360px;
        background: rgba(255, 255, 255, 0.9);
        position: absolute;
        right: inherit;
        bottom: -168px;
        left: -65px; }
      .news-single-header.no-overlay .wrapper:before {
        height: 305px;
        width: 305px;
        background: rgba(252, 104, 45, 0.08);
        position: absolute;
        top: -240px;
        right: -60px; }
      .news-single-header.no-overlay .image {
        float: none;
        width: 85%;
        height: auto;
        margin: 20px auto 21px;
        text-align: center;
        position: relative;
        top: inherit;
        right: inherit;
        bottom: inherit;
        left: inherit; }
        .news-single-header.no-overlay .image img {
          width: 100%;
          max-width: 350px;
          margin: 0 auto;
          position: relative;
          top: inherit;
          right: inherit;
          bottom: inherit;
          left: inherit;
          -webkit-transform: translateY(0%);
          -moz-transform: translateY(0%);
          -ms-transform: translateY(0%);
          -o-transform: translateY(0%);
          transform: translateY(0%); }
      .news-single-header.no-overlay .content {
        margin-top: 0;
        width: 100%; }
        .news-single-header.no-overlay .content .title {
          margin-bottom: 5px;
          max-width: 100%; }
        .news-single-header.no-overlay .content p {
          width: 100%; } }

.network-application-header {
  z-index: 2;
  position: relative;
  min-height: 400px;
  overflow: hidden;
  padding: 21px 0 80px; }
  .network-application-header:before, .network-application-header:after {
    content: '';
    z-index: 0;
    border-radius: 50%; }
  .network-application-header:before {
    height: 80vw;
    width: 80vw;
    background: rgba(255, 255, 255, 0.9);
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%) translateX(-45%);
    -moz-transform: translateY(-50%) translateX(-45%);
    -ms-transform: translateY(-50%) translateX(-45%);
    -o-transform: translateY(-50%) translateX(-45%);
    transform: translateY(-50%) translateX(-45%); }
  .network-application-header:after {
    height: 318px;
    width: 318px;
    background: rgba(252, 104, 45, 0.4);
    position: absolute;
    right: 25%;
    bottom: -215px; }
  .network-application-header .background {
    position: relative;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    opacity: 0.94;
    z-index: -1; }
    .network-application-header .background .image {
      margin: -6px;
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
      -webkit-filter: blur(5px);
      filter: blur(5px);
      position: absolute;
      top: 0;
      left: 0;
      height: calc(100% + 12px);
      width: calc(100% + 12px); }
  .network-application-header .wrapper {
    z-index: 1;
    position: relative;
    padding-top: 60px;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 74.46809%; }
    .network-application-header .wrapper:last-child {
      margin-right: 0; }
    .network-application-header .wrapper .text-wrap {
      float: left;
      display: block;
      margin-right: 2.85714%;
      width: 65.71429%; }
      .network-application-header .wrapper .text-wrap:last-child {
        margin-right: 0; }
      .network-application-header .wrapper .text-wrap h1 {
        font-size: 3.0625em;
        line-height: 1.1;
        letter-spacing: -1.71px;
        margin: 0 0 14px; }
      .network-application-header .wrapper .text-wrap .text {
        font-size: 0.875em;
        color: #545151;
        font-weight: 500;
        line-height: 1.42; }
    .network-application-header .wrapper .logo-wrap {
      position: absolute;
      top: 50%;
      right: 10px;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      height: 160px;
      width: 160px;
      border-radius: 50%;
      background: #FFF;
      overflow: hidden; }
      .network-application-header .wrapper .logo-wrap img {
        width: 90%;
        height: auto;
        margin: auto;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        position: absolute;
        top: 50%;
        right: 0;
        left: 0; }
      @media (min-width: 1290px) {
        .network-application-header .wrapper .logo-wrap {
          right: -50px; } }
  @media screen and (max-width: 680px) {
    .network-application-header {
      padding-bottom: 50px;
      min-height: 280px; }
      .network-application-header .btn-back {
        position: absolute;
        top: 0;
        left: 20px;
        z-index: 5; }
      .network-application-header .wrapper {
        padding-left: 20px; }
        .network-application-header .wrapper .text-wrap {
          float: left;
          display: block;
          margin-right: 2.12766%;
          width: 82.97872%; }
          .network-application-header .wrapper .text-wrap:last-child {
            margin-right: 0; }
          .network-application-header .wrapper .text-wrap h1 {
            font-size: 2.125rem; }
        .network-application-header .wrapper .logo-wrap {
          width: 90px;
          height: 90px;
          top: 27%;
          right: -22%; }
      .network-application-header:before {
        height: 150vw;
        width: 150vw;
        right: -200px; }
      .network-application-header:after {
        right: -45%; } }

.network-details-header {
  position: relative;
  overflow: hidden;
  z-index: 1;
  min-height: 400px;
  padding: 119px 0 123px; }
  .network-details-header:before, .network-details-header:after {
    content: '';
    border-radius: 50%;
    z-index: -1; }
  .network-details-header:before {
    height: 595px;
    width: 595px;
    background: rgba(252, 104, 45, 0.4);
    position: absolute;
    right: 14%;
    bottom: -450px; }
  .network-details-header:after {
    height: 80vw;
    width: 80vw;
    background: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%) translateX(-40%);
    -moz-transform: translateY(-50%) translateX(-40%);
    -ms-transform: translateY(-50%) translateX(-40%);
    -o-transform: translateY(-50%) translateX(-40%);
    transform: translateY(-50%) translateX(-40%); }
  .network-details-header .wrapper {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .network-details-header .wrapper::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .network-details-header .wrapper {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .network-details-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 1200px) {
      .network-details-header .wrapper {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .network-details-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .network-details-header .wrapper {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .network-details-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 680px) {
      .network-details-header .wrapper {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .network-details-header .wrapper::after {
          clear: both;
          content: "";
          display: table; } }
  .network-details-header .breadcrumbs {
    position: absolute;
    top: 12px;
    left: 0;
    width: 100%; }
    .network-details-header .breadcrumbs span,
    .network-details-header .breadcrumbs a {
      text-transform: lowercase; }
  .network-details-header .background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-size: cover;
    background-position: center;
    z-index: -2; }
  .network-details-header .content {
    position: relative;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 65.95745%; }
    .network-details-header .content:last-child {
      margin-right: 0; }
    .network-details-header .content .title {
      font-size: 3.0625rem;
      font-weight: bold;
      line-height: 1.06;
      letter-spacing: -1.49px;
      margin-bottom: 10px;
      max-width: 620px; }
    .network-details-header .content .sub-title {
      margin: 0;
      font-size: 0.875rem;
      font-weight: 500;
      line-height: 1.54;
      letter-spacing: -0.38px;
      color: #545151;
      max-width: 470px; }
    @media screen and (max-width: 768px) {
      .network-details-header .content .title {
        font-size: 2.1875em; } }
    @media screen and (max-width: 680px) {
      .network-details-header .content {
        float: none;
        min-width: 195px;
        padding: 35px 0 31px; }
        .network-details-header .content .title {
          font-size: 1.5em; }
        .network-details-header .content .sub-title {
          font-size: 0.75em; } }
  @media screen and (max-width: 768px) {
    .network-details-header:before {
      height: 400px;
      width: 400px;
      bottom: -300px;
      right: 10%; } }
  @media screen and (max-width: 680px) {
    .network-details-header {
      padding: 20px;
      min-height: inherit; }
      .network-details-header:before {
        height: 235px;
        width: 235px;
        bottom: -150px;
        right: -60px; }
      .network-details-header:after {
        height: 650px;
        width: 650px;
        top: 50%;
        left: inherit;
        right: 20%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        background: rgba(255, 255, 255, 0.7); } }

.mobile-header-nav {
  display: none;
  background: rgba(251, 249, 248, 0.96);
  padding: 8px 0 6px;
  z-index: 10; }
  .mobile-header-nav .header-current-option {
    display: inline-block;
    position: relative;
    font-size: 0.75em;
    font-weight: 600;
    color: #474545;
    letter-spacing: -0.35px;
    text-transform: capitalize; }
    .mobile-header-nav .header-current-option:before {
      content: '';
      position: absolute;
      bottom: -8px;
      left: 0;
      height: 2px;
      width: 14px;
      background: #FC682D; }
  .mobile-header-nav ul {
    display: none;
    padding: 0;
    margin: 15px 0 5px; }
    .mobile-header-nav ul li {
      padding: 5px 0;
      font-size: 0.8125em; }
      .mobile-header-nav ul li:hover, .mobile-header-nav ul li.active {
        font-weight: 500; }
  @media screen and (max-width: 768px) {
    .mobile-header-nav {
      display: block; }
      .mobile-header-nav .btn-more {
        display: inline-block; } }
  @media screen and (max-width: 680px) {
    .mobile-header-nav {
      padding: 8px 20px 6px; } }

.desktop-fixed-nav {
  z-index: -1;
  opacity: 0;
  visibility: hidden;
  width: 100%;
  height: 35px;
  padding: 5px 0 0;
  background: rgba(251, 249, 248, 0.97);
  position: fixed;
  top: -50px;
  left: 0;
  -webkit-transition: all 666ms ease-out;
  -moz-transition: all 666ms ease-out;
  transition: all 666ms ease-out; }
  .desktop-fixed-nav.trigger {
    z-index: 5;
    opacity: 1;
    visibility: visible; }
  .desktop-fixed-nav .nav-item {
    position: relative;
    display: inline-block;
    padding-bottom: 5px;
    margin-right: 73px;
    overflow: hidden; }
    .desktop-fixed-nav .nav-item:last-of-type {
      margin-right: 0; }
    .desktop-fixed-nav .nav-item:before {
      content: '';
      position: absolute;
      bottom: 0;
      left: -30px;
      height: 2px;
      width: 15px;
      background: #FC682D;
      -webkit-transition: all 113ms linear;
      -moz-transition: all 113ms linear;
      transition: all 113ms linear; }
    .desktop-fixed-nav .nav-item:hover:before, .desktop-fixed-nav .nav-item.active:before {
      left: 0; }
    .desktop-fixed-nav .nav-item:hover a, .desktop-fixed-nav .nav-item.active a {
      font-weight: 600;
      color: #3B3535; }
  .desktop-fixed-nav a {
    font-size: 0.8125rem;
    color: #999;
    font-weight: 500;
    -webkit-transition: all 113ms linear;
    -moz-transition: all 113ms linear;
    transition: all 113ms linear; }
  @media screen and (max-width: 768px) {
    .desktop-fixed-nav {
      display: none !important; } }

#content-header {
  position: relative;
  z-index: 2; }

#content-area {
  position: relative;
  z-index: 1; }

.breadcrumb-wrap {
  position: absolute;
  left: 0;
  right: 0;
  top: 20px; }

.breadcrumb {
  z-index: 1;
  padding: 0;
  font-size: 12px;
  text-transform: lowercase;
  color: #666262;
  position: relative;
  top: 5px;
  float: left;
  margin-left: 100px; }
  .breadcrumb a,
  .breadcrumb span {
    font-size: 12px;
    color: #666262; }
  .breadcrumb a {
    margin-right: 4px; }
  .breadcrumb span {
    margin: 0 4px; }
  @media screen and (max-width: 680px) {
    .breadcrumb {
      display: none; } }

.cart-visible .breadcrumb {
  margin-left: 0; }

.cart-quantity {
  height: 31px;
  float: left; }
  .cart-quantity a {
    font-size: 0.875rem; }

#edit-save-selected-currency {
  display: none; }

.block-commerce-multicurrency {
  float: left;
  margin-right: 15px;
  line-height: 1.8; }
  .block-commerce-multicurrency .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: -1px; }
  .block-commerce-multicurrency #commerce-multicurrency-selector-form .select2-selection {
    background: none;
    border: 0;
    padding: 0;
    font-size: 0.75rem; }
  .block-commerce-multicurrency #commerce-multicurrency-selector-form .form-item {
    margin: 0; }

.cart-quantity-inner {
  display: flex;
  align-items: center; }
  .cart-quantity-inner a {
    display: inline-block;
    font-size: 0.75rem;
    margin-right: 15px;
    text-transform: capitalize; }

.header-flag {
  text-align: center;
  background-color: #10487a;
  padding: 5px 0 4px;
  display: none; }
  @media screen and (max-width: 768px) {
    .header-flag {
      display: none; } }

.header-desc {
  color: #fff;
  font-size: 0.75rem;
  font-weight: 300;
  margin-bottom: 0; }

.header-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 40px 14px; }
  .logged-in .header-top {
    padding: 40px 40px 14px; }
  @media screen and (max-width: 1200px) {
    .header-top {
      padding: 14px 15px 14px; } }
  @media screen and (max-width: 768px) {
    .header-top {
      display: none; } }

.header-logo {
  width: 120px;
  flex-shrink: 0; }
  .header-logo img {
    width: 100%;
    display: block; }

.header-buttons {
  display: flex;
  gap: 0.625rem; }
  @media screen and (max-width: 1200px) {
    .header-buttons {
      gap: 0.125rem; } }
  @media screen and (max-width: 1200px) {
    .header-buttons .cta {
      font-size: 0.75rem;
      padding: 3px 8px; } }

.header-action-list {
  display: flex;
  align-items: center;
  gap: 0 16px; }
  @media screen and (max-width: 1200px) {
    .header-action-list {
      gap: 0 5px; } }
  .header-action-list-inner {
    position: absolute;
    bottom: -97px;
    right: 0;
    z-index: 11;
    white-space: nowrap;
    text-align: right;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out;
    background-color: #fff;
    border-radius: 3px;
    overflow: hidden;
    box-shadow: 3px 3px 20px rgba(0, 0, 0, 0.15); }

.header-action-item {
  display: flex;
  align-items: center;
  position: relative;
  padding: 5px 0; }
  .header-action-item:hover .header-action-list-inner {
    opacity: 1;
    pointer-events: auto; }
  .header-action-item a {
    display: flex; }
  .header-action-item-inner {
    width: 100%; }
    .header-action-item-inner:not(:last-child) {
      border-bottom: 1px solid #dce4ec; }
    .header-action-item-inner a {
      display: block;
      width: 121px;
      padding: 12px 19px;
      text-align: left;
      font-size: 1rem;
      transition: color 0.3s ease-in-out; }
      .header-action-item-inner a:hover {
        color: #10487a; }

.header-action-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  cursor: pointer; }
  .header-action-icon svg {
    display: block;
    width: 100%;
    height: 100%; }

.header-mobile {
  display: none;
  position: relative; }
  @media screen and (max-width: 768px) {
    .header-mobile {
      display: block; } }
  .header-mobile.toggled .header-mobile-logo {
    opacity: 0;
    translate: -20px 0; }
  .header-mobile-logo {
    width: 106px;
    transition-property: opacity, translate;
    transition-duration: 444ms;
    transition-timing-function: ease-in-out; }
    .header-mobile-logo img {
      width: 100%;
      display: block; }
  .header-mobile-toggle {
    cursor: pointer;
    height: 12px;
    width: 21px;
    position: absolute;
    right: 0;
    top: 50%;
    translate: 0 -50%;
    -webkit-transition: all 444ms ease-out;
    -moz-transition: all 444ms ease-out;
    transition: all 444ms ease-out; }
    .header-mobile-toggle.toggled {
      right: 260px; }

.header-section-anchor {
  background-color: #dce4ec;
  display: none; }

.header-section-inner {
  text-align: center;
  padding: 11px 0 14px; }

.header-section-link {
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 300;
  margin: 0 12px;
  color: #10487a;
  position: relative; }
  .header-section-link:hover::before {
    opacity: 1;
    translate: 0 0; }
  .header-section-link::before {
    pointer-events: none;
    opacity: 0;
    translate: 0 10px;
    position: absolute;
    width: 100%;
    content: '';
    left: 0;
    bottom: 3px;
    height: 1px;
    background-color: #10487a;
    transition-property: translate, opacity;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out; }

#content-header &gt; .tabs {
  margin: 42px 0 0; }

.footer {
  background-color: #fff;
  padding: 60px 0 16px; }
  @media screen and (max-width: 680px) {
    .footer {
      padding: 32px 0 16px; } }
  .footer-top {
    display: flex;
    gap: 0 135px;
    margin-bottom: 82px; }
    @media screen and (max-width: 680px) {
      .footer-top {
        flex-direction: column;
        margin-bottom: 2.5rem; } }
    .footer-top-left {
      display: flex;
      flex-direction: column;
      gap: 53px 0; }
      @media screen and (max-width: 680px) {
        .footer-top-left {
          flex-direction: row;
          justify-content: space-between;
          margin-bottom: 40px;
          align-items: baseline; } }
  .footer-nav {
    margin-top: -3px; }
    @media screen and (max-width: 768px) {
      .footer-nav {
        margin-top: 0; } }
    .footer-nav &gt; ul {
      column-count: 2;
      column-gap: 156px; }
      @media screen and (max-width: 680px) {
        .footer-nav &gt; ul {
          column-gap: 20px; } }
      .footer-nav &gt; ul li {
        margin-bottom: 15px;
        list-style: none; }
        @media screen and (max-width: 768px) {
          .footer-nav &gt; ul li {
            margin-bottom: 5px;
            margin-left: 0; } }
        @media screen and (max-width: 680px) {
          .footer-nav &gt; ul li {
            line-height: 1.18; } }
      .footer-nav &gt; ul a {
        font-size: 1.125rem;
        font-weight: 600;
        color: #10487a;
        position: relative; }
        @media screen and (max-width: 680px) {
          .footer-nav &gt; ul a {
            font-size: 0.875rem;
            line-height: inherit; } }
        .footer-nav &gt; ul a.active::before, .footer-nav &gt; ul a:hover::before {
          opacity: 1;
          translate: 0 0; }
        .footer-nav &gt; ul a::before {
          pointer-events: none;
          opacity: 0;
          content: '';
          width: 100%;
          height: 1px;
          background-color: #10487a;
          position: absolute;
          bottom: 3px;
          left: 0;
          translate: 0 5px;
          transition-property: opacity, translate;
          transition-duration: 0.3s;
          transition-timing-function: ease-in-out; }
  .footer-logo {
    width: 170px;
    display: block;
    flex-shrink: 0; }
    @media screen and (max-width: 768px) {
      .footer-logo {
        width: 137px; } }
    .footer-logo img {
      display: block;
      width: 100%; }
  .footer-bottom #block-bean-social-links-block {
    display: none; }
  .footer-useful-links {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0 20px;
    margin-bottom: 6px; }
    @media screen and (max-width: 680px) {
      .footer-useful-links {
        flex-direction: column;
        align-items: flex-start; } }
    .footer-useful-links-label {
      color: #10487a;
      font-weight: 900;
      font-size: 0.875rem; }
    .footer-useful-links ul {
      display: flex;
      align-items: center;
      gap: 0 17px; }
      .footer-useful-links ul li {
        list-style: none;
        margin: 0;
        padding: 0; }
      .footer-useful-links ul a {
        color: #10487a;
        font-size: 0.75rem;
        font-weight: 300;
        text-decoration: underline; }
      @media screen and (max-width: 680px) {
        .footer-useful-links ul {
          flex-direction: column;
          align-items: flex-start;
          margin-bottom: 2.25rem; }
          .footer-useful-links ul li {
            margin-left: 0; } }
  .footer .block-copyright-block {
    text-align: center; }
    .footer .block-copyright-block p {
      text-transform: uppercase;
      color: #10487a;
      font-size: 0.75rem;
      margin-bottom: 0; }
    @media screen and (max-width: 680px) {
      .footer .block-copyright-block {
        text-align: left; }
        .footer .block-copyright-block p {
          font-size: 0.625rem; } }
    .footer .block-copyright-block a {
      color: #10487a; }

.mobile-overlay {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: rgba(71, 69, 69, 0.7);
  z-index: 1;
  display: none; }

body {
  padding-top: 66px;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  body.thinner {
    padding-top: 98px; }
  body.node-type-homepage {
    padding-top: 66px; }
    @media screen and (max-width: 768px) {
      body.node-type-homepage {
        padding-top: 60px; } }
  @media screen and (min-width: 769px) {
    body.have-cart-quantity {
      padding-top: 161px; }
    body.thinner.have-cart-quantity {
      padding-top: 128px; } }
  @media screen and (max-width: 768px) {
    body {
      padding-top: 60px; }
      body.thinner {
        padding-top: 44px; }
        body.thinner .mobile-menu .menu-search {
          padding: 7px 20px 4px 40px; } }

html,
body {
  height: 100%; }
  html #page &gt; #main,
  body #page &gt; #main {
    position: relative; }

.container {
  position: relative;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto; }
  .container::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 1440px) {
    .container {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .container::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 1200px) {
    .container {
      max-width: 800px;
      margin-left: auto;
      margin-right: auto; }
      .container::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 768px) {
    .container {
      max-width: 680px;
      margin-left: auto;
      margin-right: auto; }
      .container::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 680px) {
    .container {
      max-width: 100%;
      margin-left: auto;
      margin-right: auto; }
      .container::after {
        clear: both;
        content: "";
        display: table; } }

.header-container {
  max-width: 1200px;
  padding: 0 20px;
  margin: 0 auto;
  clear: both; }
  .header-container::after {
    clear: both;
    content: "";
    display: table; }

.main-container {
  background-size: 100% auto; }
  .main-container.main-container-consulting {
    background: none; }

.main-wrapper {
  max-width: 1230px;
  margin-left: auto;
  margin-right: auto;
  padding: 105px 30px 100px; }
  .main-wrapper::after {
    clear: both;
    content: "";
    display: table; }
  .page-profile .main-wrapper {
    padding: 105px 15px 100px; }
    @media screen and (max-width: 768px) {
      .page-profile .main-wrapper {
        padding: 0 0 100px; } }
  .main-wrapper.main-wrapper-consulting {
    max-width: 1230px;
    margin-left: auto;
    margin-right: auto;
    padding: 66px 15px 100px; }
    .main-wrapper.main-wrapper-consulting::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 680px) {
      .main-wrapper.main-wrapper-consulting {
        padding: 0; } }
  @media screen and (max-width: 768px) {
    .main-wrapper {
      max-width: 680px;
      margin-left: auto;
      margin-right: auto;
      padding: 40px 0; }
      .main-wrapper::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 680px) {
    .main-wrapper {
      padding: 0;
      max-width: 100%;
      margin-left: auto;
      margin-right: auto; }
      .main-wrapper::after {
        clear: both;
        content: "";
        display: table; } }
  .main-wrapper h1 {
    font-size: 0.75em;
    text-transform: uppercase; }
  .main-wrapper .row {
    border-bottom: 1px dashed #FC572D; }
    .main-wrapper .row::after {
      clear: both;
      content: "";
      display: table; }
    .main-wrapper .row.full .desc-area,
    .main-wrapper .row.full .container-white,
    .main-wrapper .row.full .container-dark {
      height: auto; }
    .main-wrapper .row.full .container-white {
      width: 80%; }
  .main-wrapper .desc-area,
  .main-wrapper .container-white,
  .main-wrapper .container-dark {
    float: left;
    height: 180px; }
    .main-wrapper .desc-area.desc-area,
    .main-wrapper .container-white.desc-area,
    .main-wrapper .container-dark.desc-area {
      padding: 30px 5px 20px 0;
      background-color: #FFF;
      width: 20%; }
    .main-wrapper .desc-area.container-white,
    .main-wrapper .container-white.container-white,
    .main-wrapper .container-dark.container-white {
      padding: 30px 5px 20px 20px;
      background: #FFF;
      border-left: 1px solid #999;
      width: 40%; }
    .main-wrapper .desc-area.container-dark,
    .main-wrapper .container-white.container-dark,
    .main-wrapper .container-dark.container-dark {
      padding: 30px 5px 20px 20px;
      background: #3B3535;
      width: 40%; }

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out;
  background: rgba(71, 69, 69, 0.9);
  z-index: 10;
  opacity: 0;
  visibility: hidden; }
  .overlay.active {
    opacity: 1;
    visibility: visible; }

.current-width {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  background: rgba(0, 0, 255, 0.5);
  padding: 10px;
  z-index: 9999;
  font-size: 18px;
  text-align: center;
  width: 100px; }

#map {
  height: 600px;
  width: 800px; }

#atlwdg-trigger {
  z-index: 100; }

.archive-page-trigger,
.main-with-sidebar-trigger {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 100%;
  background: transparent;
  z-index: 100;
  margin: auto; }

.sidebar {
  top: 155px;
  min-height: 20px;
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 23.40426%; }
  .sidebar:last-child {
    margin-right: 0; }
  .main-wrapper-consulting .sidebar {
    width: 24%; }
  .sidebar:not(.not-sticky) {
    position: sticky; }
  .sidebar li {
    font-size: 0.9375rem;
    color: #545151; }
  .sidebar .sidebar-remark {
    font-size: 0.6875em;
    text-transform: uppercase;
    margin-bottom: 42px;
    color: #474545;
    letter-spacing: 2.8px; }
  @media screen and (max-width: 768px) {
    .sidebar {
      top: 85px; }
      .sidebar li {
        font-size: 0.875rem;
        max-width: 185px; } }
  @media screen and (max-width: 680px) {
    .sidebar {
      float: none;
      width: 100%;
      display: none; } }

.mobile-sidebar {
  display: none;
  background: rgba(251, 249, 248, 0.96);
  padding: 8px 20px 6px;
  z-index: 10; }
  .mobile-sidebar .header-current-option {
    display: inline-block;
    position: relative;
    font-size: 0.75em;
    font-weight: 600;
    color: #474545;
    letter-spacing: -0.35px;
    text-transform: capitalize; }
    .mobile-sidebar .header-current-option:before {
      content: '';
      position: absolute;
      bottom: -8px;
      left: 0;
      height: 2px;
      width: 14px;
      background: #FC682D; }
  .mobile-sidebar ul {
    display: none;
    padding: 0;
    margin: 15px 0 5px; }
    .mobile-sidebar ul li {
      padding: 5px 0;
      font-size: 0.8125em; }
      .mobile-sidebar ul li:hover {
        font-weight: 500; }
  @media screen and (max-width: 680px) {
    .mobile-sidebar {
      display: block; }
      .mobile-sidebar .btn-more {
        display: inline-block; } }

.main-with-sidebar {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 74.46809%; }
  .main-with-sidebar:last-child {
    margin-right: 0; }
  .main-wrapper-consulting .main-with-sidebar {
    width: 70.5%; }
    @media screen and (max-width: 680px) {
      .main-wrapper-consulting .main-with-sidebar {
        width: 100%;
        padding: 40px 20px 45px; } }
  @media screen and (min-width: 681px) {
    .main-with-sidebar {
      float: right; } }
  .main-with-sidebar .text {
    font-size: 0.875em;
    color: #666262; }
    .main-with-sidebar .text p:last-of-type {
      margin-bottom: 0; }
  .main-with-sidebar h2 {
    font-size: 1.5rem;
    line-height: 1.25;
    font-weight: bold;
    margin-bottom: 15px; }
  .main-with-sidebar .card-horizontal-wrapper::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 680px) {
    .main-with-sidebar {
      float: none;
      width: 100%;
      padding: 40px 20px 45px; }
      .main-with-sidebar .text {
        font-size: 0.8125rem; }
      .main-with-sidebar h2 {
        font-size: 1.25rem; }
      .main-with-sidebar .paragraph {
        padding: 27px 0 18px; }
        .main-with-sidebar .paragraph:first-of-type {
          padding: 0 0 18px; } }

.border-left {
  border-left: 1px solid #EAE9EC;
  padding-left: 15px;
  position: relative; }
  .border-left:before {
    content: '';
    width: 3px;
    height: 15px;
    background: #F2743A;
    position: absolute;
    top: 0;
    left: -1.5px;
    display: none; }

.sidebar-menu .menu {
  margin: 0;
  padding: 0; }
  .sidebar-menu .menu li {
    list-style-type: none;
    list-style-image: none;
    margin: 0;
    padding: 0; }
  .sidebar-menu .menu ul {
    margin-bottom: 50px; }
    .sidebar-menu .menu ul li {
      margin: 22px 0;
      line-height: 1.2; }
      .sidebar-menu .menu ul li.active a, .sidebar-menu .menu ul li.active-trail a {
        font-weight: 600;
        color: #474545; }
  .sidebar-menu .menu .nolink {
    font-size: 0.6875rem;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 0.2em; }

.orange-overlay {
  position: relative;
  color: #FFF;
  padding: 55px 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }
  .orange-overlay:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(242, 116, 58, 0.94);
    z-index: 1; }
  .orange-overlay .container {
    position: relative;
    z-index: 2; }

.my-cart-section {
  padding: 9px 0 7px;
  background: #FBF9F8; }

.box-link {
  display: block; }

.wrapper {
  padding: 0 20px;
  max-width: 1220px;
  width: 100%;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .wrapper {
      padding: 0 30px; } }
  .is-firefox .wrapper {
    max-width: 1120px; }

.slick-dots &gt; li &gt; button {
  background: #B6B6B6 !important;
  border-radius: 50%; }

.slick-dots &gt; li.slick-active &gt; button {
  background: #10487a !important; }

.slick-track {
  display: flex !important; }

.slick-slide {
  height: inherit !important;
  margin-bottom: 0;
  object-fit: cover; }

.title {
  font-size: 2.1875rem;
  letter-spacing: normal;
  color: #10487a;
  margin-bottom: 0; }
  @media screen and (max-width: 768px) {
    .title {
      font-size: 1.75rem; } }

.cta {
  color: #fff;
  font-size: 0.875rem;
  border-radius: 50px;
  padding: 3px 14px;
  border-width: 1px;
  border-style: solid;
  font-weight: 300;
  display: inline-block;
  position: relative;
  transition-property: color, background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out; }
  .cta::after {
    transition-property: box-shadow;
    transition-duration: 0.3s;
    transition-timing-function: ease-in-out; }
  .cta.is-blue {
    background-color: #10487a;
    border-color: #10487a; }
    @media screen and (min-width: 1201px) {
      .cta.is-blue:hover {
        background-color: #fff;
        color: #10487a; }
        .cta.is-blue:hover::after {
          box-shadow: 1.5px -1.5px 0 0 #10487a; } }
  .cta.is-orange {
    background-color: #f37324;
    border-color: #f37324; }
    @media screen and (min-width: 1201px) {
      .cta.is-orange:hover {
        background-color: #fff;
        color: #f37324; }
        .cta.is-orange:hover::after {
          box-shadow: 1.5px -1.5px 0 0 #f37324; } }
  .cta.is-white {
    background-color: #fff;
    color: #10487a;
    border-color: #fff; }
    @media screen and (min-width: 1201px) {
      .cta.is-white:hover {
        color: #fff;
        background-color: #10487a;
        border-color: #fff; }
        .cta.is-white:hover::after {
          box-shadow: 1.5px -1.5px 0 0 #fff; } }
  .cta.is-orange-border {
    background-color: transparent;
    border-color: #f37324;
    color: #f37324; }
    .cta.is-orange-border:after {
      box-shadow: 1.5px -1.5px 0 0 #f37324; }
    .cta.is-orange-border:hover {
      background-color: #f37324;
      color: #fff; }
      .cta.is-orange-border:hover:after {
        box-shadow: 1.5px -1.5px 0 0 #fff; }

input[type="email"], input[type="number"], input[type="password"], input[type="search"], input[type="tel"], input[type="text"], input[type="url"], input[type="color"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="time"], input[type="week"],
textarea,
.select2-container .select2-selection--multiple {
  border: 1px solid #EAE9EC;
  border-radius: 3px;
  background: #FFF;
  color: #545151;
  padding: 7px 13px;
  font-size: 14px;
  width: 100%;
  outline: none;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  input[type="email"]:focus, input[type="email"].not-empty, input[type="number"]:focus, input[type="number"].not-empty, input[type="password"]:focus, input[type="password"].not-empty, input[type="search"]:focus, input[type="search"].not-empty, input[type="tel"]:focus, input[type="tel"].not-empty, input[type="text"]:focus, input[type="text"].not-empty, input[type="url"]:focus, input[type="url"].not-empty, input[type="color"]:focus, input[type="color"].not-empty, input[type="date"]:focus, input[type="date"].not-empty, input[type="datetime"]:focus, input[type="datetime"].not-empty, input[type="datetime-local"]:focus, input[type="datetime-local"].not-empty, input[type="month"]:focus, input[type="month"].not-empty, input[type="time"]:focus, input[type="time"].not-empty, input[type="week"]:focus, input[type="week"].not-empty,
  textarea:focus,
  textarea.not-empty,
  .select2-container .select2-selection--multiple:focus,
  .select2-container .select2-selection--multiple.not-empty {
    background: #FBF9F8; }

textarea {
  resize: none;
  font-size: 14px;
  padding: 10px 13px;
  background: #FFF;
  border: 1px solid #EAE9EC;
  outline: none;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  textarea:focus {
    background: #FBF9F8; }

.form-submit {
  text-align: center;
  border: 1px solid #10487a;
  border-radius: 40px;
  padding: 12px 22px 11px;
  background: #10487a;
  font-size: 0.875em;
  font-weight: 600;
  color: #fff;
  letter-spacing: -0.44px;
  line-height: 1;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  .form-submit:hover {
    background: #FC572D;
    border: 1px solid #FC572D;
    color: #FFF;
    box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12); }
  @media screen and (max-width: 768px) {
    .form-submit {
      padding: 12px 18px 10px;
      font-size: 0.75em; } }

select {
  visibility: hidden; }

.select2-container {
  display: inline-block !important; }
  .select2-container .select2-selection {
    outline: none; }

.basic-sort-select {
  position: relative;
  background: #FFF;
  box-sizing: border-box;
  overflow: hidden;
  display: inline-block;
  min-width: 200px;
  padding: 19px 26px 10px;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  .basic-sort-select:before {
    content: '';
    position: absolute;
    top: -5px;
    left: 0;
    height: 3px;
    width: 100%;
    -webkit-transition: all 222ms ease-out;
    -moz-transition: all 222ms ease-out;
    transition: all 222ms ease-out;
    background: #FC682D; }
  .basic-sort-select.focus {
    background: #FFF !important; }
    .basic-sort-select.focus:before {
      top: 3px; }
    .basic-sort-select.focus .sort-container {
      opacity: 0.6; }
  .basic-sort-select:hover {
    background: #F3F3F4; }
  .basic-sort-select .title {
    font-size: 0.625em;
    letter-spacing: 1.6px;
    line-height: 1.4;
    text-transform: uppercase;
    margin: 0 0 2px; }
  .basic-sort-select .sort-container {
    font-size: 0.8125em;
    line-height: 1.9;
    letter-spacing: 0.38px;
    font-weight: 500;
    background: url("../../html_prototype/images/sort-arrow.svg") no-repeat right center;
    background-size: 6.5px auto;
    cursor: pointer;
    padding: 2px 24px 2px 2px; }
  .basic-sort-select .sort-select {
    position: relative;
    display: none; }
  .basic-sort-select ul {
    list-style: none;
    padding: 0;
    margin: 0; }
    .basic-sort-select ul li {
      font-size: 0.75em;
      line-height: 1.25;
      margin: 10px 0;
      cursor: pointer; }

.basic-sort-input {
  position: relative;
  display: inline-block;
  background: #FFF;
  overflow: hidden;
  padding: 24px 19px 21px 29px;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  .basic-sort-input:before {
    content: '';
    position: absolute;
    top: -5px;
    left: 0;
    height: 3px;
    width: 100%;
    -webkit-transition: all 222ms ease-out;
    -moz-transition: all 222ms ease-out;
    transition: all 222ms ease-out;
    background: #FC682D; }
  .basic-sort-input.focus {
    background: #FFF !important; }
    .basic-sort-input.focus:before {
      top: 3px; }
  .basic-sort-input:hover {
    background: #F3F3F4; }
  .basic-sort-input input,
  .basic-sort-input .search {
    display: inline-block;
    vertical-align: middle; }
  .basic-sort-input input {
    font-size: 0.8125em;
    font-weight: 500;
    line-height: 1.9;
    letter-spacing: -0.38px;
    min-width: 200px; }
  .basic-sort-input .search {
    cursor: pointer;
    height: 11px;
    width: 11px;
    background: url("../../html_prototype/images/search.svg") no-repeat center;
    background-size: 11px; }

.search-input {
  position: relative;
  background: #FBF9F8;
  border: 1px solid #EAEAEA;
  border-radius: 3px;
  display: inline-block;
  padding: 11px 19px 11px 16px; }
  .search-input input,
  .search-input .search {
    display: inline-block;
    vertical-align: middle; }
  .search-input input {
    min-width: 200px;
    line-height: 1.7;
    font-size: 0.8125em;
    font-weight: 600;
    color: #545151; }
    .search-input input::-webkit-input-placeholder {
      font-size: 0.9375em;
      color: #666262; }
    .search-input input::-moz-placeholder {
      font-size: 0.9375em;
      color: #666262; }
    .search-input input:-moz-placeholder {
      font-size: 0.9375em;
      color: #666262; }
    .search-input input:-ms-input-placeholder {
      font-size: 0.9375em;
      color: #666262; }
  .search-input .search {
    cursor: pointer;
    height: 18px;
    width: 18px;
    background: url("../../html_prototype/images/search.svg") no-repeat center;
    background-size: 15px;
    -webkit-transition: all 222ms ease-out;
    -moz-transition: all 222ms ease-out;
    transition: all 222ms ease-out; }
    .search-input .search:hover {
      -webkit-transform: scale(1.1);
      -moz-transform: scale(1.1);
      -ms-transform: scale(1.1);
      -o-transform: scale(1.1);
      transform: scale(1.1); }

.login-form {
  text-align: left; }
  .login-form label {
    font-size: 0.75em;
    color: #545151;
    padding-left: 10px;
    line-height: 1.25; }
  .login-form .login-input {
    width: 100%;
    border-radius: 3px;
    font-size: 0.75em;
    color: #958E9C;
    padding: 7px 19px;
    border: 1px solid #EAE9EC;
    margin-bottom: 33px; }
    .login-form .login-input:last-of-type {
      margin-bottom: 0; }
  .login-form .btn-login {
    display: block;
    text-align: center;
    width: 90px;
    margin: 72px auto 19px; }

.entityform .select2-container.select2-container--focus .select2-selection {
  background: #FBF9F8; }

.entityform .select2-container .select2-selection {
  outline: none;
  padding: 9px 14px 6px 11px;
  background: #FFF;
  height: auto;
  border: 1px solid #EAE9EC; }
  .entityform .select2-container .select2-selection .select2-selection__rendered {
    font-size: 0.875em;
    line-height: 1.64;
    padding: 0;
    color: #666262; }
  .entityform .select2-container .select2-selection .select2-selection__arrow {
    position: absolute;
    top: 0;
    right: 13px;
    bottom: 0;
    margin: auto; }

.entityform label {
  padding-left: 10px;
  font-size: 0.6875em;
  color: #666262;
  font-weight: normal; }
  .entityform label .form-required {
    color: #666262; }

.entityform .grippie {
  display: none; }

.entityform .form-actions {
  text-align: center;
  margin: 30px 0 0; }

form .select2-container--default .select2-selection--multiple .select2-selection__choice {
  background-color: #FFF;
  border-radius: 22px;
  border: 0;
  font-size: 11px;
  text-transform: uppercase;
  font-weight: 300;
  padding: 5px 12px;
  margin-right: 10px;
  letter-spacing: 0.25em; }

.captcha {
  text-align: center;
  margin-top: -30px;
  margin-bottom: 30px; }
  .captcha .g-recaptcha {
    display: inline-block; }

.primary-call-action {
  position: relative;
  display: inline-block;
  font-size: 0.875em;
  font-weight: 600;
  color: #FC572D;
  line-height: 1;
  letter-spacing: -0.44px;
  text-transform: capitalize;
  border: 0;
  box-shadow: inset 0 0 0 1px #FC572D;
  border-radius: 40px;
  overflow: hidden;
  z-index: 1;
  box-sizing: border-box;
  background: none;
  cursor: pointer;
  outline: none;
  margin: 1px;
  padding: 14px 19px 12px;
  -webkit-transition: all 130ms ease-out;
  -moz-transition: all 130ms ease-out;
  transition: all 130ms ease-out; }
  .primary-call-action:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: -1%;
    border-radius: 40px;
    background: #FC572D;
    height: 102%;
    width: 0;
    -webkit-transition: all 130ms ease-out;
    -moz-transition: all 130ms ease-out;
    transition: all 130ms ease-out;
    z-index: -1; }
  @media screen and (max-width: 768px) {
    .primary-call-action {
      padding: 12px 18px 10px;
      font-size: 0.75em; } }
  .primary-call-action.white {
    color: #FFF;
    box-shadow: inset 0 0 0 1px #FFF; }
    .primary-call-action.white:before {
      background: #FFF; }
  .primary-call-action.orange {
    background: #FC682D;
    color: #FFF; }
  .primary-call-action.grey {
    box-shadow: inset 0 0 0 1px #999;
    color: #999; }
  .primary-call-action:hover {
    color: #FFF;
    box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12); }
    .primary-call-action:hover.white {
      box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12);
      color: #FC572D; }
    .primary-call-action:hover:before {
      height: 102%;
      width: 102%; }

input.primary-call-action:hover.white {
  background: #FFF; }

input.primary-call-action:hover.grey {
  color: #3B3535;
  background: #FFF;
  box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12); }

.secondary-call-action, .company-header .form-submit, .view-commerce-cart-form #edit-coupon-code .form-submit,
.view-commerce-cart-form #edit-coupon-code--2 .form-submit {
  position: relative;
  display: inline-block;
  font-size: 0.75em;
  min-width: 60px;
  font-weight: 600;
  color: #FC572D;
  line-height: 1.167;
  letter-spacing: -0.38px;
  text-transform: capitalize;
  border: 0;
  box-shadow: inset 0 0 0 1px #FC572D;
  border-radius: 40px;
  overflow: hidden;
  z-index: 1;
  text-align: center;
  background: transparent;
  cursor: pointer;
  padding: 10px 14px 8px;
  -webkit-transition: all 130ms ease-out;
  -moz-transition: all 130ms ease-out;
  transition: all 130ms ease-out;
  margin: 1px; }
  .secondary-call-action:before, .company-header .form-submit:before, .view-commerce-cart-form #edit-coupon-code .form-submit:before,
  .view-commerce-cart-form #edit-coupon-code--2 .form-submit:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: -10px;
    border-radius: 40px;
    background: #FC572D;
    border: 1px solid #FC572D;
    height: 100%;
    width: 0;
    -webkit-transition: all 130ms ease-out;
    -moz-transition: all 130ms ease-out;
    transition: all 130ms ease-out;
    z-index: -1; }
  .secondary-call-action.white, .company-header .white.form-submit, .view-commerce-cart-form #edit-coupon-code .white.form-submit,
  .view-commerce-cart-form #edit-coupon-code--2 .white.form-submit {
    color: #FFF;
    box-shadow: inset 0 0 0 1px #FFF; }
    .secondary-call-action.white:before, .company-header .white.form-submit:before, .view-commerce-cart-form #edit-coupon-code .white.form-submit:before,
    .view-commerce-cart-form #edit-coupon-code--2 .white.form-submit:before {
      background: #FFF; }
  .secondary-call-action:hover, .company-header .form-submit:hover, .view-commerce-cart-form #edit-coupon-code .form-submit:hover,
  .view-commerce-cart-form #edit-coupon-code--2 .form-submit:hover {
    color: #FFF;
    font-weight: 500;
    box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12); }
    .secondary-call-action:hover.white, .company-header .form-submit:hover.white, .view-commerce-cart-form #edit-coupon-code .form-submit:hover.white,
    .view-commerce-cart-form #edit-coupon-code--2 .form-submit:hover.white {
      color: #FC572D;
      box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12); }
    .secondary-call-action:hover:before, .company-header .form-submit:hover:before, .view-commerce-cart-form #edit-coupon-code .form-submit:hover:before,
    .view-commerce-cart-form #edit-coupon-code--2 .form-submit:hover:before {
      height: 100%;
      width: calc(100% + 10px); }
  .secondary-call-action:active, .company-header .form-submit:active, .view-commerce-cart-form #edit-coupon-code .form-submit:active,
  .view-commerce-cart-form #edit-coupon-code--2 .form-submit:active {
    font-weight: 500; }
    .secondary-call-action:active.white:before, .company-header .form-submit:active.white:before, .view-commerce-cart-form #edit-coupon-code .form-submit:active.white:before,
    .view-commerce-cart-form #edit-coupon-code--2 .form-submit:active.white:before {
      background: #DDD; }
    .secondary-call-action:active:before, .company-header .form-submit:active:before, .view-commerce-cart-form #edit-coupon-code .form-submit:active:before,
    .view-commerce-cart-form #edit-coupon-code--2 .form-submit:active:before {
      background: #F2743A; }

.ticket-call-action {
  position: relative;
  display: inline-block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #FC572D;
  line-height: 1;
  letter-spacing: -0.44px;
  text-transform: capitalize;
  border: 1px solid #FC572D;
  border-right: 0;
  overflow: hidden;
  z-index: 1;
  cursor: pointer;
  padding: 14px 40px 12px 20px;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  @media screen and (max-width: 680px) {
    .ticket-call-action {
      font-size: 0.8125rem;
      padding: 10px 30px 8px 15px; } }
  .ticket-call-action:before {
    content: '';
    position: absolute;
    top: 0;
    right: 20px;
    background-image: linear-gradient(to bottom, #FC572D 50%, #FFF 50%);
    background-position: left 2.5px;
    background-size: 1px 10px;
    background-repeat: repeat-y;
    height: 100%;
    width: 1px;
    z-index: -1; }
  .ticket-call-action:after {
    content: '';
    position: absolute;
    bottom: -1%;
    left: -1%;
    background: #FC572D;
    height: 102%;
    width: 0;
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out;
    z-index: -2; }
  .ticket-call-action .circle {
    position: absolute;
    top: 0;
    right: -11px;
    bottom: 0;
    height: 19px;
    width: 19px;
    margin: auto 0;
    background: transparent;
    border: 1px solid #FC572D;
    border-radius: 50%;
    z-index: 2; }
    .ticket-call-action .circle:before, .ticket-call-action .circle:after {
      content: '';
      height: 100px;
      width: 1px;
      margin: auto;
      background: #FC572D; }
    .ticket-call-action .circle:before {
      position: absolute;
      top: -100px;
      left: 6px; }
    .ticket-call-action .circle:after {
      position: absolute;
      bottom: -100px;
      left: 6px; }
  .ticket-call-action.white {
    color: #FFF;
    border-color: #FFF; }
    .ticket-call-action.white .circle {
      background: transparent;
      border-color: #FFF; }
      .ticket-call-action.white .circle:before, .ticket-call-action.white .circle:after {
        background: transparent; }
    .ticket-call-action.white:before {
      background-image: linear-gradient(to bottom, #FFF 50%, #3B3535 50%);
      background-position: left 2.5px;
      background-size: 1px 10px;
      background-repeat: repeat-y; }
    .ticket-call-action.white:after {
      background: transparent; }
  .ticket-call-action:hover {
    color: #FFF; }
    .ticket-call-action:hover .circle {
      background: #FFF !important; }
    .ticket-call-action:hover.white {
      color: #FC572D; }
    .ticket-call-action:hover.hightlight {
      box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12); }
    .ticket-call-action:hover:after {
      height: 102%;
      width: 102%; }

.tertiary-call-action {
  position: relative;
  font-weight: 500;
  font-size: 0.75em;
  color: #545151;
  line-height: 1.25;
  cursor: pointer;
  padding: 0 15px 0 9px; }
  .tertiary-call-action:after {
    content: '';
    background-repeat: no-repeat;
    position: absolute;
    top: 5px;
    right: 0;
    -webkit-transition: all 222ms ease-out;
    -moz-transition: all 222ms ease-out;
    transition: all 222ms ease-out; }
  .tertiary-call-action:before {
    content: '';
    position: absolute;
    top: 4px;
    left: 0;
    height: 10px;
    width: 2px;
    background: #FC682D; }
  .tertiary-call-action.dir-left:after {
    height: 8px;
    width: 11.5px;
    background-image: url("../../images/build/arrow-left.svg");
    background-position: -12px center;
    background-size: 11.5px auto; }
  .tertiary-call-action.dir-left.white {
    color: #FFF; }
    .tertiary-call-action.dir-left.white:after {
      background-image: url("../../images/build/arrow-left-white.svg"); }
  .tertiary-call-action.dir-down:after {
    height: 11.5px;
    width: 8px;
    background-image: url("../../images/build/arrow-down.svg");
    background-position: center 15px;
    background-size: 7px auto; }
  .tertiary-call-action.dir-down.white {
    color: #FFF; }
    .tertiary-call-action.dir-down.white:after {
      background-image: url("../../images/build/arrow-down-white.svg"); }
  .tertiary-call-action:hover.dir-left:after {
    background-position: center; }
  .tertiary-call-action:hover.dir-down:after {
    background-position: center -1px; }

.link-normal {
  position: relative;
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1.25;
  cursor: pointer;
  color: #FC682D;
  padding: 0 2px 4px;
  text-transform: lowercase; }
  .link-normal:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    height: 1px;
    width: 100%;
    opacity: 0;
    background: #FC682D;
    -webkit-transform: translateY(10px);
    -moz-transform: translateY(10px);
    -ms-transform: translateY(10px);
    -o-transform: translateY(10px);
    transform: translateY(10px);
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }
  .link-normal.white:after {
    height: 2px;
    width: 100%;
    background: #4F4F4F; }
  .link-normal:hover:after {
    opacity: 1;
    -webkit-transform: translateY(0px);
    -moz-transform: translateY(0px);
    -ms-transform: translateY(0px);
    -o-transform: translateY(0px);
    transform: translateY(0px); }

.link-underline {
  position: relative;
  font-size: 0.75em;
  color: #3B3535;
  line-height: 1.25;
  cursor: pointer;
  text-transform: capitalize;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(to right, #F2743A, #F2743A 50%, #3B3535 50%);
  background-size: 200% 100%;
  background-position: 100%;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  .link-underline:after {
    content: '';
    height: 1px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background-image: linear-gradient(to right, #F2743A, #F2743A 50%, #3B3535 50%);
    background-size: 201% 100%;
    background-position: 99.9%;
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }
  .link-underline.white {
    background-image: linear-gradient(to right, #F2743A, #F2743A 50%, #FFF 50%); }
    .link-underline.white:after {
      background-image: linear-gradient(to right, #F2743A, #F2743A 50%, #FFF 50%); }
  .link-underline:hover, .link-underline:active {
    background-position: 0; }
    .link-underline:hover:after, .link-underline:active:after {
      background-position: 0; }

.btn-back {
  width: 100%;
  font-size: 0.75em;
  color: #474545;
  line-height: 1.25;
  padding-left: 13px;
  background: url("../../html_prototype/images/back-arrow.svg") no-repeat left center;
  background-size: 4.5px auto;
  cursor: pointer;
  display: none; }
  @media screen and (max-width: 680px) {
    .btn-back {
      display: inline-block; } }

.btn-more {
  display: none;
  float: right;
  text-align: right;
  width: 50px;
  font-size: 0.75em;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: -0.32px;
  padding-right: 15px;
  margin-top: 6px;
  cursor: pointer;
  background: url("../../images/build/more-arrow.png") no-repeat right center;
  background-size: 9px auto; }

button {
  outline: none; }

.profile-tab-link {
  font-size: 1rem;
  font-weight: 400;
  text-transform: capitalize;
  padding: 7px 23px 7px 15px; }
  .profile-tab-link::after {
    top: -2px;
    right: 0;
    position: relative;
    content: '';
    width: 8px;
    height: 8px;
    rotate: 45deg;
    box-shadow: 1.5px -1.5px 0 0 #fff;
    display: inline-block; }
  @media screen and (max-width: 680px) {
    .profile-tab-link {
      position: absolute;
      bottom: 0;
      left: 0; } }
  .profile-tab-link::after {
    margin-left: 8px; }

.bean-our-partners {
  position: relative;
  padding: 104px 0 88px;
  background: #FBF9F8; }
  .bean-our-partners .text-wrap {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    .bean-our-partners .text-wrap:last-child {
      margin-right: 0; }
  .bean-our-partners .partners-wrap {
    margin-left: 17.02128%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 23.40426%; }
    .bean-our-partners .partners-wrap:last-child {
      margin-right: 0; }
  .bean-our-partners .partners-list {
    margin: 0;
    padding: 0; }
    .bean-our-partners .partners-list li {
      list-style: none;
      margin-bottom: 34px; }
      .bean-our-partners .partners-list li:last-of-type {
        margin-bottom: 0; }
    .bean-our-partners .partners-list .image {
      margin-bottom: 11px; }
      .bean-our-partners .partners-list .image img {
        zoom: 50%; }
    .bean-our-partners .partners-list .text {
      font-size: 12px;
      color: #666262;
      line-height: 1.5; }
  .bean-our-partners strong {
    font-size: 14px;
    color: #545151;
    line-height: 1.43; }
  .bean-our-partners h3 {
    font-size: 11px;
    color: #474545;
    margin-bottom: 37px;
    text-transform: uppercase;
    letter-spacing: 2.8px;
    font-weight: normal; }
  .bean-our-partners .secondary-call-action, .bean-our-partners .company-header .form-submit, .company-header .bean-our-partners .form-submit, .bean-our-partners .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .bean-our-partners .form-submit,
  .bean-our-partners .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .bean-our-partners .form-submit {
    margin-top: 10px; }
  @media screen and (max-width: 768px) {
    .bean-our-partners {
      padding: 60px 0 46px; }
      .bean-our-partners .text-wrap {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 57.44681%;
        margin-bottom: 35px; }
        .bean-our-partners .text-wrap:last-child {
          margin-right: 0; }
      .bean-our-partners .partners-wrap {
        margin-left: 0%;
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 65.95745%; }
        .bean-our-partners .partners-wrap:last-child {
          margin-right: 0; }
      .bean-our-partners .partners-list li {
        position: relative;
        float: left;
        display: block;
        margin-right: 3.22581%;
        width: 48.3871%; }
        .bean-our-partners .partners-list li:last-child {
          margin-right: 0; }
      .bean-our-partners .partners-list .image {
        height: 40px; }
      .bean-our-partners p {
        margin-bottom: 6px; }
      .bean-our-partners h3 {
        margin-bottom: 15px; } }
  @media screen and (max-width: 680px) {
    .bean-our-partners {
      padding: 40px 20px; }
      .bean-our-partners:before {
        content: '';
        height: 84px;
        width: 84px;
        position: absolute;
        top: -42px;
        right: -42px;
        background: rgba(252, 104, 45, 0.13);
        border-radius: 50%; }
      .bean-our-partners .text-wrap {
        float: none;
        width: 100%;
        margin: 0 0 30px; }
      .bean-our-partners .partners-wrap {
        float: none;
        width: 100%; }
      .bean-our-partners .partners-list li {
        display: inline-block;
        width: auto;
        margin: 0 26px 0 0; }
        .bean-our-partners .partners-list li:first-of-type {
          margin-left: 6px; }
      .bean-our-partners .partners-list .image {
        margin-bottom: 0; }
      .bean-our-partners .partners-list .text {
        display: none; } }

.anchor-tab {
  position: relative; }
  @media (min-width: 681px) {
    .anchor-tab {
      max-height: calc(100vh - 214px);
      overflow: auto; } }
  .anchor-tab h2 {
    font-size: 0.6875em;
    text-transform: uppercase;
    margin-bottom: 42px;
    color: #474545;
    letter-spacing: 2.8px;
    font-weight: normal; }
  .anchor-tab ul {
    list-style: none;
    padding: 0;
    margin: 0;
    box-sizing: border-box; }
    .anchor-tab ul.focus li {
      color: #999; }
      .anchor-tab ul.focus li.active {
        color: #474545; }
    .anchor-tab ul li {
      position: relative;
      font-size: 0.9375rem;
      line-height: 1.7;
      text-transform: capitalize;
      color: #545151;
      cursor: pointer;
      padding: 0 0 18px 0;
      -webkit-transition: all 113ms linear;
      -moz-transition: all 113ms linear;
      transition: all 113ms linear; }
      .anchor-tab ul li:last-of-type {
        padding-bottom: 0; }
      .anchor-tab ul li.active {
        font-weight: 600;
        color: #474545; }
  .anchor-tab .anchor-nav {
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 25px;
    background: #FC682D;
    -webkit-transition: all 113ms ease-out;
    -moz-transition: all 113ms ease-out;
    transition: all 113ms ease-out;
    opacity: 0; }

.item-list ul {
  margin-bottom: 0; }

.item-list .pager li {
  padding: 0 7px;
  margin: 0 5px;
  color: #999;
  font-weight: 500;
  font-size: 0.9375rem;
  height: 25px;
  width: 25px;
  display: inline-block;
  vertical-align: middle; }
  .item-list .pager li a {
    color: #999;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
  .item-list .pager li.pager-current,
  .item-list .pager li:hover a {
    color: #FC682D;
    font-weight: 600; }

.item-list .pager .pager-item,
.item-list .pager .pager-current {
  margin-top: 1px; }

.item-list .pager .pager-first,
.item-list .pager .pager-previous,
.item-list .pager .pager-ellipsis,
.item-list .pager .pager-next,
.item-list .pager .pager-last {
  color: transparent; }
  .item-list .pager .pager-first a,
  .item-list .pager .pager-previous a,
  .item-list .pager .pager-ellipsis a,
  .item-list .pager .pager-next a,
  .item-list .pager .pager-last a {
    height: 0;
    overflow: hidden;
    display: block;
    padding-top: 30px; }
  .item-list .pager .pager-first:not(.pager-ellipsis),
  .item-list .pager .pager-previous:not(.pager-ellipsis),
  .item-list .pager .pager-ellipsis:not(.pager-ellipsis),
  .item-list .pager .pager-next:not(.pager-ellipsis),
  .item-list .pager .pager-last:not(.pager-ellipsis) {
    cursor: pointer; }

.item-list .pager .pager-first {
  background: url("../../images/build/pager-aw-first.png") no-repeat center;
  background-size: 11px auto; }

.item-list .pager .pager-previous {
  background: url("../../images/build/pager-aw-prev.png") no-repeat center;
  background-size: 5px auto; }

.item-list .pager .pager-ellipsis {
  background: url("../../images/build/pager-ellipsis.png") no-repeat center;
  background-size: 9px auto; }

.item-list .pager .pager-next {
  background: url("../../images/build/pager-aw-next.png") no-repeat center;
  background-size: 5px auto; }

.item-list .pager .pager-last {
  background: url("../../images/build/pager-aw-last.png") no-repeat center;
  background-size: 11px auto; }

@media screen and (max-width: 680px) {
  .item-list .pager {
    margin: 0 0 40px; }
    .item-list .pager li {
      margin: 0 3px; }
    .item-list .pager .pager-first,
    .item-list .pager .pager-last {
      display: none; } }

.card {
  cursor: pointer;
  position: relative;
  display: flex;
  flex-direction: column;
  background-color: #fff;
  overflow: hidden;
  border-radius: 20px;
  height: 100%;
  transition: translate 0.3s cubic-bezier(0.38, 0.18, 0.43, 1); }
  .card:hover {
    translate: 0 -10px; }
    .card:hover .card-picture {
      scale: 1; }
  .card-content {
    padding: 11px 14px 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    height: 100%; }
  .card-frame {
    overflow: hidden;
    flex-shrink: 0;
    position: relative; }
    .card-frame .image {
      position: relative;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      min-height: 169px; }
    .card-frame .price {
      position: absolute;
      top: 0;
      right: 0;
      background: #F2743A;
      color: #FFF;
      z-index: 2;
      font-size: 0.75rem;
      padding: 6px 10px 3px;
      font-weight: 500;
      letter-spacing: 0.92px;
      line-height: 1.41;
      text-transform: capitalize; }
  .card-picture {
    position: relative;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    min-height: 169px;
    scale: 1.05;
    transition: scale 0.3s cubic-bezier(0.38, 0.18, 0.43, 1); }
  .card .topic {
    position: absolute;
    top: 8px;
    right: 0;
    background: #F2743A;
    color: #FFF;
    padding: 3px 10px;
    font-size: 0.625rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    z-index: 5;
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    font-weight: 500; }
  .card-title {
    font-size: 0.9375rem;
    letter-spacing: -0.03em;
    line-height: 1.33;
    font-weight: 600;
    margin-bottom: 9px;
    color: #10487a; }
  .card-date {
    display: block;
    font-size: 0.75rem;
    letter-spacing: 0.16em;
    line-height: normal;
    font-weight: 600;
    color: #474545;
    text-transform: uppercase;
    margin-bottom: 7px; }
  .card .created-date {
    font-size: 0.6875em;
    font-weight: normal;
    margin-bottom: 5px;
    color: #666262; }
  .card .category-wrapper {
    width: 100%;
    margin-bottom: 15px; }
  .card .category {
    font-size: 0;
    margin-bottom: 8px; }
    .card .category span {
      font-size: 0.6875rem;
      text-transform: uppercase;
      font-weight: 400;
      color: #666262;
      position: relative;
      display: inline-block;
      line-height: 1.5; }
      .card .category span:not(:last-of-type) {
        margin-right: 10px; }
        .card .category span:not(:last-of-type)::before {
          position: absolute;
          top: 0;
          right: -7px;
          content: '|'; }
  .card .more-category {
    float: left;
    font-size: 0.625em;
    letter-spacing: 1.6px;
    line-height: 1.4;
    margin: 0 7px 3px 0;
    font-weight: 500;
    color: #999; }
  .card-desc {
    margin: 0 0 18px;
    font-size: 0.75rem;
    letter-spacing: -0.3px;
    line-height: 1.58;
    color: #666262;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden; }
  .card-cta {
    font-size: 1rem;
    font-weight: 400;
    padding: 8px 24px 6px 16px;
    margin-top: auto; }
    .card-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .card-cta::after {
      margin-left: 8px; }

.card-horizontal {
  cursor: pointer;
  position: relative;
  width: 100%;
  max-width: 385px;
  margin: 30px 0;
  background: #FAF8F7;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  .card-horizontal .date-wrapper {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 40px; }
    .card-horizontal .date-wrapper .date {
      font-size: 1.125em;
      font-weight: 600;
      -webkit-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
      -moz-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
      -ms-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
      -o-transform: translateX(-50%) translateY(-50%) rotate(-90deg);
      transform: translateX(-50%) translateY(-50%) rotate(-90deg);
      margin: 0 0 0 20px;
      position: absolute;
      top: 50%;
      text-align: center;
      color: #999;
      min-width: 100px;
      text-transform: uppercase; }
  .card-horizontal .content {
    position: relative;
    margin-left: 40px;
    min-height: 180px;
    padding: 26px 44px 18px 24px; }
  .card-horizontal .image-wrapper {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%; }
    .card-horizontal .image-wrapper .image {
      position: relative;
      height: 100%;
      width: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      -webkit-transition: all 333ms ease-out;
      -moz-transition: all 333ms ease-out;
      transition: all 333ms ease-out; }
      .card-horizontal .image-wrapper .image:after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background: #FFF;
        opacity: 0.95;
        -webkit-transition: all 333ms ease-out;
        -moz-transition: all 333ms ease-out;
        transition: all 333ms ease-out; }
  .card-horizontal .network {
    margin-bottom: 6px;
    font-size: 0.625em;
    text-transform: uppercase;
    letter-spacing: 1.6px;
    line-height: 1.4;
    position: relative;
    color: #474545; }
  .card-horizontal .title {
    font-size: 1.125em;
    font-weight: 600;
    letter-spacing: -0.53px;
    line-height: 1.3;
    margin-bottom: 12px;
    position: relative;
    color: #3B3535; }
  .card-horizontal p {
    font-size: 0.75em;
    letter-spacing: -0.3px;
    line-height: 1.58;
    color: #666262;
    margin-bottom: 11px;
    position: relative; }
  .card-horizontal:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
    box-shadow: 0 30px 40px 0 rgba(0, 0, 0, 0.12); }
    .card-horizontal:hover a {
      text-decoration: none !important; }
    .card-horizontal:hover .image {
      -webkit-transform: scale(1.2);
      -moz-transform: scale(1.2);
      -ms-transform: scale(1.2);
      -o-transform: scale(1.2);
      transform: scale(1.2); }
      .card-horizontal:hover .image:after {
        opacity: 0.9; }
  @media screen and (max-width: 680px) {
    .card-horizontal {
      margin: 15px 0; }
      .card-horizontal .content {
        padding: 16px 20px 15px; }
      .card-horizontal .network {
        margin-bottom: 3px; }
      .card-horizontal .title {
        font-size: 0.9375em;
        margin-bottom: 5px; }
      .card-horizontal p {
        margin-bottom: 27px; } }

.card-square {
  position: relative;
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 23.40426%;
  text-align: center;
  margin-bottom: 20px;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out;
  cursor: pointer; }
  .card-square:last-child {
    margin-right: 0; }
  .card-square:after {
    content: '';
    display: block;
    padding-top: 100%;
    background: #FBF9F8; }
  .card-square .content {
    padding: 25px;
    margin: auto;
    position: absolute;
    top: 50%;
    right: 0;
    left: 0;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%); }
  .card-square .icon {
    width: 25px;
    margin: 0 auto 20px; }
    .card-square .icon img {
      width: 100%;
      height: auto;
      display: block;
      margin: 0 auto;
      -webkit-transition: all 333ms ease-out;
      -moz-transition: all 333ms ease-out;
      transition: all 333ms ease-out; }
  .card-square .title {
    font-size: 1.125rem;
    font-weight: 500;
    letter-spacing: -0.53px;
    line-height: 1.3;
    margin-bottom: 17px; }
  .card-square p {
    font-size: 0.75rem;
    color: #666262;
    letter-spacing: 0;
    line-height: 1.58;
    margin-bottom: 0; }
  .card-square:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
    box-shadow: 0 30px 20px 0 rgba(0, 0, 0, 0.08); }
  @media screen and (max-width: 1200px) {
    .card-square .content {
      padding: 12px; }
    .card-square .icon {
      width: 20px;
      margin: 0 auto 7px; }
    .card-square .title {
      font-size: 0.9375rem;
      letter-spacing: -0.44px;
      line-height: 1.6;
      margin-bottom: 10px; }
    .card-square p {
      font-size: 0.6875rem;
      line-height: 1.45; } }
  @media screen and (max-width: 768px) {
    .card-square .content {
      padding: 25px; }
    .card-square .icon {
      width: 30px;
      margin-bottom: 17px; }
    .card-square .title {
      font-size: 0.9375em;
      margin-bottom: 0;
      height: 45px; }
    .card-square p {
      display: none; } }
  @media screen and (max-width: 680px) {
    .card-square {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%;
      margin-bottom: 15px; }
      .card-square:nth-child(4n) {
        margin-right: 2.12766%; }
      .card-square:nth-child(4n+1) {
        clear: none; }
      .card-square:last-child {
        margin-right: 0; }
      .card-square:nth-child(2n) {
        margin-right: 0; }
      .card-square:nth-child(2n+1) {
        clear: left; }
      .card-square .title {
        font-size: 0.875rem; } }

.card-login {
  cursor: pointer;
  width: 225px;
  position: relative;
  padding: 34px 20px 33px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  z-index: 0;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  .card-login:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: #F2743A;
    opacity: 0.93;
    z-index: -1; }
  .card-login .title {
    font-size: 1.125em;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.53px;
    color: #FFF; }
  .card-login .sub-title {
    font-size: 0.6875em;
    color: #FFF;
    text-transform: lowercase; }
  .card-login:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
    box-shadow: 0 30px 20px 0 rgba(0, 0, 0, 0.08); }

.email-subscription {
  position: relative;
  padding: 64px 21px 100px 31px;
  overflow: hidden;
  margin-bottom: 25px;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  .email-subscription .background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: url("../../images/build/email-subscription.jpg") no-repeat center;
    background-size: cover;
    z-index: 0;
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }
    .email-subscription .background:after {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: #F2743A;
      opacity: 0.9;
      z-index: -1;
      -webkit-transition: all 333ms ease-out;
      -moz-transition: all 333ms ease-out;
      transition: all 333ms ease-out; }
  .email-subscription .title {
    font-size: 1.3125em;
    line-height: 1.2;
    margin-bottom: 8px;
    color: #FFF;
    text-transform: capitalize;
    position: relative; }
  .email-subscription p {
    font-size: 0.875em;
    line-height: 1.5;
    color: #FFF;
    position: relative; }
  .email-subscription .primary-call-action {
    display: inline-table;
    position: absolute;
    bottom: 44px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%); }
  .email-subscription:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05); }
    .email-subscription:hover .background {
      -webkit-transform: scale(1.2);
      -moz-transform: scale(1.2);
      -ms-transform: scale(1.2);
      -o-transform: scale(1.2);
      transform: scale(1.2); }
      .email-subscription:hover .background:after {
        opacity: 0.95; }
  @media screen and (max-width: 680px) {
    .email-subscription {
      padding: 43px 26px 38px; }
      .email-subscription .title {
        width: 280px; }
      .email-subscription p {
        font-size: 0.8125em;
        font-weight: 500;
        margin-bottom: 15px; }
      .email-subscription .primary-call-action {
        position: relative;
        top: inherit;
        right: inherit;
        bottom: inherit;
        left: inherit;
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
        transform: translateX(0); } }

.card-team {
  z-index: 1;
  border-radius: 20px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: translate 0.3s ease-in-out, box-shadow 0.3s ease-in-out; }
  .card-team:hover {
    translate: 0 -15px;
    box-shadow: 0px 0px 24px rgba(25, 32, 56, 0.08); }
    .card-team:hover .card-team-content {
      background-color: #10487a; }
    .card-team:hover .card-team-desc,
    .card-team:hover .card-team-salutation,
    .card-team:hover .card-team-position,
    .card-team:hover .card-team-name {
      color: #fff; }
  .card-team-figure {
    overflow: hidden;
    height: 191px;
    flex-shrink: 0; }
  .card-team-image {
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
  .card-team-content {
    padding: 10px 20px;
    transition: background-color 0.3s ease-in-out;
    height: 100%;
    display: flex;
    flex-direction: column; }
  .card-team-position {
    font-size: 0.625rem;
    color: #474545;
    text-transform: uppercase;
    line-height: 1.4;
    letter-spacing: 1.6px;
    margin-bottom: 10px;
    font-weight: normal;
    transition: color 0.3s ease-in-out; }
  .card-team-name {
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.3;
    letter-spacing: -0.44px;
    margin-bottom: 3px;
    transition: color 0.3s ease-in-out; }
  .card-team-desc {
    font-size: 0.75em;
    color: #666262;
    line-height: 1.58;
    letter-spacing: -0.3px;
    margin-bottom: -5px;
    transition: color 0.3s ease-in-out; }
  .card-team-salutation {
    font-size: 0.75em;
    color: #666262;
    line-height: 1.58;
    letter-spacing: -0.3px;
    margin-bottom: 0;
    transition: color 0.3s ease-in-out; }
  .card-team-link {
    margin-top: auto;
    font-size: 0.75rem;
    color: #f37324;
    display: inline-block; }

.card-team-detail {
  width: 80%;
  max-width: 755px;
  display: none;
  padding: 60px 75px !important; }
  .card-team-detail .team-image {
    position: relative;
    height: 188px;
    width: 188px;
    margin-right: 35px;
    display: inline-block;
    vertical-align: middle; }
    .card-team-detail .team-image .team-image-wrapper {
      border-radius: 50%;
      height: 100%;
      width: 100%;
      margin: 0 auto;
      overflow: hidden; }
      .card-team-detail .team-image .team-image-wrapper:after {
        content: '';
        display: block;
        padding-top: 100%; }
      .card-team-detail .team-image .team-image-wrapper .image {
        position: absolute;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        border-radius: 50%; }
        .card-team-detail .team-image .team-image-wrapper .image:after {
          content: '';
          height: 35px;
          width: 35px;
          border-radius: 50%;
          background: rgba(252, 104, 45, 0.75);
          position: absolute;
          right: 20px;
          bottom: 5px; }
        .node-type-networks-landing .card-team-detail .team-image .team-image-wrapper .image::after {
          display: none; }
  .card-team-detail .content {
    display: inline-block;
    vertical-align: middle;
    width: calc(100% - 185px - 45px); }
    .card-team-detail .content .salutation {
      color: #666262;
      font-size: 0.875rem;
      line-height: 1.65;
      margin-bottom: 2px; }
    .card-team-detail .content .title {
      color: #666262;
      font-size: 0.875rem;
      line-height: 1.65;
      font-weight: normal; }
    .card-team-detail .content .name {
      font-size: 1.0625em;
      font-weight: 600;
      line-height: 1.3;
      letter-spacing: -0.44px;
      margin-bottom: 3px; }
    .card-team-detail .content p {
      font-size: 0.875em;
      color: #666262;
      line-height: 1.58;
      letter-spacing: -0.3px;
      margin-bottom: -5px; }
  .card-team-detail .text {
    margin-top: 35px; }
    .card-team-detail .text p {
      margin-bottom: 10px; }
  .card-team-detail .link {
    text-align: center;
    padding-top: 20px; }
  @media screen and (max-width: 768px) {
    .card-team-detail {
      padding: 40px !important; } }
  @media screen and (max-width: 680px) {
    .card-team-detail {
      width: 100%;
      margin: 0 !important;
      padding: 20px !important; }
      .card-team-detail .team-image {
        width: 100%;
        margin: 0 0 25px; }
        .card-team-detail .team-image .team-image-wrapper .image {
          height: 188px;
          width: 188px;
          right: 0;
          margin: auto; }
      .card-team-detail .content {
        width: 100%; }
        .card-team-detail .content p {
          font-size: 0.8125em;
          margin-bottom: 0; }
      .card-team-detail .text {
        margin-top: 15px; } }

.card-team-slick-wrapper {
  position: fixed !important;
  top: 50%;
  left: 0;
  right: 0;
  z-index: 15;
  margin: auto;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  height: auto;
  width: 755px;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  .card-team-slick-wrapper.active {
    opacity: 1;
    visibility: visible; }
  .card-team-slick-wrapper .close {
    cursor: pointer;
    background: url("../../html_prototype/images/close.svg") no-repeat center;
    background-size: 100%;
    height: 10px;
    width: 10px;
    position: absolute;
    top: 0;
    right: -20px; }
  .card-team-slick-wrapper .team-slick .item {
    padding: 60px 82px;
    background: #FFF; }
  .card-team-slick-wrapper .team-slick .information {
    margin-bottom: 35px; }
  .card-team-slick-wrapper .team-slick .team-image,
  .card-team-slick-wrapper .team-slick .content {
    display: inline-block;
    vertical-align: middle; }
  .card-team-slick-wrapper .team-slick .team-image {
    position: relative;
    height: 188px;
    width: 188px;
    margin-right: 34px; }
    .card-team-slick-wrapper .team-slick .team-image:after {
      content: '';
      height: 35px;
      width: 35px;
      border-radius: 50%;
      background: rgba(252, 104, 45, 0.75);
      position: absolute;
      right: 20px;
      bottom: 5px; }
    .card-team-slick-wrapper .team-slick .team-image .team-image-wrapper {
      height: 100%;
      width: 100%;
      border-radius: 50%;
      margin: 0 auto;
      background-color: rgba(208, 207, 209, 0.44);
      overflow: hidden; }
      .card-team-slick-wrapper .team-slick .team-image .team-image-wrapper .image {
        height: 100%;
        width: 100%;
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
        border-radius: 50%; }
  .card-team-slick-wrapper .team-slick .content .title {
    font-size: 0.625em;
    color: #474545;
    text-transform: uppercase;
    line-height: 1.4;
    letter-spacing: 1.6px;
    margin-bottom: 5px; }
  .card-team-slick-wrapper .team-slick .content .name {
    font-size: 0.9375em;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: -0.44px;
    margin-bottom: 2px; }
  .card-team-slick-wrapper .team-slick .content p {
    font-size: 0.75em;
    color: #666262;
    line-height: 1.58;
    letter-spacing: -0.3px;
    margin-bottom: 2px; }
  .card-team-slick-wrapper .team-slick .text {
    font-size: 0.8125em;
    line-height: 1.6;
    color: #666262; }
  .card-team-slick-wrapper .slick-arrow {
    height: 42px;
    width: 42px;
    border-radius: 50%; }
    .card-team-slick-wrapper .slick-arrow:before {
      content: none; }
    .card-team-slick-wrapper .slick-arrow:hover {
      background: #FFF; }
    .card-team-slick-wrapper .slick-arrow.slick-next {
      right: -92px;
      background: url("../../html_prototype/images/slide-arrow-next.png") no-repeat center #FFF;
      background-size: 7.7px auto; }
    .card-team-slick-wrapper .slick-arrow.slick-prev {
      left: -92px;
      background: url("../../html_prototype/images/slide-arrow-prev.png") no-repeat center #FFF;
      background-size: 7.7px auto; }

.text-group {
  position: relative;
  background: #FFF;
  cursor: pointer;
  max-width: 500px;
  padding: 10px 9px 20px 16px;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }
  .text-group * {
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }
  .text-group:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
    background: rgba(234, 233, 236, 0.26); }
  .text-group.active {
    background: #FC682D; }
    .text-group.active .link-wrapper {
      opacity: 0;
      visibility: hidden; }
    .text-group.active .close {
      opacity: 1;
      visibility: visible; }
    .text-group.active h3,
    .text-group.active .information,
    .text-group.active p {
      color: #FFF; }
  .text-group .link-wrapper {
    position: absolute;
    top: 10px;
    right: 9px; }
    .text-group .link-wrapper a {
      display: inline-block;
      margin-right: 10px; }
      .text-group .link-wrapper a:last-of-type {
        margin-right: 0; }
  .text-group .close {
    position: absolute;
    top: 20px;
    right: 19px;
    height: 3px;
    width: 13px;
    background: #FFF;
    opacity: 0;
    visibility: hidden; }
  .text-group h3 {
    position: relative;
    font-size: 0.9375em;
    line-height: 1.73;
    margin-bottom: 5px;
    display: inline-block; }
    .text-group h3:before {
      content: '';
      position: absolute;
      top: 0;
      bottom: 0;
      left: -16px;
      height: 15px;
      width: 3px;
      margin: auto 0;
      background: #FC682D; }
  .text-group .information {
    font-size: 0.6875em;
    line-height: 1.45;
    color: #666262;
    margin-bottom: 6px; }
  .text-group p {
    font-size: 0.8125em;
    line-height: 1.6;
    color: #666262; }

.icon-group {
  margin-bottom: 10px; }
  .icon-group .heading, .icon-group .icon {
    display: inline-block;
    vertical-align: middle; }
  .icon-group .heading {
    font-size: 0.625em;
    text-transform: uppercase;
    letter-spacing: 2.55px;
    line-height: 1.2;
    margin: 0 4px 0 0;
    font-weight: normal; }
    @media screen and (max-width: 1200px) {
      .icon-group .heading {
        display: block;
        margin-right: 0;
        margin-bottom: 10px; } }
  .icon-group .icon {
    position: relative;
    height: 31px;
    width: 31px;
    margin-right: 4px;
    border-radius: 50%;
    border: 1px solid #958E9C;
    background-repeat: no-repeat;
    background-position: center;
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }
    .icon-group .icon span {
      font-size: 0.6875em;
      line-height: 1.45;
      margin: auto;
      width: 100px;
      text-align: center;
      font-weight: 500;
      opacity: 0;
      visibility: hidden;
      -webkit-transform: translateX(-35%);
      -moz-transform: translateX(-35%);
      -ms-transform: translateX(-35%);
      -o-transform: translateX(-35%);
      transform: translateX(-35%);
      position: absolute;
      right: 0;
      bottom: 0;
      left: 0;
      -webkit-transition: all 222ms ease-out;
      -moz-transition: all 222ms ease-out;
      transition: all 222ms ease-out; }
    .icon-group .icon:last-of-type {
      margin-right: 0; }
    .icon-group .icon.deactivate {
      opacity: 0.5; }
    .icon-group .icon.activate {
      background-color: #000;
      border-color: #000; }
      .icon-group .icon.activate span {
        opacity: 1;
        visibility: visible;
        bottom: -22px; }
      .icon-group .icon.activate.icon-upcoming-event {
        background-image: url("../../html_prototype/images/icon-upcoming-event-dark.png"); }
      .icon-group .icon.activate.icon-publication {
        background-image: url("../../html_prototype/images/icon-publication-dark.png"); }
      .icon-group .icon.activate.icon-news {
        background-image: url("../../html_prototype/images/icon-news-dark.png"); }
    .icon-group .icon.icon-upcoming-event {
      background-image: url("../../html_prototype/images/icon-upcoming-event.png");
      background-size: 12.5px auto; }
    .icon-group .icon.icon-publication {
      background-image: url("../../html_prototype/images/icon-publication.png");
      background-size: 17px auto; }
    .icon-group .icon.icon-news {
      background-image: url("../../html_prototype/images/icon-news.png");
      background-size: 12.3px auto; }

.banner {
  display: grid;
  grid-template-columns: repeat(2, 1fr); }
  @media screen and (max-width: 768px) {
    .banner {
      display: block; } }
  .banner-col {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 325px; }
    @media screen and (max-width: 768px) {
      .banner-col {
        padding: 32px 24px 24px 24px; } }
    .banner-col:hover .banner-image {
      scale: 1; }
  .banner-figure {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden; }
    .banner-figure::before {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      content: '';
      z-index: 1; }
      .is-blue-filter .banner-figure::before {
        background-color: rgba(16, 72, 122, 0.8); }
      .is-white-filter .banner-figure::before {
        background-color: rgba(151, 151, 151, 0.8); }
  .banner-image {
    display: block;
    width: 100%;
    height: 325px;
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
    scale: 1.1;
    transition: scale 0.5s ease-in-out; }
  .banner-content {
    max-width: 400px;
    width: 100%;
    color: #fff;
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      .banner-content {
        max-width: initial; } }
  .banner-title {
    font-size: 1.75rem;
    font-weight: 600;
    color: inherit;
    letter-spacing: -0.034em;
    margin-bottom: 14px; }
  .banner-desc {
    color: inherit;
    font-size: 0.9375rem;
    line-height: 1.4;
    margin-bottom: 35px; }
    @media screen and (max-width: 680px) {
      .banner-desc {
        font-size: 0.75rem;
        line-height: 1.33; } }
  .banner-cta {
    font-weight: 400;
    font-size: 1rem;
    padding: 8px 24px 8px 16px;
    border: 1px solid #10487a; }
    .banner-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #10487a;
      display: inline-block; }
    .banner-cta::after {
      margin-left: 8px; }

.banner-none {
  padding: 200px 0 92px;
  background: #FBF9F8;
  position: relative;
  overflow: hidden; }
  .banner-none h1 {
    font-size: 3.0625rem;
    margin-bottom: 30px;
    line-height: 1.1; }
  .banner-none .text-wrap {
    max-width: 555px; }
  .banner-none .text {
    font-size: 0.875rem;
    font-weight: 500;
    color: #545151 !important; }
  .banner-none:before {
    content: '';
    display: block;
    width: 425px;
    height: 425px;
    border-radius: 425px;
    background: #FC682D;
    opacity: 0.08;
    position: absolute;
    top: -200px;
    right: 300px; }
  @media screen and (max-width: 768px) {
    .banner-none {
      padding: 50px 20px; } }

.banner-basic {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: relative;
  overflow: hidden;
  z-index: 1; }
  .banner-basic::before {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    content: '';
    background-color: rgba(16, 72, 122, 0.98);
    z-index: -1; }
  .banner-basic-inner {
    padding: 52px 0; }
  .banner-basic-title {
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0;
    letter-spacing: -0.03em;
    line-height: normal; }

.gallery .item {
  position: relative;
  float: left;
  margin: 0 11px 11px 0;
  width: calc((100% - 22px) / 3);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  z-index: 1;
  cursor: pointer; }
  .gallery .item:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: #FFF;
    opacity: 0.3;
    z-index: -1;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
  .gallery .item:after {
    content: '';
    display: block;
    padding-bottom: 100%; }
  .gallery .item:nth-of-type(3n) {
    margin-right: 0; }
  .gallery .item:hover:before {
    opacity: 0; }

.gallery-slick-wrapper {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding: 20px 19px 0;
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  .gallery-slick-wrapper::after {
    clear: both;
    content: "";
    display: table; }
  .gallery-slick-wrapper .close {
    cursor: pointer;
    background: url("../../html_prototype/images/close.svg") no-repeat center;
    background-size: 100%;
    height: 10px;
    width: 10px;
    position: absolute;
    top: 0;
    right: 0; }
  .gallery-slick-wrapper .gallery-slick-for {
    margin-bottom: 7px; }
    .gallery-slick-wrapper .gallery-slick-for .item {
      width: 100%;
      position: relative;
      background: #F2743A; }
      .gallery-slick-wrapper .gallery-slick-for .item::after {
        clear: both;
        content: "";
        display: table; }
      .gallery-slick-wrapper .gallery-slick-for .item img {
        float: left;
        display: block;
        width: 76.59574%; }
        .gallery-slick-wrapper .gallery-slick-for .item img:last-child {
          width: 74.46809%; }
      .gallery-slick-wrapper .gallery-slick-for .item .content {
        position: absolute;
        float: left;
        display: block;
        width: 25.53191%;
        float: none;
        right: 0;
        height: 100%;
        padding: 0 21px 23px; }
        .gallery-slick-wrapper .gallery-slick-for .item .content:last-child {
          width: 23.40426%; }
        .gallery-slick-wrapper .gallery-slick-for .item .content .text {
          position: absolute;
          bottom: 23px;
          left: 21px;
          color: #FFF;
          font-size: 0.75em;
          line-height: 1.25;
          width: calc(100% - 42px); }
  .gallery-slick-wrapper .gallery-slick-nav .item {
    position: relative;
    float: left;
    width: calc((100% - 44px) / 11);
    margin-right: 4px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    z-index: 1;
    cursor: pointer;
    outline: none; }
    .gallery-slick-wrapper .gallery-slick-nav .item:before {
      content: '';
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      height: 100%;
      width: 100%;
      background: #FFF;
      opacity: 0.3;
      z-index: -1;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
    .gallery-slick-wrapper .gallery-slick-nav .item:after {
      content: '';
      display: block;
      padding-bottom: 100%; }
    .gallery-slick-wrapper .gallery-slick-nav .item.slick-current:before {
      opacity: 0; }
  .gallery-slick-wrapper.active {
    opacity: 1;
    visibility: visible;
    z-index: 20;
    position: fixed;
    top: 50%;
    right: 0;
    left: 0; }
  .gallery-slick-wrapper .slick-arrow {
    height: 30px;
    width: 30px;
    border-radius: 50%;
    z-index: 1; }
    .gallery-slick-wrapper .slick-arrow:before {
      content: none; }
    .gallery-slick-wrapper .slick-arrow:hover {
      background: #FFF; }
    .gallery-slick-wrapper .slick-arrow.slick-next {
      right: -15px;
      background: url("../../html_prototype/images/slide-arrow-next-2.png") no-repeat center #FFF;
      background-size: 7.7px auto; }
    .gallery-slick-wrapper .slick-arrow.slick-prev {
      left: -15px;
      background: url("../../html_prototype/images/slide-arrow-prev-2.png") no-repeat center #FFF;
      background-size: 7.7px auto; }

.faq-container {
  padding: 25px 0 50px;
  margin-bottom: 25px; }
  .faq-container:first-child {
    padding-top: 0; }
  .faq-container:last-of-type {
    margin-bottom: 0; }
  .faq-container .faq-category {
    font-size: 1.5em;
    font-weight: bold;
    margin-bottom: 30px;
    line-height: 1.25;
    letter-spacing: -0.7px; }
  .faq-container .faq-item {
    padding-bottom: 15px;
    border-bottom: 1px solid #C9C9C9;
    margin-bottom: 15px;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
    .faq-container .faq-item:last-of-type {
      margin-bottom: 0; }
    .faq-container .faq-item.toggled {
      padding: 15px 0 30px; }
      .faq-container .faq-item.toggled:first-of-type {
        padding: 0 0 30px; }
      .faq-container .faq-item.toggled .question {
        color: #FC682D; }
        .faq-container .faq-item.toggled .question .btn-toggle {
          background: url("../../html_prototype/images/toggle-close.png") no-repeat center;
          background-size: 100%; }
      .faq-container .faq-item.toggled .answer {
        display: block; }
  .faq-container .question {
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: -0.44px;
    line-height: 1.73;
    padding-right: 12px;
    cursor: pointer;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
    .faq-container .question .text {
      display: inline-block;
      width: calc(100% - 65px); }
    .faq-container .question .btn-toggle {
      height: 26px;
      width: 26px;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear;
      background: url("../../html_prototype/images/toggle-open.png") no-repeat center;
      background-size: 100%;
      float: right; }
  .faq-container .answer {
    font-size: 0.875rem;
    color: #666262;
    line-height: 1.71;
    margin-top: 10px;
    width: calc(100% - 65px);
    display: none; }
    .faq-container .answer p:last-of-type {
      margin-bottom: 0; }
  @media screen and (max-width: 680px) {
    .faq-container {
      padding: 0 0 20px; }
      .faq-container .faq-category {
        font-size: 1.375rem;
        margin-bottom: 0;
        line-height: 1.3;
        letter-spacing: -0.77px; }
      .faq-container .faq-item {
        padding-bottom: 10px;
        margin-bottom: 10px; }
        .faq-container .faq-item.toggled {
          padding: 10px 0; }
      .faq-container .question {
        font-size: 0.875rem; }
        .faq-container .question .text {
          width: calc(100% - 55px); }
      .faq-container .answer {
        font-size: 0.8125rem;
        line-height: 1.6;
        width: calc(100% - 55px); } }

.login-wrapper {
  position: relative;
  z-index: 15;
  opacity: 1;
  visibility: visible;
  margin: 0 auto;
  height: auto;
  width: 750px;
  position: fixed;
  top: 50%;
  right: 0;
  left: 0;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  .login-wrapper:after {
    content: '';
    margin: auto;
    background: #000;
    opacity: 0.12;
    -webkit-filter: blur(42px);
    filter: blur(42px);
    height: 316px;
    width: 316px;
    position: absolute;
    right: 0;
    bottom: -50px;
    left: 0; }
  .login-wrapper .close {
    cursor: pointer;
    background: url("../../html_prototype/images/close.svg") no-repeat center;
    background-size: 100%;
    height: 10px;
    width: 10px;
    position: absolute;
    top: 0;
    right: -20px; }
    .login-wrapper .close img {
      display: none; }
  .login-wrapper .wrapper {
    overflow: hidden;
    display: table; }
  .login-wrapper .background {
    position: relative;
    display: table-cell;
    height: 100%;
    width: 31%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
    -webkit-filter: blur(2px);
    filter: blur(2px); }
    .login-wrapper .background:after {
      content: '';
      height: 100%;
      width: 100%;
      background: rgba(242, 116, 58, 0.92);
      position: absolute;
      top: 0;
      left: 0;
      z-index: -1; }
  .login-wrapper .container {
    position: relative;
    display: table-cell;
    width: calc(100% - 31%);
    padding: 28px 77px 67px 54px;
    background: #FFF;
    z-index: 1; }
    .login-wrapper .container:after {
      content: '';
      height: 3000px;
      width: 3000px;
      background: #FFF;
      border-radius: 50%;
      position: absolute;
      top: 0;
      bottom: 0;
      left: -28px;
      z-index: -1;
      margin: auto; }
  .login-wrapper .tab {
    margin: 0 0 78px;
    padding: 0;
    list-style: none; }
    .login-wrapper .tab::after {
      clear: both;
      content: "";
      display: table; }
    .login-wrapper .tab li {
      width: 50%;
      float: left;
      box-sizing: border-box;
      padding-bottom: 2px;
      border-bottom: 2px solid #EAE9EC;
      cursor: pointer;
      opacity: 0.4;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
      .login-wrapper .tab li span, .login-wrapper .tab li h4 {
        -webkit-transition: all 333ms linear;
        -moz-transition: all 333ms linear;
        transition: all 333ms linear; }
      .login-wrapper .tab li span {
        font-size: 0.625em;
        text-transform: uppercase;
        letter-spacing: 2.25px;
        line-height: 1.2;
        color: #474545; }
      .login-wrapper .tab li h4 {
        font-size: 1.0625em;
        font-weight: 600;
        letter-spacing: -0.4px;
        line-height: 1.29;
        color: #545151; }
      .login-wrapper .tab li.current, .login-wrapper .tab li:hover {
        opacity: 1;
        border-color: #FC682D; }
        .login-wrapper .tab li.current span, .login-wrapper .tab li.current h4, .login-wrapper .tab li:hover span, .login-wrapper .tab li:hover h4 {
          color: #FC682D; }
      .login-wrapper .tab li:last-of-type {
        padding-left: 23px; }
  .login-wrapper .content {
    padding: 0 22.5px 0 55.5px;
    text-align: center; }
    .login-wrapper .content .forget-pwd {
      font-size: 0.6875em;
      color: #474545; }

.cart {
  width: 280px;
  border: 1px solid #DDD;
  background: #FFF;
  padding: 14px 21px 23px 17px; }
  .cart .item {
    padding: 16px 0 19px;
    margin-bottom: 16px;
    border-top: 1px solid #EAE9EC;
    border-bottom: 1px solid #EAE9EC; }
  .cart .title {
    font-size: 0.6875em;
    line-height: 1.45;
    margin-bottom: 5px;
    font-weight: normal;
    color: #666262; }
  .cart .name, .cart .price,
  .cart .description,
  .cart .discount-price {
    display: block;
    font-size: 0.8125em;
    font-weight: 500;
    line-height: 1.31;
    letter-spacing: -0.4px;
    margin-bottom: 3px;
    color: #474545; }
    .cart .name.price, .cart .price.price,
    .cart .description.price,
    .cart .discount-price.price {
      margin-bottom: -5px;
      line-height: 1; }
  .cart .category {
    font-size: 0.6875em;
    font-weight: normal;
    text-transform: uppercase;
    line-height: 1.1;
    letter-spacing: 2.8px;
    margin-bottom: 15px;
    color: #474545; }
  .cart a {
    font-size: 0.75em;
    color: #FC682D; }
  .cart .discount {
    margin-bottom: 36px; }
  .cart .total-price {
    font-size: 1em;
    font-weight: 600;
    letter-spacing: -0.38px;
    line-height: 1.56;
    text-align: right; }

.company-header {
  position: relative;
  background: #10487a;
  overflow: hidden;
  min-height: 425px; }
  @media screen and (max-width: 768px) {
    .company-header {
      min-height: 325px; } }
  .company-header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 87px 0 75px; }
    @media screen and (max-width: 768px) {
      .company-header-inner {
        display: block;
        padding: 27px 0; } }
  .company-header-block {
    max-width: 470px;
    width: 100%;
    flex-shrink: 0; }
    @media screen and (max-width: 768px) {
      .company-header-block {
        margin-bottom: 31px; } }
  .company-header-title {
    font-size: 3.0625rem;
    font-weight: 400;
    margin-bottom: 0;
    color: #fff;
    letter-spacing: -0.03em;
    line-height: 1.3; }
    @media screen and (max-width: 768px) {
      .company-header-title {
        font-size: 1.75rem;
        letter-spacing: normal;
        margin-bottom: 11px; } }
  .company-header-text {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: -0.41px;
    color: #fff; }
    @media screen and (max-width: 768px) {
      .company-header-text {
        font-size: 0.75rem;
        letter-spacing: -0.007em;
        line-height: 1.7; } }
  .company-header-profile {
    background-color: #fff;
    border-radius: 20px;
    width: 244px;
    flex-shrink: 0;
    min-height: 244px;
    text-align: center;
    position: relative;
    padding: 20px 20px 0; }
    @media screen and (max-width: 768px) {
      .company-header-profile {
        height: 142px;
        min-height: 100%;
        width: 142px;
        padding: 10px;
        border-radius: 10px; } }
  .company-header-button-upload, .company-header-button-cancel {
    background: none;
    border: none;
    color: #f37324; }
  .company-header-button-upload {
    font-size: 0.6875rem;
    width: 100%;
    text-align: center; }
  .company-header .text-wrap {
    z-index: 3;
    position: relative;
    margin-top: 67px;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    .company-header .text-wrap:last-child {
      margin-right: 0; }
  @media screen and (max-width: 768px) {
    .company-header .logo-wrap .upload-logo-button {
      position: absolute;
      bottom: 10px;
      left: 0; } }
  .company-header .logo-wrap .upload-logo-button,
  .company-header .logo-wrap .cancel-upload-logo-button {
    font-size: 11px;
    width: 100%;
    text-align: center; }
  .company-header .logo-wrap form,
  .company-header .logo-wrap .cancel-upload-logo-button {
    display: none;
    overflow: hidden; }
  .company-header .logo-wrap img {
    height: 150px;
    width: 100%;
    object-fit: contain;
    margin: auto; }
    @media screen and (max-width: 768px) {
      .company-header .logo-wrap img {
        height: 30px; } }
  .company-header .logo-wrap.form-visible form {
    display: block; }
  .company-header .logo-wrap.form-visible .form-item {
    margin: 0; }
  .company-header .logo-wrap.form-visible .form-file {
    font-size: 0.8125rem;
    max-width: 100%; }
  .company-header .logo-wrap.form-visible .form-managed-file .file a {
    font-size: 0.75rem; }
  .company-header .logo-wrap.form-visible .form-submit {
    margin-top: 10px; }
  .company-header .logo-wrap.form-visible .cancel-upload-logo-button {
    display: block;
    margin-top: 10px; }
  .company-header .logo-wrap.form-visible input[name="logo_upload_button"] {
    display: none; }
  .company-header .logo-wrap.form-visible img,
  .company-header .logo-wrap.form-visible .upload-logo-button {
    display: none; }
  @media screen and (max-width: 680px) {
    .company-header .logo-wrap.form-visible {
      top: -30px; }
    .company-header .logo-wrap:before {
      content: none; }
    .company-header .logo-wrap .upload-logo-button {
      padding: 0; } }
  .company-header .form-submit:hover {
    background: #FC682D;
    color: #FFF; }
  .company-header .company-header-meta {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.58);
    padding: 11px 0 7px;
    z-index: 3; }
    .company-header .company-header-meta::after {
      clear: both;
      content: "";
      display: table; }
    .company-header .company-header-meta ul {
      list-style-type: none;
      margin: 0;
      padding: 0; }
    .company-header .company-header-meta .company-header-memberships {
      float: left;
      font-weight: 500; }
      .company-header .company-header-meta .company-header-memberships li {
        margin-right: 15px;
        float: left;
        color: #958E9C;
        font-size: 0.8125em;
        opacity: 0.8;
        line-height: 1.21;
        letter-spacing: 0.95px; }
        .company-header .company-header-meta .company-header-memberships li a {
          color: #958E9C; }
        .company-header .company-header-meta .company-header-memberships li:last-of-type {
          margin-right: 0; }
        .company-header .company-header-meta .company-header-memberships li:hover {
          opacity: 1; }
    .company-header .company-header-meta .company-header-industries {
      float: right;
      font-size: 0.625rem;
      text-transform: uppercase;
      color: #474545;
      line-height: 1.4;
      margin-top: 1px;
      letter-spacing: 1.6px; }
      .company-header .company-header-meta .company-header-industries li {
        display: inline-block;
        padding: 0 11px;
        border-left: 1px solid #545151; }
        .company-header .company-header-meta .company-header-industries li:first-of-type {
          border-left: 0; }
    @media screen and (max-width: 680px) {
      .company-header .company-header-meta {
        padding: 11px 20px 9px; }
        .company-header .company-header-meta .company-header-industries,
        .company-header .company-header-meta .company-header-memberships {
          float: none;
          width: 100%; }
          .company-header .company-header-meta .company-header-industries li,
          .company-header .company-header-meta .company-header-memberships li {
            float: none; }
        .company-header .company-header-meta .company-header-memberships {
          margin-bottom: 5px; }
          .company-header .company-header-meta .company-header-memberships li a {
            font-size: 0.8125rem;
            color: #999;
            font-weight: 500; }
        .company-header .company-header-meta .company-header-industries {
          margin-top: 0; }
          .company-header .company-header-meta .company-header-industries li {
            letter-spacing: 1.6px;
            padding: 0 4px 0 10px; }
            .company-header .company-header-meta .company-header-industries li:first-of-type {
              padding-left: 0; } }

.card-focus {
  border-radius: 20px;
  overflow: hidden;
  cursor: pointer; }
  .card-focus-frame {
    overflow: hidden;
    flex-shrink: 0;
    width: 41.6%; }
  .card-focus-image {
    width: 100%;
    min-height: 358px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center; }
    @media screen and (max-width: 768px) {
      .card-focus-image {
        min-height: 100%; } }
  .card-focus-content {
    background-color: #fff;
    padding: 37px 35px 20px 18px;
    display: flex;
    flex-direction: column; }
    @media screen and (max-width: 1200px) {
      .card-focus-content {
        padding: 20px 35px 11px 18px; } }
    @media screen and (max-width: 680px) {
      .card-focus-content {
        padding: 8px 16px 24px 16px; } }
  .card-focus-title {
    font-size: 1.5rem;
    color: #10487a;
    letter-spacing: -0.02em;
    line-height: 1.3;
    margin-bottom: -2px;
    margin-bottom: 10px; }
    @media screen and (max-width: 1200px) {
      .card-focus-title {
        font-size: 1.125rem;
        line-height: 1.3;
        margin-bottom: 4px; } }
  @media screen and (max-width: 768px) {
    .card-focus-desc {
      margin-bottom: 11px; } }
  .card-focus-desc p {
    font-size: 0.75rem;
    color: #666262;
    margin-bottom: 0;
    letter-spacing: -0.024em;
    line-height: 1.6; }
    @media screen and (max-width: 768px) {
      .card-focus-desc p {
        font-size: 0.625rem;
        line-height: 1.2;
        letter-spacing: -0.3px; } }
  .card-focus-buttons {
    margin-top: auto; }
  .card-focus-icons {
    display: flex;
    align-items: center;
    gap: 0 8px;
    margin-bottom: 10px; }
  .card-focus-label {
    font-size: 0.625rem;
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 0;
    letter-spacing: 0.27em; }
    @media screen and (max-width: 768px) {
      .card-focus-label {
        font-weight: 400; } }
  .card-focus-icon {
    display: block;
    flex-shrink: 0;
    position: relative;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    border: 1px solid #958E9C;
    background-position: center;
    background-repeat: no-repeat; }
    @media screen and (max-width: 768px) {
      .card-focus-icon {
        width: 16px;
        height: 16px; } }
    @media screen and (min-width: 1201px) {
      .card-focus-icon:hover span {
        opacity: 1;
        translate: 0 -18px; } }
    .card-focus-icon span {
      position: absolute;
      left: 50%;
      top: 0;
      transform: translateX(-50%);
      pointer-events: none;
      font-size: 0.5625rem;
      white-space: nowrap;
      opacity: 0;
      transition: translate 0.3s ease-out, opacity 0.3s ease-out; }
    .card-focus-icon.icon-upcoming-event {
      background-image: url("../../html_prototype/images/icon-upcoming-event.png");
      background-size: 12.5px auto; }
      @media screen and (max-width: 768px) {
        .card-focus-icon.icon-upcoming-event {
          background-size: 6.5px auto; } }
    .card-focus-icon.icon-publication {
      background-image: url("../../html_prototype/images/icon-publication.png");
      background-size: 17px auto; }
      @media screen and (max-width: 768px) {
        .card-focus-icon.icon-publication {
          background-size: 10px auto; } }
    .card-focus-icon.icon-news {
      background-image: url("../../html_prototype/images/icon-news.png");
      background-size: 12.3px auto; }
      @media screen and (max-width: 768px) {
        .card-focus-icon.icon-news {
          background-size: 8px auto; } }
  .card-focus-cta {
    padding: 7px 23px 6px 15px;
    font-size: 1rem; }
    .card-focus-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    @media screen and (max-width: 1200px) {
      .card-focus-cta {
        padding: 7px 22px 7px 16px; } }
    .card-focus-cta::after {
      margin-left: 9px; }

.card-member {
  cursor: pointer;
  position: relative;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  .card-member .content {
    position: relative;
    background: #FFF;
    height: 100%;
    padding: 27px 20px 40px; }
  .card-member .image-wrap {
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
    .card-member .image-wrap img {
      height: 100px;
      width: auto;
      display: block;
      margin: 0 auto; }
  .card-member .member-networks {
    margin: 0 0 8px;
    padding: 0; }
    .card-member .member-networks li {
      list-style: none;
      color: #474545;
      font-size: 0.6875rem;
      letter-spacing: 2.8px;
      text-transform: uppercase; }
  .card-member h2 {
    font-size: 0.9375rem;
    font-weight: 600;
    color: #3B3535;
    margin-bottom: 9px; }
  .card-member .text {
    font-size: 0.75rem;
    color: #3B3535;
    line-height: 1.58;
    letter-spacing: -0.3px;
    margin-bottom: 35px; }
  .card-member .link-normal {
    position: absolute;
    bottom: 20px;
    left: 19px; }
  .card-member:hover {
    -webkit-transform: scale(1.05);
    -moz-transform: scale(1.05);
    -ms-transform: scale(1.05);
    -o-transform: scale(1.05);
    transform: scale(1.05);
    box-shadow: 0 50px 40px 0 rgba(0, 0, 0, 0.12); }
    .card-member:hover .image-wrap {
      -webkit-transform: scale(1.1);
      -moz-transform: scale(1.1);
      -ms-transform: scale(1.1);
      -o-transform: scale(1.1);
      transform: scale(1.1); }
  @media screen and (max-width: 768px) {
    .card-member {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 31.91489%; }
      .card-member:last-child {
        margin-right: 0; } }
  @media screen and (max-width: 680px) {
    .card-member {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 100%;
      margin-right: 0; }
      .card-member:last-child {
        margin-right: 0; }
      .card-member .content {
        padding: 20px 13px 13px; }
      .card-member .image-wrap {
        width: 75px; }
        .card-member .image-wrap img {
          width: 100%;
          height: auto; }
      .card-member .member-networks li {
        font-size: 0.625rem; }
      .card-member h2 {
        margin-bottom: 15px;
        font-size: 0.875rem; }
      .card-member .text {
        display: none; }
      .card-member .link-normal {
        position: relative;
        top: inherit;
        right: inherit;
        bottom: inherit;
        left: inherit; } }

.card-campaign {
  cursor: pointer;
  position: relative; }
  .card-campaign .container {
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }
  .card-campaign .image_wrapper {
    float: left;
    width: 180px;
    overflow: hidden;
    position: relative; }
    .card-campaign .image_wrapper .image {
      position: absolute;
      top: 0;
      left: 0;
      height: 100%;
      width: 100%;
      background-size: cover;
      background-position: center;
      background-repeat: no-repeat;
      -webkit-transition: all 333ms ease-out;
      -moz-transition: all 333ms ease-out;
      transition: all 333ms ease-out; }
      .card-campaign .image_wrapper .image:after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        -webkit-transition: all 333ms linear;
        -moz-transition: all 333ms linear;
        transition: all 333ms linear;
        height: 100%;
        width: 100%;
        background-image: linear-gradient(0deg, rgba(242, 116, 58, 0.89) 42%, rgba(255, 134, 81, 0.56) 100%); }
      .card-campaign .image_wrapper .image.no-bg {
        background: url("../../images/build/campaign-bg.jpg") no-repeat center;
        background-size: cover; }
        .card-campaign .image_wrapper .image.no-bg:after {
          content: none; }
    .card-campaign .image_wrapper .logo {
      width: 65px;
      position: absolute;
      top: 50%;
      right: 0;
      left: 0;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      margin: auto;
      z-index: 1;
      -webkit-transition: all 333ms ease-out;
      -moz-transition: all 333ms ease-out;
      transition: all 333ms ease-out; }
      .card-campaign .image_wrapper .logo img {
        width: 100%; }
    @media screen and (max-width: 1200px) {
      .card-campaign .image_wrapper {
        width: 160px; } }
    @media screen and (max-width: 768px) {
      .card-campaign .image_wrapper {
        width: 87px; }
        .card-campaign .image_wrapper .logo {
          width: 50px; } }
    @media screen and (max-width: 680px) {
      .card-campaign .image_wrapper {
        width: 30%; } }
  .card-campaign .content {
    position: relative;
    float: left;
    overflow: hidden;
    background: #FFF;
    width: calc(100% - 180px);
    padding: 28px 30px 60px 28px; }
    .card-campaign .content .focus {
      font-size: 0.625em;
      text-transform: uppercase;
      margin-bottom: 3px;
      line-height: 1.4;
      letter-spacing: 1.6px;
      color: #474545; }
    .card-campaign .content .title {
      font-size: 1em;
      font-weight: 600;
      line-height: 1.3;
      letter-spacing: -0.47px;
      color: #3B3535;
      margin-bottom: 10px; }
    .card-campaign .content .summary {
      font-size: 0.75em;
      line-height: 1.58;
      letter-spacing: -0.3px;
      color: #666262;
      margin-bottom: 40px;
      margin-top: -20px; }
    .card-campaign .content .primary-call-action {
      font-size: 0.75em;
      line-height: 1.16;
      letter-spacing: -0.38px;
      font-weight: 500;
      padding: 7px 13px;
      position: absolute;
      bottom: 20px;
      left: 28px; }
    @media screen and (max-width: 1200px) {
      .card-campaign .content {
        width: calc(100% - 160px); } }
    @media screen and (max-width: 768px) {
      .card-campaign .content {
        width: calc(100% - 87px); } }
    @media screen and (max-width: 680px) {
      .card-campaign .content {
        width: calc(100% - 30%);
        padding: 16px 18px 23px; }
        .card-campaign .content .title {
          font-size: 0.9375rem; }
        .card-campaign .content .summary {
          font-size: 0.6875rem;
          margin-bottom: 50px; }
        .card-campaign .content .primary-call-action {
          left: 18px; } }
  @media screen and (max-width: 680px) {
    .card-campaign {
      width: 100%;
      margin-right: 0; } }

.card-campaign {
  display: block; }
  .card-campaign-inner {
    display: flex;
    min-height: 490px;
    border-radius: 20px;
    overflow: hidden;
    align-items: stretch; }
    @media screen and (max-width: 680px) {
      .card-campaign-inner {
        border-radius: 10px;
        min-height: 475px; } }
  .card-campaign-left {
    max-width: 666px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("../../images/build/rainbow.jpg");
    padding: 33px 39px 63px;
    position: relative;
    z-index: 1;
    min-height: 100%; }
    .card-campaign-left::before {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      content: '';
      background-color: rgba(59, 53, 53, 0.5);
      z-index: -1; }
    @media screen and (max-width: 1200px) {
      .card-campaign-left {
        max-width: 690px;
        padding: 33px 20px 63px; } }
    @media screen and (max-width: 680px) {
      .card-campaign-left {
        max-width: 100%;
        flex-grow: 1;
        width: 55%;
        padding: 12px 13px 32px; } }
  .card-campaign-heading {
    color: #fff;
    font-size: 2.1875rem;
    line-height: 1.3;
    letter-spacing: normal;
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      .card-campaign-heading {
        font-size: 1.125rem;
        line-height: 1.22; } }
  .card-campaign-desc {
    font-size: 1.25rem;
    line-height: normal;
    letter-spacing: normal;
    color: #fff;
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      .card-campaign-desc {
        font-size: 0.75rem; } }
  .card-campaign-right {
    flex-grow: 1;
    background-color: #fff;
    padding: 24px 71px; }
    @media screen and (max-width: 1200px) {
      .card-campaign-right {
        padding: 24px 25px;
        min-width: 300px; } }
    @media screen and (max-width: 680px) {
      .card-campaign-right {
        padding: 16px 9px;
        min-width: auto;
        width: 48%; } }
  .card-campaign-label {
    font-size: 1.125rem;
    display: block;
    font-weight: 700;
    color: #10487a;
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      .card-campaign-label {
        font-size: 0.875rem; } }
    @media screen and (max-width: 680px) {
      .card-campaign-label {
        margin-bottom: 12px; } }
  .card-campaign-initiatives {
    margin-bottom: 18px;
    max-width: 392px;
    width: 100%;
    overflow: hidden;
    margin-top: 20px; }
    .card-campaign-initiatives p {
      margin-bottom: 5px; }
    .card-campaign-initiatives .summary ul li, .card-campaign-initiatives .summary ol li {
      position: relative;
      padding-left: 20px;
      font-size: 16px; }
      .card-campaign-initiatives .summary ul li:not(:last-child), .card-campaign-initiatives .summary ol li:not(:last-child) {
        margin-bottom: 14px; }
      .card-campaign-initiatives .summary ul li:before, .card-campaign-initiatives .summary ol li:before {
        content: '';
        background: #10487a;
        width: 5px;
        height: 5px;
        position: absolute;
        left: 0;
        top: 8px;
        border-radius: 4px; }
      .card-campaign-initiatives .summary ul li a:last-child, .card-campaign-initiatives .summary ol li a:last-child {
        color: #10487a;
        font-weight: 600; }
  .card-campaign-item:not(:last-of-type) {
    margin-bottom: 13px; }
  .card-campaign-title {
    font-size: 1rem;
    margin-bottom: 4px; }
    @media screen and (max-width: 768px) {
      .card-campaign-title {
        font-size: 0.875rem;
        font-weight: 500;
        line-height: 1.2;
        margin-bottom: 0; } }
  .card-campaign-par {
    font-size: 0.8rem;
    margin-bottom: 0;
    font-weight: 500;
    letter-spacing: -0.005em; }
    @media screen and (max-width: 768px) {
      .card-campaign-par {
        font-size: 0.625rem;
        line-height: 1.4; } }
  .card-campaign-cta {
    font-size: 1rem;
    padding: 7px 23px 7px 15px;
    font-weight: 400; }
    .card-campaign-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    @media screen and (max-width: 768px) {
      .card-campaign-cta {
        font-size: 0.8125rem;
        font-weight: 300; } }
    .card-campaign-cta::after {
      margin-left: 8px; }

.card-image {
  display: flex;
  border-radius: 20px;
  overflow: hidden;
  background-color: #fff; }
  @media screen and (max-width: 768px) {
    .card-image {
      border-radius: 10px; } }
  .card-image-frame {
    width: 40.9%;
    flex-shrink: 0; }
    @media screen and (max-width: 680px) {
      .card-image-frame {
        width: 11.1875rem; } }
    .card-image-frame-img {
      display: block;
      width: 100%;
      min-height: 358px;
      height: 100%;
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover; }
      @media screen and (max-width: 768px) {
        .card-image-frame-img {
          min-height: 245px;
          height: 100%; } }
  .card-image-content {
    padding: 38px 45px 61px 18px;
    display: flex;
    flex-direction: column;
    align-items: flex-start; }
    @media screen and (max-width: 1200px) {
      .card-image-content {
        padding: 20px 45px 20px 18px; } }
    @media screen and (max-width: 680px) {
      .card-image-content {
        padding: 8px 8px 24px 16px; } }
  .card-image-title {
    color: #323232;
    font-size: 1.9375rem;
    margin-bottom: 22px; }
    @media screen and (max-width: 1200px) {
      .card-image-title {
        font-size: 1.125rem; } }
  .card-image-desc {
    font-size: 0.75rem;
    letter-spacing: -0.025em;
    line-height: 1.6; }
  .card-image-cta {
    margin-top: auto;
    font-size: 1rem;
    padding: 7px 23px 7px 15px;
    text-transform: capitalize; }
    .card-image-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .card-image-cta::after {
      margin-left: 8px; }

.testimonials-slider-wrap {
  position: relative; }

.testimonials-slider {
  margin: 50px 0; }
  .testimonials-slider .slick-dots {
    bottom: -35px; }
    .testimonials-slider .slick-dots li {
      height: 6px;
      width: 6px;
      border-radius: 50%;
      background: #EAE9EC;
      margin: 0 4px;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
      .testimonials-slider .slick-dots li.slick-active {
        height: 7px;
        width: 7px;
        background: #F2743A; }
      .testimonials-slider .slick-dots li button {
        display: none; }
  @media screen and (max-width: 680px) {
    .testimonials-slider {
      margin: 25px 0; } }
  .testimonials-slider .landing-slide-header {
    display: none; }

.testimonials-slider-prev, .testimonials-slider-next {
  background: #FFF;
  z-index: 1;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  margin-top: -20px;
  border: 0;
  padding: 6px 0;
  text-align: center;
  outline: none;
  height: 42px;
  width: 42px; }
  .testimonials-slider-prev svg, .testimonials-slider-next svg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto; }
  @media screen and (max-width: 680px) {
    .testimonials-slider-prev, .testimonials-slider-next {
      height: 30px;
      width: 30px; } }

.testimonials-slider-prev {
  left: 20px; }

.testimonials-slider-next {
  right: 20px;
  transform: rotate(180deg); }

.testimonials-slide {
  padding: 40px 75px;
  background: #FBF9F8; }
  .testimonials-slide h3 {
    font-size: 1.0625rem;
    font-weight: 600;
    margin-bottom: 5px; }
  .testimonials-slide .text {
    font-size: 0.75rem;
    margin-bottom: 20px; }
  .testimonials-slide .text-full {
    display: none; }

.testimonials-single-header {
  font-size: 0.625rem;
  line-height: 1.4;
  color: #474545;
  margin-bottom: 9px;
  display: none; }

p {
  font-size: 14px;
  color: #666262;
  margin-bottom: 15px;
  line-height: 1.71; }
  @media screen and (max-width: 768px) {
    p {
      font-size: 13px;
      line-height: 1.69; } }

h2 {
  font-size: 2.1875em;
  line-height: 1.2;
  letter-spacing: -1.23px;
  margin-bottom: 15px; }
  @media screen and (max-width: 768px) {
    h2 {
      font-size: 1.9375em;
      line-height: 1.35;
      letter-spacing: -1.09px;
      margin-bottom: 10px; } }
  @media screen and (max-width: 680px) {
    h2 {
      font-size: 1.375em;
      letter-spacing: -0.77px;
      margin-bottom: 5px; } }

strong {
  font-size: 0.9375rem;
  font-weight: 600;
  line-height: 1.67; }
  @media screen and (max-width: 768px) {
    strong {
      font-size: 0.875rem;
      line-height: 1.71;
      letter-spacing: -0.41px; } }

.paragraph {
  padding: 0 0 100px;
  /*
  ul:not(.slick-dots) {
    margin: 15px 0;
    padding: 0;

    li:not(.orange-list-style .ticket) {
      list-style: none;
      margin-bottom: 8px;
      color: $dark_very_grayish_red;
      line-height: 1.43;
      font-size: em(14);
      letter-spacing: -0.41px;
      font-weight: 500;
      padding-left: 19px;
      background: url('../../images/build/list-dot.png') no-repeat left center;
      background-size: 4px auto;

      &amp;:last-of-type {
        margin-bottom: 0;
      }
    }
  }
  */ }
  .paragraph img {
    max-width: 100%;
    height: auto; }
  .paragraph .introduction {
    font-size: 1.25rem;
    line-height: 1.74;
    color: #10487a;
    font-weight: 700;
    margin-bottom: 35px; }
    .node-type-campaign-programme .paragraph .introduction {
      color: #3B3535; }
    .page-node-1362 .paragraph .introduction {
      color: #10487a; }
    @media screen and (max-width: 768px) {
      .events-landing-page .paragraph .introduction {
        font-size: 0.75rem; } }
  .paragraph:first-of-type {
    padding-top: 0; }

.paragraph-text .primary-call-action {
  margin-top: 30px; }
  .paragraph-text .primary-call-action:not(:last-child) {
    margin-right: 10px; }

.paragraph-text h3 {
  color: #3B3535;
  margin-top: 40px; }

.paragraph-text .links {
  overflow: hidden;
  padding-top: 30px; }
  .paragraph-text .links a {
    background-color: #10487a;
    border: none;
    box-shadow: none;
    font-size: 1rem;
    font-weight: 400;
    color: #fff;
    padding: 13px 42px 11px 33px;
    letter-spacing: normal; }
    .paragraph-text .links a::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .paragraph-text .links a::after {
      margin-left: 4px; }
    .paragraph-text .links a:nth-child(2n+1) {
      clear: both; }

.paragraph-list {
  margin: 30px 0;
  padding: 0;
  list-style-type: none; }
  .paragraph-list h3 {
    font-size: 0.9375rem;
    font-weight: 500;
    margin-bottom: 3px;
    line-height: 1.73; }
  .paragraph-list .text {
    font-size: 0.8125rem;
    margin-bottom: 15px; }

.paragraph-events .card-horizontal-wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(275px, 1fr));
  gap: 10px 10px; }
  @media screen and (max-width: 680px) {
    .paragraph-events .card-horizontal-wrapper {
      display: block; } }

.paragraph-events-topic {
  min-height: 318px; }
  @media screen and (max-width: 768px) {
    .paragraph-events-topic {
      max-width: 286px;
      margin: 0 auto; } }
  @media screen and (max-width: 680px) {
    .paragraph-events-topic .topic-block {
      min-height: 318px; } }

.paragraph-events .secondary-call-action, .paragraph-events .company-header .form-submit, .company-header .paragraph-events .form-submit, .paragraph-events .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .paragraph-events .form-submit,
.paragraph-events .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .paragraph-events .form-submit {
  margin-top: 30px; }

@media screen and (max-width: 680px) {
  .paragraph-events .secondary-call-action, .paragraph-events .company-header .form-submit, .company-header .paragraph-events .form-submit, .paragraph-events .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .paragraph-events .form-submit,
  .paragraph-events .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .paragraph-events .form-submit {
    margin-top: 0; } }

.paragraph-events .slick-list {
  margin-bottom: 15px; }

.paragraph-events .slick-dots button::before {
  content: ''; }

.paragraph-members h2 {
  margin-bottom: 25px; }

.paragraph-members ul.member-list {
  margin: 25px 0 23px; }
  .paragraph-members ul.member-list li {
    position: relative;
    height: 80px;
    width: 80px;
    margin-right: 20px;
    display: inline-block; }
    .paragraph-members ul.member-list li img {
      width: 100%;
      height: auto;
      position: absolute;
      top: 50%;
      right: 0;
      left: 0;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      margin: auto; }

@media screen and (max-width: 680px) {
  .paragraph-members h2 {
    margin-bottom: 15px; }
  .paragraph-members ul.member-list {
    margin: 15px 0; }
    .paragraph-members ul.member-list li {
      position: relative;
      height: 80px;
      width: 80px;
      margin-right: 40px; }
      .paragraph-members ul.member-list li img {
        width: 80px;
        height: auto;
        position: absolute;
        top: 50%;
        right: 0;
        left: 0;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%);
        margin: auto; } }

.paragraph-publications h4 {
  font-size: 0.6875rem;
  margin: 26.5px 0 28px;
  text-transform: uppercase;
  font-weight: normal;
  color: #474545;
  letter-spacing: 2.8px; }

.paragraph-publications .paragraph-publications-list {
  margin: 0;
  padding: 0; }
  .paragraph-publications .paragraph-publications-list li {
    list-style: none;
    margin-bottom: 25px; }
  .paragraph-publications .paragraph-publications-list .meta {
    font-size: 0.625rem;
    margin: 0 3px 0 0;
    text-transform: uppercase;
    font-weight: normal;
    color: #474545;
    letter-spacing: 1.6px; }
  .paragraph-publications .paragraph-publications-list .title {
    font-size: 0.875rem;
    font-weight: 500;
    color: #545151;
    margin-bottom: 5px;
    letter-spacing: -0.41px;
    line-height: 1.4; }
  .paragraph-publications .paragraph-publications-list .text {
    font-size: 0.8125rem;
    margin-bottom: 10px; }

@media screen and (max-width: 680px) {
  .paragraph-publications h4 {
    display: none; } }

.paragraph-gallery {
  text-align: center; }
  .paragraph-gallery::after {
    clear: both;
    content: "";
    display: table; }
  .paragraph-gallery .item {
    position: relative;
    float: left;
    width: calc((100% - 30px) / 3);
    margin: 0 15px 15px 0;
    overflow: hidden; }
    .paragraph-gallery .item:nth-of-type(3n) {
      margin-right: 0; }
    .paragraph-gallery .item:before {
      content: '';
      display: block;
      padding-top: 70%;
      background: rgba(255, 255, 255, 0.3);
      z-index: 1;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
    .paragraph-gallery .item:hover:before {
      background: rgba(255, 255, 255, 0.1); }
    .paragraph-gallery .item:hover .img {
      -webkit-transform: scale(1.1);
      -moz-transform: scale(1.1);
      -ms-transform: scale(1.1);
      -o-transform: scale(1.1);
      transform: scale(1.1); }
  .paragraph-gallery .img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: -1;
    background-size: cover;
    background-position: center;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
  .paragraph-gallery .gallery-count {
    font-size: 0.8125rem; }
  .paragraph-gallery .open-gallery-link {
    color: #FC682D;
    font-size: 0.875rem;
    font-weight: 400; }
  @media screen and (max-width: 680px) {
    .paragraph-gallery .item {
      width: calc((100% - 15px) / 2);
      margin: 0 15px 15px 0; }
      .paragraph-gallery .item:nth-of-type(3n) {
        margin-right: 15px; }
      .paragraph-gallery .item:nth-of-type(2n) {
        margin-right: 0; } }
  @media (max-width: 500px) {
    .paragraph-gallery .item {
      width: 100%;
      margin: 0 0 15px; }
      .paragraph-gallery .item:last-of-type {
        margin-bottom: 0; } }

.orange-list-style {
  margin: 0 0 30px;
  border-left: 1px solid #EAE9EC;
  padding: 0 0 0 15px;
  font-size: 0.8125rem;
  position: relative; }
  .orange-list-style:last-child {
    margin-bottom: 0; }
  .orange-list-style:before {
    content: '';
    width: 3px;
    height: 15px;
    background: #FC682D;
    position: absolute;
    top: 0;
    left: -1.5px; }
  @media screen and (max-width: 680px) {
    .orange-list-style {
      padding-left: 11px;
      margin-bottom: 36px; }
      .orange-list-style:last-of-type {
        margin-bottom: 15px; }
      .orange-list-style h3 {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 5px; } }

.practical-information {
  background: #FBF9F8;
  padding: 40px 36px; }
  .practical-information h2 {
    font-size: 1.5rem;
    margin-top: 0; }
  .practical-information .text {
    font-size: 0.875rem;
    margin-bottom: 40px; }
  .practical-information h3 {
    font-size: 0.625rem;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 0.25em;
    margin-bottom: 20px; }
  .practical-information dl {
    overflow: hidden;
    margin: 0;
    padding: 0; }
  .practical-information dt {
    font-size: 0.625rem;
    float: left;
    clear: left;
    margin: 0;
    color: #FC682D;
    border-right: 1px solid #FC682D;
    padding-right: 5px;
    line-height: 1; }
  .practical-information dd {
    font-size: 0.8125rem;
    float: left;
    display: inline-block;
    margin-left: 14px;
    margin-bottom: 12px;
    line-height: 1; }
    .practical-information dd a {
      color: #FC682D; }
    .practical-information dd:last-child, .practical-information dd:last-of-type {
      margin-bottom: 0; }

.paragraph-text .text ul {
  font-size: 0.875rem;
  margin: 25px 0;
  list-style-type: none;
  list-style-image: none; }
  .paragraph-text .text ul li {
    margin-bottom: 12px;
    padding-left: 20px;
    font-weight: 500;
    position: relative;
    list-style-type: none;
    list-style-image: none;
    background: none; }
    .paragraph-text .text ul li:before {
      content: '';
      background: #BBBDBF;
      width: 4px;
      height: 4px;
      border-radius: 50%;
      display: inline-block;
      vertical-align: middle;
      margin-right: 10px;
      position: absolute;
      left: 0;
      top: 10px; }

#paragraph-4 ul,
#paragraph-6 ul,
#paragraph-8 ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 15px; }

#paragraph-4 li,
#paragraph-6 li,
#paragraph-8 li {
  display: inline-block;
  padding: 7px 20px;
  border-radius: 5px;
  border: 1px solid #dce4ec;
  background-color: #fff;
  box-shadow: 5px 5px 25px rgba(0, 0, 0, 0.05);
  margin-bottom: 0; }
  #paragraph-4 li::before,
  #paragraph-6 li::before,
  #paragraph-8 li::before {
    display: none; }

#paragraph-7 ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 16px;
  padding-right: 94px; }
  @media screen and (max-width: 768px) {
    #paragraph-7 ul {
      display: block;
      padding-right: 0; }
      #paragraph-7 ul li {
        margin-bottom: 1rem; } }
  #paragraph-7 ul h3 {
    margin: 0; }

#paragraph-7 li {
  padding-left: 0;
  margin-bottom: 0; }
  #paragraph-7 li ul {
    display: none !important; }
  #paragraph-7 li::before {
    display: none; }
  #paragraph-7 li a {
    display: block;
    color: #fff;
    background-color: #10487a;
    min-height: 144px;
    border-radius: 10px;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.3;
    padding: 18px 16px; }

.paragraph.introduction {
  color: #545151;
  font-weight: 500;
  margin-bottom: 0;
  padding-bottom: 20px;
  font-size: 0.9375rem;
  line-height: 1.8; }

.paragraph-details {
  margin: 50px 0;
  background: #FBF9F8;
  padding: 45px 33px;
  overflow: hidden; }
  .paragraph-details h2 {
    margin-bottom: 20px; }
  .paragraph-details dl {
    font-size: 0.875rem; }
  .paragraph-details dt,
  .paragraph-details dd {
    float: left;
    margin: 0;
    padding: 0;
    margin-bottom: 10px; }
  .paragraph-details dt {
    clear: both;
    font-weight: 600;
    width: 120px; }
  .paragraph-details dd {
    font-weight: 500;
    width: calc(100% - 120px); }

.paragraph-icon-list h2 {
  margin-bottom: 30px; }

.paragraph-icon-list img {
  width: 30px;
  height: 30px;
  display: inline-block;
  margin-right: 10px;
  vertical-align: middle; }

.paragraph-icon-list li {
  margin-bottom: 13px; }

.paragraph-icon-list ul {
  font-size: 0.9375rem;
  font-weight: 500; }

.paragraph-activities h3.section-title {
  color: #545151;
  font-size: 1.0625rem;
  margin: 30px 0; }

.paragraph-speakers img {
  height: 119px;
  width: 119px;
  display: inline-block;
  vertical-align: middle;
  border-radius: 119px; }

.paragraph-speakers h3 {
  font-size: 1.0625rem;
  font-weight: 600;
  margin-bottom: 3px;
  line-height: 1.3;
  letter-spacing: -0.4px;
  float: left; }

.paragraph-speakers a.fancybox {
  float: right;
  font-size: 0.75rem;
  border-left: 2px solid #F2743A;
  padding-left: 8px;
  line-height: 1;
  display: inline-block; }

.paragraph-speakers .event-speakers {
  margin: 0;
  padding: 0; }

.paragraph-speakers .event-speaker {
  position: relative;
  list-style: none;
  padding: 17px 10px 14px 28px;
  border-bottom: 1px solid #EAEAEA; }
  .paragraph-speakers .event-speaker:last-of-type {
    border-bottom: 0; }

.paragraph-speakers img {
  margin-right: 30px; }

.paragraph-speakers .text-wrap {
  width: calc(100% - 154px);
  display: inline-block;
  vertical-align: middle; }

.paragraph-speakers .event-speaker-job-title {
  clear: both;
  color: #666262;
  font-size: 0.875rem;
  line-height: 1.65;
  margin-bottom: 10px; }

.paragraph-speakers .text {
  font-size: 0.75rem;
  line-height: 1.58; }

@media screen and (max-width: 680px) {
  .paragraph-speakers img {
    height: 84px;
    width: 84px; }
  .paragraph-speakers h3 {
    font-size: 0.9375rem;
    margin-bottom: 5px; }
  .paragraph-speakers .event-speaker {
    position: relative;
    list-style: none;
    padding: 16px 0; }
    .paragraph-speakers .event-speaker:last-of-type {
      border-bottom: 0; }
  .paragraph-speakers .text-wrap {
    width: calc(100% - 100px);
    padding-left: 15px; }
  .paragraph-speakers .event-speaker-job-title {
    font-size: 0.75rem;
    line-height: 1.4;
    margin-bottom: 0; }
  .paragraph-speakers .text {
    display: none; } }

.main-with-sidebar &gt; .youtube-container--responsive {
  margin-bottom: 100px; }
  @media screen and (max-width: 680px) {
    .main-with-sidebar &gt; .youtube-container--responsive {
      margin-bottom: 50px; } }

.page-style .view-filters {
  z-index: 10;
  background: #f37324;
  width: 100%;
  position: relative; }
  .page-style .view-filters .views-exposed-widgets {
    width: 100%;
    margin-bottom: 0; }
  .page-style .view-filters .views-exposed-widget {
    position: relative;
    height: 70px;
    padding: 18px 28px 10px 24px;
    border-left: 1px solid #EAEAEA;
    background: #FFF;
    overflow: hidden;
    cursor: pointer;
    -webkit-transition: all 222ms ease-out;
    -moz-transition: all 222ms ease-out;
    transition: all 222ms ease-out; }
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(3),
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(3) ~ .views-exposed-widget {
      width: 50%; }
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(4),
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(4) ~ .views-exposed-widget {
      width: 33.3%; }
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(5),
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(5) ~ .views-exposed-widget {
      width: 25%; }
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(6),
    .page-style .view-filters .views-exposed-widget:first-child:nth-last-child(6) ~ .views-exposed-widget {
      width: 20%; }
    .page-style .view-filters .views-exposed-widget:before {
      content: '';
      position: absolute;
      top: -5px;
      left: 0;
      height: 3px;
      width: 100%;
      -webkit-transition: all 222ms ease-out;
      -moz-transition: all 222ms ease-out;
      transition: all 222ms ease-out;
      background: #FC682D;
      opacity: 0; }
    .page-style .view-filters .views-exposed-widget:first-of-type {
      border: 0; }
    .page-style .view-filters .views-exposed-widget.focus {
      background: #FFF !important; }
      .page-style .view-filters .views-exposed-widget.focus:before {
        top: 0;
        opacity: 1; }
    .page-style .view-filters .views-exposed-widget:not(.views-submit-button):hover {
      background: #F3F3F4; }
    @media screen and (max-width: 768px) {
      .page-style .view-filters .views-exposed-widget:not(.views-widget-filter-title_field_value) {
        display: none; } }
  .page-style .view-filters #edit-field-news-type-target-id-wrapper {
    z-index: 50; }
    .page-style .view-filters #edit-field-news-type-target-id-wrapper .news-label {
      font-size: 13px;
      margin-top: 5px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis; }
    .page-style .view-filters #edit-field-news-type-target-id-wrapper .bef-select-as-checkboxes {
      background: #FFF;
      padding: 24px;
      position: absolute;
      top: 50px;
      width: 400px !important;
      box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.06);
      left: -30px;
      display: none;
      font-family: "Poppins", sans-serif; }
      .page-style .view-filters #edit-field-news-type-target-id-wrapper .bef-select-as-checkboxes .bef-toggle {
        display: block;
        margin-bottom: 10px;
        font-size: 14px; }
      .page-style .view-filters #edit-field-news-type-target-id-wrapper .bef-select-as-checkboxes .bef-checkboxes {
        width: 100%;
        display: flex;
        gap: 10px 20px;
        flex-wrap: wrap; }
      .page-style .view-filters #edit-field-news-type-target-id-wrapper .bef-select-as-checkboxes .form-item {
        width: calc(50% - 20px);
        text-align: left;
        display: flex;
        gap: 0 10px;
        align-items: center; }
        .page-style .view-filters #edit-field-news-type-target-id-wrapper .bef-select-as-checkboxes .form-item label {
          text-transform: none;
          color: #545151;
          font-size: 12px;
          letter-spacing: 0; }
    .page-style .view-filters #edit-field-news-type-target-id-wrapper .actions {
      text-align: right;
      margin: 10px 0 -5px; }
    .page-style .view-filters #edit-field-news-type-target-id-wrapper.open {
      overflow: visible; }
      .page-style .view-filters #edit-field-news-type-target-id-wrapper.open .bef-select-as-checkboxes {
        display: block; }
  .page-style .view-filters label {
    font-size: 0.625rem;
    color: #474545;
    text-transform: uppercase;
    letter-spacing: 1.6px;
    line-height: 1.4;
    font-weight: normal;
    margin-bottom: 3px; }
  .page-style .view-filters .views-widget-filter-title_field_value,
  .page-style .view-filters .views-widget-filter-keys {
    position: relative;
    float: right; }
    .page-style .view-filters .views-widget-filter-title_field_value:after,
    .page-style .view-filters .views-widget-filter-keys:after {
      content: '';
      opacity: 1;
      height: 11px;
      width: 11px;
      position: absolute;
      top: 33px;
      right: 25px;
      background: url("../../images/build/search.svg") no-repeat center;
      background-size: 100% auto;
      -webkit-transition: all 222ms ease-out;
      -moz-transition: all 222ms ease-out;
      transition: all 222ms ease-out; }
    .page-style .view-filters .views-widget-filter-title_field_value label,
    .page-style .view-filters .views-widget-filter-keys label {
      display: none; }
    .page-style .view-filters .views-widget-filter-title_field_value .form-text,
    .page-style .view-filters .views-widget-filter-keys .form-text {
      border: 0;
      background: transparent;
      outline: none; }
    @media screen and (max-width: 768px) {
      .page-style .view-filters .views-widget-filter-title_field_value,
      .page-style .view-filters .views-widget-filter-keys {
        width: 100% !important;
        height: 40.5px;
        padding: 0;
        border-left: 0;
        box-shadow: 0 1px 20px 0 rgba(0, 0, 0, 0.12); }
        .page-style .view-filters .views-widget-filter-title_field_value:after,
        .page-style .view-filters .views-widget-filter-keys:after {
          top: 0;
          bottom: 0;
          margin: auto; }
        .page-style .view-filters .views-widget-filter-title_field_value label,
        .page-style .view-filters .views-widget-filter-keys label {
          display: block;
          height: 40px;
          width: 40px;
          font-size: 0;
          margin: 0;
          cursor: pointer;
          background: url("../../images/build/plus.png") no-repeat center;
          background-size: 13px auto;
          position: absolute;
          top: 0;
          left: 0; }
        .page-style .view-filters .views-widget-filter-title_field_value .views-widget,
        .page-style .view-filters .views-widget-filter-keys .views-widget {
          display: inline-block;
          margin-left: 40px;
          width: calc(100% - 40px); }
          .page-style .view-filters .views-widget-filter-title_field_value .views-widget:before,
          .page-style .view-filters .views-widget-filter-keys .views-widget:before {
            content: '';
            height: 28px;
            width: 1px;
            margin: auto;
            border-left: 1px solid #EAEAEA;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 40px; }
          .page-style .view-filters .views-widget-filter-title_field_value .views-widget input,
          .page-style .view-filters .views-widget-filter-keys .views-widget input {
            padding: 9px 27px 8px 12px; } }
  .page-style .view-filters .views-submit-button,
  .page-style .view-filters .views-widget-sort-order {
    display: none;
    opacity: 0;
    visibility: hidden; }
  .page-style .view-filters .select2 {
    width: 100% !important;
    height: auto;
    color: #545151; }
    .page-style .view-filters .select2 .select2-selection {
      border: 0 !important;
      font-weight: 500;
      padding: 0;
      background: transparent;
      outline: none;
      cursor: pointer; }
      .page-style .view-filters .select2 .select2-selection span.select2-selection__rendered {
        font-size: 0.8125rem;
        line-height: 1.92;
        color: #545151;
        font-weight: 500;
        letter-spacing: -0.38px;
        padding: 0;
        width: 100%;
        padding-right: 10px;
        max-height: 20px;
        overflow: hidden;
        position: absolute;
        top: 0;
        background: url("../../images/build/sort-arrow.svg") no-repeat right 7px;
        background-size: 6.5px auto; }
      .page-style .view-filters .select2 .select2-selection ul.select2-selection__rendered {
        width: 9999px;
        padding: 0; }
        .page-style .view-filters .select2 .select2-selection ul.select2-selection__rendered .select2-selection__choice {
          position: relative;
          font-size: 0.8125rem;
          font-weight: 500;
          line-height: 1.92;
          letter-spacing: -0.38px;
          color: #545151;
          border: 0;
          margin: 0 15px 0 0;
          padding: 0;
          background: transparent;
          text-transform: capitalize;
          max-height: 20px;
          overflow: hidden;
          float: left; }
      .page-style .view-filters .select2 .select2-selection .select2-search__field {
        margin-top: 0;
        opacity: 0.5;
        color: #545151;
        font-size: 0.8125rem;
        cursor: pointer; }
      .page-style .view-filters .select2 .select2-selection .select2-selection__arrow,
      .page-style .view-filters .select2 .select2-selection .select2-search.select2-search--inline:not(:only-child),
      .page-style .view-filters .select2 .select2-selection .select2-selection__choice__remove {
        display: none; }
  @media screen and (max-width: 768px) {
    .page-style .view-filters {
      position: absolute;
      top: 0;
      left: 0; }
      .page-style .view-filters.mobile-toggled {
        position: fixed;
        top: 105px;
        left: 0;
        right: 0;
        margin: auto;
        max-width: 680px; }
        .page-style .view-filters.mobile-toggled:after {
          content: '';
          position: fixed;
          top: 0;
          left: 0;
          height: 100%;
          width: 100%;
          background: rgba(71, 69, 69, 0.9); }
        .page-style .view-filters.mobile-toggled .views-exposed-widget {
          z-index: 1;
          opacity: 1;
          display: block;
          height: auto;
          visibility: visible;
          width: 100% !important;
          padding: 16px 26px 15px;
          border-left: 0;
          border-bottom: 1px solid #EAEAEA; }
          .page-style .view-filters.mobile-toggled .views-exposed-widget :before {
            content: none; }
          .page-style .view-filters.mobile-toggled .views-exposed-widget  label {
            display: inline-block;
            margin-bottom: 0; }
          .page-style .view-filters.mobile-toggled .views-exposed-widget .views-widget-sort-by {
            border-bottom: 0; }
          .page-style .view-filters.mobile-toggled .views-exposed-widget  .views-widget,
          .page-style .view-filters.mobile-toggled .views-exposed-widget  .form-item-sort-by .select2 {
            float: right;
            text-align: right;
            width: calc(100% - 100px) !important; }
          .page-style .view-filters.mobile-toggled .views-exposed-widget  .select2-selection--single {
            height: 20px; }
          .page-style .view-filters.mobile-toggled .views-exposed-widget  .select2-selection__rendered {
            margin-top: 1px;
            padding-right: 40px;
            background-position: calc(100% - 20px) 9px; }
        .page-style .view-filters.mobile-toggled .views-submit-button {
          z-index: 1;
          opacity: 1;
          display: block;
          height: auto;
          visibility: visible;
          width: 100% !important;
          text-align: center;
          padding: 8px 20px 25px;
          border: 0; }
          .page-style .view-filters.mobile-toggled .views-submit-button:before {
            content: none; }
          .page-style .view-filters.mobile-toggled .views-submit-button .form-submit {
            margin: 0 auto; }
        .page-style .view-filters.mobile-toggled .views-widget-filter-title_field_value {
          position: fixed;
          left: 0;
          right: 0;
          margin: auto;
          max-width: 680px; } }
  @media screen and (max-width: 680px) {
    .page-style .view-filters {
      top: 25px;
      padding: 0 20px;
      background: #FBF9F8; }
      .page-style .view-filters.mobile-toggled {
        padding: 0 20px; }
        .page-style .view-filters.mobile-toggled .views-widget-filter-title_field_value {
          left: 20px;
          right: inherit;
          width: calc(100% - 40px) !important; } }

.select2-container .select2-search--dropdown {
  padding: 0; }

.select2-container .select2-dropdown {
  position: absolute;
  padding: 16px 0 18px;
  top: 20px;
  background: #FFF;
  box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.06);
  border: 0;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  .select2-container .select2-dropdown::after {
    clear: both;
    content: "";
    display: table; }
  .select2-container .select2-dropdown.small {
    width: 200px !important; }
  .select2-container .select2-dropdown:not(.select2-dropdown--above):before {
    content: '';
    height: 24px;
    width: 24px;
    position: absolute;
    top: -12px;
    left: calc(50% - 50px);
    margin: auto;
    background: url("../../images/build/options-arrow.png") no-repeat center top;
    background-size: 24px auto; }
  .select2-container .select2-dropdown.select2-dropdown--above {
    margin-top: -50px; }
  .select2-container .select2-dropdown .select2-search__field {
    display: none; }
  .select2-container .select2-dropdown .select2-results .select2-results__options {
    max-height: 250px; }
  .select2-container .select2-dropdown .select2-results .select2-results__option {
    padding: 10px 10px 8px 50px;
    display: inline-block;
    vertical-align: middle;
    width: 50%;
    background: url("../../images/build/option-non.png") no-repeat 23px center;
    background-size: 16px auto;
    font-size: 0.75rem;
    color: #545151;
    line-height: 1.35;
    box-sizing: border-box;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
    .select2-container .select2-dropdown .select2-results .select2-results__option[aria-selected="true"] {
      background: url("../../images/build/option-active.png") no-repeat 23px center;
      background-size: 16px auto;
      font-size: 0.8125rem;
      font-weight: 500;
      color: #545151; }
    .select2-container .select2-dropdown .select2-results .select2-results__option:hover {
      font-weight: 500; }

@media screen and (max-width: 768px) {
  .select2-container .select2-dropdown {
    width: 450px !important;
    max-width: 85vw;
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, 0.2); }
    .select2-container .select2-dropdown:before {
      content: none; } }

@media screen and (max-width: 680px) {
  .select2-container {
    left: 20px !important; }
    .select2-container .select2-dropdown .select2-results .select2-results__option {
      padding: 8px 10px 6px 38px;
      background-size: 12px auto;
      background-position: 18px 12px;
      font-size: 0.6875rem; }
      .select2-container .select2-dropdown .select2-results .select2-results__option[aria-selected="true"] {
        background-position: 18px 12px;
        background-size: 12px auto;
        font-size: 0.75rem; } }

.select2-container--classic.select2-container--open .select2-dropdown--below {
  border: 0; }
  .select2-container--classic.select2-container--open .select2-dropdown--below:before {
    content: none; }

.mobile-filter-close {
  position: absolute;
  top: -30px;
  right: 0;
  height: 10px;
  width: 10px;
  z-index: 1;
  cursor: pointer;
  display: none;
  background: url("../../images/build/close.png") no-repeat center;
  background-size: cover; }
  @media screen and (max-width: 680px) {
    .mobile-filter-close {
      right: 20px; } }

.view-filters-inner {
  padding: 31px 0 32px; }

.fancybox-container .fancybox-bg {
  background: #474545; }

@media screen and (max-width: 768px) {
  .fancybox-container .fancybox-slide {
    padding: 0 35px; } }

@media screen and (max-width: 680px) {
  .fancybox-container .fancybox-slide {
    padding: 0 10px; } }

.fancybox-container .fancybox-testimonial {
  padding: 0 20px;
  margin: auto;
  overflow: hidden;
  background: transparent; }
  .fancybox-container .fancybox-testimonial .wrapper {
    background: #FFF;
    margin: 0 auto;
    max-width: 750px;
    padding: 60px 82px; }
    @media screen and (max-width: 768px) {
      .fancybox-container .fancybox-testimonial .wrapper {
        padding: 50px; } }
    @media screen and (max-width: 768px) {
      .fancybox-container .fancybox-testimonial .wrapper {
        padding: 25px; } }

.fancybox-container .fancybox-close-small {
  height: 10px;
  width: 10px;
  background: url("../../images/build/fancy-close.png") no-repeat center;
  background-size: 100% auto; }
  .fancybox-container .fancybox-close-small:after {
    content: none; }

.fancybox-container .pre-title {
  font-size: 0.625em;
  text-transform: uppercase;
  color: #474545;
  margin-bottom: 9px;
  line-height: 1.4;
  letter-spacing: 1.6px; }

.fancybox-container h2 {
  color: #545151;
  font-size: 1.0625em;
  font-weight: 600;
  margin-bottom: 15px;
  line-height: 1.3;
  letter-spacing: -0.4px; }

.fancybox-container p {
  font-size: 0.8125em;
  line-height: 1.61;
  color: #666262; }

.fancybox-container .card-image-links {
  margin-top: 24px; }

.social-media__icon {
  position: relative;
  height: 33px;
  width: 33px;
  display: inline-block;
  margin: 2px 16px 0 0;
  cursor: pointer;
  z-index: 1;
  box-sizing: border-box;
  background: #10487a;
  border-radius: 33px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  @media screen and (max-width: 768px) {
    .social-media__icon {
      height: 24px;
      width: 24px;
      border-radius: 33px;
      margin-right: 11px;
      box-shadow: none;
      z-index: initial; }
      .social-media__icon:hover span {
        height: 28px;
        width: 28px;
        border-radius: 33px;
        margin: -14px; } }
  .social-media__icon:last-of-type {
    margin-right: 0; }
  .social-media__icon span {
    border-radius: 0;
    display: block;
    margin: 0;
    z-index: -1;
    background: #f37324;
    height: 0;
    width: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s; }
  .social-media__icon path {
    fill: #dce4ec; }
  .social-media__icon svg {
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0; }
    @media screen and (max-width: 768px) {
      .social-media__icon svg {
        width: 40%; } }
  .social-media__icon:hover span {
    height: 33px;
    width: 33px;
    border-radius: 33px;
    margin: -16.5px; }
  .social-media__icon svg {
    width: 15px;
    height: 15px; }
  .social-media__icon.twitter svg {
    width: 20px;
    height: 20px; }
  .social-media__icon.instagram svg {
    width: 18px;
    height: 18px; }
  .social-media__icon.youtube svg {
    width: 21px;
    height: 21px; }

#comments {
  padding: 47px 48px 43px 45px;
  background: #FBF9F8;
  border-radius: 3px; }
  #comments .comment-title {
    font-size: 1.0625em;
    font-weight: 600;
    line-height: 1.29;
    margin-bottom: 10px;
    letter-spacing: -0.4px;
    color: #545151; }
  #comments .text {
    color: #666262;
    font-size: 0.6875em;
    line-height: 1.45;
    margin-bottom: 11px; }
  #comments .form-type-textarea {
    margin: 0 0 11px; }
    #comments .form-type-textarea .text-full {
      border-color: #EAE9EC;
      background: #FBF9F8; }
  #comments .form-actions {
    margin: 11px 0 30px; }
    #comments .form-actions input[type="submit"] {
      font-size: 0.75em;
      font-weight: 500;
      line-height: 1.16;
      padding: 8px 13px 6px 14px; }
  #comments .comment {
    padding: 20px 0 0; }
    #comments .comment:first-of-type {
      border-top: 1px solid #EAEAEA; }
    #comments .comment .submitted {
      margin-bottom: 9px; }
      #comments .comment .submitted span {
        display: inline-block;
        vertical-align: middle; }
      #comments .comment .submitted .created {
        margin-left: 5px;
        font-size: 11px;
        line-height: 1.45;
        color: #666262; }
      #comments .comment .submitted .name {
        font-size: 14px;
        font-weight: 500;
        text-transform: capitalize;
        color: #545151; }
    #comments .comment .content {
      font-size: 12px; }
  #comments .form-item-name,
  #comments .grippie, #comments .links,
  #comments .title, #comments label,
  #comments .warning {
    display: none; }
  @media screen and (max-width: 680px) {
    #comments {
      margin-top: 0;
      padding: 40px 20px; }
      #comments .comment-title {
        margin-bottom: 0; }
      #comments .text {
        margin-bottom: 15px; }
      #comments .form-item {
        margin: 10px 0; }
        #comments .form-item .username {
          font-size: 0.875rem; }
      #comments .form-type-textarea {
        margin: 0 0 15px; }
      #comments .form-actions {
        margin: 15px 0; }
      #comments .comment .submitted {
        margin-bottom: 9px; }
        #comments .comment .submitted span {
          display: inline-block;
          vertical-align: middle; }
        #comments .comment .submitted .created {
          margin-left: 5px;
          font-size: 11px;
          line-height: 1.45;
          color: #666262; }
        #comments .comment .submitted .name {
          font-size: 14px;
          font-weight: 500;
          text-transform: capitalize;
          color: #545151; }
      #comments .comment .content {
        font-size: 12px; } }

.share-wrapper {
  margin: 100px 0; }
  .share-wrapper .span, .share-wrapper a {
    display: inline-block;
    vertical-align: middle;
    height: 33px;
    width: 33px; }
  .share-wrapper .text {
    color: #999;
    font-size: 0.875em;
    line-height: 1.57;
    margin-right: 13px; }
  .share-wrapper a {
    position: relative;
    margin-right: 10px;
    background: transparent;
    border-radius: 50%;
    border: 1px solid #FC682D;
    padding: 4px 0 0 9px; }
    .share-wrapper a:last-of-type {
      margin-right: 0; }
    .share-wrapper a:after {
      background: #FC682D; }
    .share-wrapper a .jiathis_txt {
      text-align: center;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      padding: 0 !important;
      background: none !important; }
      .share-wrapper a .jiathis_txt:hover {
        opacity: 1; }
    .share-wrapper a svg, .share-wrapper a g {
      fill: #FC682D; }
  @media screen and (max-width: 768px) {
    .share-wrapper {
      margin: 60px 0; } }
  @media screen and (max-width: 680px) {
    .share-wrapper {
      margin: 20px 20px 45px;
      text-align: center; }
      .share-wrapper .text {
        width: 100%;
        display: block;
        margin: 0 0 10px; } }

.orange-banner {
  padding: 75px 0; }
  .orange-banner-inner {
    position: relative;
    z-index: 2; }
  .orange-banner-title {
    font-size: 2.1875rem;
    font-weight: 600;
    margin-bottom: 15px;
    line-height: 1.5;
    letter-spacing: normal; }
  .orange-banner-text {
    max-width: 883px;
    font-size: 0.9375rem;
    margin-bottom: 15px; }
  .orange-banner .secondary-call-action, .orange-banner .company-header .form-submit, .company-header .orange-banner .form-submit, .orange-banner .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .orange-banner .form-submit,
  .orange-banner .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .orange-banner .form-submit {
    background: transparent;
    border-color: #FFF;
    color: #FFF; }
  @media screen and (max-width: 768px) {
    .orange-banner {
      padding: 45px 0; } }
  @media screen and (max-width: 680px) {
    .orange-banner {
      padding: 40px 20px 35px;
      text-align: left; }
      .orange-banner h2 {
        font-size: 1.3125rem;
        margin-bottom: 5px;
        line-height: 1.2;
        letter-spacing: -0.61px; }
      .orange-banner .text {
        margin-bottom: 47px;
        font-size: 0.875rem;
        font-weight: 500; }
      .orange-banner .secondary-call-action, .orange-banner .company-header .form-submit, .company-header .orange-banner .form-submit, .orange-banner .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .orange-banner .form-submit,
      .orange-banner .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .orange-banner .form-submit {
        padding: 9px 24px 7px; } }

.orange-text-block .top {
  border-bottom: 1px solid #FFF;
  padding-bottom: 36px;
  margin-bottom: 24px; }
  .orange-text-block .top::after {
    clear: both;
    content: "";
    display: table; }

@media screen and (min-width: 769px) {
  .orange-text-block .left {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 31.91489%; }
    .orange-text-block .left:last-child {
      margin-right: 0; } }

.orange-text-block .right {
  font-size: 0.8125rem;
  padding-top: 20px; }
  @media screen and (min-width: 769px) {
    .orange-text-block .right {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 65.95745%; }
      .orange-text-block .right:last-child {
        margin-right: 0; } }

.orange-text-block h2 {
  font-size: 1.75rem;
  line-height: 1.5;
  letter-spacing: -0.98px;
  margin-bottom: 8px; }

.orange-text-block .subtitle {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.57;
  letter-spacing: -0.41px; }

@media screen and (max-width: 680px) {
  .orange-text-block {
    padding: 40px 20px 37px; }
    .orange-text-block .top {
      padding: 0;
      border: 0;
      margin-bottom: 15px; }
    .orange-text-block h2 {
      font-size: 1.375rem;
      line-height: 1.36; }
    .orange-text-block .right {
      display: none; } }

.programme-header {
  z-index: 1;
  overflow: hidden;
  position: relative; }
  .programme-header-background {
    position: absolute;
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
    height: 100%;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    z-index: -1; }
  .programme-header-inner {
    min-height: 527px;
    display: flex;
    align-items: center; }
  .programme-header-content {
    background-color: rgba(255, 255, 255, 0.9);
    max-width: 637px;
    border-radius: 14px;
    padding: 28px 25px 25px;
    flex-grow: 1; }
  .programme-header-heading {
    font-size: 3.0625rem;
    color: #10487a;
    margin: 0 0 9px;
    line-height: 1.06;
    letter-spacing: -0.003em; }
  .programme-header-desc {
    font-size: 1.25rem;
    color: #041120;
    line-height: 1.45;
    margin-bottom: 0; }
  .programme-header .logo-wrap {
    position: absolute;
    top: 0;
    left: 70%;
    height: 160px;
    width: 160px;
    background: #FFF;
    border-radius: 50%; }
    .programme-header .logo-wrap img {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      width: 70%;
      height: auto; }
  .programme-header .btn-back {
    width: inherit;
    position: absolute;
    top: 15px;
    left: 20px; }
  @media screen and (max-width: 1200px) {
    .programme-header .logo-wrap {
      left: 65%; } }
  @media screen and (max-width: 768px) {
    .programme-header .logo-wrap {
      top: 0;
      bottom: 0;
      left: 72%;
      margin: auto;
      height: 155px;
      width: 155px; } }
  @media screen and (max-width: 680px) {
    .programme-header .logo-wrap {
      height: 91px;
      width: 91px;
      top: -140px;
      right: -20px;
      bottom: inherit; } }
  .programme-header .programme-header-sponsors {
    margin-bottom: -85px; }
    .programme-header .programme-header-sponsors .sponsors-title {
      font-size: 0.625rem;
      text-transform: uppercase;
      letter-spacing: 0.25em;
      margin-top: 35px;
      margin-bottom: 5px;
      font-weight: 500; }
    .programme-header .programme-header-sponsors .sponsors-logos {
      margin-bottom: -55px; }
      .programme-header .programme-header-sponsors .sponsors-logos img {
        display: inline-block;
        max-height: 150px; }
      .programme-header .programme-header-sponsors .sponsors-logos.two-lines .sponsors-logo {
        display: block;
        text-align: left; }
    .programme-header .programme-header-sponsors .sponsors-logo {
      display: inline-block;
      vertical-align: middle;
      text-align: center;
      margin-right: 30px;
      margin-top: 20px; }

.newsletter-signup-form {
  display: none;
  position: relative;
  max-width: 750px;
  overflow: visible !important; }
  .newsletter-signup-form iframe {
    display: none; }
  .newsletter-signup-form .block {
    margin-left: 230px;
    padding: 20px; }
  .newsletter-signup-form h2 {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 5px; }
  .newsletter-signup-form .mailchimp-signup-subscribe-form-description {
    font-size: 0.875rem;
    line-height: 1.4; }
  .newsletter-signup-form .form-item.form-item-mergevars-FNAME, .newsletter-signup-form .form-item.form-item-mergevars-LNAME {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%;
    position: relative; }
    .newsletter-signup-form .form-item.form-item-mergevars-FNAME:last-child, .newsletter-signup-form .form-item.form-item-mergevars-LNAME:last-child {
      margin-right: 0; }
    .newsletter-signup-form .form-item.form-item-mergevars-FNAME:nth-child(2n), .newsletter-signup-form .form-item.form-item-mergevars-LNAME:nth-child(2n) {
      margin-right: 0; }
    .newsletter-signup-form .form-item.form-item-mergevars-FNAME:nth-child(2n+1), .newsletter-signup-form .form-item.form-item-mergevars-LNAME:nth-child(2n+1) {
      clear: left; }
    .newsletter-signup-form .form-item.form-item-mergevars-FNAME label, .newsletter-signup-form .form-item.form-item-mergevars-LNAME label {
      position: relative; }
      .newsletter-signup-form .form-item.form-item-mergevars-FNAME label::after, .newsletter-signup-form .form-item.form-item-mergevars-LNAME label::after {
        content: '*';
        color: #f00; }
  .newsletter-signup-form .form-item.form-item-mergevars-MMERGE5 label {
    position: relative; }
    .newsletter-signup-form .form-item.form-item-mergevars-MMERGE5 label::after {
      content: '*';
      color: #f00; }
  .newsletter-signup-form .form-item label {
    font-size: 0.6875rem;
    font-weight: 400;
    text-indent: 10px; }
  .newsletter-signup-form .nl-mailing-list-select {
    border: 1px solid #EAE9EC;
    border-radius: 3px;
    background: #FFF;
    color: #545151;
    padding: 7px 13px;
    font-size: 14px;
    width: 100%;
    outline: none;
    transition: all 333ms linear;
    position: relative; }
    .newsletter-signup-form .nl-mailing-list-select:after {
      content: '';
      display: block;
      width: 20px;
      height: 20px;
      background: url(../../svg/arrow-down.svg) center center no-repeat;
      position: absolute;
      right: 10px;
      top: 10px; }
  .newsletter-signup-form .nl-mailing-list-select-inner {
    position: absolute;
    top: 100%;
    left: -1px;
    right: -1px;
    background: #FFF;
    border: 1px solid #EAEAEA;
    border-top: 0;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    display: none; }
    .newsletter-signup-form .nl-mailing-list-select-inner input, .newsletter-signup-form .nl-mailing-list-select-inner label {
      display: inline-block; }
    .newsletter-signup-form .nl-mailing-list-select-inner .nl-mailing-list-select-list {
      padding: 0 20px 10px;
      max-height: 180px;
      overflow: auto; }
      .newsletter-signup-form .nl-mailing-list-select-inner .nl-mailing-list-select-list label {
        font-size: 0.875rem; }
    .newsletter-signup-form .nl-mailing-list-select-inner .checkbox-wrap {
      margin-bottom: 7px; }
  .newsletter-signup-form .form-item-mailing-list {
    position: relative;
    z-index: 2; }
    .newsletter-signup-form .form-item-mailing-list label {
      position: relative; }
  .newsletter-signup-form .nl-mailing-list-actions {
    position: relative;
    z-index: 1; }
  .newsletter-signup-form .nl-mailing-list-select-actions {
    padding: 12px 10px;
    overflow: hidden;
    border-top: 1px solid #EAEAEA; }
  .newsletter-signup-form .nl-mailing-list-select-done {
    float: right; }
  .newsletter-signup-form .nl-mailing-list-actions {
    text-align: center;
    padding: 10px 0 0; }
  @media screen and (max-width: 680px) {
    .newsletter-signup-form .block {
      margin: 0; } }
  .newsletter-signup-form .primary-call-action:hover {
    color: #F2743A;
    box-shadow: inset 0 0 0 1px #F2743A; }
  .newsletter-signup-form .form-type-checkboxes &gt; label {
    display: none; }
  .newsletter-signup-form .missing-fields {
    font-size: 0.8125rem;
    font-weight: 400;
    color: red;
    margin-top: 15px;
    padding-left: 10px; }

.page-newsletter #content-area .newsletter-signup-form {
  display: block;
  padding: 50px 0;
  max-width: 800px; }
  @media screen and (min-width: 681px) {
    .page-newsletter #content-area .newsletter-signup-form .block {
      padding-left: 50px; } }

.area-chart .highcharts-tick,
.area-chart .highcharts-axis-line:last-of-type, .single-area-chart .highcharts-tick,
.single-area-chart .highcharts-axis-line:last-of-type,
.line-chart .highcharts-tick,
.line-chart .highcharts-axis-line:last-of-type,
.bar-line-chart .highcharts-tick,
.bar-line-chart .highcharts-axis-line:last-of-type, .bar-chart .highcharts-tick,
.bar-chart .highcharts-axis-line:last-of-type {
  display: none; }

.area-chart .mainData, .single-area-chart .mainData,
.line-chart .mainData,
.bar-line-chart .mainData, .bar-chart .mainData {
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 2px; }

.area-chart .subData, .single-area-chart .subData,
.line-chart .subData,
.bar-line-chart .subData, .bar-chart .subData {
  font-size: 12px;
  text-align: center;
  line-height: 1; }

.area-chart .column-number, .single-area-chart .column-number,
.line-chart .column-number,
.bar-line-chart .column-number, .bar-chart .column-number {
  font-size: 12px;
  text-align: center;
  font-weight: 600; }

.area-chart .plotline-label, .single-area-chart .plotline-label,
.line-chart .plotline-label,
.bar-line-chart .plotline-label, .bar-chart .plotline-label {
  position: relative;
  font-size: 12px;
  font-weight: 600;
  background: #fff;
  -webkit-transform: translateY(-4px);
  -moz-transform: translateY(-4px);
  -ms-transform: translateY(-4px);
  -o-transform: translateY(-4px);
  transform: translateY(-4px); }
  .area-chart .plotline-label:before, .single-area-chart .plotline-label:before,
  .line-chart .plotline-label:before,
  .bar-line-chart .plotline-label:before, .bar-chart .plotline-label:before {
    content: '';
    height: 16px;
    width: 16px;
    position: absolute;
    top: 12px;
    left: -30px; }
  .area-chart .plotline-label:after, .single-area-chart .plotline-label:after,
  .line-chart .plotline-label:after,
  .bar-line-chart .plotline-label:after, .bar-chart .plotline-label:after {
    z-index: -1;
    content: '';
    height: 2px;
    width: 10px;
    position: absolute;
    top: 19px;
    left: -20px; }
  .area-chart .plotline-label.quote:before, .single-area-chart .plotline-label.quote:before,
  .line-chart .plotline-label.quote:before,
  .bar-line-chart .plotline-label.quote:before, .bar-chart .plotline-label.quote:before {
    background: url("../../images/build/quote-plotline.png") no-repeat center;
    background-size: 16px auto; }
  .area-chart .plotline-label.quote:after, .single-area-chart .plotline-label.quote:after,
  .line-chart .plotline-label.quote:after,
  .bar-line-chart .plotline-label.quote:after, .bar-chart .plotline-label.quote:after {
    background: #664fa3; }
  .area-chart .plotline-label.target:before, .single-area-chart .plotline-label.target:before,
  .line-chart .plotline-label.target:before,
  .bar-line-chart .plotline-label.target:before, .bar-chart .plotline-label.target:before {
    background: url("../../images/build/target-plotline.png") no-repeat center;
    background-size: 16px auto; }
  .area-chart .plotline-label.target:after, .single-area-chart .plotline-label.target:after,
  .line-chart .plotline-label.target:after,
  .bar-line-chart .plotline-label.target:after, .bar-chart .plotline-label.target:after {
    background: #ab9ecc; }

.area-chart .highcharts-scrollbar-thumb, .single-area-chart .highcharts-scrollbar-thumb,
.line-chart .highcharts-scrollbar-thumb,
.bar-line-chart .highcharts-scrollbar-thumb, .bar-chart .highcharts-scrollbar-thumb {
  height: 15px;
  -webkit-transform: translateY(-1px);
  -moz-transform: translateY(-1px);
  -ms-transform: translateY(-1px);
  -o-transform: translateY(-1px);
  transform: translateY(-1px); }

.area-chart .highcharts-yaxis-grid {
  display: none; }

.single-area-chart .highcharts-xaxis-grid,
.single-area-chart .highcharts-yaxis-grid {
  display: none; }

.gauge-chart .highcharts-yaxis-labels {
  display: none; }

.league-table-header {
  overflow: hidden;
  font-size: 0.625rem;
  color: #999;
  text-transform: uppercase;
  margin-bottom: 17px; }
  .league-table-header &gt; div {
    float: left; }
  .league-table-header .rank {
    width: 65px;
    text-align: center; }
  .league-table-header .name {
    width: calc(100% - 300px);
    padding-left: 70px; }
  .league-table-header .new {
    width: 74px;
    text-align: center; }
  .league-table-header .percent {
    width: 150px;
    padding-left: 50px; }
  @media screen and (max-width: 768px) {
    .league-table-header {
      display: none; } }

.league-table-item {
  position: relative;
  margin-bottom: 5px;
  background: #FFF;
  font-weight: 600;
  cursor: pointer;
  display: block;
  padding: 18px 0 17px;
  border-radius: 3px; }
  .league-table-item::after {
    clear: both;
    content: "";
    display: table; }
  .league-table-item .rank {
    overflow: hidden;
    height: 100%;
    width: 65px;
    position: absolute;
    top: 0;
    left: 0; }
    .league-table-item .rank:before {
      content: '';
      display: block;
      height: 188px;
      width: 188px;
      background: #FC682D;
      position: absolute;
      top: 50%;
      right: 0;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%);
      border-radius: 50%;
      z-index: 0; }
    .league-table-item .rank .value {
      z-index: 1;
      font-size: 1.25rem;
      font-weight: 600;
      color: #fff;
      text-align: center;
      width: 100%;
      position: absolute;
      top: 50%;
      left: 0;
      -webkit-transform: translateY(-50%);
      -moz-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      -o-transform: translateY(-50%);
      transform: translateY(-50%); }
  .league-table-item .movement-and-name, .league-table-item .new, .league-table-item .percent,
  .league-table-item .movement, .league-table-item .name {
    display: inline-block;
    vertical-align: middle; }
  .league-table-item .movement-and-name {
    width: calc(100% - 245px);
    padding-left: 77px; }
  .league-table-item .movement {
    color: #999;
    width: 42px;
    font-size: 0.8125rem;
    line-height: 1; }
    .league-table-item .movement.up {
      color: #FC682D; }
    .league-table-item .movement.down {
      color: #474545; }
  .league-table-item .name {
    font-size: 1.0625rem;
    line-height: 1;
    padding-left: 23px;
    width: calc(100% - 47px); }
  .league-table-item .new {
    width: 74px;
    padding: 0 30px;
    box-sizing: border-box; }
  .league-table-item .percent {
    width: 150px;
    padding: 0 42px;
    font-size: 1.375rem;
    color: #F2743A;
    letter-spacing: -0.52px; }
  .league-table-item .arrow {
    height: 32px;
    width: 32px;
    border-radius: 50%;
    position: absolute;
    top: 0;
    right: -16px;
    bottom: 0;
    margin: auto;
    background: #474545;
    text-align: center;
    padding-top: 3px; }
  @media screen and (max-width: 680px) {
    .league-table-item {
      padding: 37px 0 34px;
      border: 1px solid #eaeaea; }
      .league-table-item .rank {
        width: 30px; }
        .league-table-item .rank .value {
          font-size: 0.875rem; }
      .league-table-item .movement-and-name {
        width: calc(100% - 110px);
        padding-left: 46px; }
      .league-table-item .movement {
        display: block;
        width: 100%;
        font-size: 0.75rem;
        margin-bottom: 4px; }
      .league-table-item .name {
        display: block;
        width: 100%;
        font-size: 0.75rem;
        padding: 0; }
      .league-table-item .new {
        width: 34px;
        padding: 0 10px; }
      .league-table-item .percent {
        width: 68px;
        padding: 0 25px 0 0;
        font-size: 1rem; } }

.leaague-table-popup {
  display: none; }

.fancybox-slide &gt; .leaague-table-popup-inner,
.fancybox-slide &gt; .analysis-popup-inner {
  background-color: #F3F3F4;
  padding: 0; }
  @media screen and (min-width: 769px) {
    .fancybox-slide &gt; .leaague-table-popup-inner,
    .fancybox-slide &gt; .analysis-popup-inner {
      width: 750px; } }
  .fancybox-slide &gt; .leaague-table-popup-inner .analysis-popup-text,
  .fancybox-slide &gt; .analysis-popup-inner .analysis-popup-text {
    padding: 43px 74px;
    font-size: 0.875rem; }
    .fancybox-slide &gt; .leaague-table-popup-inner .analysis-popup-text p,
    .fancybox-slide &gt; .analysis-popup-inner .analysis-popup-text p {
      font-size: 0.875rem; }
  .fancybox-slide &gt; .leaague-table-popup-inner .header,
  .fancybox-slide &gt; .analysis-popup-inner .header {
    background: #FFF;
    text-align: center;
    position: relative;
    padding: 30px 120px 30px 120px; }
  .fancybox-slide &gt; .leaague-table-popup-inner .name,
  .fancybox-slide &gt; .analysis-popup-inner .name {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.3; }
  .fancybox-slide &gt; .leaague-table-popup-inner .rank-wrap,
  .fancybox-slide &gt; .analysis-popup-inner .rank-wrap {
    position: absolute;
    left: 0;
    top: 20px;
    overflow: hidden;
    width: 105px;
    color: #FFF;
    height: 60px;
    padding-top: 13px; }
    .fancybox-slide &gt; .leaague-table-popup-inner .rank-wrap:before,
    .fancybox-slide &gt; .analysis-popup-inner .rank-wrap:before {
      content: '';
      display: block;
      width: 188px;
      height: 188px;
      background: #FC682D;
      position: absolute;
      top: -64px;
      right: 0;
      border-radius: 188px;
      z-index: 1; }
    .fancybox-slide &gt; .leaague-table-popup-inner .rank-wrap span,
    .fancybox-slide &gt; .analysis-popup-inner .rank-wrap span {
      position: relative;
      z-index: 2; }
  .fancybox-slide &gt; .leaague-table-popup-inner .rank,
  .fancybox-slide &gt; .analysis-popup-inner .rank {
    font-size: 1.25rem;
    font-weight: 600;
    padding: 0 5px; }
  .fancybox-slide &gt; .leaague-table-popup-inner .movement,
  .fancybox-slide &gt; .analysis-popup-inner .movement {
    font-size: 0.8125rem;
    font-weight: 600;
    color: #ffd1ba; }
  .fancybox-slide &gt; .leaague-table-popup-inner dl.info,
  .fancybox-slide &gt; .analysis-popup-inner dl.info {
    text-align: center;
    margin: 40px 0; }
    .fancybox-slide &gt; .leaague-table-popup-inner dl.info &gt; div,
    .fancybox-slide &gt; .analysis-popup-inner dl.info &gt; div {
      display: inline-block;
      margin: 0 25px; }
  .fancybox-slide &gt; .leaague-table-popup-inner dl.people,
  .fancybox-slide &gt; .analysis-popup-inner dl.people {
    text-align: center; }
    .fancybox-slide &gt; .leaague-table-popup-inner dl.people dd,
    .fancybox-slide &gt; .analysis-popup-inner dl.people dd {
      margin-bottom: 25px; }
  .fancybox-slide &gt; .leaague-table-popup-inner dt,
  .fancybox-slide &gt; .analysis-popup-inner dt {
    color: #999;
    font-size: 0.625rem;
    text-transform: uppercase; }
  .fancybox-slide &gt; .leaague-table-popup-inner dd,
  .fancybox-slide &gt; .analysis-popup-inner dd {
    color: #474545;
    font-size: 1.1875rem;
    margin: 0;
    padding: 0;
    font-weight: 600; }
  @media screen and (max-width: 680px) {
    .fancybox-slide &gt; .leaague-table-popup-inner .header,
    .fancybox-slide &gt; .analysis-popup-inner .header {
      padding: 60px 20px 18px; }
    .fancybox-slide &gt; .leaague-table-popup-inner .name,
    .fancybox-slide &gt; .analysis-popup-inner .name {
      font-size: 1.125rem;
      line-height: 1.4; }
    .fancybox-slide &gt; .leaague-table-popup-inner .rank-wrap,
    .fancybox-slide &gt; .analysis-popup-inner .rank-wrap {
      right: 0;
      margin: auto;
      top: 0;
      width: 110px;
      height: 55px;
      padding-top: 10px; }
      .fancybox-slide &gt; .leaague-table-popup-inner .rank-wrap:before,
      .fancybox-slide &gt; .analysis-popup-inner .rank-wrap:before {
        position: absolute;
        top: initial;
        right: initial;
        bottom: 0;
        left: -50%;
        -webkit-transform: translateX(9%);
        -moz-transform: translateX(9%);
        -ms-transform: translateX(9%);
        -o-transform: translateX(9%);
        transform: translateX(9%);
        margin: auto; }
    .fancybox-slide &gt; .leaague-table-popup-inner dl.info,
    .fancybox-slide &gt; .analysis-popup-inner dl.info {
      margin: 30px 0 0;
      padding: 0 20px;
      display: block; }
      .fancybox-slide &gt; .leaague-table-popup-inner dl.info::after,
      .fancybox-slide &gt; .analysis-popup-inner dl.info::after {
        clear: both;
        content: "";
        display: table; }
      .fancybox-slide &gt; .leaague-table-popup-inner dl.info &gt; div,
      .fancybox-slide &gt; .analysis-popup-inner dl.info &gt; div {
        float: left;
        width: 50%;
        padding: 0 15px;
        margin: 0 0 35px; }
    .fancybox-slide &gt; .leaague-table-popup-inner dt,
    .fancybox-slide &gt; .analysis-popup-inner dt {
      margin-bottom: 2px; }
    .fancybox-slide &gt; .leaague-table-popup-inner dd,
    .fancybox-slide &gt; .analysis-popup-inner dd {
      font-size: 1rem; } }

.fancybox-slide &gt; .leaague-table-popup-inner .movement {
  top: -1px; }

.most-eventful .league-table-item {
  padding: 32px 0 33px;
  margin: 0 30px 20px;
  border: 1px solid #eaeaea; }

.most-eventful .movement-and-name {
  width: calc(100% - 125px); }

.most-eventful .name {
  font-size: 16px;
  padding-left: 11px; }

.most-eventful .new {
  height: 25px;
  width: 25px;
  border-radius: 50%;
  position: absolute;
  top: -12.5px;
  right: -12.5px; }

.most-eventful .percent {
  width: 120px;
  padding: 0 27px;
  font-size: 27px; }

@media screen and (max-width: 680px) {
  .most-eventful .league-table-item {
    padding: 18px 0 17px;
    margin: 0 23px 15px; }
  .most-eventful .movement-and-name {
    width: calc(100% - 60px);
    padding-right: 10px; }
  .most-eventful .name {
    font-size: 12px;
    padding-left: 0; }
  .most-eventful .percent {
    width: 52px;
    padding: 0;
    font-size: 20px; } }

.report-section-top-10 .league-table-item {
  padding: 10px 0;
  margin: 0 30px 5px;
  border: 1px solid #eaeaea; }

.report-section-top-10 .movement-and-name {
  width: calc(100% - 110px); }

.report-section-top-10 .name {
  font-size: 14px;
  padding-left: 11px; }

.report-section-top-10 .new {
  width: 24px;
  padding: 0 5px; }

.report-section-top-10 .percent {
  width: 75px;
  padding: 0 15px 0 10px;
  font-size: 16px; }

@media screen and (max-width: 680px) {
  .report-section-top-10 .league-table-item {
    padding: 18px 0 17px;
    margin: 0 23px 15px; }
  .report-section-top-10 .movement-and-name {
    width: calc(100% - 90px);
    padding-right: 10px; }
  .report-section-top-10 .name {
    font-size: 12px;
    padding-left: 0; }
  .report-section-top-10 .percent {
    width: 52px;
    padding: 0;
    font-size: 16px; } }

.nav-list {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0 24px; }
  @media screen and (max-width: 1200px) {
    .nav-list {
      gap: 0 8px; } }

.nav a {
  font-size: 0.875rem;
  color: #10487a;
  position: relative; }
  @media screen and (max-width: 1200px) {
    .nav a {
      font-size: 0.75rem; } }
  .nav a.active {
    font-weight: 700;
    color: #10487a; }
  .nav a::before {
    content: '';
    width: 100%;
    height: 1px;
    position: absolute;
    bottom: 3px;
    left: 0;
    background-color: #10487a;
    opacity: 0;
    translate: 0 8px;
    transition-property: opacity, translate;
    transition-duration: 0.3s;
    transition-timing-function: ease-out; }
  .nav a:hover::before {
    opacity: 1;
    translate: 0; }

.sns {
  padding-left: 6px; }
  .sns-list {
    display: flex;
    align-items: center;
    gap: 0 15px; }
    .sns-list a {
      display: block; }
    .sns-list img {
      display: block;
      object-fit: cover;
      width: 24px;
      height: 100%; }

.solution {
  background-color: #f37324;
  padding: 41px 0 33px 0; }
  @media screen and (max-width: 768px) {
    .solution {
      padding: 42px 0 33px 0; } }
  .solution-heading {
    color: #fff;
    font-size: 2rem;
    margin-bottom: 14px; }
    @media screen and (max-width: 768px) {
      .solution-heading {
        font-size: 1.75rem;
        line-height: 1.25; } }
  .solution-desc {
    color: #fff;
    font-size: 1rem;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      .solution-desc {
        font-size: 0.75rem;
        margin-bottom: 34px; } }
  .solution-cta {
    padding: 7px 42px 6px 35px;
    font-size: 1rem;
    letter-spacing: normal;
    font-weight: 400; }
    .solution-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #f37324;
      display: inline-block; }
    .solution-cta.is-white {
      color: #f37324; }

.result {
  background-color: #fff;
  border-radius: 20px;
  padding: 23px 38px 22px 38px; }
  .result-heading {
    font-size: 0.9375rem;
    font-weight: 500;
    margin-bottom: 9px;
    letter-spacing: -0.03em; }
  .result-meta {
    font-size: 0.6875rem;
    margin-bottom: 5px;
    display: block; }
  .result-desc {
    font-size: 0.8125rem;
    margin-bottom: 0; }
  .result-read-more {
    color: #f37324;
    font-size: 0.75rem; }

.partner-header {
  position: relative;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat; }
  .partner-header-inner {
    display: flex;
    align-items: center;
    min-height: 431px; }
    .partner-header-programmes .partner-header-inner {
      min-height: 526px; }
    .partner-header-news .partner-header-inner {
      min-height: 527px; }
    .partner-header-news-resources .partner-header-inner {
      min-height: 526px; }
  .partner-header-content {
    background-color: rgba(255, 255, 255, 0.9);
    max-width: 637px;
    border-radius: 14px;
    padding: 29px 17px 54px 25px; }
    @media screen and (max-width: 768px) {
      .partner-header-content {
        padding: 24px 21px; } }
    .partner-header-news .partner-header-content {
      padding: 22px 17px 54px 25px; }
    .partner-header-news-resources .partner-header-content {
      padding: 23px 17px 24px 25px; }
  .partner-header-title {
    color: #10487a;
    font-size: 3rem;
    margin-bottom: 10px;
    letter-spacing: 0.01em;
    line-height: 1.1; }
    @media screen and (max-width: 768px) {
      .partner-header-title {
        letter-spacing: normal;
        margin-bottom: 9px; } }
    @media screen and (max-width: 680px) {
      .partner-header-title {
        font-weight: 700;
        font-size: 2rem;
        line-height: 1.19; } }
    .partner-header-news .partner-header-title {
      line-height: 1.2; }
    .partner-header-news-resources .partner-header-title {
      line-height: 1.2;
      margin-bottom: 7px; }
  .partner-header-desc {
    font-size: 1.25rem;
    color: #041120;
    line-height: 1.5;
    margin-bottom: 0; }
    .partner-header-desc p {
      font-size: 1.25rem;
      color: #041120;
      line-height: 1.5;
      margin-bottom: 0;
      display: none; }
      @media screen and (max-width: 680px) {
        .partner-header-desc p {
          font-size: 1rem; } }
      .partner-header-desc p:first-of-type {
        display: block; }
      .partner-header-desc p strong {
        font-weight: normal;
        font-size: inherit; }
        @media screen and (max-width: 768px) {
          .partner-header-desc p strong {
            line-height: 1.5;
            letter-spacing: normal; } }

.featured {
  background-color: #f37324; }
  .featured-inner {
    padding: 39px 0 0 0; }
  .featured-content {
    text-align: center;
    margin-bottom: 34px; }
  .featured-title {
    color: #fff;
    margin-bottom: 25px; }
    @media screen and (max-width: 680px) {
      .featured-title {
        text-align: left;
        font-size: 1.75rem;
        line-height: 1.3;
        margin-bottom: 1rem; } }
  .featured-desc {
    color: #fff;
    font-size: 0.9375rem;
    letter-spacing: -0.03em;
    margin-bottom: 0; }
    @media screen and (max-width: 680px) {
      .featured-desc {
        font-size: 12px;
        line-height: 1.92;
        text-align: left; } }
  .featured-cards {
    display: grid;
    justify-content: center;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 20px;
    max-width: 965px;
    width: 100%;
    margin: 0 auto; }
    .featured-cards.count-3 {
      grid-template-columns: repeat(3, 1fr); }
    .featured-cards.count-2 {
      grid-template-columns: repeat(2, 1fr);
      max-width: 600px; }
    .featured-cards.count-1 {
      grid-template-columns: 1fr;
      max-width: 300px; }
    @media screen and (max-width: 680px) {
      .featured-cards {
        margin-bottom: 6rem !important; }
        .featured-cards .slick-dots {
          bottom: -4.6875rem; } }
    .networks-landing .featured-cards {
      grid-template-columns: repeat(3, 225px); }
    .featured-cards .slick-dots button:before {
      content: ''; }
  .featured-card {
    text-align: center;
    background-color: #fff;
    border-radius: 20px;
    transition: translate 0.3s ease-in-out;
    flex-shrink: 0;
    padding: 24px 22px;
    display: block; }
    .featured-card:hover {
      translate: 0 -10px; }
    .featured-card-link {
      display: block;
      min-height: 221px; }
    .featured-card-content {
      box-sizing: border-box;
      height: 100%; }
    .featured-card-icon {
      width: 25px;
      margin: 0 auto 13px; }
      .featured-card-icon img {
        width: 100%;
        height: auto;
        object-fit: cover;
        display: block; }
    .featured-card-title {
      font-size: 1.125rem;
      font-weight: 600;
      line-height: 1.55;
      margin-bottom: 16px;
      letter-spacing: -0.03em;
      color: #000; }
    .featured-card-desc {
      font-size: 0.75rem;
      margin-bottom: 0;
      line-height: 1.58; }
  .featured-button {
    display: flex;
    justify-content: center;
    padding: 25px 0 40px; }
  .featured-cta {
    padding: 6px 22px 6px 15px;
    font-size: 1rem;
    font-weight: 400; }
    .featured-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #f37324;
      display: inline-block; }
    .featured-cta::after {
      margin-left: 8px; }
    .featured-cta.is-white {
      color: #f37324; }
  .featured.orange-overlay {
    background-image: none !important;
    color: inherit; }
    .featured.orange-overlay::after {
      display: none; }

.team {
  position: relative; }
  @media screen and (max-width: 768px) {
    .team {
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover; } }
  .team::before {
    position: absolute;
    content: '';
    left: 0;
    top: 0;
    background-color: rgba(16, 72, 122, 0.8);
    width: 100%;
    height: 100%; }
  .team-inner {
    padding: 46px 0 81px;
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 768px) {
      .team-inner {
        padding: 38px 0 26px; } }
  .team-title {
    color: #fff;
    margin-bottom: 21px; }
    @media screen and (max-width: 768px) {
      .team-title {
        margin-bottom: 25px;
        font-size: 1.75rem;
        line-height: 1.3; } }
  .team-subtitle {
    display: none; }
  .team-desc {
    color: #fff;
    font-size: 0.9375rem;
    letter-spacing: -0.025em;
    line-height: 1.5;
    max-width: 815px;
    width: 100%;
    margin-bottom: 47px; }
    @media screen and (max-width: 768px) {
      .team-desc {
        margin-bottom: 51px;
        font-size: 0.75rem;
        line-height: 1.33; } }
  .team-cta {
    font-weight: 400;
    font-size: 1rem;
    padding: 7px 23px 5px 14px; }
    .team-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #10487a;
      display: inline-block; }
    @media screen and (max-width: 768px) {
      .team-cta {
        padding: 6px 23px 6px 16px; } }
    .team-cta::after {
      margin-left: 8px; }
  .team-partner .team::before {
    background-color: rgba(243, 115, 36, 0.8); }

.partners-bean {
  background-color: #fff; }
  .partners-bean-inner {
    display: flex;
    justify-content: space-between;
    padding: 77px 55px 34px 0;
    gap: 0 20px; }
    @media screen and (max-width: 768px) {
      .partners-bean-inner {
        padding: 36px 0 0 0; } }
    @media screen and (max-width: 680px) {
      .partners-bean-inner {
        flex-direction: column;
        padding: 36px 0 0 0; } }
  .partners-bean-left {
    max-width: 604px;
    width: 100%; }
    @media screen and (max-width: 680px) {
      .partners-bean-left {
        margin-bottom: 2.5rem; } }
  .partners-bean-right {
    max-width: 277px;
    width: 100%;
    flex-shrink: 0; }
  .partners-bean-title {
    margin-bottom: 24px; }
    @media screen and (max-width: 680px) {
      .partners-bean-title {
        font-size: 1.75rem;
        line-height: 1.3;
        margin-bottom: 1rem; } }
  .partners-bean-desc {
    margin-bottom: 35px; }
    .partners-bean-desc p {
      font-size: 0.9375rem;
      color: #041120;
      margin-bottom: 0;
      line-height: 1.55; }
      @media screen and (max-width: 680px) {
        .partners-bean-desc p {
          font-size: 0.75rem;
          line-height: 1.5;
          margin-bottom: 1rem; } }
  .partners-bean-cta {
    font-size: 1rem;
    font-weight: 400;
    padding: 7px 22px 7px 15px; }
    .partners-bean-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .partners-bean-cta::after {
      margin-left: 9px; }
  .partners-bean-label {
    font-weight: 500;
    font-size: 0.9375rem;
    color: #10487a;
    text-transform: uppercase;
    margin-bottom: 33px; }
  .partners-bean-item {
    margin-bottom: 34px; }
  .partners-bean-img {
    display: inline-block;
    max-width: 100%;
    margin-bottom: 5px; }
    .partners-bean-img img {
      display: block;
      width: 50%;
      object-fit: contain; }
  .partners-bean-par {
    font-size: 0.75rem;
    line-height: 1.5;
    margin-bottom: 0; }

.values {
  background-color: #dce4ec;
  text-align: center; }
  .values-inner {
    padding: 61px 0 103px;
    font-size: 2.1875rem;
    letter-spacing: normal;
    margin-bottom: 10px; }
    @media screen and (max-width: 768px) {
      .values-inner {
        padding: 38px 0 103px; } }
  .values-heading {
    font-size: 2.1875rem;
    font-weight: 600;
    margin-bottom: 23px;
    letter-spacing: normal;
    color: #10487a; }
    @media screen and (max-width: 768px) {
      .values-heading {
        font-size: 1.75rem; } }
    @media screen and (max-width: 680px) {
      .values-heading {
        text-align: left;
        line-height: 1.3;
        margin-bottom: 1rem; } }
  .values-desc {
    font-size: 0.9375rem;
    margin-bottom: 45px;
    color: #041120; }
    @media screen and (max-width: 680px) {
      .values-desc {
        font-size: 0.75rem;
        line-height: 1.5;
        margin-bottom: 1.5rem;
        text-align: left; } }
  .values-cards {
    display: flex;
    flex-wrap: wrap;
    gap: 32px; }
  .values-card {
    width: 260px;
    flex-shrink: 0;
    padding: 37px 22px 24px;
    background-color: #fff;
    border-radius: 20px; }
    @media screen and (max-width: 768px) {
      .values-card {
        margin: 0 auto; } }
  .values-circle {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background-color: #D9D9D9;
    margin-bottom: -2px;
    display: inline-block; }
  .values-icon &gt; img {
    display: block;
    margin: 0 auto 24px auto;
    max-width: 5rem;
    max-height: 5rem; }
    @media screen and (max-width: 680px) {
      .values-icon &gt; img {
        max-width: 3.75rem;
        max-height: 3.75rem; } }
  .values-label {
    font-size: 1.875rem;
    color: #474545;
    margin-bottom: 3px;
    font-weight: 600;
    letter-spacing: -0.01em; }
  .values-par {
    font-size: 1.125rem;
    margin-bottom: 0;
    line-height: 1.4; }
  .values .slick-dots {
    bottom: -4.6875rem; }
    .values .slick-dots button::before {
      content: ''; }

.locations {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url("../../images/build/globe.jpg");
  position: relative; }
  .locations::before {
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(220, 228, 236, 0.7);
    content: '';
    width: 100%;
    height: 100%; }
  .locations-inner {
    display: flex;
    justify-content: space-between;
    gap: 0 20px;
    position: relative;
    z-index: 1;
    padding: 87px 0 122px 0; }
    @media screen and (max-width: 768px) {
      .locations-inner {
        padding: 37px 0 18px; } }
    @media screen and (max-width: 768px) {
      .locations-inner {
        flex-direction: column;
        align-items: center;
        text-align: center; } }
    @media screen and (max-width: 680px) {
      .locations-inner {
        align-items: flex-start;
        text-align: left; } }
  @media screen and (max-width: 768px) {
    .locations-title {
      line-height: 1.3;
      margin-bottom: 12px; } }
  .locations-par {
    max-width: 603px;
    width: 100%; }
    .locations-par p {
      font-size: 0.9375rem;
      color: #041120;
      line-height: 1.5; }
      @media screen and (max-width: 680px) {
        .locations-par p {
          font-size: 0.75rem; } }

.mv {
  margin-bottom: 76px; }
  @media screen and (max-width: 768px) {
    .mv {
      margin-bottom: 10px; } }
  .mv-image {
    height: 586px;
    width: 100%;
    background-image: url("../../images/build/mv-image.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
    @media screen and (max-width: 768px) {
      .mv-image {
        height: 430px; } }
  .mv-content {
    margin-top: -122px; }
  .mv-inner {
    background-color: #fff;
    border-radius: 18px;
    padding: 22px 40px; }
    @media screen and (max-width: 768px) {
      .mv-inner {
        padding: 24px 21px; } }
  .mv-title {
    font-size: 3.05187rem;
    color: #10487a;
    margin-bottom: 7px;
    line-height: 1.2; }
    @media screen and (max-width: 768px) {
      .mv-title {
        font-size: 2rem; } }
  .mv-subtitle {
    font-size: 1.25rem;
    font-weight: 400;
    letter-spacing: normal;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      .mv-subtitle {
        font-size: 1rem; } }
  .mv-desc {
    font-size: 1.25rem;
    color: #041120; }
    @media screen and (max-width: 768px) {
      .mv-desc {
        font-size: 1rem; } }

.card-event {
  overflow: hidden;
  border-radius: 10px;
  background-color: #F7F7F7; }
  .card-event-block {
    display: block; }
  .card-event-figure {
    height: 364px; }
    @media screen and (max-width: 680px) {
      .card-event-figure {
        height: 14.625rem; } }
  .card-event-image {
    width: 100%;
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover; }
  .card-event-content {
    padding: 24px 25px 10px; }
  .card-event-date {
    font-size: 1rem;
    color: #10487a;
    font-weight: 600;
    display: block;
    margin-bottom: 4px; }
  .card-event-title {
    color: #10487a;
    font-size: 1.9375rem; }
    @media screen and (max-width: 680px) {
      .card-event-title {
        font-weight: 500;
        font-size: 1.5rem;
        line-height: 1.5; } }

.card-past {
  background-color: #fff;
  overflow: hidden;
  border-radius: 20px;
  box-shadow: 5px 5px 25px rgba(0, 0, 0, 0.05);
  transition: 0.3s translate ease-out;
  display: block; }
  .card-past:hover {
    translate: 0 -10px; }
    .card-past:hover .card-past-image {
      scale: 1; }
  .card-past-figure {
    height: 178px;
    overflow: hidden; }
  .card-past-image {
    display: block;
    height: 100%;
    width: 100%;
    object-fit: cover;
    scale: 1.1;
    transition: 0.3s scale ease-out; }
    .node-type-events-landing-page .card-past-image,
    .view-past-events .card-past-image {
      filter: grayscale(1); }
  .card-past-content {
    padding: 11px 10px 38px; }
  .card-past-date {
    color: #10487a;
    font-size: 1rem;
    font-weight: 600;
    display: block;
    margin-bottom: 10px; }
  .card-past-title {
    color: #475254;
    font-size: 1.375rem;
    font-weight: 500;
    margin-bottom: 11px;
    letter-spacing: normal;
    line-height: 1.35;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden; }
  .card-past-categories {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 10px; }
  .card-past-category {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    border-radius: 5px;
    border: 1px solid #7D7D7D;
    text-transform: uppercase;
    padding: 0;
    text-align: center;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.4;
    color: #7d7d7d; }
    .card-past-category.is-disabled {
      opacity: 0.1; }

.card-basic {
  background-color: #fff;
  overflow: hidden;
  border-radius: 20px; }
  .card-basic-figure {
    height: 178px; }
  .card-basic-image {
    display: block;
    height: 100%;
    width: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #10487a; }
  .card-basic-content {
    padding: 11px 10px 38px; }
  .card-basic-date {
    color: #10487a;
    font-size: 1rem;
    font-weight: 600;
    display: block;
    margin-bottom: 10px; }
  .card-basic-title {
    color: #475254;
    font-size: 1.375rem;
    font-weight: 500;
    margin-bottom: 11px;
    letter-spacing: normal;
    line-height: 1.35; }
  .card-basic-categories {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 10px; }
  .card-basic-category {
    display: block;
    border-radius: 5px;
    border: 1px solid #7D7D7D;
    text-transform: uppercase;
    padding: 0;
    text-align: center;
    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1.4;
    width: 120px;
    color: #7d7d7d; }
    .card-basic-category.is-disabled {
      opacity: 0.1; }

.event-featured {
  background-color: #fff; }
  .event-featured-inner {
    padding: 45px 0 51px; }
  .event-featured-title {
    margin-bottom: 25px; }
    @media screen and (max-width: 680px) {
      .event-featured-title {
        font-size: 1.75rem;
        line-height: 1.3; } }
  .event-featured-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(575px, 1fr));
    gap: 25px; }
    @media screen and (max-width: 680px) {
      .event-featured-cards {
        display: block; } }

.topic {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  background-color: #10487a;
  transition: translate 0.3s ease-in-out;
  position: relative; }
  @media screen and (min-width: 1201px) {
    .topic:hover {
      translate: 0 -5px; } }
  .topic-block {
    height: 100%;
    display: flex;
    flex-direction: column; }
  .topic-frame {
    min-height: 364px;
    background-color: #D9D9D9;
    display: none; }
    @media screen and (max-width: 768px) {
      .topic-frame {
        min-height: 206px; } }
    .is-main .topic-frame {
      display: block; }
  .topic-image {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    height: 100%;
    width: 100%; }
    @media screen and (max-width: 680px) {
      .topic-image {
        min-height: 12.875rem;
        max-height: 12.875rem; } }
  .topic-content {
    height: 100%;
    padding: 18px 16px 15px 16px;
    display: flex;
    flex-direction: column; }
    .is-main .topic-content {
      padding: 24px 37px 18px 24px; }
  .topic-date {
    color: #fff;
    font-size: 1rem;
    font-weight: 600;
    display: block;
    margin-bottom: 15px; }
    .is-main .topic-date {
      margin-bottom: 7px; }
  .topic-heading {
    color: #fff;
    font-size: 1.375rem;
    font-weight: 500;
    line-height: 1.33;
    margin-bottom: 0;
    letter-spacing: normal;
    text-align: left;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden; }
    @media screen and (max-width: 680px) {
      .topic-heading {
        -webkit-line-clamp: 3; } }
    .is-main .topic-heading {
      letter-spacing: normal;
      margin-bottom: 6px;
      -webkit-line-clamp: 2; }
  .topic-labels {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    margin-top: auto; }
    @media screen and (max-width: 680px) {
      .topic-labels {
        margin-top: 20px; } }
  .topic-tag {
    color: #FFF;
    font-size: 0.9375rem;
    text-transform: uppercase;
    border: 1px solid #7696B3;
    background-color: #7696B3;
    border-radius: 5px;
    font-weight: 700;
    padding: 0 6px;
    line-height: 1.44;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
    .is-main .topic-tag {
      border: none; }
  .topic-category {
    font-size: 0.9375rem;
    text-transform: uppercase;
    background-color: #fff;
    color: #f37324;
    border: 1px solid #f37324;
    border-radius: 5px;
    font-weight: 700;
    padding: 0 14px;
    line-height: 1.44;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }

.column {
  background-color: #fff;
  padding-bottom: 60px; }
  .column-cards {
    display: grid;
    grid-auto-columns: 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 318px 206px;
    grid-template-areas: "first first second third" "first first fourth fourth";
    gap: 20px; }
    @media screen and (max-width: 1200px) {
      .column-cards {
        grid-template-rows: auto auto auto; } }
    @media screen and (max-width: 768px) {
      .column-cards {
        grid-template-columns: 1fr 1fr;
        grid-template-areas: "first first" "second third" "fourth fourth"; } }
    @media screen and (max-width: 680px) {
      .column-cards {
        display: block; }
        .column-cards &gt; *:not(:last-child) {
          margin-bottom: 20px; } }
  .column-card {
    position: relative; }
    .column-card:first-of-type {
      grid-area: first; }
    .column-card:nth-of-type(2) {
      grid-area: second; }
    .column-card:nth-of-type(3) {
      grid-area: third; }
    .column-card:nth-of-type(4) {
      grid-area: fourth; }

.spotlight {
  background-color: #dce4ec;
  padding: 62px 0 80px; }
  @media screen and (max-width: 768px) {
    .spotlight {
      padding: 30px 0 40px; } }
  .spotlight-top {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 58px; }
  .spotlight-title {
    font-size: 1.5625rem;
    color: #10487a; }
  .spotlight-desc {
    width: 791px;
    color: #041120;
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.5; }
  .spotlight-articles .slick-dots button:before {
    content: ''; }
  .spotlight-article {
    padding: 59px 0 0;
    position: relative;
    display: flex; }
    @media screen and (max-width: 768px) {
      .spotlight-article {
        display: block;
        padding: 0; } }
    .spotlight-article:not(:last-of-type) {
      margin-bottom: 103px; }
      @media screen and (max-width: 680px) {
        .spotlight-article:not(:last-of-type) {
          margin-bottom: 30px; } }
    .spotlight-article.slick-slide {
      margin-bottom: 0;
      overflow: hidden; }
    .spotlight-article-image {
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      height: 520px;
      width: 57.5%;
      border-radius: 15px;
      flex-shrink: 0;
      position: absolute;
      top: 0;
      left: 0; }
      @media screen and (max-width: 768px) {
        .spotlight-article-image {
          height: 224px;
          width: 100%;
          position: static;
          margin-bottom: -45px; } }
      .is-even .spotlight-article-image {
        left: auto;
        right: 0; }
      @media screen and (max-width: 680px) {
        .spotlight-article-image {
          width: 100%; } }
    .spotlight-article-title {
      font-weight: 700;
      line-height: 1.29;
      margin-bottom: 15px; }
      @media screen and (max-width: 680px) {
        .spotlight-article-title {
          font-size: 1.75rem; } }
    .spotlight-article-desc {
      font-size: 1rem;
      color: #041120;
      margin-bottom: 41px;
      line-height: 1.5; }
  .spotlight-contents {
    background-color: #fff;
    border-radius: 15px;
    width: 45.58%;
    min-height: 539px;
    flex-shrink: 0;
    padding: 18px 40px 18px 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    position: relative;
    z-index: 1;
    margin-left: auto;
    margin-right: -8px; }
    @media screen and (max-width: 768px) {
      .spotlight-contents {
        margin-right: 0;
        width: 96%;
        min-height: auto;
        padding: 18px 20px; } }
    .is-even .spotlight-contents {
      margin-left: 0; }
      @media screen and (max-width: 768px) {
        .is-even .spotlight-contents {
          margin-left: auto; } }
  .spotlight-cta {
    padding: 7px 24px 7px 15px;
    font-size: 16px; }
    .spotlight-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .spotlight-cta::after {
      margin-left: 9px; }
  .spotlight-details {
    margin-top: 53px;
    width: 100%; }
  .spotlight-label {
    font-size: 1rem;
    font-weight: 600;
    color: #10487a;
    display: inline-block;
    margin-bottom: 13px; }
  .spotlight-subjects {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(224px, 1fr));
    gap: 0; }
    .is-firefox .spotlight-subjects {
      grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
      gap: 0 20px; }
  .spotlight-subject {
    padding-right: 20px; }
    .is-firefox .spotlight-subject {
      padding-right: 0; }
    @media screen and (max-width: 768px) {
      .spotlight-subject {
        padding-right: 0; } }
    @media screen and (max-width: 768px) {
      .spotlight-subject:not(:last-of-type) {
        margin-bottom: 15px; } }
    .spotlight-subject-title {
      font-size: 1rem;
      color: #10487a;
      font-weight: 400;
      margin-bottom: 0;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      overflow: hidden;
      -webkit-line-clamp: 3; }
  .spotlight-category {
    color: #f37324;
    font-size: 0.9375rem;
    font-weight: 700;
    border-radius: 5px;
    border: 1px solid #f37324;
    display: inline-block;
    line-height: 1.2;
    padding: 2px 14px 1px;
    text-transform: uppercase;
    margin-bottom: 9px; }
  .spotlight-date {
    font-size: 0.9375rem;
    color: #041120;
    font-weight: 600;
    display: block;
    letter-spacing: 0.03em;
    margin-bottom: 5px; }

.benefits {
  background-color: #dce4ec; }
  .benefits-inner {
    padding: 39px 0 80px; }
    @media screen and (max-width: 768px) {
      .benefits-inner {
        padding: 21px 0 70px; } }
  .benefits-top {
    display: flex;
    justify-content: space-between;
    margin-bottom: 24px; }
    @media screen and (max-width: 768px) {
      .benefits-top {
        display: block;
        margin-bottom: 33px; } }
  .benefits-title {
    font-size: 1.5625rem;
    margin-bottom: 0;
    white-space: pre-line;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      .benefits-title {
        margin-bottom: 13px; } }
  .benefits-desc {
    max-width: 794px;
    width: 100%;
    font-size: 1.125rem;
    font-weight: 400;
    color: #041120;
    line-height: 1.5;
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      .benefits-desc {
        font-size: 1rem; } }
  .benefits-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 52px 142px;
    width: 100%; }
    @media screen and (max-width: 1200px) {
      .benefits-cards {
        gap: 52px 0; } }
    @media screen and (max-width: 680px) {
      .benefits-cards {
        grid-template-columns: repeat(1, 1fr); } }
    .benefits-cards .slick-dots {
      bottom: -41px; }
      .benefits-cards .slick-dots button:before {
        content: ''; }
  .benefits-card {
    text-align: center;
    padding: 0 20px; }
    @media screen and (max-width: 768px) {
      .benefits-card {
        padding: 0 15px; } }
  .benefits-icon {
    display: inline-block;
    width: 100px;
    height: 61px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("../../images/build/benefits-icon.png");
    margin-bottom: 9px; }
    @media screen and (max-width: 768px) {
      .benefits-icon {
        height: 25px;
        width: 40px;
        margin-bottom: 1px; } }
  .benefits-heading {
    color: #10487a;
    font-size: 1.5625rem;
    font-weight: 700;
    margin-bottom: 15px; }
    @media screen and (max-width: 768px) {
      .benefits-heading {
        font-size: 1.125rem; } }
  .benefits-par {
    color: #041120;
    font-size: 1rem;
    margin-bottom: 38px;
    line-height: 1.5;
    max-width: 406px;
    width: 100%;
    display: inline-block; }
    @media screen and (max-width: 768px) {
      .benefits-par {
        font-size: 0.875rem; } }
  .benefits-item {
    display: block;
    font-size: 1rem;
    color: #10487a;
    font-weight: 700; }
    @media screen and (max-width: 768px) {
      .benefits-item {
        font-size: 0.875rem; } }
    .benefits-item:not(:last-of-type) {
      margin-bottom: 16px; }

.organization-inner {
  padding: 69px 0 56px; }
  @media screen and (max-width: 768px) {
    .organization-inner {
      padding: 21px 0 56px; } }

.organization-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 15px;
  margin-bottom: 70px; }
  @media screen and (max-width: 768px) {
    .organization-top {
      display: block; } }

.organization-title {
  font-size: 1.5625rem;
  line-height: 1.5; }
  @media screen and (max-width: 768px) {
    .organization-title {
      margin-bottom: 13px; } }

.organization-desc {
  max-width: 796px;
  width: 100%;
  color: #041120;
  font-size: 1.125rem;
  margin-bottom: 0;
  line-height: 1.5; }
  @media screen and (max-width: 768px) {
    .organization-desc {
      font-size: 1rem; } }
  .organization-desc strong {
    font-size: inherit;
    display: block;
    font-weight: 500;
    line-height: 1.52; }

.organization-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 27px; }
  .organization-cards[data-count="1"] {
    grid-template-columns: 1fr; }
    .organization-cards[data-count="1"] .organization-content {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      justify-content: center; }
  @media screen and (max-width: 768px) {
    .organization-cards {
      grid-template-columns: repeat(1, 1fr); } }

.organization-card {
  display: flex;
  border-radius: 10px;
  overflow: hidden;
  background-color: #f7f7f7; }

.organization-frame {
  width: 53.58%;
  flex-shrink: 0;
  min-height: 312px; }
  @media screen and (max-width: 768px) {
    .organization-frame {
      min-height: 245px; } }

.organization-image {
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: #D9D9D9; }

.organization-content {
  padding: 25px 30px 25px 19px; }
  @media screen and (max-width: 1200px) {
    .organization-content {
      padding: 15px 10px 15px 15px; } }
  @media screen and (max-width: 768px) {
    .organization-content {
      padding: 11px 10px 15px 15px; } }

.organization-heading {
  font-size: 1.5625rem;
  color: #10487a;
  margin-bottom: 3px; }
  @media screen and (max-width: 1200px) {
    .organization-heading {
      font-size: 1.25rem; } }
  @media screen and (max-width: 680px) {
    .organization-heading {
      font-size: 1.125rem;
      margin-bottom: 12px; } }

.organization-par {
  font-size: 1rem;
  color: #041120;
  font-weight: 400;
  margin-bottom: 14px;
  letter-spacing: normal;
  line-height: 1.5; }
  @media screen and (max-width: 1200px) {
    .organization-par {
      font-size: 0.8125rem;
      margin-bottom: 11px; } }
  @media screen and (max-width: 680px) {
    .organization-par {
      font-size: 0.625rem; } }

.organization-cta {
  font-size: 0.8rem;
  padding: 7px 23px 6px 15px; }
  .organization-cta::after {
    top: -2px;
    right: 0;
    position: relative;
    content: '';
    width: 8px;
    height: 8px;
    rotate: 45deg;
    box-shadow: 1.5px -1.5px 0 0 #fff;
    display: inline-block; }
  @media screen and (max-width: 1200px) {
    .organization-cta {
      padding: 7px 22px 7px 16px; }
      .is-firefox .organization-cta {
        padding: 7px 17px 7px 10px; } }
  .organization-cta::after {
    margin-left: 9px;
    top: -1px; }

.research-inner {
  padding: 57px 0 75px; }
  @media screen and (max-width: 768px) {
    .research-inner {
      padding: 22px 0 21px; } }

.research-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 0 15px;
  margin-bottom: 28px; }
  @media screen and (max-width: 768px) {
    .research-top {
      display: block; } }

.research-title {
  font-size: 1.5625rem;
  line-height: 1.5; }
  @media screen and (max-width: 768px) {
    .research-title {
      margin-bottom: 18px; } }

.research-desc {
  max-width: 794px;
  width: 100%;
  color: #041120;
  font-size: 1.125rem;
  margin-bottom: 0;
  line-height: 1.5; }
  @media screen and (max-width: 768px) {
    .research-desc {
      font-size: 1rem;
      font-weight: 500; } }

.research-cards {
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-columns: 4fr 2.8fr;
  grid-template-rows: repeat(3, 207px);
  grid-template-areas: "second first" "third first" "fourth first";
  gap: 20px;
  margin-bottom: 39px; }
  @media screen and (max-width: 768px) {
    .research-cards {
      grid-template-columns: 1fr;
      grid-template-rows: 561px repeat(3, 318px);
      grid-template-areas: "first" "second" "third" "fourth";
      margin-bottom: 0; } }
  .research-cards .topic-heading {
    -webkit-line-clamp: initial; }
    @media screen and (max-width: 768px) {
      .research-cards .topic-heading {
        -webkit-line-clamp: 40; } }

.research-topic {
  background-color: #f7f7f7; }
  .research-topic:first-of-type {
    grid-area: first; }
  .research-topic:nth-of-type(2) {
    grid-area: second; }
  .research-topic:nth-of-type(3) {
    grid-area: third; }
  .research-topic:nth-of-type(4) {
    grid-area: fourth; }
  .research-topic .topic-date {
    color: #041120; }
  .research-topic .topic-heading {
    color: #10487a; }
  .research-topic .topic-heading {
    font-size: 1.375rem; }
  .research-topic.is-main .topic-date {
    display: none; }
  .research-topic.is-main .topic-frame {
    min-height: 302px; }
    @media screen and (max-width: 768px) {
      .research-topic.is-main .topic-frame {
        min-height: 206px; } }
  .research-topic.is-main .topic-content {
    padding: 18px 37px 13px 23px; }
  .research-topic.is-main .topic-labels {
    margin-top: auto; }
  .research-topic.is-main .topic-heading {
    font-size: 1.75rem;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      .research-topic.is-main .topic-heading {
        font-size: 1.5rem; } }

.research-button {
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 768px) {
    .research-button {
      display: none; } }

.research-cta {
  padding: 7px 23px 7px 15px;
  font-size: 1rem;
  font-weight: 400; }
  .research-cta::after {
    top: -2px;
    right: 0;
    position: relative;
    content: '';
    width: 8px;
    height: 8px;
    rotate: 45deg;
    box-shadow: 1.5px -1.5px 0 0 #fff;
    display: inline-block; }
  .research-cta::after {
    margin-left: 8px; }

.newsletter {
  background-color: #10487a; }
  .newsletter-inner {
    display: flex;
    justify-content: center;
    gap: 0 36px;
    padding: 57px 0 68px; }
    @media screen and (max-width: 768px) {
      .newsletter-inner {
        padding: 23px 0 8px; } }
    @media screen and (max-width: 680px) {
      .newsletter-inner {
        display: block; } }
  .newsletter-content {
    max-width: 491px;
    width: 100%; }
    @media screen and (max-width: 680px) {
      .newsletter-content {
        max-width: 100%;
        margin-bottom: 46px; } }
  .newsletter-title {
    color: #fff;
    font-size: 1.5625rem;
    margin-bottom: 10px;
    letter-spacing: normal;
    line-height: 1.5; }
    @media screen and (max-width: 680px) {
      .newsletter-title {
        line-height: 1.1; } }
  .newsletter-desc {
    color: #fff;
    font-size: 0.9375rem;
    margin-bottom: 0;
    line-height: 1.53; }
    @media screen and (max-width: 680px) {
      .newsletter-desc {
        font-size: 0.875rem; } }
  .newsletter-subscription {
    max-width: 50%; }
    @media screen and (max-width: 680px) {
      .newsletter-subscription {
        max-width: 100%; } }
    .newsletter-subscription .newsletter-signup-form {
      display: block; }
    .newsletter-subscription .modal-header,
    .newsletter-subscription .mailchimp-signup-subscribe-form-description {
      display: none; }
    .newsletter-subscription .block {
      margin-left: 0;
      padding: 0; }
    .newsletter-subscription .block-title {
      font-size: 1.5rem;
      margin-bottom: 29px;
      letter-spacing: normal;
      color: #fff; }
      @media screen and (max-width: 680px) {
        .newsletter-subscription .block-title {
          font-size: 1.125rem; } }
    .newsletter-subscription .form-submit {
      display: block;
      width: 100%;
      background-color: #f37324;
      color: #fff;
      border: none;
      font-size: 0.9375rem;
      font-weight: 400;
      letter-spacing: normal;
      padding: 12px 22px 12px; }
    .newsletter-subscription input[type="text"] {
      border-radius: 8px; }
    .newsletter-subscription .mailchimp-newsletter-mergefields {
      display: grid;
      grid-template-columns: 1fr 1fr;
      grid-template-rows: 1fr 1fr 1fr;
      grid-template-areas: "first second" "third third" "fourth fourth";
      gap: 18px 20px;
      margin-bottom: 15px; }
    @media screen and (max-width: 768px) {
      .newsletter-subscription .form-actions#edit-actions {
        margin-top: 0; } }
    .newsletter-subscription .nl-mailing-list-select {
      cursor: pointer;
      padding: 9px 13px; }
    .newsletter-subscription .nl-mailing-list-instructions {
      font-size: 12px;
      color: #727272; }
    .newsletter-subscription .form-type-textfield {
      margin: 0; }
      .newsletter-subscription .form-type-textfield input {
        padding: 7px 9px 9px;
        font-family: "Poppins", sans-serif;
        border-width: 2px;
        border-color: transparent;
        font-size: 12px; }
        .newsletter-subscription .form-type-textfield input::placeholder {
          font-size: 10px;
          color: #727272; }
        .newsletter-subscription .form-type-textfield input:focus {
          border-color: #f37324; }
    .newsletter-subscription label {
      display: none; }
    .newsletter-subscription .form-actions {
      margin-top: 34px; }
    .newsletter-subscription .form-item-mergevars-FNAME {
      grid-area: first; }
      .newsletter-subscription .form-item-mergevars-FNAME.form-item {
        float: none;
        width: 100%; }
    .newsletter-subscription .form-item-mergevars-LNAME {
      grid-area: second;
      float: none;
      width: 100%; }
      .newsletter-subscription .form-item-mergevars-LNAME.form-item {
        float: none;
        width: 100%; }
    .newsletter-subscription .form-item-mergevars-EMAIL {
      grid-area: third; }
    .newsletter-subscription .form-item-mergevars-MMERGE5 {
      grid-area: fourth; }
    .newsletter-subscription .nl-mailing-list-select {
      border-radius: 8px; }
  .newsletter .form-item-mailchimp-lists-interest-groups-7fadcbf75e-f1cf76debd,
  .newsletter .form-item-mailchimp-lists-interest-groups-7fadcbf75e-9262f6af0f {
    position: relative; }
  .newsletter .form-info-icon {
    display: inline-block;
    vertical-align: middle;
    width: 12px;
    height: 12px;
    background-image: url("../../images/build/info.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    margin-left: 5px;
    position: relative; }
    .newsletter .form-info-icon:hover .form-tooltip {
      opacity: 1; }
  .newsletter .form-tooltip {
    transition: opacity 0.3s ease-in-out;
    pointer-events: none;
    opacity: 0;
    position: absolute;
    top: -5px;
    left: 24px;
    background-color: #fff;
    font-size: 0.75rem;
    z-index: 1;
    border-radius: 5px;
    padding: 5px 10px;
    width: 200px;
    box-shadow: 0px 1px 4px 0px rgba(25, 32, 56, 0.14); }
    @media screen and (max-width: 680px) {
      .newsletter .form-tooltip {
        width: 145px;
        font-size: 0.6875rem; } }
    .newsletter .form-tooltip::before, .newsletter .form-tooltip::after {
      width: 0;
      height: 0;
      border-width: 5px 7px 5px 0;
      border-style: solid;
      position: absolute;
      content: '';
      top: 6px; }
    .newsletter .form-tooltip::before {
      border-color: transparent rgba(0, 0, 0, 0.14) transparent transparent;
      filter: blur(1px);
      left: -8px; }
    .newsletter .form-tooltip::after {
      border-color: transparent #fff transparent transparent;
      left: -7px; }

.involved {
  background-color: #f37324;
  overflow: hidden; }
  .involved-inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr); }
    @media screen and (max-width: 680px) {
      .involved-inner {
        grid-template-columns: repeat(1, 1fr); } }
  .involved-content {
    padding: 47px 0 48px; }
    @media screen and (max-width: 680px) {
      .involved-content {
        padding: 26px 0 22px; } }
  .involved-title {
    color: #fff;
    font-size: 1.5rem;
    margin-bottom: 60px;
    font-weight: 500; }
    @media screen and (max-width: 680px) {
      .involved-title {
        margin-bottom: 14px; } }
  .involved-desc {
    color: #fff;
    font-size: 1rem;
    max-width: 351px;
    width: 100%;
    line-height: normal;
    margin-bottom: 56px; }
    @media screen and (max-width: 680px) {
      .involved-desc {
        max-width: 100%;
        font-size: 0.875rem;
        margin-bottom: 11px; } }
  .involved-cta {
    font-weight: 400;
    padding: 8px 23px 6px 15px;
    font-size: 0.9375rem; }
    .involved-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #10487a;
      display: inline-block; }
    .involved-cta::after {
      margin-left: 8px; }
  .involved-frame {
    position: relative;
    height: 100%; }
    @media screen and (max-width: 680px) {
      .involved-frame {
        height: 222px; } }
  .involved-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 56vw;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("../../images/build/get-involved.jpg");
    height: 100%;
    background-color: #F3F3F4; }
    .is-firefox .involved-image {
      width: 50vw; }
      @media screen and (max-width: 680px) {
        .is-firefox .involved-image {
          width: 100vw; } }
    @media screen and (max-width: 680px) {
      .involved-image {
        width: 111vw;
        left: 50%;
        translate: -50% 0; } }

.kard {
  display: block;
  border-radius: 20px;
  overflow: hidden;
  background-color: #fff;
  filter: drop-shadow(5px 5px 25px rgba(0, 0, 0, 0.05));
  min-height: 327px; }
  .kard:hover img {
    scale: 1; }
  .kard-frame {
    height: 142px;
    overflow: hidden; }
    .kard-frame img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      scale: 1.05;
      transition: scale 0.5s ease-in-out; }
  .kard-content {
    padding: 25px 23px; }
  .kard-categories {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2px;
    gap: 0 13px; }
  .kard-category {
    font-size: 0.625rem;
    font-weight: 300;
    text-transform: uppercase;
    letter-spacing: 0.172em;
    position: relative; }
    .kard-category:not(:last-of-type)::after {
      position: absolute;
      display: inline-block;
      content: '|';
      color: inherit;
      font-size: inherit;
      right: -9px;
      top: 0; }
  .kard-time {
    font-size: 0.6875rem;
    color: #666262;
    font-weight: 300;
    letter-spacing: 0.03em;
    display: block;
    margin-bottom: 2px; }
  .kard-title {
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.33;
    letter-spacing: -0.03em;
    margin-bottom: 0;
    box-sizing: border-box;
    height: calc(1.33 * 3 * 1em);
    overflow: hidden;
    position: relative; }

.eye-catch {
  background-color: #10487a; }
  .eye-catch-inner {
    text-align: center;
    min-height: 325px;
    padding: 20px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; }
    @media screen and (max-width: 768px) {
      .eye-catch-inner {
        align-items: flex-start; } }
  .eye-catch-title {
    color: #fff;
    font-size: 3.05187rem;
    font-weight: 700;
    margin-bottom: 7px;
    line-height: normal;
    letter-spacing: normal; }
    @media screen and (max-width: 768px) {
      .eye-catch-title {
        font-size: 1.75rem;
        line-height: 1.29;
        text-align: left; } }
  .eye-catch-desc {
    max-width: 859px;
    width: 100%;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.006em; }
    @media screen and (max-width: 768px) {
      .eye-catch-desc {
        font-size: 1.125rem;
        line-height: 1.11;
        text-align: left; } }
    .eye-catch-desc p {
      color: inherit;
      font: inherit;
      letter-spacing: inherit;
      margin-bottom: 0; }

.principal-partners {
  background-color: #dce4ec; }
  .principal-partners-inner {
    padding: 73px 0 75px;
    display: flex;
    justify-content: space-between;
    align-items: flex-start; }
    @media screen and (max-width: 768px) {
      .principal-partners-inner {
        flex-direction: column;
        padding: 32px 0; } }
  .principal-partners-content {
    flex-shrink: 0; }
    @media screen and (max-width: 768px) {
      .principal-partners-content {
        margin-bottom: 1rem; } }
  @media screen and (max-width: 768px) {
    .principal-partners-title {
      font-size: 1.75rem;
      line-height: 1.3; } }
  .principal-partners-list {
    background-color: #fff;
    border-radius: 20px;
    width: 385px;
    flex-shrink: 0;
    padding: 35px 54px; }
    @media screen and (max-width: 768px) {
      .principal-partners-list {
        width: 100%;
        padding: 32px 16px; } }
  .principal-partners-heading {
    font-size: 0.9375rem;
    font-weight: 500;
    color: #10487a;
    margin-bottom: 33px;
    letter-spacing: normal;
    line-height: normal; }
  .principal-partners-item:not(:last-of-type) {
    margin-bottom: 30px; }
  .principal-partners-frame {
    max-width: 100%;
    display: inline-block;
    margin-bottom: 4px; }
    .principal-partners-frame img {
      display: block;
      width: 50%;
      object-fit: contain; }
  .principal-partners-desc {
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.5;
    margin-bottom: 0; }

.vacancy {
  color: #474545;
  background-color: #fff;
  border-radius: 20px;
  padding: 24px 25px 33px;
  transition: all 0.3s ease-in-out; }
  @media screen and (max-width: 680px) {
    .vacancy {
      margin-bottom: 1rem;
      padding: 24px 16px; } }
  .vacancy:hover {
    color: #fff;
    background-color: #10487a; }
    .vacancy:hover .vacancy-cta.is-blue {
      background-color: #fff;
      color: #10487a; }
      .vacancy:hover .vacancy-cta.is-blue::after {
        top: -2px;
        right: 0;
        position: relative;
        content: '';
        width: 8px;
        height: 8px;
        rotate: 45deg;
        box-shadow: 1.5px -1.5px 0 0 #10487a;
        display: inline-block; }
  .vacancy-department {
    font-size: 0.625rem;
    display: block;
    margin-bottom: 1px;
    color: inherit;
    text-transform: uppercase;
    letter-spacing: 0.16em;
    margin-bottom: 9px; }
  .vacancy-title {
    color: inherit;
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 9px;
    letter-spacing: -0.03em; }
  .vacancy-date {
    font-size: 0.6875rem;
    display: block;
    margin-bottom: 17px;
    color: inherit; }
  .vacancy-text {
    font-size: 0.75rem;
    line-height: 1.6;
    color: inherit; }
  .vacancy-cta {
    font-size: 1rem;
    padding: 8px 24px 8px 17px;
    transition: all 0.3s ease-in-out; }
    .vacancy-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .vacancy-cta::after {
      margin-left: 9px;
      transition: all 0.3s ease-in-out; }

.view-join-our-team .view-filters {
  position: initial; }

@media screen and (max-width: 680px) {
  .view-join-our-team .wrapper {
    padding: 0; } }

.view-join-our-team .view-content {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px 50px; }
  @media screen and (max-width: 680px) {
    .view-join-our-team .view-content {
      display: block;
      padding: 20px 20px 40px !important; } }

.banner-event {
  background-color: #10487a; }
  .banner-event-inner {
    max-width: 1101px;
    width: 100%;
    padding: 80px 0; }
  .banner-event-sns {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 36px; }
  .banner-event-share {
    margin: 0;
    display: flex;
    align-items: center;
    gap: 0 11px; }
    .banner-event-share .text {
      color: #fff;
      font-size: 1.125rem;
      font-weight: 500;
      letter-spacing: -0.035em;
      margin-right: 9px; }
      @media screen and (max-width: 768px) {
        .banner-event-share .text {
          margin-bottom: 0; } }
    .banner-event-share a {
      border-color: #fff;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 24px;
      height: 24px;
      padding: 0;
      margin: 0;
      flex-shrink: 0; }
      .banner-event-share a.share-fb svg {
        width: 5px;
        height: 10px; }
      .banner-event-share a.share-twitter svg {
        width: 8px;
        height: 7px; }
      .banner-event-share a.share-email svg {
        width: 7px;
        height: 6px; }
      .banner-event-share a.share-linkedin svg {
        width: 9px;
        height: 9px; }
      .banner-event-share a .jtico {
        float: none !important;
        position: static !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        font-size: 0 !important;
        width: 100%;
        height: 100%; }
      .banner-event-share a svg,
      .banner-event-share a g {
        fill: #fff; }
  .banner-event-content {
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 15px;
    padding: 23px 25px;
    min-height: 197px; }
  .banner-event-group {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
    position: relative; }
    .banner-event-group::before {
      display: inline-block;
      content: '';
      width: 26px;
      height: 28px;
      background-image: url("../../images/build/icon-calendar.png");
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      margin-right: 7px; }
      @media screen and (max-width: 768px) {
        .banner-event-group::before {
          width: 20px;
          height: 20px; } }
    .banner-event-group.is-podcasts::before {
      background-image: url("../../images/build/icon-podcast.png");
      width: 30px;
      height: 30px; }
      @media screen and (max-width: 768px) {
        .banner-event-group.is-podcasts::before {
          width: 24px;
          height: 24px; } }
  .banner-event-info {
    font-size: 1.95312rem;
    color: #10487a;
    text-transform: uppercase;
    font-weight: 500; }
    @media screen and (max-width: 768px) {
      .banner-event-info {
        font-size: 1.125rem; } }
  .banner-event-category {
    position: relative; }
    .banner-event-category::after {
      content: ' |';
      font-size: inherit;
      color: #10487a; }
  .banner-event-title {
    margin-bottom: 9px;
    font-size: 3.05187rem;
    letter-spacing: normal;
    color: #10487a;
    line-height: 1; }
    @media screen and (max-width: 768px) {
      .banner-event-title {
        font-size: 1.5rem; } }
  .banner-event-desc {
    font-size: 1.25rem;
    color: #041120;
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      .banner-event-desc {
        font-size: 1rem; } }

.profile {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding: 100px 0 65px;
  margin: 0 auto; }
  .profile::after {
    clear: both;
    content: "";
    display: table; }
  .profile .field {
    margin-bottom: 20px; }
  .profile .field-label {
    font-size: 1rem;
    font-weight: 500; }
  .profile .field-item {
    font-size: 0.9375rem; }
  .profile h3 {
    font-size: 1rem;
    font-weight: 500;
    margin-bottom: 8px;
    padding-bottom: 3px; }
  .profile dt {
    font-size: 0.875rem;
    font-weight: 500;
    margin-bottom: 0; }
  .profile dd {
    font-size: 0.8125rem; }
  .profile .user-picture {
    position: relative;
    height: 150px;
    width: 150px;
    margin: 0; }
    .profile .user-picture img {
      display: block;
      width: 100%; }
  @media screen and (max-width: 680px) {
    .profile {
      padding: 45px 20px; }
      .profile .field {
        margin-bottom: 10px; }
      .profile .field-label,
      .profile h3 {
        font-size: 0.875rem; }
      .profile .field-item {
        font-size: 0.8125rem; }
      .profile dt,
      .profile dd {
        font-size: 0.75rem; }
      .profile .user-picture {
        float: none;
        margin: auto; } }

#ajax-register-user-login-wrapper .password-strength,
#ajax-register-user-login-wrapper div.password-confirm,
#user-pass-reset .password-strength,
#user-pass-reset div.password-confirm {
  display: none; }

#ajax-register-user-login-wrapper .form-type-password-confirm,
#user-pass-reset .form-type-password-confirm {
  margin-bottom: 0; }

#ajax-register-user-login-wrapper .description,
#user-pass-reset .description {
  font-size: 0.8125rem;
  font-weight: normal; }

@media screen and (max-width: 680px) {
  #ajax-register-user-login-wrapper .form-item,
  #user-pass-reset .form-item {
    margin: 0 0 25px; }
  #ajax-register-user-login-wrapper .description,
  #user-pass-reset .description {
    font-size: 0.75rem; } }

.credentials {
  background-color: #dce4ec;
  overflow: hidden; }
  @media screen and (max-width: 680px) {
    .credentials-media {
      display: none; } }
  .credentials-reset-password .credentials-form p {
    display: none; }
  .credentials-inner {
    display: flex;
    justify-content: space-between;
    min-height: 694px; }
  .credentials-content {
    max-width: 609px;
    width: 100%;
    padding: 92px 15px 0 0; }
    @media screen and (max-width: 768px) {
      .credentials-content {
        max-width: 100%;
        padding: 34px 0 0; } }
    @media screen and (max-width: 768px) {
      .credentials-register .credentials-content {
        padding: 34px 0; } }
    .credentials-pass .credentials-content,
    .credentials-reset-password .credentials-content {
      max-width: 39.625rem; }
  .credentials-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #10487a;
    padding-bottom: 10px;
    margin-bottom: 50px; }
  .credentials-heading {
    font-size: 1.5rem;
    margin-bottom: 0;
    font-weight: 300;
    letter-spacing: 0.01em;
    color: #10487a; }
  .credentials-title {
    font-size: 2.375rem;
    margin-bottom: 0;
    font-weight: 400;
    letter-spacing: 0.01em;
    line-height: 1.16;
    margin-bottom: 1.625rem;
    color: #10487a; }
  .credentials-desc {
    color: #041120;
    font-size: 1rem;
    line-height: 1.44; }
    .credentials-desc a {
      text-decoration: underline;
      color: #10487a; }
  .credentials-action {
    font-weight: 700;
    font-size: 1.125rem;
    text-transform: uppercase;
    color: #10487a;
    display: inline-flex;
    align-items: center; }
    .credentials-login .credentials-action::before,
    .credentials-register .credentials-action::before {
      display: inline-block;
      width: 20px;
      height: 19px;
      content: '';
      background-position: center;
      background-repeat: no-repeat;
      background-size: contain;
      background-image: url("../../images/build/icon-user.png");
      margin-right: 8px; }
    .credentials-register .credentials-action::before {
      background-image: url("../../images/build/ph_sign-in.png"); }
  .credentials-form {
    max-width: 307px;
    width: 100%; }
    .credentials-register .credentials-form {
      max-width: 390px; }
      @media screen and (max-width: 1200px) {
        .credentials-register .credentials-form {
          max-width: 100%; } }
    .credentials-form-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 0 10px; }
      @media screen and (max-width: 680px) {
        .credentials-form-grid {
          display: block; } }
    .credentials-form label {
      font-size: 0.6875rem;
      font-weight: normal;
      color: #10487a; }
    .credentials-form .form-required {
      color: #10487a; }
    .credentials-form input[type="text"],
    .credentials-form input[type="password"] {
      border-color: #10487a; }
    .credentials-form .description {
      display: none; }
    .credentials-form .form-submit {
      border: none;
      color: #fff;
      background-color: #10487a;
      background-image: url("../../svg/angle-right.svg");
      background-position: right 20px bottom 50%;
      background-repeat: no-repeat;
      font-size: 1rem;
      font-weight: 400;
      min-width: 7rem;
      padding-right: 2.5rem; }
    .credentials-form .form-item {
      margin-bottom: 29px; }
      .credentials-register .credentials-form .form-item {
        margin-bottom: 1.25rem;
        margin-top: 0; }
      .credentials-pass .credentials-form .form-item {
        margin-bottom: 2.3125rem;
        margin-top: 0;
        max-width: 19.1875rem; }
      .credentials-reset-password .credentials-form .form-item {
        display: block !important;
        margin-left: 0 !important; }
  .credentials-link {
    font-size: 0.6875rem;
    text-decoration: underline; }
  .credentials-media {
    max-width: 500px;
    width: 100%;
    position: relative; }
    @media screen and (max-width: 768px) {
      .credentials-media {
        display: none; } }
  .credentials-image {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url("../../images/build/credentials-img.png");
    height: 100%;
    width: 45vw;
    position: absolute;
    top: 0;
    left: 0; }
    @media screen and (max-width: 1200px) {
      .credentials-image {
        width: 100%; } }
    .credentials-image::before {
      position: absolute;
      top: 0;
      left: 0;
      content: '';
      width: 100%;
      height: 100%;
      background-color: rgba(16, 72, 122, 0.5); }
  .credentials-back {
    font-weight: 600;
    font-size: 1.125rem;
    display: block;
    margin-bottom: 25px;
    color: #10487a; }
    .credentials-back span {
      font-weight: normal; }

.homepage-trigger {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  height: 5px;
  width: 100%;
  margin: auto;
  background: transparent;
  z-index: 100; }

.homepage-wrapper {
  padding: 88px 0;
  position: relative;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto; }
  .homepage-wrapper::after {
    clear: both;
    content: "";
    display: table; }
  .homepage-wrapper::after {
    clear: both;
    content: "";
    display: table; }
  .homepage-wrapper .homepage-row {
    position: relative; }
  @media screen and (max-width: 1440px) {
    .homepage-wrapper {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .homepage-wrapper::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 1200px) {
    .homepage-wrapper {
      padding: 122px 0 85px;
      max-width: 800px;
      margin-left: auto;
      margin-right: auto; }
      .homepage-wrapper::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 768px) {
    .homepage-wrapper {
      padding: 65px 0;
      max-width: 680px;
      margin-left: auto;
      margin-right: auto; }
      .homepage-wrapper::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 680px) {
    .homepage-wrapper {
      overflow: hidden;
      padding: 90px 0 25px;
      width: 100%; } }

.homepage-row#row-1 .circle-content:after {
  content: '';
  height: 97px;
  width: 97px;
  -webkit-transform: scale(0.5);
  -moz-transform: scale(0.5);
  -ms-transform: scale(0.5);
  -o-transform: scale(0.5);
  transform: scale(0.5);
  background: #FC682D;
  opacity: 0.53;
  border-radius: 50%;
  position: absolute;
  top: 63px;
  right: 59px;
  -webkit-transition: all 333ms ease-out;
  -moz-transition: all 333ms ease-out;
  transition: all 333ms ease-out; }

@media screen and (max-width: 1440px) {
  .homepage-row#row-1 .circle-image {
    left: -140px; }
  .homepage-row#row-1 .circle-content {
    margin-left: 16.17021%;
    padding: 158px 94px 124px 206px; } }

@media screen and (max-width: 1200px) {
  .homepage-row#row-1 .circle-image {
    top: -71px;
    left: -172px; }
  .homepage-row#row-1 .circle-content {
    margin-left: 4.25532%; } }

@media screen and (max-width: 768px) {
  .homepage-row#row-1 .circle-image {
    left: -19px;
    top: inherit;
    bottom: -160px; }
  .homepage-row#row-1 .circle-content {
    margin-left: -42px;
    padding: 158px 94px 110px 154px; }
    .homepage-row#row-1 .circle-content:after {
      right: 47px; } }

@media screen and (max-width: 680px) {
  .homepage-row#row-1 {
    margin-bottom: 390px; }
    .homepage-row#row-1 .circle-image {
      left: -42px;
      bottom: inherit;
      top: 87%; }
    .homepage-row#row-1 .circle-content:after {
      height: 58px;
      width: 58px;
      top: 20px;
      right: initial;
      left: 87%; } }

.homepage-row#row-2 .circle-content {
  margin-top: -85px; }

@media screen and (max-width: 1440px) {
  .homepage-row#row-2 .circle-content {
    margin: -55px 0 0 -91px; } }

@media screen and (max-width: 1200px) {
  .homepage-row#row-2 .circle-content {
    margin: -55px 0 0 -88px; }
  .homepage-row#row-2 .circle-image {
    right: -90px; } }

@media screen and (max-width: 768px) {
  .homepage-row#row-2 .circle-content {
    margin: 281px 0 0 -25px; }
    .homepage-row#row-2 .circle-content:after {
      top: 588px;
      left: 65px; }
  .homepage-row#row-2 .circle-image {
    top: -195px;
    right: 40px; } }

@media screen and (max-width: 680px) {
  .homepage-row#row-2 {
    margin-bottom: 265px; }
    .homepage-row#row-2 .circle-image {
      left: inherit;
      right: -11px;
      top: -220px; }
    .homepage-row#row-2 .circle-content:after {
      height: 31px;
      width: 31px;
      top: 94%;
      left: 40px; } }

.homepage-row#row-3 {
  margin-top: 41px; }
  @media screen and (max-width: 1440px) {
    .homepage-row#row-3 .circle-content {
      margin-left: 16.17021%;
      padding: 158px 104px 124px 206px; }
    .homepage-row#row-3 .circle-image {
      left: -140px; } }
  @media screen and (max-width: 1200px) {
    .homepage-row#row-3 {
      margin-top: 80px; }
      .homepage-row#row-3 .circle-content {
        margin-left: 4.25532%;
        padding: 158px 104px 124px 226px; } }
  @media screen and (max-width: 768px) {
    .homepage-row#row-3 {
      margin-top: 165px; }
      .homepage-row#row-3 .circle-content {
        margin-left: -25px;
        padding: 154px 144px 114px 159px; }
        .homepage-row#row-3 .circle-content:after {
          top: 30px;
          right: 110px; }
      .homepage-row#row-3 .circle-image {
        top: -186px;
        left: 46px; } }
  @media screen and (max-width: 680px) {
    .homepage-row#row-3 {
      margin-top: 0;
      margin-bottom: 265px; }
      .homepage-row#row-3 .circle-image {
        left: -11px;
        top: -220px; }
      .homepage-row#row-3 .circle-content:after {
        height: 58px;
        width: 58px;
        top: 20px;
        right: initial;
        left: 87%;
        opacity: 0.53; } }

.homepage-row#row-4 {
  margin-top: 33px; }
  .homepage-row#row-4 .circle-image {
    bottom: -43px; }
  .homepage-row#row-4 .circle-content:after {
    height: 76px;
    width: 76px;
    position: absolute;
    top: 119px;
    right: inherit;
    bottom: inherit;
    left: 35px; }
  @media screen and (max-width: 1440px) {
    .homepage-row#row-4 {
      margin-top: 0; }
      .homepage-row#row-4 .circle-image {
        right: -51px; }
      .homepage-row#row-4 .circle-content {
        margin-left: -55px; } }
  @media screen and (max-width: 1200px) {
    .homepage-row#row-4 {
      margin-top: -55px; }
      .homepage-row#row-4 .circle-image {
        right: -183px;
        bottom: 148px; }
      .homepage-row#row-4 .circle-content {
        margin-left: -88px; } }
  @media screen and (max-width: 768px) {
    .homepage-row#row-4 {
      margin-top: 150px; }
      .homepage-row#row-4 .circle-image {
        right: 40px;
        top: -180px;
        bottom: inherit; }
      .homepage-row#row-4 .circle-content {
        margin-left: -33px;
        padding: 154px 144px 144px 169px; }
        .homepage-row#row-4 .circle-content:after {
          top: 86px;
          left: 45px; } }
  @media screen and (max-width: 680px) {
    .homepage-row#row-4 {
      margin-top: 0;
      margin-bottom: 265px; }
      .homepage-row#row-4 .circle-image {
        right: -11px;
        top: -210px; }
      .homepage-row#row-4 .circle-content:after {
        height: 31px;
        width: 31px;
        top: -15px;
        left: 10%;
        opacity: 0.53; } }

.homepage-row#row-5 {
  margin-top: 20px; }
  .homepage-row#row-5 .circle-image {
    top: 30px; }
    .homepage-row#row-5 .circle-image:after {
      content: '';
      border-radius: 50%;
      height: 85px;
      width: 85px;
      background: rgba(252, 104, 45, 0.9);
      position: absolute;
      bottom: 17px;
      left: 2px; }
  .homepage-row#row-5 .circle-content:after {
    opacity: 0.7;
    height: 31px;
    width: 31px;
    position: absolute;
    top: 563px;
    right: inherit;
    bottom: inherit;
    left: -36px; }
  @media screen and (max-width: 1440px) {
    .homepage-row#row-5 {
      margin-top: 68px; }
      .homepage-row#row-5 .circle-image {
        left: -92px; }
      .homepage-row#row-5 .circle-content {
        margin-left: 21.2766%;
        padding: 158px 114px 131px 216px; } }
  @media screen and (max-width: 1200px) {
    .homepage-row#row-5 {
      margin-top: 31px; }
      .homepage-row#row-5 .circle-image {
        top: 101px;
        left: -183px; }
        .homepage-row#row-5 .circle-image:after {
          bottom: -60px;
          left: 96px; }
      .homepage-row#row-5 .circle-content {
        margin-left: 4.25532%; }
        .homepage-row#row-5 .circle-content:after {
          top: 555px;
          left: 25px; } }
  @media screen and (max-width: 768px) {
    .homepage-row#row-5 {
      margin-top: 150px; }
      .homepage-row#row-5 .circle-image {
        left: 40px;
        top: -180px; }
        .homepage-row#row-5 .circle-image:after {
          top: 0;
          right: -26px;
          left: initial;
          bottom: initial; }
      .homepage-row#row-5 .circle-content {
        margin-left: -35px;
        padding: 154px 144px 114px 159px; }
        .homepage-row#row-5 .circle-content:after {
          top: -46px;
          left: initial;
          right: 275px; } }
  @media screen and (max-width: 680px) {
    .homepage-row#row-5 {
      margin-top: 0;
      margin-bottom: 100px; }
      .homepage-row#row-5 .circle-image {
        left: -11px;
        top: -220px; }
        .homepage-row#row-5 .circle-image:after {
          top: 5px;
          right: 22px;
          opacity: 0.9;
          height: 35px;
          width: 35px; }
      .homepage-row#row-5 .circle-content:after {
        height: 13px;
        width: 13px;
        top: -70px;
        left: 80%;
        opacity: 0.71; } }

.homepage-row.image-left .circle-image {
  position: absolute;
  top: 0;
  left: 0; }

.homepage-row.image-left .circle-content {
  margin-left: 25.53191%;
  padding: 158px 95px 124px 226px; }
  .homepage-row.image-left .circle-content:after {
    content: '';
    height: 79px;
    width: 79px;
    background: #FC682D;
    border-radius: 50%;
    position: absolute;
    top: 63px;
    right: 73px;
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }

.homepage-row.image-right .circle-image {
  position: absolute;
  right: 0;
  bottom: 0; }

.homepage-row.image-right .circle-content {
  margin-left: 8.51064%;
  padding: 157px 158px 128px 172px; }
  .homepage-row.image-right .circle-content .subject {
    max-width: 400px; }
  .homepage-row.image-right .circle-content:after {
    content: '';
    border-radius: 50%;
    height: 58px;
    width: 58px;
    background: #FC682D;
    position: absolute;
    top: 540px;
    left: 10px;
    -webkit-transition: all 333ms ease-out;
    -moz-transition: all 333ms ease-out;
    transition: all 333ms ease-out; }

.circle-image {
  height: 456px;
  width: 456px;
  -webkit-transform: scale(0.8);
  -moz-transform: scale(0.8);
  -ms-transform: scale(0.8);
  -o-transform: scale(0.8);
  transform: scale(0.8);
  opacity: 0.8;
  border-radius: 50%;
  box-sizing: border-box;
  z-index: 1;
  background-size: cover;
  background-position: center;
  -webkit-transition: all 1500ms ease-out;
  -moz-transition: all 1500ms ease-out;
  transition: all 1500ms ease-out;
  box-shadow: inset 0 0 0 20px rgba(250, 248, 247, 0.6); }
  .fadeIn .circle-image {
    animation-name: circle-image-fadeIn;
    animation-duration: 1.2s;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-timing-function: ease-out; }
  .fadeOut .circle-image {
    animation-name: circle-image-fadeOut;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-timing-function: ease-out; }
  @media screen and (max-width: 1200px) {
    .circle-image {
      height: 366px;
      width: 366px; } }
  @media screen and (max-width: 768px) {
    .circle-image {
      height: 300px;
      width: 300px; } }
  @media screen and (max-width: 680px) {
    .circle-image {
      height: 247px;
      width: 247px; } }

@keyframes circle-image-fadeIn {
  0% {
    opacity: 0.5; }
  50% {
    opacity: 0.8;
    -webkit-transform: scale(1.4);
    -moz-transform: scale(1.4);
    -ms-transform: scale(1.4);
    -o-transform: scale(1.4);
    transform: scale(1.4); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    box-shadow: inset 0 0 0 20px rgba(250, 248, 247, 0.6); } }

@keyframes circle-image-fadeOut {
  0%, 15% {
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1);
    box-shadow: inset 0 0 0 20px rgba(250, 248, 247, 0.6); }
  50% {
    opacity: 0.8;
    box-shadow: none;
    -webkit-transform: scale(1.3);
    -moz-transform: scale(1.3);
    -ms-transform: scale(1.3);
    -o-transform: scale(1.3);
    transform: scale(1.3); }
  100% {
    opacity: 0.5;
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -o-transform: scale(0.5);
    transform: scale(0.5); } }

.circle-content {
  position: relative;
  width: 800px;
  min-height: 800px; }
  .circle-content .animate-content {
    opacity: 0;
    -webkit-transform: translateY(80%);
    -moz-transform: translateY(80%);
    -ms-transform: translateY(80%);
    -o-transform: translateY(80%);
    transform: translateY(80%);
    -webkit-transition: all 777ms ease-out 777ms;
    -moz-transition: all 777ms ease-out 777ms;
    transition: all 777ms ease-out 777ms; }
  .fadeIn .circle-content .animate-content {
    opacity: 1;
    -webkit-transform: translateY(0);
    -moz-transform: translateY(0);
    -ms-transform: translateY(0);
    -o-transform: translateY(0);
    transform: translateY(0); }
    @media screen and (max-width: 680px) {
      .fadeIn .circle-content .animate-content {
        top: 50%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%); } }
  .fadeIn .circle-content:before {
    animation-name: circle-content-before-fadeIn;
    animation-duration: 1.2s;
    animation-delay: 444ms;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-timing-function: ease-out; }
  .fadeIn .circle-content:after {
    animation-name: circle-content-after-fadeIn;
    animation-duration: 1s;
    animation-delay: 222ms;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-timing-function: ease-out; }
  .fadeOut .circle-content .animate-content {
    -webkit-transform: translateY(30%);
    -moz-transform: translateY(30%);
    -ms-transform: translateY(30%);
    -o-transform: translateY(30%);
    transform: translateY(30%);
    opacity: 0;
    -webkit-transition: all 888ms ease-out;
    -moz-transition: all 888ms ease-out;
    transition: all 888ms ease-out; }
  .fadeOut .circle-content:before {
    animation-name: circle-content-before-fadeOut;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-timing-function: ease-out; }
  .fadeOut .circle-content:after {
    animation-name: circle-content-after-fadeOut;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-iteration-count: 1;
    animation-timing-function: ease-out; }
  .circle-content:before {
    content: '';
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
    height: 800px;
    width: 800px;
    background: #FBF9F8;
    z-index: -2; }
  .circle-content .title {
    font-size: 2.875rem;
    line-height: 0.9;
    letter-spacing: -1.37px;
    margin-bottom: 3px;
    font-weight: bold;
    text-transform: capitalize;
    color: #3B3535; }
  .circle-content .sub-title {
    font-size: 2.625rem;
    font-weight: 500;
    color: #474545;
    letter-spacing: -1.17px;
    line-height: 1.07;
    margin-bottom: 18px; }
  .circle-content .details {
    font-size: 0.9375rem;
    line-height: 1.6;
    color: #545151;
    margin-bottom: 25px; }
  .circle-content .subject-title {
    font-size: 0.6875rem;
    text-transform: uppercase;
    font-weight: normal;
    letter-spacing: 2.8px;
    line-height: 1.1;
    color: #474545;
    margin: 40px 0 23px; }
  .circle-content .subject {
    margin-bottom: 25px; }
    .circle-content .subject .icon, .circle-content .subject .content {
      display: inline-block;
      vertical-align: top; }
    .circle-content .subject .icon {
      height: 35px;
      width: 35px;
      margin-right: 19px;
      background: url("../../images/build/home_icon_event.png") no-repeat center;
      background-size: cover; }
      .circle-content .subject .icon.news_publication {
        background-image: url("../../images/build/home_icon.png"); }
    .circle-content .subject .content {
      height: auto;
      width: calc(100% - 60px); }
    .circle-content .subject .text {
      font-size: 0.8125rem;
      font-weight: 500;
      color: #474545;
      letter-spacing: -0.4px;
      line-height: 1.31;
      margin: 1px 0 4px; }
    .circle-content .subject .information {
      font-size: 0.6875rem;
      color: #666262;
      line-height: 1.45; }
    .circle-content .subject .tertiary-call-action {
      text-transform: lowercase; }
  @media screen and (max-width: 1440px) {
    .circle-content .subject-wrapper {
      width: 350px; } }
  @media screen and (max-width: 768px) {
    .circle-content {
      width: 748px;
      min-height: 748px; }
      .circle-content:before {
        height: 748px;
        width: 748px; }
      .circle-content .title {
        font-size: 2.75rem; }
      .circle-content .sub-title {
        font-size: 2.5rem;
        margin-bottom: 3px; }
      .circle-content .details {
        margin-bottom: 25px; }
      .circle-content .subject-title {
        margin: 40px 0 22px; }
      .circle-content .subject {
        margin-bottom: 25px; } }
  @media screen and (max-width: 680px) {
    .circle-content {
      margin: 0 !important;
      padding: 20px !important;
      width: 100vw !important;
      height: 100vw !important;
      min-height: inherit; }
      .circle-content .animate-content {
        width: calc(100% - 40px);
        position: absolute;
        top: 70%;
        left: 20px; }
      .circle-content:before {
        height: 120vw;
        width: 120vw;
        min-width: 320px;
        min-height: 320px;
        margin: auto;
        top: 0;
        bottom: 0;
        left: -12%; }
      .circle-content .title {
        font-size: 1.5rem;
        margin-bottom: 5px; }
      .circle-content .sub-title {
        font-size: 1.5rem;
        margin-bottom: 15px; }
      .circle-content .details {
        font-size: 0.8125rem;
        letter-spacing: -0.34px;
        line-height: 1.6; }
      .circle-content .subject,
      .circle-content .subject-title {
        display: none; } }

@keyframes circle-content-before-fadeIn {
  0% {
    -webkit-transform: scale(0.8);
    -moz-transform: scale(0.8);
    -ms-transform: scale(0.8);
    -o-transform: scale(0.8);
    transform: scale(0.8); }
  50% {
    -webkit-transform: scale(1.4);
    -moz-transform: scale(1.4);
    -ms-transform: scale(1.4);
    -o-transform: scale(1.4);
    transform: scale(1.4); }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

@keyframes circle-content-before-fadeOut {
  0%, 25% {
    opacity: 0.8;
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  50% {
    -webkit-transform: scale(1.6);
    -moz-transform: scale(1.6);
    -ms-transform: scale(1.6);
    -o-transform: scale(1.6);
    transform: scale(1.6); }
  100% {
    opacity: 0;
    -webkit-transform: scale(0.1);
    -moz-transform: scale(0.1);
    -ms-transform: scale(0.1);
    -o-transform: scale(0.1);
    transform: scale(0.1); } }

@keyframes circle-content-after-fadeIn {
  0% {
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -o-transform: scale(0.5);
    transform: scale(0.5); }
  50% {
    -webkit-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -ms-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5); }
  100% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); } }

@keyframes circle-content-after-fadeOut {
  0%, 25% {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    -o-transform: scale(1);
    transform: scale(1); }
  50% {
    -webkit-transform: scale(1.5);
    -moz-transform: scale(1.5);
    -ms-transform: scale(1.5);
    -o-transform: scale(1.5);
    transform: scale(1.5); }
  100% {
    -webkit-transform: scale(0.5);
    -moz-transform: scale(0.5);
    -ms-transform: scale(0.5);
    -o-transform: scale(0.5);
    transform: scale(0.5); } }

.event-spotlight {
  margin-top: 60px; }
  .event-spotlight .spotlight-top {
    margin-bottom: 23px; }
  @media screen and (max-width: 680px) {
    .event-spotlight {
      margin-top: 0; } }

.event-spotlight .spotlight-desc {
  color: #041120; }

.event-spotlight-banner {
  background-color: #10487a;
  background-position: center left;
  background-repeat: no-repeat;
  background-size: 50% auto;
  padding: 93px 0; }
  @media (max-width: 1720px) {
    .event-spotlight-banner {
      background-size: contain; } }
  @media screen and (max-width: 680px) {
    .event-spotlight-banner {
      background-size: contain;
      background-position: top center;
      padding-top: 180px;
      padding-bottom: 50px; } }

.event-spotlight-event {
  background: rgba(255, 255, 255, 0.9);
  border-radius: 15px;
  padding: 24px;
  max-width: 621px;
  margin-left: auto; }
  .event-spotlight-event .topic-category {
    background: transparent; }
  @media screen and (max-width: 680px) {
    .event-spotlight-event {
      padding: 18px;
      background: #fff; } }

.event-spotlight-date {
  font-size: 1.5rem;
  font-weight: 500;
  color: #10487a;
  margin: 15px 0;
  background: url("../../images/build/calendar_clock.svg") left center no-repeat;
  padding-left: 38px;
  line-height: 1.2; }
  @media screen and (max-width: 680px) {
    .event-spotlight-date {
      margin-bottom: 10px;
      font-size: 1.25rem; } }

.event-spotlight-event-title {
  font-size: 2.1875rem;
  color: #10487a;
  margin-bottom: 20px;
  line-height: 1.2; }
  @media screen and (max-width: 680px) {
    .event-spotlight-event-title {
      font-size: 1.75rem; } }

.event-spotlight-event-text p {
  color: #041120;
  font-size: 20px;
  margin-right: 50px;
  margin-bottom: 50px; }
  .event-spotlight-event-text p a {
    color: #f37324;
    text-decoration: underline; }
  @media screen and (max-width: 680px) {
    .event-spotlight-event-text p {
      font-size: 1rem;
      margin-right: 0; } }

.event-spotlight-event-buttons {
  display: flex;
  gap: 14px; }
  @media screen and (max-width: 680px) {
    .event-spotlight-event-buttons {
      display: block; }
      .event-spotlight-event-buttons a:not(:last-child) {
        margin-bottom: 14px; } }

.node-type-index-page .accessibility .breadcrumb {
  display: none; }

.node-type-index-page .breadcrumbs {
  display: none; }

.node-type-index-page article.index-page section.breadcrumb-container {
  background: #EFEFEF; }
  .node-type-index-page article.index-page section.breadcrumb-container .breadcrumb {
    align-items: center;
    display: flex;
    float: unset;
    height: 2.9375rem;
    margin: 0 auto;
    max-width: 77.5rem;
    position: initial;
    text-transform: capitalize;
    width: 100%; }
    @media screen and (max-width: 1200px) {
      .node-type-index-page article.index-page section.breadcrumb-container .breadcrumb {
        padding-left: 1.5rem; } }
    @media screen and (max-width: 680px) {
      .node-type-index-page article.index-page section.breadcrumb-container .breadcrumb {
        padding-left: 0.75rem; } }
    .node-type-index-page article.index-page section.breadcrumb-container .breadcrumb a {
      font-size: 0.75rem;
      font-weight: 400;
      line-height: 1.5;
      text-decoration-line: underline; }
      @media screen and (max-width: 680px) {
        .node-type-index-page article.index-page section.breadcrumb-container .breadcrumb a {
          font-size: 0.5rem; } }
    .node-type-index-page article.index-page section.breadcrumb-container .breadcrumb .separator {
      background-image: url("../../images/build/angle-right");
      background-size: 6px;
      background-repeat: no-repeat;
      width: 10px;
      height: 12px;
      margin: 0 8px; }
    .node-type-index-page article.index-page section.breadcrumb-container .breadcrumb .active-trail {
      color: #10487a;
      font-weight: 700;
      font-size: 0.75rem;
      line-height: 1.5; }

@media screen and (max-width: 680px) {
  .node-type-index-page article.index-page .view-filters {
    background: #f37324; }
    .node-type-index-page article.index-page .view-filters:not(.mobile-toggled) {
      position: initial; }
    .node-type-index-page article.index-page .view-filters-inner {
      padding: 31px 0 32px; } }

.node-type-index-page .index-wrap {
  position: relative;
  background: #FBF9F8;
  -webkit-transition: all 333ms linear;
  -moz-transition: all 333ms linear;
  transition: all 333ms linear; }
  .node-type-index-page .index-wrap:before {
    content: '';
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(71, 69, 69, 0.15);
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear;
    pointer-events: none; }
  .node-type-index-page .index-wrap .view-content,
  .node-type-index-page .index-wrap .view-empty {
    padding: 96px 0 70px; }
    .node-type-index-page .index-wrap .view-content::after,
    .node-type-index-page .index-wrap .view-empty::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 768px) {
      .node-type-index-page .index-wrap .view-content,
      .node-type-index-page .index-wrap .view-empty {
        padding: 70px 0 45px; } }
    @media screen and (max-width: 680px) {
      .node-type-index-page .index-wrap .view-content,
      .node-type-index-page .index-wrap .view-empty {
        padding: 24px 0 88px 0; } }
  .node-type-index-page .index-wrap.filter-on-focus:before {
    opacity: 1;
    z-index: 10;
    pointer-events: auto; }

.node-type-index-page .view-news-publications .view-content {
  padding: 85px 0 40px;
  position: relative;
  display: block;
  clear: both;
  width: 100% !important; }
  @media screen and (max-width: 680px) {
    .node-type-index-page .view-news-publications .view-content {
      width: 100% !important; } }
  @media screen and (max-width: 680px) {
    .node-type-index-page .view-news-publications .view-content .card {
      transition: none;
      width: calc(100% - 40px) !important;
      margin: 0 20px 20px;
      background: #FBF9F8;
      clear: both;
      float: none; } }

.node-type-index-page .view-past-events {
  padding: 0 0 25px;
  background-color: #fff; }
  .node-type-index-page .view-past-events .view-block {
    background-color: #fff; }
  .node-type-index-page .view-past-events .view-content {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 23px 20px; }

.node-type-index-page .view-upcoming-events .view-content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 23px 20px; }

.node-type-index-page .view-our-team {
  padding-bottom: 58px; }
  .node-type-index-page .view-our-team .view-filters-inner {
    padding: 31px 100px 32px; }
  .node-type-index-page .view-our-team .view-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 36px 40px;
    margin: 0 auto;
    max-width: 998px;
    width: 100%; }
    @media screen and (max-width: 768px) {
      .node-type-index-page .view-our-team .view-content {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px 24px; } }

.node-type-index-page .fancybox-arrow {
  height: 42px;
  width: 42px;
  border-radius: 50%;
  opacity: 1;
  background: url("../../images/build/slide-arrow-next.png") no-repeat center #FFF;
  background-size: 8px auto; }
  .node-type-index-page .fancybox-arrow:after {
    content: none; }
  .node-type-index-page .fancybox-arrow.fancybox-arrow--left {
    left: 10%; }
  .node-type-index-page .fancybox-arrow.fancybox-arrow--right {
    right: 13%; }
  @media screen and (max-width: 1200px) {
    .node-type-index-page .fancybox-arrow.fancybox-arrow--left {
      left: 30px; }
    .node-type-index-page .fancybox-arrow.fancybox-arrow--right {
      right: 50px; } }
  @media screen and (max-width: 768px) {
    .node-type-index-page .fancybox-arrow.fancybox-arrow--left {
      left: 15px; }
    .node-type-index-page .fancybox-arrow.fancybox-arrow--right {
      right: 30px; } }
  @media screen and (max-width: 680px) {
    .node-type-index-page .fancybox-arrow {
      height: 35px;
      width: 35px; }
      .node-type-index-page .fancybox-arrow.fancybox-arrow--left {
        left: 5px; }
      .node-type-index-page .fancybox-arrow.fancybox-arrow--right {
        right: 20px; } }

@media screen and (max-width: 680px) {
  .node-type-index-page .focus-area-header {
    padding: 140px 30px 32px 20px; }
    .node-type-index-page .focus-area-header:before {
      height: 774px;
      width: 774px;
      left: -300px;
      right: inherit;
      top: 450px; }
    .node-type-index-page .focus-area-header:after {
      content: none; }
    .node-type-index-page .focus-area-header .content {
      padding: 0;
      width: 100%;
      max-width: 320px; }
    .node-type-index-page .focus-area-header p {
      font-size: 12px;
      display: block;
      line-height: 1.5; } }

.node-type-index-page .empty-index {
  padding: 100px 0 80px; }
  .node-type-index-page .empty-index p {
    font-size: 1.4375em;
    text-transform: capitalize;
    margin-bottom: 0;
    font-weight: lighter; }
  @media screen and (max-width: 680px) {
    .node-type-index-page .empty-index {
      padding: 45px 20px; }
      .node-type-index-page .empty-index p {
        font-size: 0.9375em; } }

.node-type-index-page .select2-container--open .select2-dropdown--below,
.node-type-index-page .select2-container--open .select2-dropdown--above {
  min-width: 400px !important; }

.view-empty {
  font-size: 1.4375rem;
  font-weight: 500;
  text-transform: capitalize; }
  .view-empty p {
    font-size: 1.4375rem;
    font-weight: 500;
    text-transform: capitalize; }
  @media screen and (max-width: 680px) {
    .view-empty {
      font-size: 1.125rem; }
      .view-empty p {
        font-size: 1.125rem; } }

.page-node-28 #select2-edit-sort-by-results li:first-child {
  display: none !important; }

.view-training-consulting .view-content {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(276px, 1fr));
  gap: 23px 32px; }

.view-news-publications {
  padding-bottom: 15px;
  background-color: #F7F9FC; }
  .view-news-publications-kards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(276px, 1fr));
    gap: 23px 32px; }

.view-block {
  background-color: #F7F9FC; }
  .view-our-members .view-block {
    background-color: #fff; }

.view-our-members {
  background-color: #fff;
  padding: 0 0 50px; }
  .view-our-members .view-filters-inner {
    padding: 31px 120px 32px; }
    @media screen and (max-width: 1200px) {
      .view-our-members .view-filters-inner {
        padding: 31px 60px 32px; } }
    @media screen and (max-width: 768px) {
      .view-our-members .view-filters-inner {
        padding: 31px 0 32px; } }
  @media screen and (max-width: 768px) {
    .view-our-members .view-filters {
      position: static; } }
  .view-our-members .view-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px; }
    @media screen and (max-width: 680px) {
      .view-our-members .view-content {
        grid-template-columns: repeat(1, 1fr); } }
    .node-type-index-page .view-our-members .view-content {
      padding: 96px 120px 70px; }
      @media screen and (max-width: 1200px) {
        .node-type-index-page .view-our-members .view-content {
          padding: 96px 60px 70px; } }
      @media screen and (max-width: 768px) {
        .node-type-index-page .view-our-members .view-content {
          padding: 70px 0 45px; } }
      @media screen and (max-width: 680px) {
        .node-type-index-page .view-our-members .view-content {
          padding: 45px 54px; } }

.view-sponsorships .view-content {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px; }

.donate-page {
  position: relative; }
  .donate-page .donate-intro {
    font-size: 0.875rem;
    max-width: 530px;
    margin-bottom: 52px; }
  .donate-page .bottom-text {
    text-align: center;
    font-size: 1.0625rem;
    margin-top: 45px;
    font-weight: 500; }
    .donate-page .bottom-text p {
      margin-bottom: 0; }
    .donate-page .bottom-text a {
      color: #F2743A; }
  .donate-page .bottom-text-2 {
    font-size: 0.875rem;
    text-align: center;
    margin-top: 30px; }
  @media screen and (max-width: 768px) {
    .donate-page {
      padding: 0 0; } }
  @media screen and (max-width: 680px) {
    .donate-page h1 {
      font-size: 2rem;
      margin-bottom: 1rem;
      line-height: 1.15;
      letter-spacing: -0.77px; }
    .donate-page .donate-intro {
      margin-bottom: 35px; }
    .donate-page .bottom-text {
      margin-top: 25px;
      font-size: 0.9375rem; } }

.donate-page-inner {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 82.97872%;
  margin-left: 8.51064%; }
  .donate-page-inner:last-child {
    margin-right: 0; }
  @media screen and (max-width: 768px) {
    .donate-page-inner {
      width: 100%;
      margin: 0 !important; } }

.donate-option-monthly {
  clear: both;
  position: relative;
  padding: 58px 45px;
  margin-bottom: 26px; }
  .donate-option-monthly:before {
    content: '';
    opacity: 0.15;
    background: #000;
    border-radius: 50%;
    height: 117px;
    width: 117px;
    margin: auto;
    -webkit-filter: blur(42px);
    filter: blur(42px);
    position: absolute;
    right: 0;
    bottom: -20px;
    left: 0; }
  .donate-option-monthly .inner {
    position: relative;
    z-index: 2; }
    .donate-option-monthly .inner::after {
      clear: both;
      content: "";
      display: table; }
  .donate-option-monthly h2 {
    float: left;
    margin: 5px 0 0;
    font-size: 1.5em; }
  .donate-option-monthly .monthly-form-wrap {
    text-align: right;
    margin-left: 1%;
    float: right; }
  .donate-option-monthly .currency {
    display: inline-block;
    vertical-align: middle;
    font-weight: 500;
    font-size: 1.125rem;
    line-height: 1.39;
    letter-spacing: -0.53px;
    margin-right: 1%; }
  .donate-option-monthly .amount-monthly-select-wrapper {
    display: inline-block;
    vertical-align: middle;
    width: 40%;
    max-width: 138px;
    height: 52px;
    border-radius: 100px;
    background: #FFF;
    text-align: center; }
  .donate-option-monthly .amount-monthly-select {
    border: 0;
    color: #FC682D;
    font-size: 1.875rem;
    font-weight: 600;
    padding: 5px 0 0;
    background: #FFF;
    outline: 0;
    visibility: visible; }
  .donate-option-monthly .donate-link {
    display: inline-block;
    vertical-align: middle;
    margin-left: 5%;
    padding: 14px 21px 11px; }
  @media screen and (max-width: 680px) {
    .donate-option-monthly {
      padding: 25px 20px 50px;
      margin-top: 60px; }
      .donate-option-monthly h2 {
        width: 40%;
        font-size: 0.9375em; }
      .donate-option-monthly .monthly-form-wrap {
        text-align: left;
        width: calc(100% - 41%); }
      .donate-option-monthly .currency {
        display: block;
        font-size: 1.125rem;
        font-weight: 500;
        padding-left: 18px;
        margin-bottom: 5px; }
      .donate-option-monthly .amount-monthly-select-wrapper {
        width: 140px; }
      .donate-option-monthly .amount-monthly-select {
        font-size: 1.625rem; }
      .donate-option-monthly .donate-link {
        position: absolute;
        left: 0;
        bottom: -15px;
        font-size: 0.8125rem;
        font-weight: 600;
        color: #FFF;
        line-height: 1;
        border: 0;
        margin: 0;
        padding: 0;
        box-shadow: none; } }

.rhm-donation-form {
  background: #FFF;
  width: 590px;
  max-width: 100%;
  position: relative;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%);
  text-align: left;
  padding: 65px 50px 35px;
  background: url("../../images/build/pig.jpg") no-repeat calc(100% - 17px) -5px #FFF; }
  @media screen and (max-width: 680px) {
    .rhm-donation-form {
      padding: 25px; } }
  .rhm-donation-form .form-header {
    margin-bottom: 30px; }
  .rhm-donation-form h2 {
    font-size: 1.125rem;
    display: inline-block;
    vertical-align: middle;
    margin-bottom: 0; }
  .rhm-donation-form .donate-amount {
    display: inline-block;
    vertical-align: middle;
    width: auto;
    height: 30px;
    padding: 0;
    margin: 0;
    border: 0;
    font-size: 1.875rem;
    color: #FC682D;
    font-weight: 600;
    position: relative;
    text-align: left;
    background: none !important; }
  .rhm-donation-form fieldset {
    border: 0;
    max-width: 320px;
    padding: 15px 0; }
    @media screen and (max-width: 768px) {
      .rhm-donation-form fieldset {
        max-width: 100%; } }
    @media screen and (max-width: 680px) {
      .rhm-donation-form fieldset {
        padding: 10px 0; } }
  .rhm-donation-form legend {
    font-size: 0.6875rem;
    text-transform: uppercase;
    font-weight: 400;
    letter-spacing: 0.25em;
    border-bottom: 1px solid #C9C9C9;
    width: 100%;
    color: #474545; }
  .rhm-donation-form .input-wrap {
    margin-bottom: 15px; }
    .rhm-donation-form .input-wrap.half {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%; }
      .rhm-donation-form .input-wrap.half:last-child {
        margin-right: 0; }
      @media screen and (max-width: 680px) {
        .rhm-donation-form .input-wrap.half {
          width: 100%;
          margin-right: 0; } }
    .rhm-donation-form .input-wrap.full {
      width: 100%; }
    .rhm-donation-form .input-wrap.omega {
      margin-right: 0; }
    .rhm-donation-form .input-wrap input {
      width: 100%;
      border: 1px solid #EAE9EC;
      border-radius: 3px;
      font-size: 0.8125rem;
      padding: 7px 10px; }
    @media screen and (max-width: 680px) {
      .rhm-donation-form .input-wrap {
        margin-bottom: 8px; } }
  .rhm-donation-form label {
    font-size: 0.6875rem;
    font-weight: normal;
    padding-left: 5px;
    color: #666262; }
  .rhm-donation-form input[type="reset"] {
    display: none; }

.donate-success {
  font-size: 1.375rem;
  padding: 70px; }

.donate-top {
  background-color: #dce4ec; }

.donate-top-inner {
  text-align: center;
  padding: 66px 0 79px; }
  @media screen and (max-width: 680px) {
    .donate-top-inner {
      padding: 32px 0 48px; } }

.donate-title {
  font-size: 3.05187rem;
  color: #10487a;
  font-weight: 700;
  margin-bottom: 8px;
  line-height: normal; }

.donate-desc {
  font-size: 1.25rem;
  font-weight: 400;
  color: #041120;
  max-width: 969px;
  width: 100%;
  margin: 0 auto; }
  @media screen and (max-width: 680px) {
    .donate-desc {
      font-size: 1rem;
      line-height: 1.5; } }
  .donate-desc br {
    display: none; }

.donate-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px 41px;
  padding: 0 12px;
  margin-top: 86px; }
  @media screen and (max-width: 768px) {
    .donate-options {
      padding: 0;
      gap: 20px; } }
  @media screen and (max-width: 680px) {
    .donate-options {
      display: block;
      margin-top: 2.5rem; } }

.donate-option {
  position: relative;
  background-color: #fff;
  border-radius: 19px;
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 329px;
  padding: 41px 0 0; }
  @media screen and (max-width: 768px) {
    .donate-option {
      min-height: 302px;
      padding: 20px 0 0; } }
  @media screen and (max-width: 680px) {
    .donate-option {
      margin-bottom: 1rem; } }

.donate-icon {
  display: block;
  width: 89px;
  height: 72px;
  flex-shrink: 0;
  margin-bottom: 24px; }
  .donate-icon img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover; }

.donate-amount {
  font-size: 2rem;
  color: #f37324;
  font-weight: 700;
  margin-bottom: 10px;
  display: block; }

.donate-value {
  margin-bottom: 29px; }

.donate-input[type="text"] {
  width: 142px;
  height: 38px;
  border: 1px solid #10487a;
  border-radius: 3px;
  font-size: 0.75rem;
  font-family: "Poppins", sans-serif;
  color: #10487a;
  text-align: center;
  padding: 0; }
  .donate-input[type="text"]::placeholder {
    font-size: 0.75rem;
    color: #10487a;
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    text-transform: uppercase; }

.donate-currency {
  font-size: 1.25rem;
  font-weight: 400;
  margin-bottom: 25px;
  display: block; }

.donate-cta {
  font-weight: 400;
  padding: 8px 23px 6px 16px;
  font-size: 1rem; }
  .donate-cta::after {
    top: -2px;
    right: 0;
    position: relative;
    content: '';
    width: 8px;
    height: 8px;
    rotate: 45deg;
    box-shadow: 1.5px -1.5px 0 0 #fff;
    display: inline-block; }
  .donate-cta::after {
    margin-left: 9px; }

.donate-bottom {
  background-color: #10487a; }

.donate-bottom-inner {
  padding: 72px 0 95px; }
  @media screen and (max-width: 680px) {
    .donate-bottom-inner {
      padding: 32px 0 16px; } }

.donate-subtitle {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 25px;
  line-height: 1.5;
  letter-spacing: normal;
  color: #fff; }
  @media screen and (max-width: 680px) {
    .donate-subtitle {
      font-size: 1.75rem;
      line-height: 1.3; } }

.donate-par p {
  font-size: 1rem;
  color: #fff;
  margin-bottom: 0;
  line-height: normal; }
  @media screen and (max-width: 680px) {
    .donate-par p {
      font-size: 0.75rem;
      line-height: 1.62;
      letter-spacing: -0.439024px; } }

.block-commerce-checkout-progress {
  background: #FBF9F8;
  overflow: hidden;
  color: #999; }
  .block-commerce-checkout-progress .block-inner {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding: 16px 0 14px; }
    .block-commerce-checkout-progress .block-inner::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (max-width: 1440px) {
      .block-commerce-checkout-progress .block-inner {
        max-width: 960px;
        margin-left: auto;
        margin-right: auto; }
        .block-commerce-checkout-progress .block-inner::after {
          clear: both;
          content: "";
          display: table; } }
    @media screen and (max-width: 768px) {
      .block-commerce-checkout-progress .block-inner {
        padding: 16px 35px 14px; } }
    @media screen and (max-width: 680px) {
      .block-commerce-checkout-progress .block-inner {
        text-align: center;
        max-width: 100%;
        margin-left: auto;
        margin-right: auto;
        padding: 9px 20px 7px; }
        .block-commerce-checkout-progress .block-inner::after {
          clear: both;
          content: "";
          display: table; } }
  .block-commerce-checkout-progress .content {
    font-size: 0.6875rem; }
  .block-commerce-checkout-progress .item-list {
    height: 27px; }

.item-list ul.commerce-checkout-progress {
  counter-reset: progress-counter;
  overflow: hidden; }
  .item-list ul.commerce-checkout-progress li {
    font-weight: 400;
    border: 0;
    margin: 0 19px;
    background: none; }
    .item-list ul.commerce-checkout-progress li.first {
      margin-left: 0; }
    .item-list ul.commerce-checkout-progress li:before {
      content: counter(progress-counter);
      counter-increment: progress-counter;
      background: #EAEAEA;
      color: #FFF;
      font-size: 0.84375rem;
      font-weight: 700;
      width: 27px;
      height: 27px;
      border-radius: 50%;
      display: inline-block;
      text-align: center;
      padding: 4px;
      margin-right: 10px; }
    .item-list ul.commerce-checkout-progress li.active {
      color: #FC682D; }
      .item-list ul.commerce-checkout-progress li.active:before {
        background: #FC682D; }
    .item-list ul.commerce-checkout-progress li a {
      font-size: 0.6875rem;
      color: #999; }
  @media screen and (max-width: 768px) {
    .item-list ul.commerce-checkout-progress li {
      font-size: 0;
      font-weight: 500;
      margin: 0 15px;
      padding-right: 5px; }
      .item-list ul.commerce-checkout-progress li a {
        font-size: 0; }
      .item-list ul.commerce-checkout-progress li.active {
        font-size: 0.75rem; }
      .item-list ul.commerce-checkout-progress li:first-of-type {
        margin-left: 0; } }
  @media screen and (max-width: 680px) {
    .item-list ul.commerce-checkout-progress {
      text-align: center;
      display: inline-block; }
      .item-list ul.commerce-checkout-progress li {
        height: 27px;
        width: 27px;
        margin: 0 7.5px;
        padding: 0;
        display: inline-block; }
        .item-list ul.commerce-checkout-progress li a, .item-list ul.commerce-checkout-progress li.active {
          font-size: 0; } }

.view-commerce-cart-form {
  background-color: #dce4ec;
  padding: 30px 0 62px; }
  @media screen and (max-width: 1200px) {
    .view-commerce-cart-form {
      padding: 30px 20px 62px; } }
  .view-commerce-cart-form .view-cart-inner {
    background-color: #fff;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    border-radius: 20px;
    padding: 0 103px; }
    @media screen and (max-width: 1200px) {
      .view-commerce-cart-form .view-cart-inner {
        padding: 0 50px; } }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form .view-cart-inner {
        padding: 0 20px; } }
  .view-commerce-cart-form .view-header {
    padding: 50px 0 41px; }
  .view-commerce-cart-form .view-content {
    padding-bottom: 100px; }
  @media screen and (max-width: 1440px) {
    .view-commerce-cart-form .view-content,
    .view-commerce-cart-form .view-header {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .view-commerce-cart-form .view-content::after,
      .view-commerce-cart-form .view-header::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 1200px) {
    .view-commerce-cart-form .view-content,
    .view-commerce-cart-form .view-header {
      max-width: 800px;
      margin-left: auto;
      margin-right: auto; }
      .view-commerce-cart-form .view-content::after,
      .view-commerce-cart-form .view-header::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 768px) {
    .view-commerce-cart-form .view-content,
    .view-commerce-cart-form .view-header {
      max-width: 680px;
      margin-left: auto;
      margin-right: auto; }
      .view-commerce-cart-form .view-content::after,
      .view-commerce-cart-form .view-header::after {
        clear: both;
        content: "";
        display: table; }
      .view-commerce-cart-form .view-content.view-header,
      .view-commerce-cart-form .view-header.view-header {
        padding: 35px 0; }
      .view-commerce-cart-form .view-content.view-content,
      .view-commerce-cart-form .view-header.view-content {
        padding-bottom: 50px; } }
  @media screen and (max-width: 680px) {
    .view-commerce-cart-form .view-content,
    .view-commerce-cart-form .view-header {
      max-width: 100%;
      margin-left: auto;
      margin-right: auto; }
      .view-commerce-cart-form .view-content::after,
      .view-commerce-cart-form .view-header::after {
        clear: both;
        content: "";
        display: table; }
      .view-commerce-cart-form .view-content.view-header,
      .view-commerce-cart-form .view-header.view-header {
        padding: 26px 0 16px; }
      .view-commerce-cart-form .view-content.view-content,
      .view-commerce-cart-form .view-header.view-content {
        padding: 0 0 18px; } }
  .view-commerce-cart-form .attachment {
    clear: both; }
    .view-commerce-cart-form .attachment a {
      display: none; }
  .view-commerce-cart-form form {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 74.46809%;
    position: relative; }
    .view-commerce-cart-form form:last-child {
      margin-right: 0; }
    .view-commerce-cart-form form table {
      width: 100%;
      margin: 0 0 31px; }
    .view-commerce-cart-form form thead th {
      font-size: 0.6875em;
      text-transform: lowercase;
      color: #666262;
      line-height: 1.45;
      padding: 5px 0; }
    .view-commerce-cart-form form tbody tr {
      padding: 0; }
      .view-commerce-cart-form form tbody tr.type-Free.Ticket .delete-line-item,
      .view-commerce-cart-form form tbody tr.type-Free.Ticket .form-type-textfield {
        display: none; }
      .view-commerce-cart-form form tbody tr.hide {
        display: none; }
    .view-commerce-cart-form form tbody td {
      padding: 18px 0 15px; }
    @media screen and (max-width: 1200px) {
      .view-commerce-cart-form form {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 100%; }
        .view-commerce-cart-form form:last-child {
          margin-right: 0; } }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form form table {
        margin: 0 0 15px; }
      .view-commerce-cart-form form thead th {
        padding: 0 0 4px; }
      .view-commerce-cart-form form .views-field-commerce-total,
      .view-commerce-cart-form form .views-field-views-conditional-1,
      .view-commerce-cart-form form .views-field-views-conditional-2 {
        display: none; }
      .view-commerce-cart-form form tbody td {
        padding: 18px 0 5px; } }
  .view-commerce-cart-form h2 {
    font-size: 1.5rem;
    font-weight: 400;
    margin-bottom: 0;
    line-height: 1.25;
    letter-spacing: -0.7px; }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form h2 {
        font-size: 1.25rem; } }
  .view-commerce-cart-form h3 {
    font-weight: 500;
    font-size: 0.9375rem;
    margin-bottom: -3px; }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form h3 {
        font-size: 0.875rem; } }
  .view-commerce-cart-form .ticket-name {
    font-size: 0.9375rem;
    font-weight: 500;
    letter-spacing: -0.04em; }
  .view-commerce-cart-form input.delete-line-item {
    background: none;
    border: 0;
    color: #FC682D;
    padding: 0;
    font-size: 0.75em;
    text-transform: lowercase;
    font-weight: normal; }
  .view-commerce-cart-form .views-field-nothing {
    width: 65%;
    min-width: 300px; }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form .views-field-nothing {
        min-width: inherit;
        width: calc(100% - 70px); } }
  .view-commerce-cart-form .views-field-edit-quantity {
    width: 180px;
    padding-left: 15px;
    padding-right: 15px;
    text-align: center; }
    .view-commerce-cart-form .views-field-edit-quantity .form-item {
      border: 1px solid #EAE9EC;
      padding: 6px 0;
      border-radius: 3px;
      height: 38px;
      width: 100px;
      margin: 0 auto; }
    .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link {
      margin-top: -5px; }
      .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link a {
        color: #FC572D;
        font-weight: 600; }
        .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link a:hover {
          background: 0;
          color: #FC572D; }
      .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link.commerce-quantity-plusminus-link-disabled:not(.commerce-quantity-plusminus-link-increase) {
        opacity: 0.4; }
        .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link.commerce-quantity-plusminus-link-disabled:not(.commerce-quantity-plusminus-link-increase) a {
          cursor: default;
          pointer-events: none; }
    .view-commerce-cart-form .views-field-edit-quantity .form-text {
      border: 0;
      background: 0;
      border-left: 1px solid #EAEAEA;
      border-right: 1px solid #EAEAEA;
      width: 33.33px;
      text-align: center;
      padding: 1px 0; }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form .views-field-edit-quantity {
        width: 50px;
        text-align: left;
        padding: 0; }
        .view-commerce-cart-form .views-field-edit-quantity .form-item {
          position: relative;
          border: 1px solid #EAE9EC;
          padding: 5px 0;
          height: 40px;
          width: 50px; }
        .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link {
          position: absolute;
          top: 5px;
          right: 5px;
          height: 14px;
          width: 14px; }
          .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link.commerce-quantity-plusminus-link-decrease {
            top: inherit;
            bottom: 9px; }
          .view-commerce-cart-form .views-field-edit-quantity .commerce-quantity-plusminus-link a {
            padding: 0;
            margin: 0;
            font-weight: 400;
            height: 14px;
            width: 14px;
            border-radius: 0;
            position: absolute;
            top: 0;
            left: 0; }
        .view-commerce-cart-form .views-field-edit-quantity .form-text {
          border: 0;
          width: 20px;
          margin-left: 8px; } }
  .view-commerce-cart-form th.views-field-commerce-total,
  .view-commerce-cart-form th.views-field-views-conditional-1,
  .view-commerce-cart-form th.views-field-views-conditional-2 {
    text-align: right;
    padding-right: 20px; }
  .view-commerce-cart-form td.views-field-commerce-total,
  .view-commerce-cart-form td.views-field-views-conditional-1,
  .view-commerce-cart-form td.views-field-views-conditional-2 {
    font-weight: 600;
    font-size: 1rem;
    text-align: right;
    color: #3B3535;
    padding-top: 24px;
    padding-right: 10px; }
  .view-commerce-cart-form td.views-field-edit-quantity {
    padding: 23px 0 10px; }
  .view-commerce-cart-form .membership-or-publication-line-item .form-type-value,
  .view-commerce-cart-form .membership-or-publication-line-item .commerce-quantity-plusminus-link,
  .view-commerce-cart-form .type-Discount .form-type-value,
  .view-commerce-cart-form .type-Discount .commerce-quantity-plusminus-link,
  .view-commerce-cart-form .Coupon .form-type-value,
  .view-commerce-cart-form .Coupon .commerce-quantity-plusminus-link {
    display: none; }
  .view-commerce-cart-form .membership-or-publication-line-item .views-field-edit-quantity .form-item,
  .view-commerce-cart-form .type-Discount .views-field-edit-quantity .form-item,
  .view-commerce-cart-form .Coupon .views-field-edit-quantity .form-item {
    border: 0; }
  .view-commerce-cart-form .membership-or-publication-line-item .views-field-edit-quantity .form-text,
  .view-commerce-cart-form .type-Discount .views-field-edit-quantity .form-text,
  .view-commerce-cart-form .Coupon .views-field-edit-quantity .form-text {
    border-left: 0;
    border-right: 0;
    font-size: 16px;
    pointer-events: none;
    color: #3B3535; }
  .view-commerce-cart-form .line-item-summary {
    margin: 23px 0 0;
    position: absolute;
    right: 130px; }
    .view-commerce-cart-form .line-item-summary span {
      display: inline-block;
      vertical-align: middle; }
    .view-commerce-cart-form .line-item-summary .line-item-total-label {
      font-size: 0.875em;
      font-weight: 500;
      color: #545151;
      line-height: 1.4;
      letter-spacing: -0.41px;
      text-transform: lowercase; }
    .view-commerce-cart-form .line-item-summary .line-item-total-raw {
      font-size: 1.5em;
      font-weight: 600;
      line-height: 1.25;
      color: #474545;
      letter-spacing: -0.7px; }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form .line-item-summary {
        margin: 0;
        position: relative;
        top: inherit;
        right: inherit;
        bottom: inherit;
        left: inherit;
        width: calc(100% - 110px);
        display: inline-block;
        vertical-align: middle;
        text-align: left; }
        .view-commerce-cart-form .line-item-summary .line-item-total-raw {
          font-size: 1.25rem; } }
  .view-commerce-cart-form .form-actions {
    float: right;
    margin: 17px 0 0 4%; }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form .form-actions {
        display: block;
        vertical-align: middle;
        float: none;
        margin: 15px 0 0 0;
        text-align: left; } }
  .view-commerce-cart-form #edit-checkout {
    background: #10487a;
    color: #FFF;
    outline: none;
    border: 0;
    font-size: 0.9375rem;
    font-weight: 400;
    border: 1px solid #10487a; }
    .view-commerce-cart-form #edit-checkout:hover {
      box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12);
      background: #fff;
      color: #10487a;
      border: 1px solid #10487a; }
  .view-commerce-cart-form .visa-mastercard {
    display: block;
    height: 31px; }
    @media (min-width: 680px) {
      .view-commerce-cart-form .visa-mastercard {
        position: absolute;
        right: 6px;
        bottom: 78px; } }
  .view-commerce-cart-form #edit-submit,
  .view-commerce-cart-form #edit-submit--4 {
    display: none; }
  .view-commerce-cart-form #edit-coupon-code,
  .view-commerce-cart-form #edit-coupon-code--2 {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 40.42553%; }
    .view-commerce-cart-form #edit-coupon-code:last-child,
    .view-commerce-cart-form #edit-coupon-code--2:last-child {
      margin-right: 0; }
    .view-commerce-cart-form #edit-coupon-code .form-item,
    .view-commerce-cart-form #edit-coupon-code--2 .form-item {
      margin: 0; }
    .view-commerce-cart-form #edit-coupon-code .form-submit,
    .view-commerce-cart-form #edit-coupon-code--2 .form-submit {
      font-weight: 600;
      padding: 11px 14px 9px;
      border: 1px solid #FC572D;
      box-shadow: none; }
      .view-commerce-cart-form #edit-coupon-code .form-submit:hover,
      .view-commerce-cart-form #edit-coupon-code--2 .form-submit:hover {
        font-weight: 600;
        color: #FC572D;
        box-shadow: 0 9px 20px 0 rgba(0, 0, 0, 0.12); }
    .view-commerce-cart-form #edit-coupon-code .form-item-input-coupon-code,
    .view-commerce-cart-form #edit-coupon-code--2 .form-item-input-coupon-code {
      display: inline-block;
      width: 70%; }
    .view-commerce-cart-form #edit-coupon-code label,
    .view-commerce-cart-form #edit-coupon-code--2 label {
      height: auto;
      color: #666262;
      font-size: 0.6875em;
      font-weight: normal;
      margin-left: 10px;
      position: relative !important; }
      .view-commerce-cart-form #edit-coupon-code label .form-required,
      .view-commerce-cart-form #edit-coupon-code--2 label .form-required {
        display: none; }
    .view-commerce-cart-form #edit-coupon-code input[type="text"],
    .view-commerce-cart-form #edit-coupon-code--2 input[type="text"] {
      padding: 10px 11px;
      font-size: 0.875em;
      font-weight: 500;
      color: #545151;
      line-height: 1.4;
      letter-spacing: -0.41px;
      border: 1px solid #EAE9EC;
      border-radius: 3px; }
    @media screen and (max-width: 680px) {
      .view-commerce-cart-form #edit-coupon-code,
      .view-commerce-cart-form #edit-coupon-code--2 {
        display: inline-block;
        width: 100%;
        float: none;
        margin: 0 0 15px; }
        .view-commerce-cart-form #edit-coupon-code .form-submit,
        .view-commerce-cart-form #edit-coupon-code--2 .form-submit {
          margin-top: 1px;
          float: right;
          min-width: 93px; }
        .view-commerce-cart-form #edit-coupon-code .form-item-input-coupon-code,
        .view-commerce-cart-form #edit-coupon-code--2 .form-item-input-coupon-code {
          width: calc(100% - 120px); }
        .view-commerce-cart-form #edit-coupon-code label,
        .view-commerce-cart-form #edit-coupon-code--2 label {
          display: none; } }
  .view-commerce-cart-form .form-item-buyer-is-guest {
    clear: both;
    font-size: 0.875rem;
    border: 1px solid #FC682D;
    padding: 20px;
    margin-bottom: 30px; }
    @media (min-width: 680px) {
      .view-commerce-cart-form .form-item-buyer-is-guest {
        width: calc(100% - 132px);
        position: relative;
        top: 30px; } }
    .view-commerce-cart-form .form-item-buyer-is-guest label {
      color: #3B3535;
      font-size: 0.9375rem; }
    .view-commerce-cart-form .form-item-buyer-is-guest .description {
      font-size: 0.75rem;
      opacity: 0.8;
      padding: 0;
      margin: 0;
      padding-top: 10px; }

#commerce-checkout-form-review {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding: 30px 0; }
  #commerce-checkout-form-review::after {
    clear: both;
    content: "";
    display: table; }
  #commerce-checkout-form-review #edit-customer-profile-billing {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    #commerce-checkout-form-review #edit-customer-profile-billing:last-child {
      margin-right: 0; }
  #commerce-checkout-form-review #edit-cart-contents {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 31.91489%;
    margin-left: 17.02128%;
    margin-right: 0; }
    #commerce-checkout-form-review #edit-cart-contents:last-child {
      margin-right: 0; }

.cart-empty-page {
  font-size: 1.5625em;
  font-weight: lighter;
  text-transform: uppercase;
  padding: 70px 0;
  min-height: calc(100vh - 400px);
  max-width: 960px;
  margin-left: auto;
  margin-right: auto; }
  .cart-empty-page::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 1440px) {
    .cart-empty-page {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .cart-empty-page::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 768px) {
    .cart-empty-page {
      max-width: 680px;
      margin-left: auto;
      margin-right: auto; }
      .cart-empty-page::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 680px) {
    .cart-empty-page {
      max-width: 100%;
      margin-left: auto;
      margin-right: auto; }
      .cart-empty-page::after {
        clear: both;
        content: "";
        display: table; } }

.cart-pricing-info {
  font-size: 0.875em;
  margin-bottom: 15px; }

#commerce-checkout-form-complete .no-event .event-message,
#commerce-checkout-form-complete .no-membership .membership-message,
#commerce-checkout-form-complete .no-publication .publication-message {
  display: none; }

.form-item-commerce-payment-payment-details-credit-card-cardonfile-store {
  overflow: hidden;
  clear: both; }

.payment-redirect-form {
  background-color: #dce4ec;
  padding: 80px 0;
  text-align: center; }
  .payment-redirect-form .checkout-help {
    max-width: 550px;
    margin: 0 auto 50px; }

#commerce-checkout-form-guest-details .checkout-signin-signup-pane {
  padding-bottom: 20px; }

#commerce-checkout-form-guest-details .checkout-signin-signup-pane fieldset {
  margin-bottom: 20px;
  border: 1px solid #FB763F;
  padding: 0; }

#commerce-checkout-form-guest-details .checkout-signin-signup-pane legend {
  background: #FB763F;
  color: #FFF;
  width: calc(100% + 2px);
  padding: 5px 10px;
  font-weight: 600;
  margin-left: -1px;
  margin-right: -1px; }

#commerce-checkout-form-guest-details .checkout-signin-signup-pane label {
  font-size: 0.875rem;
  font-weight: 400; }

#commerce-checkout-form-guest-details .checkout-signin-signup-pane .fieldset-wrapper {
  display: flex;
  flex-wrap: wrap;
  border: 0;
  padding: 10px 20px; }

#commerce-checkout-form-guest-details .checkout-signin-signup-pane .form-item {
  flex: 0 0 calc(50% - 10px); }
  #commerce-checkout-form-guest-details .checkout-signin-signup-pane .form-item:nth-child(2n-1) {
    margin-right: 20px; }

#commerce-checkout-form-guest-details .checkout-buttons {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  border: 0;
  padding-bottom: 100px;
  text-align: center; }
  #commerce-checkout-form-guest-details .checkout-buttons::after {
    clear: both;
    content: "";
    display: table; }
  #commerce-checkout-form-guest-details .checkout-buttons input:not(#edit-continue),
  #commerce-checkout-form-guest-details .checkout-buttons .button-operator {
    display: none; }

.checkout_payment_method {
  background-color: #dce4ec; }

.cart-checkout {
  max-width: 1200px;
  width: 100%;
  margin: 0 auto;
  padding: 94px 0 94px; }
  @media screen and (max-width: 1200px) {
    .cart-checkout {
      padding: 94px 20px 94px; } }
  @media screen and (max-width: 680px) {
    .cart-checkout {
      padding: 45px 20px; } }
  .cart-checkout-inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding-left: 103px; }
    @media screen and (max-width: 1200px) {
      .cart-checkout-inner {
        padding-left: 0; } }
    @media screen and (max-width: 768px) {
      .cart-checkout-inner {
        flex-direction: column;
        gap: 20px 0; } }
  .cart-checkout-col-left {
    flex-shrink: 0;
    max-width: 468px;
    width: 43%; }
    @media screen and (max-width: 768px) {
      .cart-checkout-col-left {
        max-width: 100%;
        width: 100%; } }
  .cart-checkout-col-right {
    max-width: 383px;
    width: 40.9%;
    background-color: #fff;
    border-radius: 20px;
    overflow: hidden;
    padding: 38px 31px 10px;
    min-height: 361px; }
    @media screen and (max-width: 1200px) {
      .cart-checkout-col-right {
        padding: 38px 15px 10px; } }
    @media screen and (max-width: 768px) {
      .cart-checkout-col-right {
        max-width: 100%;
        width: 100%; } }
  .cart-checkout-heading {
    font-size: 1.5rem;
    font-weight: 400;
    margin-bottom: 67px;
    text-transform: capitalize;
    letter-spacing: -0.03em; }
    .cart-checkout-personal-detail .cart-checkout-heading {
      margin-bottom: 36px; }
  .cart-checkout-subheading {
    font-size: 0.6875rem;
    color: #10487a;
    text-transform: uppercase;
    border-bottom: 1px solid #10487a;
    margin-bottom: 17px;
    font-weight: 400;
    letter-spacing: 0.27em; }
  .cart-checkout-choices {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(225px, 1fr));
    gap: 0 15px; }
  .cart-checkout-item {
    display: flex;
    flex-direction: column;
    background-color: #10487a;
    border-radius: 10px;
    font-size: 1.125rem;
    font-weight: 600;
    color: #fff;
    min-height: 113px;
    padding: 33px 20px 0;
    letter-spacing: -0.03em;
    text-transform: capitalize; }
    .cart-checkout-item-desc {
      color: #fff;
      font-size: 0.6875rem;
      font-weight: 400;
      letter-spacing: normal; }
  .cart-checkout .view-block {
    background-color: #fff; }
  .cart-checkout-mobile-btn {
    display: none;
    font-size: 0.75rem;
    color: #474545;
    cursor: pointer;
    position: absolute;
    top: 15px;
    right: 20px; }
    @media screen and (max-width: 680px) {
      .cart-checkout-mobile-btn {
        display: block; } }
  .cart-checkout-mobile-close {
    display: none;
    cursor: pointer;
    font-size: 0.75rem;
    font-weight: 500;
    color: #545151;
    line-height: 1.25;
    padding-right: 15px;
    background: url("../../images/build/close-dark-2.png") no-repeat right center;
    background-size: 9px auto;
    position: absolute;
    top: 18px;
    right: 20px; }
    @media screen and (max-width: 680px) {
      .cart-checkout-mobile-close {
        display: block; } }
  .cart-checkout input[type="text"] {
    border-color: #10487a;
    border-width: 1px; }
  .cart-checkout .customer_profile_billing .select2 .select2-selection {
    border-color: #10487a !important; }
  .cart-checkout .customer_profile_billing .form-item label {
    color: #10487a !important; }
  .cart-checkout .checkout_terms_and_conditions .terms-link {
    color: #10487a; }
  .cart-checkout .iradio,
  .cart-checkout .icheckbox {
    border-color: #10487a !important; }

.checkout_personal_details_opening {
  background-color: #dce4ec; }
  .checkout_personal_details_opening.checkout-signin-signup-pane a:not(.close):not(.terms-link):not(.cart-edit-link):not(.contextual-links-trigger) {
    position: relative;
    float: left;
    display: block;
    margin-right: 4.34783%;
    width: 47.82609%;
    background: url("../../images/build/use-modal.png") no-repeat center;
    background-size: cover;
    padding: 34px 20px;
    z-index: 1;
    font-size: 1.125em;
    color: #FFF;
    font-weight: 600;
    line-height: 1.24;
    letter-spacing: -0.53px;
    text-align: left; }
    .checkout_personal_details_opening.checkout-signin-signup-pane a:not(.close):not(.terms-link):not(.cart-edit-link):not(.contextual-links-trigger):last-child {
      margin-right: 0; }
    .checkout_personal_details_opening.checkout-signin-signup-pane a:not(.close):not(.terms-link):not(.cart-edit-link):not(.contextual-links-trigger):before {
      content: '';
      height: 100%;
      width: 100%;
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background: rgba(242, 116, 58, 0.93);
      z-index: -1; }
    .checkout_personal_details_opening.checkout-signin-signup-pane a:not(.close):not(.terms-link):not(.cart-edit-link):not(.contextual-links-trigger) span {
      display: block;
      text-transform: lowercase;
      margin-top: 5px;
      font-size: 0.6875em;
      font-weight: normal; }
  @media screen and (max-width: 680px) {
    .checkout_personal_details_opening.checkout-signin-signup-pane &gt; div {
      text-align: center; }
    .checkout_personal_details_opening.checkout-signin-signup-pane a:not(.close):not(.terms-link):not(.cart-edit-link) {
      width: 205px;
      display: block;
      float: none;
      margin: 0 auto 20px !important; }
      .checkout_personal_details_opening.checkout-signin-signup-pane a:not(.close):not(.terms-link):not(.cart-edit-link):last-of-type {
        margin-bottom: 0 !important; } }
  .checkout_personal_details_opening .checkout-personal-details-pane.offline .checkout_personal_details_middle,
  .checkout_personal_details_opening .checkout-personal-details-pane.offline .commerce_payment {
    margin: 0; }
  .checkout_personal_details_opening .checkout_personal_details_middle {
    margin-top: 30px; }
  .checkout_personal_details_opening .customer_profile_billing::after,
  .checkout_personal_details_opening .commerce_payment::after {
    clear: both;
    content: "";
    display: table; }
  .checkout_personal_details_opening .customer_profile_billing.commerce_payment,
  .checkout_personal_details_opening .commerce_payment.commerce_payment {
    margin: 17px 0 3px; }
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .select2-selection__rendered,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .select2-selection__rendered {
      text-align: center;
      line-height: 30px; }
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-owner,
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-number,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-owner,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-number {
      margin-bottom: 18px; }
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration,
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code {
      float: left;
      display: block;
      margin-right: 4.34783%;
      width: 47.82609%;
      margin-bottom: 25px; }
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration:last-child,
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code:last-child,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration:last-child,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code:last-child {
        margin-right: 0; }
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration:nth-child(2n),
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code:nth-child(2n),
      .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration:nth-child(2n),
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code:nth-child(2n) {
        margin-right: 0; }
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration:nth-child(2n+1),
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code:nth-child(2n+1),
      .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration:nth-child(2n+1),
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code:nth-child(2n+1) {
        clear: left; }
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .form-item,
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .form-item,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .form-item,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .form-item {
        display: inline-block;
        margin-bottom: 0;
        float: none;
        width: calc((100% / 2) - 17.5px); }
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .commerce-month-year-divider,
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .commerce-month-year-divider,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .commerce-month-year-divider,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .commerce-month-year-divider {
        display: inline-block;
        vertical-align: middle;
        margin: 0 7px 0 5px; }
      @media screen and (max-width: 680px) {
        .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration,
        .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration,
        .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration,
        .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration {
          width: 100%;
          float: none; }
          .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .form-item,
          .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .form-item,
          .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .form-item,
          .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .form-item {
            width: calc((100% / 2) - 14px) !important; }
          .checkout_personal_details_opening .customer_profile_billing.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .commerce-month-year-divider,
          .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .commerce-month-year-divider,
          .checkout_personal_details_opening .commerce_payment.commerce_payment .commerce-credit-card-expiration.commerce-credit-card-expiration .commerce-month-year-divider,
          .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-code.commerce-credit-card-expiration .commerce-month-year-divider {
            display: inline-block; } }
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store,
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default {
      margin-bottom: 6px; }
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store::after,
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default::after,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store::after,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default::after {
        clear: both;
        content: "";
        display: table; }
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store input,
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store label,
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default input,
      .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default label,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store input,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-credit-card-cardonfile-store label,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default input,
      .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-cardonfile-instance-default label {
        display: inline-block;
        vertical-align: middle; }
    .checkout_personal_details_opening .customer_profile_billing.commerce_payment .form-item-commerce-payment-payment-details-cardonfile label,
    .checkout_personal_details_opening .commerce_payment.commerce_payment .form-item-commerce-payment-payment-details-cardonfile label {
      display: none; }
  .checkout_personal_details_opening .customer_profile_billing .form-item,
  .checkout_personal_details_opening .commerce_payment .form-item {
    margin: 0 0 17px; }
    .checkout_personal_details_opening .customer_profile_billing .form-item label,
    .checkout_personal_details_opening .commerce_payment .form-item label {
      padding-left: 10px;
      font-size: 0.6875em;
      color: #666262;
      font-weight: normal;
      line-height: 1.45; }
      .checkout_personal_details_opening .customer_profile_billing .form-item label.option,
      .checkout_personal_details_opening .commerce_payment .form-item label.option {
        margin-top: 3px;
        padding-left: 5px;
        font-size: 0.875em;
        line-height: 1.3;
        display: inline-block;
        vertical-align: middle;
        color: #666262; }
        @media screen and (max-width: 680px) {
          .checkout_personal_details_opening .customer_profile_billing .form-item label.option,
          .checkout_personal_details_opening .commerce_payment .form-item label.option {
            width: calc(100% - 25px);
            font-size: 0.8125rem; } }
  .checkout_personal_details_opening .customer_profile_billing .form-wrapper,
  .checkout_personal_details_opening .customer_profile_billing .form-type-select,
  .checkout_personal_details_opening .commerce_payment .form-wrapper,
  .checkout_personal_details_opening .commerce_payment .form-type-select {
    float: left;
    width: 100%;
    margin: 0 0 17px; }
  .checkout_personal_details_opening .customer_profile_billing .field-type-text,
  .checkout_personal_details_opening .customer_profile_billing .field-type-email,
  .checkout_personal_details_opening .customer_profile_billing .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code,
  .checkout_personal_details_opening .commerce_payment .field-type-text,
  .checkout_personal_details_opening .commerce_payment .field-type-email,
  .checkout_personal_details_opening .commerce_payment .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code {
    float: left;
    display: block;
    margin-right: 4.34783%;
    width: 47.82609%; }
    .checkout_personal_details_opening .customer_profile_billing .field-type-text:last-child,
    .checkout_personal_details_opening .customer_profile_billing .field-type-email:last-child,
    .checkout_personal_details_opening .customer_profile_billing .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code:last-child,
    .checkout_personal_details_opening .commerce_payment .field-type-text:last-child,
    .checkout_personal_details_opening .commerce_payment .field-type-email:last-child,
    .checkout_personal_details_opening .commerce_payment .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code:last-child {
      margin-right: 0; }
    .checkout_personal_details_opening .customer_profile_billing .field-type-text.field-name-field-last-name, .checkout_personal_details_opening .customer_profile_billing .field-type-text.field-name-field-company-no-, .checkout_personal_details_opening .customer_profile_billing .field-type-text.field-name-field-contact-number,
    .checkout_personal_details_opening .customer_profile_billing .field-type-email.field-name-field-last-name,
    .checkout_personal_details_opening .customer_profile_billing .field-type-email.field-name-field-company-no-,
    .checkout_personal_details_opening .customer_profile_billing .field-type-email.field-name-field-contact-number,
    .checkout_personal_details_opening .customer_profile_billing .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code.field-name-field-last-name,
    .checkout_personal_details_opening .customer_profile_billing .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code.field-name-field-company-no-,
    .checkout_personal_details_opening .customer_profile_billing .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code.field-name-field-contact-number,
    .checkout_personal_details_opening .commerce_payment .field-type-text.field-name-field-last-name,
    .checkout_personal_details_opening .commerce_payment .field-type-text.field-name-field-company-no-,
    .checkout_personal_details_opening .commerce_payment .field-type-text.field-name-field-contact-number,
    .checkout_personal_details_opening .commerce_payment .field-type-email.field-name-field-last-name,
    .checkout_personal_details_opening .commerce_payment .field-type-email.field-name-field-company-no-,
    .checkout_personal_details_opening .commerce_payment .field-type-email.field-name-field-contact-number,
    .checkout_personal_details_opening .commerce_payment .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code.field-name-field-last-name,
    .checkout_personal_details_opening .commerce_payment .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code.field-name-field-company-no-,
    .checkout_personal_details_opening .commerce_payment .form-item-customer-profile-billing-commerce-customer-address-und-0-postal-code.field-name-field-contact-number {
      float: right;
      margin-right: 0; }
  .checkout_personal_details_opening .customer_profile_billing .select2,
  .checkout_personal_details_opening .commerce_payment .select2 {
    width: 100% !important; }
    .checkout_personal_details_opening .customer_profile_billing .select2 .select2-selection,
    .checkout_personal_details_opening .commerce_payment .select2 .select2-selection {
      height: 38px;
      padding: 5px;
      font-size: 0.75em;
      border-color: #EAE9EC; }
    .checkout_personal_details_opening .customer_profile_billing .select2 .select2-selection__arrow,
    .checkout_personal_details_opening .commerce_payment .select2 .select2-selection__arrow {
      top: 0;
      bottom: 0;
      right: 5px;
      margin: auto; }
  .checkout_personal_details_opening .customer_profile_billing #customer-profile-billing-commerce-customer-address-add-more-wrapper .form-wrapper,
  .checkout_personal_details_opening .commerce_payment #customer-profile-billing-commerce-customer-address-add-more-wrapper .form-wrapper {
    margin-bottom: 0; }
  .checkout_personal_details_opening .customer_profile_billing #customer-profile-billing-commerce-customer-address-add-more-wrapper .form-item,
  .checkout_personal_details_opening .commerce_payment #customer-profile-billing-commerce-customer-address-add-more-wrapper .form-item {
    margin-bottom: 17px; }
  .checkout_personal_details_opening .customer_profile_billing .field-type-list-boolean,
  .checkout_personal_details_opening .commerce_payment .field-type-list-boolean {
    margin-bottom: 0; }
  @media screen and (max-width: 680px) {
    .checkout_personal_details_opening .customer_profile_billing .form-wrapper,
    .checkout_personal_details_opening .commerce_payment .form-wrapper {
      width: 100% !important;
      margin-right: 0;
      margin-bottom: 0; }
    .checkout_personal_details_opening .customer_profile_billing .form-item,
    .checkout_personal_details_opening .commerce_payment .form-item {
      float: none;
      margin-bottom: 15px;
      width: 100% !important; }
    .checkout_personal_details_opening .customer_profile_billing .select2-container,
    .checkout_personal_details_opening .commerce_payment .select2-container {
      left: inherit !important; } }
  .checkout_personal_details_opening .addressfield-container .form-item:last-of-type {
    margin-bottom: 0 !important; }
  .checkout_personal_details_opening .commerce_payment::after {
    clear: both;
    content: "";
    display: table; }
  .checkout_personal_details_opening .commerce_payment #edit-commerce-payment-payment-method {
    display: none; }
  .checkout_personal_details_opening .checkout-buttons {
    border: 0;
    padding: 0;
    text-align: center; }
    .checkout_personal_details_opening .checkout-buttons span,
    .checkout_personal_details_opening .checkout-buttons .checkout-back {
      display: none; }
  .checkout_personal_details_opening .checkout-continue {
    background: #FC682D;
    color: #FFF; }
    .checkout_personal_details_opening .checkout-continue:hover {
      background: #FFF;
      color: #FC682D; }
  .checkout_personal_details_opening .checkout_terms_and_conditions {
    margin: 0 0 57px; }
    .checkout_personal_details_opening .checkout_terms_and_conditions a {
      display: inline-block;
      vertical-align: middle;
      font-size: 0.875rem;
      line-height: 1;
      padding-left: 5px;
      text-decoration: underline;
      color: #666262; }
    @media screen and (max-width: 680px) {
      .checkout_personal_details_opening .checkout_terms_and_conditions {
        margin: 30px 0; }
        .checkout_personal_details_opening .checkout_terms_and_conditions a {
          font-size: 0.8125rem; } }
  .checkout_personal_details_opening .icheckbox,
  .checkout_personal_details_opening .iradio {
    height: 16px;
    width: 16px;
    border: 1px solid #474545;
    border-radius: 50%;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer; }
    .checkout_personal_details_opening .icheckbox.checked,
    .checkout_personal_details_opening .iradio.checked {
      background: url("../../images/build/check_icon.png") no-repeat center;
      background-size: 10.5px auto; }

.view-shopping-cart-checkout-form .views-table {
  margin: 0; }

.view-shopping-cart-checkout-form thead th {
  padding: 0 0 5px;
  text-transform: lowercase;
  font-size: 0.6875em;
  color: #666262;
  line-height: 1.45; }
  .view-shopping-cart-checkout-form thead th.views-field-commerce-total {
    display: none; }

.view-shopping-cart-checkout-form tbody tr {
  padding: 0; }
  .view-shopping-cart-checkout-form tbody tr:last-of-type {
    border-bottom: 0; }

.view-shopping-cart-checkout-form tbody td {
  padding: 16px 0 32px; }

.view-shopping-cart-checkout-form tbody h3 {
  font-size: 0.8125em;
  font-weight: 500;
  line-height: 1.31;
  letter-spacing: -0.4px;
  margin-bottom: 3px; }

.view-shopping-cart-checkout-form tbody .ticket-name {
  font-size: 0.6875em;
  letter-spacing: 2.8px;
  text-transform: uppercase; }

.view-shopping-cart-checkout-form tbody .ticket-price {
  margin-top: 15px;
  color: #474545;
  font-weight: 500;
  font-size: 13px;
  line-height: 1.31; }

.view-shopping-cart-checkout-form tbody .views-field-commerce-total {
  display: none; }

.view-shopping-cart-checkout-form .line-item-summary {
  margin: 23px 0 0; }
  .view-shopping-cart-checkout-form .line-item-summary::after {
    clear: both;
    content: "";
    display: table; }
  .view-shopping-cart-checkout-form .line-item-summary .links {
    margin: 5px 16px 0 0;
    font-size: 0.75em;
    text-decoration: underline;
    text-transform: lowercase;
    line-height: 1.25;
    color: #545151; }
    .view-shopping-cart-checkout-form .line-item-summary .links li {
      padding-left: 0; }
  .view-shopping-cart-checkout-form .line-item-summary .links,
  .view-shopping-cart-checkout-form .line-item-summary .line-item-total {
    float: right; }

.view-shopping-cart-checkout-form .line-item-total-label,
.view-shopping-cart-checkout-form .line-item-total-raw {
  font-size: 1em;
  line-height: 1.56;
  letter-spacing: -0.38px;
  color: #3B3535;
  font-weight: 600;
  text-transform: lowercase; }

.view-shopping-cart-checkout-form .cart-edit-link {
  display: inline-block;
  vertical-align: middle;
  margin-right: 15px;
  font-size: 0.75em;
  line-height: 1.25;
  text-decoration: underline; }

.view-shopping-cart-checkout-form .form-actions {
  display: none; }

@media screen and (max-width: 680px) {
  .view-shopping-cart-checkout-form {
    text-align: left; }
    .view-shopping-cart-checkout-form thead th {
      padding-bottom: 1px; }
    .view-shopping-cart-checkout-form tbody td {
      text-align: left;
      padding: 13.5px 0 31px; }
    .view-shopping-cart-checkout-form tbody h3 {
      font-size: 0.875rem;
      margin-bottom: 0; }
    .view-shopping-cart-checkout-form .line-item-summary {
      margin: 25px 0 0; }
      .view-shopping-cart-checkout-form .line-item-summary .links {
        margin-right: 18px; } }

#commerce-checkout-form-login {
  background-color: #dce4ec; }
  #commerce-checkout-form-login .checkout-buttons {
    display: none; }
  @media screen and (max-width: 680px) {
    #commerce-checkout-form-login .cart-checkout-inner {
      display: block; }
      #commerce-checkout-form-login .cart-checkout-inner .cart-checkout-col-left {
        width: inherit; }
      #commerce-checkout-form-login .cart-checkout-inner .cart-checkout-col-right {
        width: inherit; } }
  #commerce-checkout-form-login .checkout-signin-signup-pane-actions {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 17px; }
    @media screen and (max-width: 680px) {
      #commerce-checkout-form-login .checkout-signin-signup-pane-actions {
        display: block; } }
    #commerce-checkout-form-login .checkout-signin-signup-pane-actions a {
      background: #10487a;
      border-radius: 0.625rem;
      color: #FFF;
      display: block;
      font-weight: 600;
      font-size: 1.125rem;
      letter-spacing: -0.526829px;
      line-height: 1.28;
      opacity: 0.93;
      padding: 34px 36px 34px 20px;
      mix-blend-mode: normal;
      height: 7.0625rem; }
      #commerce-checkout-form-login .checkout-signin-signup-pane-actions a span {
        display: block;
        font-weight: 400;
        font-size: 0.6875rem;
        line-height: 1;
        margin-top: 0.3125rem; }
      @media screen and (max-width: 680px) {
        #commerce-checkout-form-login .checkout-signin-signup-pane-actions a {
          margin-right: 0;
          margin-bottom: 1rem;
          width: 100%; } }

.page-checkout.not-logged-in #modalContent,
.page-checkout.not-logged-in #modalBackdrop {
  display: none;
  opacity: 0; }

.page-checkout.not-logged-in .checkout-signin-signup-pane h1 {
  color: #3B3535;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: -0.7px;
  margin-bottom: 4rem; }
  @media screen and (max-width: 680px) {
    .page-checkout.not-logged-in .checkout-signin-signup-pane h1 {
      font-size: 1.125rem;
      margin-bottom: 2rem; } }

.page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form {
  max-width: 27.0625rem; }
  .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div,
  .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div,
  .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div {
    display: grid;
    grid-template-columns: 1fr 1fr; }
    @media screen and (max-width: 680px) {
      .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div,
      .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div,
      .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div {
        grid-template-columns: 1fr; } }
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div .form-wrapper,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div .form-item,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div .form-wrapper,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div .form-item,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div .form-wrapper,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div .form-item {
      max-width: 11.625rem; }
      @media screen and (max-width: 680px) {
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div .form-wrapper,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div .form-item,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div .form-wrapper,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div .form-item,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div .form-wrapper,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div .form-item {
          max-width: 100%; } }
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div #edit-field-first-name,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div .form-item-mail,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div #edit-field-company-name,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div .form-item-pass-pass1,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div #edit-field-first-name,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div .form-item-mail,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div #edit-field-company-name,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div .form-item-pass-pass1,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div #edit-field-first-name,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div .form-item-mail,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div #edit-field-company-name,
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div .form-item-pass-pass1 {
      margin-right: 1rem; }
      @media screen and (max-width: 680px) {
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div #edit-field-first-name,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div .form-item-mail,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div #edit-field-company-name,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div .form-item-pass-pass1,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div #edit-field-first-name,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div .form-item-mail,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div #edit-field-company-name,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div .form-item-pass-pass1,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div #edit-field-first-name,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div .form-item-mail,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div #edit-field-company-name,
        .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div .form-item-pass-pass1 {
          margin-right: 0; } }
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div div[id^='edit-account'],
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form#user-register-form &gt; div div[id*='edit-account'],
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div div[id^='edit-account'],
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id^='user-register-form'] &gt; div div[id*='edit-account'],
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div div[id^='edit-account'],
    .page-checkout.not-logged-in .checkout-signin-signup-pane .credentials-form form[id*='user-register-form'] &gt; div div[id*='edit-account'] {
      display: none; }

#modalContent {
  top: 50% !important;
  left: 0 !important;
  right: 0;
  margin: auto;
  -webkit-transform: translateY(-50%);
  -moz-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  transform: translateY(-50%); }
  @media screen and (max-width: 680px) {
    #modalContent {
      top: 0 !important;
      -webkit-transform: translateY(0);
      -moz-transform: translateY(0);
      -ms-transform: translateY(0);
      -o-transform: translateY(0);
      transform: translateY(0); } }
  #modalContent .ctools-modal-content {
    position: relative;
    margin: auto;
    border: 0;
    width: 750px !important; }
    @media screen and (max-width: 768px) {
      #modalContent .ctools-modal-content {
        width: 600px !important; } }
    @media screen and (max-width: 680px) {
      #modalContent .ctools-modal-content {
        width: 100% !important; } }
  #modalContent .modal-content {
    overflow: hidden;
    width: 100% !important;
    z-index: 0;
    padding: 18px 77px 70px 287px; }
    #modalContent .modal-content:after {
      content: '';
      height: 2500px;
      width: 2500px;
      background: #FFF;
      border-radius: 50%;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 185px;
      margin: auto;
      z-index: -1; }
    #modalContent .modal-content [id^='user-login'] .form-item-name {
      margin: 80px 0 32px; }
    #modalContent .modal-content [id^='user-login'] .form-type-password {
      margin: 0 0 72px; }
    #modalContent .modal-content [id^='user-login'] label {
      font-size: 0.75em;
      font-weight: normal;
      line-height: 1.25;
      padding-left: 12px;
      color: #545151; }
    #modalContent .modal-content [id^='user-login'] .description,
    #modalContent .modal-content [id^='user-login'] .form-required {
      display: none; }
    #modalContent .modal-content [id^='user-login'] .form-actions {
      text-align: center; }
    #modalContent .modal-content *[id^='user-register-form']::after {
      clear: both;
      content: "";
      display: table; }
    #modalContent .modal-content *[id^='user-register-form'] *[id^='edit-account'] {
      margin-top: 30px; }
    #modalContent .modal-content *[id^='user-register-form'] .form-item {
      margin: 0; }
    #modalContent .modal-content *[id^='user-register-form'] .form-wrapper::after,
    #modalContent .modal-content *[id^='user-register-form'] .form-type-password-confirm::after {
      clear: both;
      content: "";
      display: table; }
    #modalContent .modal-content *[id^='user-register-form'] .field-type-text,
    #modalContent .modal-content *[id^='user-register-form'] .form-type-password,
    #modalContent .modal-content *[id^='user-register-form'] .form-type-textfield {
      width: calc(50% - 18px);
      margin: 0 0 20px;
      float: left;
      clear: none; }
      #modalContent .modal-content *[id^='user-register-form'] .field-type-text:nth-child(2n),
      #modalContent .modal-content *[id^='user-register-form'] .form-type-password:nth-child(2n),
      #modalContent .modal-content *[id^='user-register-form'] .form-type-textfield:nth-child(2n) {
        float: right; }
    #modalContent .modal-content *[id^='user-register-form'] .field-type-text {
      margin: 0; }
      #modalContent .modal-content *[id^='user-register-form'] .field-type-text .form-item {
        width: 100%; }
      #modalContent .modal-content *[id^='user-register-form'] .field-type-text.field-name-field-company-name {
        float: left; }
    #modalContent .modal-content *[id^='user-register-form'] label {
      font-size: 0.75em;
      font-weight: normal;
      line-height: 1.25;
      padding-left: 12px;
      color: #545151; }
    #modalContent .modal-content *[id^='user-register-form'] .description,
    #modalContent .modal-content *[id^='user-register-form'] .form-required,
    #modalContent .modal-content *[id^='user-register-form'] .password-strength,
    #modalContent .modal-content *[id^='user-register-form'] .password-confirm:not(.form-text) {
      display: none; }
    #modalContent .modal-content *[id^='user-register-form'] .form-actions {
      width: 100%;
      float: left;
      text-align: center; }
      #modalContent .modal-content *[id^='user-register-form'] .form-actions::after {
        clear: both;
        content: "";
        display: table; }
    @media screen and (max-width: 768px) {
      #modalContent .modal-content {
        padding: 18px 45px 70px 195px; }
        #modalContent .modal-content:after {
          left: 125px; } }
    @media screen and (max-width: 680px) {
      #modalContent .modal-content {
        padding: 20px; }
        #modalContent .modal-content:after {
          content: none; }
        #modalContent .modal-content .ajax-register-links {
          width: 100%;
          display: block;
          text-align: left; }
          #modalContent .modal-content .ajax-register-links li {
            padding-left: 0;
            margin-left: 0;
            width: 49.3%;
            display: inline-block;
            font-size: 0.6875rem; }
        #modalContent .modal-content [id^='user-login'] .form-item-name {
          margin: 25px 0 15px; }
        #modalContent .modal-content [id^='user-login'] .form-type-password {
          margin: 0 0 33px; }
        #modalContent .modal-content [id^='user-login'] label {
          font-size: 0.6875rem;
          padding-left: 9px; }
        #modalContent .modal-content *[id^='user-register-form'] *[id^='edit-account'] {
          margin-top: 25px; }
        #modalContent .modal-content *[id^='user-register-form'] .field-type-text,
        #modalContent .modal-content *[id^='user-register-form'] .form-item {
          width: 100%;
          margin: 0 0 15px; }
          #modalContent .modal-content *[id^='user-register-form'] .field-type-text .form-type-textfield,
          #modalContent .modal-content *[id^='user-register-form'] .form-item .form-type-textfield {
            width: 100%;
            margin-bottom: 0; }
        #modalContent .modal-content *[id^='user-register-form'] label {
          font-size: 0.6875rem;
          padding-left: 10px; }
        #modalContent .modal-content *[id^='user-register-form'] .form-actions {
          width: 100%;
          float: left;
          text-align: center; }
          #modalContent .modal-content *[id^='user-register-form'] .form-actions::after {
            clear: both;
            content: "";
            display: table; } }

.modal-header {
  padding: 0;
  background: url("../../images/build/login-bg.jpg") no-repeat left center;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 230px; }
  .modal-header:before {
    content: '';
    background: rgba(242, 116, 58, 0.92);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%; }
  .modal-header img,
  .modal-header .modal-title {
    display: none; }
  .modal-header .close {
    margin: 0;
    background: url("../../images/build/close.png") no-repeat center;
    background-size: cover;
    height: 10px;
    width: 10px;
    position: absolute;
    top: 0;
    right: -540px; }
  @media screen and (max-width: 768px) {
    .modal-header {
      height: 100%;
      width: 150px; }
      .modal-header .close {
        right: -470px; } }
  @media screen and (max-width: 680px) {
    .modal-header {
      overflow: hidden;
      height: 50px;
      width: 100%;
      position: relative;
      top: inherit;
      right: inherit;
      bottom: inherit;
      left: inherit; }
      .modal-header:after {
        content: '';
        height: 550vw;
        width: 550vw;
        background: #FFF;
        border-radius: 50%;
        position: absolute;
        top: 30px;
        left: 50%;
        -webkit-transform: translateX(-50%);
        -moz-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        -o-transform: translateX(-50%);
        transform: translateX(-50%);
        margin: auto; }
      .modal-header .close {
        top: 10px;
        bottom: inherit;
        right: inherit;
        left: 10px;
        margin: auto; } }

.page-checkout-complete .checkout-completed-checkout-pane {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
  padding: 70px 0 147px; }
  .page-checkout-complete .checkout-completed-checkout-pane::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 1440px) {
    .page-checkout-complete .checkout-completed-checkout-pane {
      max-width: 960px;
      margin-left: auto;
      margin-right: auto; }
      .page-checkout-complete .checkout-completed-checkout-pane::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 768px) {
    .page-checkout-complete .checkout-completed-checkout-pane {
      max-width: 680px;
      margin-left: auto;
      margin-right: auto; }
      .page-checkout-complete .checkout-completed-checkout-pane::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 680px) {
    .page-checkout-complete .checkout-completed-checkout-pane {
      max-width: 100%;
      margin-left: auto;
      margin-right: auto;
      padding: 50px 20px 61px; }
      .page-checkout-complete .checkout-completed-checkout-pane::after {
        clear: both;
        content: "";
        display: table; } }

.page-checkout-complete .view-header h1 {
  margin-bottom: 30px;
  max-width: 490px;
  font-size: 1.5rem;
  font-weight: bold;
  color: #3B3535;
  line-height: 1.25;
  letter-spacing: -0.7px; }

.page-checkout-complete .view-header p {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 57.44681%;
  margin-bottom: 8px;
  font-size: 0.875em;
  font-weight: normal;
  color: #666262;
  line-height: 1.71; }
  .page-checkout-complete .view-header p:last-child {
    margin-right: 0; }

@media screen and (max-width: 680px) {
  .page-checkout-complete .view-header h1 {
    margin-bottom: 14px;
    font-size: 1.1875rem; }
  .page-checkout-complete .view-header p {
    width: 100%;
    margin-right: 0;
    margin-bottom: 3px; } }

.page-checkout-complete .view-content {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 57.44681%; }
  .page-checkout-complete .view-content:last-child {
    margin-right: 0; }
  .page-checkout-complete .view-content ul {
    padding: 0;
    margin: 0 0 45px; }
  .page-checkout-complete .view-content li {
    list-style: none;
    color: #545151;
    font-size: 1.0625em;
    font-weight: 600;
    margin: 0 0 7px;
    line-height: 1.29;
    letter-spacing: -0.4px; }
    .page-checkout-complete .view-content li:last-of-type {
      margin-bottom: 0; }
  @media screen and (max-width: 680px) {
    .page-checkout-complete .view-content {
      width: 100%;
      margin-right: 0; }
      .page-checkout-complete .view-content li {
        font-size: 0.9375em; } }

.page-checkout-complete .view-footer {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 57.44681%; }
  .page-checkout-complete .view-footer:last-child {
    margin-right: 0; }
  .page-checkout-complete .view-footer p {
    font-size: 0.75rem;
    color: #474545;
    margin: 0 0 5px; }
    .page-checkout-complete .view-footer p a {
      font-size: 12px;
      background: #FC682D;
      color: #FFF;
      margin-top: 5px; }
  @media screen and (max-width: 680px) {
    .page-checkout-complete .view-footer {
      width: 100%;
      margin-right: 0; }
      .page-checkout-complete .view-footer p {
        font-size: 0.6875rem; } }

.node-type-about-us {
  overflow-x: hidden; }

.focus-areas {
  padding: 68px 0 124px;
  background-color: #F7F9FC; }
  @media screen and (max-width: 768px) {
    .focus-areas {
      padding: 27px 0 29px; } }
  .focus-areas-intro {
    display: flex;
    justify-content: space-between;
    padding-right: 71px;
    margin-bottom: 56px; }
    @media screen and (max-width: 768px) {
      .focus-areas-intro {
        flex-direction: column;
        margin-bottom: 28px;
        padding-right: 0; } }
  .focus-areas-text {
    max-width: 603px;
    width: 100%;
    padding-top: 3px; }
    .focus-areas-text P {
      font-size: 0.9375rem;
      font-weight: 400;
      color: #041120;
      line-height: 1.5;
      margin-bottom: 0; }
      @media screen and (max-width: 768px) {
        .focus-areas-text P {
          font-size: 0.75rem; } }
      .focus-areas-text P strong {
        font-weight: inherit;
        font-size: inherit;
        color: inherit;
        line-height: inherit; }
    .focus-areas-text ul {
      display: none; }
  .focus-areas-cards {
    clear: both;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding-right: 64px;
    gap: 30px 87px; }
    @media screen and (max-width: 1200px) {
      .focus-areas-cards {
        gap: 30px 20px;
        padding-right: 0; } }
    @media screen and (max-width: 768px) {
      .focus-areas-cards {
        grid-template-columns: repeat(1, 1fr);
        gap: 20px; } }

.what-we-do {
  background-color: #fff; }
  .what-we-do-block {
    padding: 59px 0 75px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .what-we-do-block {
        padding: 16px 0 29px; } }
    @media screen and (max-width: 680px) {
      .what-we-do-block {
        text-align: left; } }
  .what-we-do-title {
    margin-bottom: 25px; }
    @media screen and (max-width: 768px) {
      .what-we-do-title {
        margin-bottom: 8px; } }
    @media screen and (max-width: 680px) {
      .what-we-do-title.title {
        font-size: 1.75rem;
        line-height: 1.14; } }
  .what-we-do-desc {
    max-width: 867px;
    width: 100%;
    margin: 0 auto; }
    .what-we-do-desc p {
      font-size: 0.9375rem;
      margin-bottom: 0;
      color: #041120;
      line-height: 1.5;
      letter-spacing: 0.006em; }
      @media screen and (max-width: 680px) {
        .what-we-do-desc p {
          font-size: 0.75rem; } }

.who-we-are {
  background-color: #dce4ec; }
  .who-we-are-inner {
    padding: 48px 0px 46px;
    position: relative; }
    @media screen and (max-width: 768px) {
      .who-we-are-inner {
        padding: 26px 0px 35px; } }
  .who-we-are-img {
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    max-width: 691px;
    width: 100%;
    height: 519px;
    border-radius: 20px;
    margin-bottom: 64px;
    margin-left: -6px; }
    @media screen and (max-width: 768px) {
      .who-we-are-img {
        margin-left: 0;
        height: 250px;
        margin-bottom: -58px; } }
  .who-we-are-content {
    position: absolute;
    bottom: 49px;
    right: 0;
    max-width: 547px;
    width: 100%;
    background-color: #fff;
    border-radius: 15px;
    padding: 18px 20px; }
    @media screen and (max-width: 768px) {
      .who-we-are-content {
        padding: 7px 12px 21px; } }
    @media screen and (max-width: 768px) {
      .who-we-are-content {
        position: static;
        max-width: 100%;
        min-height: auto; } }
  .who-we-are-title {
    margin-bottom: 19px; }
    @media screen and (max-width: 768px) {
      .who-we-are-title {
        margin-bottom: 3px; } }
  .who-we-are-par p {
    color: #041120;
    font-size: 0.9375rem;
    margin-bottom: 0;
    letter-spacing: normal;
    line-height: 1.5; }
    .who-we-are-par p:not(:last-of-type) {
      margin-bottom: 28px; }
      @media screen and (max-width: 768px) {
        .who-we-are-par p:not(:last-of-type) {
          margin-bottom: 8px; } }
    @media screen and (max-width: 680px) {
      .who-we-are-par p {
        font-size: 0.75rem;
        line-height: 1.5; } }
    .who-we-are-par p strong {
      font-size: 1.25rem;
      font-weight: 700;
      line-height: 1.5; }
      @media screen and (max-width: 680px) {
        .who-we-are-par p strong {
          font-size: 16px; } }
  .who-we-are-cta {
    display: none; }

.focus-area-page main {
  background-size: 100% auto; }
  .focus-area-page main .container {
    padding: 124px 0 82px; }
  .focus-area-page main .paragraph {
    padding: 0;
    margin-bottom: 100px; }
    .focus-area-page main .paragraph::after {
      clear: both;
      content: "";
      display: table; }
    .focus-area-page main .paragraph:last-of-type {
      margin: 0; }
    .focus-area-page main .paragraph h2 {
      color: #10487a; }
    .focus-area-page main .paragraph h3 {
      margin-top: 45px;
      font-size: 1.0625em;
      font-weight: 700;
      color: #10487a; }
    .focus-area-page main .paragraph .text {
      color: #10487a; }
      .focus-area-page main .paragraph .text p {
        color: inherit; }
    .focus-area-page main .paragraph .paragraph-list {
      margin: 13px 0 0;
      padding: 0; }
      .focus-area-page main .paragraph .paragraph-list li {
        position: relative;
        list-style: none;
        padding-left: 17px;
        margin-bottom: 15px;
        border: 0; }
        .focus-area-page main .paragraph .paragraph-list li:before {
          content: '';
          height: 4px;
          width: 4px;
          background: #BBBDBF;
          border-radius: 50%;
          position: absolute;
          top: 7px;
          left: 0; }
        .focus-area-page main .paragraph .paragraph-list li h3 {
          font-size: 14px;
          line-height: 1.7;
          margin: 0; }
  .focus-area-page main .image-wrap {
    margin-top: 80px;
    position: relative;
    margin-left: 21.2766%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 23.40426%;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    box-shadow: inset 0 0 0 25px rgba(250, 248, 247, 0.54); }
    .focus-area-page main .image-wrap:last-child {
      margin-right: 0; }
    .focus-area-page main .image-wrap:before {
      content: '';
      display: block;
      padding-top: 100%;
      z-index: -1; }
    .focus-area-page main .image-wrap:after {
      content: '';
      position: absolute;
      top: -5px;
      right: 10px;
      height: 63px;
      width: 63px;
      background: rgba(251, 118, 63, 0.85);
      border-radius: 50%; }
  .focus-area-page main strong {
    font-size: 0.9375rem;
    font-weight: 500;
    line-height: 1.73;
    letter-spacing: -0.44px; }
  @media screen and (max-width: 1440px) {
    .focus-area-page main .image-wrap {
      margin-left: 12.76596%;
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 31.91489%; }
      .focus-area-page main .image-wrap:last-child {
        margin-right: 0; } }
  @media screen and (max-width: 768px) {
    .focus-area-page main .container {
      padding: 60px 0; } }
  @media screen and (max-width: 680px) {
    .focus-area-page main .container {
      padding: 25px 20px 44px; }
    .focus-area-page main .paragraph {
      margin-bottom: 45px; }
      .focus-area-page main .paragraph h2 {
        margin-bottom: 15px; }
      .focus-area-page main .paragraph h3 {
        margin: 24px 0 15px; }
      .focus-area-page main .paragraph .paragraph-list {
        margin: 15px 0 0; }
        .focus-area-page main .paragraph .paragraph-list li h3 {
          font-size: 13px; }
    .focus-area-page main .text-wrap {
      float: none;
      width: 100%; }
    .focus-area-page main .image-wrap {
      max-width: 205px;
      width: 80%;
      float: none;
      margin: 45px auto 0 !important;
      box-shadow: inset 0 0 0 15px rgba(250, 248, 247, 0.54); }
      .focus-area-page main .image-wrap:after {
        top: 0;
        right: 20px;
        height: 40.5px;
        width: 40.5px; } }

.focus-area-page .focus-area-latest-wrap {
  padding: 100px 0 72px;
  background: #FBF9F8; }
  .focus-area-page .focus-area-latest-wrap h2 {
    line-height: 1.2;
    margin-bottom: 41px;
    letter-spacing: -1.22px; }
  @media screen and (max-width: 768px) {
    .focus-area-page .focus-area-latest-wrap {
      padding: 60px 0; }
      .focus-area-page .focus-area-latest-wrap h2 {
        margin-bottom: 25px; }
      .focus-area-page .focus-area-latest-wrap .card {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 48.93617%; }
        .focus-area-page .focus-area-latest-wrap .card:last-child {
          margin-right: 0; } }
  @media screen and (max-width: 680px) {
    .focus-area-page .focus-area-latest-wrap {
      padding: 40px 20px; }
      .focus-area-page .focus-area-latest-wrap h2 {
        margin-bottom: 15px; }
      .focus-area-page .focus-area-latest-wrap .card {
        width: 100%;
        float: none;
        margin-right: 0; } }

.focus-area-main {
  background-color: #fff; }

.focus-area-inner {
  padding: 59px 0 45px; }
  @media screen and (max-width: 768px) {
    .focus-area-inner {
      padding: 24px 48px 12px; } }
  @media screen and (max-width: 680px) {
    .focus-area-inner {
      padding: 24px 0 12px; } }

.focus-area-latest {
  background-color: #dce4ec; }

.focus-area-latest-inner {
  padding: 44px 0 72px; }
  @media screen and (max-width: 768px) {
    .focus-area-latest-inner {
      padding: 17px 0 72px; } }

.focus-area-latest-title {
  margin-bottom: 37px; }
  @media screen and (max-width: 768px) {
    .focus-area-latest-title {
      margin-bottom: 25px; } }

.focus-area-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0 35px; }
  @media screen and (max-width: 1200px) {
    .focus-area-cards {
      grid-template-columns: repeat(2, 1fr);
      gap: 24px; } }
  @media screen and (max-width: 768px) {
    .focus-area-cards {
      margin-bottom: 7.75rem; }
      .focus-area-cards .card-content {
        height: initial; }
      .focus-area-cards .slick-dots {
        bottom: -3.75rem; }
        .focus-area-cards .slick-dots button::before {
          content: ''; } }
  @media screen and (max-width: 768px) {
    .focus-area-cards .card {
      width: 274px;
      margin: 0 auto; } }

.node-programmes-landing-page .our-program {
  padding: 75px 0;
  background: #FBF9F8; }

.node-programmes-landing-page .our-program h2,
.node-programmes-landing-page .our-campaigns h2 {
  margin-bottom: 20px; }
  @media screen and (max-width: 680px) {
    .node-programmes-landing-page .our-program h2,
    .node-programmes-landing-page .our-campaigns h2 {
      margin-bottom: 14px; } }

.node-programmes-landing-page .our-program .text,
.node-programmes-landing-page .our-campaigns .text {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 74.46809%;
  margin-bottom: 25px;
  font-weight: 500;
  font-size: 0.9375em;
  color: #3B3535; }
  .node-programmes-landing-page .our-program .text:last-child,
  .node-programmes-landing-page .our-campaigns .text:last-child {
    margin-right: 0; }

.node-programmes-landing-page .our-program .campaigns-programmes::after,
.node-programmes-landing-page .our-campaigns .campaigns-programmes::after {
  clear: both;
  content: "";
  display: table; }

.node-programmes-landing-page .our-program .campaigns-programmes .card.normal,
.node-programmes-landing-page .our-campaigns .campaigns-programmes .card.normal {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 23.40426%; }
  .node-programmes-landing-page .our-program .campaigns-programmes .card.normal:last-child,
  .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.normal:last-child {
    margin-right: 0; }

.node-programmes-landing-page .our-program .campaigns-programmes .card.big,
.node-programmes-landing-page .our-campaigns .campaigns-programmes .card.big {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 48.93617%; }
  .node-programmes-landing-page .our-program .campaigns-programmes .card.big:last-child,
  .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.big:last-child {
    margin-right: 0; }

@media screen and (min-width: 769px) {
  .node-programmes-landing-page .our-program .campaigns-programmes .card.omega,
  .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.omega {
    margin-right: 0; }
    .node-programmes-landing-page .our-program .campaigns-programmes .card.omega + .card,
    .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.omega + .card {
      clear: both; } }

@media screen and (max-width: 768px) {
  .node-programmes-landing-page .our-program .campaigns-programmes .card.normal, .node-programmes-landing-page .our-program .campaigns-programmes .card.big,
  .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.normal,
  .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.big {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    .node-programmes-landing-page .our-program .campaigns-programmes .card.normal:last-child, .node-programmes-landing-page .our-program .campaigns-programmes .card.big:last-child,
    .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.normal:last-child,
    .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.big:last-child {
      margin-right: 0; }
    .node-programmes-landing-page .our-program .campaigns-programmes .card.normal:nth-child(2n), .node-programmes-landing-page .our-program .campaigns-programmes .card.big:nth-child(2n),
    .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.normal:nth-child(2n),
    .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.big:nth-child(2n) {
      margin-right: 0; }
    .node-programmes-landing-page .our-program .campaigns-programmes .card.normal:nth-child(2n+1), .node-programmes-landing-page .our-program .campaigns-programmes .card.big:nth-child(2n+1),
    .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.normal:nth-child(2n+1),
    .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.big:nth-child(2n+1) {
      clear: left; } }

@media screen and (max-width: 680px) {
  .node-programmes-landing-page .our-program .campaigns-programmes .card.normal, .node-programmes-landing-page .our-program .campaigns-programmes .card.big,
  .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.normal,
  .node-programmes-landing-page .our-campaigns .campaigns-programmes .card.big {
    width: 100%; } }

@media screen and (max-width: 768px) {
  .node-programmes-landing-page .our-program .text,
  .node-programmes-landing-page .our-campaigns .text {
    width: 100%;
    margin-right: 0; } }

.node-programmes-landing-page .our-program .past-link,
.node-programmes-landing-page .our-campaigns .past-link {
  width: 180px;
  margin: 40px auto 20px;
  display: block;
  text-align: center; }

.featured-card {
  height: 100%; }
  @media screen and (max-width: 1200px) {
    .featured-card {
      max-width: 225px;
      margin: 0 auto; } }
  .featured-card h2 {
    font-size: 1.75em;
    line-height: 1.5;
    letter-spacing: -0.98px;
    color: #3B3535;
    margin-bottom: 4px; }
  .featured-card .sub-title {
    font-size: 0.9375em;
    margin-bottom: 30px; }
  .featured-card.orange-overlay {
    padding: 65px 0 115px; }
    .featured-card.orange-overlay h2 {
      color: #FFF;
      font-size: 1.5rem;
      line-height: 1.25;
      margin: 0 auto 5px;
      max-width: 600px; }
    .featured-card.orange-overlay .sub-title {
      font-size: 0.875rem;
      line-height: 1.5;
      margin: 0 auto 44px;
      max-width: 600px; }
    .featured-card.orange-overlay .wrapper {
      margin-bottom: 0; }
    .featured-card.orange-overlay .card-square {
      margin-bottom: 0; }
      .featured-card.orange-overlay .card-square .content {
        min-height: 205px; }
      .featured-card.orange-overlay .card-square .title {
        color: #3B3535;
        margin-bottom: 10px;
        font-weight: 600; }
      .featured-card.orange-overlay .card-square .link-area {
        width: 100%;
        height: 28px;
        text-align: center;
        position: absolute;
        bottom: 25px;
        left: 0; }
        .featured-card.orange-overlay .card-square .link-area a {
          display: inline-block;
          margin: 0 5px; }
      @media screen and (max-width: 1200px) {
        .featured-card.orange-overlay .card-square .content {
          min-height: 145px; }
        .featured-card.orange-overlay .card-square .link-area {
          bottom: 20px; } }
      @media screen and (max-width: 768px) {
        .featured-card.orange-overlay .card-square {
          float: left;
          display: block;
          margin-right: 2.12766%;
          width: 48.93617%;
          margin-bottom: 20px; }
          .featured-card.orange-overlay .card-square:last-child {
            margin-right: 0; }
          .featured-card.orange-overlay .card-square:nth-child(2n) {
            margin-right: 0; }
          .featured-card.orange-overlay .card-square:nth-child(2n+1) {
            clear: left; }
          .featured-card.orange-overlay .card-square h3 {
            font-size: 1.125rem; }
          .featured-card.orange-overlay .card-square p {
            display: block;
            font-size: 0.9375rem; } }
      @media screen and (max-width: 680px) {
        .featured-card.orange-overlay .card-square .content {
          padding: 14px;
          min-height: inherit; }
        .featured-card.orange-overlay .card-square .title {
          font-size: 0.875rem; }
        .featured-card.orange-overlay .card-square p {
          display: none; }
        .featured-card.orange-overlay .card-square .link-area {
          display: none; } }
    @media screen and (max-width: 680px) {
      .featured-card.orange-overlay {
        padding: 25px 20px 5px; }
        .featured-card.orange-overlay h2 {
          font-size: 1.3125rem;
          margin-bottom: 6px; }
        .featured-card.orange-overlay .sub-title {
          font-size: 0.8125rem;
          margin-bottom: 21px; } }
  @media screen and (max-width: 680px) {
    .featured-card {
      padding: 40px 20px; }
      .featured-card h2 {
        font-size: 1.375em;
        line-height: 1.36;
        letter-spacing: -0.77px;
        margin-bottom: 0; }
      .featured-card .sub-title {
        font-size: 0.875em; }
      .featured-card .wrapper {
        margin-bottom: 15px; } }
  @media screen and (min-width: 769px) {
    .featured-card .count-3 .card-square:first-child {
      margin-left: 12.76596%; } }

.our-campaigns {
  background-color: #F7F9FC;
  padding: 63px 0 37px; }
  @media screen and (max-width: 680px) {
    .our-campaigns {
      padding: 27px 0 37px; } }
  .our-campaigns-content {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-right: 85px;
    gap: 0 20px;
    margin-bottom: 27px; }
    @media screen and (max-width: 1200px) {
      .our-campaigns-content {
        padding: 0; } }
    @media screen and (max-width: 768px) {
      .our-campaigns-content {
        display: block;
        margin-bottom: 20px; } }
  .our-campaigns-title {
    margin-bottom: 0;
    line-height: 1.3; }
    @media screen and (max-width: 768px) {
      .our-campaigns-title {
        font-size: 1.75rem; } }
  .our-campaigns-desc {
    font-size: 1.25rem;
    color: #041120;
    max-width: 603px;
    width: 100%;
    line-height: 1.5; }
    @media screen and (max-width: 768px) {
      .our-campaigns-desc {
        font-size: 0.75rem; } }
  .our-campaigns-cards .card-campaign:not(:last-of-type) {
    margin-bottom: 34px; }
  .our-campaigns .slick-dots button::before {
    content: ''; }

.node-networks-landing .our-networks .networks-landing-intro {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 48.93617%; }
  .node-networks-landing .our-networks .networks-landing-intro:last-child {
    margin-right: 0; }
  .node-networks-landing .our-networks .networks-landing-intro .text-wrap {
    max-width: 85%; }

.node-networks-landing .our-networks .networks-list {
  overflow: hidden; }

.node-networks-landing .our-networks .link-wrap {
  margin-top: 60px; }

.node-networks-landing .our-networks-member {
  padding: 69px 0 70px; }
  .node-networks-landing .our-networks-member .text-wrap {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 53.19149%; }
    .node-networks-landing .our-networks-member .text-wrap:last-child {
      margin-right: 0; }
  .node-networks-landing .our-networks-member .text {
    margin-bottom: 25px; }
  @media screen and (max-width: 680px) {
    .node-networks-landing .our-networks-member {
      padding: 40px 20px 45px; }
      .node-networks-landing .our-networks-member .text-wrap {
        width: 100%;
        float: none; }
      .node-networks-landing .our-networks-member .text {
        margin-bottom: 15px; } }

.networks-landing {
  background-color: #F7F9FC; }
  .networks-landing-networks {
    padding: 63px 0 103px; }
    @media screen and (max-width: 1200px) {
      .networks-landing-networks {
        padding: 24px 0; } }
  .networks-landing .featured-cards.count-3 {
    grid-template-columns: repeat(3, 1fr); }
  .networks-landing .featured-cards.count-2 {
    grid-template-columns: repeat(2, 1fr);
    max-width: 600px; }
  .networks-landing .featured-cards.count-1 {
    grid-template-columns: 1fr;
    max-width: 300px; }
  .networks-landing-content {
    display: flex;
    justify-content: space-between;
    margin-bottom: 40px;
    padding-right: 86px; }
    @media screen and (max-width: 1200px) {
      .networks-landing-content {
        padding-right: 0;
        margin-bottom: 13px; } }
    @media screen and (max-width: 768px) {
      .networks-landing-content {
        flex-direction: column;
        align-items: flex-start; } }
  .networks-landing-title {
    line-height: 1.3; }
    @media screen and (max-width: 768px) {
      .networks-landing-title {
        font-size: 1.75rem;
        margin-bottom: 1rem; } }
  .networks-landing-text {
    max-width: 603px;
    width: 100%; }
    .networks-landing-text p {
      color: #041120;
      line-height: 1.53;
      font-size: 0.9375rem; }
      .networks-landing-text p:not(:last-of-type) {
        color: #10487a;
        margin-bottom: 26px; }
      .networks-landing-text p strong {
        font-weight: 900;
        font-size: 1.25rem;
        line-height: 1.5; }
      @media screen and (max-width: 768px) {
        .networks-landing-text p {
          font-size: 0.75rem;
          line-height: 1.5; }
          .networks-landing-text p:not(:last-of-type) {
            margin-bottom: 0.5rem; }
          .networks-landing-text p strong {
            font-size: 0.75rem;
            line-height: 1.5; } }
  .networks-landing-member {
    position: relative;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    background-image: url("../../images/build/team.jpg"); }
    .networks-landing-member::before {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      content: '';
      background-color: rgba(16, 72, 122, 0.8); }
    .networks-landing-member-inner {
      position: relative;
      padding: 47px 0 35px; }
    .networks-landing-member-title {
      color: #fff;
      margin-bottom: 20px; }
    .networks-landing-member-text {
      max-width: 883px;
      width: 100%;
      margin-bottom: 43px; }
      .networks-landing-member-text p {
        font-size: 0.9375rem;
        letter-spacing: -0.023em;
        color: #fff;
        line-height: normal;
        margin-bottom: 0; }
        .networks-landing-member-text p:not(:last-of-type) {
          margin-bottom: 10px; }
    .networks-landing-member-cta {
      font-size: 1rem;
      padding: 7px 23px 5px 14px;
      font-weight: 400; }
      .networks-landing-member-cta::after {
        top: -2px;
        right: 0;
        position: relative;
        content: '';
        width: 8px;
        height: 8px;
        rotate: 45deg;
        box-shadow: 1.5px -1.5px 0 0 #10487a;
        display: inline-block; }
      .networks-landing-member-cta::after {
        margin-left: 8px; }
  .networks-landing-cards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    padding-right: 64px;
    flex-wrap: wrap;
    gap: 28px 90px; }
    @media screen and (max-width: 1200px) {
      .networks-landing-cards {
        padding-right: 0;
        gap: 0 45px; } }
    @media screen and (max-width: 768px) {
      .networks-landing-cards {
        gap: 0 15px; } }
    @media screen and (max-width: 768px) {
      .networks-landing-cards {
        grid-template-columns: repeat(1, 1fr);
        gap: 15px; } }
    .networks-landing-cards .card-image-cta {
      position: initial; }
      .networks-landing-cards .card-image-cta::before {
        content: "";
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    .networks-landing-cards .card-image {
      position: relative;
      overflow: hidden;
      transition: translate 0.3s ease-in-out, box-shadow 0.3s ease-in-out, background-color 0.3s ease-in-out; }
      .networks-landing-cards .card-image:hover {
        background-color: #10487a;
        color: #fff;
        translate: 0 -15px;
        box-shadow: 0px 0px 24px rgba(25, 32, 56, 0.08); }
        .networks-landing-cards .card-image:hover .card-image-title,
        .networks-landing-cards .card-image:hover .card-image-desc {
          color: #fff; }
      @media screen and (max-width: 680px) {
        .networks-landing-cards .card-image {
          width: 100%; }
          .networks-landing-cards .card-image-title {
            font-size: 1.125rem;
            line-height: 1.5; }
          .networks-landing-cards .card-image-desc {
            font-size: 0.625rem;
            line-height: 1.5; }
          .networks-landing-cards .card-image-cta {
            display: block; } }
    @media screen and (max-width: 680px) and (max-width: 768px) {
      .networks-landing-cards .card-image-cta {
        padding: 5px 23px 5px 16px; } }
      .networks-landing-cards .card-image-links {
        margin-top: 24px; }

.node-network-application-page #who-why {
  margin-bottom: 25px;
  padding-bottom: 20px; }

.node-network-application-page #practical-info {
  padding: 25px 0 65px;
  margin-bottom: 0; }
  .node-network-application-page #practical-info .practical-information {
    padding: 44px 50px 39px 36px; }
  .node-network-application-page #practical-info dt {
    line-height: 1.2;
    letter-spacing: 2.55px; }

.node-network-application-page #benefits {
  margin-bottom: 0;
  padding: 30px 0 45px; }
  .node-network-application-page #benefits .network-application-benefits {
    margin: 0 0 30px; }
    .node-network-application-page #benefits .network-application-benefits::after {
      clear: both;
      content: "";
      display: table; }
    .node-network-application-page #benefits .network-application-benefits li {
      padding: 0;
      margin-top: 24px;
      background: none;
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%; }
      .node-network-application-page #benefits .network-application-benefits li:last-child {
        margin-right: 0; }
      .node-network-application-page #benefits .network-application-benefits li:nth-child(2n) {
        margin-right: 0; }
      .node-network-application-page #benefits .network-application-benefits li:nth-child(2n+1) {
        clear: left; }
      .node-network-application-page #benefits .network-application-benefits li ul {
        margin: 0; }
      .node-network-application-page #benefits .network-application-benefits li li {
        position: relative;
        padding-left: 16px;
        font-size: 0.8125rem;
        line-height: 1.43;
        color: #3B3535;
        letter-spacing: -0.41px;
        margin: 0 0 1px;
        width: 100%; }
        .node-network-application-page #benefits .network-application-benefits li li:before {
          content: '';
          height: 3px;
          width: 3px;
          position: absolute;
          top: 6px;
          left: 5px;
          border-radius: 50%;
          background: #3B3535; }
    .node-network-application-page #benefits .network-application-benefits h3 {
      font-size: 0.625em;
      line-height: 1.2;
      font-weight: normal;
      text-transform: uppercase;
      margin-bottom: 9px;
      letter-spacing: 2.55px; }

.node-network-application-page #options {
  padding: 45px 0 50px; }
  .node-network-application-page #options .tickets {
    margin: 0; }
  .node-network-application-page #options .ticket {
    position: relative;
    padding: 51px 0 30px; }
    .node-network-application-page #options .ticket h2 {
      font-size: 1.0625em;
      color: #545151;
      font-weight: 600;
      margin-bottom: 5px;
      float: left;
      width: calc(100% - 140px); }
      .node-network-application-page #options .ticket h2 span {
        margin: 0 5px; }
    .node-network-application-page #options .ticket:first-of-type {
      padding-top: 25px; }
      .node-network-application-page #options .ticket:first-of-type .buy-tickets-form-add-single-to-cart {
        top: 25px; }
  .node-network-application-page #options .primary-call-action {
    padding: 10px 18px 8px;
    float: right; }
  .node-network-application-page #options .buy-tickets-form-add-single-to-cart {
    position: absolute;
    top: 51px;
    right: 0; }

.node-network-application-page #more {
  margin: 0;
  padding: 50px 0 0; }
  .node-network-application-page #more .text {
    margin-bottom: 28px; }
  .node-network-application-page #more .secondary-call-action, .node-network-application-page #more .company-header .form-submit, .company-header .node-network-application-page #more .form-submit, .node-network-application-page #more .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .node-network-application-page #more .form-submit,
  .node-network-application-page #more .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .node-network-application-page #more .form-submit {
    margin-right: 15px; }

.node-type-company #company-information {
  margin-bottom: 108px; }
  .node-type-company #company-information .strong {
    font-weight: 500;
    font-size: 0.875rem;
    color: #545151;
    line-height: 1.42;
    letter-spacing: -0.41px;
    margin-bottom: 21px; }
  .node-type-company #company-information .text {
    margin-bottom: 30px; }

.node-type-company #company-representatives h2 {
  margin-bottom: 30px; }

.node-type-company .company-representative {
  width: 95%;
  padding-bottom: 28px;
  margin-bottom: 23px;
  border-bottom: 1px solid #EAEAEA; }
  .node-type-company .company-representative:last-of-type {
    margin-bottom: 0;
    border-bottom: 0; }
  .node-type-company .company-representative .avatar {
    display: inline-block;
    vertical-align: middle;
    height: 115px;
    width: 115px;
    background: url("../../images/build/avatar.png") no-repeat center;
    background-size: cover;
    border-radius: 50%;
    overflow: hidden; }
  .node-type-company .company-representative .content {
    display: inline-block;
    vertical-align: middle;
    width: calc(100% - 120px);
    padding-left: 24px;
    max-width: 350px; }
  .node-type-company .company-representative h3 {
    color: #545151;
    font-size: 1.0625rem;
    line-height: 1.29;
    margin-bottom: 3px; }
  .node-type-company .company-representative .job-title {
    font-size: 0.875rem;
    color: #666262;
    line-height: 1.64;
    margin-bottom: 14px; }
  .node-type-company .company-representative .contact-info {
    padding: 0;
    margin: 0; }
    .node-type-company .company-representative .contact-info li {
      list-style: none;
      margin-bottom: 4px;
      font-size: 0.75rem;
      font-weight: normal;
      letter-spacing: -0.3px;
      line-height: 1.58;
      color: #666262; }
      .node-type-company .company-representative .contact-info li:last-of-type {
        margin-bottom: 0; }

.node-type-event .accessibility .breadcrumb {
  display: none; }

.node-type-event .main-with-sidebar section {
  display: block;
  width: 100%;
  margin-bottom: 100px; }
  .node-type-event .main-with-sidebar section::after {
    clear: both;
    content: "";
    display: table; }
  .node-type-event .main-with-sidebar section p {
    margin-bottom: 20px; }
    .node-type-event .main-with-sidebar section p:last-of-type {
      margin-bottom: 15px; }
    .node-type-event .main-with-sidebar section p img {
      max-width: 100%;
      height: auto; }
  @media screen and (max-width: 680px) {
    .node-type-event .main-with-sidebar section {
      margin-bottom: 40px; }
      .node-type-event .main-with-sidebar section p {
        margin-bottom: 15px; }
        .node-type-event .main-with-sidebar section p:last-of-type {
          margin-bottom: 10px; } }

.node-type-event #practical-info .event-practical-info {
  padding: 45px 33px;
  float: left;
  display: block;
  margin-right: 3.22581%;
  width: 87.09677%;
  background: #FBF9F8; }
  .node-type-event #practical-info .event-practical-info:last-child {
    margin-right: 0; }

.node-type-event #practical-info .addeventatc {
  float: right;
  margin-top: 3px; }

.node-type-event #practical-info .secondary-date {
  margin-top: 5px; }
  .node-type-event #practical-info .secondary-date::after {
    clear: both;
    content: "";
    display: table; }

.node-type-event #practical-info ul {
  margin: 0;
  padding: 0; }

.node-type-event #practical-info li {
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.43;
  letter-spacing: -0.41px;
  color: #545151;
  margin-bottom: 20px;
  padding-left: 25px;
  list-style: none;
  width: 100%; }
  .node-type-event #practical-info li.date {
    background: url("../../images/build/time.png") no-repeat left 2px;
    background-size: 13px auto; }
  .node-type-event #practical-info li.address {
    background: url("../../images/build/address.png") no-repeat left 2px;
    background-size: 12px auto; }
  .node-type-event #practical-info li:last-of-type {
    margin-bottom: 0; }

.node-type-event #practical-info .day,
.node-type-event #practical-info .time,
.node-type-event #practical-info .location {
  display: inline-block;
  vertical-align: middle;
  margin-right: 12px; }

.node-type-event #practical-info .tertiary-call-action {
  margin-top: 3px;
  font-size: 0.75rem; }
  .node-type-event #practical-info .tertiary-call-action:before {
    top: 3px; }

@media screen and (max-width: 1200px) {
  .node-type-event #practical-info .event-practical-info {
    width: 100%; } }

@media screen and (max-width: 680px) {
  .node-type-event #practical-info .event-practical-info {
    padding: 25px; }
  .node-type-event #practical-info li {
    font-size: 0.8125rem;
    margin-bottom: 12px; } }

.node-type-event #speakers h2 {
  margin-bottom: 19px;
  letter-spacing: -0.03em; }

.node-type-event #speakers h3 {
  font-size: 0.9375rem;
  font-weight: 600;
  margin-bottom: 3px;
  line-height: 1.3;
  letter-spacing: -0.4px; }

.node-type-event #speakers .salutation {
  clear: both;
  color: #666262;
  font-size: 0.75rem;
  line-height: 1.65; }

.node-type-event #speakers a.fancybox {
  display: block; }

.node-type-event #speakers .event-speakers {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(218px, 218px));
  gap: 15px; }

.node-type-event #speakers .event-speaker {
  position: relative;
  list-style: none;
  border-radius: 20px;
  overflow: hidden;
  background-color: #F7F9FC; }

.node-type-event #speakers .event-speaker-frame {
  height: 191px; }

.node-type-event #speakers .event-speaker-readmore {
  color: #f37324;
  font-size: 0.75rem;
  font-weight: 300;
  display: block; }

.node-type-event #speakers img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover; }

.node-type-event #speakers .text-wrap {
  padding: 6px 18px 10px;
  font-size: 0; }

.node-type-event #speakers .event-speaker-job-title {
  clear: both;
  color: #666262;
  font-size: 0.75rem;
  line-height: 1.65;
  margin-bottom: 2px; }

.node-type-event #speakers .text {
  font-size: 0.75rem;
  line-height: 1.58; }

@media screen and (max-width: 680px) {
  .node-type-event #speakers img {
    height: 84px;
    width: 84px; }
  .node-type-event #speakers h3 {
    font-size: 0.9375rem;
    margin-bottom: 5px; }
  .node-type-event #speakers .event-speaker {
    position: relative;
    list-style: none;
    padding: 16px 0; }
    .node-type-event #speakers .event-speaker:last-of-type {
      border-bottom: 0; }
  .node-type-event #speakers .text-wrap {
    width: calc(100% - 100px);
    padding-left: 15px; }
  .node-type-event #speakers .event-speaker-job-title {
    font-size: 0.75rem;
    line-height: 1.4;
    margin-bottom: 0; }
  .node-type-event #speakers .text {
    display: none; } }

.node-type-event #registration h2 {
  margin-bottom: 2px; }

.node-type-event #location #map {
  float: left; }

.node-type-event #location .event-map-text-wrap {
  float: left;
  width: calc(100% - 395px);
  padding-left: 25px; }

.node-type-event #location h3 {
  font-size: 1.0625em;
  font-weight: 600;
  margin-bottom: 10px;
  color: #545151; }

.node-type-event #location .event-map-address {
  font-size: 0.875em;
  line-height: 1.64; }

@media screen and (max-width: 680px) {
  .node-type-event #location h2 {
    margin-bottom: 20px; }
  .node-type-event #location #map {
    width: 100% !important;
    margin-bottom: 15px; }
  .node-type-event #location .event-map-text-wrap {
    width: 100%;
    padding-left: 0; } }

.node-type-event #terms {
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.71;
  color: #666262; }
  .node-type-event #terms h2 {
    color: #3B3535; }
  @media screen and (max-width: 680px) {
    .node-type-event #terms {
      font-size: 0.8125rem; } }

.node-type-event .event-external-link {
  margin-top: 20px; }

/** EVENT PROGRAMMES **/
.event-programme-header {
  padding: 60px 0; }
  .event-programme-header .pre-title {
    font-size: 1rem;
    font-weight: 600; }
  .event-programme-header h1 {
    font-size: 3.0625rem;
    margin: -10px 0 0; }

.event-programme-main {
  padding-top: 40px; }
  .event-programme-main .event-programme-days-wrap {
    border-bottom: 2px solid #EAE9EC; }
    .event-programme-main .event-programme-days-wrap::after {
      clear: both;
      content: "";
      display: table; }
    .event-programme-main .event-programme-days-wrap h2 {
      font-size: 0.6875rem;
      font-weight: 400;
      text-transform: uppercase;
      letter-spacing: 0.25em;
      float: left;
      position: relative;
      top: 10px; }
      @media screen and (max-width: 680px) {
        .event-programme-main .event-programme-days-wrap h2 {
          padding-left: 20px; } }
  .event-programme-main .event-programme-days {
    float: left;
    position: relative;
    top: 2px;
    margin-left: 35px; }
    .event-programme-main .event-programme-days li {
      float: left;
      margin-right: 35px; }
    .event-programme-main .event-programme-days .day-wrap,
    .event-programme-main .event-programme-days .divider {
      display: inline-block; }
    .event-programme-main .event-programme-days .divider {
      padding: 0 5px; }
    .event-programme-main .event-programme-days a {
      display: block;
      font-size: 0.9375rem;
      text-transform: uppercase;
      font-weight: 600;
      letter-spacing: -0.05em;
      margin-left: -2px;
      border-left: 2px solid transparent;
      transition: all 0.2s ease-in-out;
      color: #999;
      height: 52px; }
      .event-programme-main .event-programme-days a.active, .event-programme-main .event-programme-days a:hover {
        border-bottom: 2px solid #F2743A;
        color: #3B3535; }
      .event-programme-main .event-programme-days a .location {
        font-size: 0.75rem;
        font-weight: 400;
        text-transform: none;
        color: #545151; }
  .event-programme-main .event-programme-items {
    padding-top: 30px; }
    .event-programme-main .event-programme-items li {
      overflow: hidden;
      padding: 15px 12px; }
      .event-programme-main .event-programme-items li.color-grey {
        background: #F3F3F4; }
      .event-programme-main .event-programme-items li:last-child {
        border-bottom: 0; }
    .event-programme-main .event-programme-items .time {
      float: left;
      color: #999;
      font-size: 1.0625rem;
      font-weight: 600;
      line-height: 1.4;
      width: 80px;
      min-height: 1px; }
    .event-programme-main .event-programme-items .text {
      overflow: hidden; }
    .event-programme-main .event-programme-items h2 {
      font-size: 1.0625rem;
      font-weight: 600;
      margin: 0; }
    .event-programme-main .event-programme-items.hidden {
      display: none; }
  .event-programme-main .event-schedule-item {
    padding: 10px 0; }
    @media screen and (min-width: 681px) {
      .event-programme-main .event-schedule-item {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 48.93617%; }
        .event-programme-main .event-schedule-item:last-child {
          margin-right: 0; } }
    .event-programme-main .event-schedule-item .room {
      background: url(../../images/build/marker.png) left top no-repeat;
      background-size: 12px auto;
      padding-left: 20px;
      font-size: 0.9375rem;
      font-weight: 500;
      line-height: 1;
      margin-bottom: 10px; }
    .event-programme-main .event-schedule-item .speaker {
      font-size: 0.9375rem;
      margin-bottom: 20px;
      margin-top: 3px; }
    .event-programme-main .event-schedule-item .text {
      font-size: 0.84375rem; }
    .event-programme-main .event-schedule-item a {
      display: inline-block;
      font-size: 0.75rem;
      font-weight: 500;
      border-left: 2px solid #F2743A;
      line-height: 1;
      padding-left: 5px;
      margin-top: 15px; }

.event-programme-detail-wrap {
  position: relative;
  padding: 50px 0; }
  @media screen and (min-width: 769px) {
    .event-programme-detail-wrap .event-programme-detail {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 65.95745%; }
      .event-programme-detail-wrap .event-programme-detail:last-child {
        margin-right: 0; } }
  .event-programme-detail-wrap .event-programme-detail-close {
    position: absolute;
    right: 0;
    top: 15px;
    background: none;
    border: 0; }
    .event-programme-detail-wrap .event-programme-detail-close svg {
      width: 20px;
      height: 20px; }
    .event-programme-detail-wrap .event-programme-detail-close g {
      stroke: #F2743A; }
  .event-programme-detail-wrap .date-and-room {
    color: #999999;
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 18px; }
  .event-programme-detail-wrap .room {
    padding-left: 20px;
    background: url(../../images/build/marker.png) left center no-repeat;
    background-size: 12px auto; }
  .event-programme-detail-wrap h2 {
    font-size: 1.5rem;
    margin-bottom: 5px; }
  .event-programme-detail-wrap .speaker {
    font-size: 0.9375rem;
    font-weight: 500;
    margin-bottom: 20px; }
  .event-programme-detail-wrap .speaker-wrap {
    margin-top: 60px; }
    .event-programme-detail-wrap .speaker-wrap h3 {
      font-size: 1.5rem; }
  .event-programme-detail-wrap .speaker-inner {
    clear: both;
    margin-bottom: 30px;
    overflow: hidden; }
  .event-programme-detail-wrap .speaker-image {
    float: left;
    width: 119px;
    height: 119px;
    border-radius: 119px;
    overflow: hidden;
    margin-right: 30px; }
    .event-programme-detail-wrap .speaker-image img {
      width: 100%;
      height: auto;
      display: block; }
  .event-programme-detail-wrap .speaker-text-wrap {
    overflow: hidden; }
  .event-programme-detail-wrap h4 {
    font-size: 1.0625rem;
    font-weight: 600;
    margin-bottom: 5px; }
  .event-programme-detail-wrap .job-title {
    font-size: 0.875rem;
    color: #666262;
    margin-bottom: 8px; }
  .event-programme-detail-wrap .bio {
    font-size: 0.75rem;
    color: #666262; }
  .event-programme-detail-wrap.hidden {
    display: none; }

.event-gallery a:not(.open-gallery-link),
.paragraph-gallery a:not(.open-gallery-link) {
  display: block;
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 31.91489%;
  margin-bottom: 13px;
  transition: opacity 0.2s ease-in-out; }
  .event-gallery a:not(.open-gallery-link):last-child,
  .paragraph-gallery a:not(.open-gallery-link):last-child {
    margin-right: 0; }
  .event-gallery a:not(.open-gallery-link):nth-child(3n),
  .paragraph-gallery a:not(.open-gallery-link):nth-child(3n) {
    margin-right: 0; }
  .event-gallery a:not(.open-gallery-link):nth-child(3n+1),
  .paragraph-gallery a:not(.open-gallery-link):nth-child(3n+1) {
    clear: left; }
  .event-gallery a:not(.open-gallery-link):nth-child(n+7),
  .paragraph-gallery a:not(.open-gallery-link):nth-child(n+7) {
    display: none; }
  .event-gallery a:not(.open-gallery-link):hover,
  .paragraph-gallery a:not(.open-gallery-link):hover {
    opacity: 0.8; }
  .event-gallery a:not(.open-gallery-link) img,
  .paragraph-gallery a:not(.open-gallery-link) img {
    width: 100%;
    height: auto;
    display: block; }

.section-past-events {
  color: #FFF;
  padding: 92px 0 45px;
  background-color: #F2743A;
  background-size: cover;
  background-position: center center;
  overflow: hidden; }
  @media screen and (min-width: 681px) {
    .section-past-events .section-past-events-block {
      display: inline-block;
      margin-right: 50px; } }
  .section-past-events h2 {
    font-size: 1.5rem;
    margin-bottom: 10px; }
  .section-past-events .text {
    font-size: 0.875rem;
    border-bottom: 1px solid #FFF;
    padding-bottom: 30px;
    margin-bottom: 30px;
    min-width: 280px; }
  @media screen and (max-width: 680px) {
    .section-past-events {
      padding: 53px 25px;
      text-align: center; }
      .section-past-events .section-past-events-block {
        margin-bottom: 40px; }
        .section-past-events .section-past-events-block:last-child {
          margin-bottom: 0; }
      .section-past-events h2 {
        font-size: 1.3125rem;
        margin-bottom: 5px;
        line-height: 1.1;
        letter-spacing: -0.61px; }
      .section-past-events .text {
        font-size: 0.8125rem;
        border-bottom: 0;
        padding-bottom: 0;
        margin-bottom: 15px; } }

#sponsors h2 {
  margin-bottom: 30px; }

#sponsors h3 {
  font-weight: 500;
  color: #3B3535; }

#sponsors p + h3 {
  margin-top: 50px; }

#sponsors img {
  margin: 0 40px 20px 0;
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto; }

@media screen and (max-width: 680px) {
  #sponsors img {
    margin: 0 auto 20px; } }

.field-type-youtube .field-item,
.field-type-soundcloud .field-item {
  margin-bottom: 30px; }

.event-programmes .text {
  margin-bottom: 20px; }

.event-upcoming {
  background-color: #dce4ec; }
  .event-upcoming-inner {
    padding: 46px 0 44px; }
    @media screen and (max-width: 680px) {
      .event-upcoming-inner {
        padding: 24px 0 40px; } }
  .event-upcoming-title {
    margin-bottom: 21px;
    padding-left: 5px; }
    @media screen and (max-width: 680px) {
      .event-upcoming-title {
        font-size: 1.5rem;
        line-height: 1.3;
        text-align: center; } }
  .event-upcoming-cards {
    display: grid;
    grid-auto-columns: auto;
    grid-auto-rows: auto;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: 318px 206px;
    grid-template-areas: "one two four five" "three three six six";
    gap: 20px 18px;
    margin-bottom: 51px; }
    @media screen and (max-width: 768px) {
      .event-upcoming-cards {
        display: block; }
        .event-upcoming-cards.slick-dotted.slick-slider {
          margin-bottom: 5.9375rem; }
        .event-upcoming-cards .slick-slide {
          min-height: 17.875rem; }
        .event-upcoming-cards .slick-dots {
          bottom: -3.125rem; }
          .event-upcoming-cards .slick-dots button:before {
            content: ''; } }
  .event-upcoming-card:first-of-type {
    grid-area: one; }
  .event-upcoming-card:nth-of-type(2) {
    grid-area: two; }
  .event-upcoming-card:nth-of-type(3) {
    grid-area: three; }
  .event-upcoming-card:nth-of-type(4) {
    grid-area: four; }
  .event-upcoming-card:nth-of-type(5) {
    grid-area: five; }
  .event-upcoming-card:nth-of-type(6) {
    grid-area: six; }
  .event-upcoming-button-wrap {
    display: flex;
    justify-content: center; }
  .event-upcoming-cta {
    font-size: 1rem;
    padding: 8px 24px 8px 17px; }
    .event-upcoming-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .event-upcoming-cta::after {
      margin-left: 8px; }

.event-about {
  background-color: #fff; }
  .event-about-inner {
    text-align: center;
    padding: 59px 0 64px; }
    @media screen and (max-width: 680px) {
      .event-about-inner {
        text-align: left;
        padding: 16px 0 24px; } }
  .event-about-title {
    margin-bottom: 25px; }
    @media screen and (max-width: 680px) {
      .event-about-title {
        font-size: 1.75rem; } }
  .event-about-desc {
    max-width: 867px;
    width: 100%;
    margin: 0 auto; }
    .event-about-desc p {
      color: #041120;
      margin-bottom: 0;
      font-size: 0.9375rem;
      font-weight: 500;
      line-height: 1.5; }
      @media screen and (max-width: 680px) {
        .event-about-desc p {
          font-size: 0.75rem; } }

.event-past {
  background-color: #F7F9FC; }
  .event-past-inner {
    padding: 45px 0 49px; }
    @media screen and (max-width: 680px) {
      .event-past-inner {
        padding: 32px 0 48px; } }
  .event-past-title {
    margin-bottom: 33px; }
    .event-past-title ~ .text {
      margin-bottom: 1.5rem; }
    @media screen and (max-width: 680px) {
      .event-past-title {
        font-size: 1.75rem;
        line-height: 1.3;
        margin-bottom: 2rem; } }
  .event-past-cards {
    margin-bottom: 32px; }
    .event-past-cards .view-past-events .wrapper {
      padding-left: 0;
      padding-right: 0; }
      .event-past-cards .view-past-events .wrapper .view-content {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
        gap: 26px;
        margin-bottom: 32px; }
    .event-past-cards .view-past-events .card-past {
      display: block; }
      @media screen and (max-width: 768px) {
        .event-past-cards .view-past-events .card-past {
          max-width: 280px;
          margin: 0 auto; } }
    @media screen and (max-width: 768px) {
      .event-past-cards {
        margin-bottom: 5.9375rem; }
        .event-past-cards .slick-dots {
          bottom: -3.125rem; } }
  .event-past-button {
    display: flex;
    justify-content: center; }
  .event-past-cta {
    font-size: 1rem;
    padding: 7px 24px 6px 16px; }
    .event-past-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .event-past-cta::after {
      margin-left: 9px; }
  .event-past .slick-dots button::before {
    content: ''; }

.event-related {
  background-color: #F7F9FC;
  padding: 50px 0; }
  .event-related-title {
    margin-bottom: 33px; }
  .event-related-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(292px, 1fr));
    gap: 10px 10px; }
    .event-related-cards .topic-content {
      min-height: 318px; }

.node-type-events-landing-page .section-key-events {
  background: #FBF9F8;
  padding: 60px 0; }
  .node-type-events-landing-page .section-key-events .key-events::after {
    clear: both;
    content: "";
    display: table; }
  .node-type-events-landing-page .section-key-events .card-image-left {
    padding: 0 8px 0 24px; }
    .node-type-events-landing-page .section-key-events .card-image-left .title {
      font-size: 1rem;
      margin-bottom: 6px; }
  @media screen and (max-width: 1200px) {
    .node-type-events-landing-page .section-key-events .card-image-left {
      padding: 0; } }
  @media screen and (max-width: 680px) {
    .node-type-events-landing-page .section-key-events {
      padding: 25px 20px; }
      .node-type-events-landing-page .section-key-events h2 {
        margin-bottom: 0; }
      .node-type-events-landing-page .section-key-events .text {
        font-size: 0.875em;
        line-height: 1.5;
        letter-spacing: -0.41px;
        margin-bottom: 30px; } }

.node-type-events-landing-page .section-upcoming-events {
  position: relative;
  background: #FBF9F8;
  padding: 40px 0;
  text-align: center; }
  .node-type-events-landing-page .section-upcoming-events:after {
    content: '';
    height: 215px;
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    background: #FFF;
    z-index: 0; }
  .node-type-events-landing-page .section-upcoming-events .container {
    z-index: 1; }
  .node-type-events-landing-page .section-upcoming-events h2 {
    text-align: left;
    margin-bottom: 38px; }
  .node-type-events-landing-page .section-upcoming-events .upcoming-events {
    text-align: left; }
  .node-type-events-landing-page .section-upcoming-events .card {
    margin-bottom: 45px; }
    .node-type-events-landing-page .section-upcoming-events .card .title {
      margin-bottom: 7px; }
  .node-type-events-landing-page .section-upcoming-events .primary-call-action {
    margin: 45px auto 0; }
  @media screen and (max-width: 768px) {
    .node-type-events-landing-page .section-upcoming-events .card {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%;
      margin-bottom: 25px; }
      .node-type-events-landing-page .section-upcoming-events .card:last-child {
        margin-right: 0; }
      .node-type-events-landing-page .section-upcoming-events .card:nth-child(2n) {
        margin-right: 0; }
      .node-type-events-landing-page .section-upcoming-events .card:nth-child(2n+1) {
        clear: left; } }
  @media screen and (max-width: 680px) {
    .node-type-events-landing-page .section-upcoming-events {
      padding: 25px 20px; }
      .node-type-events-landing-page .section-upcoming-events .card {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 100%; }
        .node-type-events-landing-page .section-upcoming-events .card:nth-child(2n) {
          margin-right: 2.12766%; }
        .node-type-events-landing-page .section-upcoming-events .card:nth-child(2n+1) {
          clear: none; }
        .node-type-events-landing-page .section-upcoming-events .card:last-child {
          margin-right: 0; }
      .node-type-events-landing-page .section-upcoming-events .primary-call-action {
        margin: 0 auto; } }

.node-type-events-landing-page .section-about-events {
  padding: 50px 0 90px;
  text-align: center; }
  .node-type-events-landing-page .section-about-events h2 {
    margin-bottom: 25px; }
  .node-type-events-landing-page .section-about-events .text {
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.64; }
  @media screen and (max-width: 680px) {
    .node-type-events-landing-page .section-about-events {
      padding: 40px 25px 45px; }
      .node-type-events-landing-page .section-about-events h2 {
        margin-bottom: 10px; } }

.node-type-training-consulting-landing-page h2 {
  font-size: 2.1875em;
  color: #3B3535;
  margin-bottom: 30px;
  font-weight: bold; }
  @media screen and (max-width: 768px) {
    .node-type-training-consulting-landing-page h2 {
      font-size: 1.75em; } }
  @media screen and (max-width: 680px) {
    .node-type-training-consulting-landing-page h2 {
      font-size: 1.375em; } }

.node-type-training-consulting-landing-page .section-training {
  padding: 100px 0 50px;
  background: #FBF9F8;
  text-align: center; }
  .node-type-training-consulting-landing-page .section-training .text {
    max-width: 700px;
    margin: 0 auto 50px;
    font-size: 0.875em; }
    @media screen and (max-width: 1200px) {
      .node-type-training-consulting-landing-page .section-training .text {
        margin-bottom: 40px; } }
    @media screen and (max-width: 680px) {
      .node-type-training-consulting-landing-page .section-training .text {
        font-size: 0.875em; } }
  .node-type-training-consulting-landing-page .section-training .card-wrapper::after {
    clear: both;
    content: "";
    display: table; }
  .node-type-training-consulting-landing-page .section-training .card {
    text-align: left; }
    .node-type-training-consulting-landing-page .section-training .card:nth-child(4n) {
      margin-right: 0; }
    .node-type-training-consulting-landing-page .section-training .card:nth-child(4n+1) {
      clear: left; }
  .node-type-training-consulting-landing-page .section-training .primary-call-action {
    margin-top: 50px; }
  @media screen and (max-width: 1200px) {
    .node-type-training-consulting-landing-page .section-training {
      padding: 70px 0 35px; }
      .node-type-training-consulting-landing-page .section-training .text {
        margin-bottom: 40px; } }
  @media screen and (max-width: 768px) {
    .node-type-training-consulting-landing-page .section-training .card {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%; }
      .node-type-training-consulting-landing-page .section-training .card:last-child {
        margin-right: 0; }
      .node-type-training-consulting-landing-page .section-training .card:nth-child(2n) {
        margin-right: 0; }
      .node-type-training-consulting-landing-page .section-training .card:nth-child(2n+1) {
        clear: left; } }
  @media screen and (max-width: 680px) {
    .node-type-training-consulting-landing-page .section-training {
      padding: 25px 20px; }
      .node-type-training-consulting-landing-page .section-training .card {
        width: 100%; } }

.node-type-training-consulting-landing-page .section-consulting {
  padding: 50px 0 100px;
  background: #FBF9F8;
  text-align: center; }
  .node-type-training-consulting-landing-page .section-consulting .text {
    max-width: 700px;
    margin: 0 auto 50px;
    font-size: 0.875em;
    color: #666262; }
    @media screen and (max-width: 680px) {
      .node-type-training-consulting-landing-page .section-consulting .text {
        font-size: 0.8125em;
        margin-bottom: 25px; } }
  .node-type-training-consulting-landing-page .section-consulting .card {
    text-align: left; }
  .node-type-training-consulting-landing-page .section-consulting .primary-call-action {
    margin-top: 50px; }
  @media screen and (max-width: 1200px) {
    .node-type-training-consulting-landing-page .section-consulting {
      padding: 35px 0 70px; } }
  @media screen and (max-width: 768px) {
    .node-type-training-consulting-landing-page .section-consulting .card {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%; }
      .node-type-training-consulting-landing-page .section-consulting .card:last-child {
        margin-right: 0; }
      .node-type-training-consulting-landing-page .section-consulting .card:nth-child(2n) {
        margin-right: 0; }
      .node-type-training-consulting-landing-page .section-consulting .card:nth-child(2n+1) {
        clear: left; } }
  @media screen and (max-width: 680px) {
    .node-type-training-consulting-landing-page .section-consulting {
      padding: 25px 20px; }
      .node-type-training-consulting-landing-page .section-consulting .card {
        width: 100%; } }

.node-type-training-consulting-landing-page .orange-overlay {
  padding: 56px 0 50px; }
  .node-type-training-consulting-landing-page .orange-overlay .wrapper {
    padding-bottom: 22px;
    border-bottom: 1px solid #FFF;
    margin-bottom: 30px; }
    .node-type-training-consulting-landing-page .orange-overlay .wrapper::after {
      clear: both;
      content: "";
      display: table; }
  .node-type-training-consulting-landing-page .orange-overlay h2 {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 31.91489%;
    font-size: 1.5em;
    color: #FFF;
    line-height: 1.25;
    letter-spacing: -0.7px;
    margin-bottom: 0; }
    .node-type-training-consulting-landing-page .orange-overlay h2:last-child {
      margin-right: 0; }
  .node-type-training-consulting-landing-page .orange-overlay .text {
    margin-left: 8.51064%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 57.44681%;
    font-size: 0.875em;
    line-height: 1.5; }
    .node-type-training-consulting-landing-page .orange-overlay .text:last-child {
      margin-right: 0; }
  @media screen and (max-width: 768px) {
    .node-type-training-consulting-landing-page .orange-overlay h2 {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 40.42553%; }
      .node-type-training-consulting-landing-page .orange-overlay h2:last-child {
        margin-right: 0; }
    .node-type-training-consulting-landing-page .orange-overlay .text {
      margin-left: 0%; } }
  @media screen and (max-width: 680px) {
    .node-type-training-consulting-landing-page .orange-overlay {
      padding: 40px 20px 34px; }
      .node-type-training-consulting-landing-page .orange-overlay .wrapper {
        padding-bottom: 0;
        border-bottom: 0;
        margin-bottom: 20px; }
      .node-type-training-consulting-landing-page .orange-overlay h2 {
        font-size: 1.3125em;
        line-height: 1.19;
        margin-bottom: 5px;
        width: 100%; }
      .node-type-training-consulting-landing-page .orange-overlay .text {
        font-size: 0.8125em;
        font-weight: 500;
        width: 100%; } }

.node-type-training-consulting-landing-page .section-our-impact {
  padding: 100px 0;
  text-align: center; }
  .node-type-training-consulting-landing-page .section-our-impact .container {
    max-width: 100%; }
  .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide {
    outline: none;
    margin: 0 38px;
    padding: 45px 90px;
    background: #FBF9F8;
    opacity: 0.7;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
    .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide.slick-current {
      opacity: 1; }
      .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide.slick-current .text-full:before {
        content: '';
        position: absolute;
        top: -19px;
        left: -21px;
        height: 38px;
        width: 48px;
        background: url("../../images/build/quote-left.png") no-repeat center;
        background-size: 100% auto;
        z-index: -1; }
      .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide.slick-current .text-full:after {
        content: '';
        position: absolute;
        right: 27px;
        bottom: -19px;
        height: 38px;
        width: 48px;
        background: url("../../images/build/quote-right.png") no-repeat center;
        background-size: 100% auto;
        z-index: -1; }
      @media screen and (max-width: 680px) {
        .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide.slick-current .text-full:before, .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide.slick-current .text-full:after {
          content: none; } }
    .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide .text {
      display: none; }
    .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide .text-full {
      display: block;
      position: relative;
      font-size: 0.875rem;
      color: #999;
      margin: 0 auto 30px;
      line-height: 1.57;
      z-index: 1;
      max-width: 650px; }
    .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide .single-slide-header {
      display: none; }
    .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide .landing-slide-header {
      font-size: 0.875rem;
      font-weight: 500;
      color: #545151;
      line-height: 1.42;
      letter-spacing: -0.41px; }
    .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide .link-underline {
      display: none; }
  .node-type-training-consulting-landing-page .section-our-impact .slick-arrow.testimonials-slider-next {
    right: 10%; }
  .node-type-training-consulting-landing-page .section-our-impact .slick-arrow.testimonials-slider-prev {
    left: 10%; }
  @media screen and (max-width: 680px) {
    .node-type-training-consulting-landing-page .section-our-impact .slick-arrow.testimonials-slider-next {
      right: 3%; }
    .node-type-training-consulting-landing-page .section-our-impact .slick-arrow.testimonials-slider-prev {
      left: 3%; } }
  @media screen and (max-width: 768px) {
    .node-type-training-consulting-landing-page .section-our-impact {
      padding: 70px 0; }
      .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide {
        padding: 45px 60px; } }
  @media screen and (max-width: 680px) {
    .node-type-training-consulting-landing-page .section-our-impact {
      padding: 41px 0 39px; }
      .node-type-training-consulting-landing-page .section-our-impact h2 {
        margin-bottom: 25px; }
      .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide {
        margin: 0 10px;
        padding: 30px 10px; }
        .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide.slick-current {
          padding: 30px 20px; }
        .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide .text {
          font-size: 0.84375em; }
        .node-type-training-consulting-landing-page .section-our-impact .testimonials-slide h3 {
          font-size: 0.75em; } }

.node-type-training-consulting .event-single-header {
  background: #F3F3F4; }

.node-type-training-consulting .testimonials-slider {
  margin: 30px 0; }
  .node-type-training-consulting .testimonials-slider .testimonials-slide {
    padding: 39px 76px; }
  .node-type-training-consulting .testimonials-slider h3 {
    font-size: 1.0625em;
    font-weight: 600;
    margin-bottom: 7px;
    color: #545151;
    line-height: 1.3;
    letter-spacing: -0.4px; }
  .node-type-training-consulting .testimonials-slider .text {
    font-size: 0.75em;
    line-height: 1.58;
    margin-bottom: 36px;
    color: #666262; }
  .node-type-training-consulting .testimonials-slider .link-underline {
    text-transform: lowercase; }

.node-type-training-consulting .slick-dots {
  bottom: -30px; }

.node-type-training-consulting .slick-arrow {
  height: 35px;
  width: 35px; }

@media screen and (max-width: 768px) {
  .node-type-training-consulting .testimonials-slider .testimonials-slide {
    padding: 30px 50px; }
  .node-type-training-consulting .testimonials-slider .text {
    margin-bottom: 15px; }
  .node-type-training-consulting .slick-arrow {
    height: 30px;
    width: 30px; }
    .node-type-training-consulting .slick-arrow.testimonials-slider-prev {
      left: 10px; }
    .node-type-training-consulting .slick-arrow.testimonials-slider-next {
      right: 10px; } }

@media screen and (max-width: 680px) {
  .node-type-training-consulting .main-with-sidebar {
    padding: 40px 0 45px; }
  .node-type-training-consulting .paragraph:not(.paragraph-testimonials) {
    padding: 35px 20px 8px; }
    .node-type-training-consulting .paragraph:not(.paragraph-testimonials):first-of-type {
      padding-top: 0; }
  .node-type-training-consulting .paragraph-testimonials h2, .node-type-training-consulting .paragraph-testimonials .text {
    padding: 0 20px; }
  .node-type-training-consulting .testimonials-slider .testimonials-slide {
    padding: 25px 35px;
    margin: 0 20px; }
  .node-type-training-consulting .testimonials-slider .text {
    margin-bottom: 41px;
    padding: 0; }
  .node-type-training-consulting .slick-dots {
    bottom: -35px; }
  .node-type-training-consulting .slick-arrow {
    height: 30px;
    width: 30px; }
    .node-type-training-consulting .slick-arrow.testimonials-slider-next {
      right: 1%; }
    .node-type-training-consulting .slick-arrow.testimonials-slider-prev {
      left: 1%; } }

.contact-details {
  background-color: #F7F9FC;
  padding: 33px 0; }
  .contact-details-inner {
    background-color: #fff;
    border-radius: 20px;
    padding: 28px 107px;
    min-height: 355px; }
    @media screen and (max-width: 1200px) {
      .contact-details-inner {
        padding: 28px 30px; } }
    @media screen and (max-width: 680px) {
      .contact-details-inner {
        padding: 24px 16px 32px 16px; } }
  .contact-details-title {
    font-size: 1.5rem;
    font-weight: 400;
    color: #10487a;
    letter-spacing: -0.03em;
    margin-bottom: 43px; }

.contact-locations {
  display: flex;
  gap: 10px 229px; }
  @media screen and (max-width: 768px) {
    .contact-locations {
      gap: 10px 70px; } }
  @media screen and (max-width: 680px) {
    .contact-locations {
      display: block; } }

@media screen and (max-width: 768px) {
  .contact-location {
    width: 50%; } }

@media screen and (max-width: 680px) {
  .contact-location {
    width: 100%; } }

.contact-info-item {
  color: #545151;
  font-weight: 500;
  line-height: 1.45;
  letter-spacing: -0.03em;
  padding-left: 20px;
  position: relative;
  font-size: 0.875rem;
  margin-bottom: 6px; }
  .contact-info-item::before {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 1rem;
    font-family: inherit;
    color: #f37324;
    font-weight: 500; }
  .contact-info-item a {
    color: inherit; }

.contact-info-number {
  font-size: 0.875rem; }

.contact-info-address {
  margin-bottom: 32px; }
  @media screen and (min-width: 681px) {
    .contact-info-address {
      min-height: 6.75rem; } }
  .contact-info-address::before {
    content: url("../../images/build/address.svg");
    left: -5px;
    top: 1px;
    color: #f37324;
    font-weight: 300; }

.contact-info-tel::before {
  content: 'T';
  left: -5px;
  top: -1px; }

.contact-info-fax::before {
  content: 'F';
  left: -5px;
  top: -2px; }

.contact-info-map {
  display: block;
  position: relative;
  margin-top: 6px;
  font-size: 0.75rem;
  letter-spacing: normal;
  padding-left: 7px; }
  .contact-info-map::before {
    position: absolute;
    content: '';
    height: 10px;
    width: 2px;
    top: 3px;
    left: 0;
    background-color: #f37324; }

.contact-message {
  background-color: #dce4ec;
  padding: 44px 0; }
  @media screen and (max-width: 768px) {
    .contact-message {
      padding: 24px 0; } }
  .contact-message-inner {
    background-color: #fff;
    border-radius: 20px;
    overflow: hidden;
    display: flex; }
  .contact-message-title {
    font-size: 1.5rem;
    color: #10487a;
    letter-spacing: normal;
    font-weight: 400;
    letter-spacing: -0.027em; }
    @media screen and (max-width: 768px) {
      .contact-message-title {
        margin-bottom: 5px; } }

.contact-image {
  max-width: 504px;
  width: 100%;
  background-image: url("../../images/build/contact-image.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center; }
  @media screen and (max-width: 768px) {
    .contact-image {
      display: none; } }

.contact-content {
  flex-grow: 1;
  padding: 40px 111px 78px 114px; }
  @media screen and (max-width: 1200px) {
    .contact-content {
      padding: 32px 40px 16px;
      min-width: 532px; } }
  @media screen and (max-width: 768px) {
    .contact-content {
      min-width: 100%;
      padding: 30px 19px 16px; } }

.contact-form #rhm-helpers-entityform-form &gt; div {
  display: grid;
  grid-auto-columns: 1fr;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto;
  gap: 0 19px;
  grid-template-areas: "first last" "email number" "subject subject" "message message" "action action"; }
  @media screen and (max-width: 680px) {
    .contact-form #rhm-helpers-entityform-form &gt; div {
      display: block; } }

.contact-form #rhm-helpers-entityform-form label {
  padding-left: 0; }

.contact-form #edit-field-first-name {
  grid-area: first; }

.contact-form #edit-field-last-name {
  grid-area: last; }

.contact-form #edit-field-email {
  grid-area: email; }

.contact-form #edit-field-contact-number {
  grid-area: number; }

@media screen and (max-width: 680px) {
  .contact-form #edit-field-first-name,
  .contact-form #edit-field-last-name,
  .contact-form #edit-field-email,
  .contact-form #edit-field-contact-number {
    padding: 0 71px 0 0; } }

.contact-form #edit-field-subject {
  grid-area: subject; }
  .contact-form #edit-field-subject .select2-container {
    width: 100% !important; }
    @media screen and (max-width: 680px) {
      .contact-form #edit-field-subject .select2-container {
        left: 0 !important; } }

.contact-form #edit-field-message {
  grid-area: message; }

.contact-form #edit-actions {
  grid-area: action;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-right: 37px;
  margin: 0; }
  .contact-form #edit-actions .captcha {
    margin: 0; }
  .contact-form #edit-actions .form-submit {
    background-color: #10487a;
    background-image: url("../../svg/angle-right.svg");
    background-position: right 20px bottom 50%;
    background-repeat: no-repeat;
    min-width: 5.75rem;
    padding-right: 2.5rem; }
  @media screen and (max-width: 680px) {
    .contact-form #edit-actions {
      flex-direction: column; }
      .contact-form #edit-actions .form-submit {
        margin-top: 2rem;
        width: 7.5rem; } }

.contact-form #edit-submit {
  border: none;
  color: #fff;
  border-radius: 50px;
  position: relative;
  padding: 12px 14px;
  font-weight: 300;
  background-color: #10487a;
  font-size: 0.8rem; }

.node-type-page {
  background-size: 100% auto; }
  .node-type-page #content-area section {
    margin-bottom: 60px; }
    .node-type-page #content-area section::after {
      clear: both;
      content: "";
      display: table; }
  .node-type-page #content-area article.template-terms section {
    margin-bottom: 30px; }
  .node-type-page article .container {
    padding: 100px 0; }
    @media screen and (max-width: 680px) {
      .node-type-page article .container {
        padding: 11px 21px 45px; } }
  .node-type-page article.template-terms .container {
    padding: 50px 0; }
  .node-type-page .text-wrap {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%; }
    .node-type-page .text-wrap:last-child {
      margin-right: 0; }
    .node-type-page .text-wrap h5 {
      font-size: 0.6875em;
      color: #3B3535;
      margin-bottom: 13px;
      letter-spacing: 2.8px;
      text-transform: uppercase;
      font-weight: normal; }
    .node-type-page .text-wrap p {
      margin-bottom: 25px; }
      .node-type-page .text-wrap p br {
        display: none; }
    .node-type-page .text-wrap a:not(.primary-call-action):not(.secondary-call-action) {
      color: #F2743A; }
      .node-type-page .text-wrap a:not(.primary-call-action):not(.secondary-call-action):hover {
        text-decoration: underline; }
    @media screen and (max-width: 1200px) {
      .node-type-page .text-wrap {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 61.70213%; }
        .node-type-page .text-wrap:last-child {
          margin-right: 0; } }
    @media screen and (max-width: 680px) {
      .node-type-page .text-wrap {
        float: none;
        width: 100%;
        margin-top: 17px; }
        .node-type-page .text-wrap h5 {
          font-size: 0.625em;
          margin-bottom: 10px;
          letter-spacing: 1.6px; } }
    .node-type-page .text-wrap .links {
      margin-top: 30px; }
  .node-type-page .image-wrap {
    position: relative;
    margin-left: 17.02128%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 27.65957%;
    border-radius: 50%;
    background-size: cover;
    background-position: center;
    box-shadow: inset 0 0 0 25px rgba(250, 248, 247, 0.54); }
    .node-type-page .image-wrap:last-child {
      margin-right: 0; }
    .node-type-page .image-wrap:before {
      content: '';
      display: block;
      padding-top: 100%; }
    .node-type-page .image-wrap:after {
      content: '';
      position: absolute;
      top: 5px;
      right: 10px;
      height: 63px;
      width: 63px;
      background: rgba(251, 118, 63, 0.85);
      border-radius: 50%; }
    @media screen and (max-width: 1200px) {
      .node-type-page .image-wrap {
        margin-left: 4.25532%;
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 31.91489%; }
        .node-type-page .image-wrap:last-child {
          margin-right: 0; } }
    @media screen and (max-width: 680px) {
      .node-type-page .image-wrap {
        float: none;
        margin: 47px auto 45px !important;
        max-width: 205px;
        width: 80%;
        box-shadow: inset 0 0 0 15px rgba(250, 248, 247, 0.54); }
        .node-type-page .image-wrap:after {
          top: 0;
          right: 5px;
          height: 41px;
          width: 41px; } }
  .node-type-page .template-terms .orange-overlay .container {
    padding-top: 0;
    padding-bottom: 0; }
  .node-type-page .template-terms .orange-overlay h1 {
    font-size: 1.5rem;
    margin: 0; }
  @media screen and (min-width: 769px) {
    .node-type-page .template-terms .text-wrap {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 74.46809%; }
      .node-type-page .template-terms .text-wrap:last-child {
        margin-right: 0; } }
  .node-type-page .template-terms section {
    font-size: 0.875rem; }
    .node-type-page .template-terms section h2 {
      font-size: 1.125rem;
      font-weight: 600; }

.basic-page {
  background-color: #EDF1F7; }
  .basic-page-inner {
    padding: 33px 0; }
  .basic-page-content {
    background-color: #fff;
    padding: 40px 103px;
    border-radius: 20px; }
    @media screen and (max-width: 768px) {
      .basic-page-content {
        padding: 40px 20px; } }
    @media screen and (max-width: 768px) {
      .basic-page-content .btn-back {
        display: none; } }
  .basic-page-section:not(:last-of-type) {
    margin-bottom: 28px; }
  .basic-page-heading {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 13px;
    letter-spacing: -0.03em;
    line-height: normal; }
  .basic-page-par {
    max-width: 713px;
    width: 100%; }
    .basic-page-par p {
      font-size: 0.875rem;
      margin-bottom: 0; }
      .basic-page-par p:not(:last-of-type) {
        margin-bottom: 30px; }
  .basic-page-buttons {
    margin-top: 30px; }
  .basic-page-cta {
    padding: 9px 24px 9px 16px;
    font-weight: 500;
    font-size: 0.75rem; }
    .basic-page-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .basic-page-cta::after {
      margin-left: 10px;
      top: -1px; }

.node-type-faq-landing .content {
  background-size: 100% auto; }

.node-type-faq-landing .faq-page .container {
  padding: 80px 0 165px; }
  @media screen and (max-width: 768px) {
    .node-type-faq-landing .faq-page .container {
      padding: 50px 0 60px; } }
  @media screen and (max-width: 680px) {
    .node-type-faq-landing .faq-page .container {
      padding: 0; } }

.node-type-faq-landing .faq-nav {
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 23.40426%; }
  .node-type-faq-landing .faq-nav:last-child {
    margin-right: 0; }
  @media screen and (max-width: 680px) {
    .node-type-faq-landing .faq-nav {
      display: none; } }

.node-type-faq-landing .faq-wrapper {
  margin-left: 8.51064%;
  float: left;
  display: block;
  margin-right: 2.12766%;
  width: 65.95745%; }
  .node-type-faq-landing .faq-wrapper:last-child {
    margin-right: 0; }
  @media screen and (max-width: 680px) {
    .node-type-faq-landing .faq-wrapper {
      margin-left: 0%;
      width: 100%;
      padding: 25px 20px 40px; } }

.node-type-faq-landing .field-label {
  display: none; }

.get-involved {
  background-color: #dce4ec; }
  .get-involved-section {
    padding: 74px 0 73px; }
  .get-involved-content {
    max-width: 955px;
    width: 100%;
    margin: 0 auto; }
  .get-involved-title {
    font-size: 3.0625rem;
    color: #10487a;
    letter-spacing: normal;
    margin-bottom: 25px;
    text-align: center;
    padding-right: 22px; }
    @media screen and (max-width: 768px) {
      .get-involved-title {
        padding-right: 0;
        font-size: 2rem;
        font-weight: 700;
        line-height: 1.2; } }
  .get-involved-text {
    text-align: center; }
    .get-involved-text p {
      font-size: 1.25rem;
      margin: 0;
      color: #10487a;
      line-height: 1.5; }
      @media screen and (max-width: 768px) {
        .get-involved-text p {
          font-size: 1rem;
          margin-bottom: 15px; } }
  .get-involved-grid {
    margin-top: 45px;
    display: grid;
    grid-auto-columns: 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 1fr 1fr 1fr;
    grid-template-areas: "main main two three" "main main four five" "six seven eight nine";
    gap: 18px; }
    @media screen and (max-width: 768px) {
      .get-involved-grid {
        margin-top: 15px;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto repeat(4, 1fr);
        grid-template-areas: "main main" "two three" "four five" "six seven" "eight nine";
        gap: 15px; } }
    .get-involved-grid .grid {
      background-color: #10487a;
      border-radius: 20px;
      display: flex;
      flex-direction: column;
      overflow: hidden; }
      .get-involved-grid .grid:first-of-type {
        grid-area: main;
        min-height: 460px; }
        @media screen and (max-width: 768px) {
          .get-involved-grid .grid:first-of-type {
            min-height: 327px; } }
      .get-involved-grid .grid:nth-of-type(2) {
        grid-area: two; }
      .get-involved-grid .grid:nth-of-type(3) {
        grid-area: three; }
      .get-involved-grid .grid:nth-of-type(4) {
        grid-area: four; }
      .get-involved-grid .grid:nth-of-type(5) {
        grid-area: five; }
      .get-involved-grid .grid:nth-of-type(6) {
        grid-area: six; }
      .get-involved-grid .grid:nth-of-type(7) {
        grid-area: seven; }
      .get-involved-grid .grid:nth-of-type(8) {
        grid-area: eight; }
      .get-involved-grid .grid:nth-of-type(9) {
        grid-area: nine; }
      .get-involved-grid .grid-anchor {
        display: block;
        height: 100%;
        position: relative; }
      .get-involved-grid .grid-background {
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover; }
      .get-involved-grid .grid-content {
        display: flex;
        flex-direction: column;
        height: 100%;
        padding: 21px 25px 16px; }
        @media screen and (max-width: 1200px) {
          .get-involved-grid .grid-content {
            padding: 21px 15px 16px; } }
        @media screen and (max-width: 768px) {
          .get-involved-grid .grid-content {
            padding: 7px 15px 16px; } }
      .get-involved-grid .grid-title {
        font-size: 1.125rem;
        font-weight: 500;
        color: #fff;
        letter-spacing: -0.03em;
        margin-bottom: 10px;
        line-height: 1.3; }
        @media screen and (max-width: 1200px) {
          .get-involved-grid .grid-title {
            font-size: 1rem; } }
      .get-involved-grid .grid-par {
        margin: 0;
        font-size: 0.6875rem;
        color: #fff;
        line-height: 1.5; }
        @media screen and (max-width: 1200px) {
          .get-involved-grid .grid-par {
            font-size: 0.5rem; } }
      .get-involved-grid .grid-link {
        margin-top: auto;
        color: #fff;
        font-size: 0.8125rem; }
        @media screen and (max-width: 1200px) {
          .get-involved-grid .grid-link {
            font-weight: 500; } }
        .get-involved-grid .grid-link.cta {
          margin-top: 0; }
      .get-involved-grid .grid__main .grid-background {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
      .get-involved-grid .grid__main .grid-content {
        position: relative;
        width: 199px;
        padding: 0;
        margin: 45px 24px 0 auto; }
        @media screen and (max-width: 768px) {
          .get-involved-grid .grid__main .grid-content {
            margin: 27px 43px 0 auto; } }
      .get-involved-grid .grid__main .grid-title {
        color: #3B3535;
        font-size: 1.5rem; }
        @media screen and (max-width: 768px) {
          .get-involved-grid .grid__main .grid-title {
            font-weight: 400; } }
      .get-involved-grid .grid__main .grid-par {
        color: #3B3535;
        margin-bottom: 30px; }
        @media screen and (max-width: 768px) {
          .get-involved-grid .grid__main .grid-par {
            font-size: 0.6875rem;
            margin-bottom: 18px; } }
      .get-involved-grid .grid__main .grid-link {
        align-self: baseline; }
        .get-involved-grid .grid__main .grid-link.cta {
          padding: 10px 30px 7px;
          font-weight: 500;
          font-size: 0.875rem; }
          @media screen and (max-width: 768px) {
            .get-involved-grid .grid__main .grid-link.cta {
              font-weight: 600;
              padding: 4px 10px; } }
      .get-involved-grid .grid__social {
        padding-bottom: 23px; }
    .get-involved-grid .social-media {
      padding: 0 25px;
      display: flex;
      justify-content: space-between; }
      .get-involved-grid .social-media-item {
        margin: 0;
        background-color: #fff;
        box-shadow: none;
        height: 35px;
        width: 35px; }
        @media screen and (max-width: 1200px) {
          .get-involved-grid .social-media-item {
            width: 25px;
            height: 25px; } }
        .get-involved-grid .social-media-item span {
          display: none; }
        .get-involved-grid .social-media-item g,
        .get-involved-grid .social-media-item path {
          fill: #10487a; }

/** ==== PERSONAL DETAILS ===== **/
.page-profile {
  /** Profile General Item **/
  /** Profile Booked Event **/
  /** Profile Your Meetings **/
  /** Profile Personal Details **/
  /** Profile Memberships **/
  /** Profile Your Tickets **/
  /** Profile Company Information **/
  /** Profile Company Representatives **/
  /** Mobile Version **/ }
  .page-profile .main-with-sidebar {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 65.95745%;
    float: right; }
    .page-profile .main-with-sidebar:last-child {
      margin-right: 0; }
    @media screen and (max-width: 680px) {
      .page-profile .main-with-sidebar {
        float: none;
        width: 100%; } }
  .page-profile .user-edit-form-wrap {
    padding: 20px 0;
    float: left;
    display: block;
    margin-right: 3.22581%;
    width: 74.19355%;
    border-bottom: 1px solid #EAEAEA;
    overflow: hidden;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
    .page-profile .user-edit-form-wrap:last-child {
      margin-right: 0; }
    .page-profile .user-edit-form-wrap .user-edit-form-summary {
      overflow: hidden;
      padding: 0; }
    .page-profile .user-edit-form-wrap .name {
      float: left;
      font-size: 0.8125rem;
      color: #474545;
      font-weight: 500; }
    .page-profile .user-edit-form-wrap button {
      float: right;
      font-size: 0.75em; }
    .page-profile .user-edit-form-wrap:last-child {
      border-bottom: 0; }
    .page-profile .user-edit-form-wrap .profile-pages-personal-form {
      display: none;
      margin-top: 17px; }
    .page-profile .user-edit-form-wrap.open {
      padding: 20px 0; }
      .page-profile .user-edit-form-wrap.open .profile-pages-personal-form {
        display: block;
        margin-top: 17px; }
    .page-profile .user-edit-form-wrap label {
      font-size: 0.6875em;
      font-weight: 400; }
    .page-profile .user-edit-form-wrap label[for=change_password],
    .page-profile .user-edit-form-wrap label[for=change_password_] {
      position: absolute;
      right: 0;
      cursor: pointer;
      color: #f37324; }
      .page-profile .user-edit-form-wrap label[for=change_password] #change_password,
      .page-profile .user-edit-form-wrap label[for=change_password] #change_password_,
      .page-profile .user-edit-form-wrap label[for=change_password_] #change_password,
      .page-profile .user-edit-form-wrap label[for=change_password_] #change_password_ {
        display: none; }
    .page-profile .user-edit-form-wrap .password-wrap.hidden {
      display: none; }
    .page-profile .user-edit-form-wrap .form-item {
      position: relative;
      margin-top: 0; }
      .page-profile .user-edit-form-wrap .form-item.half {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 48.93617%; }
        .page-profile .user-edit-form-wrap .form-item.half:last-child {
          margin-right: 0; }
      .page-profile .user-edit-form-wrap .form-item.omega {
        margin-right: 0; }
      .page-profile .user-edit-form-wrap .form-item.clear {
        clear: both; }
    .page-profile .user-edit-form-wrap .user-picture-label {
      display: block;
      margin-bottom: 5px; }
    .page-profile .user-edit-form-wrap .user-picture {
      width: 83px;
      height: 83px;
      overflow: hidden;
      border-radius: 50%;
      margin-right: 20px;
      float: left;
      cursor: pointer; }
      .page-profile .user-edit-form-wrap .user-picture img {
        width: 100%;
        height: auto;
        display: block; }
    .page-profile .user-edit-form-wrap .supported-formats {
      color: #666262;
      font-size: 0.6875rem;
      margin-top: 5px; }
    .page-profile .user-edit-form-wrap input[name="picture"] {
      display: none; }
    .page-profile .user-edit-form-wrap input[type="file"] {
      font-size: 0.8125em; }
    .page-profile .user-edit-form-wrap .form-actions {
      clear: both;
      text-align: center;
      margin: 0 0 7px;
      padding-top: 22px; }
      .page-profile .user-edit-form-wrap .form-actions input {
        display: inline-block;
        margin: 0 15px; }
        .page-profile .user-edit-form-wrap .form-actions input[type="submit"] {
          background-color: #10487a;
          box-shadow: none; }
    .page-profile .user-edit-form-wrap .form-item-error input {
      border-color: #F2743A; }
    .page-profile .user-edit-form-wrap .error-message {
      font-size: 0.8125em;
      color: #F2743A;
      line-height: 1.2;
      margin-top: 4px; }
    .page-profile .user-edit-form-wrap .picture-placeholder {
      height: 78px;
      width: 78px;
      background: #FBF9F8;
      border: 1px solid #EAEAEA;
      border-radius: 3px;
      text-align: center;
      cursor: pointer;
      float: left;
      margin-right: 20px; }
      .page-profile .user-edit-form-wrap .picture-placeholder span {
        font-size: 1.75em;
        color: #C9C9C9;
        display: inline-block;
        height: 25px;
        width: 25px;
        text-align: center;
        border: 1px solid #C9C9C9;
        line-height: 1;
        border-radius: 50%;
        margin-top: 25px;
        padding-top: 3px; }
    @media screen and (max-width: 768px) {
      .page-profile .user-edit-form-wrap {
        width: 100%;
        margin-right: 0; } }
    @media screen and (max-width: 680px) {
      .page-profile .user-edit-form-wrap {
        padding: 14px 0; }
        .page-profile .user-edit-form-wrap.open {
          padding: 30px 0; }
        .page-profile .user-edit-form-wrap .form-item {
          width: 100%; }
          .page-profile .user-edit-form-wrap .form-item.half {
            width: 100%; } }
  .page-profile .profile,
  .page-profile .profile-landing {
    padding: 0; }
  .page-profile .field-name-field-title .field-label,
  .page-profile .field-name-field-external-link .field-label,
  .page-profile .field-name-field-video .field-label,
  .page-profile .field-type-soundcloud .field-label,
  .page-profile .field-name-field-is-archived .field-label {
    display: none; }
  .page-profile .field-name-field-title {
    margin-top: 20px; }
  .page-profile .field-name-field-title .field-item {
    font-weight: 600; }
  .page-profile .field-name-field-is-archived .field-items {
    display: none; }
  .page-profile .field-name-field-resource-date {
    margin-bottom: 100px;
    margin-top: -10px; }
    .page-profile .field-name-field-resource-date .field-label {
      display: none; }
  .page-profile .profile-landing-coming-up .profile-item {
    padding: 0; }
    .page-profile .profile-landing-coming-up .profile-item h3 {
      padding-bottom: 5px;
      margin-bottom: 10px; }
  .page-profile .profile section {
    margin-bottom: 100px; }
  .page-profile .profile p,
  .page-profile .profile .text {
    font-size: 0.8125em;
    color: #666262; }
  .page-profile .profile .icon-title {
    font-size: 1.5rem;
    font-weight: 400;
    text-transform: capitalize;
    line-height: 1.25;
    letter-spacing: -0.7px;
    margin-bottom: 30px;
    overflow: hidden;
    display: flex;
    align-items: center; }
    .page-profile .profile .icon-title a {
      font-size: 1rem;
      display: block;
      font-weight: 400;
      line-height: 1;
      letter-spacing: 0.005em;
      position: relative;
      text-transform: lowercase;
      margin-left: auto;
      background-color: #10487a;
      border-radius: 50px;
      color: #fff;
      padding: 11px 23px 11px 15px;
      border: 1px solid #10487a;
      transition-property: color, background-color;
      transition-duration: 0.3s;
      transition-timing-function: ease-in-out; }
      .page-profile .profile .icon-title a::after {
        top: -2px;
        right: 0;
        position: relative;
        content: '';
        width: 8px;
        height: 8px;
        rotate: 45deg;
        box-shadow: 1.5px -1.5px 0 0 #fff;
        display: inline-block; }
      .page-profile .profile .icon-title a:hover {
        text-decoration: none;
        background-color: #fff;
        color: #10487a; }
        .page-profile .profile .icon-title a:hover::after {
          box-shadow: 1px -1px 0 0 #10487a; }
      .page-profile .profile .icon-title a::after {
        margin-left: 6px;
        transition: box-shadow 0.3s ease-in-out; }
    .page-profile .profile .icon-title .icon {
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background: #3B3535;
      display: inline-block;
      vertical-align: middle;
      margin-right: 15px;
      background-position: center center;
      background-repeat: no-repeat;
      background-size: 50%; }
      .page-profile .profile .icon-title .icon.icon-upcoming {
        background-image: url(../../images/build/icon-upcoming-event-dark.png); }
      .page-profile .profile .icon-title .icon.icon-calendar {
        background-image: url(../../images/build/icon-calendar-dark.png); }
      .page-profile .profile .icon-title .icon.icon-publication {
        background-image: url(../../images/build/icon-publication-dark.png); }
      .page-profile .profile .icon-title .icon.icon-note {
        background-image: url(../../images/build/icon-note-dark.png); }
      .page-profile .profile .icon-title .icon.icon-featured {
        background-image: url(../../images/build/icon-featured.png);
        background-size: 47%; }
  @media screen and (max-width: 768px) {
    .page-profile .profile .icon-title {
      font-size: 1.25rem;
      margin-bottom: 20px; } }
  .page-profile .profile-booked-event a {
    margin-top: 15px; }
  @media screen and (min-width: 681px) {
    .page-profile .booked-event h3 {
      margin-right: 100px; } }
  .page-profile .profile-item {
    border: 0;
    position: relative;
    margin-bottom: 30px;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear;
    padding-left: 0; }
    .page-profile .profile-item .secondary-call-action, .page-profile .profile-item .company-header .form-submit, .company-header .page-profile .profile-item .form-submit, .page-profile .profile-item .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .page-profile .profile-item .form-submit,
    .page-profile .profile-item .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .page-profile .profile-item .form-submit {
      position: relative; }
    .page-profile .profile-item.complete .secondary-call-action, .page-profile .profile-item.complete .company-header .form-submit, .company-header .page-profile .profile-item.complete .form-submit, .page-profile .profile-item.complete .view-commerce-cart-form #edit-coupon-code .form-submit, .view-commerce-cart-form #edit-coupon-code .page-profile .profile-item.complete .form-submit,
    .page-profile .profile-item.complete .view-commerce-cart-form #edit-coupon-code--2 .form-submit, .view-commerce-cart-form #edit-coupon-code--2 .page-profile .profile-item.complete .form-submit {
      top: 11px; }
    .page-profile .profile-item .item-wrapper {
      padding: 5px 0;
      -webkit-transition: all 333ms linear;
      -moz-transition: all 333ms linear;
      transition: all 333ms linear; }
    .page-profile .profile-item .text {
      clear: both; }
    .page-profile .profile-item .booked-event-actions {
      position: absolute;
      top: 0;
      right: 15px; }
      .page-profile .profile-item .booked-event-actions li {
        float: left;
        margin-left: 10px; }
        .page-profile .profile-item .booked-event-actions li:first-of-type {
          margin-left: 0; }
      .page-profile .profile-item .booked-event-actions a {
        color: #FC682D;
        font-size: 0.75rem;
        text-transform: lowercase;
        font-weight: 400;
        line-height: 1.25;
        transition: all 333ms linear; }
    .page-profile .profile-item .profile-item-title {
      position: relative;
      font-size: 0.9375em;
      color: #3B3535;
      font-weight: 500;
      line-height: 1.73;
      letter-spacing: -0.44px;
      border: 0;
      margin-bottom: 2px;
      float: left;
      max-width: calc(100% - 188px); }
    .page-profile .profile-item .profile-item-meta {
      clear: both;
      font-size: 0.6875em;
      text-transform: uppercase;
      font-weight: normal;
      color: #666262;
      margin: 5px 0 6px; }
    .page-profile .profile-item .profile-item-summary {
      font-size: 0.8125em;
      font-weight: normal;
      line-height: 1.61;
      margin-bottom: 10px;
      color: #666262;
      word-break: break-word; }
    .page-profile .profile-item .file &gt; a,
    .page-profile .profile-item .ticket-call-action {
      margin-top: 15px;
      display: inline-flex; }
    .page-profile .profile-item .ticket-call-action {
      margin-left: 15px; }
    .page-profile .profile-item .booked-event-close {
      display: none; }
    .page-profile .profile-item.open {
      border: 1px solid #EAEAEA;
      position: relative; }
      .page-profile .profile-item.open h3:after {
        content: none; }
      .page-profile .profile-item.open .item-wrapper {
        padding: 16px 19px 16px 29px;
        background: #F2743A; }
      .page-profile .profile-item.open .booked-event-close {
        position: absolute;
        top: 5px;
        right: 10px;
        display: block;
        color: #FFF;
        font-size: 2.375em;
        line-height: 1; }
      .page-profile .profile-item.open .profile-item-title,
      .page-profile .profile-item.open .profile-item-meta,
      .page-profile .profile-item.open .profile-item-summary {
        color: #FFF; }
      .page-profile .profile-item.open .profile-item-summary {
        margin-bottom: 0; }
      .page-profile .profile-item.open:before,
      .page-profile .profile-item.open .booked-event-actions,
      .page-profile .profile-item.open .ticket-call-action {
        display: none; }
    .page-profile .profile-item .form-wrap {
      padding: 24px 20px 20px 17px;
      border: 1px solid #F1F1F2;
      border-top: 0;
      background: #FFF;
      overflow: hidden; }
      .page-profile .profile-item .form-wrap h3 {
        font-size: 0.6875em;
        text-transform: uppercase;
        font-weight: normal;
        letter-spacing: 0.25em;
        border: 0;
        margin-bottom: 0;
        padding-left: 5px; }
      .page-profile .profile-item .form-wrap h4 {
        font-size: 0.8125em;
        font-weight: 500;
        overflow: hidden;
        margin-bottom: 0; }
        .page-profile .profile-item .form-wrap h4 button {
          float: right;
          font-size: 0.75rem;
          font-weight: 400; }
      .page-profile .profile-item .form-wrap .guest {
        border-bottom: 1px solid #EAEAEA;
        padding: 20px 0 20px 10px;
        overflow: hidden; }
        .page-profile .profile-item .form-wrap .guest:last-child {
          border-bottom: 0; }
      .page-profile .profile-item .form-wrap .fields-wrap {
        display: none;
        margin-top: 12px;
        max-width: 500px; }
      .page-profile .profile-item .form-wrap .input-wrap {
        margin-bottom: 10px; }
        .page-profile .profile-item .form-wrap .input-wrap.half {
          float: left;
          display: block;
          margin-right: 2.12766%;
          width: 48.93617%; }
          .page-profile .profile-item .form-wrap .input-wrap.half:last-child {
            margin-right: 0; }
        .page-profile .profile-item .form-wrap .input-wrap.omega {
          margin-right: 0; }
      .page-profile .profile-item .form-wrap label {
        font-size: 0.6875em;
        color: #666262;
        font-weight: 400;
        text-indent: 10px; }
      .page-profile .profile-item .form-wrap .additional-info {
        margin-top: 28px; }
        .page-profile .profile-item .form-wrap .additional-info h3 {
          font-size: 0.6875rem;
          line-height: 2.8;
          margin-bottom: 15px; }
        .page-profile .profile-item .form-wrap .additional-info textarea {
          max-width: 500px;
          height: 135px;
          background: rgba(234, 233, 236, 0.26);
          border: 1px solid #EAE9EC;
          border-radius: 3px;
          font-size: 0.875rem;
          color: #545151; }
      .page-profile .profile-item .form-wrap .message {
        font-size: 0.875rem;
        color: #F2743A;
        border: 1px solid #F2743A;
        padding: 5px;
        margin: 15px 0;
        font-weight: 600; }
      .page-profile .profile-item .form-wrap .form-actions {
        margin: 0;
        text-align: center; }
        .page-profile .profile-item .form-wrap .form-actions input[type="reset"] {
          margin-left: 22px; }
  .page-profile button.booked-event-add-details {
    color: #FC682D;
    font-size: 0.75em;
    text-transform: lowercase;
    font-weight: 400;
    line-height: 1.25;
    padding: 0;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
  @media screen and (max-width: 680px) {
    .page-profile .profile-meeting {
      padding: 25px 0 45px; } }
  .page-profile .profile-pages-personal-details {
    position: relative; }
    .page-profile .profile-pages-personal-details::after {
      clear: both;
      content: "";
      display: table; }
    .page-profile .profile-pages-personal-details h3 {
      text-transform: uppercase;
      font-size: 0.6875em;
      font-weight: 300;
      border-bottom: 1px solid #999;
      letter-spacing: 0.25em;
      padding-bottom: 3px;
      margin-bottom: 0; }
    @media screen and (max-width: 680px) {
      .page-profile .profile-pages-personal-details {
        padding: 25px 0 45px; }
        .page-profile .profile-pages-personal-details h3 {
          font-size: 0.625rem;
          padding-bottom: 0; } }
  .page-profile .profile-memberships .membership {
    margin-bottom: 80px; }
  .page-profile .profile-memberships section {
    margin-bottom: 50px; }
  .page-profile .profile-memberships h3,
  .page-profile .profile-memberships h4 {
    margin-bottom: 10px;
    font-weight: 600;
    font-size: 1.125rem;
    line-height: 1.28;
    letter-spacing: -0.53px;
    color: #3B3535; }
  .page-profile .profile-memberships .membership-meta {
    font-size: 0.6875rem;
    text-transform: uppercase;
    font-weight: normal;
    margin-bottom: 10px;
    color: #666262; }
  .page-profile .profile-memberships .text {
    font-size: 0.875rem;
    font-weight: 500;
    line-height: 1.42;
    color: #545151;
    margin-bottom: 17px; }
  .page-profile .profile-memberships .file-downloads {
    padding: 0;
    list-style-type: none; }
    .page-profile .profile-memberships .file-downloads li {
      display: inline-block;
      text-align: center;
      margin-right: 15px; }
    .page-profile .profile-memberships .file-downloads .file-info {
      margin-top: -3px;
      font-size: 0.6875em;
      text-transform: uppercase;
      color: #666262; }
  @media screen and (max-width: 680px) {
    .page-profile .profile-memberships {
      padding: 25px 0 45px;
      position: relative; }
      .page-profile .profile-memberships h2 {
        font-size: 1.25rem;
        margin-bottom: 25px; }
      .page-profile .profile-memberships section {
        margin-bottom: 45px; } }
  .page-profile .profile-your-tickets section {
    margin-bottom: 100px; }
  .page-profile .profile-your-tickets .ticket-allowance-summary::after {
    clear: both;
    content: "";
    display: table; }
  .page-profile .profile-your-tickets .ticket-allowance-summary h2 {
    font-size: 1.0625rem;
    font-weight: 600;
    border-bottom: 1px solid #999;
    color: #545151;
    padding-bottom: 3px;
    letter-spacing: -0.4px;
    margin-bottom: 8px; }
  .page-profile .profile-your-tickets .ticket-allowance-summary p {
    font-size: 0.875rem;
    color: #999;
    line-height: 1.57;
    margin-bottom: 43px; }
  .page-profile .profile-your-tickets .ticket-allowance-summary-item {
    border-bottom: 1px solid #EAE9EC;
    font-size: 0.8125em;
    padding: 10px 0; }
    .page-profile .profile-your-tickets .ticket-allowance-summary-item::after {
      clear: both;
      content: "";
      display: table; }
    .page-profile .profile-your-tickets .ticket-allowance-summary-item .event-type {
      float: left;
      font-weight: 500; }
    .page-profile .profile-your-tickets .ticket-allowance-summary-item .benefit {
      float: right;
      font-size: 0.875em; }
    .page-profile .profile-your-tickets .ticket-allowance-summary-item:last-child {
      border-bottom: 0; }
  @media screen and (max-width: 680px) {
    .page-profile .profile-your-tickets {
      padding: 25px 0 45px; }
      .page-profile .profile-your-tickets section {
        margin-bottom: 50px; }
      .page-profile .profile-your-tickets h2 {
        margin-bottom: 25px; }
      .page-profile .profile-your-tickets .profile-item {
        display: block; }
      .page-profile .profile-your-tickets .ticket-allowance-summary {
        padding: 20px; } }
    @media screen and (max-width: 680px) and (max-width: 680px) {
      .page-profile .profile-your-tickets .ticket-allowance-summary {
        padding: 20px 0; } }
  @media screen and (max-width: 680px) {
        .page-profile .profile-your-tickets .ticket-allowance-summary h2 {
          font-size: 0.9375rem; }
        .page-profile .profile-your-tickets .ticket-allowance-summary p {
          font-size: 0.8125rem;
          margin-bottom: 20px; } }
  .page-profile .profile-company-information::after {
    clear: both;
    content: "";
    display: table; }
  .page-profile .profile-company-information .profile-pages-company-form {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 74.46809%; }
    .page-profile .profile-company-information .profile-pages-company-form:last-child {
      margin-right: 0; }
  .page-profile .profile-company-information input:not([type="submit"]) {
    background: #FBF9F8; }
  .page-profile .profile-company-information label {
    padding-left: 15px; }
    @media screen and (max-width: 680px) {
      .page-profile .profile-company-information label {
        padding-left: 0; } }
  .page-profile .profile-company-information label,
  .page-profile .profile-company-information p {
    font-size: 0.6875rem;
    font-weight: 400;
    color: #666262; }
  .page-profile .profile-company-information .form-item {
    margin: 0 0 15px; }
    .page-profile .profile-company-information .form-item:first-of-type, .page-profile .profile-company-information .form-item:nth-of-type(2) {
      display: inline-block;
      width: calc((100% / 2) - 14px); }
    .page-profile .profile-company-information .form-item:first-of-type {
      margin-right: 23px; }
  .page-profile .profile-company-information .select2-container {
    display: block;
    font-size: 0.875rem;
    width: 100% !important;
    outline: none;
    margin-bottom: 5px;
    -webkit-transition: all 333ms linear;
    -moz-transition: all 333ms linear;
    transition: all 333ms linear; }
    .page-profile .profile-company-information .select2-container .select2-selection--multiple {
      border: 1px solid #EAE9EC !important;
      padding: 5px 15px 0;
      border-radius: 3px;
      background: #FBF9F8; }
    .page-profile .profile-company-information .select2-container .select2-selection__rendered {
      padding: 0; }
      .page-profile .profile-company-information .select2-container .select2-selection__rendered li {
        margin: 3px 5px;
        background: #FFF;
        border-radius: 40px;
        border: 0;
        font-size: 0.6875rem;
        text-transform: uppercase;
        color: #474545;
        letter-spacing: 2px;
        padding: 7px 10px 5px 13px; }
        .page-profile .profile-company-information .select2-container .select2-selection__rendered li .select2-selection__choice__remove {
          float: right;
          font-size: 13px;
          font-weight: normal;
          margin: 0 0 0 3px;
          line-height: 1.5; }
      .page-profile .profile-company-information .select2-container .select2-selection__rendered .select2-search--inline {
        display: none; }
    .page-profile .profile-company-information .select2-container.select2-container--focus .select2-selection--multiple {
      background: #FBF9F8; }
  .page-profile .profile-company-information #field_summary {
    padding: 20px;
    height: 150px;
    background: #FBF9F8 !important; }
  .page-profile .profile-company-information #body {
    padding: 20px;
    height: 380px;
    background: #FBF9F8 !important; }
  .page-profile .profile-company-information .form-actions {
    text-align: center; }
    .page-profile .profile-company-information .form-actions input {
      margin: 0 10px; }
  @media screen and (max-width: 1200px) {
    .page-profile .profile-company-information .profile-pages-company-form {
      width: 100%;
      margin-right: 0; } }
  @media screen and (max-width: 680px) {
    .page-profile .profile-company-information {
      padding: 25px 0 35px; }
      .page-profile .profile-company-information .form-item:first-of-type, .page-profile .profile-company-information .form-item:nth-of-type(2) {
        width: 100%; }
      .page-profile .profile-company-information .form-item:first-of-type {
        margin-right: 0; }
      .page-profile .profile-company-information .select2-container {
        left: 0 !important; } }
  .page-profile .profile-company-representatives {
    position: relative; }
    .page-profile .profile-company-representatives p {
      clear: both;
      color: #666262;
      font-size: 0.6875rem;
      margin-bottom: 5px; }
    .page-profile .profile-company-representatives .company-representative {
      overflow: hidden;
      border-bottom: 1px solid #EAEAEA;
      padding: 23px 0 30px; }
      .page-profile .profile-company-representatives .company-representative:last-child {
        border-bottom: 0; }
      .page-profile .profile-company-representatives .company-representative .picture {
        display: inline-block;
        vertical-align: middle;
        width: 115px;
        margin-right: 30px; }
        .page-profile .profile-company-representatives .company-representative .picture img {
          width: 100%;
          height: auto;
          overflow: hidden;
          border-radius: 50%; }
      .page-profile .profile-company-representatives .company-representative .text {
        overflow: hidden;
        display: inline-block;
        vertical-align: middle;
        width: calc(100% - 150px); }
      .page-profile .profile-company-representatives .company-representative h3 {
        font-size: 1.0625rem;
        margin-bottom: 5px;
        font-weight: 600;
        color: #545151; }
      .page-profile .profile-company-representatives .company-representative .job-title {
        font-size: 0.875rem;
        color: #666262;
        margin-bottom: 13px; }
      .page-profile .profile-company-representatives .company-representative ul {
        list-style-type: none;
        margin: 0;
        padding: 0;
        font-size: 0.75rem; }
      .page-profile .profile-company-representatives .company-representative li {
        margin-bottom: 6px;
        color: #666262; }
    @media screen and (max-width: 680px) {
      .page-profile .profile-company-representatives {
        padding: 25px 0 45px; }
        .page-profile .profile-company-representatives h2 {
          margin-bottom: 15px; }
        .page-profile .profile-company-representatives .company-representative {
          padding: 15px 0; }
          .page-profile .profile-company-representatives .company-representative .picture {
            vertical-align: top;
            width: 84px;
            margin-right: 15px; }
          .page-profile .profile-company-representatives .company-representative .text {
            vertical-align: top;
            width: calc(100% - 105px); }
          .page-profile .profile-company-representatives .company-representative h3 {
            font-size: 0.9375rem; }
          .page-profile .profile-company-representatives .company-representative .job-title {
            font-size: 0.75rem;
            margin-bottom: 5px; }
          .page-profile .profile-company-representatives .company-representative li {
            margin-bottom: 0; } }
  .page-profile .main-wrapper.no-membership .sidebar-menu.sidebar .menu #public-profile,
  .page-profile .main-wrapper.reps-count-0 .sidebar-menu.sidebar .menu #public-profile {
    display: none; }
  .page-profile .profile-page-mobile-current-section {
    display: none; }
  @media screen and (max-width: 680px) {
    .page-profile .sidebar-menu {
      display: inline-block;
      margin-right: 0;
      padding: 13px 21px 11px;
      background: rgba(251, 249, 248, 0.96);
      z-index: 2; }
      .page-profile .sidebar-menu .profile-page-mobile-current-section {
        position: relative;
        display: inline-block;
        font-size: 0.75rem;
        color: #474545;
        font-weight: 600; }
        .page-profile .sidebar-menu .profile-page-mobile-current-section:after {
          content: '';
          height: 2px;
          width: 14px;
          position: absolute;
          bottom: -11px;
          left: 0;
          background: #FC682D; }
      .page-profile .sidebar-menu .btn-more {
        display: block; }
      .page-profile .sidebar-menu ul.menu {
        display: none;
        padding: 15px 0 5px; }
        .page-profile .sidebar-menu ul.menu li {
          width: 100%;
          max-width: inherit; }
      .page-profile .sidebar-menu li .menu {
        display: block;
        padding: 0;
        border: 0;
        margin-bottom: 10px; }
        .page-profile .sidebar-menu li .menu li {
          margin: 0;
          padding: 8px 0;
          font-size: 0.8125rem; }
          .page-profile .sidebar-menu li .menu li a {
            -webkit-transition: all 111ms linear;
            -moz-transition: all 111ms linear;
            transition: all 111ms linear; }
          .page-profile .sidebar-menu li .menu li.active-trail {
            border: 0; }
          .page-profile .sidebar-menu li .menu li:hover a {
            font-weight: 600; }
    .page-profile .main-with-sidebar {
      padding: 0; } }
  @media screen and (max-width: 680px) and (max-width: 768px) {
    .page-profile .main-with-sidebar {
      padding: 20px; } }
  @media screen and (max-width: 680px) {
    .page-profile .profile {
      margin: 0; }
      .page-profile .profile section {
        margin-bottom: 0;
        border-bottom: 1px solid #EAEAEA;
        padding: 12px 26px 10px 21px; } }
    @media screen and (max-width: 680px) and (max-width: 680px) {
      .page-profile .profile section {
        padding: 12px 0 10px; } }
  @media screen and (max-width: 680px) {
        .page-profile .profile section.toggled {
          padding: 15px 26px 25px 21px; } }
      @media screen and (max-width: 680px) and (max-width: 680px) {
        .page-profile .profile section.toggled {
          padding: 15px 0 25px; } }
  @media screen and (max-width: 680px) {
          .page-profile .profile section.toggled .icon-title {
            background: url("../../images/build/profile-arrow_close.svg") no-repeat right center;
            background-size: 10px auto;
            margin-bottom: 15px; }
          .page-profile .profile section.toggled .profile-item,
          .page-profile .profile section.toggled p {
            display: block; }
      .page-profile .profile .icon-title {
        cursor: pointer;
        font-size: 0.9375rem;
        font-weight: 600;
        line-height: 1.67;
        letter-spacing: -0.44px;
        margin-bottom: 0;
        background: url("../../images/build/profile-arrow_open.svg") no-repeat right center;
        background-size: 10px auto; }
        .page-profile .profile .icon-title .icon,
        .page-profile .profile .icon-title a {
          display: none; }
      .page-profile .profile h3 {
        font-size: 1rem;
        margin-bottom: 8px; }
      .page-profile .profile .text {
        font-size: 0.75rem; }
      .page-profile .profile p {
        display: none; }
    .page-profile .profile-item {
      display: none;
      padding: 0; }
      .page-profile .profile-item .profile-item-title {
        font-size: 0.875rem;
        margin-bottom: 3px;
        line-height: 1.35; }
      .page-profile .profile-item .item-wrapper {
        padding: 0 19px 0 16px; }
      .page-profile .profile-item .profile-item-meta {
        font-size: 0.6875rem;
        line-height: 1.45;
        margin: 0 0 7px; }
      .page-profile .profile-item .profile-item-summary {
        color: #999;
        font-size: 0.6875rem;
        margin-bottom: 0; }
      .page-profile .profile-item .booked-event-actions {
        width: 100%;
        margin: 10px 0;
        position: relative;
        top: inherit;
        right: inherit;
        bottom: inherit;
        left: inherit; }
        .page-profile .profile-item .booked-event-actions::after {
          clear: both;
          content: "";
          display: table; }
      .page-profile .profile-item .ticket-call-action {
        margin-top: 0; }
      .page-profile .profile-item.open {
        padding: 0; }
        .page-profile .profile-item.open .item-wrapper {
          padding: 12px 13px 14.5px 16px; }
        .page-profile .profile-item.open .profile-item-title {
          margin-bottom: 3px; }
          .page-profile .profile-item.open .profile-item-title:after {
            content: none; }
        .page-profile .profile-item.open .profile-item-meta {
          margin-bottom: 0; }
        .page-profile .profile-item.open .profile-item-summary {
          display: none; }
        .page-profile .profile-item.open .booked-event-close {
          top: 25px;
          font-size: 1.0625rem;
          font-weight: 500; }
        .page-profile .profile-item.open:before {
          display: none; }
      .page-profile .profile-item .form-wrap {
        background: #FFF;
        padding: 14px 14px 20px; }
        .page-profile .profile-item .form-wrap h3 {
          font-size: 0.625rem; }
        .page-profile .profile-item .form-wrap h4 {
          font-size: 0.8125rem; }
        .page-profile .profile-item .form-wrap .guest {
          padding: 20px 0; }
        .page-profile .profile-item .form-wrap .fields-wrap {
          margin-top: 8px;
          max-width: 100%; }
        .page-profile .profile-item .form-wrap .input-wrap {
          width: 100%;
          margin-bottom: 15px; }
          .page-profile .profile-item .form-wrap .input-wrap.half {
            width: 100%; }
          .page-profile .profile-item .form-wrap .input-wrap:last-of-type {
            margin-bottom: 0; }
        .page-profile .profile-item .form-wrap .additional-info {
          margin-top: 8px; }
          .page-profile .profile-item .form-wrap .additional-info h3 {
            font-size: 0.625rem;
            line-height: 1.4;
            margin-bottom: 13px; }
          .page-profile .profile-item .form-wrap .additional-info textarea {
            margin-top: 4px;
            max-width: 100%;
            font-size: 0.8125rem; }
        .page-profile .profile-item .form-wrap .form-actions input[type="reset"] {
          margin-left: 15px; } }

.profile-column-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 34px; }
  .profile-column-header .profile-column-heading {
    margin-bottom: 0; }

h2.profile-column-heading {
  font-size: 1.5rem;
  font-weight: 400;
  margin-bottom: 0;
  letter-spacing: -0.03em;
  line-height: 1.25;
  margin-bottom: 34px; }

/** Profile Your Publications **/
@media screen and (max-width: 680px) {
  .profile-your-publications .profile-item {
    display: block; } }

@media screen and (max-width: 680px) {
  .profile-your-publications .profile-item .item-wrapper {
    padding: 0; } }

.profile-your-publications-cta {
  font-size: 1rem;
  color: #fff;
  padding: 8px 22px 7px 16px;
  display: none; }
  .profile-your-publications-cta::after {
    top: -2px;
    right: 0;
    position: relative;
    content: '';
    width: 8px;
    height: 8px;
    rotate: 45deg;
    box-shadow: 1.5px -1.5px 0 0 #fff;
    display: inline-block; }
  .profile-your-publications-cta::after {
    margin-left: 10px; }
  .page-profile-your-publications .profile-your-publications-cta {
    display: inline-block; }
    @media screen and (max-width: 680px) {
      .page-profile-your-publications .profile-your-publications-cta {
        display: none; } }

.profile-booked-events-cta {
  font-size: 1rem;
  color: #fff;
  padding: 8px 22px 7px 16px; }
  .profile-booked-events-cta::after {
    top: -2px;
    right: 0;
    position: relative;
    content: '';
    width: 8px;
    height: 8px;
    rotate: 45deg;
    box-shadow: 1.5px -1.5px 0 0 #fff;
    display: inline-block; }
  @media screen and (max-width: 680px) {
    .profile-booked-events-cta {
      display: none; } }
  .profile-booked-events-cta::after {
    margin-left: 10px; }

.section-network-message {
  background: #FAF9FA;
  padding: 30px 60px;
  border-left: 3px solid #F2743A; }
  @media screen and (max-width: 768px) {
    .section-network-message {
      display: none; } }
  .section-network-message h2 {
    color: #F2743A;
    text-transform: uppercase;
    font-size: 1.0625rem;
    font-weight: 500;
    letter-spacing: 0.01em; }
  .section-network-message .text p {
    font-size: 0.875rem;
    color: #3B3535; }
  .section-network-message p:last-child {
    margin-bottom: 0; }
  .section-network-message a {
    color: #F2743A; }

div.addeventatc {
  border: 0;
  background: none;
  font-family: "Poppins", sans-serif;
  color: #FC682D !important;
  font-size: 0.75em;
  text-transform: lowercase;
  font-weight: 400;
  line-height: 1.25;
  padding: 0;
  -webkit-transition: all 111ms linear;
  -moz-transition: all 111ms linear;
  transition: all 111ms linear; }
  div.addeventatc:hover {
    font-size: 0.75em;
    outline: none;
    border: 0; }
  div.addeventatc .addeventatc_icon {
    display: none; }
  div.addeventatc:active {
    top: 0; }
  div.addeventatc:focus {
    border: 0; }
  div.addeventatc .addeventatc_dropdown {
    top: 23px !important; }
  div.addeventatc .copyx {
    display: none !important; }

/** Profile Tickets History **/
.profile-tickets-history {
  display: none; }
  .profile-tickets-history h2 {
    margin-bottom: 24px; }
  .profile-tickets-history .view-filters {
    margin: 0 0 36px;
    width: 285px;
    float: right;
    position: relative; }
  .profile-tickets-history .views-exposed-widgets {
    margin: 0; }
    .profile-tickets-history .views-exposed-widgets label {
      display: none; }
  .profile-tickets-history .views-widget-filter-title_field_value {
    padding: 0;
    width: 100%;
    background: rgba(234, 233, 236, 0.26); }
    .profile-tickets-history .views-widget-filter-title_field_value input[type="text"] {
      border: 0;
      background: transparent;
      padding-left: 35px; }
  .profile-tickets-history .views-submit-button {
    height: 100%;
    width: 11px;
    padding: 0;
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 13px; }
    .profile-tickets-history .views-submit-button input[type="submit"] {
      margin: auto 0;
      border: 0;
      padding: 0;
      font-size: 0;
      height: 11px;
      width: 11px;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      background: url("../../images/build/search.svg") no-repeat center;
      background-size: 100% auto;
      border-radius: inherit; }
  .profile-tickets-history table {
    width: 100%; }
    .profile-tickets-history table th {
      font-size: 0.6875rem;
      text-transform: uppercase;
      letter-spacing: 2.8px;
      color: #474545;
      text-align: center;
      padding: 0 0 10px;
      border-bottom: 1px solid #999; }
      .profile-tickets-history table th:first-of-type {
        text-align: left; }
    .profile-tickets-history table td {
      text-align: center;
      border-bottom: 1px solid #EAEAEA; }
      .profile-tickets-history table td:first-of-type {
        font-size: 0.8125rem;
        font-weight: 500;
        padding: 10px 0 5px;
        text-align: left; }
      .profile-tickets-history table td:nth-child(2) {
        font-size: 0.6875rem;
        color: #666262; }
      .profile-tickets-history table td:last-of-type a {
        font-size: 0.75rem; }

.email-exists-message {
  padding: 40px !important; }
  .email-exists-message button {
    margin-right: 10px; }

.page-profile-meeting-notes .select2-container .select2-dropdown.select2-dropdown--above {
  margin-top: 0; }

@media screen and (max-width: 680px) {
  .page-profile-meeting-notes {
    /* Then style the iframe to fit in the container div with full height and width */ }
    .page-profile-meeting-notes .main-with-sidebar {
      padding: 0; }
      .page-profile-meeting-notes .main-with-sidebar &gt; .profile-meeting {
        display: flex;
        flex-direction: column;
        padding-top: 0; }
        .page-profile-meeting-notes .main-with-sidebar &gt; .profile-meeting .profile-column-heading-wrapper {
          order: 2;
          padding: 20px; }
        .page-profile-meeting-notes .main-with-sidebar &gt; .profile-meeting .meeting-note-network-filter-form {
          order: 1;
          padding: 24px 20px;
          background-color: #dce4ec; }
        .page-profile-meeting-notes .main-with-sidebar &gt; .profile-meeting .meeting-note-wrapper {
          order: 3;
          padding: 20px; }
      .page-profile-meeting-notes .main-with-sidebar h2.profile-column-heading {
        margin-bottom: 0; }
    .page-profile-meeting-notes .select2-container .select2-dropdown:not(.select2-dropdown--above)::before {
      left: calc(75% - 50px); }
    .page-profile-meeting-notes .field-type-youtube .field-items &gt; div {
      position: relative;
      overflow: hidden;
      width: 100%;
      padding-top: 56.25%;
      /* 16:9 Aspect Ratio (divide 9 by 16 = 0.5625) */ }
    .page-profile-meeting-notes .youtube-field-player {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      width: 100%;
      height: 100%; } }

.page-profile-meeting-notes .select2-dropdown {
  min-width: 320px; }

.page-profile-meeting-notes .select2-container--default .select2-selection--single {
  border: none; }

@media screen and (max-width: 680px) {
  .page-profile-meeting-notes .meeting-note.profile-item {
    display: block; } }

.page-profile-meeting-notes .meeting-note-network-filter-form &gt; div {
  display: flex;
  border: 1px solid #EAEAEA;
  justify-content: space-between;
  width: 230px;
  margin-bottom: 56px; }
  @media screen and (max-width: 680px) {
    .page-profile-meeting-notes .meeting-note-network-filter-form &gt; div {
      margin-bottom: 0;
      background-color: #EAEAEA;
      width: 100%;
      align-items: center; } }

.page-profile-meeting-notes .meeting-note-filter-fieldwrapper {
  width: calc(100% - 60px);
  border-right: 1px solid #EAEAEA;
  padding: 0 28px;
  display: flex;
  flex-direction: column; }
  .page-profile-meeting-notes .meeting-note-filter-fieldwrapper label {
    order: 1; }
  .page-profile-meeting-notes .meeting-note-filter-fieldwrapper span {
    order: 2; }
  .page-profile-meeting-notes .meeting-note-filter-fieldwrapper select {
    order: 3; }
  @media screen and (max-width: 680px) {
    .page-profile-meeting-notes .meeting-note-filter-fieldwrapper {
      flex-direction: row;
      justify-content: space-between;
      align-items: center; }
      .page-profile-meeting-notes .meeting-note-filter-fieldwrapper .select2-container--default .select2-selection--single {
        background-color: transparent; } }
  .page-profile-meeting-notes .meeting-note-filter-fieldwrapper #select2-meeting_notes_filter_network-container {
    padding-left: 0; }
    @media screen and (max-width: 680px) {
      .page-profile-meeting-notes .meeting-note-filter-fieldwrapper #select2-meeting_notes_filter_network-container {
        font-size: 13px; } }
  .page-profile-meeting-notes .meeting-note-filter-fieldwrapper label {
    color: #474545;
    font-size: 10px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 1.6px;
    text-transform: uppercase;
    margin-top: 8px; }
    @media screen and (max-width: 680px) {
      .page-profile-meeting-notes .meeting-note-filter-fieldwrapper label {
        margin-top: 0; } }

.page-profile-meeting-notes .meeting-note-filter .select2-container {
  width: auto !important; }

.page-profile-meeting-notes .meeting-note-submit {
  background: url("../../images/build/search.svg") no-repeat center;
  background-size: 11px;
  font-size: 0;
  width: 60px;
  height: 60px;
  border: none;
  padding: 0; }

.node-type-news-publication .main-with-sidebar {
  margin-left: 34.04255%;
  margin-left: 0; }

.node-type-news-publication .sidebar img {
  width: 80%;
  height: auto;
  margin: 0 auto;
  display: block; }

.node-type-news-publication .ticket:first-of-type {
  padding-top: 0; }

.node-type-news-publication .paragraph:first-child h2 {
  display: none; }

.node-type-news-publication .paragraph,
.node-type-news-publication .purchase-report,
.node-type-news-publication .paragraph:first-of-type {
  padding-bottom: 50px; }

.node-type-news-publication .purchase-report .ticket {
  padding: 20px 0; }
  .node-type-news-publication .purchase-report .ticket:first-of-type {
    padding-top: 0; }

.node-type-news-publication .purchase-report .ticket h2 {
  font-size: 0.9375rem;
  font-weight: 500;
  color: #3B3535;
  line-height: 1.47; }

.node-type-news-publication .purchase-report .price {
  font-size: 1.0625rem;
  font-weight: 600;
  color: #545151;
  line-height: 1.29;
  letter-spacing: -0.4px;
  margin-bottom: 0; }

@media screen and (max-width: 768px) {
  .node-type-news-publication .main-with-sidebar {
    margin-left: 0%;
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 100%; }
    .node-type-news-publication .main-with-sidebar:last-child {
      margin-right: 0; } }

@media screen and (max-width: 680px) {
  .node-type-news-publication .main-with-sidebar {
    padding: 0; }
  .node-type-news-publication .paragraph,
  .node-type-news-publication .purchase-report,
  .node-type-news-publication .paragraph:first-of-type {
    padding: 22.5px 20px; }
  .node-type-news-publication .buy-tickets-form .ticket .text-wrap {
    width: 100%;
    margin-bottom: 15px; }
  .node-type-news-publication .buy-tickets-form .ajax-response {
    display: none; }
  .node-type-news-publication .buy-tickets-form .primary-call-action {
    margin-left: 0; } }

@media screen and (max-width: 768px) {
  .node-type-news-publication .field-name-field-audio {
    padding: 0 20px; } }

.node-type-news-publication .podcast-host-speaker {
  display: flex;
  gap: 38px;
  flex-wrap: wrap;
  margin-bottom: 15px; }
  @media screen and (max-width: 768px) {
    .node-type-news-publication .podcast-host-speaker {
      padding: 0 20px;
      display: block; } }
  .node-type-news-publication .podcast-host-speaker .host-speaker-wrap {
    display: inline-block; }
    @media screen and (max-width: 768px) {
      .node-type-news-publication .podcast-host-speaker .host-speaker-wrap {
        display: block; } }
    @media screen and (max-width: 768px) {
      .node-type-news-publication .podcast-host-speaker .host-speaker-wrap:first-of-type {
        margin-bottom: 20px; } }
  .node-type-news-publication .podcast-host-speaker .host-speaker-title {
    font-size: 1.5rem;
    letter-spacing: -0.03em;
    margin-bottom: 1.5625rem; }
  .node-type-news-publication .podcast-host-speaker .host-speaker-list {
    display: flex;
    gap: 38px;
    flex-wrap: wrap; }
    @media screen and (max-width: 768px) {
      .node-type-news-publication .podcast-host-speaker .host-speaker-list {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(218px, 218px));
        gap: 15px; } }
    .node-type-news-publication .podcast-host-speaker .host-speaker-list-content {
      display: block; }
    .node-type-news-publication .podcast-host-speaker .host-speaker-list-item {
      min-height: 19.5rem; }
      .node-type-news-publication .podcast-host-speaker .host-speaker-list-item img {
        border-top-left-radius: 0.5rem;
        border-top-right-radius: 0.5rem;
        min-width: 13.625rem;
        height: 11.9375rem; }
      .node-type-news-publication .podcast-host-speaker .host-speaker-list-item .text-wrap {
        background-color: #F7F9FC;
        border-bottom-left-radius: 0.5rem;
        border-bottom-right-radius: 0.5rem;
        padding: 8px 16px 16px 16px; }
        .node-type-news-publication .podcast-host-speaker .host-speaker-list-item .text-wrap .fancybox {
          color: #f37324;
          font-size: 12px;
          line-height: 1.25; }
  .node-type-news-publication .podcast-host-speaker .host-speaker-department {
    color: #474545;
    font-size: 0.625rem;
    line-height: 1.4; }
  .node-type-news-publication .podcast-host-speaker .host-speaker-name {
    margin-bottom: 0.5rem;
    font-size: 0.9375rem;
    line-height: 1.33;
    color: #3B3535; }
  .node-type-news-publication .podcast-host-speaker .host-speaker-salutation {
    font-size: 0.75rem;
    line-height: 1.5; }
  .node-type-news-publication .podcast-host-speaker .host-speaker-job-title {
    font-size: 0.75rem;
    line-height: 1.5;
    color: dark_very_grayish_red_2; }

.view-search {
  position: relative; }
  .view-search #edit-search-api-views-fulltext.error {
    border-color: #FC682D; }
  @media screen and (max-width: 680px) {
    .view-search .btn-back {
      margin: 0 20px;
      width: calc(100% - 40px);
      margin-bottom: 17px;
      display: none; } }

.search-form-wrap {
  position: fixed;
  top: -50px;
  right: 0;
  height: 0;
  left: 0;
  background: rgba(71, 69, 69, 0.95);
  opacity: 0;
  transition: all 0.5s ease-in-out, top 0.5s ease-in-out, z-index 0.6s step-end, height 0.6s step-end;
  overflow: hidden;
  z-index: 10; }
  .search-form-wrap.active {
    top: 50px;
    height: calc(100vh - 50px);
    bottom: 0;
    opacity: 1;
    transition: opacity 0.5s ease-in-out, top 0.5s ease-in-out; }

.search-form {
  max-width: 668px;
  padding: 20px;
  margin: 145px auto 0;
  position: relative; }
  .search-form button {
    position: absolute;
    top: 15px;
    right: -20px;
    background: 0;
    border: 0; }
  .search-form input[type="text"] {
    margin-top: 0;
    height: 65px;
    padding: 20px 40px;
    font-size: 17px; }
  .search-form input[type="submit"] {
    width: 60px;
    height: 0;
    padding-bottom: 63px;
    overflow: hidden;
    background: #2E2929;
    background: url(../../images/build/search.svg) center center no-repeat;
    text-indent: -9999px;
    border: 0;
    position: absolute;
    right: 20px;
    top: 20px;
    transition: background 0.2s ease-in-out; }
    .search-form input[type="submit"]:hover {
      background-color: #F2743A; }

.view-search {
  background-color: #EDF1F7; }
  .view-search-filter {
    background-color: #10487a; }
  .view-search-form {
    padding: 52px 0;
    max-width: 628px;
    width: 100%;
    margin: 0 auto; }
    .view-search-form .views-exposed-widget {
      float: none;
      padding: 0; }
    .view-search-form .views-submit-button {
      float: none;
      padding: 0;
      position: absolute;
      right: 0;
      top: 0; }
    .view-search-form .views-exposed-widgets {
      margin-bottom: 0;
      position: relative; }
    .view-search-form .form-submit {
      width: 15px;
      height: 0;
      padding-top: 25px;
      overflow: hidden;
      border: 0;
      text-indent: -9999px;
      background: url(../../images/build/search.svg) center center no-repeat;
      margin: 0 !important; }
  .view-search-inner {
    padding: 67px 0 22px; }
  .view-search-heading {
    font-size: 2.1875em;
    font-weight: 500;
    margin-bottom: 27px;
    letter-spacing: -0.043em;
    color: #3B3535; }
    @media screen and (max-width: 768px) {
      .view-search-heading {
        font-size: 1.5rem;
        font-weight: 400; } }
  .view-search-results {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(425px, 1fr));
    gap: 15px 16px;
    margin-bottom: 50px; }
    @media screen and (max-width: 680px) {
      .view-search-results {
        display: flex;
        flex-direction: column; } }
    @media screen and (max-width: 680px) {
      .view-search-results .result {
        padding: 23px 20px; } }

.node-vacancy {
  background: #dce4ec;
  padding: 100px 0; }
  @media screen and (max-width: 680px) {
    .node-vacancy .wrapper {
      padding: 0; } }
  .node-vacancy .inner {
    background-color: #fff;
    border-radius: 20px;
    padding: 30px 78px;
    max-width: 56.125rem; }
    @media screen and (max-width: 680px) {
      .node-vacancy .inner {
        padding: 24px 16px 48px 16px; } }
  .node-vacancy .departments {
    list-style-type: none;
    font-size: 0.6875rem;
    text-transform: uppercase;
    letter-spacing: 0.25em;
    margin: 0 0 5px;
    padding: 0; }
  .node-vacancy h1 {
    font-size: 2.1875rem;
    line-height: 1.2;
    letter-spacing: -1.23px;
    font-weight: 600;
    margin-bottom: 2px; }
  .node-vacancy h2,
  .node-vacancy h3 {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 15px; }
  .node-vacancy .date {
    font-size: 0.6875rem;
    color: #666262;
    margin-bottom: 15px;
    display: block; }
  .node-vacancy .summary {
    font-size: 0.9375rem;
    font-weight: 500;
    color: #3B3535;
    margin-bottom: 50px; }
  .node-vacancy .text strong {
    font-size: inherit; }
  .node-vacancy .text ul {
    font-size: 0.875rem;
    margin: 25px 0;
    list-style-type: none;
    list-style-image: none; }
    .node-vacancy .text ul li {
      margin-bottom: 12px;
      padding-left: 20px;
      font-weight: 500;
      position: relative;
      list-style-type: none;
      list-style-image: none;
      background: none; }
      .node-vacancy .text ul li:before {
        content: '';
        background: #BBBDBF;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        display: inline-block;
        vertical-align: middle;
        margin-right: 10px;
        position: absolute;
        left: 0;
        top: 10px; }
  .node-vacancy .text li {
    margin-bottom: 8px; }
  .node-vacancy .text .cta {
    font-size: 1rem;
    padding: 8px 16px; }
    .node-vacancy .text .cta::after {
      content: url("../../images/build/mail.svg");
      display: inline-block;
      width: 14px;
      height: 11px;
      margin-left: 10px; }
  @media screen and (max-width: 680px) {
    .node-vacancy {
      padding: 35px 20px 50px; }
      .node-vacancy .departments {
        font-size: 0.625rem;
        margin: 0 0 8px; }
      .node-vacancy h1 {
        font-size: 1.5rem;
        line-height: 1.25;
        margin-bottom: 0.5rem; }
      .node-vacancy h2 {
        font-size: 0.9375rem;
        margin-bottom: 8px; }
      .node-vacancy .summary {
        font-size: 0.75rem;
        line-height: 1.25;
        margin-bottom: 1.58; }
      .node-vacancy .text ul {
        font-size: 0.75rem; }
      .node-vacancy .text li {
        margin-bottom: 5px; } }

.page-eform-submit-apply-now {
  background-size: 100% auto; }
  .page-eform-submit-apply-now .field-name-field-markup-title p {
    font-size: 1.5rem;
    font-weight: 700;
    color: #3B3535;
    margin-bottom: 60px; }
  .page-eform-submit-apply-now .entity-entityform-type {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto; }
    .page-eform-submit-apply-now .entity-entityform-type::after {
      clear: both;
      content: "";
      display: table; }
    .page-eform-submit-apply-now .entity-entityform-type .content {
      padding: 100px 0 50px;
      max-width: 470px; }
      .page-eform-submit-apply-now .entity-entityform-type .content h1 {
        font-size: 1.5rem;
        margin-bottom: 55px; }
    .page-eform-submit-apply-now .entity-entityform-type .form-item {
      margin: 0 0 32px; }
    .page-eform-submit-apply-now .entity-entityform-type .field-type-email,
    .page-eform-submit-apply-now .entity-entityform-type .field-widget-text-textfield {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%; }
      .page-eform-submit-apply-now .entity-entityform-type .field-type-email:last-child,
      .page-eform-submit-apply-now .entity-entityform-type .field-widget-text-textfield:last-child {
        margin-right: 0; }
    .page-eform-submit-apply-now .entity-entityform-type .field-name-field-last-name,
    .page-eform-submit-apply-now .entity-entityform-type .field-name-field-contact-number {
      margin-right: 0; }
    .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume {
      position: relative; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .dragdropfile-processed {
        outline: none; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .dragdropfile-processed:before {
          content: none; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume fieldset {
        border: 0;
        padding: 0; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .fieldset-legend {
        font-size: 0.6875rem;
        color: #666262;
        margin-left: 7px; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .fieldset-wrapper {
        position: relative;
        border: 1px solid #EAE9EC; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .fieldset-description {
        width: 180px;
        font-size: 0.875rem;
        line-height: 1.45;
        color: #666262;
        text-transform: uppercase;
        position: absolute;
        bottom: 60px;
        left: 33%; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file {
        position: relative;
        margin: 0;
        padding: 50px 0; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file:before {
          content: '';
          position: absolute;
          top: 50%;
          left: 55px;
          -webkit-transform: translateY(-50%);
          -moz-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          -o-transform: translateY(-50%);
          transform: translateY(-50%);
          background: url("../../images/build/submit-plus.png") no-repeat center;
          background-size: 26px auto;
          height: 26px;
          width: 26px; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file label {
          display: none; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file input[type="submit"] {
          font-size: 0.75rem;
          padding: 10px 18px 8px;
          position: absolute;
          top: 110px;
          right: 0; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file input[type="file"] {
          font-size: 0.75rem;
          position: absolute;
          top: 118px;
          left: 0; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .description {
        width: 180px;
        font-size: 0.6875rem;
        line-height: 1.45;
        z-index: -1;
        color: #666262;
        position: absolute;
        top: 60%;
        left: 33%;
        -webkit-transform: translateY(-50%);
        -moz-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        -o-transform: translateY(-50%);
        transform: translateY(-50%); }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .description strong {
          font-size: 0.6875rem;
          font-weight: normal; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table {
        margin: 0; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table thead,
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table .file-icon,
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table .tabledrag-handle {
          display: none; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table tr {
          border: 0; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table td {
          padding: 10px 10px 5px; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table .form-managed-file {
          font-size: 0.75rem;
          color: #999;
          text-transform: uppercase; }
          .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table .form-managed-file a {
            color: #999; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume table input[type="submit"] {
          float: right;
          padding: 0;
          font-size: 0;
          border: 0;
          border-radius: 0;
          height: 14px;
          width: 14px;
          background: url("../../images/build/close-dark.png") no-repeat center;
          background-size: 8px auto; }
      .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .tabledrag-toggle-weight-wrapper {
        display: none; }
    .page-eform-submit-apply-now .entity-entityform-type .field-type-entityreference {
      width: 100%;
      clear: both;
      overflow: hidden; }
    .page-eform-submit-apply-now .entity-entityform-type select,
    .page-eform-submit-apply-now .entity-entityform-type .select2 {
      width: 100% !important; }
    .page-eform-submit-apply-now .entity-entityform-type .form-actions {
      margin: 70px 0 0; }
    @media screen and (max-width: 1200px) {
      .page-eform-submit-apply-now .entity-entityform-type {
        max-width: 800px;
        margin-left: auto;
        margin-right: auto; }
        .page-eform-submit-apply-now .entity-entityform-type::after {
          clear: both;
          content: "";
          display: table; }
        .page-eform-submit-apply-now .entity-entityform-type .content {
          padding: 80px 0 50px; } }
    @media screen and (max-width: 768px) {
      .page-eform-submit-apply-now .entity-entityform-type {
        max-width: 680px;
        margin-left: auto;
        margin-right: auto; }
        .page-eform-submit-apply-now .entity-entityform-type::after {
          clear: both;
          content: "";
          display: table; }
        .page-eform-submit-apply-now .entity-entityform-type .content {
          padding: 45px 0; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .dragdropfile-processed:before {
          content: none; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .fieldset-description {
          display: none; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file {
          padding: 15px 10px; }
          .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file:before {
            content: none; }
          .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file input[type="file"] {
            position: relative;
            top: inherit;
            right: inherit;
            bottom: inherit;
            left: inherit;
            font-size: 0.75rem;
            opacity: 1;
            z-index: 0;
            width: calc(100% - 80px);
            display: inline-block; }
          .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .form-type-managed-file input[type="submit"] {
            position: relative;
            top: inherit;
            right: inherit;
            bottom: inherit;
            left: inherit;
            opacity: 1;
            width: 70px;
            float: right;
            display: inline-block;
            padding: 7px 12px 5px; }
        .page-eform-submit-apply-now .entity-entityform-type .field-name-field-resume .description {
          clear: both;
          width: 100%;
          padding: 15px 0 0;
          position: relative;
          top: inherit;
          right: inherit;
          bottom: inherit;
          left: inherit;
          -webkit-transform: translateY(0);
          -moz-transform: translateY(0);
          -ms-transform: translateY(0);
          -o-transform: translateY(0);
          transform: translateY(0); }
        .page-eform-submit-apply-now .entity-entityform-type .form-actions {
          margin: 30px 0 0; } }
    @media screen and (max-width: 680px) {
      .page-eform-submit-apply-now .entity-entityform-type {
        max-width: 100%;
        margin-left: auto;
        margin-right: auto; }
        .page-eform-submit-apply-now .entity-entityform-type::after {
          clear: both;
          content: "";
          display: table; }
        .page-eform-submit-apply-now .entity-entityform-type .content {
          padding: 40px 20px;
          max-width: 100%; }
          .page-eform-submit-apply-now .entity-entityform-type .content h1 {
            font-size: 1.375rem;
            margin-bottom: 25px; }
        .page-eform-submit-apply-now .entity-entityform-type .form-item {
          margin: 0 0 16px; }
        .page-eform-submit-apply-now .entity-entityform-type .field-type-email,
        .page-eform-submit-apply-now .entity-entityform-type .field-widget-text-textfield {
          width: 100%;
          margin-right: 0; }
        .page-eform-submit-apply-now .entity-entityform-type .select2-container {
          left: 0 !important; } }

.partners-body-inner {
  padding: 40px 0; }

.partners-body-content-main {
  text-align: center;
  max-width: 867px;
  width: 100%;
  margin: 0 auto; }
  .partners-body-content-main p {
    font-size: 0.9375rem;
    font-weight: 500;
    color: #10487a;
    line-height: 1.5;
    margin-bottom: 0; }

.partners-body-wrap {
  padding: 68px 0 68px;
  background-color: #F7F9FC; }
  @media screen and (max-width: 768px) {
    .partners-body-wrap {
      padding: 32px 0 54px; } }
  .partners-body-wrap-global {
    background: #dce4ec; }

.partners-body-content h2 {
  color: #10487a;
  font-size: 2.1875rem;
  font-weight: 600;
  margin-bottom: 3px;
  letter-spacing: -0.016em;
  line-height: 0.86; }
  @media screen and (max-width: 768px) {
    .partners-body-content h2 {
      font-size: 1.75rem;
      line-height: 1.3; } }

.partners-body-content p {
  font-size: 0.875rem;
  margin-bottom: 35px;
  letter-spacing: normal;
  line-height: 1.7;
  max-width: 581px;
  width: 100%; }
  @media screen and (max-width: 680px) {
    .partners-body-content p {
      font-size: 0.75rem;
      line-height: 1.5;
      color: #10487a; } }

.partners-body-content ul {
  background-color: #fff;
  border-radius: 20px;
  padding: 49px 0 40px 138px;
  column-count: 2; }
  @media screen and (max-width: 768px) {
    .partners-body-content ul {
      column-count: 1;
      padding: 24px 16px; } }

.partners-body-content li {
  font-size: 0.875rem;
  letter-spacing: -0.024em;
  position: relative;
  padding-left: 16px; }
  .partners-body-content li::before {
    position: absolute;
    top: 8px;
    left: 0;
    content: '';
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background-color: #BBBDBF; }
  .partners-body-content li:not(:last-of-type) {
    margin-bottom: 14px; }

.partners-body-content a {
  text-decoration: underline;
  font-size: inherit;
  letter-spacing: inherit; }

.partners-body .text {
  color: #3B3535;
  font-size: 1.0625rem;
  font-weight: 500;
  max-width: 490px;
  padding: 81px 0 89px; }
  .partners-body .text p {
    margin-bottom: 0; }

.partners-our-parters {
  padding: 80px 0; }
  .partners-our-parters h2 {
    font-size: 1.5rem;
    line-height: 1.25;
    margin-bottom: 10px; }
  .partners-our-parters .text {
    color: #666262;
    font-size: 0.875rem; }
  .partners-our-parters .partners-wrap {
    float: left;
    display: block;
    margin-right: 2.12766%;
    width: 48.93617%;
    margin-left: 0%; }
    .partners-our-parters .partners-wrap:last-child {
      margin-right: 0; }
  .partners-our-parters .partners-list li {
    overflow: hidden; }
  .partners-our-parters .partners-list .text {
    vertical-align: middle;
    display: inline-block;
    width: calc(100% - 170px); }
  .partners-our-parters .partners-list .image {
    vertical-align: middle;
    display: inline-block;
    width: 141px;
    text-align: center;
    margin: 0 22px 0 0; }
  .partners-our-parters .partners-list img {
    zoom: 100%;
    max-width: 100%; }
  @media screen and (max-width: 768px) {
    .partners-our-parters .partners-wrap {
      width: 100%; }
    .partners-our-parters .partners-list li {
      margin-bottom: 0; }
    .partners-our-parters .partners-list .text {
      vertical-align: top;
      width: calc(100% - 105px); }
    .partners-our-parters .partners-list .image {
      width: 80px;
      vertical-align: top;
      margin: 0 15px 0 0; } }
  @media screen and (max-width: 680px) {
    .partners-our-parters {
      padding: 29px 20px 48px; }
      .partners-our-parters h2 {
        font-size: 1.25rem;
        margin-bottom: 15px; }
      .partners-our-parters .text {
        font-size: 0.8125rem;
        letter-spacing: -0.34px;
        margin-bottom: 45px; }
      .partners-our-parters .partners-list li {
        min-height: 65px;
        margin: 0 0 30px !important; }
        .partners-our-parters .partners-list li:last-of-type {
          margin-bottom: 0 !important; }
      .partners-our-parters .partners-list .text {
        width: calc(100% - 100px);
        font-size: 0.6875rem;
        line-height: 1.63;
        margin-bottom: 0; }
      .partners-our-parters .partners-list .image {
        width: 85px;
        margin: 0 8px 0 0; }
        .partners-our-parters .partners-list .image img {
          zoom: 100%; } }

.partners-page-body {
  padding: 100px 0; }
  .partners-page-body h2 {
    margin: 0 0 15px;
    font-size: 1.5rem;
    line-height: 1.25; }
  .partners-page-body h3 {
    font-size: 1.125rem;
    font-weight: 600;
    margin: 30px 0 15px; }
  .partners-page-body ul {
    columns: 2;
    margin-bottom: 50px; }
    .partners-page-body ul li {
      position: relative;
      font-size: 0.875rem;
      font-weight: 500;
      color: #545151;
      margin-bottom: 8px;
      padding-left: 18px; }
      .partners-page-body ul li:before {
        content: '';
        background: #BBBDBF;
        width: 4px;
        height: 4px;
        border-radius: 50%;
        position: absolute;
        top: 9px;
        left: 0; }
    .partners-page-body ul a {
      text-decoration: underline; }
  .partners-page-body p {
    max-width: 410px;
    margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .partners-page-body {
      padding: 80px 0; } }
  @media screen and (max-width: 680px) {
    .partners-page-body {
      padding: 40px 20px; }
      .partners-page-body h2 {
        margin: 0 0 15px;
        font-size: 1.25rem; }
      .partners-page-body h3 {
        font-size: 0.9375rem;
        margin: 0; }
      .partners-page-body ul {
        columns: 1;
        margin-bottom: 16px; }
        .partners-page-body ul li {
          margin-bottom: 8px;
          padding-left: 12px; }
      .partners-page-body p {
        font-size: 0.875rem;
        max-width: 100%;
        margin-bottom: 15px; }
      .partners-page-body .text &gt; div {
        margin-bottom: 40px; }
        .partners-page-body .text &gt; div h3 {
          cursor: pointer;
          padding: 13px 0;
          background: url("../../images/build/profile-arrow_open.svg") no-repeat right center;
          background-size: 12px auto;
          -webkit-transition: all 333ms linear;
          -moz-transition: all 333ms linear;
          transition: all 333ms linear; }
        .partners-page-body .text &gt; div ul {
          display: none;
          margin-bottom: 0; }
          .partners-page-body .text &gt; div ul:first-of-type {
            display: block; } }

.press-page-body {
  padding: 74px 0; }
  .press-page-body .inner p {
    font-size: 0.9375rem;
    font-weight: 500;
    color: #3B3535; }
  @media screen and (min-width: 769px) {
    .press-page-body .inner {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 74.46809%; }
      .press-page-body .inner:last-child {
        margin-right: 0; } }
  @media screen and (max-width: 680px) {
    .press-page-body {
      padding: 25px 20px; } }

.press-page-main {
  background: #FBF9F8; }

.press-page-feature {
  background-color: #10487a;
  padding: 46px 0 103px; }
  .press-page-feature-title {
    color: #fff;
    margin-bottom: 20px; }
  .press-page-feature-text {
    margin-bottom: 17px; }
    .press-page-feature-text p {
      color: #fff;
      font-size: 0.9375rem;
      letter-spacing: -0.025em;
      margin: 0; }
  .press-page-feature-cta {
    font-size: 1rem;
    font-weight: 500;
    padding: 7px 23px 7px 15px; }
    .press-page-feature-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #10487a;
      display: inline-block; }
    .press-page-feature-cta::after {
      margin-left: 8px; }

.press-page-items {
  background-color: #dce4ec;
  padding: 34px 0 58px; }
  .press-page-items-title {
    margin-bottom: 28px; }
  .press-page-items-cards {
    margin-bottom: 36px;
    display: none; }
    @media screen and (min-width: 769px) {
      .press-page-items-cards.desktop {
        display: block; } }
    @media screen and (max-width: 768px) {
      .press-page-items-cards.tablet {
        display: block; } }
    @media screen and (max-width: 768px) {
      .press-page-items-cards .kard {
        max-width: 276px;
        margin: 0 auto; } }
  .press-page-items-button {
    display: flex;
    justify-content: center; }
  .press-page-items-cta {
    padding: 8px 24px 8px 16px;
    font-size: 1rem;
    font-weight: 400; }
    .press-page-items-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .press-page-items-cta::after {
      margin-left: 8px; }
  .press-page-items .view-block {
    background-color: #dce4ec; }
  .press-page-items .view-content {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-columns: repeat(auto-fill, minmax(276px, 1fr));
    gap: 23px 32px; }
    @media screen and (max-width: 768px) {
      .press-page-items .view-content {
        display: initial; }
        .press-page-items .view-content &gt; .slick-dots {
          position: initial;
          margin-top: 3.125rem; }
          .press-page-items .view-content &gt; .slick-dots button::before {
            content: ''; } }

.sitemap-banner h1 {
  font-size: 1.5rem;
  margin: 0; }

@media screen and (max-width: 680px) {
  .sitemap-banner {
    padding: 40px 20px 34px; } }

.sitemap-main {
  padding: 58px 0;
  background-size: 100% auto; }
  .sitemap-main h2 {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 15px; }
  .sitemap-main .sitemap-block {
    margin-bottom: 50px; }
    @media screen and (min-width: 769px) {
      .sitemap-main .sitemap-block {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 31.91489%; }
        .sitemap-main .sitemap-block:last-child {
          margin-right: 0; }
        .sitemap-main .sitemap-block:nth-child(3n) {
          margin-right: 0; }
        .sitemap-main .sitemap-block:nth-child(3n+1) {
          clear: left; } }
  .sitemap-main li {
    margin-bottom: 8px; }
    .sitemap-main li:before {
      content: '';
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: #C9C9C9;
      vertical-align: middle;
      margin-right: 10px;
      display: inline-block; }
  .sitemap-main a {
    text-decoration: underline;
    font-size: 0.875rem;
    font-weight: 500; }
    .sitemap-main a:hover {
      text-decoration: none; }
  @media screen and (max-width: 680px) {
    .sitemap-main {
      padding: 25px 20px 45px; }
      .sitemap-main h2 {
        font-size: 0.9375rem;
        font-weight: 600; }
      .sitemap-main .sitemap-block {
        margin-bottom: 45px; }
      .sitemap-main li {
        margin-bottom: 10px; } }

.not-found {
  position: relative;
  background-color: #dce4ec;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 619px; }
  @media screen and (max-width: 680px) {
    .not-found {
      padding: 0 20px;
      min-height: 462px; } }
  .not-found-inner {
    max-width: 630px;
    width: 100%; }
  .not-found-heading {
    font-size: 3.0625rem;
    font-weight: 600;
    margin-bottom: 13px;
    color: #10487a;
    letter-spacing: -0.03em;
    margin-bottom: 3px; }
  .not-found-desc {
    font-size: 0.875rem;
    margin-bottom: 30px;
    line-height: 1.7; }
  .not-found-cta {
    font-size: 0.75rem;
    padding: 9px 23px 9px 16px;
    letter-spacing: 0.04em;
    position: relative; }
    .not-found-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .not-found-cta::after {
      top: -1px;
      margin-left: 9px; }
  .not-found-search-form {
    position: relative;
    margin-top: 38px; }
    .not-found-search-form-field[type="text"] {
      padding: 21px 40px 16px;
      font-size: 1.0625rem;
      font-weight: 600;
      color: #999;
      letter-spacing: -0.01em; }
    .not-found-search-form-button {
      position: absolute;
      top: 0;
      right: 0;
      background: url(../../images/build/search.svg) center center no-repeat;
      border: 0;
      text-indent: -9999px;
      overflow: hidden;
      width: 63px;
      height: 64px;
      outline: none; }
  .not-found-submit {
    margin-top: 20px; }
  @media screen and (max-width: 680px) {
    .not-found:before {
      height: 135px;
      width: 135px;
      position: absolute;
      top: -50px;
      right: 25px; }
    .not-found:after {
      content: none; }
    .not-found .inner {
      padding: 0 20px;
      margin: 90px auto 105px; }
    .not-found h1 {
      font-size: 1.375rem;
      margin-bottom: 4px; }
    .not-found .text {
      font-size: 0.8125rem;
      margin-bottom: 15px; }
    .not-found .primary-call-action {
      margin-left: 0; }
    .not-found form {
      margin-top: 20px; }
      .not-found form input[type="text"] {
        padding: 10px 20px; }
      .not-found form input[type="submit"] {
        height: 45px;
        width: 45px; } }

.area-chart {
  width: 100%;
  height: 490px; }

.report-percent-page .title-wrap {
  padding-top: 40px;
  padding-bottom: 40px; }

.report-percent-page h1 {
  text-align: center;
  font-size: 1.75rem;
  margin: 0; }

.report-percent-page .subtitle {
  text-align: center;
  font-size: 0.8125rem;
  margin-top: 10px; }

.report-percent-page.grid {
  background: #FBF9F8; }
  .report-percent-page.grid .charts {
    max-width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding: 50px 0; }
    .report-percent-page.grid .charts::after {
      clear: both;
      content: "";
      display: table; }
  .report-percent-page.grid .chart-wrap {
    padding: 10px;
    background: #FFF;
    margin-bottom: 20px; }
    @media screen and (min-width: 769px) {
      .report-percent-page.grid .chart-wrap {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 48.93617%; }
        .report-percent-page.grid .chart-wrap:last-child {
          margin-right: 0; }
        .report-percent-page.grid .chart-wrap:nth-child(2n) {
          margin-right: 0; }
        .report-percent-page.grid .chart-wrap:nth-child(2n+1) {
          clear: left; } }

.report-percent-page.full {
  margin-bottom: 60px; }

@media screen and (max-width: 768px) {
  .report-percent-page h1 {
    font-size: 1.375rem; } }

@media screen and (max-width: 680px) {
  .report-percent-page .title-wrap {
    padding-top: 30px;
    padding-bottom: 25px; }
  .report-percent-page h1 {
    font-size: 1.125rem; } }

/*** LEAGUE TABLE ***/
.report-league-page .title-wrap {
  padding-bottom: 40px; }

.report-league-page h1 {
  text-align: center;
  font-size: 1.75rem;
  margin: 0; }

@media screen and (max-width: 768px) {
  .report-league-page .title-wrap {
    padding: 25px 20px 40px; }
  .report-league-page h1 {
    font-size: 1.375rem; }
  .report-league-page .league-table {
    padding: 0 20px; } }

@media screen and (max-width: 680px) {
  .report-league-page .title-wrap {
    padding-bottom: 25px; }
  .report-league-page h1 {
    font-size: 1.125rem; } }

.male-boards-companies {
  border-top: 1px solid #eaeaea;
  padding: 30px; }
  .male-boards-companies h3 {
    font-size: 1rem;
    margin-bottom: 15px;
    text-align: center; }
  .male-boards-companies .male-boards-companies-header {
    overflow: hidden;
    margin-bottom: 13px; }
    .male-boards-companies .male-boards-companies-header &gt; div {
      width: 50%;
      float: left;
      text-align: center;
      font-size: 12px;
      color: #999; }
  .male-boards-companies .male-boards-companies-company {
    border: 1px solid #eaeaea;
    display: flex;
    margin-bottom: 3px; }
    .male-boards-companies .male-boards-companies-company::after {
      clear: both;
      content: "";
      display: table; }
    .male-boards-companies .male-boards-companies-company &gt; div {
      text-align: center;
      font-size: 12px;
      color: #999;
      flex: 0 0 50%;
      padding: 12px;
      line-height: 1.5;
      align-self: center; }
    .male-boards-companies .male-boards-companies-company .name {
      color: #FC682D;
      font-size: 0.875rem;
      font-weight: 600;
      line-height: 1.3; }
    .male-boards-companies .male-boards-companies-company .stock {
      font-size: 0.6875rem;
      color: #999;
      font-weight: 500; }
    .male-boards-companies .male-boards-companies-company .industry {
      background: #f3f3f4;
      font-size: 0.875rem;
      font-weight: 600;
      color: #666262;
      align-self: center;
      padding: 21px;
      overflow: hidden;
      position: relative; }
      .male-boards-companies .male-boards-companies-company .industry:before {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 100px 0 100px 25px;
        border-color: transparent transparent transparent #fff;
        position: absolute;
        left: -14px;
        /* top: 50%; */
        margin-top: -90px; }
    .male-boards-companies .male-boards-companies-company.flagged {
      position: relative; }
      .male-boards-companies .male-boards-companies-company.flagged .company {
        padding-left: 40px; }
      .male-boards-companies .male-boards-companies-company.flagged:before {
        content: url(../../svg/exclamation.svg);
        display: block;
        position: absolute;
        top: 50%;
        margin-top: -10px;
        left: 15px; }
  .male-boards-companies .flag-legend {
    color: #666262;
    font-size: 0.6875rem;
    line-height: 1.3;
    text-align: center;
    margin: 20px 0 35px; }
    .male-boards-companies .flag-legend:before {
      content: url(../../svg/exclamation.svg);
      display: inline-block;
      margin-right: 10px;
      vertical-align: middle; }

.bar-line-summary {
  border-bottom: 1px solid #eaeaea;
  margin-bottom: 30px;
  padding-bottom: 15px; }
  .bar-line-summary .data {
    overflow: hidden;
    border-radius: 3px;
    margin: 30px 30px 10px; }
    .bar-line-summary .data &gt; div {
      float: left;
      color: #fff;
      text-align: center;
      padding: 23px 0;
      line-height: 1.2; }
    .bar-line-summary .data .data-1 {
      background: #FC682D;
      position: relative;
      z-index: 1;
      min-width: 120px;
      max-width: calc(100% - 120px); }
      .bar-line-summary .data .data-1 &gt; div {
        position: relative;
        left: 12px; }
    .bar-line-summary .data .data-2 {
      background: #664fa3;
      position: relative;
      overflow: hidden;
      min-width: 120px;
      max-width: calc(100% - 120px); }
      .bar-line-summary .data .data-2:before {
        content: '';
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 100px 0 100px 40px;
        border-color: transparent transparent transparent #FC682D;
        position: absolute;
        left: 0;
        top: -46px; }
    .bar-line-summary .data .number {
      font-size: 1.625rem;
      font-weight: 600;
      margin-bottom: -3px; }
    .bar-line-summary .data .percent {
      font-size: 0.9375rem;
      font-weight: 600; }
    .bar-line-summary .data .label {
      font-size: 0.75rem; }
  .bar-line-summary .message {
    text-align: center;
    font-size: 0.8125rem;
    color: #3b3535;
    font-weight: 600; }
    .bar-line-summary .message .total {
      font-size: 1.625rem;
      padding: 0 3px; }
  @media screen and (max-width: 680px) {
    .bar-line-summary .data {
      margin: 20px 20px 10px; }
      .bar-line-summary .data .data-1 {
        min-width: 80px;
        max-width: calc(100% - 80px); }
      .bar-line-summary .data .data-2 {
        min-width: 80px;
        max-width: calc(100% - 80px); }
      .bar-line-summary .data .number {
        font-size: 1.25rem; }
      .bar-line-summary .data .percent {
        font-size: 0.875rem; }
    .bar-line-summary .message .total {
      font-size: 1.25rem; } }

.male-boards-stats {
  overflow: hidden; }
  .male-boards-stats &gt; div {
    width: 50%;
    float: left;
    display: flex;
    padding: 20px;
    align-items: center;
    position: relative; }
  .male-boards-stats .value {
    font-size: 2.8125rem;
    font-weight: 600;
    margin-right: 5px; }
  .male-boards-stats .label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #545151; }
  .male-boards-stats .left {
    padding-left: 50px; }
    .male-boards-stats .left .value {
      color: #FC682D; }
    .male-boards-stats .left:before {
      content: '';
      display: block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 25px 0 25px 12px;
      border-color: transparent transparent transparent #FC682D;
      position: absolute;
      left: 0;
      top: 27px; }
  .male-boards-stats .right {
    padding-right: 50px; }
    .male-boards-stats .right .value {
      color: #664fa3; }
    .male-boards-stats .right:before {
      content: '';
      display: block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 25px 0 25px 12px;
      border-color: transparent transparent transparent #664fa3;
      position: absolute;
      right: 0;
      top: 27px;
      transform: rotate(180deg); }
  @media screen and (max-width: 768px) {
    .male-boards-stats {
      padding: 30px 25px;
      position: relative; }
      .male-boards-stats:before, .male-boards-stats:after {
        content: '';
        display: block;
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 25px 0 25px 12px;
        border-color: transparent transparent transparent #FC682D;
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto; }
      .male-boards-stats:before {
        left: 0; }
      .male-boards-stats:after {
        right: 0;
        transform: rotate(180deg); }
      .male-boards-stats &gt; div {
        width: 100%;
        float: none;
        padding: 0; }
      .male-boards-stats .value {
        font-size: 1.5625rem;
        margin-right: 15px; }
      .male-boards-stats .left {
        padding: 0; }
        .male-boards-stats .left:before {
          content: none; }
      .male-boards-stats .right {
        padding: 0; }
        .male-boards-stats .right:before {
          content: none; } }

.report-methodology-page .node-inner-inner {
  max-width: 650px;
  margin: 50px auto; }

.report-methodology-page h1 {
  text-align: center;
  font-size: 1.5rem; }

.report-methodology-page .body ul, .report-methodology-page .body p {
  font-size: 0.875rem;
  color: #545151; }

.report-methodology-page .body ul {
  margin: 20px 0; }

.report-methodology-page .body li {
  margin-bottom: 15px;
  position: relative;
  padding-left: 30px; }
  .report-methodology-page .body li:before {
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 10px;
    width: 9px;
    height: 9px;
    border-radius: 9px;
    background: #FC682D; }

.report-header {
  background: #F3F3F4;
  padding: 60px 0 35px; }
  .report-header .report-link {
    line-height: 1.2;
    display: inline-block;
    padding-left: 40px; }
    .report-header .report-link span {
      display: block; }
    .report-header .report-link:before {
      content: '';
      display: inline-block;
      width: 31px;
      height: 31px;
      background: url(../../svg/arrow-right.svg) center center no-repeat #545151;
      border-radius: 31px;
      vertical-align: middle;
      transform: rotate(180deg);
      position: absolute;
      left: 0;
      top: 1px; }
  .report-header .link-title {
    font-size: 17px;
    font-weight: 600; }
  .report-header .subtitle {
    font-size: 12px; }
  @media screen and (max-width: 768px) {
    .report-header {
      padding: 30px 20px 15px; }
      .report-header .report-link {
        padding-left: 30px; }
        .report-header .report-link:before {
          height: 20px;
          width: 20px;
          background: url(../../svg/arrow-right.svg) center center no-repeat #545151;
          background-size: 10px auto;
          border-radius: 20px; }
      .report-header .link-title {
        font-size: 14px; }
      .report-header .subtitle {
        font-size: 14px;
        font-weight: 500; } }

.report-sub-links {
  margin-bottom: 50px; }
  .report-sub-links .container {
    position: relative;
    border-bottom: 2px solid #f4f4f5; }
  .report-sub-links ul::after {
    clear: both;
    content: "";
    display: table; }
  .report-sub-links li {
    float: left;
    margin-right: 25px; }
  .report-sub-links a {
    font-size: 0.875rem;
    display: block;
    padding: 23px 5px 23px 0;
    position: relative; }
    .report-sub-links a.active:after {
      content: '';
      display: block;
      width: 15px;
      height: 2px;
      background: #FC682D;
      position: absolute;
      bottom: -2px;
      left: 0; }
  .report-sub-links .mobile-more {
    display: none; }
  @media screen and (max-width: 768px) {
    .report-sub-links {
      margin-bottom: 25px;
      padding: 0 20px; }
      .report-sub-links ul {
        width: calc(100% - 60px); }
      .report-sub-links li {
        float: none; }
        .report-sub-links li:not(.active) {
          display: none; }
      .report-sub-links a {
        font-size: 0.75rem;
        padding: 14px 0 9px; }
      .report-sub-links .mobile-more {
        display: block;
        cursor: pointer;
        position: absolute;
        top: 14px;
        right: 0;
        font-size: 0.75rem;
        line-height: 1.25;
        letter-spacing: -0.3px;
        color: #545151;
        padding-right: 10px; }
        .report-sub-links .mobile-more:before {
          content: '';
          margin: auto;
          height: 6px;
          width: 6px;
          position: absolute;
          top: 6px;
          right: 0;
          background: url("../../images/build/header-aroow.png") no-repeat center;
          background-size: 100% auto; } }

.report-page {
  background: #fbf9f8; }
  .report-page .programme-header h1 {
    margin-top: 34px;
    margin-bottom: 0; }
  .report-page .programme-header .subtitle {
    font-size: 1.9375rem; }
  .report-page .report-sub-links {
    background: #FFF;
    margin: 0; }
  .report-page .report-message {
    background: #FFF;
    font-size: 1.75rem;
    font-weight: 700;
    padding: 43px 0 60px;
    position: relative; }
    .report-page .report-message p {
      font-size: 1.75rem;
      color: #474545;
      line-height: 1.2; }
  .report-page .report-message-inner {
    position: relative; }
    .report-page .report-message-inner:after {
      content: '';
      display: block;
      width: 23px;
      height: 46px;
      background-color: #ffd1ba;
      border-bottom-left-radius: 100px;
      border-top-left-radius: 100px;
      border-left: 0;
      position: absolute;
      left: -40px;
      top: 6px;
      -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box; }
  .report-page .report-section {
    margin-bottom: 60px;
    background: #FFF; }
    .report-page .report-section .header {
      padding: 30px 23px;
      position: relative;
      border-bottom: 1px solid #eaeaea; }
      .report-page .report-section .header .data-link {
        position: absolute;
        width: 42px;
        height: 42px;
        border-radius: 42px;
        background: #474545;
        text-align: center;
        line-height: 2.9;
        top: 80px;
        right: -21px; }
        .report-page .report-section .header .data-link svg {
          width: 15px;
          height: auto; }
      .report-page .report-section .header .report-share-link {
        position: absolute;
        top: 20px;
        right: 30px;
        color: #FC682D;
        font-size: 0.75rem;
        display: inline-block;
        padding-right: 20px;
        background: url(../../svg/share.svg) right center no-repeat; }
    .report-page .report-section .key-data {
      font-size: 0.8125rem;
      font-weight: 600; }
    .report-page .report-section .hsi-woman-wrapper {
      position: relative;
      padding: 25px 20px 0; }
      .report-page .report-section .hsi-woman-wrapper:before {
        content: '';
        height: 0;
        width: 0;
        border-style: solid;
        border-width: 13px 72.5px 0 72.5px;
        border-color: #fc682d transparent transparent transparent;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        margin: auto; }
      .report-page .report-section .hsi-woman-wrapper .last-point {
        display: block;
        margin: 0 auto;
        text-align: center; }
      .report-page .report-section .hsi-woman-wrapper .point {
        font-size: 45px;
        font-weight: 600;
        color: #fc682d;
        line-height: 1;
        letter-spacing: -1.04px; }
        .report-page .report-section .hsi-woman-wrapper .point span {
          font-size: 22px; }
      .report-page .report-section .hsi-woman-wrapper .text {
        font-size: 13px;
        font-weight: 600;
        color: #545151; }
    .report-page .report-section .gauge-chart {
      border-bottom: 1px solid #eaeaea; }
    .report-page .report-section .gaugeContent {
      text-align: center; }
      .report-page .report-section .gaugeContent .data {
        display: block;
        margin-bottom: 10px; }
        .report-page .report-section .gaugeContent .data::after {
          clear: both;
          content: "";
          display: table; }
        .report-page .report-section .gaugeContent .data .woman, .report-page .report-section .gaugeContent .data .man {
          width: 50%;
          float: left; }
        .report-page .report-section .gaugeContent .data .woman {
          color: #fc682d; }
        .report-page .report-section .gaugeContent .data .man {
          color: #664fa3; }
        .report-page .report-section .gaugeContent .data .percentage {
          font-size: 21px;
          font-weight: 600;
          letter-spacing: -0.48px;
          line-height: 1;
          margin: 5px 0 3px; }
          .report-page .report-section .gaugeContent .data .percentage span {
            font-size: 18px; }
        .report-page .report-section .gaugeContent .data .number {
          font-size: 15px;
          font-weight: 600;
          line-height: 1; }
      .report-page .report-section .gaugeContent .total {
        font-size: 12px;
        font-weight: 500;
        color: #999;
        letter-spacing: -0.28;
        line-height: 2; }
    .report-page .report-section .analysis {
      display: inline-block;
      font-size: 0.9375rem;
      font-weight: 600;
      color: #666262;
      margin: 30px;
      border-top: 1px solid #999;
      border-bottom: 1px solid #999;
      padding: 10px 0 25px;
      cursor: pointer; }
      .report-page .report-section .analysis .analysis-popup {
        display: none; }
      .report-page .report-section .analysis .analysis-link {
        display: inline-block;
        width: 15px;
        height: 15px;
        border-radius: 15px;
        background: #474545;
        position: relative;
        top: 2px;
        left: 2px; }
        .report-page .report-section .analysis .analysis-link svg {
          width: 9px;
          height: auto;
          position: relative;
          top: -2px;
          left: 3px; }
    .report-page .report-section .analysis-header {
      color: #474545;
      font-size: 0.6875rem;
      letter-spacing: 2.8px;
      line-height: 1;
      text-transform: uppercase;
      position: relative;
      top: -16px; }
      .report-page .report-section .analysis-header span {
        display: inline-block;
        padding: 2px 8px 2px 21px;
        background: url(../../images/build/search.svg) left center no-repeat #FFF;
        background-size: 11px auto; }
    .report-page .report-section .analysis-text {
      color: #666262;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.3; }
      .report-page .report-section .analysis-text p:last-of-type {
        margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      .report-page .report-section .gaugeContent .data {
        margin-top: 10px;
        margin-bottom: 0; } }
  .report-page .most-eventful &gt; h3 {
    text-align: center;
    font-size: 1rem;
    margin-top: 40px;
    margin-bottom: 10px; }
  .report-page .most-eventful .subtitle {
    font-size: 0.6875rem;
    text-align: center;
    margin-bottom: 30px; }
  .report-page .most-eventful .league-table-header, .report-page .most-eventful .arrow {
    display: none; }
  .report-page .report-section-top-10 &gt; h3 {
    text-align: center;
    font-size: 1rem;
    margin-top: 40px; }
  .report-page .report-section-top-10 .league-table-header, .report-page .report-section-top-10 .arrow {
    display: none; }
  .report-page .horizontal-chart {
    padding: 39px 34px; }
    .report-page .horizontal-chart h3 {
      color: #3b3535;
      font-size: 16px;
      font-weight: 600;
      padding: 0 10px; }
    .report-page .horizontal-chart .value-text {
      display: none; }
    .report-page .horizontal-chart .bars {
      position: relative;
      padding: 10px 10px 14px;
      border-left: 1px solid #eaeaea;
      border-right: 1px solid #eaeaea; }
      .report-page .horizontal-chart .bars * {
        z-index: 1;
        position: relative; }
      .report-page .horizontal-chart .bars:before {
        z-index: 0;
        content: '';
        height: 100%;
        width: 1px;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        margin: 0 auto;
        background: #eaeaea; }
    .report-page .horizontal-chart .bar-1 {
      background: #ffd1ba;
      border-radius: 3px;
      overflow: hidden;
      margin-bottom: 7px;
      min-height: 38px;
      position: relative; }
      .report-page .horizontal-chart .bar-1 .value-text {
        display: block;
        padding-top: 2px;
        padding-bottom: 0; }
      .report-page .horizontal-chart .bar-1 .value {
        background: #FC682D;
        color: #FFF;
        text-align: center;
        font-size: 0.8125rem;
        font-weight: 600;
        padding: 8px 10px 9px;
        min-width: 60px;
        position: relative;
        min-height: 38px; }
        .report-page .horizontal-chart .bar-1 .value .percent {
          color: #ffd1ba;
          font-size: 0.75rem; }
      .report-page .horizontal-chart .bar-1.show-outside .percent {
        position: absolute;
        left: calc(100% + 20px);
        color: #FC682D;
        width: 100px;
        text-align: left;
        top: 3px; }
    .report-page .horizontal-chart .bar-2 .value {
      background: #664fa3;
      height: 14px;
      border-radius: 2px; }
    .report-page .horizontal-chart .bar-3 .value {
      background: #ab9ecc;
      height: 14px;
      border-radius: 2px; }
    .report-page .horizontal-chart .bar-4 .value {
      background: #e3dcf2;
      height: 14px;
      border-radius: 2px; }
    .report-page .horizontal-chart .years {
      margin-top: 5px;
      padding: 0 10px; }
      .report-page .horizontal-chart .years ul {
        list-style-type: none;
        margin: 0;
        padding: 0; }
      .report-page .horizontal-chart .years li {
        float: left;
        color: #474545;
        font-size: 0.6875rem;
        line-height: 1.72;
        position: relative;
        padding: 0 0 0 16px;
        margin-right: 10px; }
        .report-page .horizontal-chart .years li:before {
          content: '';
          display: block;
          width: 11px;
          height: 11px;
          border-radius: 11px;
          background: #FC682D;
          position: absolute;
          left: 0;
          top: 3px; }
        .report-page .horizontal-chart .years li:nth-child(2):before {
          background: #664fa3; }
        .report-page .horizontal-chart .years li:nth-child(3):before {
          background: #ab9ecc; }
        .report-page .horizontal-chart .years li:nth-child(4) {
          margin-right: 0; }
          .report-page .horizontal-chart .years li:nth-child(4):before {
            background: #e3dcf2; }
  .report-page .progress-items {
    padding: 30px 23px; }
  .report-page .progress-item {
    margin-bottom: 25px; }
    .report-page .progress-item img {
      float: left;
      width: 25px;
      height: auto;
      padding: 2px;
      border: 1px solid #dadcea;
      margin-right: 5px;
      position: relative;
      top: 8px; }
    .report-page .progress-item .text-wrap {
      overflow: hidden; }
    .report-page .progress-item .progress-item-header {
      overflow: hidden;
      padding-bottom: 7px; }
    .report-page .progress-item h3 {
      font-size: 1rem;
      margin: 0 0 -3px; }
    .report-page .progress-item .subtitle {
      font-size: 0.75rem;
      text-transform: uppercase;
      letter-spacing: 0.05em; }
    .report-page .progress-item .bar {
      background: #ffd1ba;
      border-radius: 3px;
      overflow: hidden; }
    .report-page .progress-item .bar-inner {
      background: #FC682D;
      text-align: center;
      color: #FFF;
      font-size: 0.8125rem;
      font-weight: 600;
      padding: 8px;
      min-width: 50px; }
  .report-page .report-analysis-wrap {
    background: #FFF;
    padding: 25px 20px 40px; }
  .report-page .report-analysis-intro {
    background: #474545;
    padding: 25px 25px 35px;
    border-radius: 4px;
    color: #FFF;
    margin-bottom: 35px; }
    .report-page .report-analysis-intro .label {
      font-size: 0.8125rem;
      font-weight: 600;
      margin-bottom: 15px; }
    .report-page .report-analysis-intro .text {
      color: #FFF;
      font-size: 1.625rem;
      font-weight: 600;
      line-height: 1.3; }
  .report-page .report-analysis-main {
    padding: 0 13px;
    font-size: 0.875rem; }
  @media screen and (max-width: 768px) {
    .report-page .report-message {
      font-size: 1.375rem;
      padding: 46px 0 32px; }
      .report-page .report-message p {
        font-size: 1.375rem;
        line-height: 1.6; }
    .report-page .report-message-inner:after {
      width: 16px;
      height: 32px;
      left: -27px; }
    .report-page .main-wrapper {
      padding: 32px 0; } }
  @media screen and (max-width: 680px) {
    .report-page .report-message {
      font-size: 1rem;
      padding: 20px 22px 22px; }
      .report-page .report-message p {
        font-size: 1rem;
        line-height: 1.7; }
    .report-page .report-message-inner:after {
      width: 10px;
      height: 20px;
      left: -15px; }
    .report-page .main-wrapper {
      padding: 27px 0; }
    .report-page .main-with-sidebar {
      padding: 0; }
    .report-page .report-section {
      margin-bottom: 25px; }
      .report-page .report-section .header {
        padding: 20px 21px; }
        .report-page .report-section .header .report-share-link {
          right: 21px; }
        .report-page .report-section .header .data-link {
          width: 30px;
          height: 30px;
          border-radius: 30px;
          top: 42px;
          right: 21px; }
          .report-page .report-section .header .data-link svg {
            width: 11px;
            -webkit-transform: translateY(-7px);
            -moz-transform: translateY(-7px);
            -ms-transform: translateY(-7px);
            -o-transform: translateY(-7px);
            transform: translateY(-7px); }
      .report-page .report-section .key-data {
        font-size: 0.75rem;
        padding-right: 80px; }
      .report-page .report-section h2 {
        font-size: 18px;
        line-height: 1.39;
        letter-spacing: -0.5px;
        padding-right: 75px;
        margin-bottom: 5px;
        min-height: 30px; }
      .report-page .report-section .hsi-woman-wrapper {
        padding: 20px 20px 0; }
        .report-page .report-section .hsi-woman-wrapper:before {
          border-width: 6px 33.5px 0 33.5px; }
        .report-page .report-section .hsi-woman-wrapper .point {
          font-size: 25px;
          letter-spacing: -0.6px; }
          .report-page .report-section .hsi-woman-wrapper .point span {
            font-size: 12px; }
        .report-page .report-section .hsi-woman-wrapper .text {
          font-size: 12px; }
      .report-page .report-section .chart-wrap {
        overflow: hidden; }
      .report-page .report-section .single-area-chart {
        margin-top: -75px; }
      .report-page .report-section .gaugeContent {
        display: block;
        -webkit-transform: translateY(30px);
        -moz-transform: translateY(30px);
        -ms-transform: translateY(30px);
        -o-transform: translateY(30px);
        transform: translateY(30px); }
        .report-page .report-section .gaugeContent .data {
          width: 80%;
          margin: 0 auto 20px; }
          .report-page .report-section .gaugeContent .data img {
            width: 7px; }
          .report-page .report-section .gaugeContent .data .percentage {
            font-size: 14px;
            letter-spacing: -0.3px;
            line-height: 0.93;
            margin: 0; }
            .report-page .report-section .gaugeContent .data .percentage span {
              font-size: 12px; }
          .report-page .report-section .gaugeContent .data .number {
            font-size: 12px; }
      .report-page .report-section .analysis {
        font-size: 0.75rem;
        margin: 20px;
        padding: 13px 0 13px; }
        .report-page .report-section .analysis .analysis-link {
          width: 12px;
          height: 12px;
          border-radius: 12px;
          top: 3px; }
          .report-page .report-section .analysis .analysis-link svg {
            width: 5px;
            top: -6px; }
      .report-page .report-section .analysis-text {
        font-size: 12px; }
    .report-page .horizontal-chart {
      padding: 20px 23px; }
      .report-page .horizontal-chart h3 {
        font-size: 14px;
        padding: 0; }
      .report-page .horizontal-chart .bars {
        padding: 10px 3.8px; }
      .report-page .horizontal-chart .bar-1 {
        margin-bottom: 4px; }
        .report-page .horizontal-chart .bar-1 .value {
          font-size: 0.75rem;
          padding: 7px 10px 5px; }
      .report-page .horizontal-chart .years {
        margin-top: 10px;
        padding: 0; }
    .report-page .most-eventful &gt; h3 {
      font-size: 0.875rem;
      margin-top: 30px; }
    .report-page .most-eventful .subtitle {
      font-size: 0.75rem; }
      .report-page .most-eventful .subtitle svg {
        display: inline-block;
        margin-right: 4px;
        -webkit-transform: translateY(1px);
        -moz-transform: translateY(1px);
        -ms-transform: translateY(1px);
        -o-transform: translateY(1px);
        transform: translateY(1px); }
    .report-page .most-eventful .league-table-item {
      margin-left: 23px;
      margin-right: 23px;
      margin-bottom: 15px; }
    .report-page .report-analysis-intro {
      padding: 14px 22px 21px;
      margin-bottom: 25px; }
      .report-page .report-analysis-intro .label {
        font-size: 0.75rem; }
      .report-page .report-analysis-intro .text {
        font-size: 16px; }
    .report-page .report-analysis-main {
      padding: 0; } }

.report-list-header {
  padding: 30px 22px 0;
  text-align: center;
  display: block; }
  .report-list-header::after {
    clear: both;
    content: "";
    display: table; }
  .report-list-header .header-item {
    display: inline-block;
    vertical-align: middle;
    font-size: 11px;
    padding-left: 16px;
    margin: 0 5px;
    line-height: 1; }
    .report-list-header .header-item.ft-director {
      background: url("../../images/build/Star-2.png") no-repeat left center;
      background-size: 12px auto; }
    .report-list-header .header-item.ft-corp-director {
      background: url("../../images/build/Star-3.png") no-repeat left center;
      background-size: 12px auto; }
  @media screen and (max-width: 680px) {
    .report-list-header {
      text-align: left; }
      .report-list-header .header-item {
        margin: 0 0 10px;
        display: block; }
        .report-list-header .header-item:last-of-type {
          margin-bottom: 0; } }

.report-list {
  padding: 30px 22px;
  margin: 0; }
  .report-list li {
    border: 1px solid #EAEAEA;
    margin-bottom: 15px;
    border-radius: 3px;
    padding: 15px;
    position: relative; }
    .report-list li::after {
      clear: both;
      content: "";
      display: table; }
    .report-list li.first-time-director-on-hsi-board:before, .report-list li.first-time-appointed-corporate-director-in-hong-kong:before {
      content: '';
      display: block;
      width: 25px;
      height: 25px;
      border-radius: 25px;
      position: absolute;
      top: -11px;
      right: -11px;
      background-position: center 4px;
      border: 1px solid #FC682D;
      background-size: 15px auto; }
    .report-list li.first-time-director-on-hsi-board:before {
      background: url(../../images/build/Star-2.png) center 4px no-repeat #FC682D;
      background-size: 15px auto; }
    .report-list li.first-time-appointed-corporate-director-in-hong-kong:before {
      background: url(../../images/build/Star-3.png) center 4px no-repeat #FFF;
      background-size: 15px auto; }
  .report-list .image {
    width: 94px;
    height: 94px;
    float: left;
    margin-right: 15px;
    border-radius: 94px;
    overflow: hidden;
    background: url(../../images/build/default-avatar-female.png) center center no-repeat; }
    .report-list .image img {
      width: 100%;
      height: auto; }
  .report-list .text-wrap {
    overflow: hidden; }
  .report-list h3 {
    font-size: 1rem;
    margin: 0; }
  .report-list .role {
    font-size: 0.8125rem;
    color: #666262;
    font-weight: 500; }
  .report-list .company {
    font-size: 0.8125rem; }
  .report-list a {
    font-size: 0.8125rem;
    color: #FC682D; }
    .report-list a svg {
      background: #FC682D;
      padding: 2px;
      display: inline-block;
      margin-right: 5px;
      vertical-align: middle; }

.chart-header {
  display: block;
  margin-bottom: 20px;
  padding: 15px 15px 0 15px; }
  .chart-header::after {
    clear: both;
    content: "";
    display: table; }
  .chart-header .flag, .chart-header .info {
    float: left; }
  .chart-header .flag {
    width: 31px;
    border-radius: 2px;
    border: 1px solid #dadcea;
    padding: 3px; }
    .chart-header .flag img {
      width: 100%;
      display: block; }
  .chart-header .info {
    padding-left: 9px;
    width: calc(100% - 40px); }
    .chart-header .info .chart-title {
      color: #3b3535;
      font-size: 16px;
      font-weight: 600;
      letter-spacing: -0.38px;
      line-height: 1.1; }
    .chart-header .info .chart-subtitle {
      color: #545151;
      font-size: 12px; }

.report-new-appointments {
  min-height: 600px; }
  .report-new-appointments h1 {
    font-size: 1.75rem;
    text-align: center;
    margin-bottom: 0; }
  .report-new-appointments .body {
    text-align: center;
    margin-top: 30px; }
  .report-new-appointments .report-list {
    padding-bottom: 80px; }
    .report-new-appointments .report-list::after {
      clear: both;
      content: "";
      display: table; }
    @media screen and (min-width: 769px) {
      .report-new-appointments .report-list li {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 48.93617%; }
        .report-new-appointments .report-list li:last-child {
          margin-right: 0; }
        .report-new-appointments .report-list li:nth-child(2n) {
          margin-right: 0; }
        .report-new-appointments .report-list li:nth-child(2n+1) {
          clear: left; } }
  @media screen and (max-width: 768px) {
    .report-new-appointments h1 {
      font-size: 1.375rem; } }
  @media screen and (max-width: 680px) {
    .report-new-appointments h1 {
      font-size: 1.125rem; } }

.share-popup {
  display: none; }

.analysis-popup-inner.share .name {
  font-size: 1.1875rem;
  color: #545151;
  margin-bottom: 25px; }

.node-report-methodology h1 {
  text-align: center;
  font-size: 1.75rem;
  margin: 0 0 30px; }

@media screen and (max-width: 768px) {
  .node-report-methodology h1 {
    font-size: 1.375rem; }
  .node-report-methodology .body {
    padding: 0 22px; } }

@media screen and (max-width: 680px) {
  .node-report-methodology h1 {
    font-size: 1.125rem; } }

.node-report .chart-wrap .highcharts-scrollbar {
  display: none; }

.node-report-percentage.full .area-chart .highcharts-data-labels .highcharts-data-label:first-child {
  margin-left: 35px !important; }

.node-report-percentage.full .area-chart .highcharts-data-labels .highcharts-data-label:last-child {
  margin-left: -35px !important; }

.node-report-percentage.full .area-chart .highcharts-data-labels.highcharts-series-0 .highcharts-data-label * {
  color: #FFF !important; }

.report-partners-page {
  background: #FBF9F8; }

.view-report-partners {
  margin-bottom: 50px; }
  .view-report-partners::after {
    clear: both;
    content: "";
    display: table; }
  .view-report-partners .partner {
    position: relative;
    margin-bottom: 24px; }
    @media screen and (min-width: 769px) {
      .view-report-partners .partner {
        float: left;
        display: block;
        margin-right: 2.12766%;
        width: 23.40426%; }
        .view-report-partners .partner:last-child {
          margin-right: 0; }
        .view-report-partners .partner:nth-child(4n) {
          margin-right: 0; }
        .view-report-partners .partner:nth-child(4n+1) {
          clear: left; } }
    .view-report-partners .partner:before {
      content: '';
      height: 160px;
      width: 160px;
      background: rgba(0, 0, 0, 0.06);
      filter: blur(15px);
      position: absolute;
      bottom: -25px;
      left: calc(50% - 80px);
      z-index: 1; }
  .view-report-partners .partner-inner {
    background: #FFF;
    padding: 20px;
    z-index: 2;
    position: relative;
    overflow: hidden; }
  .view-report-partners h2 {
    font-size: 0.9375rem;
    letter-spacing: 0;
    margin-bottom: 60px; }
  .view-report-partners .partner a {
    color: #FC682D;
    font-size: 0.75rem;
    position: absolute;
    bottom: 20px;
    left: 20px; }
  .view-report-partners img {
    width: 100px;
    height: auto;
    display: block;
    margin: 0 auto 20px; }
  .view-report-partners .pager {
    padding-top: 50px; }
  @media screen and (max-width: 768px) {
    .view-report-partners {
      padding-left: 20px;
      padding-right: 20px; }
      .view-report-partners .partner {
        margin-bottom: 15px; }
      .view-report-partners .text-wrap {
        overflow: hidden;
        padding-top: 20px; }
      .view-report-partners h2 {
        margin: 0 0 5px; }
      .view-report-partners .image-wrap {
        float: left;
        position: relative;
        padding-right: 15px;
        margin-right: 15px; }
        .view-report-partners .image-wrap:after {
          content: '';
          position: absolute;
          top: 10px;
          bottom: 10px;
          right: 0;
          border-right: 1px solid #EAEAEA; }
      .view-report-partners img {
        width: 85px;
        height: auto;
        margin: 0; }
      .view-report-partners .partner a {
        position: static; } }

.node-type-report .programme-header {
  padding: 115px 0 50px; }
  .node-type-report .programme-header .sponsors {
    margin-top: 50px; }
  .node-type-report .programme-header .lead-sponsor, .node-type-report .programme-header .gold-sponsor {
    display: inline-block;
    vertical-align: top; }
  .node-type-report .programme-header .logo {
    display: inline-block;
    vertical-align: middle;
    margin-right: 20px; }
    .node-type-report .programme-header .logo img {
      width: auto;
      height: auto;
      max-width: 120px;
      max-height: 100px;
      display: block; }
    .node-type-report .programme-header .logo:last-of-type {
      margin-right: 0; }
  .node-type-report .programme-header .headline {
    display: block;
    font-size: 10px;
    text-transform: uppercase;
    line-height: 1.4;
    letter-spacing: 1.6px;
    margin-bottom: 10px; }
  .node-type-report .programme-header .lead-sponsor {
    margin-right: 50px; }

@media screen and (max-width: 768px) {
  .node-type-report .programme-header {
    padding: 115px 20px 50px; }
    .node-type-report .programme-header .sponsors {
      margin-top: 25px; }
    .node-type-report .programme-header .lead-sponsor, .node-type-report .programme-header .gold-sponsor {
      display: block; }
    .node-type-report .programme-header .logo img {
      max-width: 80px;
      max-height: 65px; }
    .node-type-report .programme-header .lead-sponsor {
      margin: 25px 0; } }

.node-type-report-partners .partners {
  display: block;
  margin-bottom: 60px; }
  .node-type-report-partners .partners::after {
    clear: both;
    content: "";
    display: table; }
  .node-type-report-partners .partners .partners-title {
    text-align: center;
    margin-bottom: 47px; }

.node-type-report-partners .partner {
  display: block; }
  .node-type-report-partners .partner::after {
    clear: both;
    content: "";
    display: table; }
  .node-type-report-partners .partner .partner-wrapper {
    display: block; }
    .node-type-report-partners .partner .partner-wrapper::after {
      clear: both;
      content: "";
      display: table; }
  .node-type-report-partners .partner .partner-title {
    font-size: 15px;
    font-weight: 600;
    line-height: 1.33;
    margin-bottom: 45px; }

@media screen and (max-width: 768px) {
  .node-type-report-partners .partner .partner-title {
    margin-bottom: 5px; } }

.report-cta-page {
  overflow: hidden;
  background: #FFF; }
  .report-cta-page h1 {
    font-size: 1.75rem;
    line-height: 1.3;
    position: relative;
    margin: 43px 0;
    padding-bottom: 43px;
    border-bottom: 1px solid #BBBDBF; }
    .report-cta-page h1:before {
      content: '';
      position: absolute;
      left: -40px;
      top: 10px;
      width: 23px;
      height: 46px;
      background-color: #ffd1ba;
      border-bottom-left-radius: 100px;
      border-top-left-radius: 100px;
      border-left: 0; }
  .report-cta-page .testimonial {
    padding: 37px 20px 30px;
    outline: none; }
    .report-cta-page .testimonial.slick-current .text:before,
    .report-cta-page .testimonial.slick-current .text:after {
      opacity: 1; }
    .report-cta-page .testimonial .inner {
      background: #FBF9F8;
      position: relative;
      padding: 60px 20px 32px;
      text-align: center; }
    .report-cta-page .testimonial .image {
      border-radius: 50%;
      height: 75px;
      width: 75px;
      position: absolute;
      top: -36px;
      left: 50%;
      -webkit-transform: translateX(-50%);
      -moz-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      -o-transform: translateX(-50%);
      transform: translateX(-50%);
      background-size: cover;
      background-position: center; }
      .report-cta-page .testimonial .image:before {
        content: '';
        height: 18px;
        width: 18px;
        position: absolute;
        right: 0;
        bottom: 0;
        background: rgba(252, 104, 45, 0.75);
        border-radius: 50%; }
    .report-cta-page .testimonial .text {
      z-index: 1;
      position: relative;
      max-width: 633px;
      margin: 10px auto 15px;
      font-size: 0.875rem;
      color: #999;
      line-height: 1.58; }
      .report-cta-page .testimonial .text:before, .report-cta-page .testimonial .text:after {
        content: '';
        opacity: 0;
        height: 38px;
        width: 48px;
        z-index: -1; }
      .report-cta-page .testimonial .text:before {
        position: absolute;
        top: -19px;
        left: -21px;
        background: url("../../images/build/quote-left.png") no-repeat center;
        background-size: 100% auto; }
      .report-cta-page .testimonial .text:after {
        position: absolute;
        right: 27px;
        bottom: -19px;
        background: url("../../images/build/quote-right.png") no-repeat center;
        background-size: 100% auto; }
    .report-cta-page .testimonial .title {
      font-size: 0.875rem;
      font-weight: 600;
      line-height: 1.78; }
    .report-cta-page .testimonial .job-title {
      font-size: 0.75rem;
      font-weight: 500;
      line-height: 1.67; }
  .report-cta-page .what-can-be-done {
    background: #ffd1ba;
    padding: 60px 0; }
    .report-cta-page .what-can-be-done h2 {
      text-align: center;
      font-size: 1.5rem;
      margin-bottom: 51px; }
  .report-cta-page .wcbd-links {
    text-align: center;
    padding-bottom: 40px; }
    .report-cta-page .wcbd-links li {
      display: inline-block;
      width: 225px;
      vertical-align: top;
      cursor: pointer; }
    .report-cta-page .wcbd-links .icon {
      width: 63px;
      height: 63px;
      background: #474545;
      border-radius: 63px;
      position: relative;
      display: inline-block;
      vertical-align: top;
      margin-bottom: 10px;
      transition: background 0.2s ease-in-out; }
      .report-cta-page .wcbd-links .icon svg {
        max-height: 100%;
        max-width: 100%;
        width: auto;
        height: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto; }
    .report-cta-page .wcbd-links .link-name {
      font-size: 1rem;
      font-weight: 600;
      line-height: 1.2; }
    .report-cta-page .wcbd-links li.active .icon {
      background: #FFF; }
    .report-cta-page .wcbd-links li.active path {
      fill: #FC682D; }
  .report-cta-page .wcbd-content-wrap {
    max-width: 797px;
    margin: 0 auto; }
  .report-cta-page .wcbd-content {
    padding: 50px 80px;
    background: #FFF; }
    .report-cta-page .wcbd-content dl {
      max-width: 634px;
      margin: 0 auto; }
    .report-cta-page .wcbd-content dt, .report-cta-page .wcbd-content dd {
      margin: 0;
      padding: 0; }
    .report-cta-page .wcbd-content dt {
      font-size: 1rem;
      font-weight: 600;
      position: relative; }
      .report-cta-page .wcbd-content dt:before {
        content: '';
        display: block;
        width: 19px;
        height: 19px;
        border-radius: 19px;
        background: #FC682D;
        position: absolute;
        left: -40px;
        top: 3px; }
    .report-cta-page .wcbd-content dd {
      font-size: 0.875rem; }
      .report-cta-page .wcbd-content dd:not(:last-child) {
        margin-bottom: 40px;
        border-bottom: 1px solid #EAEAEA;
        padding-bottom: 40px; }
    .report-cta-page .wcbd-content:not(.active) {
      display: none; }
  @media screen and (max-width: 768px) {
    .report-cta-page h1 {
      font-size: 1.625rem; }
    .report-cta-page .what-can-be-done .container {
      max-width: 100%;
      padding: 0 22px; }
    .report-cta-page .wcbd-content-wrap {
      max-width: 100%; }
    .report-cta-page .wcbd-content dl {
      max-width: 750px; } }
  @media screen and (max-width: 680px) {
    .report-cta-page h1 {
      font-size: 1.25rem;
      margin: 20px;
      padding-bottom: 20px; }
      .report-cta-page h1:before {
        left: -17px;
        top: 5px;
        width: 11.5px;
        height: 23px; }
    .report-cta-page .wcbd-links {
      padding-bottom: 20px; }
      .report-cta-page .wcbd-links li {
        width: auto;
        margin: 0 10px; }
      .report-cta-page .wcbd-links .icon {
        height: 55px;
        width: 55px;
        border-radius: 50%; }
        .report-cta-page .wcbd-links .icon svg {
          width: 30px;
          height: 30px; }
      .report-cta-page .wcbd-links .link-name {
        display: none; }
    .report-cta-page .wcbd-content {
      padding: 30px 30px 30px 40px; }
      .report-cta-page .wcbd-content dt {
        font-size: 0.9375rem; }
        .report-cta-page .wcbd-content dt:before {
          height: 10px;
          width: 10px;
          left: -25px;
          top: 5px; }
      .report-cta-page .wcbd-content dd {
        font-size: 0.875rem; }
        .report-cta-page .wcbd-content dd:not(:last-child) {
          margin-bottom: 20px;
          padding-bottom: 20px; } }

.report-news-page {
  background: #FBF9F8; }
  .report-news-page .articles {
    margin-bottom: 50px; }
    .report-news-page .articles::after {
      clear: both;
      content: "";
      display: table; }
    .report-news-page .articles .card {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 23.40426%; }
      .report-news-page .articles .card:nth-child(4n) {
        margin-right: 0; }
      .report-news-page .articles .card:nth-child(4n+1) {
        clear: left; }
      .report-news-page .articles .card:last-child {
        margin-right: 0; }
  @media screen and (max-width: 1200px) {
    .report-news-page .articles .card {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 31.91489%; }
      .report-news-page .articles .card:nth-child(4n) {
        margin-right: 2.12766%; }
      .report-news-page .articles .card:nth-child(4n+1) {
        clear: none; }
      .report-news-page .articles .card:nth-child(3n) {
        margin-right: 0; }
      .report-news-page .articles .card:nth-child(3n+1) {
        clear: left; }
      .report-news-page .articles .card:last-child {
        margin-right: 0; } }
  @media screen and (max-width: 768px) {
    .report-news-page .articles .card {
      float: left;
      display: block;
      margin-right: 2.12766%;
      width: 48.93617%;
      margin-bottom: 20px; }
      .report-news-page .articles .card:nth-child(3n) {
        margin-right: 2.12766%; }
      .report-news-page .articles .card:nth-child(3n+1) {
        clear: none; }
      .report-news-page .articles .card:nth-child(2n) {
        margin-right: 0; }
      .report-news-page .articles .card:nth-child(2n+1) {
        clear: left; }
      .report-news-page .articles .card:last-child {
        margin-right: 0; } }
  @media screen and (max-width: 680px) {
    .report-news-page .articles {
      padding: 0 20px; }
      .report-news-page .articles .card {
        float: none;
        width: 100%; } }

.external-resources {
  clear: both;
  width: 100%;
  background: #dce4ec; }
  .external-resources h2 {
    font-size: 2.1875rem;
    margin-bottom: 47px;
    text-align: center; }
    @media screen and (max-width: 680px) {
      .external-resources h2 {
        font-size: 1.5rem; } }
  .external-resources-title {
    margin-bottom: 47px;
    text-align: center; }
  .external-resources-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(286px, 1fr));
    gap: 18px;
    margin-bottom: 35px; }
    @media screen and (max-width: 768px) {
      .external-resources-cards {
        margin-bottom: 5.625rem; }
        .external-resources-cards .slick-dots {
          bottom: -3.125rem; }
          .external-resources-cards .slick-dots button:before {
            content: ''; } }
    .external-resources-cards .topic-content {
      min-height: 318px; }
    @media screen and (max-width: 768px) {
      .external-resources-cards .topic {
        max-width: 286px;
        margin: 0 auto; } }
  .external-resources-button {
    display: flex;
    justify-content: center; }
    @media screen and (max-width: 768px) {
      .external-resources-button {
        margin-top: 4.6875rem; } }
  .external-resources-cta {
    padding: 7px 23px 6px 15px;
    font-size: 1rem;
    font-weight: 400; }
    .external-resources-cta::after {
      top: -2px;
      right: 0;
      position: relative;
      content: '';
      width: 8px;
      height: 8px;
      rotate: 45deg;
      box-shadow: 1.5px -1.5px 0 0 #fff;
      display: inline-block; }
    .external-resources-cta::after {
      margin-left: 9px; }

@media screen and (min-width: 681px) {
  .external-resources-inner {
    column-count: 2;
    column-gap: 1em; } }

@media screen and (min-width: 769px) {
  .external-resources-inner {
    column-count: 4;
    column-gap: 1em; } }

.external-resource {
  display: inline-block;
  background: #FFF;
  padding: 30px 20px 15px;
  overflow: hidden;
  margin-bottom: 10px;
  width: 100%; }
  .external-resource .title {
    font-size: 0.9375rem;
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: 10px; }
  .external-resource .date {
    font-size: 0.6875rem;
    text-transform: uppercase;
    color: #666262; }

.node-news-publication .external-resources,
.event-detail .external-resources {
  padding: 50px 0; }

.events-landing-page .external-resources {
  padding: 50px 0; }

.events-landing-page .share-wrapper {
  margin-bottom: 50px; }

.node-news-publication .main-wrapper {
  padding-bottom: 0; }
  @media screen and (max-width: 768px) {
    .node-news-publication .main-wrapper {
      padding-top: 40px; } }

.buy-tickets-form .tickets {
  list-style-type: none;
  margin: 0;
  padding: 0; }

.buy-tickets-form .ticket {
  background: none;
  border-bottom: 1px solid #EAE9EC;
  padding: 30px 0;
  overflow: hidden; }
  .buy-tickets-form .ticket .text-wrap {
    float: left;
    width: calc(100% - 140px); }
  .buy-tickets-form .ticket .quantity {
    position: relative;
    float: right;
    width: 100px;
    border-radius: 3px;
    padding: 7px 25px;
    border: 1px solid #EAE9EC; }
  .buy-tickets-form .ticket .buy-tickets-form-add-single-to-cart, .buy-tickets-form .ticket .free-publication-download-link {
    float: right; }

.buy-tickets-form .price {
  color: #3B3535;
  font-weight: 600;
  font-size: 1rem;
  margin-bottom: 6px;
  text-transform: uppercase; }

.buy-tickets-form .ticket-title {
  font-size: 0.6875rem;
  font-weight: normal;
  margin-bottom: 11px;
  color: #474545; }

.buy-tickets-form .free-tickets-info {
  color: #474545;
  font-size: 0.8125rem; }

.buy-tickets-form .ticket-text {
  font-size: 0.75rem;
  font-weight: normal;
  color: #666262;
  line-height: 1.59; }

.buy-tickets-form input[type=number] {
  border-right: 1px solid #EAEAEA;
  border-left: 1px solid #EAEAEA;
  border-top: 0;
  border-bottom: 0;
  border-radius: 0;
  padding: 0 5px 0 18px;
  text-align: center;
  margin: 0 auto;
  background: transparent; }

.buy-tickets-form .quantity-nav {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%; }
  .buy-tickets-form .quantity-nav .quantity-button {
    color: #FC572D;
    font-size: 1.0625rem;
    font-weight: 600;
    line-height: 1;
    height: 15px;
    width: 12px;
    margin: auto;
    cursor: pointer; }
    .buy-tickets-form .quantity-nav .quantity-button.quantity-up {
      position: absolute;
      top: 0;
      right: 9px;
      bottom: 0; }
    .buy-tickets-form .quantity-nav .quantity-button.quantity-down {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 8px; }

.buy-tickets-form .form-actions {
  overflow: hidden;
  padding: 0;
  text-align: right;
  margin: 12px 0; }
  .buy-tickets-form .form-actions a {
    float: right;
    background: #FC682D;
    color: #FFF;
    outline: none;
    margin: 0 1px 0 18px; }
    .buy-tickets-form .form-actions a.disabled {
      color: #FFF;
      background: #EAEAEA;
      pointer-events: none;
      box-shadow: none; }
  .buy-tickets-form .form-actions .primary-call-action {
    margin-bottom: 20px; }
  .buy-tickets-form .form-actions input[type="submit"] {
    outline: none; }
    .buy-tickets-form .form-actions input[type="submit"]:hover {
      background: #FC682D; }

.buy-tickets-form .remark {
  text-align: left;
  display: block;
  max-width: 390px;
  font-size: 0.6875em;
  color: #666262;
  line-height: 1.45;
  margin-bottom: 16px; }

.buy-tickets-form .ajax-response {
  margin-top: 8px;
  font-size: 0.9375rem;
  display: block;
  float: left; }

@media screen and (max-width: 680px) {
  .buy-tickets-form .ticket {
    padding: 15px 0; }
    .buy-tickets-form .ticket .text-wrap {
      float: left;
      width: calc(100% - 70px); }
    .buy-tickets-form .ticket .quantity {
      height: 40px;
      width: 50px;
      padding: 6px 7px 9px; }
    .buy-tickets-form .ticket .buy-tickets-form-add-single-to-cart {
      float: right; }
  .buy-tickets-form .price {
    margin-bottom: 5px; }
  .buy-tickets-form .ticket-title {
    font-size: 0.625rem;
    margin-bottom: 5px; }
  .buy-tickets-form input[type=number] {
    border: 0;
    padding: 0 5px; }
  .buy-tickets-form .quantity-nav {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%; }
    .buy-tickets-form .quantity-nav .quantity-button {
      margin: 0;
      height: 14px;
      width: 10px; }
      .buy-tickets-form .quantity-nav .quantity-button.quantity-up {
        position: absolute;
        top: 6px;
        right: 7px;
        bottom: 0; }
      .buy-tickets-form .quantity-nav .quantity-button.quantity-down {
        position: absolute;
        top: 22px;
        left: 32px; }
  .buy-tickets-form .form-actions {
    margin: 15px 0;
    text-align: left; }
    .buy-tickets-form .form-actions a {
      float: left; }
    .buy-tickets-form .form-actions .primary-call-action {
      float: left; }
    .buy-tickets-form .form-actions input[type="submit"] {
      outline: none; }
      .buy-tickets-form .form-actions input[type="submit"]:hover {
        background: #FC682D; }
  .buy-tickets-form .remark {
    max-width: 100%;
    margin-bottom: 18px; }
  .buy-tickets-form .ajax-response {
    width: 100%;
    margin-top: 0;
    margin-bottom: 17px;
    font-size: 0.875rem; } }

.buy-tickets-form .still-active {
  float: right;
  display: inline-block;
  margin-top: -20px;
  margin-right: 25px; }

#user-profile-form {
  position: relative;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding: 50px 0;
  min-height: 500px; }
  #user-profile-form::after {
    clear: both;
    content: "";
    display: table; }
  @media screen and (max-width: 768px) {
    #user-profile-form {
      max-width: 680px;
      margin-left: auto;
      margin-right: auto; }
      #user-profile-form::after {
        clear: both;
        content: "";
        display: table; } }
  @media screen and (max-width: 680px) {
    #user-profile-form {
      max-width: 100%;
      margin-left: auto;
      margin-right: auto; }
      #user-profile-form::after {
        clear: both;
        content: "";
        display: table; } }
  #user-profile-form label {
    color: #10487a;
    display: inline-block;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.25;
    padding-left: 0; }
  #user-profile-form input {
    margin-bottom: 0; }
  #user-profile-form .description {
    font-size: 0.6875rem; }
  #user-profile-form .password-strength,
  #user-profile-form .password-confirm {
    font-size: 0.75rem;
    font-weight: normal;
    margin-top: 0; }
  #user-profile-form .form-item-name,
  #user-profile-form .form-item-mail,
  #user-profile-form .form-item-pass-pass1,
  #user-profile-form .form-item-pass-pass2,
  #user-profile-form .field-name-field-first-name,
  #user-profile-form .field-name-field-last-name,
  #user-profile-form .field-name-field-contact-number,
  #user-profile-form .field-name-field-company-name,
  #user-profile-form .form-item-current-pass {
    width: calc((100% / 2) - 30px);
    display: inline-block;
    vertical-align: top; }
  #user-profile-form .form-item-name,
  #user-profile-form .form-item-pass-pass2,
  #user-profile-form .field-name-field-contact-number,
  #user-profile-form .field-name-field-last-name {
    margin-left: 54px; }
  #user-profile-form #user-pass .form-item-name {
    margin-left: 0;
    width: 100%; }
  #user-profile-form #user-pass .form-actions {
    margin: 0; }
  #user-profile-form #user-login .form-item-name {
    margin-left: 0;
    width: 100%; }
  #user-profile-form #user-login .form-actions {
    margin: 26px 0 0; }
  #user-profile-form #user-register .form-actions {
    margin: 27px 0 0; }
  #user-profile-form .captcha {
    margin: 15px 0;
    width: 100%;
    text-align: left; }
  #user-profile-form fieldset {
    margin: 30px 0;
    padding: 10px 20px 20px; }
    #user-profile-form fieldset .fieldset-legend {
      text-transform: uppercase;
      font-size: 0.8125rem; }
    #user-profile-form fieldset .form-item {
      margin: 0; }
    #user-profile-form fieldset .description {
      margin-top: 10px; }
  #user-profile-form .form-file {
    font-size: 0.75rem; }
  #user-profile-form .form-actions {
    margin: 45px 0 0; }
  @media screen and (max-width: 680px) {
    #user-profile-form {
      padding: 25px 20px; }
      #user-profile-form .password-strength {
        width: auto; }
      #user-profile-form .form-item {
        margin: 5px 0; }
      #user-profile-form .form-item-name,
      #user-profile-form .form-item-mail,
      #user-profile-form .form-item-pass-pass1,
      #user-profile-form .form-item-pass-pass2,
      #user-profile-form .field-name-field-contact-number,
      #user-profile-form .field-name-field-company-name,
      #user-profile-form .field-name-field-first-name,
      #user-profile-form .field-name-field-last-name,
      #user-profile-form .form-item-current-pass {
        width: 100%; }
      #user-profile-form .form-item-mail,
      #user-profile-form .form-item-pass-pass2,
      #user-profile-form .field-name-field-last-name {
        margin-left: 0; }
      #user-profile-form .messages.error {
        font-size: 0.75rem; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInZlbmRvci9ib3VyYm9uL19ib3VyYm9uLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9zZXR0aW5ncy9fcHJlZml4ZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL3NldHRpbmdzL19weC10by1lbS5zY3NzIiwidmVuZG9yL2JvdXJib24vc2V0dGluZ3MvX2Fzc2V0LXBpcGVsaW5lLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19jb252ZXJ0LXVuaXRzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19mb250LXNvdXJjZS1kZWNsYXJhdGlvbi5zY3NzIiwidmVuZG9yL2JvdXJib24vaGVscGVycy9fZ3JhZGllbnQtcG9zaXRpb25zLXBhcnNlci5zY3NzIiwidmVuZG9yL2JvdXJib24vaGVscGVycy9faXMtbnVtLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19saW5lYXItYW5nbGUtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19saW5lYXItZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19saW5lYXItcG9zaXRpb25zLXBhcnNlci5zY3NzIiwidmVuZG9yL2JvdXJib24vaGVscGVycy9fbGluZWFyLXNpZGUtY29ybmVyLXBhcnNlci5zY3NzIiwidmVuZG9yL2JvdXJib24vaGVscGVycy9fcmFkaWFsLWFyZy1wYXJzZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2hlbHBlcnMvX3JhZGlhbC1wb3NpdGlvbnMtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19yYWRpYWwtZ3JhZGllbnQtcGFyc2VyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19yZW5kZXItZ3JhZGllbnRzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19zaGFwZS1zaXplLXN0cmlwcGVyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9oZWxwZXJzL19zdHItdG8tbnVtLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX2Fzc2lnbi5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19jb2xvci1saWdodG5lc3Muc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fY29udGFpbnMuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9faXMtbGVuZ3RoLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX2lzLXNpemUuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tZW0uc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fcHgtdG8tcmVtLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX3N0cmlwLXVuaXRzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX3RpbnQtc2hhZGUuc2NzcyIsInZlbmRvci9ib3VyYm9uL2Z1bmN0aW9ucy9fdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9mdW5jdGlvbnMvX3VucGFjay5zY3NzIiwidmVuZG9yL2JvdXJib24vZnVuY3Rpb25zL19tb2R1bGFyLXNjYWxlLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19hbmltYXRpb24uc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2FwcGVhcmFuY2Uuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tmYWNlLXZpc2liaWxpdHkuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JhY2tncm91bmQtaW1hZ2Uuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2JvcmRlci1pbWFnZS5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fYm9yZGVyLXJhZGl1cy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fYm94LXNpemluZy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fY2FsYy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fY29sdW1ucy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fZmlsdGVyLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19mbGV4LWJveC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fZm9udC1mYWNlLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19mb250LWZlYXR1cmUtc2V0dGluZ3Muc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2hpZHBpLW1lZGlhLXF1ZXJ5LnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19oeXBoZW5zLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19pbWFnZS1yZW5kZXJpbmcuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX2tleWZyYW1lcy5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fbGluZWFyLWdyYWRpZW50LnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL19wZXJzcGVjdGl2ZS5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fcGxhY2Vob2xkZXIuc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX3JhZGlhbC1ncmFkaWVudC5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fc2VsZWN0aW9uLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9jc3MzL190ZXh0LWRlY29yYXRpb24uc2NzcyIsInZlbmRvci9ib3VyYm9uL2NzczMvX3RyYW5zZm9ybS5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fdHJhbnNpdGlvbi5zY3NzIiwidmVuZG9yL2JvdXJib24vY3NzMy9fdXNlci1zZWxlY3Quc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fY2xlYXJmaXguc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fZGlyZWN0aW9uYWwtdmFsdWVzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2VsbGlwc2lzLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2ZvbnQtZmFtaWx5LnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX2hpZGUtdGV4dC5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19odG1sNS1pbnB1dC10eXBlcy5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19wb3NpdGlvbi5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19wcmVmaXhlci5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL19yZXRpbmEtaW1hZ2Uuc2NzcyIsInZlbmRvci9ib3VyYm9uL2FkZG9ucy9fc2l6ZS5zY3NzIiwidmVuZG9yL2JvdXJib24vYWRkb25zL190aW1pbmctZnVuY3Rpb25zLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX3RyaWFuZ2xlLnNjc3MiLCJ2ZW5kb3IvYm91cmJvbi9hZGRvbnMvX3dvcmQtd3JhcC5zY3NzIiwidmVuZG9yL2JvdXJib24vX2JvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZy5zY3NzIiwidmVuZG9yL25lYXQvX25lYXQtaGVscGVycy5zY3NzIiwidmVuZG9yL25lYXQvZnVuY3Rpb25zL19wcml2YXRlLnNjc3MiLCJ2ZW5kb3IvbmVhdC9mdW5jdGlvbnMvX25ldy1icmVha3BvaW50LnNjc3MiLCJ2ZW5kb3IvbmVhdC9zZXR0aW5ncy9fZ3JpZC5zY3NzIiwidmVuZG9yL25lYXQvc2V0dGluZ3MvX3Zpc3VhbC1ncmlkLnNjc3MiLCJ2ZW5kb3IvbmVhdC9zZXR0aW5ncy9fZGlzYWJsZS13YXJuaW5ncy5zY3NzIiwiX2dyaWQuc2NzcyIsInZlbmRvci9uZWF0L19uZWF0LnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL19wcml2YXRlLnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL19ib3gtc2l6aW5nLnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL19vbWVnYS5zY3NzIiwidmVuZG9yL25lYXQvZ3JpZC9fb3V0ZXItY29udGFpbmVyLnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL19zcGFuLWNvbHVtbnMuc2NzcyIsInZlbmRvci9uZWF0L2dyaWQvX3Jvdy5zY3NzIiwidmVuZG9yL25lYXQvZ3JpZC9fc2hpZnQuc2NzcyIsInZlbmRvci9uZWF0L2dyaWQvX3BhZC5zY3NzIiwidmVuZG9yL25lYXQvZ3JpZC9fZmlsbC1wYXJlbnQuc2NzcyIsInZlbmRvci9uZWF0L2dyaWQvX21lZGlhLnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL190by1kZXByZWNhdGUuc2NzcyIsInZlbmRvci9uZWF0L2dyaWQvX3Zpc3VhbC1ncmlkLnNjc3MiLCJ2ZW5kb3IvbmVhdC9ncmlkL19kaXNwbGF5LWNvbnRleHQuc2NzcyIsInZlbmRvci9uZWF0L2dyaWQvX2RpcmVjdGlvbi1jb250ZXh0LnNjc3MiLCJ2ZW5kb3IvX25vcm1hbGl6ZS5zY3NzIiwidmVuZG9yL19zZWxlY3QyLnNjc3MiLCJ2ZW5kb3IvX2pxdWVyeS5mYW5jeWJveC5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX2Z1bmN0aW9ucy5zY3NzIiwiX21peGlucy5zY3NzIiwiX2ljb25mb250LnNjc3MiLCJnbG9iYWwvX2dsb2JhbC5zY3NzIiwiZ2xvYmFsL190eXBvLnNjc3MiLCJnbG9iYWwvX2hlYWRlci5zY3NzIiwiZ2xvYmFsL19mb290ZXIuc2NzcyIsImdsb2JhbC9fbGF5b3V0LnNjc3MiLCJnbG9iYWwvX3NsaWNrLnNjc3MiLCJjb21wb25lbnRzL19jb21wb25lbnRzLnNjc3MiLCJjb21wb25lbnRzL190aXRsZS5zY3NzIiwiY29tcG9uZW50cy9fY3RhLnNjc3MiLCJjb21wb25lbnRzL19mb3JtLnNjc3MiLCJjb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJjb21wb25lbnRzL190YWJsZS5zY3NzIiwiY29tcG9uZW50cy9fYmxvY2tzLnNjc3MiLCJjb21wb25lbnRzL19saXN0LnNjc3MiLCJjb21wb25lbnRzL19jYXJkLnNjc3MiLCJjb21wb25lbnRzL19jaXJjbGUuc2NzcyIsImNvbXBvbmVudHMvX2ljb24uc2NzcyIsImNvbXBvbmVudHMvX2Jhbm5lci5zY3NzIiwiY29tcG9uZW50cy9fZ2FsbGVyeS5zY3NzIiwiY29tcG9uZW50cy9fZmFxLnNjc3MiLCJjb21wb25lbnRzL19sb2dpbi5zY3NzIiwiY29tcG9uZW50cy9fY2FydC5zY3NzIiwiY29tcG9uZW50cy9fY29tcGFueS1oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQtZm9jdXMuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQtbWVtYmVyLnNjc3MiLCJjb21wb25lbnRzL19jYXJkLWNhbXBhaWducy5zY3NzIiwiY29tcG9uZW50cy9fY2FyZC1pbWFnZS5zY3NzIiwiY29tcG9uZW50cy9fdGVzdGltb25pYWxzLXNsaWRlci5zY3NzIiwiY29tcG9uZW50cy9fcGFyYWdyYXBoLnNjc3MiLCJjb21wb25lbnRzL19maWx0ZXIuc2NzcyIsImNvbXBvbmVudHMvX2ZhbmN5Ym94LnNjc3MiLCJjb21wb25lbnRzL19zb2NpYWwtbWVkaWEtaWNvbi5zY3NzIiwiY29tcG9uZW50cy9fY29tbWVudHMuc2NzcyIsImNvbXBvbmVudHMvX3NoYXJlLnNjc3MiLCJjb21wb25lbnRzL19vcmFuZ2UtYmFubmVyLnNjc3MiLCJjb21wb25lbnRzL19vcmFuZ2UtdGV4dC1ibG9jay5zY3NzIiwiY29tcG9uZW50cy9fcHJvZ3JhbW1lLWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fbmV3c2xldHRlci1zaWdudXAuc2NzcyIsImNvbXBvbmVudHMvX2NoYXJ0LnNjc3MiLCJjb21wb25lbnRzL19sZWFndWUtdGFibGUuc2NzcyIsImNvbXBvbmVudHMvX25hdi5zY3NzIiwiY29tcG9uZW50cy9fc25zLnNjc3MiLCJjb21wb25lbnRzL19zb2x1dGlvbi5zY3NzIiwiY29tcG9uZW50cy9fcmVzdWx0LnNjc3MiLCJjb21wb25lbnRzL19wYXJ0bmVyLWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fZmVhdHVyZWQuc2NzcyIsImNvbXBvbmVudHMvX3RlYW0uc2NzcyIsImNvbXBvbmVudHMvX3BhcnRuZXJzLnNjc3MiLCJjb21wb25lbnRzL192YWx1ZXMuc2NzcyIsImNvbXBvbmVudHMvX2xvY2F0aW9ucy5zY3NzIiwiY29tcG9uZW50cy9fbXYuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQtZXZlbnQuc2NzcyIsImNvbXBvbmVudHMvX2NhcmQtcGFzdC5zY3NzIiwiY29tcG9uZW50cy9fY2FyZC1iYXNpYy5zY3NzIiwiY29tcG9uZW50cy9fZXZlbnQtZmVhdHVyZWQuc2NzcyIsImNvbXBvbmVudHMvX3RvcGljLnNjc3MiLCJjb21wb25lbnRzL19jb2x1bW4uc2NzcyIsImNvbXBvbmVudHMvX3Nwb3RsaWdodC5zY3NzIiwiY29tcG9uZW50cy9fYmVuZWZpdHMuc2NzcyIsImNvbXBvbmVudHMvX29yZ2FuaXphdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fcmVzZWFyY2guc2NzcyIsImNvbXBvbmVudHMvX25ld3NsZXR0ZXIuc2NzcyIsImNvbXBvbmVudHMvX2ludm9sdmVkLnNjc3MiLCJjb21wb25lbnRzL19rYXJkLnNjc3MiLCJjb21wb25lbnRzL19leWUtY2F0Y2guc2NzcyIsImNvbXBvbmVudHMvX3ByaW5jaXBhbC1wYXJ0bmVycy5zY3NzIiwiY29tcG9uZW50cy9fdmFjYW5jeS5zY3NzIiwiY29tcG9uZW50cy9fYmFubmVyLWV2ZW50LnNjc3MiLCJwYWdlcy9fcGFnZXMuc2NzcyIsInBhZ2VzL191c2VyLnNjc3MiLCJwYWdlcy9faG9tZXBhZ2Uuc2NzcyIsInBhZ2VzL19pbmRleC1wYWdlLnNjc3MiLCJwYWdlcy9fZG9uYXRlLnNjc3MiLCJwYWdlcy9fY2hlY2tvdXQuc2NzcyIsInBhZ2VzL19jaGVja291dF9zaWduaW5fc2lnbnVwX3BhbmUuc2NzcyIsInBhZ2VzL19jaGVja291dF9jb21wbGV0ZS5zY3NzIiwicGFnZXMvX2Fib3V0LXVzLnNjc3MiLCJwYWdlcy9fZm9jdXMtYXJlYS5zY3NzIiwicGFnZXMvX3Byb2dyYW1tZXMtbGFuZGluZy5zY3NzIiwicGFnZXMvX25ldHdvcmtzLWxhbmRpbmcuc2NzcyIsInBhZ2VzL19uZXR3b3Jrcy1hcHBsaWNhdGlvbi5zY3NzIiwicGFnZXMvX2NvbXBhbnkuc2NzcyIsInBhZ2VzL19ldmVudHMuc2NzcyIsInBhZ2VzL19ldmVudHMtbGFuZGluZy5zY3NzIiwicGFnZXMvX3RyYWluaW5nLWNvbnN1bHRpbmctbGFuZGluZy5zY3NzIiwicGFnZXMvX3RyYWluaW5nLWNvbnN1bHRpbmcuc2NzcyIsInBhZ2VzL19jb250YWN0LXVzLnNjc3MiLCJwYWdlcy9fYmFzaWMtcGFnZS5zY3NzIiwicGFnZXMvX2ZhcS1sYW5kaW5nLnNjc3MiLCJwYWdlcy9fZ2V0LWludm9sdmVkLnNjc3MiLCJwYWdlcy9fcHJvZmlsZS1wYWdlcy5zY3NzIiwicGFnZXMvX25ld3MtcHVibGljYXRpb24uc2NzcyIsInBhZ2VzL19zZWFyY2guc2NzcyIsInBhZ2VzL19qb2luLXRlYW0uc2NzcyIsInBhZ2VzL19wYXJ0bmVycy5zY3NzIiwicGFnZXMvX3ByZXNzLXBhZ2Uuc2NzcyIsInBhZ2VzL19zaXRlbWFwLnNjc3MiLCJwYWdlcy9fbm90LWZvdW5kLnNjc3MiLCJwYWdlcy9fcmVwb3J0LnNjc3MiLCJwYWdlcy9fcmVwb3J0LWN0YS5zY3NzIiwicGFnZXMvX3JlcG9ydC1uZXdzLnNjc3MiLCJmb3Jtcy9fZm9ybXMuc2NzcyIsImZvcm1zL19idXktdGlja2V0cy1mb3JtLnNjc3MiLCJmb3Jtcy9fcmVnaXN0ZXIuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiAtLS0tLSBWRU5ET1IgSU1QT1JUUyAtLS0tLSAqL1xuQGltcG9ydCBcInZlbmRvci9ib3VyYm9uL2JvdXJib25cIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvbmVhdC9uZWF0LWhlbHBlcnNcIjtcbkBpbXBvcnQgXCJncmlkLnNjc3NcIjtcbkBpbXBvcnQgXCJ2ZW5kb3IvbmVhdC9uZWF0XCI7XG5AaW1wb3J0IFwidmVuZG9yL25vcm1hbGl6ZVwiO1xuQGltcG9ydCBcInZlbmRvci9zZWxlY3QyXCI7XG5AaW1wb3J0IFwidmVuZG9yL2pxdWVyeS5mYW5jeWJveFwiO1xuLyogLS0tLS0gVEhFTUUgSU1QT1JUUyAtLS0tLSAqL1xuLyogLS0tLS0gQWRkIGFueSBleHRyYSBfKi5zY3NzIGZpbGVzIGhlcmUgLS0tLS0gKi9cbkBpbXBvcnQgXCJ2YXJpYWJsZXMuc2Nzc1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy5zY3NzXCI7XG5AaW1wb3J0IFwibWl4aW5zLnNjc3NcIjtcbkBpbXBvcnQgXCJpY29uZm9udC5zY3NzXCI7XG5AaW1wb3J0IFwiZ2xvYmFsL2dsb2JhbFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29tcG9uZW50c1wiO1xuQGltcG9ydCBcInBhZ2VzL3BhZ2VzXCI7XG5AaW1wb3J0IFwiZm9ybXMvZm9ybXNcIjsiLCIvLyBCb3VyYm9uIDQuMS4xXG4vLyBodHRwOi8vYm91cmJvbi5pb1xuLy8gQ29weXJpZ2h0IDIwMTEtMjAxNSB0aG91Z2h0Ym90LCBpbmMuXG4vLyBNSVQgTGljZW5zZVxuXG4vLyBTZXR0aW5nc1xuQGltcG9ydCBcInNldHRpbmdzL3ByZWZpeGVyXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJzZXR0aW5ncy9hc3NldC1waXBlbGluZVwiO1xuXG4vLyBDdXN0b20gSGVscGVyc1xuQGltcG9ydCBcImhlbHBlcnMvY29udmVydC11bml0c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvZm9udC1zb3VyY2UtZGVjbGFyYXRpb25cIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2lzLW51bVwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWFuZ2xlLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvbGluZWFyLXBvc2l0aW9ucy1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXJcIjtcbkBpbXBvcnQgXCJoZWxwZXJzL3JhZGlhbC1hcmctcGFyc2VyXCI7XG5AaW1wb3J0IFwiaGVscGVycy9yYWRpYWwtcG9zaXRpb25zLXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmFkaWFsLWdyYWRpZW50LXBhcnNlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvcmVuZGVyLWdyYWRpZW50c1wiO1xuQGltcG9ydCBcImhlbHBlcnMvc2hhcGUtc2l6ZS1zdHJpcHBlclwiO1xuQGltcG9ydCBcImhlbHBlcnMvc3RyLXRvLW51bVwiO1xuXG4vLyBDdXN0b20gRnVuY3Rpb25zXG5AaW1wb3J0IFwiZnVuY3Rpb25zL2Fzc2lnblwiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9jb2xvci1saWdodG5lc3NcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvY29udGFpbnNcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvaXMtbGVuZ3RoXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL2lzLXNpemVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tZW1cIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvcHgtdG8tcmVtXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3N0cmlwLXVuaXRzXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3RpbnQtc2hhZGVcIjtcbkBpbXBvcnQgXCJmdW5jdGlvbnMvdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL3VucGFja1wiO1xuQGltcG9ydCBcImZ1bmN0aW9ucy9tb2R1bGFyLXNjYWxlXCI7XG5cbi8vIENTUzMgTWl4aW5zXG5AaW1wb3J0IFwiY3NzMy9hbmltYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL2FwcGVhcmFuY2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tmYWNlLXZpc2liaWxpdHlcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmRcIjtcbkBpbXBvcnQgXCJjc3MzL2JhY2tncm91bmQtaW1hZ2VcIjtcbkBpbXBvcnQgXCJjc3MzL2JvcmRlci1pbWFnZVwiO1xuQGltcG9ydCBcImNzczMvYm9yZGVyLXJhZGl1c1wiO1xuQGltcG9ydCBcImNzczMvYm94LXNpemluZ1wiO1xuQGltcG9ydCBcImNzczMvY2FsY1wiO1xuQGltcG9ydCBcImNzczMvY29sdW1uc1wiO1xuQGltcG9ydCBcImNzczMvZmlsdGVyXCI7XG5AaW1wb3J0IFwiY3NzMy9mbGV4LWJveFwiO1xuQGltcG9ydCBcImNzczMvZm9udC1mYWNlXCI7XG5AaW1wb3J0IFwiY3NzMy9mb250LWZlYXR1cmUtc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJjc3MzL2hpZHBpLW1lZGlhLXF1ZXJ5XCI7XG5AaW1wb3J0IFwiY3NzMy9oeXBoZW5zXCI7XG5AaW1wb3J0IFwiY3NzMy9pbWFnZS1yZW5kZXJpbmdcIjtcbkBpbXBvcnQgXCJjc3MzL2tleWZyYW1lc1wiO1xuQGltcG9ydCBcImNzczMvbGluZWFyLWdyYWRpZW50XCI7XG5AaW1wb3J0IFwiY3NzMy9wZXJzcGVjdGl2ZVwiO1xuQGltcG9ydCBcImNzczMvcGxhY2Vob2xkZXJcIjtcbkBpbXBvcnQgXCJjc3MzL3JhZGlhbC1ncmFkaWVudFwiO1xuQGltcG9ydCBcImNzczMvc2VsZWN0aW9uXCI7XG5AaW1wb3J0IFwiY3NzMy90ZXh0LWRlY29yYXRpb25cIjtcbkBpbXBvcnQgXCJjc3MzL3RyYW5zZm9ybVwiO1xuQGltcG9ydCBcImNzczMvdHJhbnNpdGlvblwiO1xuQGltcG9ydCBcImNzczMvdXNlci1zZWxlY3RcIjtcblxuLy8gQWRkb25zICYgb3RoZXIgbWl4aW5zXG5AaW1wb3J0IFwiYWRkb25zL2NsZWFyZml4XCI7XG5AaW1wb3J0IFwiYWRkb25zL2RpcmVjdGlvbmFsLXZhbHVlc1wiO1xuQGltcG9ydCBcImFkZG9ucy9lbGxpcHNpc1wiO1xuQGltcG9ydCBcImFkZG9ucy9mb250LWZhbWlseVwiO1xuQGltcG9ydCBcImFkZG9ucy9oaWRlLXRleHRcIjtcbkBpbXBvcnQgXCJhZGRvbnMvaHRtbDUtaW5wdXQtdHlwZXNcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcG9zaXRpb25cIjtcbkBpbXBvcnQgXCJhZGRvbnMvcHJlZml4ZXJcIjtcbkBpbXBvcnQgXCJhZGRvbnMvcmV0aW5hLWltYWdlXCI7XG5AaW1wb3J0IFwiYWRkb25zL3NpemVcIjtcbkBpbXBvcnQgXCJhZGRvbnMvdGltaW5nLWZ1bmN0aW9uc1wiO1xuQGltcG9ydCBcImFkZG9ucy90cmlhbmdsZVwiO1xuQGltcG9ydCBcImFkZG9ucy93b3JkLXdyYXBcIjtcblxuLy8gU29vbiB0byBiZSBkZXByZWNhdGVkIE1peGluc1xuQGltcG9ydCBcImJvdXJib24tZGVwcmVjYXRlZC11cGNvbWluZ1wiO1xuIiwiLy8gVmFyaWFibGUgc2V0dGluZ3MgZm9yIC9hZGRvbnMvcHJlZml4ZXIuc2Nzc1xuJHByZWZpeC1mb3Itd2Via2l0OiAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbW96aWxsYTogICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3ItbWljcm9zb2Z0OiB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itb3BlcmE6ICAgICB0cnVlICFkZWZhdWx0O1xuJHByZWZpeC1mb3Itc3BlYzogICAgICB0cnVlICFkZWZhdWx0OyAvLyByZXF1aXJlZCBmb3Iga2V5ZnJhbWUgbWl4aW5cbiIsIiRlbS1iYXNlOiAxNnB4ICFkZWZhdWx0O1xuIiwiJGFzc2V0LXBpcGVsaW5lOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEhlbHBlciBmdW5jdGlvbiBmb3Igc3RyLXRvLW51bSBmbi5cbi8vIFNvdXJjZTogaHR0cDovL3Nhc3NtZWlzdGVyLmNvbS9naXN0Lzk2NDc0MDhcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiBfY29udmVydC11bml0cygkbnVtYmVyLCAkdW5pdCkge1xuICAkc3RyaW5nczogJ3B4JyAnY20nICdtbScgJyUnICdjaCcgJ3BpY2EnICdpbicgJ2VtJyAncmVtJyAncHQnICdwYycgJ2V4JyAndncnICd2aCcgJ3ZtaW4nICd2bWF4JywgJ2RlZycsICdyYWQnLCAnZ3JhZCcsICd0dXJuJztcbiAgJHVuaXRzOiAgIDFweCAgMWNtICAxbW0gIDElICAxY2ggIDFwaWNhICAxaW4gIDFlbSAgMXJlbSAgMXB0ICAxcGMgIDFleCAgMXZ3ICAxdmggIDF2bWluICAxdm1heCwgIDFkZWcsICAxcmFkLCAgMWdyYWQsIDF0dXJuO1xuICAkaW5kZXg6IGluZGV4KCRzdHJpbmdzLCAkdW5pdCk7XG5cbiAgQGlmIG5vdCAkaW5kZXgge1xuICAgIEB3YXJuIFwiVW5rbm93biB1bml0IGAjeyR1bml0fWAuXCI7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxuICBAcmV0dXJuICRudW1iZXIgKiBudGgoJHVuaXRzLCAkaW5kZXgpO1xufVxuIiwiLy8gVXNlZCBmb3IgY3JlYXRpbmcgdGhlIHNvdXJjZSBzdHJpbmcgZm9yIGZvbnRzIHVzaW5nIEBmb250LWZhY2Vcbi8vIFJlZmVyZW5jZTogaHR0cDovL2dvby5nbC9SdTFiS1BcblxuQGZ1bmN0aW9uIGZvbnQtdXJsLXByZWZpeGVyKCRhc3NldC1waXBlbGluZSkge1xuICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgIEByZXR1cm4gZm9udC11cmw7XG4gIH0gQGVsc2Uge1xuICAgIEByZXR1cm4gdXJsO1xuICB9XG59XG5cbkBmdW5jdGlvbiBmb250LXNvdXJjZS1kZWNsYXJhdGlvbihcbiAgJGZvbnQtZmFtaWx5LFxuICAkZmlsZS1wYXRoLFxuICAkYXNzZXQtcGlwZWxpbmUsXG4gICRmaWxlLWZvcm1hdHMsXG4gICRmb250LXVybCkge1xuXG4gICRzcmM6IG51bGw7XG5cbiAgJGZvcm1hdHMtbWFwOiAoXG4gICAgZW90OiAgIFwiI3skZmlsZS1wYXRofS5lb3Q/I2llZml4XCIgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksXG4gICAgd29mZjI6IFwiI3skZmlsZS1wYXRofS53b2ZmMlwiIGZvcm1hdChcIndvZmYyXCIpLFxuICAgIHdvZmY6ICBcIiN7JGZpbGUtcGF0aH0ud29mZlwiIGZvcm1hdChcIndvZmZcIiksXG4gICAgdHRmOiAgIFwiI3skZmlsZS1wYXRofS50dGZcIiBmb3JtYXQoXCJ0cnVldHlwZVwiKSxcbiAgICBzdmc6ICAgXCIjeyRmaWxlLXBhdGh9LnN2ZyMjeyRmb250LWZhbWlseX1cIiBmb3JtYXQoXCJzdmdcIilcbiAgKTtcblxuICBAZWFjaCAka2V5LCAkdmFsdWVzIGluICRmb3JtYXRzLW1hcCB7XG4gICAgQGlmIGNvbnRhaW5zKCRmaWxlLWZvcm1hdHMsICRrZXkpIHtcbiAgICAgICRmaWxlLXBhdGg6IG50aCgkdmFsdWVzLCAxKTtcbiAgICAgICRmb250LWZvcm1hdDogbnRoKCR2YWx1ZXMsIDIpO1xuXG4gICAgICBAaWYgJGFzc2V0LXBpcGVsaW5lID09IHRydWUge1xuICAgICAgICAkc3JjOiBhcHBlbmQoJHNyYywgZm9udC11cmwoJGZpbGUtcGF0aCkgJGZvbnQtZm9ybWF0LCBjb21tYSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHNyYzogYXBwZW5kKCRzcmMsIHVybCgkZmlsZS1wYXRoKSAkZm9udC1mb3JtYXQsIGNvbW1hKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzcmM7XG59XG4iLCJAZnVuY3Rpb24gX2dyYWRpZW50LXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXR5cGUsICRncmFkaWVudC1wb3NpdGlvbnMpIHtcbiAgQGlmICRncmFkaWVudC1wb3NpdGlvbnNcbiAgYW5kICgkZ3JhZGllbnQtdHlwZSA9PSBsaW5lYXIpXG4gIGFuZCAodHlwZS1vZigkZ3JhZGllbnQtcG9zaXRpb25zKSAhPSBjb2xvcikge1xuICAgICRncmFkaWVudC1wb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zaXRpb25zKTtcbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtcG9zaXRpb25zXG4gIGFuZCAoJGdyYWRpZW50LXR5cGUgPT0gcmFkaWFsKVxuICBhbmQgKHR5cGUtb2YoJGdyYWRpZW50LXBvc2l0aW9ucykgIT0gY29sb3IpIHtcbiAgICAkZ3JhZGllbnQtcG9zaXRpb25zOiBfcmFkaWFsLXBvc2l0aW9ucy1wYXJzZXIoJGdyYWRpZW50LXBvc2l0aW9ucyk7XG4gIH1cbiAgQHJldHVybiAkZ3JhZGllbnQtcG9zaXRpb25zO1xufVxuIiwiLy8gQ2hlY2sgZm9yIGEgdmFsaWQgbnVtYmVyXG5cbkBmdW5jdGlvbiBfaXMtbnVtKCR2YWx1ZSkge1xuICBAcmV0dXJuIGNvbnRhaW5zKCcwJyAnMScgJzInICczJyAnNCcgJzUnICc2JyAnNycgJzgnICc5JyAwIDEgMiAzIDQgNSA2IDcgOCA5LCAkdmFsdWUpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItYW5nbGUtcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCkge1xuICAkb2Zmc2V0OiBudWxsO1xuICAkdW5pdC1zaG9ydDogIHN0ci1zbGljZSgkZmlyc3QtdmFsLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpIC0gMiwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR1bml0LWxvbmc6ICAgc3RyLXNsaWNlKCRmaXJzdC12YWwsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkgLSAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcblxuICBAaWYgKCR1bml0LWxvbmcgPT0gXCJncmFkXCIpIG9yXG4gICAgICAoJHVuaXQtbG9uZyA9PSBcInR1cm5cIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LWxvbmcgPT0gXCJncmFkXCIsIC0xMDBncmFkICogMywgLTAuNzV0dXJuKTtcbiAgfVxuXG4gIEBlbHNlIGlmICgkdW5pdC1zaG9ydCA9PSBcImRlZ1wiKSBvclxuICAgICAgICAgICAoJHVuaXQtc2hvcnQgPT0gXCJyYWRcIikge1xuICAgICRvZmZzZXQ6IGlmKCR1bml0LXNob3J0ID09IFwiZGVnXCIsIC05MCAqIDMsIDEuNnJhZCk7XG4gIH1cblxuICBAaWYgJG9mZnNldCB7XG4gICAgJG51bTogX3N0ci10by1udW0oJGZpcnN0LXZhbCk7XG5cbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgKCRvZmZzZXQgLSAkbnVtKSArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG59XG4iLCJAZnVuY3Rpb24gX2xpbmVhci1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDAsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGhhcy1tdWx0aXBsZS12YWxzOiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCIgXCIpO1xuICAkaGFzLXNpbmdsZS1wb3NpdGlvbjogdW5xdW90ZShfcG9zaXRpb24tZmxpcHBlcigkZmlyc3QtdmFsKSArIFwiXCIpO1xuICAkaGFzLWFuZ2xlOiBfaXMtbnVtKHN0ci1zbGljZSgkZmlyc3QtdmFsLCAwLCAwKSk7XG5cbiAgQGlmICRoYXMtbXVsdGlwbGUtdmFscyB7XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1zaWRlLWNvcm5lci1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4LCAkaGFzLW11bHRpcGxlLXZhbHMpO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1zaW5nbGUtcG9zaXRpb24gIT0gXCJcIiB7XG4gICAgJHBvczogdW5xdW90ZSgkaGFzLXNpbmdsZS1wb3NpdGlvbiArIFwiXCIpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRwcmVmaXggKyBcInRvIFwiICsgJHBvcyArICRzdWZmaXhcbiAgICApO1xuICB9XG5cbiAgQGVsc2UgaWYgJGhhcy1hbmdsZSB7XG4gICAgLy8gUm90YXRlIGRlZ3JlZSBmb3Igd2Via2l0XG4gICAgJGdyYWRpZW50czogX2xpbmVhci1hbmdsZS1wYXJzZXIoJGltYWdlLCAkZmlyc3QtdmFsLCAkcHJlZml4LCAkc3VmZml4KTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJGltYWdlXG4gICAgKTtcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfbGluZWFyLXBvc2l0aW9ucy1wYXJzZXIoJHBvcykge1xuICAkdHlwZTogdHlwZS1vZihudGgoJHBvcywgMSkpO1xuICAkc3BlYzogbnVsbDtcbiAgJGRlZ3JlZTogbnVsbDtcbiAgJHNpZGU6IG51bGw7XG4gICRjb3JuZXI6IG51bGw7XG4gICRsZW5ndGg6IGxlbmd0aCgkcG9zKTtcbiAgLy8gUGFyc2UgU2lkZSBhbmQgY29ybmVyIHBvc2l0aW9uc1xuICBAaWYgKCRsZW5ndGggPiAxKSB7XG4gICAgQGlmIG50aCgkcG9zLCAxKSA9PSBcInRvXCIgeyAvLyBOZXdlciBzeW50YXhcbiAgICAgICRzaWRlOiBudGgoJHBvcywgMik7XG5cbiAgICAgIEBpZiAkbGVuZ3RoID09IDIgeyAvLyBlZy4gdG8gdG9wXG4gICAgICAgIC8vIFN3YXAgZm9yIGJhY2t3YXJkcyBjb21wYXRhYmlsaXR5XG4gICAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKG50aCgkcG9zLCAyKSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDMgeyAvLyBlZy4gdG8gdG9wIGxlZnRcbiAgICAgICAgJGNvcm5lcjogbnRoKCRwb3MsIDMpO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkbGVuZ3RoID09IDIgeyAvLyBPbGRlciBzeW50YXggKFwidG9wIGxlZnRcIilcbiAgICAgICRzaWRlOiBfcG9zaXRpb24tZmxpcHBlcihudGgoJHBvcywgMSkpO1xuICAgICAgJGNvcm5lcjogX3Bvc2l0aW9uLWZsaXBwZXIobnRoKCRwb3MsIDIpKTtcbiAgICB9XG5cbiAgICBAaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwibGVmdCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIGxlZnRcIikge1xuICAgICAgJGRlZ3JlZTogX3Bvc2l0aW9uLWZsaXBwZXIoI3skc2lkZX0pIF9wb3NpdGlvbi1mbGlwcGVyKCN7JGNvcm5lcn0pO1xuICAgIH1cbiAgICBAZWxzZSBpZiAoXCIjeyRzaWRlfSAjeyRjb3JuZXJ9XCIgPT0gXCJyaWdodCB0b3BcIikgb3IgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwidG9wIHJpZ2h0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgQGVsc2UgaWYgKFwiI3skc2lkZX0gI3skY29ybmVyfVwiID09IFwicmlnaHQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSByaWdodFwiKSB7XG4gICAgICAkZGVncmVlOiBfcG9zaXRpb24tZmxpcHBlcigjeyRzaWRlfSkgX3Bvc2l0aW9uLWZsaXBwZXIoI3skY29ybmVyfSk7XG4gICAgfVxuICAgIEBlbHNlIGlmIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImxlZnQgYm90dG9tXCIpIG9yIChcIiN7JHNpZGV9ICN7JGNvcm5lcn1cIiA9PSBcImJvdHRvbSBsZWZ0XCIpIHtcbiAgICAgICRkZWdyZWU6IF9wb3NpdGlvbi1mbGlwcGVyKCN7JHNpZGV9KSBfcG9zaXRpb24tZmxpcHBlcigjeyRjb3JuZXJ9KTtcbiAgICB9XG4gICAgJHNwZWM6IHRvICRzaWRlICRjb3JuZXI7XG4gIH1cbiAgQGVsc2UgaWYgJGxlbmd0aCA9PSAxIHtcbiAgICAvLyBTd2FwIGZvciBiYWNrd2FyZHMgY29tcGF0YWJpbGl0eVxuICAgIEBpZiAkdHlwZSA9PSBzdHJpbmcge1xuICAgICAgJGRlZ3JlZTogJHBvcztcbiAgICAgICRzcGVjOiB0byBfcG9zaXRpb24tZmxpcHBlcigkcG9zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGRlZ3JlZTogLTI3MCAtICRwb3M7IC8vcm90YXRlIHRoZSBncmFkaWVudCBvcHBvc2l0ZSBmcm9tIHNwZWNcbiAgICAgICRzcGVjOiAkcG9zO1xuICAgIH1cbiAgfVxuICAkZGVncmVlOiB1bnF1b3RlKCRkZWdyZWUgKyBcIixcIik7XG4gICRzcGVjOiAgIHVucXVvdGUoJHNwZWMgKyBcIixcIik7XG4gIEByZXR1cm4gJGRlZ3JlZSAkc3BlYztcbn1cblxuQGZ1bmN0aW9uIF9wb3NpdGlvbi1mbGlwcGVyKCRwb3MpIHtcbiBAcmV0dXJuIGlmKCRwb3MgPT0gbGVmdCwgcmlnaHQsIG51bGwpXG4gICAgICAgICBpZigkcG9zID09IHJpZ2h0LCBsZWZ0LCBudWxsKVxuICAgICAgICAgaWYoJHBvcyA9PSB0b3AsIGJvdHRvbSwgbnVsbClcbiAgICAgICAgIGlmKCRwb3MgPT0gYm90dG9tLCB0b3AsIG51bGwpO1xufVxuIiwiLy8gUHJpdmF0ZSBmdW5jdGlvbiBmb3IgbGluZWFyLWdyYWRpZW50LXBhcnNlclxuQGZ1bmN0aW9uIF9saW5lYXItc2lkZS1jb3JuZXItcGFyc2VyKCRpbWFnZSwgJGZpcnN0LXZhbCwgJHByZWZpeCwgJHN1ZmZpeCwgJGhhcy1tdWx0aXBsZS12YWxzKSB7XG4gICR2YWwtMTogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDAsICRoYXMtbXVsdGlwbGUtdmFscyAtIDEgKTtcbiAgJHZhbC0yOiBzdHItc2xpY2UoJGZpcnN0LXZhbCwgJGhhcy1tdWx0aXBsZS12YWxzICsgMSwgc3RyLWxlbmd0aCgkZmlyc3QtdmFsKSk7XG4gICR2YWwtMzogbnVsbDtcbiAgJGhhcy12YWwtMzogc3RyLWluZGV4KCR2YWwtMiwgXCIgXCIpO1xuXG4gIEBpZiAkaGFzLXZhbC0zIHtcbiAgICAkdmFsLTM6IHN0ci1zbGljZSgkdmFsLTIsICRoYXMtdmFsLTMgKyAxLCBzdHItbGVuZ3RoKCR2YWwtMikpO1xuICAgICR2YWwtMjogc3RyLXNsaWNlKCR2YWwtMiwgMCwgJGhhcy12YWwtMyAtIDEpO1xuICB9XG5cbiAgJHBvczogX3Bvc2l0aW9uLWZsaXBwZXIoJHZhbC0xKSBfcG9zaXRpb24tZmxpcHBlcigkdmFsLTIpIF9wb3NpdGlvbi1mbGlwcGVyKCR2YWwtMyk7XG4gICRwb3M6IHVucXVvdGUoJHBvcyArIFwiXCIpO1xuXG4gIC8vIFVzZSBvbGQgc3BlYyBmb3Igd2Via2l0XG4gIEBpZiAkdmFsLTEgPT0gXCJ0b1wiIHtcbiAgICBAcmV0dXJuIChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApO1xuICB9XG5cbiAgLy8gQnJpbmcgdGhlIGNvZGUgdXAgdG8gc3BlY1xuICBAZWxzZSB7XG4gICAgQHJldHVybiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IC13ZWJraXQtICsgJGltYWdlLFxuICAgICAgc3BlYy1pbWFnZTogJHByZWZpeCArIFwidG8gXCIgKyAkcG9zICsgJHN1ZmZpeFxuICAgICk7XG4gIH1cbn1cbiIsIkBmdW5jdGlvbiBfcmFkaWFsLWFyZy1wYXJzZXIoJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplKSB7XG4gIEBlYWNoICR2YWx1ZSBpbiAkRzEsICRHMiB7XG4gICAgJGZpcnN0LXZhbDogbnRoKCR2YWx1ZSwgMSk7XG4gICAgJHBvcy10eXBlOiAgdHlwZS1vZigkZmlyc3QtdmFsKTtcbiAgICAkc3BlYy1hdC1pbmRleDogbnVsbDtcblxuICAgIC8vIERldGVybWluZSBpZiBzcGVjIHdhcyBwYXNzZWQgdG8gbWl4aW5cbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xuICAgICAgJHNwZWMtYXQtaW5kZXg6IGlmKGluZGV4KCR2YWx1ZSwgYXQpLCBpbmRleCgkdmFsdWUsIGF0KSwgZmFsc2UpO1xuICAgIH1cbiAgICBAaWYgJHNwZWMtYXQtaW5kZXgge1xuICAgICAgQGlmICRzcGVjLWF0LWluZGV4ID4gMSB7XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggKCRzcGVjLWF0LWluZGV4IC0gMSkge1xuICAgICAgICAgICRzaGFwZS1zaXplOiAkc2hhcGUtc2l6ZSBudGgoJHZhbHVlLCAkaSk7XG4gICAgICAgIH1cbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkc3BlYy1hdC1pbmRleCA9PSAxIHtcbiAgICAgICAgQGZvciAkaSBmcm9tICgkc3BlYy1hdC1pbmRleCArIDEpIHRocm91Z2ggbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAgICRwb3M6ICRwb3MgbnRoKCR2YWx1ZSwgJGkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAkRzE6IG51bGw7XG4gICAgfVxuXG4gICAgLy8gSWYgbm90IHNwZWMgY2FsY3VsYXRlIGNvcnJlY3QgdmFsdWVzXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICgkcG9zLXR5cGUgIT0gY29sb3IpIG9yICgkZmlyc3QtdmFsICE9IFwidHJhbnNwYXJlbnRcIikge1xuICAgICAgICBAaWYgKCRwb3MtdHlwZSA9PSBudW1iZXIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2VudGVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwidG9wXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwicmlnaHRcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJib3R0b21cIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJsZWZ0XCIpIHtcblxuICAgICAgICAgICRwb3M6ICR2YWx1ZTtcblxuICAgICAgICAgIEBpZiAkcG9zID09ICRHMSB7XG4gICAgICAgICAgICAkRzE6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVsc2UgaWZcbiAgICAgICAgICAgKCRmaXJzdC12YWwgPT0gXCJlbGxpcHNlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2lyY2xlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY2xvc2VzdC1jb3JuZXJcIilcbiAgICAgICAgb3IgKCRmaXJzdC12YWwgPT0gXCJmYXJ0aGVzdC1zaWRlXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiZmFydGhlc3QtY29ybmVyXCIpXG4gICAgICAgIG9yICgkZmlyc3QtdmFsID09IFwiY29udGFpblwiKVxuICAgICAgICBvciAoJGZpcnN0LXZhbCA9PSBcImNvdmVyXCIpIHtcblxuICAgICAgICAgICRzaGFwZS1zaXplOiAkdmFsdWU7XG5cbiAgICAgICAgICBAaWYgJHZhbHVlID09ICRHMSB7XG4gICAgICAgICAgICAkRzE6IG51bGw7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGVsc2UgaWYgJHZhbHVlID09ICRHMiB7XG4gICAgICAgICAgICAkRzI6IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJEcxLCAkRzIsICRwb3MsICRzaGFwZS1zaXplO1xufVxuIiwiQGZ1bmN0aW9uIF9yYWRpYWwtcG9zaXRpb25zLXBhcnNlcigkZ3JhZGllbnQtcG9zKSB7XG4gICRzaGFwZS1zaXplOiBudGgoJGdyYWRpZW50LXBvcywgMSk7XG4gICRwb3M6ICAgICAgICBudGgoJGdyYWRpZW50LXBvcywgMik7XG4gICRzaGFwZS1zaXplLXNwZWM6IF9zaGFwZS1zaXplLXN0cmlwcGVyKCRzaGFwZS1zaXplKTtcblxuICAkcHJlLXNwZWM6IHVucXVvdGUoaWYoJHBvcywgXCIjeyRwb3N9LCBcIiwgbnVsbCkpXG4gICAgICAgICAgICAgdW5xdW90ZShpZigkc2hhcGUtc2l6ZSwgXCIjeyRzaGFwZS1zaXplfSxcIiwgbnVsbCkpO1xuICAkcG9zLXNwZWM6IGlmKCRwb3MsIFwiYXQgI3skcG9zfVwiLCBudWxsKTtcblxuICAkc3BlYzogXCIjeyRzaGFwZS1zaXplLXNwZWN9ICN7JHBvcy1zcGVjfVwiO1xuXG4gIC8vIEFkZCBjb21tYVxuICBAaWYgKCRzcGVjICE9ICcgICcpIHtcbiAgICAkc3BlYzogXCIjeyRzcGVjfSxcIlxuICB9XG5cbiAgQHJldHVybiAkcHJlLXNwZWMgJHNwZWM7XG59XG4iLCJAZnVuY3Rpb24gX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKSB7XG4gICRpbWFnZTogdW5xdW90ZSgkaW1hZ2UpO1xuICAkZ3JhZGllbnRzOiAoKTtcbiAgJHN0YXJ0OiBzdHItaW5kZXgoJGltYWdlLCBcIihcIik7XG4gICRlbmQ6IHN0ci1pbmRleCgkaW1hZ2UsIFwiLFwiKTtcbiAgJGZpcnN0LXZhbDogc3RyLXNsaWNlKCRpbWFnZSwgJHN0YXJ0ICsgMSwgJGVuZCAtIDEpO1xuXG4gICRwcmVmaXg6IHN0ci1zbGljZSgkaW1hZ2UsIDAsICRzdGFydCk7XG4gICRzdWZmaXg6IHN0ci1zbGljZSgkaW1hZ2UsICRlbmQsIHN0ci1sZW5ndGgoJGltYWdlKSk7XG5cbiAgJGlzLXNwZWMtc3ludGF4OiBzdHItaW5kZXgoJGZpcnN0LXZhbCwgXCJhdFwiKTtcblxuICBAaWYgJGlzLXNwZWMtc3ludGF4IGFuZCAkaXMtc3BlYy1zeW50YXggPiAxIHtcbiAgICAka2V5d29yZDogc3RyLXNsaWNlKCRmaXJzdC12YWwsIDEsICRpcy1zcGVjLXN5bnRheCAtIDIpO1xuICAgICRwb3M6IHN0ci1zbGljZSgkZmlyc3QtdmFsLCAkaXMtc3BlYy1zeW50YXggKyAzLCBzdHItbGVuZ3RoKCRmaXJzdC12YWwpKTtcbiAgICAkcG9zOiBhcHBlbmQoJHBvcywgJGtleXdvcmQsIGNvbW1hKTtcblxuICAgICRncmFkaWVudHM6IChcbiAgICAgIHdlYmtpdC1pbWFnZTogLXdlYmtpdC0gKyAkcHJlZml4ICsgJHBvcyArICRzdWZmaXgsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSBpZiAkaXMtc3BlYy1zeW50YXggPT0gMSB7XG4gICAgJHBvczogc3RyLXNsaWNlKCRmaXJzdC12YWwsICRpcy1zcGVjLXN5bnRheCArIDMsIHN0ci1sZW5ndGgoJGZpcnN0LXZhbCkpO1xuXG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRwcmVmaXggKyAkcG9zICsgJHN1ZmZpeCxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgIClcbiAgfVxuXG4gIEBlbHNlIGlmIHN0ci1pbmRleCgkaW1hZ2UsIFwiY292ZXJcIikgb3Igc3RyLWluZGV4KCRpbWFnZSwgXCJjb250YWluXCIpIHtcbiAgICBAd2FybiBcIlJhZGlhbC1ncmFkaWVudCBuZWVkcyB0byBiZSB1cGRhdGVkIHRvIGNvbmZvcm0gdG8gbGF0ZXN0IHNwZWMuXCI7XG5cbiAgICAkZ3JhZGllbnRzOiAoXG4gICAgICB3ZWJraXQtaW1hZ2U6IG51bGwsXG4gICAgICBzcGVjLWltYWdlOiAkaW1hZ2VcbiAgICApXG4gIH1cblxuICBAZWxzZSB7XG4gICAgJGdyYWRpZW50czogKFxuICAgICAgd2Via2l0LWltYWdlOiAtd2Via2l0LSArICRpbWFnZSxcbiAgICAgIHNwZWMtaW1hZ2U6ICRpbWFnZVxuICAgIClcbiAgfVxuXG4gIEByZXR1cm4gJGdyYWRpZW50cztcbn1cbiIsIi8vIFVzZXIgZm9yIGxpbmVhciBhbmQgcmFkaWFsIGdyYWRpZW50cyB3aXRoaW4gYmFja2dyb3VuZC1pbWFnZSBvciBib3JkZXItaW1hZ2UgcHJvcGVydGllc1xuXG5AZnVuY3Rpb24gX3JlbmRlci1ncmFkaWVudHMoJGdyYWRpZW50LXBvc2l0aW9ucywgJGdyYWRpZW50cywgJGdyYWRpZW50LXR5cGUsICR2ZW5kb3I6IGZhbHNlKSB7XG4gICRwcmUtc3BlYzogbnVsbDtcbiAgJHNwZWM6IG51bGw7XG4gICR2ZW5kb3ItZ3JhZGllbnRzOiBudWxsO1xuICBAaWYgJGdyYWRpZW50LXR5cGUgPT0gbGluZWFyIHtcbiAgICBAaWYgJGdyYWRpZW50LXBvc2l0aW9ucyB7XG4gICAgICAkcHJlLXNwZWM6IG50aCgkZ3JhZGllbnQtcG9zaXRpb25zLCAxKTtcbiAgICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSByYWRpYWwge1xuICAgICRwcmUtc3BlYzogbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDEpO1xuICAgICRzcGVjOiAgICAgbnRoKCRncmFkaWVudC1wb3NpdGlvbnMsIDIpO1xuICB9XG5cbiAgQGlmICR2ZW5kb3Ige1xuICAgICR2ZW5kb3ItZ3JhZGllbnRzOiAtI3skdmVuZG9yfS0jeyRncmFkaWVudC10eXBlfS1ncmFkaWVudCgjeyRwcmUtc3BlY30gJGdyYWRpZW50cyk7XG4gIH1cbiAgQGVsc2UgaWYgJHZlbmRvciA9PSBmYWxzZSB7XG4gICAgJHZlbmRvci1ncmFkaWVudHM6IFwiI3skZ3JhZGllbnQtdHlwZX0tZ3JhZGllbnQoI3skc3BlY30gI3skZ3JhZGllbnRzfSlcIjtcbiAgICAkdmVuZG9yLWdyYWRpZW50czogdW5xdW90ZSgkdmVuZG9yLWdyYWRpZW50cyk7XG4gIH1cbiAgQHJldHVybiAkdmVuZG9yLWdyYWRpZW50cztcbn1cbiIsIkBmdW5jdGlvbiBfc2hhcGUtc2l6ZS1zdHJpcHBlcigkc2hhcGUtc2l6ZSkge1xuICAkc2hhcGUtc2l6ZS1zcGVjOiBudWxsO1xuICBAZWFjaCAkdmFsdWUgaW4gJHNoYXBlLXNpemUge1xuICAgIEBpZiAoJHZhbHVlID09IFwiY292ZXJcIikgb3IgKCR2YWx1ZSA9PSBcImNvbnRhaW5cIikge1xuICAgICAgJHZhbHVlOiBudWxsO1xuICAgIH1cbiAgICAkc2hhcGUtc2l6ZS1zcGVjOiBcIiN7JHNoYXBlLXNpemUtc3BlY30gI3skdmFsdWV9XCI7XG4gIH1cbiAgQHJldHVybiAkc2hhcGUtc2l6ZS1zcGVjO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBsaW5lYXIvcmFkaWFsLWdyYWRpZW50LXBhcnNlcnMuXG4vLyBTb3VyY2U6IGh0dHA6Ly9zYXNzbWVpc3Rlci5jb20vZ2lzdC85NjQ3NDA4XG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5AZnVuY3Rpb24gX3N0ci10by1udW0oJHN0cmluZykge1xuICAvLyBNYXRyaWNlc1xuICAkc3RyaW5nczogJzAnICcxJyAnMicgJzMnICc0JyAnNScgJzYnICc3JyAnOCcgJzknO1xuICAkbnVtYmVyczogIDAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDk7XG5cbiAgLy8gUmVzdWx0XG4gICRyZXN1bHQ6IDA7XG4gICRkaXZpZGVyOiAwO1xuICAkbWludXM6IGZhbHNlO1xuXG4gIC8vIExvb3BpbmcgdGhyb3VnaCBhbGwgY2hhcmFjdGVyc1xuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIHN0ci1sZW5ndGgoJHN0cmluZykge1xuICAgICRjaGFyYWN0ZXI6IHN0ci1zbGljZSgkc3RyaW5nLCAkaSwgJGkpO1xuICAgICRpbmRleDogaW5kZXgoJHN0cmluZ3MsICRjaGFyYWN0ZXIpO1xuXG4gICAgQGlmICRjaGFyYWN0ZXIgPT0gJy0nIHtcbiAgICAgICRtaW51czogdHJ1ZTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAkZGl2aWRlcjogMTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICBAaWYgbm90ICRpbmRleCB7XG4gICAgICAgICRyZXN1bHQ6IGlmKCRtaW51cywgJHJlc3VsdCAqIC0xLCAkcmVzdWx0KTtcbiAgICAgICAgQHJldHVybiBfY29udmVydC11bml0cygkcmVzdWx0LCBzdHItc2xpY2UoJHN0cmluZywgJGkpKTtcbiAgICAgIH1cblxuICAgICAgJG51bWJlcjogbnRoKCRudW1iZXJzLCAkaW5kZXgpO1xuXG4gICAgICBAaWYgJGRpdmlkZXIgPT0gMCB7XG4gICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMDtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAvLyBNb3ZlIHRoZSBkZWNpbWFsIGRvdCB0byB0aGUgbGVmdFxuICAgICAgICAkZGl2aWRlcjogJGRpdmlkZXIgKiAxMDtcbiAgICAgICAgJG51bWJlcjogJG51bWJlciAvICRkaXZpZGVyO1xuICAgICAgfVxuXG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgJG51bWJlcjtcbiAgICB9XG4gIH1cbiAgQHJldHVybiBpZigkbWludXMsICRyZXN1bHQgKiAtMSwgJHJlc3VsdCk7XG59XG4iLCJAZnVuY3Rpb24gYXNzaWduLWlucHV0cygkaW5wdXRzLCAkcHNldWRvOiBudWxsKSB7XG4gICRsaXN0IDogKCk7XG5cbiAgQGVhY2ggJGlucHV0IGluICRpbnB1dHMge1xuICAgICRpbnB1dDogdW5xdW90ZSgkaW5wdXQpO1xuICAgICRpbnB1dDogaWYoJHBzZXVkbywgJGlucHV0ICsgXCI6XCIgKyAkcHNldWRvLCAkaW5wdXQpO1xuICAgICRsaXN0OiBhcHBlbmQoJGxpc3QsICRpbnB1dCwgY29tbWEpO1xuICB9XG5cbiAgQHJldHVybiAkbGlzdDtcbn0iLCIvLyBQcm9ncmFtYXRpY2FsbHkgZGV0ZXJtaW5lcyB3aGV0aGVyIGEgY29sb3IgaXMgbGlnaHQgb3IgZGFya1xuLy8gUmV0dXJucyBhIGJvb2xlYW5cbi8vIE1vcmUgZGV0YWlscyBoZXJlIGh0dHA6Ly9yb2JvdHMudGhvdWdodGJvdC5jb20vY2xvc2VyLWxvb2stY29sb3ItbGlnaHRuZXNzXG5cbkBmdW5jdGlvbiBpcy1saWdodCgkaGV4LWNvbG9yKSB7XG4gICQtbG9jYWwtcmVkOiByZWQocmdiYSgkaGV4LWNvbG9yLCAxLjApKTtcbiAgJC1sb2NhbC1ncmVlbjogZ3JlZW4ocmdiYSgkaGV4LWNvbG9yLCAxLjApKTtcbiAgJC1sb2NhbC1ibHVlOiBibHVlKHJnYmEoJGhleC1jb2xvciwgMS4wKSk7XG5cbiAgJC1sb2NhbC1saWdodG5lc3M6ICgkLWxvY2FsLXJlZCAqIDAuMjEyNiArICQtbG9jYWwtZ3JlZW4gKiAwLjcxNTIgKyAkLWxvY2FsLWJsdWUgKiAwLjA3MjIpIC8gMjU1O1xuXG4gIEByZXR1cm4gJC1sb2NhbC1saWdodG5lc3MgPiAuNjtcbn1cbiIsIi8vIFRlc3QgYSBTYXNzIGxpc3QgdG8gc2VlIGlmIGl0IGNvbnRhaW5zIGEgZGVmaW5lZCB2YWx1ZVxuLy8gQWxsb3dzIGZvciBjaGVja2luZyBpZiBhIGxpc3QgY29udGFpbnMgc2V2ZXJhbCB2YWx1ZXMgYXQgb25jZVxuXG5AZnVuY3Rpb24gY29udGFpbnMoJGxpc3QsICR2YWx1ZXMuLi4pIHtcbiAgQGVhY2ggJHZhbHVlIGluICR2YWx1ZXMge1xuICAgIEBpZiB0eXBlLW9mKGluZGV4KCRsaXN0LCAkdmFsdWUpKSAhPSBcIm51bWJlclwiIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuIiwiLy8gQ2hlY2sgZm9yIGEgdmFsaWQgbGVuZ3RoXG5cbkBmdW5jdGlvbiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gIEByZXR1cm4gdHlwZS1vZigkdmFsdWUpICE9IFwibnVsbFwiIGFuZCAoc3RyLXNsaWNlKCR2YWx1ZSArIFwiXCIsIDEsIDQpID09ICdjYWxjJ1xuICAgICAgIG9yIGluZGV4KGF1dG8gaW5oZXJpdCBpbml0aWFsIDAsICR2YWx1ZSlcbiAgICAgICBvciAodHlwZS1vZigkdmFsdWUpID09IFwibnVtYmVyXCIgYW5kIG5vdCh1bml0bGVzcygkdmFsdWUpKSkpO1xufVxuIiwiLy8gQ2hlY2sgZm9yIGEgdmFsaWQgc2l6ZVxuXG5AZnVuY3Rpb24gaXMtc2l6ZSgkdmFsdWUpIHtcbiAgQHJldHVybiBpcy1sZW5ndGgoJHZhbHVlKVxuICAgICAgICAgIG9yIGNvbnRhaW5zKFwiZmlsbFwiIFwiZml0LWNvbnRlbnRcIiBcIm1pbi1jb250ZW50XCIgXCJtYXgtY29udGVudFwiLCAkdmFsdWUpO1xufVxuIiwiLy8gQ29udmVydCBwaXhlbHMgdG8gZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIGVtKDEyKSB3aGVuIHRoZSBwYXJlbnQgaXMgMTZweFxuLy8gaWYgdGhlIHBhcmVudCBpcyBhbm90aGVyIHZhbHVlIHNheSAyNHB4IHdyaXRlIGVtKDEyLCAyNClcblxuQGZ1bmN0aW9uIGVtKCRweHZhbCwgJGJhc2U6ICRlbS1iYXNlKSB7XG4gIEBpZiBub3QgdW5pdGxlc3MoJHB4dmFsKSB7XG4gICAgICAkcHh2YWw6IHN0cmlwLXVuaXRzKCRweHZhbCk7XG4gIH1cbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxZW07XG59XG4iLCIvLyBDb252ZXJ0IHBpeGVscyB0byByZW1zXG4vLyBlZy4gZm9yIGEgcmVsYXRpb25hbCB2YWx1ZSBvZiAxMnB4IHdyaXRlIHJlbSgxMilcbi8vIEFzc3VtZXMgJGVtLWJhc2UgaXMgdGhlIGZvbnQtc2l6ZSBvZiA8aHRtbD5cblxuQGZ1bmN0aW9uIHJlbSgkcHh2YWwpIHtcbiAgQGlmIG5vdCB1bml0bGVzcygkcHh2YWwpIHtcbiAgICAgICRweHZhbDogc3RyaXAtdW5pdHMoJHB4dmFsKTtcbiAgfVxuXG4gICRiYXNlOiAkZW0tYmFzZTtcbiAgQGlmIG5vdCB1bml0bGVzcygkYmFzZSkge1xuICAgICAgJGJhc2U6IHN0cmlwLXVuaXRzKCRiYXNlKTtcbiAgfVxuICBAcmV0dXJuICgkcHh2YWwgLyAkYmFzZSkgKiAxcmVtO1xufVxuIiwiLy8gU3J0aXBzIHRoZSB1bml0cyBmcm9tIGEgdmFsdWUuIGUuZy4gMTJweCAtPiAxMlxuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdHMoJHZhbCkge1xuICBAcmV0dXJuICgkdmFsIC8gKCR2YWwgKiAwICsgMSkpO1xufVxuIiwiLy8gQWRkIHBlcmNlbnRhZ2Ugb2Ygd2hpdGUgdG8gYSBjb2xvclxuQGZ1bmN0aW9uIHRpbnQoJGNvbG9yLCAkcGVyY2VudCl7XG4gIEByZXR1cm4gbWl4KHdoaXRlLCAkY29sb3IsICRwZXJjZW50KTtcbn1cblxuLy8gQWRkIHBlcmNlbnRhZ2Ugb2YgYmxhY2sgdG8gYSBjb2xvclxuQGZ1bmN0aW9uIHNoYWRlKCRjb2xvciwgJHBlcmNlbnQpe1xuICBAcmV0dXJuIG1peChibGFjaywgJGNvbG9yLCAkcGVyY2VudCk7XG59XG4iLCIvLyBSZXR1cm4gdmVuZG9yLXByZWZpeGVkIHByb3BlcnR5IG5hbWVzIGlmIGFwcHJvcHJpYXRlXG4vLyBFeGFtcGxlOiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCh0cmFuc2Zvcm0sIGNvbG9yLCBiYWNrZ3JvdW5kKSwgbW96KSAtPiAtbW96LXRyYW5zZm9ybSwgY29sb3IsIGJhY2tncm91bmRcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wcywgJHZlbmRvcjogZmFsc2UpIHtcblx0JG5ldy1wcm9wczogKCk7XG5cdFxuXHRAZWFjaCAkcHJvcCBpbiAkcHJvcHMge1xuXHRcdCRuZXctcHJvcHM6IGFwcGVuZCgkbmV3LXByb3BzLCB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3IpLCBjb21tYSk7XG5cdH1cblxuXHRAcmV0dXJuICRuZXctcHJvcHM7XG59XG5cbkBmdW5jdGlvbiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWUoJHByb3AsICR2ZW5kb3I6IGZhbHNlKSB7XG5cdC8vIHB1dCBvdGhlciBwcm9wZXJ0aWVzIHRoYXQgbmVlZCB0byBiZSBwcmVmaXhlZCBoZXJlIGFzd2VsbFxuXHRAaWYgJHZlbmRvciBhbmQgJHByb3AgPT0gdHJhbnNmb3JtIHtcblx0XHRAcmV0dXJuIHVucXVvdGUoJy0nKyR2ZW5kb3IrJy0nKyRwcm9wKTtcblx0fVxuXHRAZWxzZSB7XG5cdFx0QHJldHVybiAkcHJvcDtcblx0fVxufSIsIi8vIENvbnZlcnQgc2hvcnRoYW5kIHRvIHRoZSA0LXZhbHVlIHN5bnRheFxuXG5AZnVuY3Rpb24gdW5wYWNrKCRzaG9ydGhhbmQpIHtcbiAgQGlmIGxlbmd0aCgkc2hvcnRoYW5kKSA9PSAxIHtcbiAgICBAcmV0dXJuIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAxKTtcbiAgfVxuICBAZWxzZSBpZiBsZW5ndGgoJHNob3J0aGFuZCkgPT0gMiB7XG4gICAgQHJldHVybiBudGgoJHNob3J0aGFuZCwgMSkgbnRoKCRzaG9ydGhhbmQsIDIpIG50aCgkc2hvcnRoYW5kLCAxKSBudGgoJHNob3J0aGFuZCwgMik7XG4gIH1cbiAgQGVsc2UgaWYgbGVuZ3RoKCRzaG9ydGhhbmQpID09IDMge1xuICAgIEByZXR1cm4gbnRoKCRzaG9ydGhhbmQsIDEpIG50aCgkc2hvcnRoYW5kLCAyKSBudGgoJHNob3J0aGFuZCwgMykgbnRoKCRzaG9ydGhhbmQsIDIpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRzaG9ydGhhbmQ7XG4gIH1cbn1cblxuIiwiLy8gU2NhbGluZyBWYXJpYWJsZXNcbiRnb2xkZW46ICAgICAgICAgICAxLjYxODtcbiRtaW5vci1zZWNvbmQ6ICAgICAxLjA2NztcbiRtYWpvci1zZWNvbmQ6ICAgICAxLjEyNTtcbiRtaW5vci10aGlyZDogICAgICAxLjI7XG4kbWFqb3ItdGhpcmQ6ICAgICAgMS4yNTtcbiRwZXJmZWN0LWZvdXJ0aDogICAxLjMzMztcbiRhdWdtZW50ZWQtZm91cnRoOiAxLjQxNDtcbiRwZXJmZWN0LWZpZnRoOiAgICAxLjU7XG4kbWlub3Itc2l4dGg6ICAgICAgMS42O1xuJG1ham9yLXNpeHRoOiAgICAgIDEuNjY3O1xuJG1pbm9yLXNldmVudGg6ICAgIDEuNzc4O1xuJG1ham9yLXNldmVudGg6ICAgIDEuODc1O1xuJG9jdGF2ZTogICAgICAgICAgIDI7XG4kbWFqb3ItdGVudGg6ICAgICAgMi41O1xuJG1ham9yLWVsZXZlbnRoOiAgIDIuNjY3O1xuJG1ham9yLXR3ZWxmdGg6ICAgIDM7XG4kZG91YmxlLW9jdGF2ZTogICAgNDtcblxuJG1vZHVsYXItc2NhbGUtcmF0aW86ICRwZXJmZWN0LWZvdXJ0aCAhZGVmYXVsdDtcbiRtb2R1bGFyLXNjYWxlLWJhc2U6IGVtKCRlbS1iYXNlKSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIG1vZHVsYXItc2NhbGUoJGluY3JlbWVudCwgJHZhbHVlOiAkbW9kdWxhci1zY2FsZS1iYXNlLCAkcmF0aW86ICRtb2R1bGFyLXNjYWxlLXJhdGlvKSB7XG4gICR2MTogbnRoKCR2YWx1ZSwgMSk7XG4gICR2MjogbnRoKCR2YWx1ZSwgbGVuZ3RoKCR2YWx1ZSkpO1xuICAkdmFsdWU6ICR2MTtcblxuICAvLyBzY2FsZSAkdjIgdG8ganVzdCBhYm92ZSAkdjFcbiAgQHdoaWxlICR2MiA+ICR2MSB7XG4gICAgJHYyOiAoJHYyIC8gJHJhdGlvKTsgLy8gd2lsbCBiZSBvZmYtYnktMVxuICB9XG4gIEB3aGlsZSAkdjIgPCAkdjEge1xuICAgICR2MjogKCR2MiAqICRyYXRpbyk7IC8vIHdpbGwgZml4IG9mZi1ieS0xXG4gIH1cblxuICAvLyBjaGVjayBBRlRFUiBzY2FsaW5nICR2MiB0byBwcmV2ZW50IGRvdWJsZS1jb3VudGluZyBjb3JuZXItY2FzZVxuICAkZG91YmxlLXN0cmFuZGVkOiAkdjIgPiAkdjE7XG5cbiAgQGlmICRpbmNyZW1lbnQgPiAwIHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRpbmNyZW1lbnQge1xuICAgICAgQGlmICRkb3VibGUtc3RyYW5kZWQgYW5kICgkdjEgKiAkcmF0aW8pID4gJHYyIHtcbiAgICAgICAgJHZhbHVlOiAkdjI7XG4gICAgICAgICR2MjogKCR2MiAqICRyYXRpbyk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHYxOiAoJHYxICogJHJhdGlvKTtcbiAgICAgICAgJHZhbHVlOiAkdjE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRpbmNyZW1lbnQgPCAwIHtcbiAgICAvLyBhZGp1c3QgJHYyIHRvIGp1c3QgYmVsb3cgJHYxXG4gICAgQGlmICRkb3VibGUtc3RyYW5kZWQge1xuICAgICAgJHYyOiAoJHYyIC8gJHJhdGlvKTtcbiAgICB9XG5cbiAgICBAZm9yICRpIGZyb20gJGluY3JlbWVudCB0aHJvdWdoIC0xIHtcbiAgICAgIEBpZiAkZG91YmxlLXN0cmFuZGVkIGFuZCAoJHYxIC8gJHJhdGlvKSA8ICR2MiB7XG4gICAgICAgICR2YWx1ZTogJHYyO1xuICAgICAgICAkdjI6ICgkdjIgLyAkcmF0aW8pO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR2MTogKCR2MSAvICRyYXRpbyk7XG4gICAgICAgICR2YWx1ZTogJHYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1hbmltYXRpb25zLyN0aGUtYW5pbWF0aW9uLW5hbWUtcHJvcGVydHktXG4vLyBFYWNoIG9mIHRoZXNlIG1peGlucyBzdXBwb3J0IGNvbW1hIHNlcGFyYXRlZCBsaXN0cyBvZiB2YWx1ZXMsIHdoaWNoIGFsbG93cyBkaWZmZXJlbnQgdHJhbnNpdGlvbnMgZm9yIGluZGl2aWR1YWwgcHJvcGVydGllcyB0byBiZSBkZXNjcmliZWQgaW4gYSBzaW5nbGUgc3R5bGUgcnVsZS4gRWFjaCB2YWx1ZSBpbiB0aGUgbGlzdCBjb3JyZXNwb25kcyB0byB0aGUgdmFsdWUgYXQgdGhhdCBzYW1lIHBvc2l0aW9uIGluIHRoZSBvdGhlciBwcm9wZXJ0aWVzLlxuXG4vLyBPZmZpY2lhbCBhbmltYXRpb24gc2hvcnRoYW5kIHByb3BlcnR5LlxuQG1peGluIGFuaW1hdGlvbiAoJGFuaW1hdGlvbnMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLCAkYW5pbWF0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuLy8gSW5kaXZpZHVhbCBBbmltYXRpb24gUHJvcGVydGllc1xuQG1peGluIGFuaW1hdGlvbi1uYW1lICgkbmFtZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLW5hbWUsICRuYW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWR1cmF0aW9uICgkdGltZXMuLi4pIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWR1cmF0aW9uLCAkdGltZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb24gKCRtb3Rpb25zLi4uKSB7XG4vLyBlYXNlIHwgbGluZWFyIHwgZWFzZS1pbiB8IGVhc2Utb3V0IHwgZWFzZS1pbi1vdXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbiwgJG1vdGlvbnMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQgKCR2YWx1ZXMuLi4pIHtcbi8vIGluZmluaXRlIHwgPG51bWJlcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCwgJHZhbHVlcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLWRpcmVjdGlvbiAoJGRpcmVjdGlvbnMuLi4pIHtcbi8vIG5vcm1hbCB8IGFsdGVybmF0ZVxuICBAaW5jbHVkZSBwcmVmaXhlcihhbmltYXRpb24tZGlyZWN0aW9uLCAkZGlyZWN0aW9ucywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuXG5AbWl4aW4gYW5pbWF0aW9uLXBsYXktc3RhdGUgKCRzdGF0ZXMuLi4pIHtcbi8vIHJ1bm5pbmcgfCBwYXVzZWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLXBsYXktc3RhdGUsICRzdGF0ZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cblxuQG1peGluIGFuaW1hdGlvbi1kZWxheSAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGFuaW1hdGlvbi1kZWxheSwgJHRpbWVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5cbkBtaXhpbiBhbmltYXRpb24tZmlsbC1tb2RlICgkbW9kZXMuLi4pIHtcbi8vIG5vbmUgfCBmb3J3YXJkcyB8IGJhY2t3YXJkcyB8IGJvdGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYW5pbWF0aW9uLWZpbGwtbW9kZSwgJG1vZGVzLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuIiwiQG1peGluIGFwcGVhcmFuY2UgKCR2YWx1ZSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihhcHBlYXJhbmNlLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cbiIsIi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEJhY2tmYWNlLXZpc2liaWxpdHkgbWl4aW5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbkBtaXhpbiBiYWNrZmFjZS12aXNpYmlsaXR5KCR2aXNpYmlsaXR5KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJhY2tmYWNlLXZpc2liaWxpdHksICR2aXNpYmlsaXR5LCB3ZWJraXQgc3BlYyk7XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBCYWNrZ3JvdW5kIHByb3BlcnR5IGZvciBhZGRpbmcgbXVsdGlwbGUgYmFja2dyb3VuZHMgdXNpbmcgc2hvcnRoYW5kXG4vLyBub3RhdGlvbi5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cblxuQG1peGluIGJhY2tncm91bmQoJGJhY2tncm91bmRzLi4uKSB7XG4gICR3ZWJraXQtYmFja2dyb3VuZHM6ICgpO1xuICAkc3BlYy1iYWNrZ3JvdW5kczogKCk7XG5cbiAgQGVhY2ggJGJhY2tncm91bmQgaW4gJGJhY2tncm91bmRzIHtcbiAgICAkd2Via2l0LWJhY2tncm91bmQ6ICgpO1xuICAgICRzcGVjLWJhY2tncm91bmQ6ICgpO1xuICAgICRiYWNrZ3JvdW5kLXR5cGU6IHR5cGUtb2YoJGJhY2tncm91bmQpO1xuXG4gICAgQGlmICRiYWNrZ3JvdW5kLXR5cGUgPT0gc3RyaW5nIG9yICRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCB7XG4gICAgICAkYmFja2dyb3VuZC1zdHI6IGlmKCRiYWNrZ3JvdW5kLXR5cGUgPT0gbGlzdCwgbnRoKCRiYWNrZ3JvdW5kLCAxKSwgJGJhY2tncm91bmQpO1xuXG4gICAgICAkdXJsLXN0cjogICAgICAgc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRiYWNrZ3JvdW5kLXN0ciwgMCwgNik7XG5cbiAgICAgIEBpZiAkdXJsLXN0ciA9PSBcInVybFwiIHtcbiAgICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKFwiI3skYmFja2dyb3VuZH1cIik7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1iYWNrZ3JvdW5kOiAgIG1hcC1nZXQoJGdyYWRpZW50cywgc3BlYy1pbWFnZSk7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwicmFkaWFsXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfcmFkaWFsLWdyYWRpZW50LXBhcnNlcihcIiN7JGJhY2tncm91bmR9XCIpO1xuICAgICAgICAkd2Via2l0LWJhY2tncm91bmQ6IG1hcC1nZXQoJGdyYWRpZW50cywgd2Via2l0LWltYWdlKTtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSB7XG4gICAgICAgICR3ZWJraXQtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1iYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgICAgICAgJHNwZWMtYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJHdlYmtpdC1iYWNrZ3JvdW5kczogYXBwZW5kKCR3ZWJraXQtYmFja2dyb3VuZHMsICR3ZWJraXQtYmFja2dyb3VuZCwgY29tbWEpO1xuICAgICRzcGVjLWJhY2tncm91bmRzOiAgIGFwcGVuZCgkc3BlYy1iYWNrZ3JvdW5kcywgICAkc3BlYy1iYWNrZ3JvdW5kLCAgIGNvbW1hKTtcbiAgfVxuXG4gIGJhY2tncm91bmQ6ICR3ZWJraXQtYmFja2dyb3VuZHM7XG4gIGJhY2tncm91bmQ6ICRzcGVjLWJhY2tncm91bmRzO1xufVxuIiwiLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gQmFja2dyb3VuZC1pbWFnZSBwcm9wZXJ0eSBmb3IgYWRkaW5nIG11bHRpcGxlIGJhY2tncm91bmQgaW1hZ2VzIHdpdGhcbi8vIGdyYWRpZW50cywgb3IgZm9yIHN0cmluZ2luZyBtdWx0aXBsZSBncmFkaWVudHMgdG9nZXRoZXIuXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG5cbkBtaXhpbiBiYWNrZ3JvdW5kLWltYWdlKCRpbWFnZXMuLi4pIHtcbiAgJHdlYmtpdC1pbWFnZXM6ICgpO1xuICAkc3BlYy1pbWFnZXM6ICgpO1xuXG4gIEBlYWNoICRpbWFnZSBpbiAkaW1hZ2VzIHtcbiAgICAkd2Via2l0LWltYWdlOiAoKTtcbiAgICAkc3BlYy1pbWFnZTogKCk7XG5cbiAgICBAaWYgKHR5cGUtb2YoJGltYWdlKSA9PSBzdHJpbmcpIHtcbiAgICAgICR1cmwtc3RyOiAgICAgICBzdHItc2xpY2UoJGltYWdlLCAwLCAzKTtcbiAgICAgICRncmFkaWVudC10eXBlOiBzdHItc2xpY2UoJGltYWdlLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWltYWdlOiAkaW1hZ2U7XG4gICAgICAgICAgJHNwZWMtaW1hZ2U6ICRpbWFnZTtcbiAgICAgIH1cblxuICAgICAgQGVsc2UgaWYgJGdyYWRpZW50LXR5cGUgPT0gXCJsaW5lYXJcIiB7XG4gICAgICAgICRncmFkaWVudHM6IF9saW5lYXItZ3JhZGllbnQtcGFyc2VyKCRpbWFnZSk7XG4gICAgICAgICR3ZWJraXQtaW1hZ2U6ICBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWltYWdlOiAgICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoJGltYWdlKTtcbiAgICAgICAgJHdlYmtpdC1pbWFnZTogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1pbWFnZTogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuICAgIH1cblxuICAgICR3ZWJraXQtaW1hZ2VzOiBhcHBlbmQoJHdlYmtpdC1pbWFnZXMsICR3ZWJraXQtaW1hZ2UsIGNvbW1hKTtcbiAgICAkc3BlYy1pbWFnZXM6ICAgYXBwZW5kKCRzcGVjLWltYWdlcywgICAkc3BlYy1pbWFnZSwgICBjb21tYSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWltYWdlOiAkd2Via2l0LWltYWdlcztcbiAgYmFja2dyb3VuZC1pbWFnZTogJHNwZWMtaW1hZ2VzO1xufVxuIiwiQG1peGluIGJvcmRlci1pbWFnZSgkYm9yZGVycy4uLikge1xuICAkd2Via2l0LWJvcmRlcnM6ICgpO1xuICAkc3BlYy1ib3JkZXJzOiAoKTtcblxuICBAZWFjaCAkYm9yZGVyIGluICRib3JkZXJzIHtcbiAgICAkd2Via2l0LWJvcmRlcjogKCk7XG4gICAgJHNwZWMtYm9yZGVyOiAoKTtcbiAgICAkYm9yZGVyLXR5cGU6IHR5cGUtb2YoJGJvcmRlcik7XG5cbiAgICBAaWYgJGJvcmRlci10eXBlID09IHN0cmluZyBvciBsaXN0IHtcbiAgICAgICRib3JkZXItc3RyOiBpZigkYm9yZGVyLXR5cGUgPT0gbGlzdCwgbnRoKCRib3JkZXIsIDEpLCAkYm9yZGVyKTtcblxuICAgICAgJHVybC1zdHI6ICAgICAgIHN0ci1zbGljZSgkYm9yZGVyLXN0ciwgMCwgMyk7XG4gICAgICAkZ3JhZGllbnQtdHlwZTogc3RyLXNsaWNlKCRib3JkZXItc3RyLCAwLCA2KTtcblxuICAgICAgQGlmICR1cmwtc3RyID09IFwidXJsXCIge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG5cbiAgICAgIEBlbHNlIGlmICRncmFkaWVudC10eXBlID09IFwibGluZWFyXCIge1xuICAgICAgICAkZ3JhZGllbnRzOiBfbGluZWFyLWdyYWRpZW50LXBhcnNlcihcIiN7JGJvcmRlcn1cIik7XG4gICAgICAgICR3ZWJraXQtYm9yZGVyOiBtYXAtZ2V0KCRncmFkaWVudHMsIHdlYmtpdC1pbWFnZSk7XG4gICAgICAgICRzcGVjLWJvcmRlcjogICBtYXAtZ2V0KCRncmFkaWVudHMsIHNwZWMtaW1hZ2UpO1xuICAgICAgfVxuXG4gICAgICBAZWxzZSBpZiAkZ3JhZGllbnQtdHlwZSA9PSBcInJhZGlhbFwiIHtcbiAgICAgICAgJGdyYWRpZW50czogX3JhZGlhbC1ncmFkaWVudC1wYXJzZXIoXCIjeyRib3JkZXJ9XCIpO1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogbWFwLWdldCgkZ3JhZGllbnRzLCB3ZWJraXQtaW1hZ2UpO1xuICAgICAgICAkc3BlYy1ib3JkZXI6ICAgbWFwLWdldCgkZ3JhZGllbnRzLCBzcGVjLWltYWdlKTtcbiAgICAgIH1cblxuICAgICAgQGVsc2Uge1xuICAgICAgICAkd2Via2l0LWJvcmRlcjogJGJvcmRlcjtcbiAgICAgICAgICAkc3BlYy1ib3JkZXI6ICRib3JkZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdC1ib3JkZXI6ICRib3JkZXI7XG4gICAgICAgICRzcGVjLWJvcmRlcjogJGJvcmRlcjtcbiAgICB9XG5cbiAgICAkd2Via2l0LWJvcmRlcnM6IGFwcGVuZCgkd2Via2l0LWJvcmRlcnMsICR3ZWJraXQtYm9yZGVyLCBjb21tYSk7XG4gICAgJHNwZWMtYm9yZGVyczogICBhcHBlbmQoJHNwZWMtYm9yZGVycywgICAkc3BlYy1ib3JkZXIsICAgY29tbWEpO1xuICB9XG5cbiAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6ICR3ZWJraXQtYm9yZGVycztcbiAgICAgICAgICBib3JkZXItaW1hZ2U6ICRzcGVjLWJvcmRlcnM7XG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLy9FeGFtcGxlczpcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZSh1cmwoXCJpbWFnZS5wbmdcIikpO1xuLy8gQGluY2x1ZGUgYm9yZGVyLWltYWdlKHVybChcImltYWdlLnBuZ1wiKSAyMCBzdHJldGNoKTtcbi8vIEBpbmNsdWRlIGJvcmRlci1pbWFnZShsaW5lYXItZ3JhZGllbnQoNDVkZWcsIG9yYW5nZSwgeWVsbG93KSk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgc3RyZXRjaCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UobGluZWFyLWdyYWRpZW50KDQ1ZGVnLCBvcmFuZ2UsIHllbGxvdykgMjAgMzAgNDAgNTAgc3RyZXRjaCByb3VuZCk7XG4vLyBAaW5jbHVkZSBib3JkZXItaW1hZ2UocmFkaWFsLWdyYWRpZW50KHRvcCwgY292ZXIsIG9yYW5nZSwgeWVsbG93LCBvcmFuZ2UpKTtcbiIsIi8vIEJvcmRlciBSYWRpdXMgKFNob3J0aGFuZClcbi8vIFByb3ZpZGVzIGEgc2hvcnRoYW5kIHN5bnRheCB0byB0YXJnZXQgYW5kIGFkZCBib3JkZXIgcmFkaWkgdG8gYm90aCBjb3JuZXJzIG9uIG9uZSBzaWRlIG9mIGEgYm94XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGlpO1xufVxuXG5AbWl4aW4gYm9yZGVyLXJpZ2h0LXJhZGl1cygkcmFkaWkpIHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpaTtcbn1cblxuQG1peGluIGJvcmRlci1ib3R0b20tcmFkaXVzKCRyYWRpaSkge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaWk7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkcmFkaWk7XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGlpKSB7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpaTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJHJhZGlpO1xufVxuIiwiQG1peGluIGJveC1zaXppbmcgKCRib3gpIHtcbi8vICBjb250ZW50LWJveCB8IGJvcmRlci1ib3ggfCBpbmhlcml0XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1zaXppbmcsICRib3gsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG4iLCJAbWl4aW4gY2FsYygkcHJvcGVydHksICR2YWx1ZSkge1xuICAjeyRwcm9wZXJ0eX06IC13ZWJraXQtY2FsYygjeyR2YWx1ZX0pO1xuICAjeyRwcm9wZXJ0eX06ICAgICAgICAgY2FsYygjeyR2YWx1ZX0pO1xufVxuIiwiQG1peGluIGNvbHVtbnMoJGFyZzogYXV0bykge1xuLy8gPGNvbHVtbi1jb3VudD4gfHwgPGNvbHVtbi13aWR0aD5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1ucywgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1jb3VudCgkaW50OiBhdXRvKSB7XG4vLyBhdXRvIHx8IGludGVnZXJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWNvdW50LCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLWdhcCgkbGVuZ3RoOiBub3JtYWwpIHtcbi8vIG5vcm1hbCB8fCBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLWdhcCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1maWxsKCRhcmc6IGF1dG8pIHtcbi8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1maWxsLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUoJGFyZykge1xuLy8gPGJvcmRlci13aWR0aD4gfHwgPGJvcmRlci1zdHlsZT4gfHwgPGNvbG9yPlxuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZSwgJGFyZywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLWNvbG9yKCRjb2xvcikge1xuICBAaW5jbHVkZSBwcmVmaXhlcihjb2x1bW4tcnVsZS1jb2xvciwgJGNvbG9yLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXJ1bGUtc3R5bGUoJHN0eWxlOiBub25lKSB7XG4vLyBub25lIHwgaGlkZGVuIHwgZGFzaGVkIHwgZG90dGVkIHwgZG91YmxlIHwgZ3Jvb3ZlIHwgaW5zZXQgfCBpbnNldCB8IG91dHNldCB8IHJpZGdlIHwgc29saWRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtc3R5bGUsICRzdHlsZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1ydWxlLXdpZHRoICgkd2lkdGg6IG5vbmUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoY29sdW1uLXJ1bGUtd2lkdGgsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGNvbHVtbi1zcGFuKCRhcmc6IG5vbmUpIHtcbi8vIG5vbmUgfHwgYWxsXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi1zcGFuLCAkYXJnLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gY29sdW1uLXdpZHRoKCRsZW5ndGg6IGF1dG8pIHtcbi8vIGF1dG8gfHwgbGVuZ3RoXG4gIEBpbmNsdWRlIHByZWZpeGVyKGNvbHVtbi13aWR0aCwgJGxlbmd0aCwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBmaWx0ZXIoJGZ1bmN0aW9uOiBub25lKSB7XG4gIC8vIDxmaWx0ZXItZnVuY3Rpb24+IFs8ZmlsdGVyLWZ1bmN0aW9uXSogfCBub25lXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZpbHRlciwgJGZ1bmN0aW9uLCB3ZWJraXQgc3BlYyk7XG59XG5cbiIsIi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuXG4vLyBDdXN0b20gc2hvcnRoYW5kIG5vdGF0aW9uIGZvciBmbGV4Ym94XG5AbWl4aW4gYm94KCRvcmllbnQ6IGlubGluZS1heGlzLCAkcGFjazogc3RhcnQsICRhbGlnbjogc3RyZXRjaCkge1xuICBAaW5jbHVkZSBkaXNwbGF5LWJveDtcbiAgQGluY2x1ZGUgYm94LW9yaWVudCgkb3JpZW50KTtcbiAgQGluY2x1ZGUgYm94LXBhY2soJHBhY2spO1xuICBAaW5jbHVkZSBib3gtYWxpZ24oJGFsaWduKTtcbn1cblxuQG1peGluIGRpc3BsYXktYm94IHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gSUUgMTBcbiAgZGlzcGxheTogYm94O1xufVxuXG5AbWl4aW4gYm94LW9yaWVudCgkb3JpZW50OiBpbmxpbmUtYXhpcykge1xuLy8gaG9yaXpvbnRhbHx2ZXJ0aWNhbHxpbmxpbmUtYXhpc3xibG9jay1heGlzfGluaGVyaXRcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yaWVudCwgJG9yaWVudCwgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1wYWNrKCRwYWNrOiBzdGFydCkge1xuLy8gc3RhcnR8ZW5kfGNlbnRlcnxqdXN0aWZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkcGFjaywgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcGFjazogJHBhY2s7IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtYWxpZ24oJGFsaWduOiBzdHJldGNoKSB7XG4vLyBzdGFydHxlbmR8Y2VudGVyfGJhc2VsaW5lfHN0cmV0Y2hcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWFsaWduLCAkYWxpZ24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtZGlyZWN0aW9uKCRkaXJlY3Rpb246IG5vcm1hbCkge1xuLy8gbm9ybWFsfHJldmVyc2V8aW5oZXJpdFxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtZGlyZWN0aW9uLCAkZGlyZWN0aW9uLCB3ZWJraXQgbW96IHNwZWMpO1xuICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247IC8vIElFIDEwXG59XG5cbkBtaXhpbiBib3gtbGluZXMoJGxpbmVzOiBzaW5nbGUpIHtcbi8vIHNpbmdsZXxtdWx0aXBsZVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtbGluZXMsICRsaW5lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIGJveC1vcmRpbmFsLWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LW9yZGluYWwtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW9yZGVyOiAkaW50OyAvLyBJRSAxMFxufVxuXG5AbWl4aW4gYm94LWZsZXgoJHZhbHVlOiAwLjApIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXg6ICR2YWx1ZTsgLy8gSUUgMTBcbn1cblxuQG1peGluIGJveC1mbGV4LWdyb3VwKCRpbnQ6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgtZ3JvdXAsICRpbnQsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIENTUzMgRmxleGlibGUgQm94IE1vZGVsIGFuZCBwcm9wZXJ0eSBkZWZhdWx0c1xuLy8gVW5pZmllZCBhdHRyaWJ1dGVzIGZvciAyMDA5LCAyMDExLCBhbmQgMjAxMiBmbGF2b3Vycy5cblxuLy8gMjAwOSAtIGRpc3BsYXkgKGJveCB8IGlubGluZS1ib3gpXG4vLyAyMDExIC0gZGlzcGxheSAoZmxleGJveCB8IGlubGluZS1mbGV4Ym94KVxuLy8gMjAxMiAtIGRpc3BsYXkgKGZsZXggfCBpbmxpbmUtZmxleClcbkBtaXhpbiBkaXNwbGF5KCR2YWx1ZSkge1xuLy8gZmxleCB8IGlubGluZS1mbGV4XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4XCIge1xuICAgIC8vIDIwMDlcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWJveDtcbiAgICBkaXNwbGF5OiBib3g7XG5cbiAgICAvLyAyMDEyXG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDsgLy8gMjAxMSAoSUUgMTApXG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuXG4gIEBlbHNlIGlmICR2YWx1ZSA9PSBcImlubGluZS1mbGV4XCIge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWJveDtcbiAgICBkaXNwbGF5OiAtbW96LWlubGluZS1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJveDtcblxuICAgIGRpc3BsYXk6IC13ZWJraXQtaW5saW5lLWZsZXg7XG4gICAgZGlzcGxheTogLW1vei1pbmxpbmUtZmxleDtcbiAgICBkaXNwbGF5OiAtbXMtaW5saW5lLWZsZXhib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogJHZhbHVlO1xuICB9XG59XG5cbi8vIDIwMDkgLSBib3gtZmxleCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4IChkZWNpbWFsIHwgd2lkdGggZGVjaW1hbClcbi8vIDIwMTIgLSBmbGV4IChpbnRlZ2VyIGludGVnZXIgd2lkdGgpXG5AbWl4aW4gZmxleCgkdmFsdWUpIHtcblxuICAvLyBHcmFiIGZsZXgtZ3JvdyBmb3Igb2xkZXIgYnJvd3NlcnMuXG4gICRmbGV4LWdyb3c6IG50aCgkdmFsdWUsIDEpO1xuXG4gIC8vIDIwMDlcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWZsZXgsICRmbGV4LWdyb3csIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApLCAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIGJveC1vcmllbnQgKCBob3Jpem9udGFsIHwgdmVydGljYWwgfCBpbmxpbmUtYXhpcyB8IGJsb2NrLWF4aXMpXG4vLyAgICAgIC0gYm94LWRpcmVjdGlvbiAobm9ybWFsIHwgcmV2ZXJzZSlcbi8vIDIwMTEgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbi8vIDIwMTIgLSBmbGV4LWRpcmVjdGlvbiAocm93IHwgcm93LXJldmVyc2UgfCBjb2x1bW4gfCBjb2x1bW4tcmV2ZXJzZSlcbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkdmFsdWU6IHJvdykge1xuXG4gIC8vIEFsdCB2YWx1ZXMuXG4gICR2YWx1ZS0yMDA5OiAkdmFsdWU7XG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gICRkaXJlY3Rpb246IFwibm9ybWFsXCI7XG5cbiAgQGlmICR2YWx1ZSA9PSByb3cge1xuICAgICR2YWx1ZS0yMDA5OiBob3Jpem9udGFsO1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwicm93LXJldmVyc2VcIiB7XG4gICAgJHZhbHVlLTIwMDk6IGhvcml6b250YWw7XG4gICAgJGRpcmVjdGlvbjogcmV2ZXJzZTtcbiAgfVxuXG4gIEBlbHNlIGlmICR2YWx1ZSA9PSBjb2x1bW4ge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgfVxuXG4gIEBlbHNlIGlmICR2YWx1ZSA9PSBcImNvbHVtbi1yZXZlcnNlXCIge1xuICAgICR2YWx1ZS0yMDA5OiB2ZXJ0aWNhbDtcbiAgICAkZGlyZWN0aW9uOiByZXZlcnNlO1xuICB9XG5cbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JpZW50LCAkdmFsdWUtMjAwOSwgd2Via2l0IG1veiBzcGVjKTtcbiAgQGlmICRkaXJlY3Rpb24gPT0gXCJyZXZlcnNlXCIge1xuICAgIEBpbmNsdWRlIHByZWZpeGVyKGJveC1kaXJlY3Rpb24sICRkaXJlY3Rpb24sIHdlYmtpdCBtb3ogc3BlYyk7XG4gIH1cblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZGlyZWN0aW9uLCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogJHZhbHVlO1xufVxuXG4vLyAyMDA5IC0gYm94LWxpbmVzIChzaW5nbGUgfCBtdWx0aXBsZSlcbi8vIDIwMTEgLSBmbGV4LXdyYXAgKG5vd3JhcCB8IHdyYXAgfCB3cmFwLXJldmVyc2UpXG4vLyAyMDEyIC0gZmxleC13cmFwIChub3dyYXAgfCB3cmFwIHwgd3JhcC1yZXZlcnNlKVxuQG1peGluIGZsZXgtd3JhcCgkdmFsdWU6IG5vd3JhcCkge1xuXG4gIC8vIEFsdCB2YWx1ZXNcbiAgJGFsdC12YWx1ZTogJHZhbHVlO1xuICBAaWYgJHZhbHVlID09IG5vd3JhcCB7XG4gICAgJGFsdC12YWx1ZTogc2luZ2xlO1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IHdyYXAge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwid3JhcC1yZXZlcnNlXCIge1xuICAgICRhbHQtdmFsdWU6IG11bHRpcGxlO1xuICB9XG5cbiAgQGluY2x1ZGUgcHJlZml4ZXIoYm94LWxpbmVzLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuICBAaW5jbHVkZSBwcmVmaXhlcihmbGV4LXdyYXAsICR2YWx1ZSwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn1cblxuLy8gMjAwOSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMSAtIFRPRE86IHBhcnNlIHZhbHVlcyBpbnRvIGZsZXgtZGlyZWN0aW9uL2ZsZXgtd3JhcFxuLy8gMjAxMiAtIGZsZXgtZmxvdyAoZmxleC1kaXJlY3Rpb24gfHwgZmxleC13cmFwKVxuQG1peGluIGZsZXgtZmxvdygkdmFsdWUpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1mbG93LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG59XG5cbi8vIDIwMDkgLSBib3gtb3JkaW5hbC1ncm91cCAoaW50ZWdlcilcbi8vIDIwMTEgLSBmbGV4LW9yZGVyIChpbnRlZ2VyKVxuLy8gMjAxMiAtIG9yZGVyIChpbnRlZ2VyKVxuQG1peGluIG9yZGVyKCRpbnQ6IDApIHtcbiAgLy8gMjAwOVxuICBAaW5jbHVkZSBwcmVmaXhlcihib3gtb3JkaW5hbC1ncm91cCwgJGludCwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKG9yZGVyLCAkaW50LCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1vcmRlcjogJGludDtcbn1cblxuLy8gMjAxMiAtIGZsZXgtZ3JvdyAobnVtYmVyKVxuQG1peGluIGZsZXgtZ3JvdygkbnVtYmVyOiAwKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtZ3JvdywgJG51bWJlciwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6ICRudW1iZXI7XG59XG5cbi8vIDIwMTIgLSBmbGV4LXNocmluayAobnVtYmVyKVxuQG1peGluIGZsZXgtc2hyaW5rKCRudW1iZXI6IDEpIHtcbiAgQGluY2x1ZGUgcHJlZml4ZXIoZmxleC1zaHJpbmssICRudW1iZXIsIHdlYmtpdCBtb3ogc3BlYyk7XG4gIC1tcy1mbGV4LW5lZ2F0aXZlOiAkbnVtYmVyO1xufVxuXG4vLyAyMDEyIC0gZmxleC1iYXNpcyAobnVtYmVyKVxuQG1peGluIGZsZXgtYmFzaXMoJHdpZHRoOiBhdXRvKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKGZsZXgtYmFzaXMsICR3aWR0aCwgd2Via2l0IG1veiBzcGVjKTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICR3aWR0aDtcbn1cblxuLy8gMjAwOSAtIGJveC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDExIC0gZmxleC1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkpXG4vLyAyMDEyIC0ganVzdGlmeS1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kKVxuQG1peGluIGp1c3RpZnktY29udGVudCgkdmFsdWU6IGZsZXgtc3RhcnQpIHtcblxuICAvLyBBbHQgdmFsdWVzLlxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICRhbHQtdmFsdWU6IHN0YXJ0O1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJGFsdC12YWx1ZTogZW5kO1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYmV0d2VlblwiIHtcbiAgICAkYWx0LXZhbHVlOiBqdXN0aWZ5O1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICRhbHQtdmFsdWU6IGRpc3RyaWJ1dGU7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1wYWNrLCAkYWx0LXZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoanVzdGlmeS1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtcGFjazogJGFsdC12YWx1ZTtcbn1cblxuLy8gMjAwOSAtIGJveC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDExIC0gZmxleC1hbGlnbiAoc3RhcnQgfCBlbmQgfCBjZW50ZXIgfCBiYXNlbGluZSB8IHN0cmV0Y2gpXG4vLyAyMDEyIC0gYWxpZ24taXRlbXMgKGZsZXgtc3RhcnQgfCBmbGV4LWVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1pdGVtcygkdmFsdWU6IHN0cmV0Y2gpIHtcblxuICAkYWx0LXZhbHVlOiAkdmFsdWU7XG5cbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJGFsdC12YWx1ZTogc3RhcnQ7XG4gIH1cblxuICBAZWxzZSBpZiAkdmFsdWUgPT0gXCJmbGV4LWVuZFwiIHtcbiAgICAkYWx0LXZhbHVlOiBlbmQ7XG4gIH1cblxuICAvLyAyMDA5XG4gIEBpbmNsdWRlIHByZWZpeGVyKGJveC1hbGlnbiwgJGFsdC12YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcblxuICAvLyAyMDEyXG4gIEBpbmNsdWRlIHByZWZpeGVyKGFsaWduLWl0ZW1zLCAkdmFsdWUsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcblxuICAvLyAyMDExIChJRSAxMClcbiAgLW1zLWZsZXgtYWxpZ246ICRhbHQtdmFsdWU7XG59XG5cbi8vIDIwMTEgLSBmbGV4LWl0ZW0tYWxpZ24gKGF1dG8gfCBzdGFydCB8IGVuZCB8IGNlbnRlciB8IGJhc2VsaW5lIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1zZWxmIChhdXRvIHwgZmxleC1zdGFydCB8IGZsZXgtZW5kIHwgY2VudGVyIHwgYmFzZWxpbmUgfCBzdHJldGNoKVxuQG1peGluIGFsaWduLXNlbGYoJHZhbHVlOiBhdXRvKSB7XG5cbiAgJHZhbHVlLTIwMTE6ICR2YWx1ZTtcbiAgQGlmICR2YWx1ZSA9PSBcImZsZXgtc3RhcnRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IHN0YXJ0O1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwiZmxleC1lbmRcIiB7XG4gICAgJHZhbHVlLTIwMTE6IGVuZDtcbiAgfVxuXG4gIC8vIDIwMTJcbiAgQGluY2x1ZGUgcHJlZml4ZXIoYWxpZ24tc2VsZiwgJHZhbHVlLCB3ZWJraXQgbW96IHNwZWMpO1xuXG4gIC8vIDIwMTEgKElFIDEwKVxuICAtbXMtZmxleC1pdGVtLWFsaWduOiAkdmFsdWUtMjAxMTtcbn1cblxuLy8gMjAxMSAtIGZsZXgtbGluZS1wYWNrIChzdGFydCB8IGVuZCB8IGNlbnRlciB8IGp1c3RpZnkgfCBkaXN0cmlidXRlIHwgc3RyZXRjaClcbi8vIDIwMTIgLSBhbGlnbi1jb250ZW50IChmbGV4LXN0YXJ0IHwgZmxleC1lbmQgfCBjZW50ZXIgfCBzcGFjZS1iZXR3ZWVuIHwgc3BhY2UtYXJvdW5kIHwgc3RyZXRjaClcbkBtaXhpbiBhbGlnbi1jb250ZW50KCR2YWx1ZTogc3RyZXRjaCkge1xuXG4gICR2YWx1ZS0yMDExOiAkdmFsdWU7XG4gIEBpZiAkdmFsdWUgPT0gXCJmbGV4LXN0YXJ0XCIge1xuICAgICR2YWx1ZS0yMDExOiBzdGFydDtcbiAgfVxuXG4gIEBlbHNlIGlmICR2YWx1ZSA9PSBcImZsZXgtZW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBlbmQ7XG4gIH1cblxuICBAZWxzZSBpZiAkdmFsdWUgPT0gXCJzcGFjZS1iZXR3ZWVuXCIge1xuICAgICR2YWx1ZS0yMDExOiBqdXN0aWZ5O1xuICB9XG5cbiAgQGVsc2UgaWYgJHZhbHVlID09IFwic3BhY2UtYXJvdW5kXCIge1xuICAgICR2YWx1ZS0yMDExOiBkaXN0cmlidXRlO1xuICB9XG5cbiAgLy8gMjAxMlxuICBAaW5jbHVkZSBwcmVmaXhlcihhbGlnbi1jb250ZW50LCAkdmFsdWUsIHdlYmtpdCBtb3ogc3BlYyk7XG5cbiAgLy8gMjAxMSAoSUUgMTApXG4gIC1tcy1mbGV4LWxpbmUtcGFjazogJHZhbHVlLTIwMTE7XG59XG4iLCJAbWl4aW4gZm9udC1mYWNlKFxuICAkZm9udC1mYW1pbHksXG4gICRmaWxlLXBhdGgsXG4gICR3ZWlnaHQ6IG5vcm1hbCxcbiAgJHN0eWxlOiBub3JtYWwsXG4gICRhc3NldC1waXBlbGluZTogJGFzc2V0LXBpcGVsaW5lLFxuICAkZmlsZS1mb3JtYXRzOiBlb3Qgd29mZjIgd29mZiB0dGYgc3ZnKSB7XG5cbiAgJGZvbnQtdXJsLXByZWZpeDogZm9udC11cmwtcHJlZml4ZXIoJGFzc2V0LXBpcGVsaW5lKTtcblxuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc3R5bGU6ICRzdHlsZTtcbiAgICBmb250LXdlaWdodDogJHdlaWdodDtcblxuICAgIHNyYzogZm9udC1zb3VyY2UtZGVjbGFyYXRpb24oXG4gICAgICAkZm9udC1mYW1pbHksXG4gICAgICAkZmlsZS1wYXRoLFxuICAgICAgJGFzc2V0LXBpcGVsaW5lLFxuICAgICAgJGZpbGUtZm9ybWF0cyxcbiAgICAgICRmb250LXVybC1wcmVmaXhcbiAgICApO1xuICB9XG59XG4iLCIvLyBGb250IGZlYXR1cmUgc2V0dGluZ3MgbWl4aW4gYW5kIHByb3BlcnR5IGRlZmF1bHQuXG4vLyBFeGFtcGxlczogQGluY2x1ZGUgZm9udC1mZWF0dXJlLXNldHRpbmdzKFwibGlnYVwiKTtcbi8vICAgICAgICAgICBAaW5jbHVkZSBmb250LWZlYXR1cmUtc2V0dGluZ3MoXCJsbnVtXCIgZmFsc2UpO1xuLy8gICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZmVhdHVyZS1zZXR0aW5ncyhcInBudW1cIiAxLCBcImtlcm5cIiAwKTtcbi8vICAgICAgICAgICBAaW5jbHVkZSBmb250LWZlYXR1cmUtc2V0dGluZ3MoXCJzczAxXCIsIFwic3MwMlwiKTtcblxuQG1peGluIGZvbnQtZmVhdHVyZS1zZXR0aW5ncygkc2V0dGluZ3MuLi4pIHtcbiAgQGlmIGxlbmd0aCgkc2V0dGluZ3MpID09IDAgeyAkc2V0dGluZ3M6IG5vbmU7IH1cbiAgQGluY2x1ZGUgcHJlZml4ZXIoZm9udC1mZWF0dXJlLXNldHRpbmdzLCAkc2V0dGluZ3MsIHdlYmtpdCBtb3ogbXMgc3BlYyk7XG59IiwiLy8gSGlEUEkgbWl4aW4uIERlZmF1bHQgdmFsdWUgc2V0IHRvIDEuMyB0byB0YXJnZXQgR29vZ2xlIE5leHVzIDcgKGh0dHA6Ly9iamFuZ28uY29tL2FydGljbGVzL21pbi1kZXZpY2UtcGl4ZWwtcmF0aW8vKVxuQG1peGluIGhpZHBpKCRyYXRpbzogMS4zKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogJHJhdGlvKSxcbiAgb25seSBzY3JlZW4gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86ICRyYXRpbyksXG4gIG9ubHkgc2NyZWVuIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogI3skcmF0aW99LzEpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiByb3VuZCgkcmF0aW8gKiA5NmRwaSkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAkcmF0aW8gKiAxZHBweCkge1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCJAbWl4aW4gaHlwaGVucygkaHlwaGVuYXRpb246IG5vbmUpIHtcbi8vIG5vbmUgfCBtYW51YWwgfCBhdXRvXG4gIEBpbmNsdWRlIHByZWZpeGVyKGh5cGhlbnMsICRoeXBoZW5hdGlvbiwgd2Via2l0IG1veiBtcyBzcGVjKTtcbn0iLCJAbWl4aW4gaW1hZ2UtcmVuZGVyaW5nICgkbW9kZTphdXRvKSB7XG5cbiAgQGlmICgkbW9kZSA9PSBjcmlzcC1lZGdlcykge1xuICAgICAgLW1zLWludGVycG9sYXRpb24tbW9kZTogbmVhcmVzdC1uZWlnaGJvcjsgLy8gSUU4K1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtbW96LWNyaXNwLWVkZ2VzO1xuICAgICAgaW1hZ2UtcmVuZGVyaW5nOiAtby1jcmlzcC1lZGdlcztcbiAgICAgIGltYWdlLXJlbmRlcmluZzogLXdlYmtpdC1vcHRpbWl6ZS1jb250cmFzdDtcbiAgICAgIGltYWdlLXJlbmRlcmluZzogY3Jpc3AtZWRnZXM7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgICBpbWFnZS1yZW5kZXJpbmc6ICRtb2RlO1xuICB9XG59XG4iLCIvLyBBZGRzIGtleWZyYW1lcyBibG9ja3MgZm9yIHN1cHBvcnRlZCBwcmVmaXhlcywgcmVtb3ZpbmcgcmVkdW5kYW50IHByZWZpeGVzIGluIHRoZSBibG9jaydzIGNvbnRlbnRcbkBtaXhpbiBrZXlmcmFtZXMoJG5hbWUpIHtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0OiAgICAkcHJlZml4LWZvci13ZWJraXQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW1vemlsbGE6ICAgJHByZWZpeC1mb3ItbW96aWxsYTtcbiAgJG9yaWdpbmFsLXByZWZpeC1mb3ItbWljcm9zb2Z0OiAkcHJlZml4LWZvci1taWNyb3NvZnQ7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLW9wZXJhOiAgICAgJHByZWZpeC1mb3Itb3BlcmE7XG4gICRvcmlnaW5hbC1wcmVmaXgtZm9yLXNwZWM6ICAgICAgJHByZWZpeC1mb3Itc3BlYztcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itd2Via2l0IHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLXByZWZpeC1mb3ItYWxsKCk7XG4gICAgJHByZWZpeC1mb3Itd2Via2l0OiB0cnVlICFnbG9iYWw7XG4gICAgQC13ZWJraXQta2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3ItbW96aWxsYSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1wcmVmaXgtZm9yLWFsbCgpO1xuICAgICRwcmVmaXgtZm9yLW1vemlsbGE6IHRydWUgIWdsb2JhbDtcbiAgICBALW1vei1rZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgJHByZWZpeC1mb3Itd2Via2l0OiAgICAkb3JpZ2luYWwtcHJlZml4LWZvci13ZWJraXQgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICAkb3JpZ2luYWwtcHJlZml4LWZvci1tb3ppbGxhICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbWljcm9zb2Z0OiAkb3JpZ2luYWwtcHJlZml4LWZvci1taWNyb3NvZnQgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itb3BlcmE6ICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1vcGVyYSAgICAgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICAkb3JpZ2luYWwtcHJlZml4LWZvci1zcGVjICAgICAgIWdsb2JhbDtcblxuICBAaWYgJG9yaWdpbmFsLXByZWZpeC1mb3Itc3BlYyB7XG4gICAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBsaW5lYXItZ3JhZGllbnQoJHBvcywgJEcxLCAkRzI6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHMzogbnVsbCwgJEc0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzU6IG51bGwsICRHNjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc3OiBudWxsLCAkRzg6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHOTogbnVsbCwgJEcxMDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG4gIC8vIERldGVjdCB3aGF0IHR5cGUgb2YgdmFsdWUgZXhpc3RzIGluICRwb3NcbiAgJHBvcy10eXBlOiB0eXBlLW9mKG50aCgkcG9zLCAxKSk7XG4gICRwb3Mtc3BlYzogbnVsbDtcbiAgJHBvcy1kZWdyZWU6IG51bGw7XG5cbiAgLy8gSWYgJHBvcyBpcyBtaXNzaW5nIGZyb20gbWl4aW4sIHJlYXNzaWduIHZhcnMgYW5kIGFkZCBkZWZhdWx0IHBvc2l0aW9uXG4gIEBpZiAoJHBvcy10eXBlID09IGNvbG9yKSBvciAobnRoKCRwb3MsIDEpID09IFwidHJhbnNwYXJlbnRcIikgIHtcbiAgICAkRzEwOiAkRzk7ICRHOTogJEc4OyAkRzg6ICRHNzsgJEc3OiAkRzY7ICRHNjogJEc1O1xuICAgICAkRzU6ICRHNDsgJEc0OiAkRzM7ICRHMzogJEcyOyAkRzI6ICRHMTsgJEcxOiAkcG9zO1xuICAgICAkcG9zOiBudWxsO1xuICB9XG5cbiAgQGlmICRwb3Mge1xuICAgICRwb3NpdGlvbnM6IF9saW5lYXItcG9zaXRpb25zLXBhcnNlcigkcG9zKTtcbiAgICAkcG9zLWRlZ3JlZTogbnRoKCRwb3NpdGlvbnMsIDEpO1xuICAgICRwb3Mtc3BlYzogICBudGgoJHBvc2l0aW9ucywgMik7XG4gIH1cblxuICAkZnVsbDogJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMDtcblxuICAvLyBTZXQgJEcxIGFzIHRoZSBkZWZhdWx0IGZhbGxiYWNrIGNvbG9yXG4gICRmYWxsYmFjay1jb2xvcjogbnRoKCRHMSwgMSk7XG5cbiAgLy8gSWYgJGZhbGxiYWNrIGlzIGEgY29sb3IgdXNlIHRoYXQgY29sb3IgYXMgdGhlIGZhbGxiYWNrIGNvbG9yXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGZhbGxiYWNrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCgkcG9zLWRlZ3JlZSAkZnVsbCk7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWVcbiAgYmFja2dyb3VuZC1pbWFnZTogdW5xdW90ZShcImxpbmVhci1ncmFkaWVudCgjeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gcGVyc3BlY3RpdmUoJGRlcHRoOiBub25lKSB7XG4gIC8vIG5vbmUgfCA8bGVuZ3RoPlxuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZSwgJGRlcHRoLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gcGVyc3BlY3RpdmUtb3JpZ2luKCR2YWx1ZTogNTAlIDUwJSkge1xuICBAaW5jbHVkZSBwcmVmaXhlcihwZXJzcGVjdGl2ZS1vcmlnaW4sICR2YWx1ZSwgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiBwbGFjZWhvbGRlciB7XG4gICRwbGFjZWhvbGRlcnM6IFwiOi13ZWJraXQtaW5wdXRcIiBcIjotbW96XCIgXCItbW96XCIgXCItbXMtaW5wdXRcIjtcbiAgQGVhY2ggJHBsYWNlaG9sZGVyIGluICRwbGFjZWhvbGRlcnMge1xuICAgICY6I3skcGxhY2Vob2xkZXJ9LXBsYWNlaG9sZGVyIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gUmVxdWlyZXMgU2FzcyAzLjErXG5AbWl4aW4gcmFkaWFsLWdyYWRpZW50KCRHMSwgICAgICAgICRHMixcbiAgICAgICAgICAgICAgICAgICAgICAgJEczOiBudWxsLCAkRzQ6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICRHNTogbnVsbCwgJEc2OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkRzc6IG51bGwsICRHODogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJEc5OiBudWxsLCAkRzEwOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkcG9zOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAkc2hhcGUtc2l6ZTogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgJGZhbGxiYWNrOiBudWxsKSB7XG5cbiAgJGRhdGE6IF9yYWRpYWwtYXJnLXBhcnNlcigkRzEsICRHMiwgJHBvcywgJHNoYXBlLXNpemUpO1xuICAkRzE6ICBudGgoJGRhdGEsIDEpO1xuICAkRzI6ICBudGgoJGRhdGEsIDIpO1xuICAkcG9zOiBudGgoJGRhdGEsIDMpO1xuICAkc2hhcGUtc2l6ZTogbnRoKCRkYXRhLCA0KTtcblxuICAkZnVsbDogJEcxLCAkRzIsICRHMywgJEc0LCAkRzUsICRHNiwgJEc3LCAkRzgsICRHOSwgJEcxMDtcblxuICAvLyBTdHJpcCBkZXByZWNhdGVkIGNvdmVyL2NvbnRhaW4gZm9yIHNwZWNcbiAgJHNoYXBlLXNpemUtc3BlYzogX3NoYXBlLXNpemUtc3RyaXBwZXIoJHNoYXBlLXNpemUpO1xuXG4gIC8vIFNldCAkRzEgYXMgdGhlIGRlZmF1bHQgZmFsbGJhY2sgY29sb3JcbiAgJGZpcnN0LWNvbG9yOiBudGgoJGZ1bGwsIDEpO1xuICAkZmFsbGJhY2stY29sb3I6IG50aCgkZmlyc3QtY29sb3IsIDEpO1xuXG4gIEBpZiAodHlwZS1vZigkZmFsbGJhY2spID09IGNvbG9yKSBvciAoJGZhbGxiYWNrID09IFwidHJhbnNwYXJlbnRcIikge1xuICAgICRmYWxsYmFjay1jb2xvcjogJGZhbGxiYWNrO1xuICB9XG5cbiAgLy8gQWRkIENvbW1hcyBhbmQgc3BhY2VzXG4gICRzaGFwZS1zaXplOiBpZigkc2hhcGUtc2l6ZSwgJyN7JHNoYXBlLXNpemV9LCAnLCBudWxsKTtcbiAgJHBvczogICAgICAgIGlmKCRwb3MsICcjeyRwb3N9LCAnLCBudWxsKTtcbiAgJHBvcy1zcGVjOiAgIGlmKCRwb3MsICdhdCAjeyRwb3N9JywgbnVsbCk7XG4gICRzaGFwZS1zaXplLXNwZWM6IGlmKCgkc2hhcGUtc2l6ZS1zcGVjICE9ICcgJykgYW5kICgkcG9zID09IG51bGwpLCAnI3skc2hhcGUtc2l6ZS1zcGVjfSwgJywgJyN7JHNoYXBlLXNpemUtc3BlY30gJyk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogICRmYWxsYmFjay1jb2xvcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQodW5xdW90ZSgjeyRwb3N9I3skc2hhcGUtc2l6ZX0jeyRmdWxsfSkpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwicmFkaWFsLWdyYWRpZW50KCN7JHNoYXBlLXNpemUtc3BlY30jeyRwb3Mtc3BlY30jeyRmdWxsfSlcIik7XG59XG4iLCJAbWl4aW4gc2VsZWN0aW9uIHtcclxuICAkYmVmb3JlLWNvbG9uczogXCJcIjtcclxuXHJcbiAgQGlmICYge1xyXG4gICAgJGJlZm9yZS1jb2xvbnM6IFwiJlwiXHJcbiAgfVxyXG5cclxuICAjeyRiZWZvcmUtY29sb25zfTo6c2VsZWN0aW9uIHtcclxuICAgIEBjb250ZW50O1xyXG4gIH1cclxuICAjeyRiZWZvcmUtY29sb25zfTo6LW1vei1zZWxlY3Rpb24ge1xyXG4gICAgQGNvbnRlbnQ7XHJcbiAgfVxyXG59IiwiQG1peGluIHRleHQtZGVjb3JhdGlvbigkdmFsdWUpIHtcbi8vIDx0ZXh0LWRlY29yYXRpb24tbGluZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1zdHlsZT4gfHwgPHRleHQtZGVjb3JhdGlvbi1jb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLCAkdmFsdWUsIG1veik7XG59XG5cbkBtaXhpbiB0ZXh0LWRlY29yYXRpb24tbGluZSgkbGluZTogbm9uZSkge1xuLy8gbm9uZSB8fCB1bmRlcmxpbmUgfHwgb3ZlcmxpbmUgfHwgbGluZS10aHJvdWdoXG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1saW5lLCAkbGluZSwgbW96KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1zdHlsZSgkc3R5bGU6IHNvbGlkKSB7XG4vLyBzb2xpZCB8fCBkb3VibGUgfHwgZG90dGVkIHx8IGRhc2hlZCB8fCB3YXZ5XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRleHQtZGVjb3JhdGlvbi1zdHlsZSwgJHN0eWxlLCBtb3ogd2Via2l0KTtcbn1cblxuQG1peGluIHRleHQtZGVjb3JhdGlvbi1jb2xvcigkY29sb3I6IGN1cnJlbnRDb2xvcikge1xuLy8gY3VycmVudENvbG9yIHx8IDxjb2xvcj5cbiAgQGluY2x1ZGUgcHJlZml4ZXIodGV4dC1kZWNvcmF0aW9uLWNvbG9yLCAkY29sb3IsIG1veik7XG59XG4iLCJAbWl4aW4gdHJhbnNmb3JtKCRwcm9wZXJ0eTogbm9uZSkge1xuLy8gIG5vbmUgfCA8dHJhbnNmb3JtLWZ1bmN0aW9uPlxuICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2Zvcm0sICRwcm9wZXJ0eSwgd2Via2l0IG1veiBtcyBvIHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkYXhlczogNTAlKSB7XG4vLyB4LWF4aXMgLSBsZWZ0IHwgY2VudGVyIHwgcmlnaHQgIHwgbGVuZ3RoIHwgJVxuLy8geS1heGlzIC0gdG9wICB8IGNlbnRlciB8IGJvdHRvbSB8IGxlbmd0aCB8ICVcbi8vIHotYXhpcyAtICAgICAgICAgICAgICAgICAgICAgICAgICBsZW5ndGhcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNmb3JtLW9yaWdpbiwgJGF4ZXMsIHdlYmtpdCBtb3ogbXMgbyBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zZm9ybS1zdHlsZSAoJHN0eWxlOiBmbGF0KSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zZm9ybS1zdHlsZSwgJHN0eWxlLCB3ZWJraXQgbW96IG1zIG8gc3BlYyk7XG59XG4iLCIvLyBTaG9ydGhhbmQgbWl4aW4uIFN1cHBvcnRzIG11bHRpcGxlIHBhcmVudGhlc2VzLWRlbGltaW5hdGVkIHZhbHVlcyBmb3IgZWFjaCB2YXJpYWJsZS5cbi8vIEV4YW1wbGU6IEBpbmNsdWRlIHRyYW5zaXRpb24gKGFsbCAycyBlYXNlLWluLW91dCk7XG4vLyAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uIChvcGFjaXR5IDFzIGVhc2UtaW4gMnMsIHdpZHRoIDJzIGVhc2Utb3V0KTtcbi8vICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tcHJvcGVydHkgKHRyYW5zZm9ybSwgb3BhY2l0eSk7XG5cbkBtaXhpbiB0cmFuc2l0aW9uICgkcHJvcGVydGllcy4uLikge1xuICAvLyBGaXggZm9yIHZlbmRvci1wcmVmaXggdHJhbnNmb3JtIHByb3BlcnR5XG4gICRuZWVkcy1wcmVmaXhlczogZmFsc2U7XG4gICR3ZWJraXQ6ICgpO1xuICAkbW96OiAoKTtcbiAgJHNwZWM6ICgpO1xuXG4gIC8vIENyZWF0ZSBsaXN0cyBmb3IgdmVuZG9yLXByZWZpeGVkIHRyYW5zZm9ybVxuICBAZWFjaCAkbGlzdCBpbiAkcHJvcGVydGllcyB7XG4gICAgQGlmIG50aCgkbGlzdCwgMSkgPT0gXCJ0cmFuc2Zvcm1cIiB7XG4gICAgICAkbmVlZHMtcHJlZml4ZXM6IHRydWU7XG4gICAgICAkbGlzdDE6IC13ZWJraXQtdHJhbnNmb3JtO1xuICAgICAgJGxpc3QyOiAtbW96LXRyYW5zZm9ybTtcbiAgICAgICRsaXN0MzogKCk7XG5cbiAgICAgIEBlYWNoICR2YXIgaW4gJGxpc3Qge1xuICAgICAgICAkbGlzdDM6IGpvaW4oJGxpc3QzLCAkdmFyKTtcblxuICAgICAgICBAaWYgJHZhciAhPSBcInRyYW5zZm9ybVwiIHtcbiAgICAgICAgICAkbGlzdDE6IGpvaW4oJGxpc3QxLCAkdmFyKTtcbiAgICAgICAgICAkbGlzdDI6IGpvaW4oJGxpc3QyLCAkdmFyKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkd2Via2l0OiBhcHBlbmQoJHdlYmtpdCwgJGxpc3QxKTtcbiAgICAgICAgICRtb3o6IGFwcGVuZCgkbW96LCAgICAkbGlzdDIpO1xuICAgICAgICAkc3BlYzogYXBwZW5kKCRzcGVjLCAgICRsaXN0Myk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGxpc3RzIGZvciBub24tcHJlZml4ZWQgdHJhbnNpdGlvbiBwcm9wZXJ0aWVzXG4gICAgQGVsc2Uge1xuICAgICAgJHdlYmtpdDogIGFwcGVuZCgkd2Via2l0LCAkbGlzdCwgY29tbWEpO1xuICAgICAgJG1vejogICAgIGFwcGVuZCgkbW96LCAgICAkbGlzdCwgY29tbWEpO1xuICAgICAgJHNwZWM6ICAgIGFwcGVuZCgkc3BlYywgICAkbGlzdCwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkbmVlZHMtcHJlZml4ZXMge1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogJHdlYmtpdDtcbiAgICAgICAtbW96LXRyYW5zaXRpb246ICRtb3o7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAkc3BlYztcbiAgfVxuICBAZWxzZSB7XG4gICAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgICBAaW5jbHVkZSBwcmVmaXhlcih0cmFuc2l0aW9uLCAkcHJvcGVydGllcywgd2Via2l0IG1veiBzcGVjKTtcbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAkcHJvcGVydGllczogYWxsIDAuMTVzIGVhc2Utb3V0IDBzO1xuICAgICAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbiwgJHByb3BlcnRpZXMsIHdlYmtpdCBtb3ogc3BlYyk7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiB0cmFuc2l0aW9uLXByb3BlcnR5ICgkcHJvcGVydGllcy4uLikge1xuICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2l0aW9uLXByb3BlcnR5LW5hbWVzKCRwcm9wZXJ0aWVzLCAnd2Via2l0Jyk7XG4gICAgICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zaXRpb24tcHJvcGVydHktbmFtZXMoJHByb3BlcnRpZXMsICdtb3onKTtcbiAgICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNpdGlvbi1wcm9wZXJ0eS1uYW1lcygkcHJvcGVydGllcywgZmFsc2UpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kdXJhdGlvbiAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZHVyYXRpb24sICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cblxuQG1peGluIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uICgkbW90aW9ucy4uLikge1xuLy8gZWFzZSB8IGxpbmVhciB8IGVhc2UtaW4gfCBlYXNlLW91dCB8IGVhc2UtaW4tb3V0IHwgY3ViaWMtYmV6aWVyKClcbiAgQGluY2x1ZGUgcHJlZml4ZXIodHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24sICRtb3Rpb25zLCB3ZWJraXQgbW96IHNwZWMpO1xufVxuXG5AbWl4aW4gdHJhbnNpdGlvbi1kZWxheSAoJHRpbWVzLi4uKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHRyYW5zaXRpb24tZGVsYXksICR0aW1lcywgd2Via2l0IG1veiBzcGVjKTtcbn1cbiIsIkBtaXhpbiB1c2VyLXNlbGVjdCgkYXJnOiBub25lKSB7XG4gIEBpbmNsdWRlIHByZWZpeGVyKHVzZXItc2VsZWN0LCAkYXJnLCB3ZWJraXQgbW96IG1zIHNwZWMpO1xufVxuIiwiLy8gVGhlIGNsZWFyZml4IG1peGluIHByb3ZpZGVzIGFuIGVhc3kgd2F5IHRvIGNvbnRhaW4gZmxvYXRzXG4vL1xuLy8gRXhhbXBsZSB1c2FnZTpcbi8vIC53cmFwcGVyIHtcbi8vICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4vLyB9XG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG59XG5cbi8vIEFja25vd2xlZGdlbWVudHM6XG4vLyBUaGllcnJ5IEtvYmxlbnR6LCBjc3Ntb2pvXG4vLyBodHRwOi8vZ29vLmdsL0FRV3Z5SFxuIiwiLy8gZGlyZWN0aW9uYWwtcHJvcGVydHkgbWl4aW5zIGFyZSBzaG9ydGhhbmRzXG4vLyBmb3Igd3JpdGluZyBwcm9wZXJ0aWVzIGxpa2UgdGhlIGZvbGxvd2luZ1xuLy9cbi8vIEBpbmNsdWRlIG1hcmdpbihudWxsIDAgMTBweCk7XG4vLyAtLS0tLS1cbi8vIG1hcmdpbi1yaWdodDogMDtcbi8vIG1hcmdpbi1ib3R0b206IDEwcHg7XG4vLyBtYXJnaW4tbGVmdDogMDtcbi8vXG4vLyAtIG9yIC1cbi8vXG4vLyBAaW5jbHVkZSBib3JkZXItc3R5bGUoZG90dGVkIG51bGwpO1xuLy8gLS0tLS0tXG4vLyBib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7XG4vLyBib3JkZXItYm90dG9tLXN0eWxlOiBkb3R0ZWQ7XG4vL1xuLy8gLS0tLS0tXG4vL1xuLy8gTm90ZTogWW91IGNhbiBhbHNvIHVzZSBmYWxzZSBpbnN0ZWFkIG9mIG51bGxcblxuQGZ1bmN0aW9uIGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscykge1xuICAkb3V0cHV0OiBudWxsO1xuXG4gICRBOiBudGgoICR2YWxzLCAxICk7XG4gICRCOiBpZiggbGVuZ3RoKCR2YWxzKSA8IDIsICRBLCBudGgoJHZhbHMsIDIpKTtcbiAgJEM6IGlmKCBsZW5ndGgoJHZhbHMpIDwgMywgJEEsIG50aCgkdmFscywgMykpO1xuICAkRDogaWYoIGxlbmd0aCgkdmFscykgPCAyLCAkQSwgbnRoKCR2YWxzLCBpZiggbGVuZ3RoKCR2YWxzKSA8IDQsIDIsIDQpICkpO1xuXG4gIEBpZiAkQSA9PSAwIHsgJEE6IDAgfVxuICBAaWYgJEIgPT0gMCB7ICRCOiAwIH1cbiAgQGlmICRDID09IDAgeyAkQzogMCB9XG4gIEBpZiAkRCA9PSAwIHsgJEQ6IDAgfVxuXG4gIEBpZiAkQSA9PSAkQiBhbmQgJEEgPT0gJEMgYW5kICRBID09ICREIHsgJG91dHB1dDogJEEgICAgICAgICAgfVxuICBAZWxzZSBpZiAkQSA9PSAkQyBhbmQgJEIgPT0gJEQgICAgICAgICB7ICRvdXRwdXQ6ICRBICRCICAgICAgIH1cbiAgQGVsc2UgaWYgJEIgPT0gJEQgICAgICAgICAgICAgICAgICAgICAgeyAkb3V0cHV0OiAkQSAkQiAkQyAgICB9XG4gIEBlbHNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsgJG91dHB1dDogJEEgJEIgJEMgJEQgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuQGZ1bmN0aW9uIGNvbnRhaW5zLWZhbHN5KCRsaXN0KSB7XG4gIEBlYWNoICRpdGVtIGluICRsaXN0IHtcbiAgICBAaWYgbm90ICRpdGVtIHtcbiAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gZGlyZWN0aW9uYWwtcHJvcGVydHkoJHByZSwgJHN1ZiwgJHZhbHMpIHtcbiAgLy8gUHJvcGVydHkgTmFtZXNcbiAgJHRvcDogICAgJHByZSArIFwiLXRvcFwiICAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGJvdHRvbTogJHByZSArIFwiLWJvdHRvbVwiICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGxlZnQ6ICAgJHByZSArIFwiLWxlZnRcIiAgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJHJpZ2h0OiAgJHByZSArIFwiLXJpZ2h0XCIgICsgaWYoJHN1ZiwgXCItI3skc3VmfVwiLCBcIlwiKTtcbiAgJGFsbDogICAgJHByZSArICAgICAgICAgICAgIGlmKCRzdWYsIFwiLSN7JHN1Zn1cIiwgXCJcIik7XG5cbiAgJHZhbHM6IGNvbGxhcHNlLWRpcmVjdGlvbmFscygkdmFscyk7XG5cbiAgQGlmIGNvbnRhaW5zLWZhbHN5KCR2YWxzKSB7XG4gICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyR0b3B9OiBudGgoJHZhbHMsIDEpOyB9XG5cbiAgICBAaWYgbGVuZ3RoKCR2YWxzKSA9PSAxIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDEpIHsgI3skcmlnaHR9OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgfSBAZWxzZSB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JHJpZ2h0fTogbnRoKCR2YWxzLCAyKTsgfVxuICAgIH1cblxuICAgIC8vIHByb3A6IHRvcC9ib3R0b20gcmlnaHQvbGVmdFxuICAgIEBpZiBsZW5ndGgoJHZhbHMpID09IDIge1xuICAgICAgQGlmIG50aCgkdmFscywgMSkgeyAjeyRib3R0b219OiBudGgoJHZhbHMsIDEpOyB9XG4gICAgICBAaWYgbnRoKCR2YWxzLCAyKSB7ICN7JGxlZnR9OiAgIG50aCgkdmFscywgMik7IH1cblxuICAgIC8vIHByb3A6IHRvcCByaWdodC9sZWZ0IGJvdHRvbVxuICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR2YWxzKSA9PSAzIHtcbiAgICAgIEBpZiBudGgoJHZhbHMsIDMpIHsgI3skYm90dG9tfTogbnRoKCR2YWxzLCAzKTsgfVxuICAgICAgQGlmIG50aCgkdmFscywgMikgeyAjeyRsZWZ0fTogICBudGgoJHZhbHMsIDIpOyB9XG5cbiAgICAvLyBwcm9wOiB0b3AgcmlnaHQgYm90dG9tIGxlZnRcbiAgICB9IEBlbHNlIGlmIGxlbmd0aCgkdmFscykgPT0gNCB7XG4gICAgICBAaWYgbnRoKCR2YWxzLCAzKSB7ICN7JGJvdHRvbX06IG50aCgkdmFscywgMyk7IH1cbiAgICAgIEBpZiBudGgoJHZhbHMsIDQpIHsgI3skbGVmdH06ICAgbnRoKCR2YWxzLCA0KTsgfVxuICAgIH1cblxuICAvLyBwcm9wOiB0b3AvcmlnaHQvYm90dG9tL2xlZnRcbiAgfSBAZWxzZSB7XG4gICAgI3skYWxsfTogJHZhbHM7XG4gIH1cbn1cblxuQG1peGluIG1hcmdpbigkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShtYXJnaW4sIGZhbHNlLCAkdmFscy4uLik7XG59XG5cbkBtaXhpbiBwYWRkaW5nKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KHBhZGRpbmcsIGZhbHNlLCAkdmFscy4uLik7XG59XG5cbkBtaXhpbiBib3JkZXItc3R5bGUoJHZhbHMuLi4pIHtcbiAgQGluY2x1ZGUgZGlyZWN0aW9uYWwtcHJvcGVydHkoYm9yZGVyLCBzdHlsZSwgJHZhbHMuLi4pO1xufVxuXG5AbWl4aW4gYm9yZGVyLWNvbG9yKCR2YWxzLi4uKSB7XG4gIEBpbmNsdWRlIGRpcmVjdGlvbmFsLXByb3BlcnR5KGJvcmRlciwgY29sb3IsICR2YWxzLi4uKTtcbn1cblxuQG1peGluIGJvcmRlci13aWR0aCgkdmFscy4uLikge1xuICBAaW5jbHVkZSBkaXJlY3Rpb25hbC1wcm9wZXJ0eShib3JkZXIsIHdpZHRoLCAkdmFscy4uLik7XG59XG4iLCJAbWl4aW4gZWxsaXBzaXMoJHdpZHRoOiAxMDAlKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbiIsIiRnZW9yZ2lhOiBcIkdlb3JnaWFcIiwgXCJDYW1icmlhXCIsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFwiVGltZXNcIiwgc2VyaWY7XG4kaGVsdmV0aWNhOiBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIFwiUm9ib3RvXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRsdWNpZGEtZ3JhbmRlOiBcIkx1Y2lkYSBHcmFuZGVcIiwgXCJUYWhvbWFcIiwgXCJWZXJkYW5hXCIsIFwiQXJpYWxcIiwgc2Fucy1zZXJpZjtcbiRtb25vc3BhY2U6IFwiQml0c3RyZWFtIFZlcmEgU2FucyBNb25vXCIsIFwiQ29uc29sYXNcIiwgXCJDb3VyaWVyXCIsIG1vbm9zcGFjZTtcbiR2ZXJkYW5hOiBcIlZlcmRhbmFcIiwgXCJHZW5ldmFcIiwgc2Fucy1zZXJpZjtcbiIsIkBtaXhpbiBoaWRlLXRleHQoJGhlaWdodDogMWVtKSB7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBHZW5lcmF0ZSBhIHZhcmlhYmxlICgkYWxsLXRleHQtaW5wdXRzKSB3aXRoIGEgbGlzdCBvZiBhbGwgaHRtbDVcbi8vIGlucHV0IHR5cGVzIHRoYXQgaGF2ZSBhIHRleHQtYmFzZWQgaW5wdXQsIGV4Y2x1ZGluZyB0ZXh0YXJlYS5cbi8vIGh0dHA6Ly9kaXZlaW50b2h0bWw1Lm9yZy9mb3Jtcy5odG1sXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kaW5wdXRzLWxpc3Q6ICdpbnB1dFt0eXBlPVwiZW1haWxcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm51bWJlclwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInNlYXJjaFwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwidGVsXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0ZXh0XCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ1cmxcIl0nLFxuXG4gICAgICAgICAgICAgIC8vIFdlYmtpdCAmIEdlY2tvIG1heSBjaGFuZ2UgdGhlIGRpc3BsYXkgb2YgdGhlc2UgaW4gdGhlIGZ1dHVyZVxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cImNvbG9yXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRlXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJkYXRldGltZVwiXScsXG4gICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0nLFxuICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cIm1vbnRoXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ0aW1lXCJdJyxcbiAgICAgICAgICAgICAgJ2lucHV0W3R5cGU9XCJ3ZWVrXCJdJztcblxuLy8gQmFyZSBpbnB1dHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtdGV4dC1pbnB1dHM6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1saXN0KTtcblxuLy8gSG92ZXIgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLXRleHQtaW5wdXRzLWhvdmVyOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCwgaG92ZXIpO1xuXG4vLyBGb2N1cyBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtdGV4dC1pbnB1dHMtZm9jdXM6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1saXN0LCBmb2N1cyk7XG5cbi8vIEFjdGl2ZSBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlOiBhc3NpZ24taW5wdXRzKCRpbnB1dHMtbGlzdCwgYWN0aXZlKTtcblxuXG4vLyBZb3UgbXVzdCB1c2UgaW50ZXJwb2xhdGlvbiBvbiB0aGUgdmFyaWFibGU6XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHN9XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHMtaG92ZXJ9XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHMtZm9jdXN9XG4vLyAjeyRhbGwtdGV4dC1pbnB1dHMtYWN0aXZlfVxuXG4vLyBFeGFtcGxlXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyAgICN7JGFsbC10ZXh0LWlucHV0c30sIHRleHRhcmVhIHtcbi8vICAgICBib3JkZXI6IDFweCBzb2xpZCByZWQ7XG4vLyAgIH1cblxuXG5cbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIEdlbmVyYXRlIGEgdmFyaWFibGUgKCRhbGwtYnV0dG9uLWlucHV0cykgd2l0aCBhIGxpc3Qgb2YgYWxsIGh0bWw1XG4vLyBpbnB1dCB0eXBlcyB0aGF0IGhhdmUgYSBidXR0b24tYmFzZWQgaW5wdXQsIGV4Y2x1ZGluZyBidXR0b24uXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kaW5wdXRzLWJ1dHRvbi1saXN0OiAnaW5wdXRbdHlwZT1cImJ1dHRvblwiXScsXG4gICAgICAgICAgICAgICAgICAgICAnaW5wdXRbdHlwZT1cInJlc2V0XCJdJyxcbiAgICAgICAgICAgICAgICAgICAgICdpbnB1dFt0eXBlPVwic3VibWl0XCJdJztcblxuLy8gQmFyZSBpbnB1dHNcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0KTtcblxuLy8gSG92ZXIgUHNldWRvLWNsYXNzXG4vLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4kYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXI6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgaG92ZXIpO1xuXG4vLyBGb2N1cyBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1mb2N1czogYXNzaWduLWlucHV0cygkaW5wdXRzLWJ1dHRvbi1saXN0LCBmb2N1cyk7XG5cbi8vIEFjdGl2ZSBQc2V1ZG8tY2xhc3Ncbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbiRhbGwtYnV0dG9uLWlucHV0cy1hY3RpdmU6IGFzc2lnbi1pbnB1dHMoJGlucHV0cy1idXR0b24tbGlzdCwgYWN0aXZlKTtcblxuXG5cbi8vIFlvdSBtdXN0IHVzZSBpbnRlcnBvbGF0aW9uIG9uIHRoZSB2YXJpYWJsZTpcbi8vICN7JGFsbC1idXR0b24taW5wdXRzfVxuLy8gI3skYWxsLWJ1dHRvbi1pbnB1dHMtaG92ZXJ9XG4vLyAjeyRhbGwtYnV0dG9uLWlucHV0cy1mb2N1c31cbi8vICN7JGFsbC1idXR0b24taW5wdXRzLWFjdGl2ZX1cblxuLy8gRXhhbXBsZVxuLy8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovL1xuLy8gICAjeyRhbGwtYnV0dG9uLWlucHV0c30sIGJ1dHRvbiB7XG4vLyAgICAgYm9yZGVyOiAxcHggc29saWQgcmVkO1xuLy8gICB9XG4iLCIvLyBTZXQgZWxlbWVudCBwb3NpdGlvbmluZyBpbiBhIHNpbmdsZSBzdGF0ZW1lbnRcblxuQG1peGluIHBvc2l0aW9uKCRwb3NpdGlvbjogcmVsYXRpdmUsICRjb29yZGluYXRlczogbnVsbCBudWxsIG51bGwgbnVsbCkge1xuXG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gbGlzdCB7XG4gICAgJGNvb3JkaW5hdGVzOiAkcG9zaXRpb247XG4gICAgJHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gICRjb29yZGluYXRlczogdW5wYWNrKCRjb29yZGluYXRlcyk7XG5cbiAgJG9mZnNldHM6IChcbiAgICB0b3A6ICAgIG50aCgkY29vcmRpbmF0ZXMsIDEpLFxuICAgIHJpZ2h0OiAgbnRoKCRjb29yZGluYXRlcywgMiksXG4gICAgYm90dG9tOiBudGgoJGNvb3JkaW5hdGVzLCAzKSxcbiAgICBsZWZ0OiAgIG50aCgkY29vcmRpbmF0ZXMsIDQpXG4gICk7XG5cbiAgcG9zaXRpb246ICRwb3NpdGlvbjtcblxuICBAZWFjaCAkb2Zmc2V0LCAkdmFsdWUgaW4gJG9mZnNldHMge1xuICAgIEBpZiBpcy1sZW5ndGgoJHZhbHVlKSB7XG4gICAgICAjeyRvZmZzZXR9OiAkdmFsdWU7XG4gICAgfVxuICB9XG59XG4iLCIvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXG4vLyBFeGFtcGxlOiBAaW5jbHVkZSBwcmVmaXhlcihib3JkZXItcmFkaXVzLCAkcmFkaWksIHdlYmtpdCBtcyBzcGVjKTtcbi8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cbi8vIFZhcmlhYmxlcyBsb2NhdGVkIGluIC9zZXR0aW5ncy9fcHJlZml4ZXIuc2Nzc1xuXG5AbWl4aW4gcHJlZml4ZXIgKCRwcm9wZXJ0eSwgJHZhbHVlLCAkcHJlZml4ZXMpIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgIEBpZiAkcHJlZml4ID09IHdlYmtpdCB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBtb3oge1xuICAgICAgQGlmICRwcmVmaXgtZm9yLW1vemlsbGEge1xuICAgICAgICAtbW96LSN7JHByb3BlcnR5fTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSBpZiAkcHJlZml4ID09IG1zIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1taWNyb3NvZnQge1xuICAgICAgICAtbXMtI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIGlmICRwcmVmaXggPT0gbyB7XG4gICAgICBAaWYgJHByZWZpeC1mb3Itb3BlcmEge1xuICAgICAgICAtby0jeyRwcm9wZXJ0eX06ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2UgaWYgJHByZWZpeCA9PSBzcGVjIHtcbiAgICAgIEBpZiAkcHJlZml4LWZvci1zcGVjIHtcbiAgICAgICAgI3skcHJvcGVydHl9OiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlICB7XG4gICAgICBAd2FybiBcIlVucmVjb2duaXplZCBwcmVmaXg6ICN7JHByZWZpeH1cIjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGRpc2FibGUtcHJlZml4LWZvci1hbGwoKSB7XG4gICRwcmVmaXgtZm9yLXdlYmtpdDogICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3ItbW96aWxsYTogICBmYWxzZSAhZ2xvYmFsO1xuICAkcHJlZml4LWZvci1taWNyb3NvZnQ6IGZhbHNlICFnbG9iYWw7XG4gICRwcmVmaXgtZm9yLW9wZXJhOiAgICAgZmFsc2UgIWdsb2JhbDtcbiAgJHByZWZpeC1mb3Itc3BlYzogICAgICBmYWxzZSAhZ2xvYmFsO1xufVxuIiwiQG1peGluIHJldGluYS1pbWFnZSgkZmlsZW5hbWUsICRiYWNrZ3JvdW5kLXNpemUsICRleHRlbnNpb246IHBuZywgJHJldGluYS1maWxlbmFtZTogbnVsbCwgJHJldGluYS1zdWZmaXg6IF8yeCwgJGFzc2V0LXBpcGVsaW5lOiAkYXNzZXQtcGlwZWxpbmUpIHtcbiAgQGlmICRhc3NldC1waXBlbGluZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaW1hZ2UtdXJsKFwiI3skZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgIHVybChcIiN7JGZpbGVuYW1lfS4jeyRleHRlbnNpb259XCIpO1xuICB9XG5cbiAgQGluY2x1ZGUgaGlkcGkge1xuICAgIEBpZiAkYXNzZXQtcGlwZWxpbmUge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBpbWFnZS11cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGltYWdlLXVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGlmICRyZXRpbmEtZmlsZW5hbWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRyZXRpbmEtZmlsZW5hbWV9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIiN7JGZpbGVuYW1lfSN7JHJldGluYS1zdWZmaXh9LiN7JGV4dGVuc2lvbn1cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1zaXplOiAkYmFja2dyb3VuZC1zaXplO1xuXG4gIH1cbn1cbiIsIi8vIFNldCBgd2lkdGhgIGFuZCBgaGVpZ2h0YCBpbiBhIHNpbmdsZSBzdGF0ZW1lbnRcblxuQG1peGluIHNpemUoJHZhbHVlKSB7XG4gICR3aWR0aDogbnRoKCR2YWx1ZSwgMSk7XG4gICRoZWlnaHQ6ICR3aWR0aDtcblxuICBAaWYgbGVuZ3RoKCR2YWx1ZSkgPiAxIHtcbiAgICAkaGVpZ2h0OiBudGgoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBpZiBpcy1zaXplKCRoZWlnaHQpIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQHdhcm4gXCJgI3skaGVpZ2h0fWAgaXMgbm90IGEgdmFsaWQgbGVuZ3RoIGZvciB0aGUgYCRoZWlnaHRgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG5cbiAgQGlmIGlzLXNpemUoJHdpZHRoKSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAd2FybiBcImAjeyR3aWR0aH1gIGlzIG5vdCBhIHZhbGlkIGxlbmd0aCBmb3IgdGhlIGAkd2lkdGhgIHBhcmFtZXRlciBpbiB0aGUgYHNpemVgIG1peGluLlwiO1xuICB9XG59XG4iLCIvLyBDU1MgY3ViaWMtYmV6aWVyIHRpbWluZyBmdW5jdGlvbnMuIFRpbWluZyBmdW5jdGlvbnMgY291cnRlc3kgb2YganF1ZXJ5LmVhc2llIChnaXRodWIuY29tL2phdWtpYS9lYXNpZSlcbi8vIFRpbWluZyBmdW5jdGlvbnMgYXJlIHRoZSBzYW1lIGFzIGRlbW8nZWQgaGVyZTogaHR0cDovL2pxdWVyeXVpLmNvbS9yZXNvdXJjZXMvZGVtb3MvZWZmZWN0L2Vhc2luZy5odG1sXG5cbi8vIEVBU0UgSU5cbiRlYXNlLWluLXF1YWQ6ICAgICAgY3ViaWMtYmV6aWVyKDAuNTUwLCAgMC4wODUsIDAuNjgwLCAwLjUzMCk7XG4kZWFzZS1pbi1jdWJpYzogICAgIGN1YmljLWJlemllcigwLjU1MCwgIDAuMDU1LCAwLjY3NSwgMC4xOTApO1xuJGVhc2UtaW4tcXVhcnQ6ICAgICBjdWJpYy1iZXppZXIoMC44OTUsICAwLjAzMCwgMC42ODUsIDAuMjIwKTtcbiRlYXNlLWluLXF1aW50OiAgICAgY3ViaWMtYmV6aWVyKDAuNzU1LCAgMC4wNTAsIDAuODU1LCAwLjA2MCk7XG4kZWFzZS1pbi1zaW5lOiAgICAgIGN1YmljLWJlemllcigwLjQ3MCwgIDAuMDAwLCAwLjc0NSwgMC43MTUpO1xuJGVhc2UtaW4tZXhwbzogICAgICBjdWJpYy1iZXppZXIoMC45NTAsICAwLjA1MCwgMC43OTUsIDAuMDM1KTtcbiRlYXNlLWluLWNpcmM6ICAgICAgY3ViaWMtYmV6aWVyKDAuNjAwLCAgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XG4kZWFzZS1pbi1iYWNrOiAgICAgIGN1YmljLWJlemllcigwLjYwMCwgLTAuMjgwLCAwLjczNSwgMC4wNDUpO1xuXG4vLyBFQVNFIE9VVFxuJGVhc2Utb3V0LXF1YWQ6ICAgICBjdWJpYy1iZXppZXIoMC4yNTAsICAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRlYXNlLW91dC1jdWJpYzogICAgY3ViaWMtYmV6aWVyKDAuMjE1LCAgMC42MTAsIDAuMzU1LCAxLjAwMCk7XG4kZWFzZS1vdXQtcXVhcnQ6ICAgIGN1YmljLWJlemllcigwLjE2NSwgIDAuODQwLCAwLjQ0MCwgMS4wMDApO1xuJGVhc2Utb3V0LXF1aW50OiAgICBjdWJpYy1iZXppZXIoMC4yMzAsICAxLjAwMCwgMC4zMjAsIDEuMDAwKTtcbiRlYXNlLW91dC1zaW5lOiAgICAgY3ViaWMtYmV6aWVyKDAuMzkwLCAgMC41NzUsIDAuNTY1LCAxLjAwMCk7XG4kZWFzZS1vdXQtZXhwbzogICAgIGN1YmljLWJlemllcigwLjE5MCwgIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xuJGVhc2Utb3V0LWNpcmM6ICAgICBjdWJpYy1iZXppZXIoMC4wNzUsICAwLjgyMCwgMC4xNjUsIDEuMDAwKTtcbiRlYXNlLW91dC1iYWNrOiAgICAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XG5cbi8vIEVBU0UgSU4gT1VUXG4kZWFzZS1pbi1vdXQtcXVhZDogIGN1YmljLWJlemllcigwLjQ1NSwgIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGVhc2UtaW4tb3V0LWN1YmljOiBjdWJpYy1iZXppZXIoMC42NDUsICAwLjA0NSwgMC4zNTUsIDEuMDAwKTtcbiRlYXNlLWluLW91dC1xdWFydDogY3ViaWMtYmV6aWVyKDAuNzcwLCAgMC4wMDAsIDAuMTc1LCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtcXVpbnQ6IGN1YmljLWJlemllcigwLjg2MCwgIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xuJGVhc2UtaW4tb3V0LXNpbmU6ICBjdWJpYy1iZXppZXIoMC40NDUsICAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiRlYXNlLWluLW91dC1leHBvOiAgY3ViaWMtYmV6aWVyKDEuMDAwLCAgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XG4kZWFzZS1pbi1vdXQtY2lyYzogIGN1YmljLWJlemllcigwLjc4NSwgIDAuMTM1LCAwLjE1MCwgMC44NjApO1xuJGVhc2UtaW4tb3V0LWJhY2s6ICBjdWJpYy1iZXppZXIoMC42ODAsIC0wLjU1MCwgMC4yNjUsIDEuNTUwKTtcbiIsIkBtaXhpbiB0cmlhbmdsZSAoJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbikge1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuXG4gICR3aWR0aDogbnRoKCRzaXplLCAxKTtcbiAgJGhlaWdodDogbnRoKCRzaXplLCBsZW5ndGgoJHNpemUpKTtcblxuICAkZm9yZWdyb3VuZC1jb2xvcjogbnRoKCRjb2xvciwgMSk7XG4gICRiYWNrZ3JvdW5kLWNvbG9yOiBpZihsZW5ndGgoJGNvbG9yKSA9PSAyLCBudGgoJGNvbG9yLCAyKSwgdHJhbnNwYXJlbnQpO1xuXG4gIEBpZiAoJGRpcmVjdGlvbiA9PSB1cCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bikgb3IgKCRkaXJlY3Rpb24gPT0gcmlnaHQpIG9yICgkZGlyZWN0aW9uID09IGxlZnQpIHtcblxuICAgICR3aWR0aDogJHdpZHRoIC8gMjtcbiAgICAkaGVpZ2h0OiBpZihsZW5ndGgoJHNpemUpID4gMSwgJGhlaWdodCwgJGhlaWdodC8yKTtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItcmlnaHQ6ICR3aWR0aCBzb2xpZCAkYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWxlZnQ6ICRoZWlnaHQgc29saWQgJGZvcmVncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICBib3JkZXItbGVmdDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgICBib3JkZXItdG9wOiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgYm9yZGVyLXRvcDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbTogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkaGVpZ2h0IHNvbGlkICRmb3JlZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IHVwLXJpZ2h0KSBvciAoJGRpcmVjdGlvbiA9PSB1cC1sZWZ0KSB7XG4gICAgYm9yZGVyLXRvcDogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwLXJpZ2h0IHtcbiAgICAgIGJvcmRlci1sZWZ0OiAgJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuXG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHVwLWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gZG93bi1yaWdodCkgb3IgKCRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0KSB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhlaWdodCBzb2xpZCAkZm9yZWdyb3VuZC1jb2xvcjtcblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGRvd24tcmlnaHQge1xuICAgICAgYm9yZGVyLWxlZnQ6ICAkd2lkdGggc29saWQgJGJhY2tncm91bmQtY29sb3I7XG5cbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93bi1sZWZ0IHtcbiAgICAgIGJvcmRlci1yaWdodDogJHdpZHRoIHNvbGlkICRiYWNrZ3JvdW5kLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uID09IGluc2V0LXVwKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGZvcmVncm91bmQtY29sb3I7XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1kb3duKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJGZvcmVncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3IgJGJhY2tncm91bmQtY29sb3I7XG4gIH1cblxuICBAZWxzZSBpZiAoJGRpcmVjdGlvbiA9PSBpbnNldC1yaWdodCkge1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yO1xuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb24gPT0gaW5zZXQtbGVmdCkge1xuICAgIGJvcmRlci13aWR0aDogJHdpZHRoICRoZWlnaHQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kLWNvbG9yICRmb3JlZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yICRiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG59XG4iLCJAbWl4aW4gd29yZC13cmFwKCR3cmFwOiBicmVhay13b3JkKSB7XG4gIG92ZXJmbG93LXdyYXA6ICR3cmFwO1xuICB3b3JkLXdyYXA6ICR3cmFwO1xuXG4gIEBpZiAkd3JhcCA9PSBicmVhay13b3JkIHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIH0gQGVsc2Uge1xuICAgIHdvcmQtYnJlYWs6ICR3cmFwO1xuICB9XG59XG4iLCIvLyBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgTUFKT1IgdmVyc2lvbiByZWxlYXNlXG5cbkBtaXhpbiBpbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgQHdhcm4gXCJUaGUgaW5saW5lLWJsb2NrIG1peGluIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQG1peGluIGJ1dHRvbiAoJHN0eWxlOiBzaW1wbGUsICRiYXNlLWNvbG9yOiAjNDI5NGYwLCAkdGV4dC1zaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IHN0cmluZyBhbmQgdHlwZS1vZigkYmFzZS1jb2xvcikgPT0gY29sb3Ige1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gc3RyaW5nIGFuZCB0eXBlLW9mKCRiYXNlLWNvbG9yKSA9PSBudW1iZXIge1xuICAgICRwYWRkaW5nOiAkdGV4dC1zaXplO1xuICAgICR0ZXh0LXNpemU6ICRiYXNlLWNvbG9yO1xuICAgICRiYXNlLWNvbG9yOiAjNDI5NGYwO1xuXG4gICAgQGlmICRwYWRkaW5nID09IGluaGVyaXQge1xuICAgICAgJHBhZGRpbmc6IDdweCAxOHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IGNvbG9yIHtcbiAgICAkYmFzZS1jb2xvcjogJHN0eWxlO1xuICAgICRzdHlsZTogc2ltcGxlO1xuICAgIEBpbmNsdWRlIGJ1dHRvbnN0eWxlKCRzdHlsZSwgJGJhc2UtY29sb3IsICR0ZXh0LXNpemUsICRwYWRkaW5nKTtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRzdHlsZSkgPT0gY29sb3IgYW5kIHR5cGUtb2YoJGJhc2UtY29sb3IpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICR0ZXh0LXNpemU7XG4gICAgJHRleHQtc2l6ZTogJGJhc2UtY29sb3I7XG4gICAgJGJhc2UtY29sb3I6ICRzdHlsZTtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSBpbmhlcml0IHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkc3R5bGUpID09IG51bWJlciB7XG4gICAgJHBhZGRpbmc6ICRiYXNlLWNvbG9yO1xuICAgICR0ZXh0LXNpemU6ICRzdHlsZTtcbiAgICAkYmFzZS1jb2xvcjogIzQyOTRmMDtcbiAgICAkc3R5bGU6IHNpbXBsZTtcblxuICAgIEBpZiAkcGFkZGluZyA9PSAjNDI5NGYwIHtcbiAgICAgICRwYWRkaW5nOiA3cHggMThweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBidXR0b25zdHlsZSgkc3R5bGUsICRiYXNlLWNvbG9yLCAkdGV4dC1zaXplLCAkcGFkZGluZyk7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuXG4gIEB3YXJuIFwiVGhlIGJ1dHRvbiBtaXhpbiBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiByZWxlYXNlXCI7XG59XG5cbi8vIFNlbGVjdG9yIFN0eWxlIEJ1dHRvblxuQG1peGluIGJ1dHRvbnN0eWxlKCR0eXBlLCAkYi1jb2xvciwgJHQtc2l6ZSwgJHBhZCkge1xuICAvLyBHcmF5c2NhbGUgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgdHJ1ZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAaWYgJHR5cGUgPT0gc2hpbnkgYW5kICRiLWNvbG9yID09IGdyYXlzY2FsZSgkYi1jb2xvcikge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBwaWxsIGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIEBpZiAkdHlwZSA9PSBmbGF0IGFuZCAkYi1jb2xvciA9PSBncmF5c2NhbGUoJGItY29sb3IpIHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCB0cnVlLCAkdC1zaXplLCAkcGFkKTtcbiAgfVxuXG4gIC8vIENvbG9yZWQgYnV0dG9uXG4gIEBpZiAkdHlwZSA9PSBzaW1wbGUge1xuICAgIEBpbmNsdWRlIHNpbXBsZSgkYi1jb2xvciwgZmFsc2UsICR0LXNpemUsICRwYWQpO1xuICB9XG5cbiAgQGVsc2UgaWYgJHR5cGUgPT0gc2hpbnkge1xuICAgIEBpbmNsdWRlIHNoaW55KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBwaWxsIHtcbiAgICBAaW5jbHVkZSBwaWxsKCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cblxuICBAZWxzZSBpZiAkdHlwZSA9PSBmbGF0IHtcbiAgICBAaW5jbHVkZSBmbGF0KCRiLWNvbG9yLCBmYWxzZSwgJHQtc2l6ZSwgJHBhZCk7XG4gIH1cbn1cblxuLy8gU2ltcGxlIEJ1dHRvblxuQG1peGluIHNpbXBsZSgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG4gICRib3JkZXI6ICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgOSUsICAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC04JSwgICRsaWdodG5lc3M6ICAxNSUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDklLCAgJGxpZ2h0bmVzczogLTExJSk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAgMTUlLCAkbGlnaHRuZXNzOiAtMTglKTtcblxuICBAaWYgaXMtbGlnaHQoJGJhc2UtY29sb3IpIHtcbiAgICAkY29sb3I6ICAgICAgIGhzbCgwLCAwLCAyMCUpO1xuICAgICR0ZXh0LXNoYWRvdzogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogMTAlLCAkbGlnaHRuZXNzOiA0JSk7XG4gIH1cblxuICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAkYm9yZGVyOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXIpO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHN0b3AtZ3JhZGllbnQ6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudCk7XG4gICAgJHRleHQtc2hhZG93OiAgIGdyYXlzY2FsZSgkdGV4dC1zaGFkb3cpO1xuICB9XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgJHRleHQtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAtNCUsICRsaWdodG5lc3M6IC01JSk7XG4gICAgJGluc2V0LXNoYWRvdy1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHNhdHVyYXRpb246IC03JSwgJGxpZ2h0bmVzczogIDUlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogIDglLCAkbGlnaHRuZXNzOiAtMTQlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMCAwICRpbnNldC1zaGFkb3ctaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3ItaG92ZXIsICRzdG9wLWdyYWRpZW50LWhvdmVyKTtcbiAgfVxuXG4gICY6YWN0aXZlOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICAkYm9yZGVyLWFjdGl2ZTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogOSUsICRsaWdodG5lc3M6IC0xNCUpO1xuICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiA3JSwgJGxpZ2h0bmVzczogLTE3JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRib3JkZXItYWN0aXZlOiAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93LWFjdGl2ZSk7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDhweCA0cHggJGluc2V0LXNoYWRvdy1hY3RpdmUsIGluc2V0IDAgMCA4cHggNHB4ICRpbnNldC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIFNoaW55IEJ1dHRvblxuQG1peGluIHNoaW55KCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlcjogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExNywgJGdyZWVuOiAtMTExLCAkYmx1ZTogLTgxKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTEyNiwgJGdyZWVuOiAtMTI3LCAkYmx1ZTogLTEyMik7XG4gICRmb3VydGgtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC03OSwgICRncmVlbjogLTcwLCAgJGJsdWU6IC00Nik7XG4gICRpbnNldC1zaGFkb3c6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6ICAzNywgICRncmVlbjogIDI5LCAgJGJsdWU6ICAxMik7XG4gICRzZWNvbmQtc3RvcDogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC01NiwgICRncmVlbjogLTUwLCAgJGJsdWU6IC0zMyk7XG4gICR0ZXh0LXNoYWRvdzogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xNDAsICRncmVlbjogLTE0MSwgJGJsdWU6IC0xMTQpO1xuICAkdGhpcmQtc3RvcDogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtODYsICAkZ3JlZW46IC03NSwgICRibHVlOiAtNDgpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXI6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlcik7XG4gICAgJGJvcmRlci1ib3R0b206IGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgJGZvdXJ0aC1zdG9wOiAgIGdyYXlzY2FsZSgkZm91cnRoLXN0b3ApO1xuICAgICRpbnNldC1zaGFkb3c6ICBncmF5c2NhbGUoJGluc2V0LXNoYWRvdyk7XG4gICAgJHNlY29uZC1zdG9wOiAgIGdyYXlzY2FsZSgkc2Vjb25kLXN0b3ApO1xuICAgICR0ZXh0LXNoYWRvdzogICBncmF5c2NhbGUoJHRleHQtc2hhZG93KTtcbiAgICAkdGhpcmQtc3RvcDogICAgZ3JheXNjYWxlKCR0aGlyZC1zdG9wKTtcbiAgfVxuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCh0b3AsICRiYXNlLWNvbG9yIDAlLCAkc2Vjb25kLXN0b3AgNTAlLCAkdGhpcmQtc3RvcCA1MCUsICRmb3VydGgtc3RvcCAxMDAlKTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGZpcnN0LXN0b3AtaG92ZXI6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC0xMywgJGdyZWVuOiAtMTUsICRibHVlOiAtMTgpO1xuICAgICRzZWNvbmQtc3RvcC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkcmVkOiAtNjYsICRncmVlbjogLTYyLCAkYmx1ZTogLTUxKTtcbiAgICAkdGhpcmQtc3RvcC1ob3ZlcjogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTkzLCAkZ3JlZW46IC04NSwgJGJsdWU6IC02Nik7XG4gICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRyZWQ6IC04NiwgJGdyZWVuOiAtODAsICRibHVlOiAtNjMpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkZmlyc3Qtc3RvcC1ob3ZlcjogIGdyYXlzY2FsZSgkZmlyc3Qtc3RvcC1ob3Zlcik7XG4gICAgICAkc2Vjb25kLXN0b3AtaG92ZXI6IGdyYXlzY2FsZSgkc2Vjb25kLXN0b3AtaG92ZXIpO1xuICAgICAgJHRoaXJkLXN0b3AtaG92ZXI6ICBncmF5c2NhbGUoJHRoaXJkLXN0b3AtaG92ZXIpO1xuICAgICAgJGZvdXJ0aC1zdG9wLWhvdmVyOiBncmF5c2NhbGUoJGZvdXJ0aC1zdG9wLWhvdmVyKTtcbiAgICB9XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgbGluZWFyLWdyYWRpZW50KHRvcCwgJGZpcnN0LXN0b3AtaG92ZXIgIDAlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzZWNvbmQtc3RvcC1ob3ZlciA1MCUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXJkLXN0b3AtaG92ZXIgIDUwJSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm91cnRoLXN0b3AtaG92ZXIgMTAwJSk7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJHJlZDogLTExMSwgJGdyZWVuOiAtMTE2LCAkYmx1ZTogLTEyMik7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiBncmF5c2NhbGUoJGluc2V0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAyMHB4IDAgJGluc2V0LXNoYWRvdy1hY3RpdmU7XG4gIH1cbn1cblxuLy8gUGlsbCBCdXR0b25cbkBtaXhpbiBwaWxsKCRiYXNlLWNvbG9yLCAkZ3JheXNjYWxlOiBmYWxzZSwgJHRleHRzaXplOiBpbmhlcml0LCAkcGFkZGluZzogN3B4IDE4cHgpIHtcbiAgJGNvbG9yOiAgICAgICAgIGhzbCgwLCAwLCAxMDAlKTtcbiAgJGJvcmRlci1ib3R0b206IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDgsICRzYXR1cmF0aW9uOiAtMTElLCAkbGlnaHRuZXNzOiAtMjYlKTtcbiAgJGJvcmRlci1zaWRlczogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMjElLCAkbGlnaHRuZXNzOiAtMjElKTtcbiAgJGJvcmRlci10b3A6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMzAlLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgJGluc2V0LXNoYWRvdzogIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogLTEsICRzYXR1cmF0aW9uOiAtMSUsICAkbGlnaHRuZXNzOiAgNyUpO1xuICAkc3RvcC1ncmFkaWVudDogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxNCUsICRsaWdodG5lc3M6IC0xMCUpO1xuICAkdGV4dC1zaGFkb3c6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC0xOSUsICRsaWdodG5lc3M6IC0xNSUpO1xuXG4gIEBpZiBpcy1saWdodCgkYmFzZS1jb2xvcikge1xuICAgICRjb2xvcjogICAgICAgaHNsKDAsIDAsIDIwJSk7XG4gICAgJHRleHQtc2hhZG93OiBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRzYXR1cmF0aW9uOiAxMCUsICRsaWdodG5lc3M6IDQlKTtcbiAgfVxuXG4gIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICRib3JkZXItYm90dG9tOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20pO1xuICAgICRib3JkZXItc2lkZXM6ICBncmF5c2NhbGUoJGJvcmRlci1zaWRlcyk7XG4gICAgJGJvcmRlci10b3A6ICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgJGluc2V0LXNoYWRvdzogIGdyYXlzY2FsZSgkaW5zZXQtc2hhZG93KTtcbiAgICAkc3RvcC1ncmFkaWVudDogZ3JheXNjYWxlKCRzdG9wLWdyYWRpZW50KTtcbiAgICAkdGV4dC1zaGFkb3c6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdyk7XG4gIH1cblxuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLXRvcDtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIDAgJGluc2V0LXNoYWRvdztcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIGxpbmVhci1ncmFkaWVudCAoJGJhc2UtY29sb3IsICRzdG9wLWdyYWRpZW50KTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3c7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgJGJhc2UtY29sb3ItaG92ZXI6ICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRsaWdodG5lc3M6IC00LjUlKTtcbiAgICAkYm9yZGVyLWJvdHRvbTogICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246ICAxMy41JSwgJGxpZ2h0bmVzczogLTMyJSk7XG4gICAgJGJvcmRlci1zaWRlczogICAgICAgIGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogIDQsICRzYXR1cmF0aW9uOiAtMiUsICAgICRsaWdodG5lc3M6IC0yNyUpO1xuICAgICRib3JkZXItdG9wOiAgICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IC0xLCAkc2F0dXJhdGlvbjogLTE3JSwgICAkbGlnaHRuZXNzOiAtMjElKTtcbiAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAgICAgICAgICAgJHNhdHVyYXRpb246IC0xJSwgICAgJGxpZ2h0bmVzczogIDMlKTtcbiAgICAkc3RvcC1ncmFkaWVudC1ob3ZlcjogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgOCwgJHNhdHVyYXRpb246IC00JSwgICAgJGxpZ2h0bmVzczogLTE1LjUlKTtcbiAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiAgNSwgJHNhdHVyYXRpb246IC01JSwgICAgJGxpZ2h0bmVzczogLTIyJSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRiYXNlLWNvbG9yLWhvdmVyOiAgICBncmF5c2NhbGUoJGJhc2UtY29sb3ItaG92ZXIpO1xuICAgICAgJGJvcmRlci1ib3R0b206ICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLWJvdHRvbSk7XG4gICAgICAkYm9yZGVyLXNpZGVzOiAgICAgICAgZ3JheXNjYWxlKCRib3JkZXItc2lkZXMpO1xuICAgICAgJGJvcmRlci10b3A6ICAgICAgICAgIGdyYXlzY2FsZSgkYm9yZGVyLXRvcCk7XG4gICAgICAkaW5zZXQtc2hhZG93LWhvdmVyOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctaG92ZXIpO1xuICAgICAgJHN0b3AtZ3JhZGllbnQtaG92ZXI6IGdyYXlzY2FsZSgkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgICAkdGV4dC1zaGFkb3ctaG92ZXI6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1ob3Zlcik7XG4gICAgfVxuXG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci10b3A7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyLXRvcCAkYm9yZGVyLXNpZGVzICRib3JkZXItYm90dG9tO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDAgMCAkaW5zZXQtc2hhZG93LWhvdmVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBsaW5lYXItZ3JhZGllbnQgKCRiYXNlLWNvbG9yLWhvdmVyLCAkc3RvcC1ncmFkaWVudC1ob3Zlcik7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAxcHggJHRleHQtc2hhZG93LWhvdmVyO1xuICAgIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIH1cblxuICAmOmFjdGl2ZTpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1czpub3QoOmRpc2FibGVkKSB7XG4gICAgJGFjdGl2ZS1jb2xvcjogICAgICAgICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDQsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0xMCUpO1xuICAgICRib3JkZXItYWN0aXZlOiAgICAgICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkaHVlOiA2LCAgJHNhdHVyYXRpb246IC0yLjUlLCAkbGlnaHRuZXNzOiAtMzAlKTtcbiAgICAkYm9yZGVyLWJvdHRvbS1hY3RpdmU6IGFkanVzdC1jb2xvcigkYmFzZS1jb2xvciwgJGh1ZTogMTEsICRzYXR1cmF0aW9uOiAgNiUsICAgJGxpZ2h0bmVzczogLTMxJSk7XG4gICAgJGluc2V0LXNoYWRvdy1hY3RpdmU6ICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDksICAkc2F0dXJhdGlvbjogIDIlLCAgICRsaWdodG5lc3M6IC0yMS41JSk7XG4gICAgJHRleHQtc2hhZG93LWFjdGl2ZTogICBhZGp1c3QtY29sb3IoJGJhc2UtY29sb3IsICRodWU6IDUsICAkc2F0dXJhdGlvbjogLTEyJSwgICRsaWdodG5lc3M6IC0yMS41JSk7XG5cbiAgICBAaWYgJGdyYXlzY2FsZSA9PSB0cnVlIHtcbiAgICAgICRhY3RpdmUtY29sb3I6ICAgICAgICAgZ3JheXNjYWxlKCRhY3RpdmUtY29sb3IpO1xuICAgICAgJGJvcmRlci1hY3RpdmU6ICAgICAgICBncmF5c2NhbGUoJGJvcmRlci1hY3RpdmUpO1xuICAgICAgJGJvcmRlci1ib3R0b20tYWN0aXZlOiBncmF5c2NhbGUoJGJvcmRlci1ib3R0b20tYWN0aXZlKTtcbiAgICAgICRpbnNldC1zaGFkb3ctYWN0aXZlOiAgZ3JheXNjYWxlKCRpbnNldC1zaGFkb3ctYWN0aXZlKTtcbiAgICAgICR0ZXh0LXNoYWRvdy1hY3RpdmU6ICAgZ3JheXNjYWxlKCR0ZXh0LXNoYWRvdy1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1hY3RpdmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXItYm90dG9tLWFjdGl2ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgNnB4IDNweCAkaW5zZXQtc2hhZG93LWFjdGl2ZTtcbiAgICB0ZXh0LXNoYWRvdzogMCAtMXB4IDFweCAkdGV4dC1zaGFkb3ctYWN0aXZlO1xuICB9XG59XG5cbi8vIEZsYXQgQnV0dG9uXG5AbWl4aW4gZmxhdCgkYmFzZS1jb2xvciwgJGdyYXlzY2FsZTogZmFsc2UsICR0ZXh0c2l6ZTogaW5oZXJpdCwgJHBhZGRpbmc6IDdweCAxOHB4KSB7XG4gICRjb2xvcjogICAgICAgICBoc2woMCwgMCwgMTAwJSk7XG5cbiAgQGlmIGlzLWxpZ2h0KCRiYXNlLWNvbG9yKSB7XG4gICAgJGNvbG9yOiAgICAgICBoc2woMCwgMCwgMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6ICRjb2xvcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6ICR0ZXh0c2l6ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKXtcbiAgICAkYmFzZS1jb2xvci1ob3ZlcjogICAgYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogNCUsICRsaWdodG5lc3M6IDUlKTtcblxuICAgIEBpZiAkZ3JheXNjYWxlID09IHRydWUge1xuICAgICAgJGJhc2UtY29sb3ItaG92ZXI6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1ob3Zlcik7XG4gICAgfVxuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhc2UtY29sb3ItaG92ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjphY3RpdmU6bm90KDpkaXNhYmxlZCksXG4gICY6Zm9jdXM6bm90KDpkaXNhYmxlZCkge1xuICAgICRiYXNlLWNvbG9yLWFjdGl2ZTogYWRqdXN0LWNvbG9yKCRiYXNlLWNvbG9yLCAkc2F0dXJhdGlvbjogLTQlLCAkbGlnaHRuZXNzOiAtNSUpO1xuXG4gICAgQGlmICRncmF5c2NhbGUgPT0gdHJ1ZSB7XG4gICAgICAkYmFzZS1jb2xvci1hY3RpdmU6IGdyYXlzY2FsZSgkYmFzZS1jb2xvci1hY3RpdmUpO1xuICAgIH1cblxuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYXNlLWNvbG9yLWFjdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gRmxleGlibGUgZ3JpZFxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ncmlkIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuLy8gRmxleGlibGUgZ3V0dGVyXG5AZnVuY3Rpb24gZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMsICRndXR0ZXI6ICRmZy1ndXR0ZXIpIHtcbiAgJGNvbnRhaW5lci13aWR0aDogJGNvbnRhaW5lci1jb2x1bW5zICogJGZnLWNvbHVtbiArICgkY29udGFpbmVyLWNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gIEByZXR1cm4gcGVyY2VudGFnZSgkZ3V0dGVyIC8gJGNvbnRhaW5lci13aWR0aCk7XG5cbiAgQHdhcm4gXCJUaGUgZmxleC1ndXR0ZXIgZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZVwiO1xufVxuXG5AZnVuY3Rpb24gZ3JpZC13aWR0aCgkbikge1xuICBAcmV0dXJuICRuICogJGd3LWNvbHVtbiArICgkbiAtIDEpICogJGd3LWd1dHRlcjtcblxuICBAd2FybiBcIlRoZSBncmlkLXdpZHRoIGZ1bmN0aW9uIGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2VcIjtcbn1cblxuQGZ1bmN0aW9uIGdvbGRlbi1yYXRpbygkdmFsdWUsICRpbmNyZW1lbnQpIHtcbiAgQHJldHVybiBtb2R1bGFyLXNjYWxlKCRpbmNyZW1lbnQsICR2YWx1ZSwgJHJhdGlvOiAkZ29sZGVuKTtcblxuICBAd2FybiBcIlRoZSBnb2xkZW4tcmF0aW8gZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gcmVsZWFzZS4gUGxlYXNlIHVzZSB0aGUgbW9kdWxhci1zY2FsZSBmdW5jdGlvbiwgaW5zdGVhZC5cIjtcbn1cbiIsIi8vIEZ1bmN0aW9uc1xuQGltcG9ydCBcImZ1bmN0aW9ucy9wcml2YXRlXCI7XG5AaW1wb3J0IFwiZnVuY3Rpb25zL25ldy1icmVha3BvaW50XCI7XG5cbi8vIFNldHRpbmdzXG5AaW1wb3J0IFwic2V0dGluZ3MvZ3JpZFwiO1xuQGltcG9ydCBcInNldHRpbmdzL3Zpc3VhbC1ncmlkXCI7XG5AaW1wb3J0IFwic2V0dGluZ3MvZGlzYWJsZS13YXJuaW5nc1wiO1xuIiwiLy8gTm90IGZ1bmN0aW9uIGZvciBMaWJzYXNzIGNvbXBhdGliaWxpdHlcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zYXNzL2xpYnNhc3MvaXNzdWVzLzM2OFxuQGZ1bmN0aW9uIGlzLW5vdCgkdmFsdWUpIHtcbiAgQHJldHVybiBpZigkdmFsdWUsIGZhbHNlLCB0cnVlKTtcbn1cblxuLy8gQ2hlY2tzIGlmIGEgbnVtYmVyIGlzIGV2ZW5cbkBmdW5jdGlvbiBpcy1ldmVuKCRpbnQpIHtcbiAgQHJldHVybiAkaW50ICUgMiA9PSAwO1xufVxuXG4vLyBDaGVja3MgaWYgYW4gZWxlbWVudCBiZWxvbmdzIHRvIGEgbGlzdCBvciBub3RcbkBmdW5jdGlvbiBiZWxvbmdzLXRvKCR0ZXN0ZWQtaXRlbSwgJGxpc3QpIHtcbiAgQHJldHVybiBpcy1ub3Qobm90LWJlbG9uZ3MtdG8oJHRlc3RlZC1pdGVtLCAkbGlzdCkpO1xufVxuXG5AZnVuY3Rpb24gbm90LWJlbG9uZ3MtdG8oJHRlc3RlZC1pdGVtLCAkbGlzdCkge1xuICBAcmV0dXJuIGlzLW5vdChpbmRleCgkbGlzdCwgJHRlc3RlZC1pdGVtKSk7XG59XG5cbi8vIENvbnRhaW5zIGRpc3BsYXkgdmFsdWVcbkBmdW5jdGlvbiBjb250YWlucy1kaXNwbGF5LXZhbHVlKCRxdWVyeSkge1xuICBAcmV0dXJuIGJlbG9uZ3MtdG8odGFibGUsICRxdWVyeSlcbiAgICAgICBvciBiZWxvbmdzLXRvKGJsb2NrLCAkcXVlcnkpXG4gICAgICAgb3IgYmVsb25ncy10byhpbmxpbmUtYmxvY2ssICRxdWVyeSlcbiAgICAgICBvciBiZWxvbmdzLXRvKGlubGluZSwgJHF1ZXJ5KTtcbn1cblxuLy8gUGFyc2VzIHRoZSBmaXJzdCBhcmd1bWVudCBvZiBzcGFuLWNvbHVtbnMoKVxuQGZ1bmN0aW9uIGNvbnRhaW5lci1zcGFuKCRzcGFuOiAkc3Bhbikge1xuICBAaWYgbGVuZ3RoKCRzcGFuKSA9PSAzIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc3BhbiwgMyk7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzcGFuKSA9PSAyIHtcbiAgICAkY29udGFpbmVyLWNvbHVtbnM6IG50aCgkc3BhbiwgMik7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH1cblxuICBAcmV0dXJuICRncmlkLWNvbHVtbnM7XG59XG5cbkBmdW5jdGlvbiBjb250YWluZXItc2hpZnQoJHNoaWZ0OiAkc2hpZnQpIHtcbiAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFkZWZhdWx0ICFnbG9iYWw7XG5cbiAgQGlmIGxlbmd0aCgkc2hpZnQpID09IDMge1xuICAgICRjb250YWluZXItY29sdW1uczogbnRoKCRzaGlmdCwgMyk7XG4gICAgQHJldHVybiAkY29udGFpbmVyLWNvbHVtbnM7XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRzaGlmdCkgPT0gMiB7XG4gICAgJGNvbnRhaW5lci1jb2x1bW5zOiBudGgoJHNoaWZ0LCAyKTtcbiAgICBAcmV0dXJuICRjb250YWluZXItY29sdW1ucztcbiAgfVxuXG4gIEByZXR1cm4gJHBhcmVudC1jb2x1bW5zO1xufVxuXG4vLyBHZW5lcmF0ZXMgYSBzdHJpcGVkIGJhY2tncm91bmRcbkBmdW5jdGlvbiBncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zLCAkY29sb3I6ICR2aXN1YWwtZ3JpZC1jb2xvcikge1xuICAkdHJhbnNwYXJlbnQ6IHRyYW5zcGFyZW50O1xuXG4gICRjb2x1bW4td2lkdGg6IGZsZXgtZ3JpZCgxLCAkZ3JpZC1jb2x1bW5zKTtcbiAgJGd1dHRlci13aWR0aDogZmxleC1ndXR0ZXIoJGdyaWQtY29sdW1ucyk7XG4gICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLXdpZHRoO1xuXG4gICR2YWx1ZXM6ICgkdHJhbnNwYXJlbnQgMCwgJGNvbG9yIDApO1xuXG4gIEBmb3IgJGkgZnJvbSAxIHRvICRncmlkLWNvbHVtbnMqMiB7XG4gICAgQGlmIGlzLWV2ZW4oJGkpIHtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkdHJhbnNwYXJlbnQgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICR2YWx1ZXM6IGFwcGVuZCgkdmFsdWVzLCAkY29sb3IgJGNvbHVtbi1vZmZzZXQsIGNvbW1hKTtcbiAgICAgICRjb2x1bW4tb2Zmc2V0OiAkY29sdW1uLW9mZnNldCArICRjb2x1bW4td2lkdGg7XG4gICAgfSBAZWxzZSB7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJGNvbG9yICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHRyYW5zcGFyZW50ICRjb2x1bW4tb2Zmc2V0LCBjb21tYSk7XG4gICAgICAkY29sdW1uLW9mZnNldDogJGNvbHVtbi1vZmZzZXQgKyAkZ3V0dGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlcztcbn1cblxuLy8gTGF5b3V0IGRpcmVjdGlvblxuQGZ1bmN0aW9uIGdldC1kaXJlY3Rpb24oJGxheW91dCwgJGRlZmF1bHQpIHtcbiAgJGRpcmVjdGlvbjogbnVsbDtcblxuICBAaWYgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIkxUUlwiIG9yIHRvLXVwcGVyLWNhc2UoJGxheW91dCkgPT0gXCJSVExcIiB7XG4gICAgJGRpcmVjdGlvbjogZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRsYXlvdXQpO1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBkaXJlY3Rpb24tZnJvbS1sYXlvdXQoJGRlZmF1bHQpO1xuICB9XG5cbiAgQHJldHVybiAkZGlyZWN0aW9uO1xufVxuXG5AZnVuY3Rpb24gZGlyZWN0aW9uLWZyb20tbGF5b3V0KCRsYXlvdXQpIHtcbiAgJGRpcmVjdGlvbjogbnVsbDtcblxuICBAaWYgdG8tdXBwZXItY2FzZSgkbGF5b3V0KSA9PSBcIkxUUlwiIHtcbiAgICAkZGlyZWN0aW9uOiByaWdodDtcbiAgfSBAZWxzZSB7XG4gICAgJGRpcmVjdGlvbjogbGVmdDtcbiAgfVxuXG4gIEByZXR1cm4gJGRpcmVjdGlvbjtcbn1cblxuQGZ1bmN0aW9uIGdldC1vcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbikge1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBsZWZ0O1xuXG4gIEBpZiAkZGlyZWN0aW9uID09IFwibGVmdFwiIHtcbiAgICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodDtcbiAgfVxuXG4gIEByZXR1cm4gJG9wcG9zaXRlLWRpcmVjdGlvbjtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFJldHVybnMgYSBtZWRpYSBjb250ZXh0IChtZWRpYSBxdWVyeSAvIGdyaWQgY29udGV4dCkgdGhhdCBjYW4gYmUgc3RvcmVkIGluIGEgdmFyaWFibGUgYW5kIHBhc3NlZCB0byBgbWVkaWEoKWAgYXMgYSBzaW5nbGUta2V5d29yZCBhcmd1bWVudC4gTWVkaWEgY29udGV4dHMgZGVmaW5lZCB1c2luZyBgbmV3LWJyZWFrcG9pbnRgIGFyZSB1c2VkIGJ5IHRoZSB2aXN1YWwgZ3JpZCwgYXMgbG9uZyBhcyB0aGV5IGFyZSBkZWZpbmVkIGJlZm9yZSBpbXBvcnRpbmcgTmVhdC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5XG4vLy8gICBBIGxpc3Qgb2YgbWVkaWEgcXVlcnkgZmVhdHVyZXMgYW5kIHZhbHVlcy4gRWFjaCBgJGZlYXR1cmVgIHNob3VsZCBoYXZlIGEgY29ycmVzcG9uZGluZyBgJHZhbHVlYC5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBgJHZhbHVlYCBpbiBgJHF1ZXJ5YCwgYCRkZWZhdWx0LWZlYXR1cmVgIGlzIGdvaW5nIHRvIGJlIHVzZWQuXG4vLy9cbi8vLyAgIFRoZSBudW1iZXIgb2YgdG90YWwgY29sdW1ucyBpbiB0aGUgZ3JpZCBjYW4gYmUgc2V0IGJ5IHBhc3NpbmcgYCRjb2x1bW5zYCBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IChvdmVycmlkZXMgYCR0b3RhbC1jb2x1bW5zYCkuIEZvciBhIGxpc3Qgb2YgdmFsaWQgdmFsdWVzIGZvciBgJGZlYXR1cmVgLCBjbGljayBbaGVyZV0oaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tZWRpYXF1ZXJpZXMvI21lZGlhMSkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlciAodW5pdGxlc3MpfSAkdG90YWwtY29sdW1ucyAoJGdyaWQtY29sdW1ucylcbi8vLyAgIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGluIHRoZSBuZXcgZ3JpZCBjb250ZXh0LiBDYW4gYmUgc2V0IGFzIGEgc2hvcnRoYW5kIGluIHRoZSBmaXJzdCBwYXJhbWV0ZXIuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgICRtb2JpbGU6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCA0ODBweCA0KTtcbi8vL1xuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4vLy8gICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xuLy8vICAgICAuZWxlbWVudCB7XG4vLy8gICAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICAgbWFyZ2luLXJpZ2h0OiA3LjQyMjk3JTtcbi8vLyAgICAgICB3aWR0aDogMTAwJTtcbi8vLyAgICAgfVxuLy8vICAgICAuZWxlbWVudDpsYXN0LWNoaWxkIHtcbi8vLyAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4vLy8gICAgIH1cbi8vLyAgIH1cblxuQGZ1bmN0aW9uIG5ldy1icmVha3BvaW50KCRxdWVyeTogJGZlYXR1cmUgJHZhbHVlICRjb2x1bW5zLCAkdG90YWwtY29sdW1uczogJGdyaWQtY29sdW1ucykge1xuICBAaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMSB7XG4gICAgJHF1ZXJ5OiAkZGVmYXVsdC1mZWF0dXJlIG50aCgkcXVlcnksIDEpICR0b3RhbC1jb2x1bW5zO1xuICB9IEBlbHNlIGlmIGlzLWV2ZW4obGVuZ3RoKCRxdWVyeSkpIHtcbiAgICAkcXVlcnk6IGFwcGVuZCgkcXVlcnksICR0b3RhbC1jb2x1bW5zKTtcbiAgfVxuXG4gIEBpZiBpcy1ub3QoYmVsb25ncy10bygkcXVlcnksICR2aXN1YWwtZ3JpZC1icmVha3BvaW50cykpIHtcbiAgICAkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHM6IGFwcGVuZCgkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHMsICRxdWVyeSwgY29tbWEpICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRxdWVyeTtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFNldHMgdGhlIHJlbGF0aXZlIHdpZHRoIG9mIGEgc2luZ2xlIGdyaWQgY29sdW1uLiBUaGUgdW5pdCB1c2VkIHNob3VsZCBiZSB0aGUgc2FtZSBvbmUgdXNlZCB0byBkZWZpbmUgYCRndXR0ZXJgLiBUbyBsZWFybiBtb3JlIGFib3V0IGdvbGRlbi1yYXRpbygpIHNlZSBbQm91cmJvbiBkb2NzXShodHRwOi8vYm91cmJvbi5pby9kb2NzLyNnb2xkZW4tcmF0aW8pLiBTZXQgd2l0aCBhIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgTnVtYmVyIChVbml0KVxuXG4kY29sdW1uOiBnb2xkZW4tcmF0aW8oMWVtLCAzKSAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHJlbGF0aXZlIHdpZHRoIG9mIGEgc2luZ2xlIGdyaWQgZ3V0dGVyLiBUaGUgdW5pdCB1c2VkIHNob3VsZCBiZSB0aGUgc2FtZSBvbmUgdXNlZCB0byBkZWZpbmUgYCRjb2x1bW5gLiBUbyBsZWFybiBtb3JlIGFib3V0IGdvbGRlbi1yYXRpbygpIHNlZSBbQm91cmJvbiBkb2NzXShodHRwOi8vYm91cmJvbi5pby9kb2NzLyNnb2xkZW4tcmF0aW8pLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXQpXG5cbiRndXR0ZXI6IGdvbGRlbi1yYXRpbygxZW0sIDEpICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdG90YWwgbnVtYmVyIG9mIGNvbHVtbnMgaW4gdGhlIGdyaWQuIEl0cyB2YWx1ZSBjYW4gYmUgb3ZlcnJpZGRlbiBpbnNpZGUgYSBtZWRpYSBxdWVyeSB1c2luZyB0aGUgYG1lZGlhKClgIG1peGluLiBTZXQgd2l0aCB0aGUgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKFVuaXRsZXNzKVxuXG4kZ3JpZC1jb2x1bW5zOiAxMiAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIG1heC13aWR0aCBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudCB0aGF0IGluY2x1ZGVzIGBvdXRlci1jb250YWluZXIoKWAuIFRvIGxlYXJuIG1vcmUgYWJvdXQgYGVtKClgIHNlZSBbQm91cmJvbiBkb2NzXShodHRwOi8vYm91cmJvbi5pby9kb2NzLyNweC10by1lbSkuIFNldCB3aXRoIHRoZSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIE51bWJlciAoVW5pdClcbi8vL1xuJG1heC13aWR0aDogZW0oMTA4OCkgIWRlZmF1bHQ7XG5cbi8vLyBXaGVuIHNldCB0byB0cnVlLCBpdCBzZXRzIHRoZSBib3gtc2l6aW5nIHByb3BlcnR5IG9mIGFsbCBlbGVtZW50cyB0byBgYm9yZGVyLWJveGAuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBCb29sXG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICBodG1sIHtcbi8vLyAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy8vICAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4vLy8gICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbi8vL1xuLy8vICAgKiwgKjpiZWZvcmUsICo6YWZ0ZXIge1xuLy8vICAgICAtd2Via2l0LWJveC1zaXppbmc6IGluaGVyaXQ7XG4vLy8gICAgIC1tb3otYm94LXNpemluZzogaW5oZXJpdDtcbi8vLyAgICAgYm94LXNpemluZzogaW5oZXJpdDtcbi8vLyAgIH1cblxuJGJvcmRlci1ib3gtc2l6aW5nOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgZGVmYXVsdCBbbWVkaWEgZmVhdHVyZV0oaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1tZWRpYXF1ZXJpZXMvI21lZGlhKSB0aGF0IGBtZWRpYSgpYCBhbmQgYG5ldy1icmVha3BvaW50KClgIHJldmVydCB0byB3aGVuIG9ubHkgYSBicmVha3BvaW50IHZhbHVlIGlzIHBhc3NlZC4gU2V0IHdpdGggYSBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuXG4kZGVmYXVsdC1mZWF0dXJlOiBtaW4td2lkdGg7IC8vIERlZmF1bHQgQG1lZGlhIGZlYXR1cmUgZm9yIHRoZSBicmVha3BvaW50KCkgbWl4aW5cblxuLy8vU2V0cyB0aGUgZGVmYXVsdCBsYXlvdXQgZGlyZWN0aW9uIG9mIHRoZSBncmlkLiBDYW4gYmUgYExUUmAgb3IgYFJUTGAuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vL0B0eXBlIFN0cmluZ1xuXG4kZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uOiBMVFIgIWRlZmF1bHQ7XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBEaXNwbGF5cyB0aGUgdmlzdWFsIGdyaWQgd2hlbiBzZXQgdG8gdHJ1ZS4gVGhlIG92ZXJsYWlkIGdyaWQgbWF5IGJlIGZldyBwaXhlbHMgb2ZmIGRlcGVuZGluZyBvbiB0aGUgYnJvd3NlcidzIHJlbmRlcmluZyBlbmdpbmUgYW5kIHBpeGVsIHJvdW5kaW5nIGFsZ29yaXRobS4gU2V0IHdpdGggdGhlIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgQm9vbFxuXG4kdmlzdWFsLWdyaWQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIGdyaWQgY29sb3IuIFNldCB3aXRoIGAhZ2xvYmFsYCBmbGFnLlxuLy8vXG4vLy8gQHR5cGUgQ29sb3JcblxuJHZpc3VhbC1ncmlkLWNvbG9yOiAjZWVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgYHotaW5kZXhgIHByb3BlcnR5IG9mIHRoZSB2aXN1YWwgZ3JpZC4gQ2FuIGJlIGBiYWNrYCAoYmVoaW5kIGNvbnRlbnQpIG9yIGBmcm9udGAgKGluIGZyb250IG9mIGNvbnRlbnQpLiBTZXQgd2l0aCBgIWdsb2JhbGAgZmxhZy5cbi8vL1xuLy8vIEB0eXBlIFN0cmluZ1xuXG4kdmlzdWFsLWdyaWQtaW5kZXg6IGJhY2sgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSBvcGFjaXR5IHByb3BlcnR5IG9mIHRoZSB2aXN1YWwgZ3JpZC4gU2V0IHdpdGggYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBOdW1iZXIgKHVuaXRsZXNzKVxuXG4kdmlzdWFsLWdyaWQtb3BhY2l0eTogMC40ICFkZWZhdWx0O1xuXG4kdmlzdWFsLWdyaWQtYnJlYWtwb2ludHM6ICgpICFkZWZhdWx0O1xuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGlzYWJsZSBhbGwgZGVwcmVjYXRpb24gd2FybmluZ3MuIERlZmF1bHRzIHRvIGBmYWxzZWAuIFNldCB3aXRoIGEgYCFnbG9iYWxgIGZsYWcuXG4vLy9cbi8vLyBAdHlwZSBCb29sXG5cbiRkaXNhYmxlLXdhcm5pbmdzOiBmYWxzZSAhZGVmYXVsdDtcblxuQG1peGluIC1uZWF0LXdhcm4oJG1lc3NhZ2UpIHtcbiAgQGlmICRkaXNhYmxlLXdhcm5pbmdzID09IGZhbHNlIHtcbiAgICBAd2FybiBcIiN7JG1lc3NhZ2V9XCI7XG4gIH1cbn1cbiIsIi8vIEJvdXJib24gZ3JpZCBkaXNwbGF5LiBDb21tZW50IG91dCB0byByZW1vdmUgZGlzcGxheS5cbiR2aXN1YWwtZ3JpZDogZmFsc2U7XG4kdmlzdWFsLWdyaWQtY29sb3I6ICMzZjlkYTg7XG5cbi8vIFNldCB0byBmYWxzZSBpZiB5b3UnZCBsaWtlIHRvIHJlbW92ZSB0aGUgcmVzcG9uc2l2ZW5lc3MuXG4kcmVzcG9uc2l2ZTogdHJ1ZTtcblxuLy8gU2V0dXAgdGhlIGNvbHVtbiwgZ3JpZCwgYW5kIGd1dHRlciBhbW91bnRzLlxuJGNvbHVtbjogNjBweDtcbiRndXR0ZXI6IDIwcHg7XG4kZ3JpZC1jb2x1bW5zOiAxMjtcblxuLy8gV2Ugc2V0IHRoZSBtYXggd2lkdGggb2YgdGhlIHBhZ2UgdXNpbmcgdGhlIHB4IHRvIGVtIGZ1bmN0aW9uIGluIEJvdXJib24uXG4vLyB0aGUgZmlyc3QgdmFsdWUgaXMgdGhlIHBpeGVsIHZhbHVlIG9mIHRoZSB3aWR0aCBhbmQgdGhlIHNlY29uZCBpcyB0aGUgYmFzZSBmb250IHNpemUgb2YgeW91ciB0aGVtZS5cbi8vIEluIHRoaXMgaW5zdGFuY2Ugd2Ugd2FudCB0aGUgbWF4IHdpZHRoIHRvIGJlIDEwODhweCBhbmQgb24gTGluZSA2IG9mIHN0eWxlLnNjc3Mgd2UgaGF2ZSByZXNldCB0aGUgYmFzZVxuLy8gZm9udCBzaXplIHRvIDEzcHggc28gdGhlIGZpcnN0IHZhbHVlIHdvdWxkIGJlIDEwODggYW5kIHRoZSBzZWNvbmQgMTNcbi8vIGV4LiBlbSgxMDg4LCAxMylcbiRtYXgtd2lkdGgtcHg6IDEyMDA7XG4kbWF4LXdpZHRoOiA5NjBweDtcbiRtYXgtd2lkdGgtZmx1aWQ6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCAkbWF4LXdpZHRoLXB4ICsgcHggJGdyaWQtY29sdW1ucyk7XG5cbi8vIERlZmluZSB5b3VyIGJyZWFrcG9pbnRzLlxuJGxhcmdlX2Rlc2t0b3A6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCAxNDQwcHggMTIpO1xuJG92ZXJkZXNrdG9wOiBuZXctYnJlYWtwb2ludChtaW4td2lkdGggMTIwMXB4IDEyKTtcbiRkZXNrdG9wOiBuZXctYnJlYWtwb2ludChtYXgtd2lkdGggMTIwMHB4IDEyKTtcbiR0YWJsZXQ6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCA3NjhweCAxMik7XG4kb3ZlcnRhYmxldDogbmV3LWJyZWFrcG9pbnQobWluLXdpZHRoIDc2OXB4IDEyKTtcbiRtb2JpbGU6IG5ldy1icmVha3BvaW50KG1heC13aWR0aCA2ODBweCAxMik7XG4kb3Zlcm1vYmlsZTogbmV3LWJyZWFrcG9pbnQobWluLXdpZHRoIDY4MXB4IDEyKTsiLCIvLyBOZWF0IDEuNy4xXG4vLyBodHRwOi8vbmVhdC5ib3VyYm9uLmlvXG4vLyBDb3B5cmlnaHQgMjAxMi0yMDE1IHRob3VnaHRib3QsIGluYy5cbi8vIE1JVCBMaWNlbnNlXG5cbi8vIEhlbHBlcnNcbkBpbXBvcnQgXCJuZWF0LWhlbHBlcnNcIjtcblxuLy8gR3JpZFxuQGltcG9ydCBcImdyaWQvcHJpdmF0ZVwiO1xuQGltcG9ydCBcImdyaWQvYm94LXNpemluZ1wiO1xuQGltcG9ydCBcImdyaWQvb21lZ2FcIjtcbkBpbXBvcnQgXCJncmlkL291dGVyLWNvbnRhaW5lclwiO1xuQGltcG9ydCBcImdyaWQvc3Bhbi1jb2x1bW5zXCI7XG5AaW1wb3J0IFwiZ3JpZC9yb3dcIjtcbkBpbXBvcnQgXCJncmlkL3NoaWZ0XCI7XG5AaW1wb3J0IFwiZ3JpZC9wYWRcIjtcbkBpbXBvcnQgXCJncmlkL2ZpbGwtcGFyZW50XCI7XG5AaW1wb3J0IFwiZ3JpZC9tZWRpYVwiO1xuQGltcG9ydCBcImdyaWQvdG8tZGVwcmVjYXRlXCI7XG5AaW1wb3J0IFwiZ3JpZC92aXN1YWwtZ3JpZFwiO1xuQGltcG9ydCBcImdyaWQvZGlzcGxheS1jb250ZXh0XCI7XG5AaW1wb3J0IFwiZ3JpZC9kaXJlY3Rpb24tY29udGV4dFwiO1xuIiwiJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFkZWZhdWx0O1xuJGZnLWNvbHVtbjogJGNvbHVtbjtcbiRmZy1ndXR0ZXI6ICRndXR0ZXI7XG4kZmctbWF4LWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4kY29udGFpbmVyLWRpc3BsYXktdGFibGU6IGZhbHNlICFkZWZhdWx0O1xuJGxheW91dC1kaXJlY3Rpb246IExUUiAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIGZsZXgtZ3JpZCgkY29sdW1ucywgJGNvbnRhaW5lci1jb2x1bW5zOiAkZmctbWF4LWNvbHVtbnMpIHtcbiAgJHdpZHRoOiAkY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbHVtbnMgLSAxKSAqICRmZy1ndXR0ZXI7XG4gICRjb250YWluZXItd2lkdGg6ICRjb250YWluZXItY29sdW1ucyAqICRmZy1jb2x1bW4gKyAoJGNvbnRhaW5lci1jb2x1bW5zIC0gMSkgKiAkZmctZ3V0dGVyO1xuICBAcmV0dXJuIHBlcmNlbnRhZ2UoJHdpZHRoIC8gJGNvbnRhaW5lci13aWR0aCk7XG59XG5cbkBmdW5jdGlvbiBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnM6ICRmZy1tYXgtY29sdW1ucywgJGd1dHRlcjogJGZnLWd1dHRlcikge1xuICAkY29udGFpbmVyLXdpZHRoOiAkY29udGFpbmVyLWNvbHVtbnMgKiAkZmctY29sdW1uICsgKCRjb250YWluZXItY29sdW1ucyAtIDEpICogJGZnLWd1dHRlcjtcbiAgQHJldHVybiBwZXJjZW50YWdlKCRndXR0ZXIgLyAkY29udGFpbmVyLXdpZHRoKTtcbn1cblxuQGZ1bmN0aW9uIGdyaWQtd2lkdGgoJG4pIHtcbiAgQHJldHVybiAkbiAqICRndy1jb2x1bW4gKyAoJG4gLSAxKSAqICRndy1ndXR0ZXI7XG59XG5cbkBmdW5jdGlvbiBnZXQtcGFyZW50LWNvbHVtbnMoJGNvbHVtbnMpIHtcbiAgQGlmICRjb2x1bW5zICE9ICRncmlkLWNvbHVtbnMge1xuICAgICRwYXJlbnQtY29sdW1uczogJGNvbHVtbnMgIWdsb2JhbDtcbiAgfSBAZWxzZSB7XG4gICAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gIH1cblxuICBAcmV0dXJuICRwYXJlbnQtY29sdW1ucztcbn1cblxuQGZ1bmN0aW9uIGlzLWRpc3BsYXktdGFibGUoJGNvbnRhaW5lci1pcy1kaXNwbGF5LXRhYmxlLCAkZGlzcGxheSkge1xuICBAcmV0dXJuICRjb250YWluZXItaXMtZGlzcGxheS10YWJsZSA9PSB0cnVlIG9yICRkaXNwbGF5ID09IHRhYmxlO1xufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG5AaWYgJGJvcmRlci1ib3gtc2l6aW5nID09IHRydWUge1xuICBodG1sIHsgLy8gaHR0cDovL2JpdC5seS8xcWsydFZSXG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgfVxuXG4gICoge1xuICAgICYsXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGluaGVyaXQpO1xuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gUmVtb3ZlcyB0aGUgZWxlbWVudCdzIGd1dHRlciBtYXJnaW4sIHJlZ2FyZGxlc3Mgb2YgaXRzIHBvc2l0aW9uIGluIHRoZSBncmlkIGhpZXJhcmNoeSBvciBkaXNwbGF5IHByb3BlcnR5LiBJdCBjYW4gdGFyZ2V0IGEgc3BlY2lmaWMgZWxlbWVudCwgb3IgZXZlcnkgYG50aC1jaGlsZGAgb2NjdXJyZW5jZS4gV29ya3Mgb25seSB3aXRoIGBibG9ja2AgbGF5b3V0cy5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHF1ZXJ5IChibG9jaylcbi8vLyAgIExpc3Qgb2YgYXJndW1lbnRzLiBTdXBwb3J0ZWQgYXJndW1lbnRzIGFyZSBgbnRoLWNoaWxkYCBzZWxlY3RvcnMgKHRhcmdldHMgYSBzcGVjaWZpYyBwc2V1ZG8gZWxlbWVudCkgYW5kIGBhdXRvYCAodGFyZ2V0cyBgbGFzdC1jaGlsZGApLlxuLy8vXG4vLy8gICBXaGVuIHBhc3NlZCBhbiBgbnRoLWNoaWxkYCBhcmd1bWVudCBvZiB0eXBlIGAqbmAgd2l0aCBgYmxvY2tgIGRpc3BsYXksIHRoZSBvbWVnYSBtaXhpbiBhdXRvbWF0aWNhbGx5IGFkZHMgYSBjbGVhciB0byB0aGUgYCpuKzFgIHRoIGVsZW1lbnQuIE5vdGUgdGhhdCBjb21wb3NpdGUgYXJndW1lbnRzIHN1Y2ggYXMgYDJuKzFgIGRvIG5vdCBzdXBwb3J0IHRoaXMgZmVhdHVyZS5cbi8vL1xuLy8vICAgKipEZXByZWNhdGlvbiB3YXJuaW5nKio6IFRoZSBvbWVnYSBtaXhpbiB3aWxsIG5vIGxvbmdlciB0YWtlIGEgYCRkaXJlY3Rpb25gIGFyZ3VtZW50LiBUbyBjaGFuZ2UgdGhlIGxheW91dCBkaXJlY3Rpb24sIHVzZSBgcm93KCRkaXJlY3Rpb24pYCBvciBzZXQgYCRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb25gIGluc3RlYWQuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgb21lZ2E7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5udGgtZWxlbWVudCB7XG4vLy8gICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgfVxuLy8vXG4vLy8gICAubnRoLWVsZW1lbnQ6bnRoLWNoaWxkKDRuKSB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLm50aC1lbGVtZW50Om50aC1jaGlsZCg0bisxKSB7XG4vLy8gICAgIGNsZWFyOiBsZWZ0O1xuLy8vICAgfVxuXG5AbWl4aW4gb21lZ2EoJHF1ZXJ5OiBibG9jaywgJGRpcmVjdGlvbjogZGVmYXVsdCkge1xuICAkdGFibGU6IGJlbG9uZ3MtdG8odGFibGUsICRxdWVyeSk7XG4gICRhdXRvOiBiZWxvbmdzLXRvKGF1dG8sICRxdWVyeSk7XG5cbiAgQGlmICRkaXJlY3Rpb24gIT0gZGVmYXVsdCB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSBvbWVnYSBtaXhpbiB3aWxsIG5vIGxvbmdlciB0YWtlIGEgJGRpcmVjdGlvbiBhcmd1bWVudC4gVG8gY2hhbmdlIHRoZSBsYXlvdXQgZGlyZWN0aW9uLCB1c2UgdGhlIGRpcmVjdGlvbigpey4uLn0gbWl4aW4uXCIpO1xuICB9IEBlbHNlIHtcbiAgICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgfVxuXG4gIEBpZiAkdGFibGUge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgb21lZ2EgbWl4aW4gbm8gbG9uZ2VyIHJlbW92ZXMgcGFkZGluZyBpbiB0YWJsZSBsYXlvdXRzLlwiKTtcbiAgfVxuXG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAaWYgJGF1dG8ge1xuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2UgaWYgY29udGFpbnMtZGlzcGxheS12YWx1ZSgkcXVlcnkpIGFuZCAkdGFibGUgPT0gZmFsc2Uge1xuICAgICAgbWFyZ2luLSN7JGRpcmVjdGlvbn06IDA7XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgbnRoLWNoaWxkKCRxdWVyeSwgJGRpcmVjdGlvbik7XG4gICAgfVxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDIge1xuICAgIEBpZiAkYXV0byB7XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIG50aC1jaGlsZChudGgoJHF1ZXJ5LCAxKSwgJGRpcmVjdGlvbik7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVG9vIG1hbnkgYXJndW1lbnRzIHBhc3NlZCB0byB0aGUgb21lZ2EoKSBtaXhpbi5cIik7XG4gIH1cbn1cblxuQG1peGluIG50aC1jaGlsZCgkcXVlcnksICRkaXJlY3Rpb24pIHtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAmOm50aC1jaGlsZCgjeyRxdWVyeX0pIHtcbiAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogMDtcbiAgfVxuXG4gIEBpZiB0eXBlLW9mKCRxdWVyeSkgPT0gbnVtYmVyIGFuZCB1bml0KCRxdWVyeSkgPT0gXCJuXCIge1xuICAgICY6bnRoLWNoaWxkKCN7JHF1ZXJ5fSsxKSB7XG4gICAgICBjbGVhcjogJG9wcG9zaXRlLWRpcmVjdGlvbjtcbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgYSBvdXRlciBjb250YWluZXIgYnkgY2VudHJpbmcgaXQgaW4gdGhlIHZpZXdwb3J0LCBjbGVhcmluZyBpdHMgZmxvYXRzLCBhbmQgc2V0dGluZyBpdHMgYG1heC13aWR0aGAuXG4vLy8gQWx0aG91Z2ggb3B0aW9uYWwsIHVzaW5nIGBvdXRlci1jb250YWluZXJgIGlzIHJlY29tbWVuZGVkLiBUaGUgbWl4aW4gY2FuIGJlIGNhbGxlZCBvbiBtb3JlIHRoYW4gb25lIGVsZW1lbnQgcGVyIHBhZ2UsIGFzIGxvbmcgYXMgdGhleSBhcmUgbm90IG5lc3RlZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0KX0gJGxvY2FsLW1heC13aWR0aCAoJG1heC13aWR0aClcbi8vLyAgIE1heCB3aWR0aCB0byBiZSBhcHBsaWVkIHRvIHRoZSBlbGVtZW50LiBDYW4gYmUgYSBwZXJjZW50YWdlIG9yIGEgbWVhc3VyZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgICp6b29tOiAxO1xuLy8vICAgICBtYXgtd2lkdGg6IDEwMCU7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OmJlZm9yZSwgLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgICBjb250ZW50OiBcIiBcIjtcbi8vLyAgICAgZGlzcGxheTogdGFibGU7XG4vLy8gICB9XG4vLy9cbi8vLyAgIC5lbGVtZW50OmFmdGVyIHtcbi8vLyAgICAgY2xlYXI6IGJvdGg7XG4vLy8gICB9XG5cbkBtaXhpbiBvdXRlci1jb250YWluZXIoJGxvY2FsLW1heC13aWR0aDogJG1heC13aWR0aCkge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWF4LXdpZHRoOiAkbG9jYWwtbWF4LXdpZHRoO1xuICBtYXJnaW46IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBTcGVjaWZpZXMgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuIGVsZW1lbnQgc2hvdWxkIHNwYW4uIElmIHRoZSBzZWxlY3RvciBpcyBuZXN0ZWQgdGhlIG51bWJlciBvZiBjb2x1bW5zIG9mIGl0cyBwYXJlbnQgZWxlbWVudCBzaG91bGQgYmUgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IGFzIHdlbGwuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRzcGFuXG4vLy8gICBBIGxpc3QgY29udGFpbmluZyBgJGNvbHVtbnNgLCB0aGUgdW5pdGxlc3MgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIGVsZW1lbnQgc3BhbnMgKHJlcXVpcmVkKSwgYW5kIGAkY29udGFpbmVyLWNvbHVtbnNgLCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIHBhcmVudCBlbGVtZW50IHNwYW5zIChvcHRpb25hbCkuXG4vLy9cbi8vLyAgIElmIG9ubHkgb25lIHZhbHVlIGlzIHBhc3NlZCwgaXQgaXMgYXNzdW1lZCB0aGF0IGl0J3MgYCRjb2x1bW5zYCBhbmQgdGhhdCB0aGF0IGAkY29udGFpbmVyLWNvbHVtbnNgIGlzIGVxdWFsIHRvIGAkZ3JpZC1jb2x1bW5zYCwgdGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxuLy8vXG4vLy8gICBUaGUgdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpc3BsYXkgKGJsb2NrKVxuLy8vICAgU2V0cyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBvZiB0aGUgZWxlbWVudC4gQnkgZGVmYXVsdCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnQgb2YgdGhlIGVsZW1lbnQgdG8gYGJsb2NrYC5cbi8vL1xuLy8vICAgSWYgcGFzc2VkIGBibG9jay1jb2xsYXBzZWAsIGl0IGFsc28gcmVtb3ZlcyB0aGUgbWFyZ2luIGd1dHRlciBieSBhZGRpbmcgaXQgdG8gdGhlIGVsZW1lbnQgd2lkdGguXG4vLy9cbi8vLyAgIElmIHBhc3NlZCBgdGFibGVgLCBpdCBzZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IHRvIGB0YWJsZS1jZWxsYCBhbmQgY2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgdGhlIGVsZW1lbnQgd2l0aG91dCB0YWtpbmcgZ3V0dGVycyBpbnRvIGNvbnNpZGVyYXRpb24uIFRoZSByZXN1bHQgZG9lcyBub3QgYWxpZ24gd2l0aCB0aGUgYmxvY2stYmFzZWQgZ3JpZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy9cbi8vLyAgICAubmVzdGVkLWVsZW1lbnQge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDIgb2YgNik7XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1MgT3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICBmbG9hdDogbGVmdDtcbi8vLyAgICAgbWFyZ2luLXJpZ2h0OiAyLjM1NzY1JTtcbi8vLyAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cbi8vL1xuLy8vICAgLmVsZW1lbnQgLm5lc3RlZC1lbGVtZW50IHtcbi8vLyAgICAgZGlzcGxheTogYmxvY2s7XG4vLy8gICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICBtYXJnaW4tcmlnaHQ6IDQuODI5MTYlO1xuLy8vICAgICB3aWR0aDogMzAuMTEzODklO1xuLy8vICAgfVxuLy8vXG4vLy8gICAuZWxlbWVudCAubmVzdGVkLWVsZW1lbnQ6bGFzdC1jaGlsZCB7XG4vLy8gICAgIG1hcmdpbi1yaWdodDogMDtcbi8vLyAgIH1cblxuQG1peGluIHNwYW4tY29sdW1ucygkc3BhbjogJGNvbHVtbnMgb2YgJGNvbnRhaW5lci1jb2x1bW5zLCAkZGlzcGxheTogYmxvY2spIHtcbiAgJGNvbHVtbnM6IG50aCgkc3BhbiwgMSk7XG4gICRjb250YWluZXItY29sdW1uczogY29udGFpbmVyLXNwYW4oJHNwYW4pO1xuXG4gICRwYXJlbnQtY29sdW1uczogZ2V0LXBhcmVudC1jb2x1bW5zKCRjb250YWluZXItY29sdW1ucykgIWdsb2JhbDtcblxuICAkZGlyZWN0aW9uOiBnZXQtZGlyZWN0aW9uKCRsYXlvdXQtZGlyZWN0aW9uLCAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKTtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogZ2V0LW9wcG9zaXRlLWRpcmVjdGlvbigkZGlyZWN0aW9uKTtcblxuICAkZGlzcGxheS10YWJsZTogaXMtZGlzcGxheS10YWJsZSgkY29udGFpbmVyLWRpc3BsYXktdGFibGUsICRkaXNwbGF5KTtcblxuICBAaWYgJGRpc3BsYXktdGFibGUgIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgfSBAZWxzZSB7XG4gICAgZmxvYXQ6ICN7JG9wcG9zaXRlLWRpcmVjdGlvbn07XG5cbiAgICBAaWYgJGRpc3BsYXkgIT0gbm8tZGlzcGxheSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJGRpc3BsYXkgPT0gY29sbGFwc2Uge1xuICAgICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlRoZSAnY29sbGFwc2UnIGFyZ3VtZW50IHdpbGwgYmUgZGVwcmVjYXRlZC4gVXNlICdibG9jay1jb2xsYXBzZScgaW5zdGVhZC5cIik7XG4gICAgfVxuXG4gICAgQGlmICRkaXNwbGF5ID09IGNvbGxhcHNlIG9yICRkaXNwbGF5ID09IGJsb2NrLWNvbGxhcHNlIHtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucykgKyBmbGV4LWd1dHRlcigkY29udGFpbmVyLWNvbHVtbnMpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogZmxleC1ncmlkKCRjb2x1bW5zLCAkY29udGFpbmVyLWNvbHVtbnMpO1xuICAgICAgfVxuXG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZGlyZWN0aW9ufTogZmxleC1ndXR0ZXIoJGNvbnRhaW5lci1jb2x1bW5zKTtcbiAgICAgIHdpZHRoOiBmbGV4LWdyaWQoJGNvbHVtbnMsICRjb250YWluZXItY29sdW1ucyk7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi0jeyRkaXJlY3Rpb259OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLy8gRGVzaWduYXRlcyB0aGUgZWxlbWVudCBhcyBhIHJvdyBvZiBjb2x1bW5zIGluIHRoZSBncmlkIGxheW91dC4gSXQgY2xlYXJzIHRoZSBmbG9hdHMgb24gdGhlIGVsZW1lbnQgYW5kIHNldHMgaXRzIGRpc3BsYXkgcHJvcGVydHkuIFJvd3MgY2FuJ3QgYmUgbmVzdGVkLCBidXQgdGhlcmUgY2FuIGJlIG1vcmUgdGhhbiBvbmUgcm93IGVsZW1lbnTigJR3aXRoIGRpZmZlcmVudCBkaXNwbGF5IHByb3BlcnRpZXPigJRwZXIgbGF5b3V0LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IChkZWZhdWx0KVxuLy8vICBTZXRzIHRoZSBkaXNwbGF5IHByb3BlcnR5IG9mIHRoZSBlbGVtZW50IGFuZCB0aGUgZGlzcGxheSBjb250ZXh0IHRoYXQgd2lsbCBiZSB1c2VkIGJ5IGl0cyBjaGlsZHJlbi4gQ2FuIGJlIGBibG9ja2Agb3IgYHRhYmxlYC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGlyZWN0aW9uICgkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKVxuLy8vICBTZXRzIHRoZSBsYXlvdXQgZGlyZWN0aW9uLiBDYW4gYmUgYExUUmAgKGxlZnQtdG8tcmlnaHQpIG9yIGBSVExgIChyaWdodC10by1sZWZ0KS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAuZWxlbWVudCB7XG4vLy8gICAgQGluY2x1ZGUgcm93KCk7XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgLmVsZW1lbnQge1xuLy8vICAgICp6b29tOiAxO1xuLy8vICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICB9XG4vLy9cbi8vLyAuZWxlbWVudDpiZWZvcmUsIC5lbGVtZW50OmFmdGVyIHtcbi8vLyAgIGNvbnRlbnQ6IFwiIFwiO1xuLy8vICAgZGlzcGxheTogdGFibGU7XG4vLy8gfVxuLy8vXG4vLy8gLmVsZW1lbnQ6YWZ0ZXIge1xuLy8vICAgY2xlYXI6IGJvdGg7XG4vLy8gfVxuXG5AbWl4aW4gcm93KCRkaXNwbGF5OiBkZWZhdWx0LCAkZGlyZWN0aW9uOiAkZGVmYXVsdC1sYXlvdXQtZGlyZWN0aW9uKSB7XG4gIEBpZiAkZGlyZWN0aW9uICE9ICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24ge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgJGRpcmVjdGlvbiBhcmd1bWVudCB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIGluIGZhdm9yIG9mIHRoZSBkaXJlY3Rpb24oKXsuLi59IG1peGluLlwiKTtcbiAgfVxuXG4gICRsYXlvdXQtZGlyZWN0aW9uOiAkZGlyZWN0aW9uICFnbG9iYWw7XG5cbiAgQGlmICRkaXNwbGF5ICE9IGRlZmF1bHQge1xuICAgIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgJGRpc3BsYXkgYXJndW1lbnQgd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBpbiBmYXZvciBvZiB0aGUgZGlzcGxheSgpey4uLn0gbWl4aW4uXCIpO1xuICB9XG5cbiAgQGlmICRkaXNwbGF5ID09IHRhYmxlIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBAaW5jbHVkZSBmaWxsLXBhcmVudDtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgICRjb250YWluZXItZGlzcGxheS10YWJsZTogdHJ1ZSAhZ2xvYmFsO1xuICB9IEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAkY29udGFpbmVyLWRpc3BsYXktdGFibGU6IGZhbHNlICFnbG9iYWw7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIFRyYW5zbGF0ZXMgYW4gZWxlbWVudCBob3Jpem9udGFsbHkgYnkgYSBudW1iZXIgb2YgY29sdW1ucy4gUG9zaXRpdmUgYXJndW1lbnRzIHNoaWZ0IHRoZSBlbGVtZW50IHRvIHRoZSBhY3RpdmUgbGF5b3V0IGRpcmVjdGlvbiwgd2hpbGUgbmVnYXRpdmUgb25lcyBzaGlmdCBpdCB0byB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXIgKHVuaXRsZXNzKX0gJG4tY29sdW1ucyAoMSlcbi8vLyAgIE51bWJlciBvZiBjb2x1bW5zIGJ5IHdoaWNoIHRoZSBlbGVtZW50IHNoaWZ0cy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBzaGlmdCgtMyk7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtMjUuNTg5NDElO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQoJG4tY29sdW1uczogMSkge1xuICBAaW5jbHVkZSBzaGlmdC1pbi1jb250ZXh0KCRuLWNvbHVtbnMpO1xufVxuXG4vLy8gVHJhbnNsYXRlcyBhbiBlbGVtZW50IGhvcml6b250YWxseSBieSBhIG51bWJlciBvZiBjb2x1bW5zLCBpbiBhIHNwZWNpZmljIG5lc3RpbmcgY29udGV4dC5cbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJHNoaWZ0XG4vLy8gICBBIGxpc3QgY29udGFpbmluZyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdG8gc2hpZnQgKGAkY29sdW1uc2ApIGFuZCB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgb2YgdGhlIHBhcmVudCBlbGVtZW50IChgJGNvbnRhaW5lci1jb2x1bW5zYCkuXG4vLy9cbi8vLyAgIFRoZSB0d28gdmFsdWVzIGNhbiBiZSBzZXBhcmF0ZWQgd2l0aCBhbnkgc3RyaW5nIHN1Y2ggYXMgYG9mYCwgYC9gLCBldGMuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgc2hpZnQoLTMgb2YgNik7XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3MgLSBDU1Mgb3V0cHV0XG4vLy8gICAuZWxlbWVudCB7XG4vLy8gICAgIG1hcmdpbi1sZWZ0OiAtNTIuNDE0NTglO1xuLy8vICAgfVxuXG5AbWl4aW4gc2hpZnQtaW4tY29udGV4dCgkc2hpZnQ6ICRjb2x1bW5zIG9mICRjb250YWluZXItY29sdW1ucykge1xuICAkbi1jb2x1bW5zOiBudGgoJHNoaWZ0LCAxKTtcbiAgJHBhcmVudC1jb2x1bW5zOiBjb250YWluZXItc2hpZnQoJHNoaWZ0KSAhZ2xvYmFsO1xuXG4gICRkaXJlY3Rpb246IGdldC1kaXJlY3Rpb24oJGxheW91dC1kaXJlY3Rpb24sICRkZWZhdWx0LWxheW91dC1kaXJlY3Rpb24pO1xuICAkb3Bwb3NpdGUtZGlyZWN0aW9uOiBnZXQtb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xuXG4gIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkbi1jb2x1bW5zICogZmxleC1ncmlkKDEsICRwYXJlbnQtY29sdW1ucykgKyAkbi1jb2x1bW5zICogZmxleC1ndXR0ZXIoJHBhcmVudC1jb2x1bW5zKTtcblxuICAvLyBSZXNldCBuZXN0aW5nIGNvbnRleHRcbiAgJHBhcmVudC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBBZGRzIHBhZGRpbmcgdG8gdGhlIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRwYWRkaW5nIChmbGV4LWd1dHRlcigpKVxuLy8vICAgQSBsaXN0IG9mIHBhZGRpbmcgdmFsdWUocykgdG8gdXNlLiBQYXNzaW5nIGBkZWZhdWx0YCBpbiB0aGUgbGlzdCB3aWxsIHJlc3VsdCBpbiB1c2luZyB0aGUgZ3V0dGVyIHdpZHRoIGFzIGEgcGFkZGluZyB2YWx1ZS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBwYWQoMzBweCAtMjBweCAxMHB4IGRlZmF1bHQpO1xuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBwYWRkaW5nOiAzMHB4IC0yMHB4IDEwcHggMi4zNTc2NSU7XG4vLy8gICB9XG5cbkBtaXhpbiBwYWQoJHBhZGRpbmc6IGZsZXgtZ3V0dGVyKCkpIHtcbiAgJHBhZGRpbmctbGlzdDogbnVsbDtcbiAgQGVhY2ggJHZhbHVlIGluICRwYWRkaW5nIHtcbiAgICAkdmFsdWU6IGlmKCR2YWx1ZSA9PSAnZGVmYXVsdCcsIGZsZXgtZ3V0dGVyKCksICR2YWx1ZSk7XG4gICAgJHBhZGRpbmctbGlzdDogam9pbigkcGFkZGluZy1saXN0LCAkdmFsdWUpO1xuICB9XG4gIHBhZGRpbmc6ICRwYWRkaW5nLWxpc3Q7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vLyBGb3JjZXMgdGhlIGVsZW1lbnQgdG8gZmlsbCBpdHMgcGFyZW50IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSBmaWxsLXBhcmVudDtcbi8vLyAgIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgd2lkdGg6IDEwMCU7XG4vLy8gICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbi8vLyAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy8vICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuLy8vICAgfVxuXG5AbWl4aW4gZmlsbC1wYXJlbnQoKSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpZiAkYm9yZGVyLWJveC1zaXppbmcgPT0gZmFsc2Uge1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIE91dHB1dHMgYSBtZWRpYS1xdWVyeSBibG9jayB3aXRoIGFuIG9wdGlvbmFsIGdyaWQgY29udGV4dCAodGhlIHRvdGFsIG51bWJlciBvZiBjb2x1bW5zIHVzZWQgaW4gdGhlIGdyaWQpLlxuLy8vXG4vLy8gQHBhcmFtIHtMaXN0fSAkcXVlcnlcbi8vLyAgIEEgbGlzdCBvZiBtZWRpYSBxdWVyeSBmZWF0dXJlcyBhbmQgdmFsdWVzLCB3aGVyZSBlYWNoIGAkZmVhdHVyZWAgc2hvdWxkIGhhdmUgYSBjb3JyZXNwb25kaW5nIGAkdmFsdWVgLlxuLy8vICAgRm9yIGEgbGlzdCBvZiB2YWxpZCB2YWx1ZXMgZm9yIGAkZmVhdHVyZWAsIGNsaWNrIFtoZXJlXShodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLW1lZGlhcXVlcmllcy8jbWVkaWExKS5cbi8vL1xuLy8vICAgSWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBgJHZhbHVlYCBpbiBgJHF1ZXJ5YCwgYCRkZWZhdWx0LWZlYXR1cmVgIGlzIGdvaW5nIHRvIGJlIHVzZWQuXG4vLy9cbi8vLyAgIFRoZSBudW1iZXIgb2YgdG90YWwgY29sdW1ucyBpbiB0aGUgZ3JpZCBjYW4gYmUgc2V0IGJ5IHBhc3NpbmcgYCRjb2x1bW5zYCBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IChvdmVycmlkZXMgYCR0b3RhbC1jb2x1bW5zYCkuXG4vLy9cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyICh1bml0bGVzcyl9ICR0b3RhbC1jb2x1bW5zICgkZ3JpZC1jb2x1bW5zKVxuLy8vICAgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UgaW4gdGhlIG5ldyBncmlkIGNvbnRleHQuIENhbiBiZSBzZXQgYXMgYSBzaG9ydGhhbmQgaW4gdGhlIGZpcnN0IHBhcmFtZXRlci5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLnJlc3BvbnNpdmUtZWxlbWVudCB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSg3NjlweCkge1xuLy8vICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4vLy8gICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyAgLm5ldy1jb250ZXh0LWVsZW1lbnQge1xuLy8vICAgIEBpbmNsdWRlIG1lZGlhKG1pbi13aWR0aCAzMjBweCBtYXgtd2lkdGggNDgwcHgsIDYpIHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIGNzcyAtIENTUyBPdXRwdXRcbi8vLyAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbi8vLyAgICAucmVzcG9uc2l2ZS1lbGVtZW50IHtcbi8vLyAgICAgIGRpc3BsYXk6IGJsb2NrO1xuLy8vICAgICAgZmxvYXQ6IGxlZnQ7XG4vLy8gICAgICBtYXJnaW4tcmlnaHQ6IDIuMzU3NjUlO1xuLy8vICAgICAgd2lkdGg6IDQ4LjgyMTE3JTtcbi8vLyAgICB9XG4vLy9cbi8vLyAgICAucmVzcG9uc2l2ZS1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcbi8vLyAgICAubmV3LWNvbnRleHQtZWxlbWVudCB7XG4vLy8gICAgICBkaXNwbGF5OiBibG9jaztcbi8vLyAgICAgIGZsb2F0OiBsZWZ0O1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiA0LjgyOTE2JTtcbi8vLyAgICAgIHdpZHRoOiAxMDAlO1xuLy8vICAgIH1cbi8vL1xuLy8vICAgIC5uZXctY29udGV4dC1lbGVtZW50Omxhc3QtY2hpbGQge1xuLy8vICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuLy8vICAgIH1cbi8vLyAgfVxuXG5AbWl4aW4gbWVkaWEoJHF1ZXJ5OiAkZmVhdHVyZSAkdmFsdWUgJGNvbHVtbnMsICR0b3RhbC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpZiBsZW5ndGgoJHF1ZXJ5KSA9PSAxIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAoJGRlZmF1bHQtZmVhdHVyZTogbnRoKCRxdWVyeSwgMSkpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zICFnbG9iYWw7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucyAhZ2xvYmFsO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgJGxvb3AtdG86IGxlbmd0aCgkcXVlcnkpO1xuICAgICRtZWRpYS1xdWVyeTogXCJzY3JlZW4gYW5kIFwiO1xuICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAkZ3JpZC1jb2x1bW5zOiAkdG90YWwtY29sdW1ucyAhZ2xvYmFsO1xuXG4gICAgQGlmIGlzLW5vdChpcy1ldmVuKGxlbmd0aCgkcXVlcnkpKSkge1xuICAgICAgJGdyaWQtY29sdW1uczogbnRoKCRxdWVyeSwgJGxvb3AtdG8pICFnbG9iYWw7XG4gICAgICAkbG9vcC10bzogJGxvb3AtdG8gLSAxO1xuICAgIH1cblxuICAgICRpOiAxO1xuICAgIEB3aGlsZSAkaSA8PSAkbG9vcC10byB7XG4gICAgICAkbWVkaWEtcXVlcnk6ICRtZWRpYS1xdWVyeSArIFwiKFwiICsgbnRoKCRxdWVyeSwgJGkpICsgXCI6IFwiICsgbnRoKCRxdWVyeSwgJGkgKyAxKSArIFwiKSBcIjtcblxuICAgICAgQGlmICgkaSArIDEpICE9ICRsb29wLXRvIHtcbiAgICAgICAgJG1lZGlhLXF1ZXJ5OiAkbWVkaWEtcXVlcnkgKyBcImFuZCBcIjtcbiAgICAgIH1cblxuICAgICAgJGk6ICRpICsgMjtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbWVkaWEtcXVlcnl9IHtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zICFnbG9iYWw7XG4gICAgfVxuICB9XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBtaXhpbiBicmVha3BvaW50KCRxdWVyeTokZmVhdHVyZSAkdmFsdWUgJGNvbHVtbnMsICR0b3RhbC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG4gIEBpbmNsdWRlIC1uZWF0LXdhcm4oXCJUaGUgYnJlYWtwb2ludCgpIG1peGluIHdhcyByZW5hbWVkIHRvIG1lZGlhKCkgaW4gTmVhdCAxLjAuIFBsZWFzZSB1cGRhdGUgeW91ciBwcm9qZWN0IHdpdGggdGhlIG5ldyBzeW50YXggYmVmb3JlIHRoZSBuZXh0IHZlcnNpb24gYnVtcC5cIik7XG5cbiAgQGlmIGxlbmd0aCgkcXVlcnkpID09IDEge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICgkZGVmYXVsdC1mZWF0dXJlOiBudGgoJHF1ZXJ5LCAxKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnM7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMiB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogJHRvdGFsLWNvbHVtbnM7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gMyB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkge1xuICAgICAgJGRlZmF1bHQtZ3JpZC1jb2x1bW5zOiAkZ3JpZC1jb2x1bW5zO1xuICAgICAgJGdyaWQtY29sdW1uczogbnRoKCRxdWVyeSwgMyk7XG4gICAgICBAY29udGVudDtcbiAgICAgICRncmlkLWNvbHVtbnM6ICRkZWZhdWx0LWdyaWQtY29sdW1ucztcbiAgICB9XG4gIH0gQGVsc2UgaWYgbGVuZ3RoKCRxdWVyeSkgPT0gNCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG50aCgkcXVlcnksIDEpOiBudGgoJHF1ZXJ5LCAyKSkgYW5kIChudGgoJHF1ZXJ5LCAzKTogbnRoKCRxdWVyeSwgNCkpIHtcbiAgICAgICRkZWZhdWx0LWdyaWQtY29sdW1uczogJGdyaWQtY29sdW1ucztcbiAgICAgICRncmlkLWNvbHVtbnM6ICR0b3RhbC1jb2x1bW5zO1xuICAgICAgQGNvbnRlbnQ7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiAkZGVmYXVsdC1ncmlkLWNvbHVtbnM7XG4gICAgfVxuICB9IEBlbHNlIGlmIGxlbmd0aCgkcXVlcnkpID09IDUge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChudGgoJHF1ZXJ5LCAxKTogbnRoKCRxdWVyeSwgMikpIGFuZCAobnRoKCRxdWVyeSwgMyk6IG50aCgkcXVlcnksIDQpKSB7XG4gICAgICAkZGVmYXVsdC1ncmlkLWNvbHVtbnM6ICRncmlkLWNvbHVtbnM7XG4gICAgICAkZ3JpZC1jb2x1bW5zOiBudGgoJHF1ZXJ5LCA1KTtcbiAgICAgIEBjb250ZW50O1xuICAgICAgJGdyaWQtY29sdW1uczogJGRlZmF1bHQtZ3JpZC1jb2x1bW5zO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgLW5lYXQtd2FybihcIldyb25nIG51bWJlciBvZiBhcmd1bWVudHMgZm9yIGJyZWFrcG9pbnQoKS4gUmVhZCB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgbW9yZSBkZXRhaWxzLlwiKTtcbiAgfVxufVxuXG5AbWl4aW4gbnRoLW9tZWdhKCRudGgsICRkaXNwbGF5OiBibG9jaywgJGRpcmVjdGlvbjogZGVmYXVsdCkge1xuICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiVGhlIG50aC1vbWVnYSgpIG1peGluIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2Ugb21lZ2EoKSBpbnN0ZWFkLlwiKTtcbiAgQGluY2x1ZGUgb21lZ2EoJG50aCAkZGlzcGxheSwgJGRpcmVjdGlvbik7XG59XG5cbi8vLyBSZXNldHMgdGhlIGFjdGl2ZSBkaXNwbGF5IHByb3BlcnR5IHRvIGBibG9ja2AuIFBhcnRpY3VsYXJseSB1c2VmdWwgd2hlbiBjaGFuZ2luZyB0aGUgZGlzcGxheSBwcm9wZXJ0eSBpbiBhIHNpbmdsZSByb3cuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcm93KHRhYmxlKTtcbi8vLyAgICAgLy8gQ29udGV4dCBjaGFuZ2VkIHRvIHRhYmxlIGRpc3BsYXlcbi8vLyAgIH1cbi8vL1xuLy8vICAgQGluY2x1ZGUgcmVzZXQtZGlzcGxheTtcbi8vLyAgIC8vIENvbnRleHQgaXMgcmVzZXQgdG8gYmxvY2sgZGlzcGxheVxuXG5AbWl4aW4gcmVzZXQtZGlzcGxheSB7XG4gICRjb250YWluZXItZGlzcGxheS10YWJsZTogZmFsc2UgIWdsb2JhbDtcbiAgQGluY2x1ZGUgLW5lYXQtd2FybihcIlJlc2V0dGluZyAkZGlzcGxheSB3aWxsIGJlIGRlcHJlY2F0ZWQgaW4gZnV0dXJlIHZlcnNpb25zIGluIGZhdm9yIG9mIHRoZSBkaXNwbGF5KCl7Li4ufSBtaXhpbi5cIik7XG59XG5cbi8vLyBSZXNldHMgdGhlIGFjdGl2ZSBsYXlvdXQgZGlyZWN0aW9uIHRvIHRoZSBkZWZhdWx0IHZhbHVlIHNldCBpbiBgJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbmAuIFBhcnRpY3VsYXJseSB1c2VmdWwgd2hlbiBjaGFuZ2luZyB0aGUgbGF5b3V0IGRpcmVjdGlvbiBpbiBhIHNpbmdsZSByb3cuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVXNhZ2Vcbi8vLyAgIC5lbGVtZW50IHtcbi8vLyAgICAgQGluY2x1ZGUgcm93KCRkaXJlY3Rpb246IFJUTCk7XG4vLy8gICAgIC8vIENvbnRleHQgY2hhbmdlZCB0byByaWdodC10by1sZWZ0XG4vLy8gICB9XG4vLy9cbi8vLyAgIEBpbmNsdWRlIHJlc2V0LWxheW91dC1kaXJlY3Rpb247XG4vLy8gICAvLyBDb250ZXh0IGlzIHJlc2V0IHRvIGxlZnQtdG8tcmlnaHRcblxuQG1peGluIHJlc2V0LWxheW91dC1kaXJlY3Rpb24ge1xuICAkbGF5b3V0LWRpcmVjdGlvbjogJGRlZmF1bHQtbGF5b3V0LWRpcmVjdGlvbiAhZ2xvYmFsO1xuICBAaW5jbHVkZSAtbmVhdC13YXJuKFwiUmVzZXR0aW5nICRkaXJlY3Rpb24gd2lsbCBiZSBkZXByZWNhdGVkIGluIGZ1dHVyZSB2ZXJzaW9ucyBpbiBmYXZvciBvZiB0aGUgZGlyZWN0aW9uKCl7Li4ufSBtaXhpbi5cIik7XG59XG5cbi8vLyBSZXNldHMgYm90aCB0aGUgYWN0aXZlIGxheW91dCBkaXJlY3Rpb24gYW5kIHRoZSBhY3RpdmUgZGlzcGxheSBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgLmVsZW1lbnQge1xuLy8vICAgICBAaW5jbHVkZSByb3codGFibGUsIFJUTCk7XG4vLy8gICAgIC8vIENvbnRleHQgY2hhbmdlZCB0byB0YWJsZSB0YWJsZSBhbmQgcmlnaHQtdG8tbGVmdFxuLy8vICAgfVxuLy8vXG4vLy8gICBAaW5jbHVkZSByZXNldC1hbGw7XG4vLy8gICAvLyBDb250ZXh0IGlzIHJlc2V0IHRvIGJsb2NrIGRpc3BsYXkgYW5kIGxlZnQtdG8tcmlnaHRcblxuQG1peGluIHJlc2V0LWFsbCB7XG4gIEBpbmNsdWRlIHJlc2V0LWRpc3BsYXk7XG4gIEBpbmNsdWRlIHJlc2V0LWxheW91dC1kaXJlY3Rpb247XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbkBtaXhpbiBncmlkLWNvbHVtbi1ncmFkaWVudCgkdmFsdWVzLi4uKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkdmFsdWVzKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkdmFsdWVzKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICR2YWx1ZXMpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1bnF1b3RlKFwibGluZWFyLWdyYWRpZW50KHRvIGxlZnQsICN7JHZhbHVlc30pXCIpO1xufVxuXG5AaWYgJHZpc3VhbC1ncmlkID09IHRydWUgb3IgJHZpc3VhbC1ncmlkID09IHllcyB7XG4gIGJvZHk6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ncmFkaWVudChncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zKSk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xuICAgIG9wYWNpdHk6ICR2aXN1YWwtZ3JpZC1vcGFjaXR5O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpZiAkdmlzdWFsLWdyaWQtaW5kZXggPT0gYmFjayB7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG5cbiAgICBAZWxzZSBpZiAkdmlzdWFsLWdyaWQtaW5kZXggPT0gZnJvbnQge1xuICAgICAgei1pbmRleDogOTk5OTtcbiAgICB9XG5cbiAgICBAZWFjaCAkYnJlYWtwb2ludCBpbiAkdmlzdWFsLWdyaWQtYnJlYWtwb2ludHMge1xuICAgICAgQGlmICRicmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ncmFkaWVudChncmFkaWVudC1zdG9wcygkZ3JpZC1jb2x1bW5zKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoYW5nZXMgdGhlIGRpc3BsYXkgcHJvcGVydHkgdXNlZCBieSBvdGhlciBtaXhpbnMgY2FsbGVkIGluIHRoZSBjb2RlIGJsb2NrIGFyZ3VtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRkaXNwbGF5IChibG9jaylcbi8vLyAgIERpc3BsYXkgdmFsdWUgdG8gYmUgdXNlZCB3aXRoaW4gdGhlIGJsb2NrLiBDYW4gYmUgYHRhYmxlYCBvciBgYmxvY2tgLlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgQGluY2x1ZGUgZGlzcGxheS1jb250ZXh0KHRhYmxlKSB7XG4vLy8gICAgLmRpc3BsYXktdGFibGUge1xuLy8vICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuLy8vICAgICB9XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBjc3Ncbi8vLyAgIC5kaXNwbGF5LXRhYmxlIHtcbi8vLyAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4vLy8gICAgICAuLi5cbi8vLyAgIH1cblxuQG1peGluIGRpc3BsYXktY29udGV4dCgkZGlzcGxheTogYmxvY2spIHtcbiAgJHNjb3BlLWRpc3BsYXk6ICRjb250YWluZXItZGlzcGxheS10YWJsZTtcbiAgJGNvbnRhaW5lci1kaXNwbGF5LXRhYmxlOiAkZGlzcGxheSA9PSB0YWJsZSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gICRjb250YWluZXItZGlzcGxheS10YWJsZTogJHNjb3BlLWRpc3BsYXkgIWdsb2JhbDtcbn1cbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8vIENoYW5nZXMgdGhlIGRpcmVjdGlvbiBwcm9wZXJ0eSB1c2VkIGJ5IG90aGVyIG1peGlucyBjYWxsZWQgaW4gdGhlIGNvZGUgYmxvY2sgYXJndW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRpcmVjdGlvbiAobGVmdC10by1yaWdodClcbi8vLyAgIExheW91dCBkaXJlY3Rpb24gdG8gYmUgdXNlZCB3aXRoaW4gdGhlIGJsb2NrLiBDYW4gYmUgYGxlZnQtdG8tcmlnaHRgIG9yIGByaWdodC10by1sZWZ0YC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBVc2FnZVxuLy8vICAgQGluY2x1ZGUgZGlyZWN0aW9uLWNvbnRleHQocmlnaHQtdG8tbGVmdCkge1xuLy8vICAgIC5yaWdodC10by1sZWZ0LWJsb2NrIHtcbi8vLyAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbi8vLyAgICAgfVxuLy8vICAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgY3NzIC0gQ1NTIE91dHB1dFxuLy8vICAgLnJpZ2h0LXRvLWxlZnQtYmxvY2sge1xuLy8vICAgICBmbG9hdDogcmlnaHQ7XG4vLy8gICAgICAuLi5cbi8vLyAgIH1cblxuQG1peGluIGRpcmVjdGlvbi1jb250ZXh0KCRkaXJlY3Rpb246IGxlZnQtdG8tcmlnaHQpIHtcbiAgJHNjb3BlLWRpcmVjdGlvbjogJGxheW91dC1kaXJlY3Rpb247XG5cbiAgQGlmIHRvLWxvd2VyLWNhc2UoJGRpcmVjdGlvbikgPT0gXCJsZWZ0LXRvLXJpZ2h0XCIge1xuICAgICRsYXlvdXQtZGlyZWN0aW9uOiBMVFIgIWdsb2JhbDtcbiAgfSBAZWxzZSBpZiB0by1sb3dlci1jYXNlKCRkaXJlY3Rpb24pID09IFwicmlnaHQtdG8tbGVmdFwiIHtcbiAgICAkbGF5b3V0LWRpcmVjdGlvbjogUlRMICFnbG9iYWw7XG4gIH1cblxuICBAY29udGVudDtcblxuICAkbGF5b3V0LWRpcmVjdGlvbjogJHNjb3BlLWRpcmVjdGlvbiAhZ2xvYmFsO1xufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4yIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn0iLCIuc2VsZWN0Mi1jb250YWluZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtaW4taGVpZ2h0OiAzMnB4O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5zZWxlY3QyLWNvbnRhaW5lciAuc2VsZWN0Mi1zZWFyY2gtLWlubGluZSAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogLTEwMDAwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTA1MTsgfVxuXG4uc2VsZWN0Mi1yZXN1bHRzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4uc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICBwYWRkaW5nOiA2cHg7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvblthcmlhLXNlbGVjdGVkXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIGxlZnQ6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3cge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDRweDsgfVxuICAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICAgIHBhZGRpbmc6IDRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gICAgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuICAuc2VsZWN0Mi1zZWFyY2gtLWRyb3Bkb3duLnNlbGVjdDItc2VhcmNoLS1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zZWxlY3QyLWNsb3NlLW1hc2sge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIHotaW5kZXg6IDk5O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7IH1cblxuLnNlbGVjdDItaGlkZGVuLWFjY2Vzc2libGUge1xuICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKSAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDFweCAhaW1wb3J0YW50O1xuICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4ICFpbXBvcnRhbnQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICM5OTk7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgIGhlaWdodDogMjZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcHg7XG4gICAgcmlnaHQ6IDFweDtcbiAgICB3aWR0aDogMjBweDsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODg4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci13aWR0aDogNXB4IDRweCAwIDRweDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtNHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgbGVmdDogMXB4O1xuICByaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdC5zZWxlY3QyLWNvbnRhaW5lci0tZGlzYWJsZWQgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyBiIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjODg4IHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6IDAgNHB4IDVweCA0cHg7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHRleHQ7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcmVuZGVyZWQgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3BsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogIzk5OTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmU6aG92ZXIge1xuICAgICAgY29sb3I6ICMzMzM7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlLCAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19wbGFjZWhvbGRlciwgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0W2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdFtkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHRbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLWZvY3VzIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBib3JkZXI6IHNvbGlkIGJsYWNrIDFweDtcbiAgb3V0bGluZTogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLWRpc2FibGVkIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0LnNlbGVjdDItY29udGFpbmVyLS1kaXNhYmxlZCAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZV9fcmVtb3ZlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWFib3ZlIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLCAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWFib3ZlIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWJlbG93IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlLCAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQuc2VsZWN0Mi1jb250YWluZXItLW9wZW4uc2VsZWN0Mi1jb250YWluZXItLWJlbG93IC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VhcmNoLS1kcm9wZG93biAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2FhYTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItc2VhcmNoLS1pbmxpbmUgLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzID4gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gIG1heC1oZWlnaHQ6IDIwMHB4O1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bcm9sZT1ncm91cF0ge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1kaXNhYmxlZD10cnVlXSB7XG4gIGNvbG9yOiAjOTk5OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb25bYXJpYS1zZWxlY3RlZD10cnVlXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICBwYWRkaW5nLWxlZnQ6IDFlbTsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19ncm91cCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xZW07XG4gICAgcGFkZGluZy1sZWZ0OiAyZW07IH1cbiAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAzZW07IH1cbiAgICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogNGVtOyB9XG4gICAgICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC00ZW07XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA1ZW07IH1cbiAgICAgICAgICAuc2VsZWN0Mi1jb250YWluZXItLWRlZmF1bHQgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24gLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNWVtO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2ZW07IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbi0taGlnaGxpZ2h0ZWRbYXJpYS1zZWxlY3RlZF0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTg5N2ZiO1xuICBjb2xvcjogd2hpdGU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXJlc3VsdHNfX2dyb3VwIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNnB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgb3V0bGluZTogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSA1MCUsICNlZWVlZWUgMTAwJSk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHdoaXRlIDUwJSwgI2VlZWVlZSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgd2hpdGUgNTAlLCAjZWVlZWVlIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNGRkZGRkZGRicsIGVuZENvbG9yc3RyPScjRkZFRUVFRUUnLCBHcmFkaWVudFR5cGU9MCk7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjNTg5N2ZiOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBjb2xvcjogIzQ0NDtcbiAgICBsaW5lLWhlaWdodDogMjhweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jbGVhciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjOTk5OyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNhYWE7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDRweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNHB4O1xuICAgIGhlaWdodDogMjZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxcHg7XG4gICAgcmlnaHQ6IDFweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNlZWVlZWUgNTAlLCAjY2NjY2NjIDEwMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNlZWVlZWUgNTAlLCAjY2NjY2NjIDEwMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNlZWVlZWUgNTAlLCAjY2NjY2NjIDEwMCUpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPScjRkZFRUVFRUUnLCBlbmRDb2xvcnN0cj0nI0ZGQ0NDQ0NDJywgR3JhZGllbnRUeXBlPTApOyB9XG4gICAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cgYiB7XG4gICAgICBib3JkZXItY29sb3I6ICM4ODggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiA1cHggNHB4IDAgNHB4O1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC00cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB3aWR0aDogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2xlYXIge1xuICBmbG9hdDogbGVmdDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNhYWE7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDRweDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O1xuICBsZWZ0OiAxcHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIC5zZWxlY3QyLXNlbGVjdGlvbl9fYXJyb3cge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3BlbiAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IGIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjODg4IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXdpZHRoOiAwIDRweCA1cHggNHB4OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYy5zZWxlY3QyLWNvbnRhaW5lci0tb3Blbi5zZWxlY3QyLWNvbnRhaW5lci0tYWJvdmUgLnNlbGVjdDItc2VsZWN0aW9uLS1zaW5nbGUge1xuICBib3JkZXItdG9wOiBub25lO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSAwJSwgI2VlZWVlZSA1MCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCB3aGl0ZSAwJSwgI2VlZWVlZSA1MCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCB3aGl0ZSAwJSwgI2VlZWVlZSA1MCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyNGRkZGRkZGRicsIGVuZENvbG9yc3RyPScjRkZFRUVFRUUnLCBHcmFkaWVudFR5cGU9MCk7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNlZWVlZWUgNTAlLCB3aGl0ZSAxMDAlKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgI2VlZWVlZSA1MCUsIHdoaXRlIDEwMCUpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjZWVlZWVlIDUwJSwgd2hpdGUgMTAwJSk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI0ZGRUVFRUVFJywgZW5kQ29sb3JzdHI9JyNGRkZGRkZGRicsIEdyYWRpZW50VHlwZT0wKTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYWFhO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogdGV4dDtcbiAgb3V0bGluZTogMDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzU4OTdmYjsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDVweDsgfVxuICAuc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2NsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgcGFkZGluZzogMCA1cHg7IH1cbiAgLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgY29sb3I6ICM4ODg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tcmlnaHQ6IDJweDsgfVxuICAgIC5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlX19yZW1vdmU6aG92ZXIge1xuICAgICAgY29sb3I6ICM1NTU7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljW2Rpcj1cInJ0bFwiXSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpY1tkaXI9XCJydGxcIl0gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Nob2ljZSB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWNbZGlyPVwicnRsXCJdIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICM1ODk3ZmI7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1hYm92ZSAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLXRvcDogbm9uZTtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuLnNlbGVjdDItY29udGFpbmVyLS1iZWxvdyAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24gLnNlbGVjdDItc2VhcmNoX19maWVsZCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhYWE7XG4gIG91dGxpbmU6IDA7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICBvdXRsaW5lOiAwO1xuICBib3gtc2hhZG93OiBub25lOyB9XG5cbi5zZWxlY3QyLWNvbnRhaW5lci0tY2xhc3NpYyAuc2VsZWN0Mi1kcm9wZG93biB7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItZHJvcGRvd24tLWFib3ZlIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItZHJvcGRvd24tLWJlbG93IHtcbiAgYm9yZGVyLXRvcDogbm9uZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0cyA+IC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbnMge1xuICBtYXgtaGVpZ2h0OiAyMDBweDtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW3JvbGU9Z3JvdXBdIHtcbiAgcGFkZGluZzogMDsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uW2FyaWEtZGlzYWJsZWQ9dHJ1ZV0ge1xuICBjb2xvcjogZ3JleTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9uLS1oaWdobGlnaHRlZFthcmlhLXNlbGVjdGVkXSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzODc1ZDc7XG4gIGNvbG9yOiB3aGl0ZTsgfVxuXG4uc2VsZWN0Mi1jb250YWluZXItLWNsYXNzaWMgLnNlbGVjdDItcmVzdWx0c19fZ3JvdXAge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiA2cHg7IH1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTg5N2ZiOyB9XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG4uZmFuY3lib3gtZW5hYmxlZCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LWVuYWJsZWQgYm9keSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLmZhbmN5Ym94LWlzLWhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICBsZWZ0OiAtOTk5OXB4O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLmZhbmN5Ym94LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiA5OTk5MztcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTsgfVxuXG4vKiBNYWtlIHN1cmUgdGhhdCB0aGUgZmlyc3Qgb25lIGlzIG9uIHRoZSB0b3AgKi9cbi5mYW5jeWJveC1jb250YWluZXIgfiAuZmFuY3lib3gtY29udGFpbmVyIHtcbiAgei1pbmRleDogOTk5OTI7IH1cblxuLmZhbmN5Ym94LW91dGVyLFxuLmZhbmN5Ym94LWlubmVyLFxuLmZhbmN5Ym94LWJnLFxuLmZhbmN5Ym94LXN0YWdlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7IH1cblxuLmZhbmN5Ym94LW91dGVyIHtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG5cbi5mYW5jeWJveC1iZyB7XG4gIGJhY2tncm91bmQ6ICMxZTFlMWU7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IGluaGVyaXQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NCwgMC43MSk7IH1cblxuLmZhbmN5Ym94LWlzLW9wZW4gLmZhbmN5Ym94LWJnIHtcbiAgb3BhY2l0eTogMC44NztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIyLCAwLjYxLCAwLjM2LCAxKTsgfVxuXG4uZmFuY3lib3gtaW5mb2Jhcixcbi5mYW5jeWJveC10b29sYmFyLFxuLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlyZWN0aW9uOiBsdHI7XG4gIHotaW5kZXg6IDk5OTk3O1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cywgdmlzaWJpbGl0eSAwcyBsaW5lYXIgLjI1cztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZmFuY3lib3gtc2hvdy1pbmZvYmFyIC5mYW5jeWJveC1pbmZvYmFyLFxuLmZhbmN5Ym94LXNob3ctdG9vbGJhciAuZmFuY3lib3gtdG9vbGJhcixcbi5mYW5jeWJveC1zaG93LWNhcHRpb24gLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgLjI1cywgdmlzaWJpbGl0eSAwczsgfVxuXG4uZmFuY3lib3gtaW5mb2JhciB7XG4gIHRvcDogMDtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tbGVmdDogLTc5cHg7IH1cblxuLmZhbmN5Ym94LWluZm9iYXJfX2JvZHkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA3MHB4O1xuICBsaW5lLWhlaWdodDogNDRweDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZGRkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMwLCAzMCwgMzAsIDAuNyk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IHN1YnBpeGVsLWFudGlhbGlhc2VkOyB9XG5cbi5mYW5jeWJveC10b29sYmFyIHtcbiAgdG9wOiAwO1xuICByaWdodDogMDsgfVxuXG4uZmFuY3lib3gtc3RhZ2Uge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBkaXJlY3Rpb246IGx0cjtcbiAgei1pbmRleDogOTk5OTQ7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uZmFuY3lib3gtc2xpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgb3V0bGluZTogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB6LWluZGV4OiA5OTk5NDtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBkaXNwbGF5OiBub25lO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5LCAtd2Via2l0LXRyYW5zZm9ybTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHksIC13ZWJraXQtdHJhbnNmb3JtO1xuICAtd2Via2l0LXRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7IH1cblxuLmZhbmN5Ym94LXNsaWRlOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAwOyB9XG5cbi5mYW5jeWJveC1pcy1zbGlkaW5nIC5mYW5jeWJveC1zbGlkZSxcbi5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMsXG4uZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQsXG4uZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLWltYWdlIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pbWFnZTo6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLXZpZGVvIC5mYW5jeWJveC1jb250ZW50LFxuLmZhbmN5Ym94LXNsaWRlLS12aWRlbyBpZnJhbWUge1xuICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbi5mYW5jeWJveC1zbGlkZS0tbWFwIC5mYW5jeWJveC1jb250ZW50LFxuLmZhbmN5Ym94LXNsaWRlLS1tYXAgaWZyYW1lIHtcbiAgYmFja2dyb3VuZDogI0U1RTNERjsgfVxuXG4uZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICB6LWluZGV4OiA5OTk5NTsgfVxuXG4uZmFuY3lib3gtc2xpZGUgPiBkaXYge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMjRweDtcbiAgbWFyZ2luOiA0NHB4IDAgNDRweDtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBvdmVyZmxvdzogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZmFuY3lib3gtc2xpZGUgLmZhbmN5Ym94LWltYWdlLXdyYXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHotaW5kZXg6IDk5OTk1O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgLW1zLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWNhbi16b29tT3V0IC5mYW5jeWJveC1pbWFnZS13cmFwIHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IHpvb20tb3V0OyB9XG5cbi5mYW5jeWJveC1jYW4tem9vbUluIC5mYW5jeWJveC1pbWFnZS13cmFwIHtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogem9vbS1pbjsgfVxuXG4uZmFuY3lib3gtY2FuLWRyYWcgLmZhbmN5Ym94LWltYWdlLXdyYXAge1xuICBjdXJzb3I6IC13ZWJraXQtZ3JhYjtcbiAgY3Vyc29yOiBncmFiOyB9XG5cbi5mYW5jeWJveC1pcy1kcmFnZ2luZyAuZmFuY3lib3gtaW1hZ2Utd3JhcCB7XG4gIGN1cnNvcjogLXdlYmtpdC1ncmFiYmluZztcbiAgY3Vyc29yOiBncmFiYmluZzsgfVxuXG4uZmFuY3lib3gtaW1hZ2UsXG4uZmFuY3lib3gtc3BhY2ViYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLmZhbmN5Ym94LXNwYWNlYmFsbCB7XG4gIHotaW5kZXg6IDE7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNvbnRlbnQge1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogODAlO1xuICBoZWlnaHQ6IDgwJTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gIG1heC1oZWlnaHQ6IGNhbGMoMTAwJSAtIDg4cHgpO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgYmFja2dyb3VuZDogI2ZmZjsgfVxuXG4uZmFuY3lib3gtaWZyYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG5cbi5mYW5jeWJveC1lcnJvciB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogNDBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMzgwcHg7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4uZmFuY3lib3gtZXJyb3IgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgY29sb3I6ICM0NDQ7XG4gIGZvbnQ6IDE2cHgvMjBweCBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNDRweDtcbiAgaGVpZ2h0OiA0NHB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDEwO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmFmdGVyIHtcbiAgY29udGVudDogJ8OXJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgcmlnaHQ6IDVweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgZm9udDogMjBweC8zMHB4IEFyaWFsLFwiSGVsdmV0aWNhIE5ldWVcIixIZWx2ZXRpY2Esc2Fucy1zZXJpZjtcbiAgY29sb3I6ICM4ODg7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItd2lkdGg6IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgLjI1cztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgei1pbmRleDogMjsgfVxuXG4uZmFuY3lib3gtY2xvc2Utc21hbGw6Zm9jdXM6YWZ0ZXIge1xuICBvdXRsaW5lOiAxcHggZG90dGVkICM4ODg7IH1cblxuLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyOmFmdGVyIHtcbiAgY29sb3I6ICM1NTU7XG4gIGJhY2tncm91bmQ6ICNlZWU7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgdG9wOiAwO1xuICByaWdodDogLTQ0cHg7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGZvbnQtc2l6ZTogMzVweDtcbiAgY29sb3I6ICNhYWE7IH1cblxuLmZhbmN5Ym94LXNsaWRlLS1pZnJhbWUgLmZhbmN5Ym94LWNsb3NlLXNtYWxsOmhvdmVyOmFmdGVyIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLyogQ2FwdGlvbiAqL1xuLmZhbmN5Ym94LWNhcHRpb24td3JhcCB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDYwcHggMzBweCAwIDMwcHg7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHRyYW5zcGFyZW50IDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkgMjAlLCByZ2JhKDAsIDAsIDAsIDAuMikgNDAlLCByZ2JhKDAsIDAsIDAsIDAuNikgODAlLCByZ2JhKDAsIDAsIDAsIDAuOCkgMTAwJSk7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIHtcbiAgcGFkZGluZzogMzBweCAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiBub25lOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIGEsXG4uZmFuY3lib3gtY2FwdGlvbiBidXR0b24sXG4uZmFuY3lib3gtY2FwdGlvbiBzZWxlY3Qge1xuICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG5cbi5mYW5jeWJveC1jYXB0aW9uIGEge1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLyogQnV0dG9ucyAqL1xuLmZhbmN5Ym94LWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjZGRkO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbltkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5mYW5jeWJveC1pbmZvYmFyX19ib2R5LCAuZmFuY3lib3gtYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogcmdiYSgzMCwgMzAsIDMwLCAwLjYpOyB9XG5cbi5mYW5jeWJveC1idXR0b246aG92ZXI6bm90KFtkaXNhYmxlZF0pIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uOjpiZWZvcmUsXG4uZmFuY3lib3gtYnV0dG9uOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIGNvbG9yOiBjdXJyZW50Q29sb3I7XG4gIG9wYWNpdHk6IDAuOTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5mYW5jeWJveC1idXR0b25bZGlzYWJsZWRdOjpiZWZvcmUsXG4uZmFuY3lib3gtYnV0dG9uW2Rpc2FibGVkXTo6YWZ0ZXIge1xuICBvcGFjaXR5OiAwLjM7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdDo6YWZ0ZXIsXG4uZmFuY3lib3gtYnV0dG9uLS1yaWdodDo6YWZ0ZXIge1xuICB0b3A6IDE4cHg7XG4gIHdpZHRoOiA2cHg7XG4gIGhlaWdodDogNnB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogc29saWQgMnB4IGN1cnJlbnRDb2xvcjtcbiAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAycHggY3VycmVudENvbG9yOyB9XG5cbi5mYW5jeWJveC1idXR0b24tLWxlZnQ6OmFmdGVyIHtcbiAgbGVmdDogMjBweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC0xMzVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTM1ZGVnKTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1yaWdodDo6YWZ0ZXIge1xuICByaWdodDogMjBweDtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1sZWZ0IHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNXB4OyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXJpZ2h0IHtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YmVmb3JlLCAuZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMnB4O1xuICB3aWR0aDogMTZweDtcbiAgdG9wOiBjYWxjKDUwJSAtIDFweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gOHB4KTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YmVmb3JlIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuXG4uZmFuY3lib3gtYnV0dG9uLS1jbG9zZTo6YWZ0ZXIge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi8qIE5hdmlnYXRpb24gYXJyb3dzICovXG4uZmFuY3lib3gtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW46IC01MHB4IDAgMCAwO1xuICBoZWlnaHQ6IDEwMHB4O1xuICB3aWR0aDogNTRweDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDk5OTk1O1xuICBvcGFjaXR5OiAwO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXM7IH1cblxuLmZhbmN5Ym94LWFycm93OjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMjhweDtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMCwgMzAsIDMwLCAwLjgpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCbWFXeHNQU0lqUmtaR1JrWkdJaUJvWldsbmFIUTlJalE0SWlCMmFXVjNRbTk0UFNJd0lEQWdNalFnTWpRaUlIZHBaSFJvUFNJME9DSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNGdJQ0FnUEhCaGRHZ2daRDBpVFRBZ01HZ3lOSFl5TkVnd2VpSWdabWxzYkQwaWJtOXVaU0l2UGlBZ0lDQThjR0YwYUNCa1BTSk5NVElnTkd3dE1TNDBNU0F4TGpReFRERTJMakUzSURFeFNEUjJNbWd4TWk0eE4yd3ROUzQxT0NBMUxqVTVUREV5SURJd2JEZ3RPSG9pTHo0OEwzTjJaejQ9KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAyNHB4IDI0cHg7IH1cblxuLmZhbmN5Ym94LWFycm93LS1yaWdodCB7XG4gIHJpZ2h0OiAwOyB9XG5cbi5mYW5jeWJveC1hcnJvdy0tbGVmdCB7XG4gIGxlZnQ6IDA7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAtbXMtdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7IH1cblxuLmZhbmN5Ym94LWFycm93LS1yaWdodDo6YWZ0ZXIsXG4uZmFuY3lib3gtYXJyb3ctLWxlZnQ6OmFmdGVyIHtcbiAgbGVmdDogMDsgfVxuXG4uZmFuY3lib3gtc2hvdy1uYXYgLmZhbmN5Ym94LWFycm93IHtcbiAgb3BhY2l0eTogMC42OyB9XG5cbi5mYW5jeWJveC1zaG93LW5hdiAuZmFuY3lib3gtYXJyb3dbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4zOyB9XG5cbi8qIExvYWRpbmcgaW5kaWNhdG9yICovXG4uZmFuY3lib3gtc2xpZGUgPiAuZmFuY3lib3gtbG9hZGluZyB7XG4gIGJvcmRlcjogNnB4IHNvbGlkIHJnYmEoMTAwLCAxMDAsIDEwMCwgMC40KTtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgaGVpZ2h0OiA1MHB4O1xuICB3aWR0aDogNTBweDtcbiAgLXdlYmtpdC1hbmltYXRpb246IGZhbmN5Ym94LXJvdGF0ZSAuOHMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IGZhbmN5Ym94LXJvdGF0ZSAuOHMgaW5maW5pdGUgbGluZWFyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgbWFyZ2luLWxlZnQ6IC0yNXB4O1xuICB6LWluZGV4OiA5OTk5OTsgfVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFuY3lib3gtcm90YXRlIHtcbiAgZnJvbSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICB0byB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM1OWRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIGZhbmN5Ym94LXJvdGF0ZSB7XG4gIGZyb20ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgdG8ge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuLyogVHJhbnNpdGlvbiBlZmZlY3RzICovXG4uZmFuY3lib3gtYW5pbWF0ZWQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAsIDAsIDAuMjUsIDEpOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHNsaWRlICovXG4uZmFuY3lib3gtZngtc2xpZGUuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LXNsaWRlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mYW5jeWJveC1meC1zbGlkZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4vKiB0cmFuc2l0aW9uRWZmZWN0OiBmYWRlICovXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMsXG4uZmFuY3lib3gtZngtZmFkZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xOSwgMSwgMC4yMiwgMSk7IH1cblxuLmZhbmN5Ym94LWZ4LWZhZGUuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHpvb20taW4tb3V0ICovXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLXByZXZpb3VzIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS41LCAxLjUsIDEuNSk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgxLjUsIDEuNSwgMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZmFuY3lib3gtZngtem9vbS1pbi1vdXQuZmFuY3lib3gtc2xpZGUtLW5leHQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLjUsIDAuNSwgMC41KTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNSwgMC41LCAwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5mYW5jeWJveC1meC16b29tLWluLW91dC5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpO1xuICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogcm90YXRlICovXG4uZmFuY3lib3gtZngtcm90YXRlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMzYwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTM2MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tbmV4dCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LXJvdGF0ZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLyogdHJhbnNpdGlvbkVmZmVjdDogY2lyY3VsYXIgKi9cbi5mYW5jeWJveC1meC1jaXJjdWxhci5mYW5jeWJveC1zbGlkZS0tcHJldmlvdXMge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZhbmN5Ym94LWZ4LWNpcmN1bGFyLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMCwgMCwgMCkgdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIHRyYW5zZm9ybTogc2NhbGUzZCgwLCAwLCAwKSB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uZmFuY3lib3gtZngtY2lyY3VsYXIuZmFuY3lib3gtc2xpZGUtLWN1cnJlbnQge1xuICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKSB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpIHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi8qIHRyYW5zaXRpb25FZmZlY3Q6IHR1YmUgKi9cbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1wcmV2aW91cyB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KC0xMGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApIHNjYWxlKDAuMSkgc2tldygtMTBkZWcpOyB9XG5cbi5mYW5jeWJveC1meC10dWJlLmZhbmN5Ym94LXNsaWRlLS1uZXh0IHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApIHNjYWxlKDAuMSkgc2tldygxMGRlZyk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgc2NhbGUoMC4xKSBza2V3KDEwZGVnKTsgfVxuXG4uZmFuY3lib3gtZngtdHViZS5mYW5jeWJveC1zbGlkZS0tY3VycmVudCB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKSBzY2FsZSgxKTsgfVxuXG4vKiBTdHlsaW5nIGZvciBTbWFsbC1TY3JlZW4gRGV2aWNlcyAqL1xuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgLmZhbmN5Ym94LWluZm9iYXIge1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmZhbmN5Ym94LWJ1dHRvbi0tbGVmdCxcbiAgLmZhbmN5Ym94LWJ1dHRvbi0tcmlnaHQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuZmFuY3lib3gtY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbi8qIEZ1bGxzY3JlZW4gICovXG4uZmFuY3lib3gtYnV0dG9uLS1mdWxsc2NyZWVuOjpiZWZvcmUge1xuICB3aWR0aDogMTVweDtcbiAgaGVpZ2h0OiAxMXB4O1xuICBsZWZ0OiBjYWxjKDUwJSAtIDdweCk7XG4gIHRvcDogY2FsYyg1MCUgLSA2cHgpO1xuICBib3JkZXI6IDJweCBzb2xpZDtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4vKiBTbGlkZXNob3cgYnV0dG9uICovXG4uZmFuY3lib3gtYnV0dG9uLS1wbGF5OjpiZWZvcmUsXG4uZmFuY3lib3gtYnV0dG9uLS1wYXVzZTo6YmVmb3JlIHtcbiAgdG9wOiBjYWxjKDUwJSAtIDZweCk7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gNHB4KTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGxheTo6YmVmb3JlIHtcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXRvcDogNnB4IGluc2V0IHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiA2cHggaW5zZXQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAxcHg7IH1cblxuLmZhbmN5Ym94LWJ1dHRvbi0tcGF1c2U6OmJlZm9yZSB7XG4gIHdpZHRoOiA3cHg7XG4gIGhlaWdodDogMTFweDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAwIDJweCAwIDJweDsgfVxuXG4vKiBUaHVtYnMgKi9cbi5mYW5jeWJveC10aHVtYnMge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mYW5jeWJveC1idXR0b24tLXRodW1icyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmZhbmN5Ym94LWJ1dHRvbi0tdGh1bWJzIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMjNweDsgfVxuICAuZmFuY3lib3gtYnV0dG9uLS10aHVtYnM6OmJlZm9yZSB7XG4gICAgd2lkdGg6IDNweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMnB4KTtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDJweCk7XG4gICAgYm94LXNoYWRvdzogMCAtNHB4IDAsIC00cHggLTRweCAwLCA0cHggLTRweCAwLCAwIDAgMCAzMnB4IGluc2V0LCAtNHB4IDAgMCwgNHB4IDAgMCwgMCA0cHggMCwgLTRweCA0cHggMCwgNHB4IDRweCAwOyB9XG4gIC5mYW5jeWJveC10aHVtYnMge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgd2lkdGg6IDIyMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA1cHggNXB4IDAgMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHotaW5kZXg6IDk5OTk1OyB9XG4gIC5mYW5jeWJveC1zaG93LXRodW1icyAuZmFuY3lib3gtdGh1bWJzIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmFuY3lib3gtc2hvdy10aHVtYnMgLmZhbmN5Ym94LWlubmVyIHtcbiAgICByaWdodDogMjIwcHg7IH1cbiAgLmZhbmN5Ym94LXRodW1icyA+IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIGZvbnQtc2l6ZTogMDsgfVxuICAuZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTA1cHg7XG4gICAgaGVpZ2h0OiA3NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG4gIGxpLmZhbmN5Ym94LXRodW1icy1sb2FkaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cbiAgLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkgPiBpbWcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuZmFuY3lib3gtdGh1bWJzID4gdWwgPiBsaTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICM0ZWE3Zjk7XG4gICAgei1pbmRleDogOTk5OTE7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZhbmN5Ym94LXRodW1icyA+IHVsID4gbGkuZmFuY3lib3gtdGh1bWJzLWFjdGl2ZTpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7IH0gfVxuIiwiLyogLS0tLS0gUFVUIEFMTCBZT1VSIEFNQVpJTkcgVkFSSUFCTEVTIElOIEhFUkUgLS0tLS0gKi9cbi8vIEZvbnRcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9UG9wcGluczozMDAsNDAwLDUwMCw2MDAsNzAwJyk7XG5cbi8vIENvbG9yXG4kZGFyazogIzAwMDtcbiRkYXJrX2dyYXlpc2hfdmlvbGV0OiAjOTU4RTlDO1xuJGRhcmtfZ3JheWlzaF9yZWQ6ICMzQjM1MzU7XG4kZGFya192ZXJ5X2dyYXlpc2hfcmVkOiAjNTQ1MTUxO1xuJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yOiAjNjY2MjYyO1xuJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zOiAjNDc0NTQ1O1xuXG4kZ3JheV9kYXJrOiAjOTk5O1xuJGdyYXlfdmVyeV9kYXJrOiAjNEY0RjRGO1xuJGdyYXlfdmVyeV9kYXJrOiAjNEY0RjRGO1xuJGdyYXlfdmVyeV9saWdodDogI0VBRUFFQTtcbiRncmF5X2dyYXlpc2hfdmlvbGV0OiAjRUFFOUVDO1xuJGdyYXlfZ3JheWlzaF9ibHVlOiAjRjNGM0Y0O1xuJGdyYXlfZ3JheWlzaF9ibHVlXzI6ICNCQkJEQkY7XG4kZ3JheV9ncmF5aXNoX2JsdWVfMzogIzc2OTZCMztcbiRncmF5X2xpZ2h0OiAjQzlDOUM5O1xuJGdyYXlfbGlnaHRfMTogI0VGRUZFRjtcbiRnYXJ5X2xpZ2h0X29yYW5nZTogI0ZCRjlGODtcbiRnYXJ5X2xpZ2h0X29yYW5nZV8yOiAjRkFGOEY3O1xuJGdyYXlfbGlnaHRfb3JhbmdlXzM6ICNERURDRDk7XG5cbiR3aGl0ZTogI0ZGRjtcbiR3aGl0ZV8yOiAjREREO1xuJHdoaXRlX2dyYXk6ICNGQ0ZDRkM7XG5cbiRvcmFuZ2VfYnJpZ2h0OiAjRjI3NDNBO1xuJG9yYW5nZV9icmlnaHRfMjogI0ZDNjgyRDtcbiRvcmFuZ2VfYnJpZ2h0XzM6ICNGQzU3MkQ7XG4kb3JhbmdlX2JyaWdodF80OiAjRkI3NjNGO1xuJG9yYW5nZV9ncmF5aXNoOiAjQzNCQkE4O1xuJG9yYW5nZV9ncmF5aXNoXzI6ICNDQUM0Qjg7XG5cbiRibHVlX2ZhY2Vib29rOiAjNDQ2NEExO1xuJGJsdWVfdHdpdHRlcjogIzAyQjVGMDtcbiRibHVlX2luOiAjMDI4MkJEO1xuJGJsdWVfbGlnaHRfZ3JheWlzaDogI0VDRUNFRjtcbiRibHVlX2xpZ2h0X2dyYXlpc2hfMjogI0YxRjFGMjtcblxuLy8gVmFyaWFibGVcbiRjb2xvcl9fbWFpbjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4kY29sb3JfX2lucHV0OiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4kY29sb3JfX2FjY2VzczogJG9yYW5nZV9icmlnaHRfMjtcblxuJGNvbG9yOiAoXG4gIGNvbWJpel9ibHVlOiAjMTA0ODdhLFxuICBjb21iaXpfbGlnaHRfYmx1ZTogIzJlYmNlZCxcbiAgY29tYml6X29yYW5nZTogI2YzNzMyNCxcbiAgY29tYml6X2xpZ2h0X2dyYXk6ICNkY2U0ZWMsXG4gIGNvbWJpel9ibGFjazogIzA0MTEyMCxcbiAgd2hpdGU6ICNmZmYsXG4gIGdyYXk6ICM5OTksXG4gIGdyYXlfbGlnaHRfMzAwOiAjRDlEOUQ5LFxuICBncmF5X2xpZ2h0XzUwMDogIzdEN0Q3RCxcbiAgZGFya19ncmF5aXNoX3JlZDogIzNCMzUzNSxcbiAgZGFya19ncmF5aXNoX3Zpb2xldDogIzk1OEU5QyxcbiAgZGFya192ZXJ5X2dyYXlpc2hfcmVkOiAjNTQ1MTUxLFxuICBkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjogIzY2NjI2MixcbiAgZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM6ICM0NzQ1NDUsXG4gIGdyYXlfbGlnaHRfYmx1ZTogI0VERjFGNyxcbiAgZ3JheV9saWdodGVyX2JsdWU6ICNGN0Y5RkMsXG4gIGdyYXlfZ3JheWlzaF9ibHVlOiAjRjNGM0Y0LFxuICBwcmltYXJ5X2RhcmtfYmx1ZTogIzBDMzE1OSxcbik7XG5cbiRicmVha3BvaW50LWRlc2t0b3A6IDEyMDBweDtcblxuJGZvbnRfX21haW46ICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiRzcGFjZWQtbGV0dGVyczogMC4yNWVtO1xuIiwiQGZ1bmN0aW9uIGNvbG9yKCRjb2xvci1uYW1lKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkY29sb3IsICRjb2xvci1uYW1lKT09dHJ1ZSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRjb2xvciwgJGNvbG9yLW5hbWUpO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEBlcnJvciBcIkNvbG9yICN7JGNvbG9yLW5hbWV9IGlzIG5vdCBkZWZpbmVkIGluICRjb2xvciBtYXAuXCI7XG4gIH1cbn0iLCIvKiAtLS0tLSBQVVQgQUxMIFlPVVIgQU1BWklORyBNSVhJTlMgSU4gSEVSRSAtLS0tLSAqL1xuXG4vLyBJbWFnZSByZXBsYWNlbWVudFxuQG1peGluIHJlcGxhY2UoKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8vIFJlc2V0cyB0aGUgbGFzdCBjb2x1bW4gbnVtYmVyXG5AbWl4aW4gb21lZ2EtcmVzZXQoJG50aCkge1xuICAmOm50aC1jaGlsZCgjeyRudGh9KSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBmbGV4LWd1dHRlcigpO1xuICB9XG5cbiAgJjpudGgtY2hpbGQoI3skbnRofSsxKSB7XG4gICAgY2xlYXI6IG5vbmVcbiAgfVxufVxuXG5AbWl4aW4gYnJlLXRyYW5zaXRpb24oKSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG5AbWl4aW4gaGVhZGVyLWNvbnRhaW5lcigpIHtcbiAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gIHBhZGRpbmc6IDAgMjBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGNsZWFyOiBib3RoO1xuXG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG59XG5cbkBtaXhpbiBidWxsZXQtcG9pbnRzKCkge1xuICBmb250LXNpemU6IHJlbSgxNCk7XG4gIG1hcmdpbjogMjVweCAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG5cbiAgbGkge1xuXG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZDogJGdyYXlfZ3JheWlzaF9ibHVlXzI7XG4gICAgICB3aWR0aDogNHB4O1xuICAgICAgaGVpZ2h0OiA0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGNhcmV0KCRjb2xvcikge1xuICAmOjphZnRlciB7XG4gICAgdG9wOiAtMnB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIHJvdGF0ZTogNDVkZWc7XG4gICAgYm94LXNoYWRvdzogMS41cHggLTEuNXB4IDAgMCAkY29sb3I7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiB2aWV3cG9ydCgkc2l6ZSwgJHR5cGU6IG1heCkge1xuICBAaWYgJHR5cGUgPT1taW4ge1xuICAgICRzaXplOiAkc2l6ZSArMVxuICB9XG5cbiAgQG1lZGlhIGFsbCBhbmQgKCN7JHR5cGV9LXdpZHRoOiAkc2l6ZSkge1xuICAgIEBjb250ZW50XG4gIH1cbn0iLCJAZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiaWNvbmZvbnRcIjtcbiAgc3JjOiB1cmwoJ2ljb25mb250LmVvdCcpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjOiB1cmwoXCJpY29uZm9udC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksXG4gICAgICAgdXJsKFwiaWNvbmZvbnQuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSxcbiAgICAgICB1cmwoXCJpY29uZm9udC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksXG4gICAgICAgdXJsKFwiaWNvbmZvbnQuc3ZnI3N2Z2ljb25mb250XCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG4uaWNvbjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcImljb25mb250XCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xufVxuXG4uaWNvbi1sZyB7XG4gIGZvbnQtc2l6ZTogMS4zMzMzMzMzMzMzMzMzMzMzZW07XG4gIGxpbmUtaGVpZ2h0OiAwLjc1ZW07XG4gIHZlcnRpY2FsLWFsaWduOiAtMTUlO1xufVxuLmljb24tMnggeyBmb250LXNpemU6IDJlbTsgfVxuLmljb24tM3ggeyBmb250LXNpemU6IDNlbTsgfVxuLmljb24tNHggeyBmb250LXNpemU6IDRlbTsgfVxuLmljb24tNXggeyBmb250LXNpemU6IDVlbTsgfVxuLmljb24tZncge1xuICB3aWR0aDogMS4yODU3MTQyODU3MTQyODU4ZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn0iLCJib2R5IHtcbiAgZm9udC1mYW1pbHk6ICRmb250X19tYWluO1xuICBjb2xvcjogJGNvbG9yX19tYWluO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zaXplOiAxZW07XG4gIHpvb206IDAuOTtcblxuICAmLmxvY2tlZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxufVxuXG50YWJsZSB7XG4gIG1hcmdpbjogMzBweCAwO1xuICB3aWR0aDogMTAwJTtcblxuICB0aCB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gIH1cblxuICB0ci5ldmVuLFxuICB0ci5vZGQge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgfVxuXG4gIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG4gIH1cblxuICB0aCB7XG4gICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgfVxufVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbn1cblxuc2VjdGlvbi5icmVhZGNydW1iLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICRncmF5X2xpZ2h0XzE7XG5cbiAgLmJyZWFkY3J1bWIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbG9hdDogdW5zZXQ7XG4gICAgaGVpZ2h0OiByZW0oNDcpO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogcmVtKDEyMDApO1xuICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtKDI0KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgxMik7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi1saW5lOiB1bmRlcmxpbmU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oOCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNlcGFyYXRvciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9hbmdsZS1yaWdodC5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNnB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgaGVpZ2h0OiAxMnB4O1xuICAgICAgbWFyZ2luOiAwIDhweDtcbiAgICB9XG5cbiAgICAuYWN0aXZlLXRyYWlsIHtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gIH1cbn1cblxuaWZyYW1lW3RpdGxlPVwicmVjYXB0Y2hhIGNoYWxsZW5nZSBleHBpcmVzIGluIHR3byBtaW51dGVzXCJdIHtcbiAgaGVpZ2h0OiA2NDVweCAhaW1wb3J0YW50O1xufVxuaWZyYW1lW3RpdGxlPVwicmVDQVBUQ0hBXCJdIHtcbiAgd2lkdGg6IDQyMnB4ICFpbXBvcnRhbnQ7XG59XG5cbkBpbXBvcnQgXCJ0eXBvLnNjc3NcIjtcbkBpbXBvcnQgXCJoZWFkZXIuc2Nzc1wiO1xuQGltcG9ydCBcImZvb3Rlci5zY3NzXCI7XG5AaW1wb3J0IFwibGF5b3V0LnNjc3NcIjtcbkBpbXBvcnQgXCJzbGljay5zY3NzXCI7XG4iLCIvLyBQYXJhZ3JhcGhcbnAge1xuICBtYXJnaW46IDAgMCAxZW07XG59XG5cbi8vIEhlYWRpbmdcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW46IDAgMCAxZW07XG59XG5cbmEsXG4uZmFrZS1saW5rIHtcbiAgb3V0bGluZTogbm9uZTtcbiAgY29sb3I6ICRjb2xvcl9fbWFpbjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5tYWluLXdpdGgtc2lkZWJhciB7XG5cbiAgYTpub3QoW2NsYXNzXSksXG4gIGFbY2xhc3M9XCJcIl0ge1xuICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodDtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiByZW0oMTRweCk7XG5cbiAgfVxufVxuXG5idXR0b24ubm8tc3R5bGUge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiAkb3JhbmdlX2JyaWdodDtcbn1cblxudWwge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIH1cbn1cblxuLm1haW4td2l0aC1zaWRlYmFyIHtcbiAgLnRleHQgdWwge1xuICAgIEBpbmNsdWRlIGJ1bGxldC1wb2ludHMoKTtcbiAgfVxufVxuXG5kaXYuYWRkZXZlbnRhdGMge1xuICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG59IiwiLy9oZWFkZXJcbmhlYWRlciB7XG4gIHotaW5kZXg6IDIwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcblxuICAmLmZpeGVkIHtcblxuICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgLy8gQGluY2x1ZGUgcGFkKDE1cHggMCAxMHB4KTtcbiAgICB9XG5cbiAgICAuZGVza3RvcC1tZW51IHtcblxuICAgICAgLnRvcCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gICAgICB9XG5cbiAgICAgIC5sb2dvIHtcbiAgICAgICAgd2lkdGg6IDM0MHB4O1xuICAgICAgfVxuXG4gICAgICAuYm90dG9tIHVsIGxpIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAuY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgLy8gQGluY2x1ZGUgcGFkKDE1cHggMzVweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgICAuY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgLy8gQGluY2x1ZGUgcGFkKDE1cHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50LXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBAaW5jbHVkZSBwYWQoMjVweCAwIDIwcHgpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG4gICAgYm94LXNoYWRvdzogMCAwIDYwcHggMCByZ2JhKDIzNCwgMjMzLCAyMzYsIDAuNDApO1xuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIHBhZCgwKTtcbiAgICAgIEBpbmNsdWRlIG1hcmdpbigwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMTNweCAyMHB4KTtcbiAgICB9XG4gIH1cblxuICAubW9iaWxlLW1lbnUge1xuXG4gICAgLnRvcCB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIH1cblxuICAgIC5tZW51LXRvZ2dsZSB7XG4gICAgICAvLyBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAvLyBAaW5jbHVkZSBzaXplKDIxcHggMTJweCk7XG4gICAgICAvLyBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAwIG51bGwgbnVsbCk7XG4gICAgICAvLyBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA0NDRtcyBlYXNlLW91dCk7XG5cbiAgICAgIC8vIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIC8vICAgdG9wOiByZW0oMjQpO1xuICAgICAgLy8gICByaWdodDogcmVtKDI0KTtcbiAgICAgIC8vIH1cblxuICAgICAgZGl2IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4oNnB4IDApO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUgMS41cHgpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA0NDRtcyBlYXNlLW91dCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcblxuICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSAxLjVweCk7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA0NDRtcyBlYXNlLW91dCk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC02cHggbnVsbCBudWxsIDApO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAtNnB4IDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICAuYXNpZGUge1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCAtNTAwcHggbnVsbCBudWxsKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDQ0NG1zIGVhc2Utb3V0KTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMjYycHggMTAwJSk7XG4gICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuNTApO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDM1cHg7XG4gICAgfVxuXG4gICAgLm1lbnUtc2VhcmNoIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSBhdXRvKTtcbiAgICAgIEBpbmNsdWRlIHBhZCgxMnB4IDIwcHggOXB4IDQwcHgpO1xuICAgICAgYmFja2dyb3VuZDogJGdyYXlfZ3JheWlzaF9ibHVlO1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAyLjhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIEBpbmNsdWRlIHBhZCg4cHggNnB4KTtcbiAgICAgICAgY29sb3I6ICRjb2xvcl9faW5wdXQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIHBsYWNlaG9sZGVyIHtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxNXB4KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9zZWFyY2guc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tbWVudSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzBweCA4cHggMjkuNXB4IDM0cHgpO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDYuNXB4O1xuXG4gICAgICBsaTpub3QoLmV4dHJhKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICBAaW5jbHVkZSBwYWQoMnB4IDAgMXB4IDExcHgpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHQ7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgycHggMTAwJSk7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24ob3BhY2l0eSAzMzNtcyBlYXNlLW91dCk7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMy41KTtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5hY3RpdmUtdHJhaWwge1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5leHRyYS1tZW51IHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAyLjhweDtcbiAgICAgIHBhZGRpbmc6IDEzLjVweCA4cHggMTMuNXB4IDM0cHg7XG5cbiAgICAgICYuaGF2ZS1zdWItbWVudSB7XG5cbiAgICAgICAgLmV4dHJhLW1lbnUtdGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc3ViLW1lbnUtYXJyb3cuc3ZnJykgbm8tcmVwZWF0IHJpZ2h0IDZweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDYuNXB4IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpob3Zlcjpub3QoLnN1Yi1tZW51KSB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgfVxuXG4gICAgICAmLmUtbG9naW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9wcm9maWxlLnN2ZycpIG5vLXJlcGVhdCAzNHB4IDE3cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTFweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmLmUtbGFuZyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL2xhbmd1YWdlLnN2ZycpIG5vLXJlcGVhdCAzNHB4IDE3cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmLmUtYWNjZXNzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvYWNjZXNzaWJpbGl0eS5zdmcnKSBuby1yZXBlYXQgMzRweCAxN3B4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCBhdXRvO1xuXG4gICAgICAgIC5zdWItbWVudSB7XG5cbiAgICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAjZGVmYXVsdCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgI2JpZ2dlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaGF2ZS1zdWItbWVudSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIC5zdWItbWVudSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYudG9nZ2xlZCB7XG5cbiAgICAgIC5tZW51LXRvZ2dsZSB7XG4gICAgICAgIHJpZ2h0OiAyNjBweDtcblxuICAgICAgICBkaXYge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHJvdGF0ZSg0NWRlZykgdHJhbnNsYXRlWCg0cHgpIHRyYW5zbGF0ZVkoNHB4KSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0ocm90YXRlKC00NWRlZykgdHJhbnNsYXRlWCg0cHgpIHRyYW5zbGF0ZVkoLTVweCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAubG9nbyB7XG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAtNTAwcHg7XG4gICAgICAgIC8vIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIC5hc2lkZSB7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5kZXNrdG9wLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIGhlYWRlci1jb250YWluZXIoKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRvcCB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDQwNnB4O1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5leHRyYSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMzFweDtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDFweCAwIDAgMThweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDExM21zIGxpbmVhcik7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDExM21zIGxpbmVhcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLnByb2ZpbGUge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3Byb2ZpbGUuc3ZnJykgbm8tcmVwZWF0IGxlZnQgM3B4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byA2OCU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmxhbmd1YWdlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9sYW5ndWFnZS5zdmcnKSBuby1yZXBlYXQgbGVmdCAzcHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDY4JTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc2VhcmNoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9zZWFyY2guc3ZnJykgbm8tcmVwZWF0IGxlZnQgM3B4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byA2OCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5wcm9maWxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3Byb2ZpbGUtYWN0aXZlLnN2ZycpIG5vLXJlcGVhdCBsZWZ0IDNweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0byA2OCU7XG5cbiAgICAgICAgICAgIC5zdWItbWVudSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5sYW5ndWFnZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9sYW5ndWFnZS1hY3RpdmUuc3ZnJykgbm8tcmVwZWF0IGxlZnQgM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBhdXRvIDY4JTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE1O1xuXG4gICAgICAgICAgICAuc3ViLW1lbnUge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuc2VhcmNoIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3NlYXJjaC1hY3RpdmUtMi5wbmcnKSBuby1yZXBlYXQgbGVmdCAzcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gNjglO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc3ViLW1lbnUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIG1pbi13aWR0aDogMTE4cHg7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAzNXB4IG51bGwgbnVsbCAwKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcbiAgICAgICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgcGFkZGluZzogMXB4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2xhbmctYXJyb3cuc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHggYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDIwcHggMTNweCk7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0xMi41cHggMCBudWxsIDApO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkKDlweCAwKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmN1cnJlbnQtbGFuZyB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYm90dG9tIHtcblxuICAgICAgdWwge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGhlaWdodDogcmVtKDQ1KTtcbiAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSAycHgpO1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxOHB4O1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJi5hY3RpdmUtdHJhaWwge1xuXG4gICAgICAgICAgICBhOmFmdGVyIHtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIEBpbmNsdWRlIHNpemUoMjBweCAycHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgLTIwcHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTExbXMgbGluZWFyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hY2Nlc3NpYmlsaXR5IHtcbiAgICBoZWlnaHQ6IDMxcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDAgLTMxcHggMCk7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAubG9ja2VkICYge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC8vIC5ub2RlLXR5cGUtaG9tZXBhZ2UgJiB7XG4gICAgLy8gICBib3R0b206IDE4cHg7XG5cbiAgICAvLyAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAvLyAgICAgYm90dG9tOiAtMzFweFxuICAgIC8vICAgfVxuICAgIC8vIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAvL0BpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmNhcnQtdmlzaWJsZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gICAgfVxuXG4gICAgLmFjY2Vzc2liaWxpdHktaW5uZXIge1xuICAgICAgQGluY2x1ZGUgaGVhZGVyLWNvbnRhaW5lcigpO1xuICAgIH1cblxuICAgICYuaGF2ZS1jYXJ0LXF1YW50aXR5IHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoOTk5OXB4IDMxcHgpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgLTUwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44OCk7XG4gICAgICB9XG5cbiAgICAgIC5hY2Nlc3NpYmlsaXR5LW1lbnUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hY2Nlc3NpYmlsaXR5LW1lbnUge1xuICAgICAgei1pbmRleDogMTA7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODgpO1xuICAgICAgQGluY2x1ZGUgcGFkKDNweCAxMnB4KTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBnYXA6IDAgMTBweDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgNXB4IDVweDtcblxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IGVtKDEyKTtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciBhIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX19hY2Nlc3M7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICAgICAgIC8vLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOyAvKiBpT1MgU2FmYXJpICovXG4gICAgICAgIC8vLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gICAgICAgIC8vLWtodG1sLXVzZXItc2VsZWN0OiBub25lOyAvKiBLb25xdWVyb3IgSFRNTCAqL1xuICAgICAgICAvLy1tb3otdXNlci1zZWxlY3Q6IG5vbmU7IC8qIEZpcmVmb3ggKi9cbiAgICAgICAgLy8tbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIEludGVybmV0IEV4cGxvcmVyL0VkZ2UgKi9cbiAgICAgICAgLy91c2VyLXNlbGVjdDogbm9uZTsgLyogTm9uLXByZWZpeGVkIHZlcnNpb24gY3VycmVudGx5IHN1cHBvcnRlZCBieSBDaHJvbWUgYW5kIE9wZXJhICovXG5cbiAgICAgICAgJiNmb250U21hbGwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJiNmb250RGVmYXVsdCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmI2ZvbnRMYXJnZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN1cnJlbnQtYWNjZXNzIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yX19hY2Nlc3M7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy9jYW1wYWlnbi1oZWFkZXJcbi5jYW1wYWlnbi1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBAaW5jbHVkZSBzaXplKDgwdncpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTI1JSkgdHJhbnNsYXRlWSgtMzMlKSk7XG4gIH1cblxuICAuYmFja2dyb3VuZCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICB6LWluZGV4OiAtMjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgLmZsaXBwZWQsXG4gICAgLnVuZmxpcHBlZCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHotaW5kZXg6IC0zO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgIC51bmZsaXBwZWQge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg0MCUgMTAwJSk7XG4gICAgfVxuXG4gICAgLmZsaXBwZWQge1xuICAgICAgbWFyZ2luOiAtNjBweDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZVgoLTEpKTtcbiAgICAgIEBpbmNsdWRlIGZpbHRlcihibHVyKDQycHgpKTtcbiAgICAgIEBpbmNsdWRlIHNpemUoY2FsYyg2MCUgKyAxMjBweCkgY2FsYygxMDAlICsgMTIwcHgpKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAgIC5mbGlwcGVkIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnVuZmxpcHBlZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC53cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBwYWQoMjBweCAwIDE1NHB4KTtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZV9kZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweClcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoNjgwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDIwcHggMjBweCk7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IGVtKDQ5cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA2O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMS40NnB4O1xuICAgIG1hcmdpbjogNzBweCAwIDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIH1cblxuICAuY2F0ZWdvcnkge1xuICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY3O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4zNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIH1cblxuICAubG9nbyB7XG4gICAgQGluY2x1ZGUgc2l6ZSgxNjBweCk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCAwIDU1JSk7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBtYXJnaW46IGF1dG87XG5cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA5NSU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg4NXZ3KTtcbiAgICAgIG1pbi13aWR0aDogODAwcHg7XG4gICAgICBtaW4taGVpZ2h0OiA4MDBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDgzNnB4KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC0zMCUpIHRyYW5zbGF0ZVkoNSUpKTtcbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYnMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IGVtKDI2cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuODdweDtcbiAgICAgIG1hcmdpbjogMTA0cHggMCAxNXB4O1xuICAgIH1cblxuICAgIC5jYXRlZ29yeSB7XG4gICAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICB9XG5cbiAgICAubG9nbyB7XG4gICAgICBAaW5jbHVkZSBzaXplKDkxcHgpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDIwcHggMjBweCBpbmhlcml0IGluaGVyaXQpO1xuXG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy9wYXJ0bmVyLWhlYWRlclxuLy8gLnBhcnRuZXItaGVhZGVyIHtcbi8vICAgcG9zaXRpb246IHJlbGF0aXZlO1xuLy8gICBAaW5jbHVkZSBwYWQoMjBweCAwIDgwcHgpO1xuLy8gICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuLy8gICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4vLyAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4vLyAgIHotaW5kZXg6IDE7XG4vLyAgIG92ZXJmbG93OiBoaWRkZW47XG5cbi8vICAgJjphZnRlciB7XG4vLyAgICAgY29udGVudDogJyc7XG4vLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuLy8gICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4vLyAgICAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDExNiwgNTgsIDAuOTQpO1xuLy8gICAgIHotaW5kZXg6IC0xO1xuLy8gICB9XG5cbi8vICAgJjpiZWZvcmUge1xuLy8gICAgIGNvbnRlbnQ6ICcnO1xuLy8gICAgIEBpbmNsdWRlIHNpemUoNjI0cHgpO1xuLy8gICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgbnVsbCBudWxsKTtcbi8vICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTdweCk7XG4vLyAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuLy8gICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDE1JSkgdHJhbnNsYXRlWSgtNSUpKTtcbi8vICAgfVxuXG4vLyAgIC53cmFwcGVyIHtcbi8vICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcblxuLy8gICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZV9kZXNrdG9wKSB7XG4vLyAgICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpXG4vLyAgICAgfVxuXG4vLyAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbi8vICAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweClcbi8vICAgICB9XG5cbi8vICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4vLyAgICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoNjgwcHgpXG4vLyAgICAgfVxuXG4vLyAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuLy8gICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuLy8gICAgIH1cbi8vICAgfVxuXG4vLyAgIC5jb250ZW50IHtcbi8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNyk7XG4vLyAgICAgbWFyZ2luLXRvcDogODVweDtcbi8vICAgICBjb2xvcjogJHdoaXRlO1xuLy8gICB9XG5cbi8vICAgaDEge1xuLy8gICAgIGZvbnQtc2l6ZTogZW0oNDkpO1xuLy8gICAgIGxldHRlci1zcGFjaW5nOiAtMS40NnB4O1xuLy8gICAgIGxpbmUtaGVpZ2h0OiAxLjA2O1xuLy8gICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4vLyAgIH1cblxuLy8gICBwIHtcbi8vICAgICBmb250LXNpemU6IGVtKDE1KTtcbi8vICAgICBsaW5lLWhlaWdodDogMS42O1xuLy8gICAgIGNvbG9yOiAkd2hpdGU7XG4vLyAgIH1cblxuLy8gICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4vLyAgICAgQGluY2x1ZGUgcGFkKDIwcHggMjBweCAyNXB4KTtcblxuLy8gICAgICY6YmVmb3JlIHtcbi8vICAgICAgIGNvbnRlbnQ6ICcnO1xuLy8gICAgICAgQGluY2x1ZGUgc2l6ZSgxNjJweCk7XG4vLyAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgzMCUpIHRyYW5zbGF0ZVkoNTAlKSk7XG4vLyAgICAgfVxuXG4vLyAgICAgLmNvbnRlbnQge1xuLy8gICAgICAgbWFyZ2luLXRvcDogMTBweDtcbi8vICAgICAgIHdpZHRoOiAxMDAlO1xuLy8gICAgIH1cblxuLy8gICAgIGgxIHtcbi8vICAgICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xuLy8gICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjhweDtcbi8vICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuLy8gICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuLy8gICAgIH1cblxuLy8gICAgIHAge1xuLy8gICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4vLyAgICAgICBmb250LXdlaWdodDogNTAwO1xuLy8gICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbi8vICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4yOHB4O1xuLy8gICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbi8vICAgICAgIG1heC13aWR0aDogMjg1cHg7XG4vLyAgICAgfVxuLy8gICB9XG4vLyB9XG5cbi8vaG9tZXBhZ2UtaGVhZGVyXG4uaG9tZXBhZ2UtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA4OXB4O1xuXG4gICYuYW5pbWF0aW9uIHtcblxuICAgIC5sZWZ0IHtcblxuICAgICAgLmhlYWRpbmcsXG4gICAgICAuc3ViLWhlYWRpbmcge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0IHtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSg1NSkpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDUwKSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5idG4tYXJyb3cge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcblxuICAgICAgLmFycm93IHtcbiAgICAgICAgYW5pbWF0aW9uLW5hbWU6IGhlYWRlci1hcnJvdy1hbmltYXRpb247XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gICAgICAgIGFuaW1hdGlvbi1kZWxheTogMS41cztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICAgIH1cblxuICAgICAgLmJhY2tncm91bmQge1xuICAgICAgICBhbmltYXRpb24tbmFtZTogaGVhZGVyLWFycm93LWJnLWFuaW1hdGlvbjtcbiAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAycztcbiAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjVzO1xuICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5iZy13cmFwcGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuXG4gICAgLmJhY2tncm91bmQge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgIGZpbHRlcjogYmx1cig2cHgpO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAud3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBwYWQoMTQ2cHggMCAxMDFweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDEwNHB4IDAgODBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDY5cHggMCA5MnB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMTUlIDAgMCk7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMjAwcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweClcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoNjgwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuICAgIH1cbiAgfVxuXG4gIC5sZWZ0IHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNyk7XG4gICAgcGFkZGluZy10b3A6IDE4cHg7XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IGVtKDYyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjA4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xLjY2cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDE1JSkpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgNTU1bXMgZWFzZS1vdXQgMTExbXMpO1xuICAgIH1cblxuICAgIC5zdWItaGVhZGluZyB7XG4gICAgICBmb250LXNpemU6IGVtKDIyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM2O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjIzcHg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgxNSUpKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDU1NW1zIGVhc2Utb3V0IDU1NW1zKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuXG4gICAgICAuaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oNTUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAuc3ViLWhlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IGVtKDIwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuXG4gICAgICAuaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oNDcpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xOTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xLjI2cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgICB9XG5cbiAgICAgIC5zdWItaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTcpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NztcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjE4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcuNSk7XG5cbiAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSg0NSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA2O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTEuMjFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICAgIH1cblxuICAgICAgLnN1Yi1oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMTdweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMjBweCAxNSU7XG5cbiAgICAgIC5oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgyOSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjAzO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuOTdweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgIH1cblxuICAgICAgLnN1Yi1oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucmlnaHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBzaGlmdCgyKTtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYzKTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMjBweCk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAtNDUlIDAgbnVsbCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA2NjZtcyBlYXNlLW91dCA3Nzdtcyk7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgIHJpZ2h0OiAtNTUlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNDE0cHgpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMikpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgaW5oZXJpdCAwIC00MTRweCAyNTBweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMjAlKSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA1NTVtcyBlYXNlLW91dCAxMjIxbXMpXG4gICAgfVxuXG4gICAgLm5hdi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMi44cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHNoaWZ0KDEpO1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuXG4gICAgICAubmF2LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBzaGlmdCgwLjUpO1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuXG4gICAgICAubmF2LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIEBpbmNsdWRlIHBhZCgxM3B4IDIwcHggOHB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcblxuICAgICAgLm5hdi10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1uYXYge1xuXG4gICAgLmhlYWRlci1jdXJyZW50LW9wdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM1cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgLTEwcHggMCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTRweCAycHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cblxuICAgIC5uYXYtaXRlbSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA5cHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMnB4IDEwMCUpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNyk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjIzO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDdweDtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBmb250LXNpemU6IGVtKDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40N3B4O1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblxuICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjFweDtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzE7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ3cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgICAgLm5hdi1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjZweDtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yOTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgICB9XG5cbiAgICAgIC5uYXYtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICB0b3A6IDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzLFxuICAgICAgICBoNCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM1cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmJ0bi1tb3JlLFxuICAgICAgLmhlYWRlci1jdXJyZW50LW9wdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYnRuLWFycm93IHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBAaW5jbHVkZSBzaXplKDUxLjdweCk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgMCAtMjUuODVweCAwKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSg0MCUpKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCA0NDRtcyBlYXNlLW91dCAxLjVzKTtcblxuICAgIC5hcnJvdyB7XG4gICAgICBAaW5jbHVkZSBzaXplKDQ3cHgpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvYXJyb3ctaGVhZGVyLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMThweCBhdXRvO1xuICAgICAgYm9yZGVyLXJhZGl1czogNDdweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZCB7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwcHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjUyLCAxMDQsIDQ1LCAwLjUpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgNTAlKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg1MHB4KTtcbiAgICAgIGJvdHRvbTogLTcwcHg7XG5cbiAgICAgIC5hcnJvdyB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMzlweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDM5cHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuYmFja2dyb3VuZCB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoOHB4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgaGVhZGVyLWFycm93LWFuaW1hdGlvbiB7XG5cbiAgICA1MCUsXG4gICAgMTAwJSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4xNSkpO1xuICAgIH1cbiAgfVxuXG4gIEBrZXlmcmFtZXMgaGVhZGVyLWFycm93LWJnLWFuaW1hdGlvbiB7XG5cbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgNTAlIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMTApKTtcbiAgICB9XG4gIH1cbn1cblxuLy9mb2N1cy1hcmVhLWhlYWRlclxuLmZvY3VzLWFyZWEtaGVhZGVyIHtcbiAgbWluLWhlaWdodDogNDAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgcGFkKDEycHggMCA0MXB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcblxuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIHNpemUoMTE3NnB4KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDc1JSBudWxsIG51bGwgLTE3NXB4KTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNzUlKSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg5MDBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg4NTBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg2NTBweCk7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgICByaWdodDogMjAlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIH1cbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHNpemUoODVweCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDExNiwgNTgsIDAuNyk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgLTQyLjVweCA3Ny41cHggbnVsbCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDM3cHgpO1xuICAgICAgYm90dG9tOiBpbmhlcml0O1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogLTE4LjVweDtcbiAgICB9XG4gIH1cblxuICAuYmFja2dyb3VuZCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICB6LWluZGV4OiAtMjtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIH1cblxuICAgIC5mbGlwcGVkLFxuICAgIC51bmZsaXBwZWQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIHotaW5kZXg6IC0zO1xuICAgIH1cblxuICAgIC51bmZsaXBwZWQge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg1MCUgMTAwJSk7XG4gICAgfVxuXG4gICAgLmZsaXBwZWQge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgtMSkpO1xuICAgICAgQGluY2x1ZGUgZmlsdGVyKGJsdXIoMTFweCkpO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1hcmdpbjogLTEycHg7XG4gICAgICBAaW5jbHVkZSBzaXplKGNhbGMoNTAlICsgMjRweCkgY2FsYygxMDAlICsgMjRweCkpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgLmZsaXBwZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAudW5mbGlwcGVkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoODAwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDY4MHB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICAvL0BpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgMjBweCAyMHB4KTtcbiAgICB9XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcpO1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcuNSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuICAgIH1cbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IGVtKDQ5KTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMS40NnB4O1xuICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgbWF4LXdpZHRoOiA1MDBweDtcbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQxcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDI7XG4gICAgbWF4LXdpZHRoOiAzOTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIG1pbi1oZWlnaHQ6IDMwMHB4O1xuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiBlbSgzNSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIEBpbmNsdWRlIHBhZCgyMHB4KTtcbiAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuXG4gICAgLmJ0bi1iYWNrIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIC8vQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDMwcHggbnVsbCBudWxsIDIwcHgpO1xuICAgIH1cblxuICAgIC5icmVhZGNydW1icyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IDcwJTtcbiAgICAgIG1pbi13aWR0aDogMTg1cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiBlbSgyNCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC44cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vL2Fib3V0LXVzLWhlYWRlclxuLmFib3V0LXVzLWhlYWRlciB7XG4gIG1pbi1oZWlnaHQ6IDUyMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHBhZCgyMzNweCAwIDApO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIHotaW5kZXg6IDE7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIC53cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvaGVhZGVyLW92ZXJsYXkuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciB0b3A7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2hlYWRlci1vdmVybGF5LXRhYmxldC5wbmcnKSBuby1yZXBlYXQgY2VudGVyIHRvcDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDE1JSk7XG4gICAgICBAaW5jbHVkZSBzaXplKDUwcHgpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTEsIDExOCwgNjMsIDAuODkpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMzIuNXB4KTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHBhZCg4NXB4IDAgNDBweCk7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDkyLjVweCAwIDQwcHgpO1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDgwMHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoOTBweCAwIDU0cHgpO1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDY4MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoNjUuNXB4IDIwcHggMzhweCk7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogZW0oNDcpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTEuOTZweDtcbiAgICBtYXJnaW46IDA7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBAaW5jbHVkZSBzaGlmdCgxKTtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNyk7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gIH1cblxuICAuaGVhZGVyLW5hdiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXNpemU6IGVtKDE1KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDYuNSU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDlweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDNweCBudWxsIG51bGwgMCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMnB4IDE0cHgpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcbiAgICBtaW4taGVpZ2h0OiA0NDBweDtcblxuICAgIC5oZWFkZXItbmF2IGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogNCU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oNDIpO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgfVxuXG4gICAgLmhlYWRlci1uYXYge1xuICAgICAgbWFyZ2luLXRvcDogNDFweDtcblxuICAgICAgbGkge1xuICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgbWluLWhlaWdodDogaW5oZXJpdDtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMzUpO1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQuNSk7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICAgIEBpbmNsdWRlIHNoaWZ0KDAuNSlcbiAgICB9XG5cbiAgICAuaGVhZGVyLW5hdiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBwYWRkaW5nOiAxMTNweCAwIDA7XG5cbiAgICBoMSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiBlbSgyOSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4yOHB4O1xuICAgIH1cbiAgfVxufVxuXG4vL2V2ZW50LWhlYWRlclxuLmV2ZW50LWhlYWRlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICB6LWluZGV4OiAxO1xuXG4gICYubm8tc2xpZGVyIHtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDIzMywgMjM2LCAwLjU4KTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgQGluY2x1ZGUgc2l6ZSg4MHZ3KTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgMCBudWxsIG51bGwpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNDAlKSk7XG4gICAgfVxuXG4gICAgLmNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiAxMDBweCAwO1xuICAgIH1cblxuICAgIC5jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBpbmhlcml0KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAgIC5jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDIzMywgMjM2LCAwLjkpO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoODAwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDY4MHB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgMCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg1KTtcblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSg1Nik7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMS45NnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQxcHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgc2hpZnQoMik7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDUpO1xuICAgIGZsb2F0OiByaWdodDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICB9XG5cbiAgICAuc2xpY2stbGlzdCxcbiAgICAuc2xpY2stdHJhY2sge1xuICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmhlYWRlci1zbGljayB7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgIH1cblxuICAgIC5pdGVtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuXG4gICAgICAmLmltYWdlLW9ubHkge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMzBweCk7XG4gICAgICB9XG5cbiAgICAgICYuaW1hZ2Utd2l0aC1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDcwcHggMzBweCk7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDExNiwgNTgsIDAuOSk7XG4gICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmRldGFpbCB7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSAwIG51bGwgMCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIH1cblxuICAgICAgLmRhdGUge1xuICAgICAgICBmb250LXNpemU6IGVtKDIwKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ3cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgICAgfVxuXG4gICAgICAuY2F0ZWdvcnkge1xuICAgICAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICB9XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuN3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTg7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpY2stc2xpZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuc2xpY2stbGlzdCB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgIH1cblxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgIGJvdHRvbTogMTlweDtcblxuICAgICAgbGkge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDYuMjVweCk7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgwKTtcbiAgICAgICAgbWFyZ2luOiAwIDlweCAwIDA7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDYuMjVweCk7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSB7XG5cbiAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1hcnJvdyB7XG4gICAgICBAaW5jbHVkZSBzaXplKDMwcHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICAmLnNsaWNrLW5leHQge1xuICAgICAgICByaWdodDogLTE1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL3NsaWRlLWFycm93LW5leHQtMi5wbmcnKSBuby1yZXBlYXQgY2VudGVyICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3LjdweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmLnNsaWNrLXByZXYge1xuICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvc2xpZGUtYXJyb3ctcHJldi0yLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgJHdoaXRlO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDcuN3B4IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1uYXYge1xuICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgIC5uYXYtaXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDVweCBudWxsIG51bGwgMCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMnB4IDE0cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgIH1cblxuICAgIC5zbGlkZXIge1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMSk7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNSk7XG4gICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgIC5pdGVtIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5oZWFkZXItbmF2IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSg0MCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1uYXYge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSBwYWQoMTM5cHggMjBweCAyNXB4KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBpbmhlcml0KTtcblxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgyNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuODdweDtcbiAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjI4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIG1heC13aWR0aDogODUlO1xuICAgICAgICBtaW4td2lkdGg6IDMyMHB4O1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDE4MHZ3KTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDIyJSBudWxsIG51bGwgNzUlKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTc1JSkgdHJhbnNsYXRlWSgwKSk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2xpZGVyIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBAaW5jbHVkZSBwYWQoOC41cHggMCAxNy41cHgpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA3NSU7XG4gICAgICB9XG5cbiAgICAgIC5pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjkpKTtcblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pbWFnZS1vbmx5LFxuICAgICAgICAmLmltYWdlLXdpdGgtY29udGVudCB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkKDIwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zbGljay1jdXJyZW50IHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNsaWNrLWFycm93IHtcblxuICAgICAgICAmLnNsaWNrLW5leHQge1xuICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zbGljay1wcmV2IHtcbiAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vZXZlbnQtc2luZ2xlLWhlYWRlclxuLmV2ZW50LXNpbmdsZS1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICBAaW5jbHVkZSBwYWQoMTA2cHggMCAxMTlweCk7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIEBpbmNsdWRlIHNpemUoMzg0cHgpO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjQyLCAxMTYsIDU4LCAwLjUpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA4OCUgMjAlIG51bGwgbnVsbCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICByaWdodDogMTMlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1iYWNrIHtcbiAgICBjb2xvcjogJGNvbG9yX19tYWluO1xuICB9XG5cbiAgLmNpcmNsZSB7XG4gICAgei1pbmRleDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgQGluY2x1ZGUgc2l6ZSg4MHZ3KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgMCBudWxsIG51bGwpO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTQwJSkpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMjAwcHgpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAyMCUgbnVsbCBudWxsIDQwJSk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgwJSkgdHJhbnNsYXRlWCgtNTAlKSk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgzMHB4KTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDExNiwgNTgsIDAuNjUpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNXB4IDM2JSBudWxsIG51bGwpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweClcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDgwMHB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig2ODBweClcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgLmJhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgei1pbmRleDogLTI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC5mbGlwcGVkLFxuICAgIC51bmZsaXBwZWQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnVuZmxpcHBlZCB7XG4gICAgICBAaW5jbHVkZSBzaXplKDUwJSAxMDAlKTtcbiAgICB9XG5cbiAgICAuZmxpcHBlZCB7XG4gICAgICBtYXJnaW46IC02MHB4O1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlWCgtMSkpO1xuICAgICAgQGluY2x1ZGUgZmlsdGVyKGJsdXIoNDJweCkpO1xuICAgICAgQGluY2x1ZGUgc2l6ZShjYWxjKDUwJSArIDEyMHB4KSBjYWxjKDEwMCUgKyAxMjBweCkpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgLmZsaXBwZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAudW5mbGlwcGVkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNiBvZiAxMik7XG5cbiAgICAuZGF0ZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICRncmF5X2Rhcms7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM5O1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSg0OSk7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjA2O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xLjQ5cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMzhweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgIH1cblxuICAgIC5zcG9uc29ycy10aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6ICRzcGFjZWQtbGV0dGVycztcbiAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cblxuICAgIC5zcG9uc29ycy1sb2dvcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNTVweDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxNTBweDtcbiAgICAgIH1cblxuICAgICAgJi50d28tbGluZXMge1xuXG4gICAgICAgIC5zcG9uc29ycy1sb2dvIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zcG9uc29ycy1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cblxuICAgIC5zcG9uc29yLWxvZ28tdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAkc3BhY2VkLWxldHRlcnM7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4IG9mIDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgzNik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgzMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIC5kYXRlIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogN3B4O1xuICAgICAgfVxuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGVtKDI2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC44N3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDM1MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBwYWQoMTQ1cHggMjBweCAzMHB4KTtcblxuICAgIC5idG4tYmFjayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbi8vbmV3cy1zaW5nbGUtaGVhZGVyXG4ubmV3cy1zaW5nbGUtaGVhZGVyIHtcbiAgQGluY2x1ZGUgcGFkKDE1cHggMCA3MHB4KTtcbiAgbWluLWhlaWdodDogNDAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICBAaW5jbHVkZSBwYWQoMzBweCAyNXB4KTtcblxuICAgIC5idG4tYmFjayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZV9kZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweClcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoNjgwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNiBvZiAxMik7XG5cbiAgICAuZGF0ZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICRncmF5X2Rhcms7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS42NztcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDM1KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMS4yM3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDE1MHB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDFweDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNSk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAxMDBweDtcblxuICAgICAgLmRhdGUge1xuICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjMxcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB9XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMjIpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjg3cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuY2lyY2xlLW92ZXJsYXkge1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoODB2dyk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCBudWxsKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTQwJSkpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgzODRweCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMTE2LCA1OCwgMC42NSk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgODUlIDIyJSBudWxsIG51bGwpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDE4MHZ3KTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDIwJSAtMTUlIG51bGwgbnVsbCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApIHRyYW5zbGF0ZVgoMCkpO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZCB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgIHotaW5kZXg6IC0yO1xuXG4gICAgICAuZmxpcHBlZCxcbiAgICAgIC51bmZsaXBwZWQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgei1pbmRleDogLTM7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgLnVuZmxpcHBlZCB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNTAlIDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAuZmxpcHBlZCB7XG4gICAgICAgIG1hcmdpbjogLTYwcHg7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZVgoLTEpKTtcbiAgICAgICAgQGluY2x1ZGUgZmlsdGVyKGJsdXIoNDJweCkpO1xuICAgICAgICBAaW5jbHVkZSBzaXplKGNhbGMoNTAlICsgMTIwcHgpIGNhbGMoMTAwJSArIDEyMHB4KSk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgICAuZmxpcHBlZCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51bmZsaXBwZWQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5uby1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiAkYmx1ZV9saWdodF9ncmF5aXNoXzI7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgQGluY2x1ZGUgc2l6ZSg3NzBweCk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwgMTE2LCA1OCwgMC4xMyk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAtMjAwcHggLTUzNXB4IG51bGwpO1xuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNDY4cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzYpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTQzMnB4IG51bGwgbnVsbCAzMyUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbWFnZSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBoZWlnaHQ6IDIyOHB4O1xuICAgICAgd2lkdGg6IDQwMHB4O1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICAgICAgLy9AaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gICAgICAvL3dpZHRoOiA0MCU7XG4gICAgICAvL0BpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA2NXB4IDAgbnVsbCBudWxsKTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG5cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgaGVpZ2h0OiAzMDBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDc1JTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSAwIG51bGwgMCk7XG4gICAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMzYwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIGluaGVyaXQgLTE2OHB4IC02NXB4KTtcbiAgICAgIH1cblxuICAgICAgLndyYXBwZXI6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgzMDVweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjUyLCAxMDQsIDQ1LCAwLjA4KTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0yNDBweCAtNjBweCBudWxsIG51bGwpO1xuICAgICAgfVxuXG4gICAgICAuaW1hZ2Uge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDIwcHggYXV0byAyMXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBpbmhlcml0KTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIGluaGVyaXQpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDAlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vL25ldHdvcmstYXBwbGljYXRpb24taGVhZGVyXG4ubmV0d29yay1hcHBsaWNhdGlvbi1oZWFkZXIge1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBwYWQoMjFweCAwIDgwcHgpO1xuXG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB6LWluZGV4OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBzaXplKDgwdncpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCBudWxsKTtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC00NSUpKTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHNpemUoMzE4cHgpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjUyLCAxMDQsIDQ1LCAwLjQpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDI1JSAtMjE1cHggbnVsbCk7XG4gIH1cblxuICAuYmFja2dyb3VuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgb3BhY2l0eTogMC45NDtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIC5pbWFnZSB7XG4gICAgICBtYXJnaW46IC02cHg7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIEBpbmNsdWRlIGZpbHRlcihibHVyKDVweCkpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgICAgQGluY2x1ZGUgc2l6ZShjYWxjKDEwMCUgKyAxMnB4KSk7XG4gICAgfVxuICB9XG5cbiAgLndyYXBwZXIge1xuICAgIHotaW5kZXg6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcblxuICAgIC50ZXh0LXdyYXAge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgOSk7XG5cbiAgICAgIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSg0OSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMS43MXB4O1xuICAgICAgICBtYXJnaW46IDAgMCAxNHB4O1xuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ28td3JhcCB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDEwcHggbnVsbCBudWxsKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTYwcHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSAwIG51bGwgMCk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYShtaW4td2lkdGg6IDEyOTBweCkge1xuICAgICAgICByaWdodDogLTUwcHg7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgbWluLWhlaWdodDogMjgwcHg7XG5cbiAgICAuYnRuLWJhY2sge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMjBweDtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgfVxuXG4gICAgLndyYXBwZXIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuXG4gICAgICAudGV4dC13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEwKTtcblxuICAgICAgICBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMzQpO1xuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgICAgLmxvZ28td3JhcCB7XG4gICAgICAgIHdpZHRoOiA5MHB4O1xuICAgICAgICBoZWlnaHQ6IDkwcHg7XG4gICAgICAgIHRvcDogMjclO1xuICAgICAgICByaWdodDogLTIyJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBoZWlnaHQ6IDE1MHZ3O1xuICAgICAgd2lkdGg6IDE1MHZ3O1xuICAgICAgcmlnaHQ6IC0yMDBweDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAtNDUlO1xuICAgIH1cbiAgfVxuXG59XG5cbi8vbmV0d29yay1kZXRhaWxzLWhlYWRlclxuLm5ldHdvcmstZGV0YWlscy1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICBAaW5jbHVkZSBwYWQoMTE5cHggMCAxMjNweCk7XG5cbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBzaXplKDU5NXB4KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1MiwgMTA0LCA0NSwgMC40KTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAxNCUgLTQ1MHB4IG51bGwpO1xuICB9XG5cbiAgJjphZnRlciB7XG4gICAgQGluY2x1ZGUgc2l6ZSg4MHZ3KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSAwIG51bGwgbnVsbCk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNDAlKSk7XG4gIH1cblxuICAud3JhcHBlciB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoODAwcHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDY4MHB4KVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbiAgICB9XG4gIH1cblxuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxMnB4IG51bGwgbnVsbCAwKTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHNwYW4sXG4gICAgYSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIH1cbiAgfVxuXG4gIC5iYWNrZ3JvdW5kIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAtMjtcbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDggb2YgMTIpO1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDQ5KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMDY7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTEuNDlweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICBtYXgtd2lkdGg6IDYyMHB4O1xuICAgIH1cblxuICAgIC5zdWItdGl0bGUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM4cHg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIG1heC13aWR0aDogNDcwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGVtKDM1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1pbi13aWR0aDogMTk1cHg7XG4gICAgICBwYWRkaW5nOiAzNXB4IDAgMzFweDtcblxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgyNCk7XG4gICAgICB9XG5cbiAgICAgIC5zdWItdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDQwMHB4KTtcbiAgICAgIGJvdHRvbTogLTMwMHB4O1xuICAgICAgcmlnaHQ6IDEwJTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgQGluY2x1ZGUgcGFkKDIwcHgpO1xuICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDIzNXB4KTtcbiAgICAgIGJvdHRvbTogLTE1MHB4O1xuICAgICAgcmlnaHQ6IC02MHB4O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg2NTBweCk7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgICByaWdodDogMjAlO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgIH1cbiAgfVxufVxuXG4vL21vYmlsZS1oZWFkZXItbmF2XG4ubW9iaWxlLWhlYWRlci1uYXYge1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1MSwgMjQ5LCAyNDgsIDAuOTYpO1xuICBAaW5jbHVkZSBwYWQoOHB4IDAgNnB4KTtcbiAgei1pbmRleDogMTA7XG5cbiAgLmhlYWRlci1jdXJyZW50LW9wdGlvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgLThweCAwKTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTRweCAycHgpO1xuICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICB9XG4gIH1cblxuICB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMTVweCAwIDVweDtcblxuICAgIGxpIHtcbiAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmJ0bi1tb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgQGluY2x1ZGUgcGFkKDhweCAyMHB4IDZweCk7XG4gIH1cbn1cblxuLy9kZXNrdG9wLWZpeGVkLW5hdlxuLmRlc2t0b3AtZml4ZWQtbmF2IHtcbiAgei1pbmRleDogLTE7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMzVweDtcbiAgcGFkZGluZzogNXB4IDAgMDtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTEsIDI0OSwgMjQ4LCAwLjk3KTtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIC01MHB4IG51bGwgbnVsbCAwKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgNjY2bXMgZWFzZS1vdXQpO1xuXG4gICYudHJpZ2dlciB7XG4gICAgei1pbmRleDogNTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAubmF2LWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDczcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgMCAtMzBweCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDE1cHggMnB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAxMTNtcyBsaW5lYXIpO1xuICAgIH1cblxuICAgICY6aG92ZXIsXG4gICAgJi5hY3RpdmUge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYSB7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTEzbXMgbGluZWFyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuI2NvbnRlbnQtaGVhZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xufVxuXG4jY29udGVudC1hcmVhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xufVxuXG4uYnJlYWRjcnVtYi13cmFwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgdG9wOiAyMHB4O1xufVxuXG5cbi5icmVhZGNydW1iIHtcbiAgei1pbmRleDogMTtcbiAgLy9tYXJnaW4tYm90dG9tOiAyNXB4O1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMTAwcHg7XG5cbiAgYSxcbiAgc3BhbiB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gIH1cblxuICBhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIG1hcmdpbjogMCA0cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY2FydC12aXNpYmxlIHtcbiAgLmJyZWFkY3J1bWIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi8vY2FydC1xdWFudGl0eVxuLmNhcnQtcXVhbnRpdHkge1xuICBoZWlnaHQ6IDMxcHg7XG4gIGZsb2F0OiBsZWZ0O1xuXG4gIGEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgfVxufVxuXG4jZWRpdC1zYXZlLXNlbGVjdGVkLWN1cnJlbmN5IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmJsb2NrLWNvbW1lcmNlLW11bHRpY3VycmVuY3kge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS44O1xuXG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICB0b3A6IC0xcHg7XG4gIH1cblxuICAjY29tbWVyY2UtbXVsdGljdXJyZW5jeS1zZWxlY3Rvci1mb3JtIHtcbiAgICAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbn1cblxuLmNhcnQtcXVhbnRpdHktaW5uZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICB9XG59XG5cbi5oZWFkZXIge1xuXG4gICYtZmxhZyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBAaW5jbHVkZSBwYWQoNXB4IDAgNHB4KTtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gICYtdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIEBpbmNsdWRlIHBhZCgxNHB4IDQwcHggMTRweCk7XG5cbiAgICAubG9nZ2VkLWluICYge1xuICAgICAgQGluY2x1ZGUgcGFkKDQwcHggNDBweCAxNHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDE0cHggMTVweCAxNHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtbG9nbyB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgJi1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogcmVtKDEwKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBnYXA6IHJlbSgyKVxuICAgIH1cblxuICAgIC5jdGEge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBAaW5jbHVkZSBwYWQoM3B4IDhweClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWFjdGlvbiB7XG5cbiAgICAmLWxpc3Qge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBnYXA6IDAgMTZweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgZ2FwOiAwIDVweDtcbiAgICAgIH1cblxuICAgICAgJi1pbm5lciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAtOTdweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHotaW5kZXg6IDExO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGJveC1zaGFkb3c6IDNweCAzcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtaXRlbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIHBhZCg1cHggMCk7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICAuaGVhZGVyLWFjdGlvbi1saXN0LWlubmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAvLyBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAmLWlubmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDEyMXB4O1xuICAgICAgICAgIEBpbmNsdWRlIHBhZCgxMnB4IDE5cHgpO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBzdmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLnRvZ2dsZWQge1xuICAgICAgLmhlYWRlci1tb2JpbGUtbG9nbyB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zbGF0ZTogLTIwcHggMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWxvZ28ge1xuICAgICAgd2lkdGg6IDEwNnB4O1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNsYXRlO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNDQ0bXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXRvZ2dsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBoZWlnaHQ6IDEycHg7XG4gICAgICB3aWR0aDogMjFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2xhdGU6IDAgLTUwJTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDQ0NG1zIGVhc2Utb3V0KTtcblxuICAgICAgJi50b2dnbGVkIHtcbiAgICAgICAgcmlnaHQ6IDI2MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtc2VjdGlvbiB7XG5cbiAgICAmLWFuY2hvciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAvLyAubm9kZS10eXBlLWhvbWVwYWdlICYge1xuICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgLy8gICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAvLyAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIC8vICAgfVxuICAgICAgLy8gfVxuICAgIH1cblxuICAgICYtaW5uZXIge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgcGFkKDExcHggMCAxNHB4KVxuICAgIH1cblxuICAgICYtbGluayB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbWFyZ2luOiAwIDEycHg7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zbGF0ZTogMCAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2xhdGU6IDAgMTBweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogM3B4O1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2xhdGUsIG9wYWNpdHk7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuI2NvbnRlbnQtaGVhZGVyID4gLnRhYnN7XG4gIG1hcmdpbjogNDJweCAwIDA7XG59XG4iLCIuZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICBAaW5jbHVkZSBwYWQoNjBweCAwIDE2cHgpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBwYWQoMzJweCAwIDE2cHgpO1xuICB9XG5cbiAgJi10b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAwIDEzNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDgycHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDQwKTtcbiAgICB9XG5cbiAgICAmLWxlZnQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBnYXA6IDUzcHggMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLW5hdiB7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgPnVsIHtcbiAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgIGNvbHVtbi1nYXA6IDE1NnB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIGNvbHVtbi1nYXA6IDIwcHg7XG4gICAgICB9XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNsYXRlOiAwIDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAzcHg7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2xhdGU6IDAgNXB4O1xuICAgICAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIHRyYW5zbGF0ZTtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbiAgJi1sb2dvIHtcbiAgICB3aWR0aDogMTcwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleC1zaHJpbms6IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICB3aWR0aDogMTM3cHg7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi1ib3R0b20ge1xuXG4gICAgI2Jsb2NrLWJlYW4tc29jaWFsLWxpbmtzLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi11c2VmdWwtbGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDAgMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgJi1sYWJlbCB7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGdhcDogMCAxN3B4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDApO1xuICAgICAgfVxuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDM2KTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuYmxvY2stY29weXJpZ2h0LWJsb2NrIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBwIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICB9XG4gIH1cbn1cblxuLy9tb2JpbGUtb3ZlcmxheVxuLm1vYmlsZS1vdmVybGF5IHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAgbnVsbCBudWxsIDApO1xuICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDcxLCA2OSwgNjksIDAuNyk7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG59IiwiYm9keSB7XG4gIHBhZGRpbmctdG9wOiA2NnB4O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICYudGhpbm5lciB7XG4gICAgcGFkZGluZy10b3A6IDk4cHg7XG4gIH1cblxuICAmLm5vZGUtdHlwZS1ob21lcGFnZSB7XG4gICAgcGFkZGluZy10b3A6IDY2cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuXG4gICAgJi5oYXZlLWNhcnQtcXVhbnRpdHkge1xuICAgICAgcGFkZGluZy10b3A6IDE2MXB4O1xuICAgIH1cblxuICAgICYudGhpbm5lci5oYXZlLWNhcnQtcXVhbnRpdHkge1xuICAgICAgcGFkZGluZy10b3A6IDEyOHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcblxuICAgICYudGhpbm5lciB7XG4gICAgICBwYWRkaW5nLXRvcDogNDRweDtcblxuICAgICAgLm1vYmlsZS1tZW51IC5tZW51LXNlYXJjaCB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCg3cHggMjBweCA0cHggNDBweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuaHRtbCxcbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgI3BhZ2U+I21haW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxufVxuXG4uY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDY4MHB4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4gIH1cbn1cblxuLmhlYWRlci1jb250YWluZXIge1xuICBAaW5jbHVkZSBoZWFkZXItY29udGFpbmVyKCk7XG59XG5cbi5tYWluLWNvbnRhaW5lciB7XG4gIC8vIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2J1YmJsZS5wbmcnKSByZXBlYXQteTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG5cbiAgJi5tYWluLWNvbnRhaW5lci1jb25zdWx0aW5nIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lXG4gIH1cbn1cblxuLm1haW4td3JhcHBlciB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMjMwcHgpO1xuICBAaW5jbHVkZSBwYWQoMTA1cHggMzBweCAxMDBweCk7XG5cbiAgLnBhZ2UtcHJvZmlsZSAmIHtcbiAgICBAaW5jbHVkZSBwYWQoMTA1cHggMTVweCAxMDBweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMCAwIDEwMHB4KTtcbiAgICB9XG4gIH1cblxuICAmLm1haW4td3JhcHBlci1jb25zdWx0aW5nIHtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTIzMHB4KTtcbiAgICBAaW5jbHVkZSBwYWQoNjZweCAxNXB4IDEwMHB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgwKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgIC8vIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgIC8vIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDY4MHB4KTtcbiAgICBAaW5jbHVkZSBwYWQoNDBweCAwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBwYWQoMCk7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuICB9XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICAucm93IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgJG9yYW5nZV9icmlnaHRfMztcblxuICAgICYuZnVsbCB7XG5cbiAgICAgIC5kZXNjLWFyZWEsXG4gICAgICAuY29udGFpbmVyLXdoaXRlLFxuICAgICAgLmNvbnRhaW5lci1kYXJrIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuY29udGFpbmVyLXdoaXRlIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZGVzYy1hcmVhLFxuICAuY29udGFpbmVyLXdoaXRlLFxuICAuY29udGFpbmVyLWRhcmsge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMTgwcHg7XG5cbiAgICAmLmRlc2MtYXJlYSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzBweCA1cHggMjBweCAwKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgfVxuXG4gICAgJi5jb250YWluZXItd2hpdGUge1xuICAgICAgQGluY2x1ZGUgcGFkKDMwcHggNXB4IDIwcHggMjBweCk7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmF5X2Rhcms7XG4gICAgICB3aWR0aDogNDAlO1xuICAgIH1cblxuICAgICYuY29udGFpbmVyLWRhcmsge1xuICAgICAgQGluY2x1ZGUgcGFkKDMwcHggNXB4IDIwcHggMjBweCk7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3JfX21haW47XG4gICAgICB3aWR0aDogNDAlO1xuICAgIH1cbiAgfVxufVxuXG4ub3ZlcmxheSB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwIG51bGwgbnVsbCAwKTtcbiAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgZWFzZS1vdXQpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDcxLCA2OSwgNjksIDAuOSk7XG4gIHotaW5kZXg6IDEwO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgJi5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG4uY3VycmVudC13aWR0aCB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCBudWxsIDAgMCAwKTtcbiAgbWFyZ2luOiBhdXRvO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDI1NSwgMC41KTtcbiAgcGFkZGluZzogMTBweDtcbiAgei1pbmRleDogOTk5OTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDBweDtcbn1cblxuI21hcCB7XG4gIEBpbmNsdWRlIHNpemUoODAwcHggNjAwcHgpO1xufVxuXG4jYXRsd2RnLXRyaWdnZXIge1xuICB6LWluZGV4OiAxMDA7XG59XG5cbi5hcmNoaXZlLXBhZ2UtdHJpZ2dlcixcbi5tYWluLXdpdGgtc2lkZWJhci10cmlnZ2VyIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDAgbnVsbCAwIDApO1xuICBAaW5jbHVkZSBzaXplKDEwMCUgMXB4KTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDEwMDtcbiAgbWFyZ2luOiBhdXRvO1xufVxuXG4uc2lkZWJhciB7XG4gIHRvcDogMTU1cHg7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcblxuICAubWFpbi13cmFwcGVyLWNvbnN1bHRpbmcgJiB7XG4gICAgd2lkdGg6IDI0JTtcbiAgfVxuXG4gICY6bm90KC5ub3Qtc3RpY2t5KSB7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgfVxuXG4gIGxpIHtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gIH1cblxuICAuc2lkZWJhci1yZW1hcmsge1xuICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogNDJweDtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgIGxldHRlci1zcGFjaW5nOiAyLjhweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICB0b3A6IDg1cHg7XG5cbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBtYXgtd2lkdGg6IDE4NXB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5tb2JpbGUtc2lkZWJhciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjUxLCAyNDksIDI0OCwgMC45Nik7XG4gIEBpbmNsdWRlIHBhZCg4cHggMjBweCA2cHgpO1xuICB6LWluZGV4OiAxMDtcblxuICAuaGVhZGVyLWN1cnJlbnQtb3B0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMzVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAtOHB4IDApO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxNHB4IDJweCk7XG4gICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgIH1cbiAgfVxuXG4gIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAxNXB4IDAgNXB4O1xuXG4gICAgbGkge1xuICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICBmb250LXNpemU6IGVtKDEzKTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgLmJ0bi1tb3JlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbn1cblxuLm1haW4td2l0aC1zaWRlYmFyIHtcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDkpO1xuXG4gIC5tYWluLXdyYXBwZXItY29uc3VsdGluZyAmIHtcbiAgICB3aWR0aDogNzAuNSU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHBhZCg0MHB4IDIwcHggNDVweClcbiAgICB9XG4gIH1cblxuICAvLyB0byBmaXggdGhlIG92ZXJsYXBwaW5nIHNpZGViYXIgb24gc29tZSBicm93c2Vyc1xuICBAaW5jbHVkZSBtZWRpYSgkb3Zlcm1vYmlsZSkge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuXG4gICAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuXG4gIC5jYXJkLWhvcml6b250YWwtd3JhcHBlciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaW5jbHVkZSBwYWQoNDBweCAyMHB4IDQ1cHgpO1xuXG4gICAgLnRleHQge1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICB9XG5cbiAgICAucGFyYWdyYXBoIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyN3B4IDAgMThweCk7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYm9yZGVyLWxlZnQge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDNweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtMS41cHg7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG59XG5cbi5zaWRlYmFyLW1lbnUge1xuXG4gIC5tZW51IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAvLyBib3JkZXItbGVmdDogM3B4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuXG4gICAgICBsaSB7XG5cbiAgICAgICAgLy8gcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICBtYXJnaW46IDIycHggMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgJi5hY3RpdmUtdHJhaWwge1xuICAgICAgICAgIC8vIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgICAvLyBtYXJnaW4tbGVmdDogLTNweDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm5vbGluayB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjJlbTtcbiAgICB9XG5cbiAgfVxufVxuXG4ub3JhbmdlLW92ZXJsYXkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHBhZGRpbmc6IDU1cHggMDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjQyLCAxMTYsIDU4LCAwLjk0KTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbn1cblxuLm15LWNhcnQtc2VjdGlvbiB7XG4gIEBpbmNsdWRlIHBhZCg5cHggMCA3cHgpO1xuICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG5cbiAgLy8gLndyYXBwZXIge1xuICAvLyAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAvLyAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMjAwcHgpO1xuXG4gIC8vICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgLy8gICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gIC8vICAgfVxuXG4gIC8vICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAvLyAgICAgQGluY2x1ZGUgcGFkKDAgMzVweCk7XG4gIC8vICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4gIC8vICAgfVxuICAvLyB9XG59XG5cbi5ib3gtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ud3JhcHBlciB7XG4gIEBpbmNsdWRlIHBhZCgwIDIwcHgpO1xuICBtYXgtd2lkdGg6ICRicmVha3BvaW50LWRlc2t0b3AgKyAyMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCBhdXRvO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBAaW5jbHVkZSBwYWQoMCAzMHB4KTtcbiAgfVxuXG4gIC5pcy1maXJlZm94ICYge1xuICAgIG1heC13aWR0aDogMTA4MHB4ICsgNDBweDtcbiAgfVxufSIsIi5zbGljay1kb3RzIHtcbiAgPmxpIHtcblxuICAgID5idXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogI0I2QjZCNiAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgICYuc2xpY2stYWN0aXZlIHtcbiAgICAgID5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcihjb21iaXpfYmx1ZSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuXG4uc2xpY2stc2xpZGUge1xuICBoZWlnaHQ6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb2JqZWN0LWZpdDogY292ZXI7XG59IiwiQGltcG9ydCBcInRpdGxlXCI7XG5AaW1wb3J0IFwiY3RhXCI7XG5cbkBpbXBvcnQgXCJmb3JtXCI7XG5AaW1wb3J0IFwiYnV0dG9uc1wiO1xuQGltcG9ydCBcInRhYmxlXCI7XG5AaW1wb3J0IFwiYmxvY2tzXCI7XG5AaW1wb3J0IFwibGlzdFwiO1xuQGltcG9ydCBcImNhcmRcIjtcbkBpbXBvcnQgXCJjaXJjbGVcIjtcbkBpbXBvcnQgXCJpY29uXCI7XG5AaW1wb3J0IFwiYmFubmVyXCI7XG5AaW1wb3J0IFwiZ2FsbGVyeVwiO1xuQGltcG9ydCBcImZhcVwiO1xuQGltcG9ydCBcImxvZ2luXCI7XG5AaW1wb3J0IFwiY2FydFwiO1xuQGltcG9ydCBcImNvbXBhbnktaGVhZGVyXCI7XG5AaW1wb3J0IFwiY2FyZC1mb2N1c1wiO1xuQGltcG9ydCBcImNhcmQtbWVtYmVyXCI7XG5AaW1wb3J0IFwiY2FyZC1jYW1wYWlnbnNcIjtcbkBpbXBvcnQgXCJjYXJkLWltYWdlXCI7XG5AaW1wb3J0IFwidGVzdGltb25pYWxzLXNsaWRlclwiO1xuQGltcG9ydCBcInBhcmFncmFwaFwiO1xuQGltcG9ydCBcImZpbHRlclwiO1xuQGltcG9ydCBcImZhbmN5Ym94XCI7XG5AaW1wb3J0IFwic29jaWFsLW1lZGlhLWljb25cIjtcbkBpbXBvcnQgXCJjb21tZW50c1wiO1xuQGltcG9ydCBcInNoYXJlXCI7XG5AaW1wb3J0IFwib3JhbmdlLWJhbm5lclwiO1xuQGltcG9ydCBcIm9yYW5nZS10ZXh0LWJsb2NrXCI7XG5AaW1wb3J0IFwicHJvZ3JhbW1lLWhlYWRlclwiO1xuQGltcG9ydCBcIm5ld3NsZXR0ZXItc2lnbnVwXCI7XG5AaW1wb3J0IFwiY2hhcnRcIjtcbkBpbXBvcnQgXCJsZWFndWUtdGFibGVcIjtcblxuQGltcG9ydCBcIm5hdlwiO1xuQGltcG9ydCBcInNuc1wiO1xuQGltcG9ydCBcInNvbHV0aW9uXCI7XG5AaW1wb3J0IFwicmVzdWx0XCI7XG5AaW1wb3J0IFwicGFydG5lci1oZWFkZXJcIjtcbkBpbXBvcnQgXCJmZWF0dXJlZFwiO1xuQGltcG9ydCBcInRlYW1cIjtcbkBpbXBvcnQgXCJwYXJ0bmVyc1wiO1xuQGltcG9ydCBcInZhbHVlc1wiO1xuQGltcG9ydCBcImxvY2F0aW9uc1wiO1xuQGltcG9ydCBcIm12XCI7XG5AaW1wb3J0IFwiY2FyZC1ldmVudFwiO1xuQGltcG9ydCBcImNhcmQtcGFzdFwiO1xuQGltcG9ydCBcImNhcmQtYmFzaWNcIjtcbkBpbXBvcnQgXCJldmVudC1mZWF0dXJlZFwiO1xuQGltcG9ydCBcInRvcGljXCI7XG5AaW1wb3J0IFwiY29sdW1uXCI7XG5AaW1wb3J0IFwic3BvdGxpZ2h0XCI7XG5AaW1wb3J0IFwiYmVuZWZpdHNcIjtcbkBpbXBvcnQgXCJvcmdhbml6YXRpb25cIjtcbkBpbXBvcnQgXCJyZXNlYXJjaFwiO1xuQGltcG9ydCBcIm5ld3NsZXR0ZXJcIjtcbkBpbXBvcnQgXCJpbnZvbHZlZFwiO1xuQGltcG9ydCBcImthcmRcIjtcbkBpbXBvcnQgXCJleWUtY2F0Y2hcIjtcbkBpbXBvcnQgXCJwcmluY2lwYWwtcGFydG5lcnNcIjtcbkBpbXBvcnQgXCJ2YWNhbmN5XCI7XG5AaW1wb3J0IFwiYmFubmVyLWV2ZW50XCI7IiwiLnRpdGxlIHtcbiAgZm9udC1zaXplOiByZW0oMzVweCk7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgfVxufSIsIi5jdGEge1xuICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICBmb250LXNpemU6IHJlbSgxNCk7XG4gIGJvcmRlci1yYWRpdXM6IDUwcHg7XG4gIEBpbmNsdWRlIHBhZCgzcHggMTRweCk7XG4gIGJvcmRlci13aWR0aDogMXB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBmb250LXdlaWdodDogMzAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblxuICAmOjphZnRlciB7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcbiAgfVxuXG4gICYuaXMtYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAxLjVweCAtMS41cHggMCAwIGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuaXMtb3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJkZXNrdG9wKSB7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICBjb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDEuNXB4IC0xLjVweCAwIDAgY29sb3IoY29tYml6X29yYW5nZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmlzLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yKHdoaXRlKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJveC1zaGFkb3c6IDEuNXB4IC0xLjVweCAwIDAgY29sb3Iod2hpdGUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pcy1vcmFuZ2UtYm9yZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcblxuICAgICY6YWZ0ZXJ7XG4gICAgICBib3gtc2hhZG93OiAxLjVweCAtMS41cHggMCAwIGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgIH1cblxuICAgICY6aG92ZXJ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcbiAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAmOmFmdGVye1xuICAgICAgICBib3gtc2hhZG93OiAxLjVweCAtMS41cHggMCAwIGNvbG9yKHdoaXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG59XG4iLCIjeyRhbGwtdGV4dC1pbnB1dHN9LFxudGV4dGFyZWEsXG4uc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItc2VsZWN0aW9uLS1tdWx0aXBsZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gIHBhZGRpbmc6IDdweCAxM3B4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBvdXRsaW5lOiBub25lO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICY6Zm9jdXMsXG4gICYubm90LWVtcHR5IHtcbiAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gIH1cbn1cblxudGV4dGFyZWEge1xuICByZXNpemU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgQGluY2x1ZGUgcGFkKDEwcHggMTNweCk7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG4gIG91dGxpbmU6IG5vbmU7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICB9XG59XG5cbi5mb3JtLXN1Ym1pdCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoY29tYml6X2JsdWUpO1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBAaW5jbHVkZSBwYWQoMTJweCAyMnB4IDExcHgpO1xuICBiYWNrZ3JvdW5kOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gIGZvbnQtc2l6ZTogZW0oMTQpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICBsZXR0ZXItc3BhY2luZzogLTAuNDRweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlX2JyaWdodF8zO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCA5cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgQGluY2x1ZGUgcGFkKDEycHggMThweCAxMHB4KTtcbiAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgfVxufVxuXG5zZWxlY3Qge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zZWxlY3QyLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuXG4gIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG4vL2Jhc2ljLXNvcnQtc2VsZWN0XG4uYmFzaWMtc29ydC1zZWxlY3Qge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBAaW5jbHVkZSBwYWQoMTlweCAyNnB4IDEwcHgpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtNXB4IG51bGwgbnVsbCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUgM3B4KTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMjJtcyBlYXNlLW91dCk7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgfVxuXG4gICYuZm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgdG9wOiAzcHg7XG4gICAgfVxuXG4gICAgLnNvcnQtY29udGFpbmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheV9ncmF5aXNoX2JsdWU7XG4gIH1cblxuICAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogZW0oMTApO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjZweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luOiAwIDAgMnB4O1xuICB9XG5cbiAgLnNvcnQtY29udGFpbmVyIHtcbiAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICBsaW5lLWhlaWdodDogMS45O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjM4cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9zb3J0LWFycm93LnN2ZycpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA2LjVweCBhdXRvO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBAaW5jbHVkZSBwYWQoMnB4IDI0cHggMnB4IDJweCk7XG4gIH1cblxuICAuc29ydC1zZWxlY3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vYmFzaWMtc29ydC1pbnB1dFxuLmJhc2ljLXNvcnQtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBAaW5jbHVkZSBwYWQoMjRweCAxOXB4IDIxcHggMjlweCk7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC01cHggbnVsbCBudWxsIDApO1xuICAgIEBpbmNsdWRlIHNpemUoMTAwJSAzcHgpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGVhc2Utb3V0KTtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICB9XG5cbiAgJi5mb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICB0b3A6IDNweDtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JheV9ncmF5aXNoX2JsdWU7XG4gIH1cblxuICBpbnB1dCxcbiAgLnNlYXJjaCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS45O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4zOHB4O1xuICAgIG1pbi13aWR0aDogMjAwcHg7XG4gIH1cblxuICAuc2VhcmNoIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMXB4KTtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9zZWFyY2guc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDExcHg7XG4gIH1cbn1cblxuLy9zZWFyY2gtaW5wdXRcbi5zZWFyY2gtaW5wdXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBpbmNsdWRlIHBhZCgxMXB4IDE5cHggMTFweCAxNnB4KTtcblxuICBpbnB1dCxcbiAgLnNlYXJjaCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG5cbiAgICBAaW5jbHVkZSBwbGFjZWhvbGRlciB7XG4gICAgICBmb250LXNpemU6IGVtKDE1KTtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgfVxuICB9XG5cbiAgLnNlYXJjaCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIHNpemUoMThweCk7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvc2VhcmNoLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNXB4O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGVhc2Utb3V0KTtcblxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkpO1xuICAgIH1cbiAgfVxufVxuXG4vL2xvZ2luLWZvcm1cbi5sb2dpbi1mb3JtIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcblxuICBsYWJlbCB7XG4gICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICB9XG5cbiAgLmxvZ2luLWlucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfdmlvbGV0O1xuICAgIEBpbmNsdWRlIHBhZCg3cHggMTlweCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMzNweDtcblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1sb2dpbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiA5MHB4O1xuICAgIG1hcmdpbjogNzJweCBhdXRvIDE5cHg7XG4gIH1cbn1cblxuLy9lbnRpdHlmb3JtXG4uZW50aXR5Zm9ybSB7XG5cbiAgLnNlbGVjdDItY29udGFpbmVyIHtcblxuICAgICYuc2VsZWN0Mi1jb250YWluZXItLWZvY3VzIHtcblxuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgQGluY2x1ZGUgcGFkKDlweCAxNHB4IDZweCAxMXB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuXG4gICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX3JlbmRlcmVkIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY0O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgfVxuXG4gICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMTNweCAwIG51bGwpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbGFiZWwge1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAuZm9ybS1yZXF1aXJlZCB7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIH1cbiAgfVxuXG4gIC5ncmlwcGllIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMzBweCAwIDA7XG4gIH1cbn1cblxuZm9ybSB7XG4gIC5zZWxlY3QyLWNvbnRhaW5lci0tZGVmYXVsdCAuc2VsZWN0Mi1zZWxlY3Rpb24tLW11bHRpcGxlIC5zZWxlY3QyLXNlbGVjdGlvbl9fY2hvaWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgYm9yZGVyLXJhZGl1czogMjJweDtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBwYWRkaW5nOiA1cHggMTJweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRzcGFjZWQtbGV0dGVycztcbiAgfVxufVxuXG4uY2FwdGNoYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTMwcHg7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgLmctcmVjYXB0Y2hhIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn0iLCIvL3ByaW1hcnktY2FsbC1hY3Rpb25cbi5wcmltYXJ5LWNhbGwtYWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogZW0oMTQpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGxldHRlci1zcGFjaW5nOiAtMC40NHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgYm9yZGVyOiAwO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggJG9yYW5nZV9icmlnaHRfMztcbiAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICBtYXJnaW46IDFweDtcbiAgQGluY2x1ZGUgcGFkKDE0cHggMTlweCAxMnB4KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTMwbXMgZWFzZS1vdXQpO1xuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIDAgLTElKTtcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzM7XG4gICAgQGluY2x1ZGUgc2l6ZSgwIDEwMiUpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDEzMG1zIGVhc2Utb3V0KTtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBAaW5jbHVkZSBwYWQoMTJweCAxOHB4IDEwcHgpO1xuICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICB9XG5cbiAgJi53aGl0ZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICAvL2JvcmRlci1jb2xvcjogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAkd2hpdGU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5vcmFuZ2Uge1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gICYuZ3JleSB7XG4gICAgLy9ib3JkZXItY29sb3I6ICRncmF5X2Rhcms7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4ICRncmF5X2Rhcms7XG4gICAgY29sb3I6ICRncmF5X2Rhcms7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIC8vYm94LXNoYWRvdzogMCAwIDAgMXB4ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDlweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuICAgICYud2hpdGUge1xuICAgICAgLy9ib3gtc2hhZG93OiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMCA5cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMztcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMiUpO1xuICAgIH1cbiAgfVxufVxuXG5pbnB1dC5wcmltYXJ5LWNhbGwtYWN0aW9uIHtcblxuICAmOmhvdmVyIHtcbiAgICAvL2JhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0O1xuXG4gICAgJi53aGl0ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgfVxuXG4gICAgJi5ncmV5IHtcbiAgICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIC8vYm94LXNoYWRvdzogMCAwIDAgMXB4O1xuICAgICAgYm94LXNoYWRvdzogMCA5cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgfVxuICB9XG59XG5cbi8vc2Vjb25kYXJ5LWNhbGwtYWN0aW9uXG4uc2Vjb25kYXJ5LWNhbGwtYWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogZW0oMTIpO1xuICBtaW4td2lkdGg6IDYwcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8zO1xuICBsaW5lLWhlaWdodDogMS4xNjc7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4zOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlX2JyaWdodF8zO1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCAkb3JhbmdlX2JyaWdodF8zO1xuICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIEBpbmNsdWRlIHBhZCgxMHB4IDE0cHggOHB4KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTMwbXMgZWFzZS1vdXQpO1xuICBtYXJnaW46IDFweDtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAwIC0xMHB4KTtcbiAgICBib3JkZXItcmFkaXVzOiA0MHB4O1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG9yYW5nZV9icmlnaHRfMztcbiAgICBAaW5jbHVkZSBzaXplKDAgMTAwJSk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTMwbXMgZWFzZS1vdXQpO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJi53aGl0ZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggJHdoaXRlO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAvL2JveC1zaGFkb3c6IDAgMCAwIDFweCAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCA5cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG5cbiAgICAmLndoaXRlIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8zO1xuICAgICAgLy9ib3gtc2hhZG93OiBub25lO1xuICAgICAgYm94LXNoYWRvdzogMCA5cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgc2l6ZShjYWxjKDEwMCUgKyAxMHB4KSAxMDAlKTtcbiAgICB9XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICYud2hpdGU6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZV8yO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vL3RpY2tldC1jYWxsLWFjdGlvblxuLnRpY2tldC1jYWxsLWFjdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IHJlbSgxNCk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8zO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlX2JyaWdodF8zO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgQGluY2x1ZGUgcGFkKDE0cHggNDBweCAxMnB4IDIwcHgpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICBAaW5jbHVkZSBwYWQoMTBweCAzMHB4IDhweCAxNXB4KTtcbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAyMHB4IG51bGwgbnVsbCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJG9yYW5nZV9icmlnaHRfMyA1MCUsICR3aGl0ZSA1MCUpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMi41cHg7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxcHggMTBweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7XG4gICAgQGluY2x1ZGUgc2l6ZSgxcHggMTAwJSk7XG4gICAgei1pbmRleDogLTE7XG4gIH1cblxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIC0xJSAtMSUpO1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzM7XG4gICAgQGluY2x1ZGUgc2l6ZSgwIDEwMiUpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgICB6LWluZGV4OiAtMjtcbiAgfVxuXG4gIC5jaXJjbGUge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIC0xMXB4IDAgbnVsbCk7XG4gICAgQGluY2x1ZGUgc2l6ZSgxOXB4KTtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlX2JyaWdodF8zO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHNpemUoMXB4IDEwMHB4KTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzM7XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0xMDBweCBudWxsIG51bGwgNnB4KTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgLTEwMHB4IDZweCk7XG4gICAgfVxuICB9XG5cbiAgJi53aGl0ZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcblxuICAgIC5jaXJjbGUge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHdoaXRlIDUwJSwgJGNvbG9yX19tYWluIDUwJSk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDIuNXB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxcHggMTBweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteTtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAuY2lyY2xlIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYud2hpdGUge1xuICAgICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzM7XG4gICAgfVxuXG4gICAgJi5oaWdodGxpZ2h0IHtcbiAgICAgIGJveC1zaGFkb3c6IDAgOXB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMDIlKTtcbiAgICB9XG4gIH1cbn1cblxuLy90ZXJ0aWFyeS1jYWxsLWFjdGlvblxuLnRlcnRpYXJ5LWNhbGwtYWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IGVtKDEyKTtcbiAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIEBpbmNsdWRlIHBhZCgwIDE1cHggMCA5cHgpO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDVweCAwIG51bGwgbnVsbCk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMjIybXMgZWFzZS1vdXQpO1xuICB9XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA0cHggbnVsbCBudWxsIDApO1xuICAgIEBpbmNsdWRlIHNpemUoMnB4IDEwcHgpO1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gIH1cblxuICAmLmRpci1sZWZ0IHtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMS41cHggOHB4KTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2Fycm93LWxlZnQuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTJweCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDExLjVweCBhdXRvO1xuICAgIH1cblxuICAgICYud2hpdGUge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2Fycm93LWxlZnQtd2hpdGUuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5kaXItZG93biB7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoOHB4IDExLjVweCk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9hcnJvdy1kb3duLnN2ZycpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDE1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDdweCBhdXRvO1xuICAgIH1cblxuICAgICYud2hpdGUge1xuICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2Fycm93LWRvd24td2hpdGUuc3ZnJyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG5cbiAgICAmLmRpci1sZWZ0OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmLmRpci1kb3duOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciAtMXB4O1xuICAgIH1cbiAgfVxufVxuXG4vLyBsaW5rLW5vcm1hbFxuLmxpbmstbm9ybWFsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gIEBpbmNsdWRlIHBhZCgwIDJweCA0cHgpO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxMDAlIG51bGwgbnVsbCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUgMXB4KTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMTBweCkpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgfVxuXG4gICYud2hpdGUge1xuXG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUgMnB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICRncmF5X3ZlcnlfZGFyaztcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDBweCkpO1xuICAgIH1cbiAgfVxufVxuXG4vL2xpbmstdW5kZXJsaW5lXG4ubGluay11bmRlcmxpbmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogZW0oMTIpO1xuICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsXG4gICAgICAkb3JhbmdlX2JyaWdodCxcbiAgICAgICRvcmFuZ2VfYnJpZ2h0IDUwJSxcbiAgICAgICRkYXJrX2dyYXlpc2hfcmVkIDUwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxMDAlO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgJjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMDAlIDFweCk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAwIDApO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCxcbiAgICAgICAgJG9yYW5nZV9icmlnaHQsXG4gICAgICAgICRvcmFuZ2VfYnJpZ2h0IDUwJSxcbiAgICAgICAgJGRhcmtfZ3JheWlzaF9yZWQgNTAlKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDIwMSUgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA5OS45JTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG4gIH1cblxuICAmLndoaXRlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsXG4gICAgICAgICRvcmFuZ2VfYnJpZ2h0LFxuICAgICAgICAkb3JhbmdlX2JyaWdodCA1MCUsXG4gICAgICAgICR3aGl0ZSA1MCUpO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsXG4gICAgICAgICAgJG9yYW5nZV9icmlnaHQsXG4gICAgICAgICAgJG9yYW5nZV9icmlnaHQgNTAlLFxuICAgICAgICAgICR3aGl0ZSA1MCUpO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vL2J0bi1iYWNrXG4uYnRuLWJhY2sge1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiBlbSgxMik7XG4gIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBwYWRkaW5nLWxlZnQ6IDEzcHg7XG4gIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL2JhY2stYXJyb3cuc3ZnJykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQuNXB4IGF1dG87XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vYnRuLW1vcmVcbi5idG4tbW9yZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHdpZHRoOiA1MHB4O1xuICBmb250LXNpemU6IGVtKDEyKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4zMnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBtYXJnaW4tdG9wOiA2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvbW9yZS1hcnJvdy5wbmcnKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCBhdXRvO1xufVxuXG5idXR0b24ge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vL3Byb2ZpbGUtdGFiLWxpbmtcbi5wcm9maWxlLXRhYi1saW5rIHtcbiAgZm9udC1zaXplOiByZW0oMTYpO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgQGluY2x1ZGUgcGFkKDdweCAyM3B4IDdweCAxNXB4KTtcbiAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gIH1cbn0iLCIiLCIuYmVhbi1vdXItcGFydG5lcnMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHBhZCgxMDRweCAwIDg4cHgpO1xuICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG5cbiAgLnRleHQtd3JhcCB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICB9XG5cbiAgLnBhcnRuZXJzLXdyYXAge1xuICAgIEBpbmNsdWRlIHNoaWZ0KDIpO1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgfVxuXG4gIC5wYXJ0bmVycy1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNHB4O1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHpvb206IDUwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gIH1cblxuICBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICBsaW5lLWhlaWdodDogMS40MztcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICBtYXJnaW4tYm90dG9tOiAzN3B4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAuc2Vjb25kYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIEBpbmNsdWRlIHBhZCg2MHB4IDAgNDZweCk7XG5cbiAgICAudGV4dC13cmFwIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg3KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgfVxuXG4gICAgLnBhcnRuZXJzLXdyYXAge1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMCk7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCk7XG4gICAgfVxuXG4gICAgLnBhcnRuZXJzLWxpc3Qge1xuXG4gICAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQgb2YgOCk7XG4gICAgICB9XG5cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBwYWQoNDBweCAyMHB4KTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgc2l6ZSg4NHB4KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtNDJweCAtNDJweCBudWxsIG51bGwpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTIsIDEwNCwgNDUsIDAuMTMpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgIC50ZXh0LXdyYXAge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgfVxuXG4gICAgLnBhcnRuZXJzLXdyYXAge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAucGFydG5lcnMtbGlzdCB7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDI2cHggMCAwO1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDZweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLy9hbmNob3ItdGFiXG4uYW5jaG9yLXRhYiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiA2ODFweCkge1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAyMTRweCk7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiA0MnB4O1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC8vIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG5cbiAgICAmLmZvY3VzIHtcblxuICAgICAgbGkge1xuICAgICAgICBjb2xvcjogJGdyYXlfZGFyaztcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBAaW5jbHVkZSBwYWQoMCAwIDE4cHggMCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAxMTNtcyBsaW5lYXIpO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmFuY2hvci1uYXYge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICB3aWR0aDogM3B4O1xuICAgIGhlaWdodDogMjVweDtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDExM21zIGVhc2Utb3V0KTtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8vcGFnZXJcbi5pdGVtLWxpc3Qge1xuICB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uaXRlbS1saXN0IC5wYWdlciB7XG5cbiAgbGkge1xuICAgIHBhZGRpbmc6IDAgN3B4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgY29sb3I6ICRncmF5X2Rhcms7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgQGluY2x1ZGUgc2l6ZSgyNXB4KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRncmF5X2Rhcms7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgIH1cblxuICAgICYucGFnZXItY3VycmVudCxcbiAgICAmOmhvdmVyIGEge1xuICAgICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgIH1cbiAgfVxuXG4gIC5wYWdlci1pdGVtLFxuICAucGFnZXItY3VycmVudCB7XG4gICAgbWFyZ2luLXRvcDogMXB4O1xuICB9XG5cbiAgLnBhZ2VyLWZpcnN0LFxuICAucGFnZXItcHJldmlvdXMsXG4gIC5wYWdlci1lbGxpcHNpcyxcbiAgLnBhZ2VyLW5leHQsXG4gIC5wYWdlci1sYXN0IHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBhIHtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgIH1cblxuICAgICY6bm90KC5wYWdlci1lbGxpcHNpcykge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC5wYWdlci1maXJzdCB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvcGFnZXItYXctZmlyc3QucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDExcHggYXV0bztcbiAgfVxuXG4gIC5wYWdlci1wcmV2aW91cyB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvcGFnZXItYXctcHJldi5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogNXB4IGF1dG87XG4gIH1cblxuICAucGFnZXItZWxsaXBzaXMge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3BhZ2VyLWVsbGlwc2lzLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggYXV0bztcbiAgfVxuXG4gIC5wYWdlci1uZXh0IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9wYWdlci1hdy1uZXh0LnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiA1cHggYXV0bztcbiAgfVxuXG4gIC5wYWdlci1sYXN0IHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9wYWdlci1hdy1sYXN0LnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMXB4IGF1dG87XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgbWFyZ2luOiAwIDAgNDBweDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbjogMCAzcHg7XG4gICAgfVxuXG4gICAgLnBhZ2VyLWZpcnN0LFxuICAgIC5wYWdlci1sYXN0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59IiwiLy9jYXJkXG4uY2FyZCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIDAuM3MgY3ViaWMtYmV6aWVyKDAuMzgsIDAuMTgsIDAuNDMsIDEpO1xuXG4gICY6aG92ZXIge1xuICAgIHRyYW5zbGF0ZTogMCAtMTBweDtcblxuICAgIC5jYXJkLXBpY3R1cmUge1xuICAgICAgc2NhbGU6IDE7XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBwYWQoMTFweCAxNHB4IDIwcHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmLWZyYW1lIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIG1pbi1oZWlnaHQ6IDE2OXB4O1xuICAgIH1cblxuICAgIC5wcmljZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBwYWRkaW5nOiA2cHggMTBweCAzcHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuOTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuICB9XG5cbiAgJi1waWN0dXJlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBtaW4taGVpZ2h0OiAxNjlweDtcbiAgICBzY2FsZTogMS4wNTtcbiAgICB0cmFuc2l0aW9uOiBzY2FsZSAwLjNzIGN1YmljLWJlemllcigwLjM4LCAwLjE4LCAwLjQzLCAxKTtcbiAgfVxuXG4gIC50b3BpYyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogOHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgcGFkZGluZzogM3B4IDEwcHg7XG4gICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICB6LWluZGV4OiA1O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSlcbiAgfVxuXG4gICYtZGF0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTZlbTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IGNvbG9yKGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgfVxuXG4gIC5jcmVhdGVkLWRhdGUge1xuICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gIH1cblxuICAuY2F0ZWdvcnktd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuXG4gIC5jYXRlZ29yeSB7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiByZW0oMTFweCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiBjb2xvcihkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMik7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IC03cHg7XG4gICAgICAgICAgY29udGVudDogJ3wnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1vcmUtY2F0ZWdvcnkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogZW0oMTApO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjZweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIG1hcmdpbjogMCA3cHggM3B4IDA7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJGdyYXlfZGFyaztcbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgbWFyZ2luOiAwIDAgMThweDtcbiAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICAgIGNvbG9yOiBjb2xvcihkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMik7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICYtY3RhIHtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIEBpbmNsdWRlIHBhZCg4cHggMjRweCA2cHggMTZweCk7XG4gICAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICB9XG4gIH1cblxufVxuXG4vL2NhcmQtaG9yaXpvbnRhbFxuLmNhcmQtaG9yaXpvbnRhbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAzODVweDtcbiAgbWFyZ2luOiAzMHB4IDA7XG4gIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZV8yO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgLmRhdGUtd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgQGluY2x1ZGUgc2l6ZSg0MHB4IDEwMCUpO1xuXG4gICAgLmRhdGUge1xuICAgICAgZm9udC1zaXplOiBlbSgxOCk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoLTkwZGVnKSk7XG4gICAgICBtYXJnaW46IDAgMCAwIDIwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuICAgICAgbWluLXdpZHRoOiAxMDBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tbGVmdDogNDBweDtcbiAgICBtaW4taGVpZ2h0OiAxODBweDtcbiAgICBAaW5jbHVkZSBwYWQoMjZweCA0NHB4IDE4cHggMjRweCk7XG4gIH1cblxuICAuaW1hZ2Utd3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcblxuICAgIC5pbWFnZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIG9wYWNpdHk6IDAuOTU7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmV0d29yayB7XG4gICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgIGZvbnQtc2l6ZTogZW0oMTApO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDEuNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gIH1cblxuICAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogZW0oMTgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjUzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4wNSkpO1xuICAgIGJveC1zaGFkb3c6IDAgMzBweCA0MHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmltYWdlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjIpKTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG5cbiAgICAuY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBwYWQoMTZweCAyMHB4IDE1cHgpO1xuICAgIH1cblxuICAgIC5uZXR3b3JrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICAgIH1cbiAgfVxufVxuXG4vL2NhcmQtc3F1YXJlXG4uY2FyZC1zcXVhcmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDEyKTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAvL2JhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgLy9ib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBAaW5jbHVkZSBwYWQoMjVweCk7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgMCBudWxsIDApO1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgfVxuXG4gIC5pY29uIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgICB9XG4gIH1cblxuICAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC41M3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgfVxuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4wNSkpO1xuICAgIGJveC1zaGFkb3c6IDAgMzBweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG5cbiAgICAuY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBwYWQoMTJweCk7XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBtYXJnaW46IDAgYXV0byA3cHg7XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40NHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAuY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjVweCk7XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IGVtKDE1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCg0bik7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYgb2YgMTIpO1xuICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB9XG4gIH1cbn1cblxuLy9jYXJkLWxvZ2luXG4uY2FyZC1sb2dpbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDIyNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIEBpbmNsdWRlIHBhZCgzNHB4IDIwcHggMzNweCk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgei1pbmRleDogMDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgZWFzZS1vdXQpO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodDtcbiAgICBvcGFjaXR5OiAwLjkzO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IGVtKDE4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjUzcHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgfVxuXG4gIC5zdWItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjA1KSk7XG4gICAgYm94LXNoYWRvdzogMCAzMHB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICB9XG59XG5cbi8vZW1haWwtc3Vic2NyaXB0aW9uXG4uZW1haWwtc3Vic2NyaXB0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBwYWQoNjRweCAyMXB4IDEwMHB4IDMxcHgpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgLmJhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2VtYWlsLXN1YnNjcmlwdGlvbi5qcGcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgei1pbmRleDogMDtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHQ7XG4gICAgICBvcGFjaXR5OiAwLjk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgICB9XG4gIH1cblxuICAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogZW0oMjEpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5wcmltYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCA0NHB4IDUwJSk7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMDUpKTtcblxuICAgIC5iYWNrZ3JvdW5kIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjIpKTtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIEBpbmNsdWRlIHBhZCg0M3B4IDI2cHggMzhweCk7XG5cbiAgICAudGl0bGUge1xuICAgICAgd2lkdGg6IDI4MHB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAucHJpbWFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgaW5oZXJpdCk7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCgwKSk7XG4gICAgfVxuICB9XG59XG5cbi8vY2FyZC10ZWFtXG4uY2FyZC10ZWFtIHtcbiAgei1pbmRleDogMTtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIDAuM3MgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgMC4zcyBlYXNlLWluLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICB0cmFuc2xhdGU6IDAgLTE1cHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDBweCAyNHB4IHJnYmEoMjUsIDMyLCA1NiwgMC4wOCk7XG5cbiAgICAuY2FyZC10ZWFtLWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIH1cblxuICAgIC5jYXJkLXRlYW0tZGVzYyxcbiAgICAuY2FyZC10ZWFtLXNhbHV0YXRpb24sXG4gICAgLmNhcmQtdGVhbS1wb3NpdGlvbixcbiAgICAuY2FyZC10ZWFtLW5hbWUge1xuICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKVxuICAgIH1cbiAgfVxuXG4gICYtZmlndXJlIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGhlaWdodDogMTkxcHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cblxuICAmLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgQGluY2x1ZGUgcGFkKDEwcHggMjBweCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cblxuICAmLXBvc2l0aW9uIHtcbiAgICBmb250LXNpemU6IHJlbSgxMHB4KTtcbiAgICBjb2xvcjogY29sb3IoZGFya192ZXJ5X2dyYXlpc2hfcmVkXzMpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBsZXR0ZXItc3BhY2luZzogMS42cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gIH1cblxuICAmLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuNDRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICBsaW5lLWhlaWdodDogMS41ODtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IC01cHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgfVxuXG4gICYtc2FsdXRhdGlvbiB7XG4gICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICBsaW5lLWhlaWdodDogMS41ODtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBlYXNlLWluLW91dDtcbiAgfVxuXG4gICYtbGluayB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vY2FyZC10ZWFtLWRldGFpbFxuLmNhcmQtdGVhbS1kZXRhaWwge1xuICB3aWR0aDogODAlO1xuICBtYXgtd2lkdGg6IDc1NXB4O1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiA2MHB4IDc1cHggIWltcG9ydGFudDtcblxuICAudGVhbS1pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIHNpemUoMTg4cHgpO1xuICAgIG1hcmdpbi1yaWdodDogMzVweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC50ZWFtLWltYWdlLXdyYXBwZXIge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgzNXB4KTtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTIsIDEwNCwgNDUsIDAuNzUpO1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDIwcHggNXB4IG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5vZGUtdHlwZS1uZXR3b3Jrcy1sYW5kaW5nICYge1xuICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxODVweCAtIDQ1cHgpO1xuXG4gICAgLnNhbHV0YXRpb24ge1xuICAgICAgY29sb3I6ICM2NjYyNjI7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgIGNvbG9yOiAjNjY2MjYyO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICBmb250LXNpemU6IGVtKDE3KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICBsaW5lLWhlaWdodDogMS41ODtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgIH1cbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgfVxuXG4gIC5saW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgcGFkZGluZzogNDBweCAhaW1wb3J0YW50O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDIwcHggIWltcG9ydGFudDtcblxuICAgIC50ZWFtLWltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDAgMjVweDtcblxuICAgICAgLnRlYW0taW1hZ2Utd3JhcHBlciAuaW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDE4OHB4KTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgfVxuICB9XG59XG5cbi8vY2FyZC10ZWFtLXNsaWNrLXdyYXBwZXJcbi5jYXJkLXRlYW0tc2xpY2std3JhcHBlciB7XG4gIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICB0b3A6IDUwJTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDE1O1xuICBtYXJnaW46IGF1dG87XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICBAaW5jbHVkZSBzaXplKDc1NXB4IGF1dG8pO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICYuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAuY2xvc2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9jbG9zZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBAaW5jbHVkZSBzaXplKDEwcHgpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIC0yMHB4IG51bGwgbnVsbCk7XG4gIH1cblxuICAudGVhbS1zbGljayB7XG5cbiAgICAuaXRlbSB7XG4gICAgICBAaW5jbHVkZSBwYWQoNjBweCA4MnB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICB9XG5cbiAgICAuaW5mb3JtYXRpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICB9XG5cbiAgICAudGVhbS1pbWFnZSxcbiAgICAuY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC50ZWFtLWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTg4cHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNHB4O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMzVweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTIsIDEwNCwgNDUsIDAuNzUpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAyMHB4IDVweCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgLnRlYW0taW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjA4LCAyMDcsIDIwOSwgMC40NCk7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuXG4gICAgICAudGl0bGUge1xuICAgICAgICBmb250LXNpemU6IGVtKDEwKTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB9XG5cbiAgICAgIC5uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40NHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay1hcnJvdyB7XG4gICAgQGluY2x1ZGUgc2l6ZSg0MnB4KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cblxuICAgICYuc2xpY2stbmV4dCB7XG4gICAgICByaWdodDogLTkycHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9zbGlkZS1hcnJvdy1uZXh0LnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA3LjdweCBhdXRvO1xuICAgIH1cblxuICAgICYuc2xpY2stcHJldiB7XG4gICAgICBsZWZ0OiAtOTJweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL3NsaWRlLWFycm93LXByZXYucG5nJykgbm8tcmVwZWF0IGNlbnRlciAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDcuN3B4IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi8vdGV4dC1ncm91cFxuLnRleHQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXgtd2lkdGg6IDUwMHB4O1xuICBAaW5jbHVkZSBwYWQoMTBweCA5cHggMjBweCAxNnB4KTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgZWFzZS1vdXQpO1xuXG4gICoge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjA1KSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDIzMywgMjM2LCAwLjI2KTtcbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuXG4gICAgLmxpbmstd3JhcHBlciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5jbG9zZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICBoMyxcbiAgICAuaW5mb3JtYXRpb24sXG4gICAgcCB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC5saW5rLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxMHB4IDlweCBudWxsIG51bGwpO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jbG9zZSB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDIwcHggMTlweCBudWxsIG51bGwpO1xuICAgIEBpbmNsdWRlIHNpemUoMTNweCAzcHgpO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIGgzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzM7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCAwIC0xNnB4KTtcbiAgICAgIEBpbmNsdWRlIHNpemUoM3B4IDE1cHgpO1xuICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgIH1cbiAgfVxuXG4gIC5pbmZvcm1hdGlvbiB7XG4gICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gIH1cblxuICBwIHtcbiAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gIH1cbn0iLCIiLCIuaWNvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgLmhlYWRpbmcsIC5pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIC5oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IGVtKDEwKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAyLjU1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW46IDAgNHB4IDAgMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG4gIH1cblxuICAuaWNvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIHNpemUoMzFweCk7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrX2dyYXlpc2hfdmlvbGV0O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGVhc2Utb3V0KTtcbiAgICBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC0zNSUpKTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDAgMCAwKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGVhc2Utb3V0KTtcbiAgICB9XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgJi5kZWFjdGl2YXRlIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG5cbiAgICAmLmFjdGl2YXRlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZGFyaztcblxuICAgICAgc3BhbiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIGJvdHRvbTogLTIycHg7XG4gICAgICB9XG5cbiAgICAgICYuaWNvbi11cGNvbWluZy1ldmVudCB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL2ljb24tdXBjb21pbmctZXZlbnQtZGFyay5wbmcnKTtcbiAgICAgIH1cblxuICAgICAgJi5pY29uLXB1YmxpY2F0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvaWNvbi1wdWJsaWNhdGlvbi1kYXJrLnBuZycpO1xuICAgICAgfVxuXG4gICAgICAmLmljb24tbmV3cyB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL2ljb24tbmV3cy1kYXJrLnBuZycpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaWNvbi11cGNvbWluZy1ldmVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9pY29uLXVwY29taW5nLWV2ZW50LnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMi41cHggYXV0bztcbiAgICB9XG5cbiAgICAmLmljb24tcHVibGljYXRpb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvaWNvbi1wdWJsaWNhdGlvbi5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTdweCBhdXRvO1xuICAgIH1cblxuICAgICYuaWNvbi1uZXdzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL2ljb24tbmV3cy5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTIuM3B4IGF1dG87XG4gICAgfVxuICB9XG59IiwiLmJhbm5lciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgJi1jb2wge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMzI1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzJweCAyNHB4IDI0cHggMjRweCk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAuYmFubmVyLWltYWdlIHtcbiAgICAgICAgc2NhbGU6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1maWd1cmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgLmlzLWJsdWUtZmlsdGVyICYge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKGNvbWJpel9ibHVlKSwgMC44KTtcbiAgICAgIH1cblxuICAgICAgLmlzLXdoaXRlLWZpbHRlciAmIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgjOTc5Nzk3LCAwLjgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzI1cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgc2NhbGU6IDEuMTtcbiAgICB0cmFuc2l0aW9uOiBzY2FsZSAwLjVzIGVhc2UtaW4tb3V0O1xuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oMjhweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDM0ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIFxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgIH1cbiAgfVxuXG4gICYtY3RhIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIEBpbmNsdWRlIHBhZCg4cHggMjRweCA4cHggMTZweCk7XG4gICAgQGluY2x1ZGUgY2FyZXQoY29sb3IoY29tYml6X2JsdWUpKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihjb21iaXpfYmx1ZSk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgfVxufVxuXG4uYmFubmVyLW5vbmUge1xuXG4gIHBhZGRpbmc6IDIwMHB4IDAgOTJweDtcbiAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDQ5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIH1cblxuICAudGV4dC13cmFwIHtcbiAgICBtYXgtd2lkdGg6IDU1NXB4O1xuICB9XG5cbiAgLnRleHQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDQyNXB4O1xuICAgIGhlaWdodDogNDI1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNDI1cHg7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICBvcGFjaXR5OiAwLjA4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yMDBweDtcbiAgICByaWdodDogMzAwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgcGFkZGluZzogNTBweCAyMHB4O1xuICB9XG59XG5cbi5iYW5uZXItYmFzaWMge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShjb2xvcihjb21iaXpfYmx1ZSksIDAuOTgpO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJi1pbm5lciB7XG4gICAgQGluY2x1ZGUgcGFkKDUycHggMCk7XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG59IiwiLmdhbGxlcnkge1xuXG4gIC5pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDExcHggMTFweCAwO1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMjJweCkgLyAzKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHotaW5kZXg6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDAlO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoM24pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi5nYWxsZXJ5LXNsaWNrLXdyYXBwZXIge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpO1xuICBAaW5jbHVkZSBwYWQoMjBweCAxOXB4IDApO1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgbnVsbCAwIDAgMCk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgei1pbmRleDogMTA7XG4gIG9wYWNpdHk6IDA7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAuY2xvc2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9jbG9zZS5zdmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBAaW5jbHVkZSBzaXplKDEwcHgpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgbnVsbCBudWxsKTtcbiAgfVxuXG4gIC5nYWxsZXJ5LXNsaWNrLWZvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuXG4gICAgLml0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHQ7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5LGJsb2NrLWNvbGxhcHNlKTtcbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzLGJsb2NrLWNvbGxhcHNlKTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgwIDIxcHggMjNweCk7XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgMjNweCAyMXB4KTtcbiAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MnB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nYWxsZXJ5LXNsaWNrLW5hdiB7XG5cbiAgICAuaXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gNDRweCkgLyAxMSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTAwJTtcbiAgICAgIH1cblxuICAgICAgJi5zbGljay1jdXJyZW50IHtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYuYWN0aXZlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgei1pbmRleDogMjA7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oZml4ZWQsIDUwJSAwIG51bGwgMCk7XG4gIH1cblxuICAuc2xpY2stYXJyb3cge1xuICAgIEBpbmNsdWRlIHNpemUoMzBweCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIH1cblxuICAgICYuc2xpY2stbmV4dCB7XG4gICAgICByaWdodDogLTE1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9zbGlkZS1hcnJvdy1uZXh0LTIucG5nJykgbm8tcmVwZWF0IGNlbnRlciAkd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDcuN3B4IGF1dG87XG4gICAgfVxuXG4gICAgJi5zbGljay1wcmV2IHtcbiAgICAgIGxlZnQ6IC0xNXB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvc2xpZGUtYXJyb3ctcHJldi0yLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgJHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA3LjdweCBhdXRvO1xuICAgIH1cbiAgfVxufSIsIi5mYXEtY29udGFpbmVyIHtcbiAgcGFkZGluZzogMjVweCAwIDUwcHg7XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5mYXEtY2F0ZWdvcnkge1xuICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjdweDtcbiAgfVxuXG4gIC5mYXEtaXRlbSB7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5X2xpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi50b2dnbGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgxNXB4IDAgMzBweCk7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgwIDAgMzBweCk7XG4gICAgICB9XG5cbiAgICAgIC5xdWVzdGlvbiB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8yO1xuXG4gICAgICAgIC5idG4tdG9nZ2xlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy90b2dnbGUtY2xvc2UucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFuc3dlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5xdWVzdGlvbiB7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzM7XG4gICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAgIC50ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2NXB4KTtcbiAgICB9XG5cbiAgICAuYnRuLXRvZ2dsZSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDI2cHgpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaHRtbF9wcm90b3R5cGUvaW1hZ2VzL3RvZ2dsZS1vcGVuLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmFuc3dlciB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzE7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNjVweCk7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuXG4gICAgLmZhcS1jYXRlZ29yeSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMik7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC43N3B4O1xuICAgIH1cblxuICAgIC5mYXEtaXRlbSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICYudG9nZ2xlZCB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgxMHB4IDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5xdWVzdGlvbiB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU1cHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hbnN3ZXIge1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1NXB4KTtcbiAgICB9XG4gIH1cbn0iLCIubG9naW4td3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTU7XG4gIG9wYWNpdHk6IDE7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBAaW5jbHVkZSBzaXplKDc1MHB4IGF1dG8pO1xuICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgNTAlIDAgbnVsbCAwKTtcbiAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiAkZGFyaztcbiAgICBvcGFjaXR5OiAwLjEyO1xuICAgIEBpbmNsdWRlIGZpbHRlcihibHVyKDQycHgpKTtcbiAgICBAaW5jbHVkZSBzaXplKDMxNnB4KTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAwIC01MHB4IDApO1xuICB9XG5cbiAgLmNsb3NlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvY2xvc2Uuc3ZnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCU7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMHB4KTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAtMjBweCBudWxsIG51bGwpO1xuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLndyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cblxuICAuYmFja2dyb3VuZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgQGluY2x1ZGUgc2l6ZSgzMSUgMTAwJSk7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIEBpbmNsdWRlIGZpbHRlcihibHVyKDJweCkpO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHNpemUoMTAwJSk7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0MiwxMTYsNTgsMC45Mik7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICB9XG4gIH1cblxuICAuY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMzElKTtcbiAgICBAaW5jbHVkZSBwYWQoMjhweCA3N3B4IDY3cHggNTRweCk7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgzMDAwcHgpO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCAwIC0yOHB4KTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC50YWIge1xuICAgIG1hcmdpbjogMCAwIDc4cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICBsaSB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgICAgIHNwYW4sIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTApO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMi4yNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTcpO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yOTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICB9XG5cbiAgICAgICYuY3VycmVudCxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBib3JkZXItY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG5cbiAgICAgICAgc3BhbiwgaDQge1xuICAgICAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyM3B4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jb250ZW50IHtcbiAgICBAaW5jbHVkZSBwYWQoMCAyMi41cHggMCA1NS41cHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5mb3JnZXQtcHdkIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICB9XG4gIH1cbn0iLCIuY2FydCB7XG4gIHdpZHRoOiAyODBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlXzI7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgQGluY2x1ZGUgcGFkKDE0cHggMjFweCAyM3B4IDE3cHgpO1xuXG4gIC5pdGVtIHtcbiAgICBAaW5jbHVkZSBwYWQoMTZweCAwIDE5cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgfVxuXG4gIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgfVxuXG4gIC5uYW1lLCAucHJpY2UsXG4gIC5kZXNjcmlwdGlvbixcbiAgLmRpc2NvdW50LXByaWNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC40cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG5cbiAgICAmLnByaWNlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG4gIH1cblxuICAuY2F0ZWdvcnkge1xuICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGxldHRlci1zcGFjaW5nOiAyLjhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gIH1cblxuICBhIHtcbiAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgfVxuXG4gIC5kaXNjb3VudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgfVxuXG4gIC50b3RhbC1wcmljZSB7XG4gICAgZm9udC1zaXplOiBlbSgxNik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMzhweDtcbiAgICBsaW5lLWhlaWdodDogMS41NjtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufSIsIi5jb21wYW55LWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogY29sb3IoY29tYml6X2JsdWUpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtaW4taGVpZ2h0OiA0MjVweDtcblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgbWluLWhlaWdodDogMzI1cHg7XG4gIH1cblxuXG4gICYtaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgcGFkKDg3cHggMCA3NXB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgcGFkKDI3cHggMClcbiAgICB9XG4gIH1cblxuICAmLWJsb2NrIHtcbiAgICBtYXgtd2lkdGg6IDQ3MHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzFweDtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSg0OXB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG4gICAgfVxuICB9XG5cbiAgJi10ZXh0IHtcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC40MXB4O1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA3ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgIH1cbiAgfVxuXG4gICYtcHJvZmlsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgd2lkdGg6IDI0NHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDI0NHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgcGFkKDIwcHggMjBweCAwKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGhlaWdodDogMTQycHg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDE0MnB4O1xuICAgICAgQGluY2x1ZGUgcGFkKDEwcHgpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICB9XG4gIH1cblxuICAmLWJ1dHRvbi11cGxvYWQsXG4gICYtYnV0dG9uLWNhbmNlbCB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpXG4gIH1cblxuICAmLWJ1dHRvbi11cGxvYWQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDExcHgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC50ZXh0LXdyYXAge1xuICAgIHotaW5kZXg6IDM7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi10b3A6IDY3cHg7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICB9XG5cbiAgLmxvZ28td3JhcCB7XG5cbiAgICBbbmFtZT1cImxvZ29fdXBsb2FkX2J1dHRvblwiXSxcbiAgICAuZm9ybS1maWxlIHtcbiAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudXBsb2FkLWxvZ28tYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDEwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnVwbG9hZC1sb2dvLWJ1dHRvbixcbiAgICAuY2FuY2VsLXVwbG9hZC1sb2dvLWJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBmb3JtLFxuICAgIC5jYW5jZWwtdXBsb2FkLWxvZ28tYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6IDE1MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgICAgLy8gaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIGhlaWdodDogMzBweDtcblxuICAgICAgfVxuICAgIH1cblxuICAgICYuZm9ybS12aXNpYmxlIHtcblxuICAgICAgZm9ybSB7XG4gICAgICAgIC8vIG1hcmdpbi1sZWZ0OiAtNDBweDtcbiAgICAgICAgLy8gbWFyZ2luLXJpZ2h0OiAtNDBweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWZpbGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLmZvcm0tbWFuYWdlZC1maWxlIC5maWxlIGEge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jYW5jZWwtdXBsb2FkLWxvZ28tYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICB9XG5cbiAgICAgIGlucHV0W25hbWU9XCJsb2dvX3VwbG9hZF9idXR0b25cIl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICAudXBsb2FkLWxvZ28tYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAgICYuZm9ybS12aXNpYmxlIHtcbiAgICAgICAgdG9wOiAtIDMwcHg7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLnVwbG9hZC1sb2dvLWJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIC8vIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgMTJweCAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9ybS1zdWJtaXQge1xuICAgIEBleHRlbmQgLnNlY29uZGFyeS1jYWxsLWFjdGlvbjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgLmNvbXBhbnktaGVhZGVyLW1ldGEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNTgpO1xuICAgIHBhZGRpbmc6IDExcHggMCA3cHg7XG4gICAgei1pbmRleDogMztcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY29tcGFueS1oZWFkZXItbWVtYmVyc2hpcHMge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3Zpb2xldDtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjE7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjk1cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfdmlvbGV0O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tcGFueS1oZWFkZXItaW5kdXN0cmllcyB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS42cHg7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBAaW5jbHVkZSBwYWQoMCAxMXB4KTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nOiAxMXB4IDIwcHggOXB4O1xuXG4gICAgICAuY29tcGFueS1oZWFkZXItaW5kdXN0cmllcyxcbiAgICAgIC5jb21wYW55LWhlYWRlci1tZW1iZXJzaGlwcyB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNvbXBhbnktaGVhZGVyLW1lbWJlcnNoaXBzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAgIGxpIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgICAgICBjb2xvcjogJGdyYXlfZGFyaztcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb21wYW55LWhlYWRlci1pbmR1c3RyaWVzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNnB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgNHB4IDAgMTBweDtcblxuICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAvLyAgIEBpbmNsdWRlIHBhZCg0NXB4IDE2cHggNzBweCAyMnB4KTtcblxuICAvLyAgICY6YmVmb3JlIHtcbiAgLy8gICAgIGJhY2tncm91bmQ6IHJnYmEoMjUyLCAxMDQsIDQ1LCAwLjA4KTtcbiAgLy8gICAgIEBpbmNsdWRlIHNpemUoMzA1cHgpO1xuICAvLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDc1cHggLTk2cHggbnVsbCBpbmhlcml0KTtcbiAgLy8gICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKDApKTtcbiAgLy8gICB9XG5cbiAgLy8gICAmOmFmdGVyIHtcbiAgLy8gICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZV8yO1xuICAvLyAgICAgb3BhY2l0eTogMTtcbiAgLy8gICAgIEBpbmNsdWRlIHNpemUoMzU2cHgpO1xuICAvLyAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0zMHB4IG51bGwgbnVsbCAtMTQ4cHgpO1xuICAvLyAgIH1cbiAgLy8gfVxufSIsIi5jYXJkLWZvY3VzIHtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICYtZnJhbWUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgd2lkdGg6IDQxLjYlO1xuICB9XG5cbiAgJi1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMzU4cHg7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIC8vIHdpZHRoOiByZW0oMTM5KTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgQGluY2x1ZGUgcGFkKDM3cHggMzVweCAyMHB4IDE4cHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjBweCAzNXB4IDExcHggMThweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDhweCAxNnB4IDI0cHggMTZweCk7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbi1ib3R0b206IC0ycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuICAgICAgY29sb3I6IGNvbG9yKGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDI0ZW07XG4gICAgICBsaW5lLWhlaWdodDogMS42O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWJ1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gIH1cblxuICAmLWljb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwIDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgJi1sYWJlbCB7XG4gICAgZm9udC1zaXplOiByZW0oMTBweCk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMjdlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgfVxuICB9XG5cbiAgJi1pY29uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDMxcHg7XG4gICAgaGVpZ2h0OiAzMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihkYXJrX2dyYXlpc2hfdmlvbGV0KTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAxNnB4O1xuICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNsYXRlOiAwIC0xOHB4XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgZm9udC1zaXplOiByZW0oOXB4KTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIDAuM3MgZWFzZS1vdXQsIG9wYWNpdHkgMC4zcyBlYXNlLW91dDtcbiAgICB9XG5cbiAgICAmLmljb24tdXBjb21pbmctZXZlbnQge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvaWNvbi11cGNvbWluZy1ldmVudC5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTIuNXB4IGF1dG87XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA2LjVweCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaWNvbi1wdWJsaWNhdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2h0bWxfcHJvdG90eXBlL2ltYWdlcy9pY29uLXB1YmxpY2F0aW9uLnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxN3B4IGF1dG87XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5pY29uLW5ld3Mge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9odG1sX3Byb3RvdHlwZS9pbWFnZXMvaWNvbi1uZXdzLnBuZycpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMi4zcHggYXV0bztcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDhweCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY3RhIHtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcih3aGl0ZSkpO1xuICAgIEBpbmNsdWRlIHBhZCg3cHggMjNweCA2cHggMTVweCk7XG4gICAgZm9udC1zaXplOiByZW0oMTZweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDdweCAyMnB4IDdweCAxNnB4KTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOXB4O1xuICAgIH1cbiAgfVxufSIsIi5jYXJkLW1lbWJlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyk7XG4gIC8vIEBpbmNsdWRlIG9tZWdhKDRuKTtcbiAgLy8gbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAuY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgQGluY2x1ZGUgcGFkKDI3cHggMjBweCA0MHB4KTtcbiAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiB0ZWFsO1xuICB9XG5cbiAgLmltYWdlLXdyYXAge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAxMDBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gIH1cblxuICAubWVtYmVyLW5ldHdvcmtzIHtcbiAgICBtYXJnaW46IDAgMCA4cHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgY29sb3I6ICRjb2xvcl9fbWFpbjtcbiAgICBsaW5lLWhlaWdodDogMS41ODtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gIH1cblxuICAubGluay1ub3JtYWwge1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgMjBweCAxOXB4KTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjA1KSk7XG4gICAgYm94LXNoYWRvdzogMCA1MHB4IDQwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuXG4gICAgLmltYWdlLXdyYXAge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMSkpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyKTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAuY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjBweCAxM3B4IDEzcHgpO1xuICAgIH1cblxuICAgIC5pbWFnZS13cmFwIHtcbiAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgLy8gZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgLy8gdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAuZGV0YWlsIHtcbiAgICAvLyAgIHdpZHRoOiBjYWxjKDEwMCUgLSA5MHB4KTtcbiAgICAvLyAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLy8gICBtYXJnaW46IDAgMCAwIDZweDtcbiAgICAvLyAgIHBhZGRpbmctbGVmdDogOXB4O1xuICAgIC8vICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICAvLyB9XG5cbiAgICAubWVtYmVyLW5ldHdvcmtzIHtcblxuICAgICAgbGkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5saW5rLW5vcm1hbCB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihyZWxhdGl2ZSwgaW5oZXJpdCk7XG4gICAgfVxuICB9XG59IiwiLmNhcmQtY2FtcGFpZ24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAvLyBAaW5jbHVkZSBvbWVnYSgybik7XG4gIC8vIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgLy8gbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAvLyAmOmJlZm9yZSB7XG4gIC8vICAgY29udGVudDogJyc7XG4gIC8vICAgQGluY2x1ZGUgc2l6ZSgxOTZweCk7XG4gIC8vICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEyKTtcbiAgLy8gICBAaW5jbHVkZSBmaWx0ZXIoYmx1cig0MnB4KSk7XG4gIC8vICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAtMjdweCAxMTZweCk7XG4gIC8vIH1cblxuICAvLyAmOmhvdmVyIHtcblxuICAvLyAgIC5jb250YWluZXIge1xuICAvLyAgICAgYm94LXNoYWRvdzogMCA1MHB4IDQwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAvLyAgIH1cblxuICAvLyAgIC5pbWFnZSB7XG4gIC8vICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS4xKSk7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgZWFzZS1vdXQpO1xuICB9XG5cbiAgLmltYWdlX3dyYXBwZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxODBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNDIsIDExNiwgNTgsIDAuODkpIDQyJSwgcmdiYSgyNTUsIDEzNCwgODEsIDAuNTYpIDEwMCUpO1xuICAgICAgfVxuXG4gICAgICAmLm5vLWJnIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvY2FtcGFpZ24tYmcuanBnJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ28ge1xuICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCAwKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICB3aWR0aDogMTYwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgd2lkdGg6IDg3cHg7XG5cbiAgICAgIC5sb2dvIHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICB9XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxODBweCk7XG4gICAgQGluY2x1ZGUgcGFkKDI4cHggMzBweCA2MHB4IDI4cHgpO1xuXG4gICAgLmZvY3VzIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTApO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS42cHg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IGVtKDE2KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ3cHg7XG4gICAgICBjb2xvcjogJGNvbG9yX19tYWluO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuc3VtbWFyeSB7XG4gICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjNweDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgfVxuXG4gICAgLnByaW1hcnktY2FsbC1hY3Rpb24ge1xuICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgICBsaW5lLWhlaWdodDogMS4xNjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zOHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIEBpbmNsdWRlIHBhZCg3cHggMTNweCk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCBudWxsIDIwcHggMjhweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNjBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDg3cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzMCUpO1xuICAgICAgQGluY2x1ZGUgcGFkKDE2cHggMThweCAyM3B4KTtcblxuICAgICAgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgfVxuXG4gICAgICAuc3VtbWFyeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgIH1cblxuICAgICAgLnByaW1hcnktY2FsbC1hY3Rpb24ge1xuICAgICAgICBsZWZ0OiAxOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLmNhcmQtY2FtcGFpZ24ge1xuICBkaXNwbGF5OiBibG9jaztcblxuICAmLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1pbi1oZWlnaHQ6IDQ5MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICBtaW4taGVpZ2h0OiA0NzVweDtcbiAgICB9XG4gIH1cblxuICAmLWxlZnQge1xuICAgIG1heC13aWR0aDogNjY2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgLy8gZmxleC1zaHJpbms6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3JhaW5ib3cuanBnJyk7XG4gICAgQGluY2x1ZGUgcGFkKDMzcHggMzlweCA2M3B4KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShjb2xvcihkYXJrX2dyYXlpc2hfcmVkKSwgMC41KTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBtYXgtd2lkdGg6IDY5MHB4O1xuICAgICAgQGluY2x1ZGUgcGFkKDMzcHggMjBweCA2M3B4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB3aWR0aDogNTUlO1xuICAgICAgQGluY2x1ZGUgcGFkKDEycHggMTNweCAzMnB4KTtcbiAgICB9XG5cbiAgfVxuXG4gICYtaGVhZGluZyB7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBmb250LXNpemU6IHJlbSgzNXB4KTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjIyO1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgZm9udC1zaXplOiByZW0oMjBweCk7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICB9XG4gIH1cblxuICAmLXJpZ2h0IHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIEBpbmNsdWRlIHBhZCgyNHB4IDcxcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyNHB4IDI1cHgpO1xuICAgICAgbWluLXdpZHRoOiAzMDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMTZweCA5cHgpO1xuICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgICAgd2lkdGg6IDQ4JTtcbiAgICB9XG5cbiAgfVxuXG4gICYtbGFiZWwge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgfVxuICB9XG5cbiAgJi1pbml0aWF0aXZlcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICBtYXgtd2lkdGg6IDM5MnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC5zdW1tYXJ5e1xuICAgICAgdWwsIG9se1xuXG5cbiAgICAgICAgbGl7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMTA0ODdhO1xuICAgICAgICAgICAgd2lkdGg6IDVweDtcbiAgICAgICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGE6bGFzdC1jaGlsZHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtaXRlbSB7XG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgJi1wYXIge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyLjhweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMDVlbTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuICB9XG5cbiAgJi1jdGEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIEBpbmNsdWRlIHBhZCg3cHggMjNweCA3cHggMTVweCk7XG4gICAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLmNhcmQtaW1hZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIH1cblxuICAmLWZyYW1lIHtcbiAgICAvLyB3aWR0aDogMjE0cHg7XG4gICAgd2lkdGg6IDQwLjklO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgd2lkdGg6IHJlbSgxNzkpO1xuICAgIH1cblxuICAgICYtaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtaW4taGVpZ2h0OiAzNThweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDI0NXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBwYWQoMzhweCA0NXB4IDYxcHggMThweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyMHB4IDQ1cHggMjBweCAxOHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoOHB4IDhweCAyNHB4IDE2cHgpO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGNvbG9yOiAjMzIzMjMyO1xuICAgIGZvbnQtc2l6ZTogcmVtKDMxcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIH1cblxuICAmLWN0YSB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBAaW5jbHVkZSBwYWQoN3B4IDIzcHggN3B4IDE1cHgpO1xuICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKHdoaXRlKSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgfVxufSIsIi50ZXN0aW1vbmlhbHMtc2xpZGVyLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi50ZXN0aW1vbmlhbHMtc2xpZGVyIHtcbiAgbWFyZ2luOiA1MHB4IDA7XG5cbiAgLnNsaWNrLWRvdHMge1xuICAgIGJvdHRvbTogLTM1cHg7XG5cbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDZweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICAgIG1hcmdpbjogMCA0cHg7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoN3B4KTtcbiAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHQ7XG4gICAgICB9XG5cbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIG1hcmdpbjogMjVweCAwO1xuICB9XG5cbiAgLmxhbmRpbmctc2xpZGUtaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbn1cblxuLnRlc3RpbW9uaWFscy1zbGlkZXItcHJldiwgLnRlc3RpbW9uaWFscy1zbGlkZXItbmV4dCB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgei1pbmRleDogMTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiA2cHggMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvdXRsaW5lOiBub25lO1xuICBAaW5jbHVkZSBzaXplKDQycHgpO1xuXG4gIHN2ZyB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgIG1hcmdpbjogYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBzaXplKDMwcHgpO1xuICB9XG59XG5cbi50ZXN0aW1vbmlhbHMtc2xpZGVyLXByZXYge1xuICBsZWZ0OiAyMHB4O1xufVxuXG4udGVzdGltb25pYWxzLXNsaWRlci1uZXh0IHtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG59XG5cbi50ZXN0aW1vbmlhbHMtc2xpZGUge1xuICBwYWRkaW5nOiA0MHB4IDc1cHg7XG4gIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcblxuICBoMyB7XG4gICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG5cbiAgLnRleHQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLnRleHQtZnVsbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4udGVzdGltb25pYWxzLXNpbmdsZS1oZWFkZXIge1xuICBmb250LXNpemU6IHJlbSgxMCk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gIG1hcmdpbi1ib3R0b206IDlweDtcbiAgZGlzcGxheTogbm9uZTtcbn0iLCJwIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBsaW5lLWhlaWdodDogMS43MTtcblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY5O1xuICB9XG59XG5cbmgyIHtcbiAgZm9udC1zaXplOiBlbSgzNSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGxldHRlci1zcGFjaW5nOiAtMS4yM3B4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IGVtKDMxKTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTEuMDlweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIGZvbnQtc2l6ZTogZW0oMjIpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC43N3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxufVxuXG5zdHJvbmcge1xuICBmb250LXNpemU6IHJlbSgxNSk7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjY3O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzE7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQxcHg7XG4gIH1cbn1cblxuLnBhcmFncmFwaCB7XG4gIEBpbmNsdWRlIHBhZCgwIDAgMTAwcHgpO1xuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC5pbnRyb2R1Y3Rpb24ge1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwcHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc0O1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuXG4gICAgLm5vZGUtdHlwZS1jYW1wYWlnbi1wcm9ncmFtbWUgJiB7XG4gICAgICBjb2xvcjogY29sb3IoZGFya19ncmF5aXNoX3JlZCk7XG4gICAgfVxuXG4gICAgLnBhZ2Utbm9kZS0xMzYyICYge1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICB9XG5cbiAgICAuZXZlbnRzLWxhbmRpbmctcGFnZSAmIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxuXG4gIC8qXG4gIHVsOm5vdCguc2xpY2stZG90cykge1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaTpub3QoLm9yYW5nZS1saXN0LXN0eWxlIC50aWNrZXQpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzO1xuICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDFweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE5cHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9saXN0LWRvdC5wbmcnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDRweCBhdXRvO1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICovXG59XG5cbi5wYXJhZ3JhcGgtdGV4dCB7XG5cbiAgLnByaW1hcnktY2FsbC1hY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgfVxuXG4gIC5saW5rcyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAgIGEge1xuICAgICAgLy8gZmxvYXQ6IGxlZnQ7XG4gICAgICAvLyBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgcGFkZGluZzogMTNweCA0MnB4IDExcHggMzNweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDRweDtcbiAgICAgIH1cblxuICAgICAgJjpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuXG4ucGFyYWdyYXBoLWxpc3Qge1xuICBtYXJnaW46IDMwcHggMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzM7XG4gIH1cblxuICAudGV4dCB7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbn1cblxuLnBhcmFncmFwaC1ldmVudHMge1xuXG4gIC5jYXJkLWhvcml6b250YWwtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNzVweCwgMWZyKSk7XG4gICAgZ2FwOiAxMHB4IDEwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLXRvcGljIHtcbiAgICBtaW4taGVpZ2h0OiAzMThweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1heC13aWR0aDogMjg2cHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG5cbiAgICAudG9waWMtYmxvY2sge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBtaW4taGVpZ2h0OiAzMThweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2Vjb25kYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgLnNlY29uZGFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay1saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG5cbiAgLnNsaWNrLWRvdHMge1xuICAgIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cbiAgfVxufVxuXG4ucGFyYWdyYXBoLW1lbWJlcnMge1xuXG4gIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICB9XG5cbiAgdWwubWVtYmVyLWxpc3Qge1xuICAgIG1hcmdpbjogMjVweCAwIDIzcHg7XG5cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBzaXplKDgwcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCAwKTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICB1bC5tZW1iZXItbGlzdCB7XG4gICAgICBtYXJnaW46IDE1cHggMDtcblxuICAgICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoODBweCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNDBweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCAwKTtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5wYXJhZ3JhcGgtcHVibGljYXRpb25zIHtcblxuICBoNCB7XG4gICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgIG1hcmdpbjogMjYuNXB4IDAgMjhweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICBsZXR0ZXItc3BhY2luZzogMi44cHg7XG4gIH1cblxuICAucGFyYWdyYXBoLXB1YmxpY2F0aW9ucy1saXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cblxuICAgIC5tZXRhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICAgIG1hcmdpbjogMCAzcHggMCAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNnB4O1xuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDFweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIGg0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5wYXJhZ3JhcGgtZ2FsbGVyeSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuaXRlbSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBjYWxjKCgxMDAlIC0gMzBweCkgLyAzKTtcbiAgICBtYXJnaW46IDAgMTVweCAxNXB4IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6bnRoLW9mLXR5cGUoM24pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IDcwJTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbiAgICAgIH1cblxuICAgICAgLmltZyB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjEpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW1nIHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuICB9XG5cbiAgLmdhbGxlcnktY291bnQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgfVxuXG4gIC5vcGVuLWdhbGxlcnktbGluayB7XG4gICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAuaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygoMTAwJSAtIDE1cHgpIC8gMik7XG4gICAgICBtYXJnaW46IDAgMTVweCAxNXB4IDA7XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoM24pIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgfVxuXG4gICAgICAmOm50aC1vZi10eXBlKDJuKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAbWVkaWEgKG1heC13aWR0aDogNTAwcHgpIHtcblxuICAgIC5pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luOiAwIDAgMTVweDtcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ub3JhbmdlLWxpc3Qtc3R5bGUge1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xuICBmb250LXNpemU6IHJlbSgxMyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgd2lkdGg6IDNweDtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IC0xLjVweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDtcblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG4gIH1cbn1cblxuLnByYWN0aWNhbC1pbmZvcm1hdGlvbiB7XG4gIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgcGFkZGluZzogNDBweCAzNnB4O1xuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAkc3BhY2VkLWxldHRlcnM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIGRsIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgZHQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJG9yYW5nZV9icmlnaHRfMjtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICBkZCB7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQsXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLnBhcmFncmFwaC10ZXh0IC50ZXh0IHVsIHtcbiAgQGluY2x1ZGUgYnVsbGV0LXBvaW50cygpO1xufVxuXG4jcGFyYWdyYXBoLTQsXG4jcGFyYWdyYXBoLTYsXG4jcGFyYWdyYXBoLTgge1xuICAmIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTVweDtcbiAgfVxuXG4gICYgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaW5jbHVkZSBwYWQoN3B4IDIwcHgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGJveC1zaGFkb3c6IDVweCA1cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuI3BhcmFncmFwaC03IHtcblxuICAmIHVsIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gICAgZ2FwOiAyMHB4IDE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogOTRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAmIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgIG1pbi1oZWlnaHQ6IDE0NHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIycHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBAaW5jbHVkZSBwYWQoMThweCAxNnB4KTtcblxuICAgIH1cbiAgfVxufVxuXG4ucGFyYWdyYXBoLmludHJvZHVjdGlvbiB7XG4gIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiByZW0oMTUpO1xuICBsaW5lLWhlaWdodDogMS44O1xufVxuXG4ucGFyYWdyYXBoLWRldGFpbHMge1xuICBtYXJnaW46IDUwcHggMDtcbiAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICBwYWRkaW5nOiA0NXB4IDMzcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cblxuICBkbCB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICB9XG5cbiAgZHQsXG4gIGRkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgZHQge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgd2lkdGg6IDEyMHB4O1xuICB9XG5cbiAgZGQge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgfVxuXG59XG5cbi5wYXJhZ3JhcGgtaWNvbi1saXN0IHtcblxuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDMwcHg7XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuXG4gIGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICB9XG5cbiAgdWwge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG59XG5cbi5wYXJhZ3JhcGgtYWN0aXZpdGllcyB7XG5cbiAgaDMuc2VjdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgIG1hcmdpbjogMzBweCAwO1xuICB9XG5cbn1cblxuLnBhcmFncmFwaC1zcGVha2VycyB7XG5cbiAgaW1nIHtcbiAgICBAaW5jbHVkZSBzaXplKDExOXB4KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBib3JkZXItcmFkaXVzOiAxMTlweDtcbiAgfVxuXG4gIGgzIHtcbiAgICBmb250LXNpemU6IHJlbSgxNyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuNHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbiAgYS5mYW5jeWJveCB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICRvcmFuZ2VfYnJpZ2h0O1xuICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gIC5ldmVudC1zcGVha2VycyB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuZXZlbnQtc3BlYWtlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgQGluY2x1ZGUgcGFkKDE3cHggMTBweCAxNHB4IDI4cHgpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgfVxuXG4gIC50ZXh0LXdyYXAge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxNTRweCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAuZXZlbnQtc3BlYWtlci1qb2ItdGl0bGUge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY1O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAudGV4dCB7XG4gICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgaW1nIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoODRweCk7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC5ldmVudC1zcGVha2VyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBwYWQoMTZweCAwKTtcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0LXdyYXAge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICB9XG5cbiAgICAuZXZlbnQtc3BlYWtlci1qb2ItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxufVxuXG4ubWFpbi13aXRoLXNpZGViYXI+LnlvdXR1YmUtY29udGFpbmVyLS1yZXNwb25zaXZlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbn0iLCJAbWl4aW4gZmlsdGVyLXdpZHRoKCRuKSB7XG5cbiAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRufSksXG4gICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skbn0pfi52aWV3cy1leHBvc2VkLXdpZGdldCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLnBhZ2Utc3R5bGUge1xuXG4gIC52aWV3LWZpbHRlcnMge1xuICAgIHotaW5kZXg6IDEwO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgLTM1cHggbnVsbCBudWxsIDApO1xuICAgIC8vIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgICAudmlld3MtZXhwb3NlZC13aWRnZXRzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAudmlld3MtZXhwb3NlZC13aWRnZXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgQGluY2x1ZGUgcGFkKDE4cHggMjhweCAxMHB4IDI0cHgpO1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGVhc2Utb3V0KTtcblxuICAgICAgLy8gSW5jbHVkaW5nIHN1Ym1pdCBidXR0b24gd2hpY2ggaXMgaGlkZGVuXG4gICAgICBAaW5jbHVkZSBmaWx0ZXItd2lkdGgoMykge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBmaWx0ZXItd2lkdGgoNCkge1xuICAgICAgICB3aWR0aDogMzMuMyU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGZpbHRlci13aWR0aCg1KSB7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGZpbHRlci13aWR0aCg2KSB7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtNXB4IG51bGwgbnVsbCAwKTtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlIDNweCk7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDIyMm1zIGVhc2Utb3V0KTtcbiAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgfVxuXG4gICAgICAmLmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6bm90KC52aWV3cy1zdWJtaXQtYnV0dG9uKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5X2dyYXlpc2hfYmx1ZTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAgICY6bm90KC52aWV3cy13aWRnZXQtZmlsdGVyLXRpdGxlX2ZpZWxkX3ZhbHVlKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG5cblxuXG5cblxuICAgIH1cblxuICAgICNlZGl0LWZpZWxkLW5ld3MtdHlwZS10YXJnZXQtaWQtd3JhcHBlcntcbiAgICAgIHotaW5kZXg6IDUwO1xuXG4gICAgICAubmV3cy1sYWJlbHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgfVxuXG4gICAgICAuYmVmLXNlbGVjdC1hcy1jaGVja2JveGVze1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDI0cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MHB4O1xuICAgICAgICB3aWR0aDogNDAwcHggIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4wNik7XG4gICAgICAgIGxlZnQ6IC0zMHB4O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LWZhbWlseTogXCJQb3BwaW5zXCIsIHNhbnMtc2VyaWY7XG5cbiAgICAgICAgLmJlZi10b2dnbGV7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYmVmLWNoZWNrYm94ZXN7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBnYXA6IDEwcHggMjBweDtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS1pdGVte1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBnYXA6IDAgMTBweDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgbGFiZWx7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGNvbG9yOiAjNTQ1MTUxO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmFjdGlvbnN7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtYXJnaW46IDEwcHggMCAtNXB4O1xuICAgICAgfVxuXG4gICAgICAmLm9wZW57XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgIC5iZWYtc2VsZWN0LWFzLWNoZWNrYm94ZXN7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAxLjZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIH1cblxuICAgIC8vIFNlYXJjaCBpbnB1dFxuICAgIC52aWV3cy13aWRnZXQtZmlsdGVyLXRpdGxlX2ZpZWxkX3ZhbHVlLFxuICAgIC52aWV3cy13aWRnZXQtZmlsdGVyLWtleXMge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTFweCk7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAzM3B4IDI1cHggbnVsbCBudWxsKTtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc2VhcmNoLnN2ZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAyMjJtcyBlYXNlLW91dCk7XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmZvcm0tdGV4dCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MC41cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAyMHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDQwcHgpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3BsdXMucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEzcHggYXV0bztcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAudmlld3Mtd2lkZ2V0IHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDQwcHg7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDFweCAyOHB4KTtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgMCA0MHB4KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWQoOXB4IDI3cHggOHB4IDEycHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZpbHRlciBPcmRlciBieSAmJiBGaWx0ZXIgU3VibWl0IGJ1dHRvblxuICAgIC52aWV3cy1zdWJtaXQtYnV0dG9uLFxuICAgIC52aWV3cy13aWRnZXQtc29ydC1vcmRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAvLyBTZWxlY3QyXG4gICAgLnNlbGVjdDIge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuXG4gICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBzcGFuLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjkyO1xuICAgICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM4cHg7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgbnVsbCk7XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc29ydC1hcnJvdy5zdmcnKSBuby1yZXBlYXQgcmlnaHQgN3B4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNi41cHggYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIHVsLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgICAgd2lkdGg6IDk5OTlweDtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjkyO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjM4cHg7XG4gICAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0Mi1zZWFyY2hfX2ZpZWxkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19hcnJvdyxcbiAgICAgICAgLnNlbGVjdDItc2VhcmNoLnNlbGVjdDItc2VhcmNoLS1pbmxpbmU6bm90KDpvbmx5LWNoaWxkKSxcbiAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcblxuICAgICAgJi5tb2JpbGUtdG9nZ2xlZCB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAxMDVweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA2ODBweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihmaXhlZCwgMCBudWxsIG51bGwgMCk7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDcxLCA2OSwgNjksIDAuOSk7XG4gICAgICAgIH1cblxuICAgICAgICAudmlld3MtZXhwb3NlZC13aWRnZXQ6bm90KC52aWV3cy13aWRnZXQtZmlsdGVyLXRpdGxlX2ZpZWxkX3ZhbHVlLCAudmlld3Mtc3VibWl0LWJ1dHRvbikge1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgIHBhZGRpbmc6IDE2cHggMjZweCAxNXB4O1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYudmlld3Mtd2lkZ2V0LXNvcnQtYnkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAudmlld3Mtd2lkZ2V0LFxuICAgICAgICAgIC5mb3JtLWl0ZW0tc29ydC1ieSAuc2VsZWN0MiB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCkgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMjBweCkgOXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52aWV3cy1zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZzogOHB4IDIwcHggMjVweDtcbiAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudmlld3Mtd2lkZ2V0LWZpbHRlci10aXRsZV9maWVsZF92YWx1ZSB7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgIG1heC13aWR0aDogNjgwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB0b3A6IDI1cHg7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG5cbiAgICAgICYubW9iaWxlLXRvZ2dsZWQge1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgLnZpZXdzLXdpZGdldC1maWx0ZXItdGl0bGVfZmllbGRfdmFsdWUge1xuICAgICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgICAgcmlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2VsZWN0IDIgY29udGFpbmVyXG4uc2VsZWN0Mi1jb250YWluZXIge1xuXG4gIC5zZWxlY3QyLXNlYXJjaC0tZHJvcGRvd24ge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAuc2VsZWN0Mi1kcm9wZG93biB7XG4gICAgLy93aWR0aDogNDAwcHggIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgQGluY2x1ZGUgcGFkKDE2cHggMCAxOHB4KTtcbiAgICB0b3A6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgIGJvcmRlcjogMDtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIHdpZHRoOiAyMDBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6bm90KC5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZSkge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSgyNHB4KTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0xMnB4IG51bGwgbnVsbCBjYWxjKDUwJSAtIDUwcHgpKTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9vcHRpb25zLWFycm93LnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgdG9wO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDI0cHggYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlbGVjdDItZHJvcGRvd24tLWFib3ZlIHtcbiAgICAgIG1hcmdpbi10b3A6IC01MHB4O1xuICAgIH1cblxuICAgIC5zZWxlY3QyLXNlYXJjaF9fZmllbGQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1yZXN1bHRzIHtcblxuICAgICAgLnNlbGVjdDItcmVzdWx0c19fb3B0aW9ucyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDI1MHB4O1xuICAgICAgfVxuXG4gICAgICAuc2VsZWN0Mi1yZXN1bHRzX19vcHRpb24ge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMTBweCAxMHB4IDhweCA1MHB4KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9vcHRpb24tbm9uLnBuZycpIG5vLXJlcGVhdCAyM3B4IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNnB4IGF1dG87XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBsaW5lYXIpO1xuXG4gICAgICAgICZbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL29wdGlvbi1hY3RpdmUucG5nJykgbm8tcmVwZWF0IDIzcHggY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTZweCBhdXRvO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgIC5zZWxlY3QyLWRyb3Bkb3duIHtcbiAgICAgIHdpZHRoOiA0NTBweCAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiA4NXZ3O1xuICAgICAgYm94LXNoYWRvdzogMCA1cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBsZWZ0OiAyMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAuc2VsZWN0Mi1kcm9wZG93biB7XG5cbiAgICAgIC5zZWxlY3QyLXJlc3VsdHMge1xuXG4gICAgICAgIC5zZWxlY3QyLXJlc3VsdHNfX29wdGlvbiB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkKDhweCAxMHB4IDZweCAzOHB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxOHB4IDEycHg7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuXG4gICAgICAgICAgJlthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxOHB4IDEycHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggYXV0bztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnNlbGVjdDItY29udGFpbmVyLS1jbGFzc2ljLnNlbGVjdDItY29udGFpbmVyLS1vcGVuIHtcblxuICAuc2VsZWN0Mi1kcm9wZG93bi0tYmVsb3cge1xuICAgIGJvcmRlcjogMDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIE1vYmlsZSBmaWx0ZXIgY2xvc2Vcbi5tb2JpbGUtZmlsdGVyLWNsb3NlIHtcbiAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0zMHB4IDAgbnVsbCBudWxsKTtcbiAgQGluY2x1ZGUgc2l6ZSgxMHB4KTtcbiAgei1pbmRleDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9jbG9zZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICByaWdodDogMjBweDtcbiAgfVxufVxuXG4vLyAudmlldy1uZXdzLXB1YmxpY2F0aW9ucyB7XG5cbi8vICAgLnZpZXctZmlsdGVycyB7XG4vLyAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG4vLyAgICAgcG9zaXRpb246IHN0YXRpY1xuLy8gICB9XG5cbi8vICAgLnZpZXctZmlsdGVycy1pbm5lciB7XG4vLyAgICAgQGluY2x1ZGUgcGFkKDMxcHggMCAzMnB4KTtcbi8vICAgfVxuLy8gfVxuXG4udmlldy1maWx0ZXJzLWlubmVyIHtcbiAgQGluY2x1ZGUgcGFkKDMxcHggMCAzMnB4KTtcbn1cbiIsIi5mYW5jeWJveC1jb250YWluZXIge1xuXG4gIC5mYW5jeWJveC1iZyB7XG4gICAgYmFja2dyb3VuZDogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICB9XG5cbiAgLmZhbmN5Ym94LXNsaWRlIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIHBhZGRpbmc6IDAgMzVweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgfVxuICB9XG5cbiAgLmZhbmN5Ym94LXRlc3RpbW9uaWFsIHtcbiAgICBAaW5jbHVkZSBwYWQoMCAyMHB4KTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblxuICAgIC53cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiA3NTBweDtcbiAgICAgIEBpbmNsdWRlIHBhZCg2MHB4IDgycHgpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCg1MHB4KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMjVweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZhbmN5Ym94LWNsb3NlLXNtYWxsIHtcbiAgICBAaW5jbHVkZSBzaXplKDEwcHgpO1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2ZhbmN5LWNsb3NlLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnByZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiBlbSgxMCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjZweDtcbiAgfVxuXG4gIGgyIHtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICBmb250LXNpemU6IGVtKDE3KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuNHB4O1xuICB9XG5cbiAgcCB7XG4gICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjE7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgfVxuXG4gIC5jYXJkLWltYWdlLWxpbmtzIHtcbiAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICB9XG59IiwiLnNvY2lhbC1tZWRpYV9faWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgc2l6ZSgzM3B4KTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDJweCAxNnB4IDAgMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB6LWluZGV4OiAxO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDMzcHg7XG5cbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgQGluY2x1ZGUgc2l6ZSgyNHB4KTtcbiAgICBib3JkZXItcmFkaXVzOiAzM3B4O1xuICAgIG1hcmdpbi1yaWdodDogMTFweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHotaW5kZXg6IGluaXRpYWw7XG5cbiAgICAmOmhvdmVyIHtcblxuICAgICAgc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMjhweCk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMzcHg7XG4gICAgICAgIG1hcmdpbjogLTE0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuXG4gIHNwYW4ge1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgIEBpbmNsdWRlIHNpemUoMCk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDUwJSBudWxsIG51bGwgNTAlKTtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAwLjNzKTtcbiAgfVxuXG4gIHBhdGgge1xuICAgIGZpbGw6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcbiAgfVxuXG4gIHN2ZyB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcblxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcblxuICAgIHNwYW4ge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgzM3B4KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMzcHg7XG4gICAgICBtYXJnaW46IC0xNi41cHg7XG4gICAgfVxuICB9XG5zdmd7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDE1cHg7XG59XG4gICYudHdpdHRlcntcbiAgICBzdmd7XG4gICAgICB3aWR0aDoyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICYuaW5zdGFncmFte1xuICAgIHN2Z3tcbiAgICAgIHdpZHRoOjE4cHg7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgfVxuICB9XG4gICYueW91dHViZXtcbiAgICBzdmd7XG4gICAgICB3aWR0aDoyMXB4O1xuICAgICAgaGVpZ2h0OiAyMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiI2NvbW1lbnRzIHtcbiAgQGluY2x1ZGUgcGFkKDQ3cHggNDhweCA0M3B4IDQ1cHgpO1xuICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcblxuICAuY29tbWVudC10aXRsZSB7XG4gICAgZm9udC1zaXplOiBlbSgxNyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yOTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC40cHg7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gIH1cblxuICAudGV4dCB7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuICB9XG5cbiAgLmZvcm0tdHlwZS10ZXh0YXJlYSB7XG4gICAgbWFyZ2luOiAwIDAgMTFweDtcblxuICAgIC50ZXh0LWZ1bGwge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBtYXJnaW46IDExcHggMCAzMHB4O1xuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4xNjtcbiAgICAgIEBpbmNsdWRlIHBhZCg4cHggMTNweCA2cHggMTRweCk7XG4gICAgfVxuICB9XG5cbiAgLmNvbW1lbnQge1xuICAgIEBpbmNsdWRlIHBhZCgyMHB4IDAgMCk7XG5cbiAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRncmF5X3ZlcnlfbGlnaHQ7XG4gICAgfVxuXG4gICAgLnN1Ym1pdHRlZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB9XG5cbiAgICAgIC5jcmVhdGVkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgIH1cblxuICAgICAgLm5hbWUge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0taXRlbS1uYW1lLFxuICAuZ3JpcHBpZSwgLmxpbmtzLFxuICAudGl0bGUsIGxhYmVsLFxuICAud2FybmluZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIEBpbmNsdWRlIHBhZCg0MHB4IDIwcHgpO1xuXG4gICAgLmNvbW1lbnQtdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG5cbiAgICAgIC51c2VybmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS10eXBlLXRleHRhcmVhIHtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBtYXJnaW46IDE1cHggMDtcbiAgICB9XG5cbiAgICAuY29tbWVudCB7XG5cbiAgICAgIC5zdWJtaXR0ZWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cblxuICAgICAgICAuY3JlYXRlZCB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuc2hhcmUtd3JhcHBlciB7XG4gIG1hcmdpbjogMTAwcHggMDtcblxuICAuc3BhbiwgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgQGluY2x1ZGUgc2l6ZSgzM3B4KTtcbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBjb2xvcjogJGdyYXlfZGFyaztcbiAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICBsaW5lLWhlaWdodDogMS41NztcbiAgICBtYXJnaW4tcmlnaHQ6IDEzcHg7XG4gIH1cblxuICBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlX2JyaWdodF8yO1xuICAgIHBhZGRpbmc6IDRweCAwIDAgOXB4O1xuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICB9XG5cbiAgICAuamlhdGhpc190eHQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCAwIDApO1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdmcsIGcge1xuICAgICAgZmlsbDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgbWFyZ2luOiA2MHB4IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgbWFyZ2luOiAyMHB4IDIwcHggNDVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAudGV4dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICB9XG4gIH1cbn0iLCIub3JhbmdlLWJhbm5lciB7XG4gIHBhZGRpbmc6IDc1cHggMDtcblxuICAmLWlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDM1cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIH1cblxuICAmLXRleHQge1xuICAgIG1heC13aWR0aDogODgzcHg7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cblxuICAuc2Vjb25kYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6ICR3aGl0ZTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDQ1cHggMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBwYWRkaW5nOiA0MHB4IDIwcHggMzVweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiByZW0oMjFweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjYxcHg7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDdweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgLnNlY29uZGFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICBwYWRkaW5nOiA5cHggMjRweCA3cHg7XG4gICAgfVxuICB9XG59IiwiLm9yYW5nZS10ZXh0LWJsb2NrIHtcblxuICAudG9wIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHdoaXRlO1xuICAgIHBhZGRpbmctYm90dG9tOiAzNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgfVxuXG4gIC5sZWZ0IHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgfVxuICB9XG5cbiAgLnJpZ2h0IHtcbiAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuICAgIH1cbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuOThweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIH1cblxuICAuc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU3O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC40MXB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIEBpbmNsdWRlIHBhZCg0MHB4IDIwcHggMzdweCk7XG5cbiAgICAudG9wIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM2O1xuICAgIH1cblxuICAgIC5yaWdodCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufSIsIi5wcm9ncmFtbWUtaGVhZGVyIHtcbiAgei1pbmRleDogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYtYmFja2dyb3VuZCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCBhdXRvIGF1dG8pO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG5cbiAgJi1pbm5lciB7XG4gICAgbWluLWhlaWdodDogNTI3cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKHdoaXRlKSwgMC45KTtcbiAgICBtYXgtd2lkdGg6IDYzN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgQGluY2x1ZGUgcGFkKDI4cHggMjVweCAyNXB4KTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gIH1cblxuICAmLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogcmVtKDQ5KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIG1hcmdpbjogMCAwIDlweDtcbiAgICBsaW5lLWhlaWdodDogMS4wNjtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDAzZW07XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLmxvZ28td3JhcCB7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDcwJSk7XG4gICAgQGluY2x1ZGUgc2l6ZSgxNjBweCk7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcblxuICAgIGltZyB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB3aWR0aDogNzAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tYmFjayB7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDE1cHggbnVsbCBudWxsIDIwcHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblxuXG4gICAgLmxvZ28td3JhcCB7XG4gICAgICBsZWZ0OiA2NSU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgLmxvZ28td3JhcCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiA3MiU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBAaW5jbHVkZSBzaXplKDE1NXB4KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgLmxvZ28td3JhcCB7XG4gICAgICBAaW5jbHVkZSBzaXplKDkxcHgpO1xuICAgICAgdG9wOiAtMTQwcHg7XG4gICAgICByaWdodDogLTIwcHg7XG4gICAgICBib3R0b206IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgLnByb2dyYW1tZS1oZWFkZXItc3BvbnNvcnMge1xuXG4gICAgbWFyZ2luLWJvdHRvbTogLTg1cHg7XG5cbiAgICAuc3BvbnNvcnMtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAkc3BhY2VkLWxldHRlcnM7XG4gICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAuc3BvbnNvcnMtbG9nb3Mge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTU1cHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWF4LWhlaWdodDogMTUwcHg7XG4gICAgICB9XG5cbiAgICAgICYudHdvLWxpbmVzIHtcblxuICAgICAgICAuc3BvbnNvcnMtbG9nbyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5zcG9uc29ycy1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLm5ld3NsZXR0ZXItc2lnbnVwLWZvcm0ge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1heC13aWR0aDogNzUwcHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG5cbiAgaWZyYW1lIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmJsb2NrIHtcbiAgICBtYXJnaW4tbGVmdDogMjMwcHg7XG4gICAgcGFkZGluZzogMjBweDtcbiAgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG5cbiAgLm1haWxjaGltcC1zaWdudXAtc3Vic2NyaWJlLWZvcm0tZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICB9XG5cbiAgLmZvcm0taXRlbSB7XG4gICAgJi5mb3JtLWl0ZW0tbWVyZ2V2YXJzLUZOQU1FLCAmLmZvcm0taXRlbS1tZXJnZXZhcnMtTE5BTUUge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6JyonO1xuICAgICAgICAgIGNvbG9yOiAjZjAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmLmZvcm0taXRlbS1tZXJnZXZhcnMtTU1FUkdFNSB7XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDonKic7XG4gICAgICAgICAgY29sb3I6ICNmMDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB0ZXh0LWluZGVudDogMTBweDtcbiAgICB9XG4gIH1cblxuICAubmwtbWFpbGluZy1saXN0LXNlbGVjdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIGJhY2tncm91bmQ6ICNGRkY7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgcGFkZGluZzogN3B4IDEzcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDMzM21zIGxpbmVhcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9zdmcvYXJyb3ctZG93bi5zdmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgfVxuXG4gIH1cbiAgLm5sLW1haWxpbmctbGlzdC1zZWxlY3QtaW5uZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogLTFweDtcbiAgICByaWdodDogLTFweDtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDNweDtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogM3B4O1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBpbnB1dCwgbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5ubC1tYWlsaW5nLWxpc3Qtc2VsZWN0LWxpc3Qge1xuICAgICAgcGFkZGluZzogMCAyMHB4IDEwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiAxODBweDtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIH1cbiAgICB9XG4gICAgLmNoZWNrYm94LXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWl0ZW0tbWFpbGluZy1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjtcbiAgICBsYWJlbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAvLyY6OmFmdGVyIHtcbiAgICAgIC8vICBjb250ZW50OiAnKic7XG4gICAgICAvLyAgY29sb3I6ICNmMDA7XG4gICAgICAvLyAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgIC8vfVxuICAgIH1cbiAgfVxuICAubmwtbWFpbGluZy1saXN0LWFjdGlvbnMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICB9XG4gIC5ubC1tYWlsaW5nLWxpc3Qtc2VsZWN0LWFjdGlvbnMge1xuICAgIHBhZGRpbmc6IDEycHggMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuICB9XG4gIC5ubC1tYWlsaW5nLWxpc3Qtc2VsZWN0LWRvbmUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuICAubmwtbWFpbGluZy1saXN0LWFjdGlvbnMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAuYmxvY2sge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuICAucHJpbWFyeS1jYWxsLWFjdGlvbiB7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHQ7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggJG9yYW5nZV9icmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tdHlwZS1jaGVja2JveGVzID4gbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAubWlzc2luZy1maWVsZHN7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6IHJnYigyNTUsIDAsIDApO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICB9XG5cbn1cblxuLnBhZ2UtbmV3c2xldHRlciB7XG4gICNjb250ZW50LWFyZWEge1xuICAgIC5uZXdzbGV0dGVyLXNpZ251cC1mb3JtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogNTBweCAwO1xuICAgICAgbWF4LXdpZHRoOiA4MDBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJtb2JpbGUpIHtcbiAgICAgICAgLmJsb2NrIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5hcmVhLWNoYXJ0LCAuc2luZ2xlLWFyZWEtY2hhcnQsXG4ubGluZS1jaGFydCxcbi5iYXItbGluZS1jaGFydCwgLmJhci1jaGFydCB7XG5cbiAgLmhpZ2hjaGFydHMtdGljayxcbiAgLmhpZ2hjaGFydHMtYXhpcy1saW5lOmxhc3Qtb2YtdHlwZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tYWluRGF0YSB7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICB9XG5cbiAgLnN1YkRhdGEge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAuY29sdW1uLW51bWJlciB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG5cbiAgLnBsb3RsaW5lLWxhYmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNHB4KSk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHNpemUoMTZweCk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMTJweCBudWxsIG51bGwgLTMwcHgpO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHNpemUoMTBweCAycHgpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDE5cHggbnVsbCBudWxsIC0yMHB4KTtcbiAgICB9XG5cbiAgICAmLnF1b3RlIHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9xdW90ZS1wbG90bGluZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggYXV0bztcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM2NjRmYTM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi50YXJnZXQge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3RhcmdldC1wbG90bGluZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE2cHggYXV0bztcbiAgICAgIH1cblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNhYjllY2M7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhpZ2hjaGFydHMtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTFweCkpO1xuICB9XG59XG4uYXJlYS1jaGFydCB7XG5cbiAgLmhpZ2hjaGFydHMteWF4aXMtZ3JpZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuLnNpbmdsZS1hcmVhLWNoYXJ0IHtcblxuICAuaGlnaGNoYXJ0cy14YXhpcy1ncmlkLFxuICAuaGlnaGNoYXJ0cy15YXhpcy1ncmlkIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uZ2F1Z2UtY2hhcnQge1xuXG4gIC5oaWdoY2hhcnRzLXlheGlzLWxhYmVscyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufSIsIi5sZWFndWUtdGFibGUtaGVhZGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiByZW0oMTApO1xuICBjb2xvcjogIzk5OTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgbWFyZ2luLWJvdHRvbTogMTdweDtcblxuICAmID4gZGl2IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC5yYW5rIHtcbiAgICB3aWR0aDogNjVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAubmFtZSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwMHB4KTtcbiAgICBwYWRkaW5nLWxlZnQ6IDcwcHg7XG4gIH1cblxuICAubmV3IHtcbiAgICB3aWR0aDogNzRweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAucGVyY2VudCB7XG4gICAgd2lkdGg6IDE1MHB4O1xuICAgIHBhZGRpbmctbGVmdDogNTBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5sZWFndWUtdGFibGUtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgQGluY2x1ZGUgcm93KCk7XG4gIHBhZGRpbmc6IDE4cHggMCAxN3B4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG5cbiAgLnJhbmsge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgc2l6ZSg2NXB4IDEwMCUpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBAaW5jbHVkZSBzaXplKDE4OHB4KTtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTAlIDAgbnVsbCBudWxsKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxuXG4gICAgLnZhbHVlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgbnVsbCBudWxsIDApO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgIH1cbiAgfVxuXG4gIC5tb3ZlbWVudC1hbmQtbmFtZSwgLm5ldywgLnBlcmNlbnQsXG4gIC5tb3ZlbWVudCwgLm5hbWUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLm1vdmVtZW50LWFuZC1uYW1lIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjQ1cHgpO1xuICAgIHBhZGRpbmctbGVmdDogNzdweDtcbiAgfVxuXG4gIC5tb3ZlbWVudCB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgd2lkdGg6IDQycHg7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgJi51cCB7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgICB9XG5cbiAgICAmLmRvd24ge1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICB9XG4gIH1cblxuICAubmFtZSB7XG4gICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmctbGVmdDogMjNweDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gNDdweCk7XG4gIH1cblxuICAubmV3IHtcbiAgICB3aWR0aDogNzRweDtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC5wZXJjZW50IHtcbiAgICB3aWR0aDogMTUwcHg7XG4gICAgcGFkZGluZzogMCA0MnB4O1xuICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICBjb2xvcjogJG9yYW5nZV9icmlnaHQ7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjUycHg7XG4gIH1cblxuICAuYXJyb3cge1xuICAgIEBpbmNsdWRlIHNpemUoMzJweCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIC0xNnB4IDAgbnVsbCk7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJhY2tncm91bmQ6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDNweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBwYWRkaW5nOiAzN3B4IDAgMzRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWFlYWVhO1xuXG4gICAgLnJhbmsge1xuICAgICAgd2lkdGg6IDMwcHg7XG5cbiAgICAgIC52YWx1ZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubW92ZW1lbnQtYW5kLW5hbWUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDExMHB4KTtcbiAgICAgIHBhZGRpbmctbGVmdDogNDZweDtcbiAgICB9XG5cbiAgICAubW92ZW1lbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG5cbiAgICAubmFtZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAubmV3IHtcbiAgICAgIHdpZHRoOiAzNHB4O1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgIH1cblxuICAgIC5wZXJjZW50IHtcbiAgICAgIHdpZHRoOiA2OHB4O1xuICAgICAgcGFkZGluZzogMCAyNXB4IDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICB9XG4gIH1cbn1cblxuLmxlYWFndWUtdGFibGUtcG9wdXAge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmFuY3lib3gtc2xpZGUgPiAubGVhYWd1ZS10YWJsZS1wb3B1cC1pbm5lcixcbi5mYW5jeWJveC1zbGlkZSA+IC5hbmFseXNpcy1wb3B1cC1pbm5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRncmF5X2dyYXlpc2hfYmx1ZTtcbiAgcGFkZGluZzogMDtcblxuICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgIHdpZHRoOiA3NTBweDtcbiAgfVxuXG4gIC5hbmFseXNpcy1wb3B1cC10ZXh0IHtcbiAgICBwYWRkaW5nOiA0M3B4IDc0cHg7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMzBweCAxMjBweCAzMHB4IDEyMHB4O1xuICB9XG5cbiAgLm5hbWUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIH1cblxuICAucmFuay13cmFwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTA1cHg7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgcGFkZGluZy10b3A6IDEzcHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDE4OHB4O1xuICAgICAgaGVpZ2h0OiAxODhweDtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IC02NHB4O1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAxODhweDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgIHNwYW4ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbiAgLnJhbmsge1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDAgNXB4O1xuICB9XG4gIC5tb3ZlbWVudCB7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICNmZmQxYmE7XG4gIH1cblxuICBkbC5pbmZvIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiA0MHB4IDA7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCAyNXB4O1xuICAgIH1cbiAgfVxuXG4gIGRsLnBlb3BsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgZGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG4gIH1cblxuICBkdCB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cblxuICBkZCB7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICBmb250LXNpemU6IHJlbSgxOSk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIC5oZWFkZXIge1xuICAgICAgcGFkZGluZzogNjBweCAyMHB4IDE4cHg7XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG5cbiAgICAucmFuay13cmFwIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgaGVpZ2h0OiA1NXB4O1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIGluaXRpYWwgaW5pdGlhbCAwIC01MCUpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWCg5JSkpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGwuaW5mbyB7XG4gICAgICBtYXJnaW46IDMwcHggMCAwO1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgQGluY2x1ZGUgcm93KCk7XG5cbiAgICAgICYgPiBkaXYge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICB9XG5cbiAgICBkZCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgfVxuICB9XG59XG5cbi5mYW5jeWJveC1zbGlkZSA+IC5sZWFhZ3VlLXRhYmxlLXBvcHVwLWlubmVyIHtcblxuICAubW92ZW1lbnQge1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxuXG4ubW9zdC1ldmVudGZ1bCB7XG5cbiAgLmxlYWd1ZS10YWJsZS1pdGVtIHtcbiAgICBwYWRkaW5nOiAzMnB4IDAgMzNweDtcbiAgICBtYXJnaW46IDAgMzBweCAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYWVhZWE7XG4gIH1cblxuICAubW92ZW1lbnQtYW5kLW5hbWUge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMjVweCk7XG4gIH1cblxuICAubmFtZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmctbGVmdDogMTFweDtcbiAgfVxuXG4gIC5uZXcge1xuICAgIEBpbmNsdWRlIHNpemUoMjVweCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtMTIuNXB4IC0xMi41cHggbnVsbCBudWxsKTtcblxuICAgICYuaXMtbmV3IHtcbiAgICAgIC8vYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvU3Rhci5wbmcnKSBuby1yZXBlYXQgY2VudGVyIDVweCAjZmM2ODJkO1xuICAgICAgLy9iYWNrZ3JvdW5kLXNpemU6IDE1cHggYXV0bztcbiAgICB9XG4gIH1cblxuICAucGVyY2VudCB7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIHBhZGRpbmc6IDAgMjdweDtcbiAgICBmb250LXNpemU6IDI3cHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAubGVhZ3VlLXRhYmxlLWl0ZW0ge1xuICAgICAgcGFkZGluZzogMThweCAwIDE3cHg7XG4gICAgICBtYXJnaW46IDAgMjNweCAxNXB4O1xuICAgIH1cblxuICAgIC5tb3ZlbWVudC1hbmQtbmFtZSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgIC5uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICAucGVyY2VudCB7XG4gICAgICB3aWR0aDogNTJweDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgfVxuICB9XG59XG5cbi5yZXBvcnQtc2VjdGlvbi10b3AtMTAge1xuXG4gIC5sZWFndWUtdGFibGUtaXRlbSB7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIG1hcmdpbjogMCAzMHB4IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWFlYWVhO1xuICB9XG5cbiAgLm1vdmVtZW50LWFuZC1uYW1lIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMTEwcHgpO1xuICB9XG5cbiAgLm5hbWUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDExcHg7XG4gIH1cblxuICAubmV3IHtcbiAgICB3aWR0aDogMjRweDtcbiAgICBwYWRkaW5nOiAwIDVweDtcbiAgfVxuXG4gIC5wZXJjZW50IHtcbiAgICB3aWR0aDogNzVweDtcbiAgICBwYWRkaW5nOiAwIDE1cHggMCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIC5sZWFndWUtdGFibGUtaXRlbSB7XG4gICAgICBwYWRkaW5nOiAxOHB4IDAgMTdweDtcbiAgICAgIG1hcmdpbjogMCAyM3B4IDE1cHg7XG4gICAgfVxuXG4gICAgLm1vdmVtZW50LWFuZC1uYW1lIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA5MHB4KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgLm5hbWUge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC5wZXJjZW50IHtcbiAgICAgIHdpZHRoOiA1MnB4O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gIH1cbn0iLCIubmF2IHtcblxuICAmLWxpc3Qge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDAgMjRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBnYXA6IDAgOHB4O1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogM3B4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0cmFuc2xhdGU6IDAgOHB4O1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgdHJhbnNsYXRlO1xuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zbGF0ZTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuc25zIHtcbiAgcGFkZGluZy1sZWZ0OiA2cHg7XG5cbiAgJi1saXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwIDE1cHg7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbn0iLCIuc29sdXRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcbiAgQGluY2x1ZGUgcGFkKDQxcHggMCAzM3B4IDApO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBAaW5jbHVkZSBwYWQoNDJweCAwIDMzcHggMCk7XG4gIH1cblxuICAmLWhlYWRpbmcge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNHB4O1xuICAgIH1cbiAgfVxuXG4gICYtY3RhIHtcbiAgICBAaW5jbHVkZSBwYWQoN3B4IDQycHggNnB4IDM1cHgpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKGNvbWJpel9vcmFuZ2UpKTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgJi5pcy13aGl0ZSB7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X29yYW5nZSlcbiAgICB9XG4gIH1cbn0iLCIucmVzdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBAaW5jbHVkZSBwYWQoMjNweCAzOHB4IDIycHggMzhweCk7XG5cbiAgJi1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gIH1cblxuICAmLW1ldGEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJi1yZWFkLW1vcmUge1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gIH1cbn0iLCIucGFydG5lci1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblxuICAmLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogNDMxcHg7XG5cbiAgICAucGFydG5lci1oZWFkZXItcHJvZ3JhbW1lcyAmIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDUyNnB4O1xuICAgIH1cblxuICAgIC5wYXJ0bmVyLWhlYWRlci1uZXdzICYge1xuICAgICAgbWluLWhlaWdodDogNTI3cHg7XG4gICAgfVxuXG4gICAgLnBhcnRuZXItaGVhZGVyLW5ld3MtcmVzb3VyY2VzICYge1xuICAgICAgbWluLWhlaWdodDogNTI2cHg7XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKHdoaXRlKSwgMC45KTtcbiAgICBtYXgtd2lkdGg6IDYzN3B4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgQGluY2x1ZGUgcGFkKDI5cHggMTdweCA1NHB4IDI1cHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDI0cHggMjFweCk7XG4gICAgfVxuXG4gICAgLnBhcnRuZXItaGVhZGVyLW5ld3MgJiB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjJweCAxN3B4IDU0cHggMjVweCk7XG4gICAgfVxuXG4gICAgLnBhcnRuZXItaGVhZGVyLW5ld3MtcmVzb3VyY2VzICYge1xuICAgICAgQGluY2x1ZGUgcGFkKDIzcHggMTdweCAyNHB4IDI1cHgpO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgZm9udC1zaXplOiByZW0oNDgpO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTk7XG4gICAgfVxuXG4gICAgLnBhcnRuZXItaGVhZGVyLW5ld3MgJiB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cblxuICAgIC5wYXJ0bmVyLWhlYWRlci1uZXdzLXJlc291cmNlcyAmIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgfVxuICB9XG5cbiAgJi1kZXNjIHtcbiAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmZlYXR1cmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG5cbiAgJi1pbm5lciB7XG4gICAgQGluY2x1ZGUgcGFkKDM5cHggMCAwIDApO1xuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMzRweDtcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMS45MjtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgJi1jYXJkcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgIGdhcDogMCAyMHB4O1xuICAgIG1heC13aWR0aDogOTY1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAmLmNvdW50LTMge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgICB9XG5cbiAgICAmLmNvdW50LTIge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgfVxuXG4gICAgJi5jb3VudC0xIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgbWF4LXdpZHRoOiAzMDBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oOTYpICFpbXBvcnRhbnQ7XG5cbiAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOiByZW0oLTc1KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmV0d29ya3MtbGFuZGluZyAmIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDIyNXB4KTtcbiAgICB9XG5cbiAgICAuc2xpY2stZG90cyB7XG4gICAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1jYXJkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNsYXRlIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgLy8gd2lkdGg6IDIyNXB4O1xuICAgIEBpbmNsdWRlIHBhZCgyNHB4IDIycHgpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2xhdGU6IDAgLTEwcHg7XG4gICAgfVxuXG4gICAgJi1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWluLWhlaWdodDogMjIxcHg7XG4gICAgfVxuXG4gICAgJi1jb250ZW50IHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi1pY29uIHtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMTNweDtcblxuICAgICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU1O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgICAgY29sb3I6ICRkYXJrO1xuICAgIH1cblxuICAgICYtZGVzYyB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTg7XG4gICAgfVxuICB9XG5cbiAgJi1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgcGFkKDI1cHggMCA0MHB4KTtcbiAgfVxuXG4gICYtY3RhIHtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcihjb21iaXpfb3JhbmdlKSk7XG4gICAgQGluY2x1ZGUgcGFkKDZweCAyMnB4IDZweCAxNXB4KTtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuXG4gICAgJi5pcy13aGl0ZSB7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG4gICAgfVxuICB9XG5cbiAgJi5vcmFuZ2Utb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn0iLCIudGVhbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoY29sb3IoY29tYml6X2JsdWUpLCAwLjgpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gICYtaW5uZXIge1xuICAgIEBpbmNsdWRlIHBhZCg0NnB4IDAgODFweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzhweCAwIDI2cHgpO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMjFweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIH1cbiAgfVxuXG4gICYtc3VidGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1heC13aWR0aDogODE1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogNDdweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUxcHg7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBsaW5lLWhlaWdodDogMS4zMztcbiAgICB9XG4gIH1cblxuICAmLWN0YSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcihjb21iaXpfYmx1ZSkpO1xuICAgIEBpbmNsdWRlIHBhZCg3cHggMjNweCA1cHggMTRweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoNnB4IDIzcHggNnB4IDE2cHgpO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuICB9XG5cbiAgJi1wYXJ0bmVyIHtcbiAgICAudGVhbSB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKGNvbWJpel9vcmFuZ2UpLCAwLjgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5wYXJ0bmVycy1iZWFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuXG4gICYtaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIEBpbmNsdWRlIHBhZCg3N3B4IDU1cHggMzRweCAwKTtcbiAgICBnYXA6IDAgMjBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgzNnB4IDAgMCAwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgQGluY2x1ZGUgcGFkKDM2cHggMCAwIDApO1xuICAgIH1cbiAgfVxuXG4gICYtbGVmdCB7XG4gICAgbWF4LXdpZHRoOiA2MDRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvLyBmbGV4LXNocmluazogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg0MCk7XG4gICAgfVxuICB9XG5cbiAgJi1yaWdodCB7XG4gICAgbWF4LXdpZHRoOiAyNzdweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY3RhIHtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIEBpbmNsdWRlIHBhZCg3cHggMjJweCA3cHggMTVweCk7XG4gICAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA5cHg7XG4gICAgfVxuICB9XG5cbiAgJi1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IHJlbSgxNXB4KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMzNweDtcbiAgfVxuXG4gICYtbGlzdCB7fVxuXG4gICYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzRweDtcbiAgfVxuXG4gICYtaW1nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xuICAgIH1cbiAgfVxuXG4gICYtcGFyIHtcbiAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi52YWx1ZXMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAmLWlubmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoNjFweCAwIDEwM3B4KTtcbiAgICBmb250LXNpemU6IHJlbSgzNXB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzhweCAwIDEwM3B4KTtcbiAgICB9XG4gIH1cblxuICAmLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogcmVtKDM1cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjNweDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI0KTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgJi1jYXJkcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAzMnB4O1xuICB9XG5cbiAgJi1jYXJkIHtcbiAgICB3aWR0aDogMjYwcHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgQGluY2x1ZGUgcGFkKDM3cHggMjJweCAyNHB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gICYtY2lyY2xlIHtcbiAgICB3aWR0aDogNjRweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyYXlfbGlnaHRfMzAwKTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMnB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gICYtaWNvbiB7XG5cbiAgICA+aW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMjRweCBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiByZW0oODApO1xuICAgICAgbWF4LWhlaWdodDogcmVtKDgwKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSg2MCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbSg2MCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1sYWJlbCB7XG4gICAgZm9udC1zaXplOiByZW0oMzBweCk7XG4gICAgY29sb3I6IGNvbG9yKGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zKTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgfVxuXG4gICYtcGFyIHtcbiAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIH1cblxuICAuc2xpY2stZG90cyB7XG4gICAgYm90dG9tOiByZW0oLTc1KTtcblxuICAgIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgIH1cbiAgfVxufVxuIiwiLmxvY2F0aW9ucyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvZ2xvYmUuanBnJyk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGNvbG9yKGNvbWJpel9saWdodF9ncmF5KSwgMC43KTtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDAgMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBAaW5jbHVkZSBwYWQoODdweCAwIDEyMnB4IDApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDM3cHggMCAxOHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlclxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICB9XG4gIH1cblxuICAmLXBhciB7XG4gICAgbWF4LXdpZHRoOiA2MDNweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAvLyBmbGV4LXNocmluazogMDtcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubXYge1xuICBtYXJnaW4tYm90dG9tOiA3NnB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgJi1pbWFnZSB7XG4gICAgaGVpZ2h0OiA1ODZweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9tdi1pbWFnZS5qcGcnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgaGVpZ2h0OiA0MzBweDtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IC0xMjJweDtcbiAgfVxuXG4gICYtaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIEBpbmNsdWRlIHBhZCgyMnB4IDQwcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDI0cHggMjFweCk7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oNDguODNweCk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICB9XG4gIH1cblxuICAmLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSgyMHB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgZm9udC1zaXplOiByZW0oMjBweCk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICB9XG4gIH1cbn1cbiIsIi5jYXJkLWV2ZW50IHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0Y3RjdGNztcblxuICAmLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICYtZmlndXJlIHtcbiAgICBoZWlnaHQ6IDM2NHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgaGVpZ2h0OiByZW0oMjM0KTtcbiAgICB9XG4gIH1cblxuICAmLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgQGluY2x1ZGUgcGFkKDI0cHggMjVweCAxMHB4KVxuICB9XG5cbiAgJi1kYXRlIHtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBmb250LXNpemU6IHJlbSgzMXB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7fVxufSIsIi5jYXJkLXBhc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIGJveC1zaGFkb3c6IDVweCA1cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICB0cmFuc2l0aW9uOiAwLjNzIHRyYW5zbGF0ZSBlYXNlLW91dDtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgJjpob3ZlciB7XG4gICAgdHJhbnNsYXRlOiAwIC0xMHB4O1xuXG4gICAgLmNhcmQtcGFzdC1pbWFnZSB7XG4gICAgICBzY2FsZTogMTtcbiAgICB9XG4gIH1cblxuICAmLWZpZ3VyZSB7XG4gICAgaGVpZ2h0OiAxNzhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgJi1pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIHNjYWxlOiAxLjE7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBzY2FsZSBlYXNlLW91dDtcblxuICAgIC5ub2RlLXR5cGUtZXZlbnRzLWxhbmRpbmctcGFnZSAmLFxuICAgIC52aWV3LXBhc3QtZXZlbnRzICYge1xuICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMSk7XG4gICAgfVxuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBwYWQoMTFweCAxMHB4IDM4cHgpXG4gIH1cblxuICAmLWRhdGUge1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGNvbG9yOiAjNDc1MjU0O1xuICAgIGZvbnQtc2l6ZTogcmVtKDIycHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAmLWNhdGVnb3JpZXMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTIwcHgsIDFmcikpO1xuICAgIGdhcDogMTBweDtcbiAgfVxuXG4gICYtY2F0ZWdvcnkge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMTtcbiAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKGdyYXlfbGlnaHRfNTAwKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIEBpbmNsdWRlIHBhZCgwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIC8vIHdpZHRoOiAxMjBweDtcbiAgICBjb2xvcjogcmdiYShjb2xvcihncmF5X2xpZ2h0XzUwMCksIDEpO1xuXG4gICAgJi5pcy1kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjE7XG4gICAgfVxuICB9XG59IiwiLmNhcmQtYmFzaWMge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG5cbiAgJi1maWd1cmUge1xuICAgIGhlaWdodDogMTc4cHg7XG4gIH1cblxuICAmLWltYWdlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHBhZCgxMXB4IDEwcHggMzhweClcbiAgfVxuXG4gICYtZGF0ZSB7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBjb2xvcjogIzQ3NTI1NDtcbiAgICBmb250LXNpemU6IHJlbSgyMnB4KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgfVxuXG4gICYtY2F0ZWdvcmllcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgxMjBweCwgMWZyKSk7XG4gICAgZ2FwOiAxMHB4O1xuICB9XG5cbiAgJi1jYXRlZ29yeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKGdyYXlfbGlnaHRfNTAwKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIEBpbmNsdWRlIHBhZCgwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHdpZHRoOiAxMjBweDtcbiAgICBjb2xvcjogcmdiYShjb2xvcihncmF5X2xpZ2h0XzUwMCksIDEpO1xuXG4gICAgJi5pcy1kaXNhYmxlZCB7XG4gICAgICBvcGFjaXR5OiAwLjE7XG4gICAgfVxuICB9XG59IiwiLmV2ZW50LWZlYXR1cmVkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuXG4gICYtaW5uZXIge1xuICAgIEBpbmNsdWRlIHBhZCg0NXB4IDAgNTFweCk7XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB9XG4gIH1cblxuICAmLXRleHQge31cblxuICAmLWNhcmRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDU3NXB4LCAxZnIpKTtcbiAgICBnYXA6IDI1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn0iLCIudG9waWMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICB0cmFuc2l0aW9uOiB0cmFuc2xhdGUgMC4zcyBlYXNlLWluLW91dDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRvdmVyZGVza3RvcCkge1xuICAgICY6aG92ZXIge1xuICAgICAgdHJhbnNsYXRlOiAwIC01cHhcbiAgICB9XG4gIH1cblxuICAmLWJsb2NrIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgJi1mcmFtZSB7XG4gICAgbWluLWhlaWdodDogMzY0cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JheV9saWdodF8zMDApO1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtaW4taGVpZ2h0OiAyMDZweDtcbiAgICB9XG5cbiAgICAuaXMtbWFpbiAmIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYtaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgbWluLWhlaWdodDogcmVtKDIwNik7XG4gICAgICBtYXgtaGVpZ2h0OiByZW0oMjA2KTtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBAaW5jbHVkZSBwYWQoMThweCAxNnB4IDE1cHggMTZweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgLmlzLW1haW4gJiB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjRweCAzN3B4IDE4cHggMjRweCk7XG4gICAgfVxuICB9XG5cbiAgJi1kYXRlIHtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgIC5pcy1tYWluICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgIH1cbiAgfVxuXG4gICYtaGVhZGluZyB7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBmb250LXNpemU6IHJlbSgyMnB4KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC13ZWJraXQtYm94LW9yaWVudDogdmVydGljYWw7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICB9XG5cbiAgICAuaXMtbWFpbiAmIHtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgfVxuICB9XG5cbiAgJi1sYWJlbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA0cHg7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpe1xuICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG4gIH1cblxuICAmLXRhZyB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IHJlbSgxNXB4KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfYmx1ZV8zO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5X2dyYXlpc2hfYmx1ZV8zO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIEBpbmNsdWRlIHBhZCgwIDZweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDQ7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4gICAgLmlzLW1haW4gJiB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1jYXRlZ29yeSB7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIEBpbmNsdWRlIHBhZCgwIDE0cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ0O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgfVxufVxuIiwiLmNvbHVtbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7XG5cbiAgJi1pbm5lciB7fVxuXG4gICYtY2FyZHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDMxOHB4IDIwNnB4O1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICBcImZpcnN0IGZpcnN0IHNlY29uZCB0aGlyZFwiXG4gICAgICBcImZpcnN0IGZpcnN0IGZvdXJ0aCBmb3VydGhcIjtcbiAgICBnYXA6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLWFyZWFzOlxuICAgICAgICBcImZpcnN0IGZpcnN0XCJcbiAgICAgICAgXCJzZWNvbmQgdGhpcmRcIlxuICAgICAgICBcImZvdXJ0aCBmb3VydGhcIjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJiA+ICoge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCl7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAmLWNhcmQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBncmlkLWFyZWE6IGZpcnN0O1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgZ3JpZC1hcmVhOiBzZWNvbmQ7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICBncmlkLWFyZWE6IHRoaXJkO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoNCkge1xuICAgICAgZ3JpZC1hcmVhOiBmb3VydGg7XG4gICAgfVxuICB9XG59XG4iLCIuc3BvdGxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuICBAaW5jbHVkZSBwYWQoNjJweCAwIDgwcHgpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBAaW5jbHVkZSBwYWQoMzBweCAwIDQwcHgpO1xuICB9XG5cbiAgJi1pbm5lciB7fVxuXG4gICYtdG9wIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNThweDtcbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI1cHgpO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIHdpZHRoOiA3OTFweDtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIH1cblxuICAmLWFydGljbGVzIHtcbiAgICAuc2xpY2stZG90cyB7XG4gICAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJydcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWFydGljbGUge1xuICAgIEBpbmNsdWRlIHBhZCg1OXB4IDAgMCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgcGFkKDApXG4gICAgfVxuXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAzcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNsaWNrLXNsaWRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgICYtaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBoZWlnaHQ6IDUyMHB4O1xuICAgICAgd2lkdGg6IDU3LjUlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBoZWlnaHQ6IDIyNHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTQ1cHg7XG4gICAgICB9XG5cbiAgICAgIC5pcy1ldmVuICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMFxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI5O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1kZXNjIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICB3aWR0aDogNDUuNTglO1xuICAgIG1pbi1oZWlnaHQ6IDUzOXB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIEBpbmNsdWRlIHBhZCgxOHB4IDQwcHggMThweCAyMHB4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiAtOHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDk2JTtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICBAaW5jbHVkZSBwYWQoMThweCAyMHB4KTtcbiAgICB9XG5cbiAgICAuaXMtZXZlbiAmIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY3RhIHtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcih3aGl0ZSkpO1xuICAgIEBpbmNsdWRlIHBhZCg3cHggMjRweCA3cHggMTVweCk7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDlweDtcbiAgICB9XG4gIH1cblxuICAmLWRldGFpbHMge1xuICAgIG1hcmdpbi10b3A6IDUzcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmLWxhYmVsIHtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gIH1cblxuICAmLXN1YmplY3RzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIyNHB4LCAxZnIpKTtcbiAgICBnYXA6IDA7XG5cbiAgICAuaXMtZmlyZWZveCAmIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIwMHB4LCAxZnIpKTtcbiAgICAgIGdhcDogMCAyMHB4O1xuICAgIH1cbiAgfVxuXG4gICYtc3ViamVjdCB7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcblxuICAgIC5pcy1maXJlZm94ICYge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICB9XG4gIH1cblxuICAmLWNhdGVnb3J5IHtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoY29tYml6X29yYW5nZSk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgQGluY2x1ZGUgcGFkKDJweCAxNHB4IDFweCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gIH1cblxuICAmLWRhdGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmxhY2spO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDNlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIH1cbn1cbiIsIi5iZW5lZml0cyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcblxuICAmLWlubmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoMzlweCAwIDgwcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDIxcHggMCA3MHB4KTtcbiAgICB9XG4gIH1cblxuICAmLXRvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzNweDtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSgyNXB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIG1heC13aWR0aDogNzk0cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICB9XG4gIH1cblxuICAmLWNhcmRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgLy8gZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIGNsYW1wKDI1NnB4LCA1MCUsIDQ3MnB4KSk7XG4gICAgZ2FwOiA1MnB4IDE0MnB4O1xuICAgIC8vIG1heC13aWR0aDogMTA4NnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIGdhcDogNTJweCAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgfVxuXG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgYm90dG9tOiAtNDFweDtcblxuICAgICAgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY2FyZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIHBhZCgwIDIwcHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDAgMTVweClcbiAgICB9XG4gIH1cblxuICAmLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwcHg7XG4gICAgaGVpZ2h0OiA2MXB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9iZW5lZml0cy1pY29uLnBuZycpO1xuICAgIG1hcmdpbi1ib3R0b206IDlweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIH1cbiAgfVxuXG4gICYtaGVhZGluZyB7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBmb250LXNpemU6IHJlbSgyNXB4KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgfVxuICB9XG5cbiAgJi1wYXIge1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmxhY2spO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXgtd2lkdGg6IDQwNnB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB9XG4gIH1cblxuICAmLWxpc3Qge31cblxuICAmLWl0ZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB9XG5cbiAgICAmOm5vdCg6bGFzdC1vZi10eXBlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIH1cbiAgfVxufVxuIiwiLm9yZ2FuaXphdGlvbiB7XG5cbiAgJi1pbm5lciB7XG4gICAgQGluY2x1ZGUgcGFkKDY5cHggMCA1NnB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyMXB4IDAgNTZweCk7XG4gICAgfVxuICB9XG5cbiAgJi10b3Age1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogMCAxNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDcwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSgyNXB4KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIG1heC13aWR0aDogNzk2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG4gICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTI7XG4gICAgfVxuICB9XG5cbiAgJi1jYXJkcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogMjdweDtcblxuICAgICZbZGF0YS1jb3VudD1cIjFcIl0ge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG5cbiAgICAgIC5vcmdhbml6YXRpb24tY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIH1cbiAgfVxuXG4gICYtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcbiAgfVxuXG4gICYtZnJhbWUge1xuICAgIC8vIHdpZHRoOiAzMTRweDtcbiAgICB3aWR0aDogNTMuNTglO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDMxMnB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWluLWhlaWdodDogMjQ1cHg7XG4gICAgfVxuICB9XG5cbiAgJi1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JheV9saWdodF8zMDApO1xuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBwYWQoMjVweCAzMHB4IDI1cHggMTlweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDE1cHggMTBweCAxNXB4IDE1cHgpXG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDExcHggMTBweCAxNXB4IDE1cHgpXG4gICAgfVxuICB9XG5cbiAgJi1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IHJlbSgyNXB4KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICB9XG4gIH1cblxuICAmLXBhciB7XG4gICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICB9XG4gIH1cblxuICAmLWN0YSB7XG4gICAgZm9udC1zaXplOiByZW0oMTIuOHB4KTtcbiAgICBAaW5jbHVkZSBwYWQoN3B4IDIzcHggNnB4IDE1cHgpO1xuICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKHdoaXRlKSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDdweCAyMnB4IDdweCAxNnB4KTtcblxuICAgICAgLmlzLWZpcmVmb3ggJiB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCg3cHggMTdweCA3cHggMTBweClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOXB4O1xuICAgICAgdG9wOiAtMXB4O1xuICAgIH1cbiAgfVxufVxuIiwiLnJlc2VhcmNoIHtcblxuICAmLWlubmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoNTdweCAwIDc1cHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDIycHggMCAyMXB4KTtcbiAgICB9XG4gIH1cblxuICAmLXRvcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAwIDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjhweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI1cHgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgbWF4LXdpZHRoOiA3OTRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cblxuICAmLWNhcmRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtYXV0by1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0ZnIgMi44ZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMywgMjA3cHgpO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICBcInNlY29uZCBmaXJzdFwiXG4gICAgICBcInRoaXJkIGZpcnN0XCJcbiAgICAgIFwiZm91cnRoIGZpcnN0XCI7XG4gICAgZ2FwOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDM5cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogNTYxcHggcmVwZWF0KDMsIDMxOHB4KTtcbiAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgIFwiZmlyc3RcIlxuICAgICAgICBcInNlY29uZFwiXG4gICAgICAgIFwidGhpcmRcIlxuICAgICAgICBcImZvdXJ0aFwiO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAudG9waWMtaGVhZGluZyB7XG4gICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IGluaXRpYWw7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiA0MDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLXRvcGljIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuXG4gICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgIGdyaWQtYXJlYTogZmlyc3Q7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICBncmlkLWFyZWE6IHNlY29uZDtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDMpIHtcbiAgICAgIGdyaWQtYXJlYTogdGhpcmQ7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSg0KSB7XG4gICAgICBncmlkLWFyZWE6IGZvdXJ0aDtcbiAgICB9XG5cbiAgICAudG9waWMtZGF0ZXtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmxhY2spO1xuICAgIH1cbiAgICAudG9waWMtaGVhZGluZyB7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIH1cblxuICAgIC50b3BpYy1oZWFkaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIycHgpO1xuICAgIH1cblxuICAgIC50b3BpYy1sYWJlbHMge1xuICAgICAgLy8gbWFyZ2luLXRvcDogNTNweDtcbiAgICB9XG5cbiAgICAmLmlzLW1haW4ge1xuXG4gICAgICAudG9waWMtZGF0ZXtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgIC50b3BpYy1mcmFtZSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwMnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAyMDZweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudG9waWMtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgxOHB4IDM3cHggMTNweCAyM3B4KVxuICAgICAgfVxuXG4gICAgICAudG9waWMtbGFiZWxzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgIH1cblxuICAgICAgLnRvcGljLWhlYWRpbmcge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOHB4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmVcbiAgICB9XG4gIH1cblxuICAmLWN0YSB7XG4gICAgQGluY2x1ZGUgcGFkKDdweCAyM3B4IDdweCAxNXB4KTtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcih3aGl0ZSkpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLm5ld3NsZXR0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG5cbiAgJi1pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IDAgMzZweDtcbiAgICBAaW5jbHVkZSBwYWQoNTdweCAwIDY4cHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDIzcHggMCA4cHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiA0OTFweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ2cHg7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBmb250LXNpemU6IHJlbSgyNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaW5lLWhlaWdodDogMS41MztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB9XG4gIH1cblxuICAmLXN1YnNjcmlwdGlvbiB7XG4gICAgLy8gZmxleC1zaHJpbms6IDA7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLm5ld3NsZXR0ZXItc2lnbnVwLWZvcm0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLm1vZGFsLWhlYWRlcixcbiAgICAubWFpbGNoaW1wLXNpZ251cC1zdWJzY3JpYmUtZm9ybS1kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5ibG9jayB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmJsb2NrLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjlweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICBAaW5jbHVkZSBwYWQoMTJweCAyMnB4IDEycHgpXG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIH1cblxuICAgIC5tYWlsY2hpbXAtbmV3c2xldHRlci1tZXJnZWZpZWxkcyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgLy8gZ3JpZC1hdXRvLWNvbHVtbnM6IGF1dG87XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnIgMWZyO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgXCJmaXJzdCBzZWNvbmRcIlxuICAgICAgICBcInRoaXJkIHRoaXJkXCJcbiAgICAgICAgXCJmb3VydGggZm91cnRoXCI7XG4gICAgICBnYXA6IDE4cHggMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyNlZGl0LWFjdGlvbnMge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ubC1tYWlsaW5nLWxpc3Qtc2VsZWN0IHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIEBpbmNsdWRlIHBhZCg5cHggMTNweCk7XG4gICAgfVxuXG4gICAgLm5sLW1haWxpbmctbGlzdC1pbnN0cnVjdGlvbnMge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgY29sb3I6ICM3MjcyNzI7XG4gICAgfVxuXG4gICAgLmZvcm0tdHlwZS10ZXh0ZmllbGQge1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCg3cHggOXB4IDlweCk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udF9fbWFpbjtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcblxuICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIGNvbG9yOiAjNzI3MjcyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBtYXJnaW4tdG9wOiAzNHB4O1xuICAgIH1cblxuICAgIC5mb3JtLWl0ZW0tbWVyZ2V2YXJzLUZOQU1FIHtcbiAgICAgIGdyaWQtYXJlYTogZmlyc3Q7XG5cbiAgICAgICYuZm9ybS1pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWl0ZW0tbWVyZ2V2YXJzLUxOQU1FIHtcbiAgICAgIGdyaWQtYXJlYTogc2Vjb25kO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgJi5mb3JtLWl0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbS1tZXJnZXZhcnMtRU1BSUwge1xuICAgICAgZ3JpZC1hcmVhOiB0aGlyZDtcbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtLW1lcmdldmFycy1NTUVSR0U1IHtcbiAgICAgIGdyaWQtYXJlYTogZm91cnRoO1xuICAgIH1cblxuICAgIC5ubC1tYWlsaW5nLWxpc3Qtc2VsZWN0IHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1pdGVtLW1haWxjaGltcC1saXN0cy1pbnRlcmVzdC1ncm91cHMtN2ZhZGNiZjc1ZS1mMWNmNzZkZWJkLFxuICAuZm9ybS1pdGVtLW1haWxjaGltcC1saXN0cy1pbnRlcmVzdC1ncm91cHMtN2ZhZGNiZjc1ZS05MjYyZjZhZjBmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuZm9ybS1pbmZvLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9pbmZvLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5mb3JtLXRvb2x0aXAge1xuICAgICAgICBvcGFjaXR5OiAxO1xuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tdG9vbHRpcCB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTVweDtcbiAgICBsZWZ0OiAyNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICB3aWR0aDogMjAwcHg7XG4gICAgYm94LXNoYWRvdzogMHB4IDFweCA0cHggMHB4IHJnYmEoMjUsIDMyLCA1NiwgMC4xNCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB3aWR0aDogMTQ1cHg7XG4gICAgICBmb250LXNpemU6IHJlbSgxMXB4KTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDVweCA3cHggNXB4IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB0b3A6IDZweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCByZ2JhKCMwMDAsIDAuMTQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgZmlsdGVyOiBibHVyKDFweCk7XG4gICAgICBsZWZ0OiAtOHB4O1xuXG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgbGVmdDogLTdweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5pbnZvbHZlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAmLWlubmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgQGluY2x1ZGUgcGFkKDQ3cHggMCA0OHB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyNnB4IDAgMjJweClcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgfVxuICB9XG5cbiAgJi1kZXNjIHtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIG1heC13aWR0aDogMzUxcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiA1NnB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTFweDtcbiAgICB9XG4gIH1cblxuICAmLWN0YSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcihjb21iaXpfYmx1ZSkpO1xuICAgIEBpbmNsdWRlIHBhZCg4cHggMjNweCA2cHggMTVweCk7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgIH1cbiAgfVxuXG4gICYtZnJhbWUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBoZWlnaHQ6IDIyMnB4O1xuICAgIH1cbiAgfVxuXG4gICYtaW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogNTZ2dztcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2dldC1pbnZvbHZlZC5qcGcnKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JheV9ncmF5aXNoX2JsdWUpO1xuXG4gICAgLmlzLWZpcmVmb3ggJiB7XG4gICAgICB3aWR0aDogNTB2dztcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDExMXZ3O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNsYXRlOiAtNTAlIDA7XG4gICAgfVxuICB9XG59IiwiLmthcmQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KDVweCA1cHggMjVweCByZ2JhKDAsIDAsIDAsIDAuMDUpKTtcbiAgbWluLWhlaWdodDogMzI3cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgaW1nIHtcbiAgICAgIHNjYWxlOiAxO1xuICAgIH1cbiAgfVxuXG4gICYtZnJhbWUge1xuICAgIGhlaWdodDogMTQycHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBzY2FsZTogMS4wNTtcbiAgICAgIHRyYW5zaXRpb246IHNjYWxlIDAuNXMgZWFzZS1pbi1vdXRcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHBhZCgyNXB4IDIzcHgpO1xuICB9XG5cbiAgJi1jYXRlZ29yaWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgZ2FwOiAwIDEzcHg7XG4gIH1cblxuICAmLWNhdGVnb3J5IHtcbiAgICBmb250LXNpemU6IHJlbSgxMHB4KTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTcyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgY29udGVudDogJ3wnO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICByaWdodDogLTlweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtdGltZSB7XG4gICAgZm9udC1zaXplOiByZW0oMTFweCk7XG4gICAgY29sb3I6IGNvbG9yKGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAzZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zMztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgaGVpZ2h0OiBjYWxjKDEuMzMgKiAzICogMWVtKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC8vICY6OmFmdGVyIHtcbiAgICAvLyAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAvLyAgIGNvbnRlbnQ6ICcuLi4nXG4gICAgLy8gfVxuICB9XG5cbn0iLCIuZXllLWNhdGNoIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuXG4gICYtaW5uZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiAzMjVweDtcbiAgICBAaW5jbHVkZSBwYWQoMjBweCAwKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgZm9udC1zaXplOiByZW0oNDguODNweCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA3cHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjk7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgbWF4LXdpZHRoOiA4NTlweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDIwcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDA2ZW07XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4xMTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59IiwiLnByaW5jaXBhbC1wYXJ0bmVycyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcblxuICAmLWlubmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoNzNweCAwIDc1cHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIEBpbmNsdWRlIHBhZCgzMnB4IDApO1xuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE2KTtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgfVxuICB9XG5cbiAgJi10ZXh0IHt9XG5cbiAgJi1saXN0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICB3aWR0aDogMzg1cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgQGluY2x1ZGUgcGFkKDM1cHggNTRweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHBhZCgzMnB4IDE2cHgpO1xuICAgIH1cbiAgfVxuXG4gICYtaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206IDMzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICB9XG5cbiAgJi1pdGVtIHtcblxuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgJi1mcmFtZSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgb2JqZWN0LWZpdDogY29udGFpbjtcbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59IiwiLnZhY2FuY3kge1xuICBjb2xvcjogY29sb3IoZGFya192ZXJ5X2dyYXlpc2hfcmVkXzMpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gIEBpbmNsdWRlIHBhZCgyNHB4IDI1cHggMzNweCk7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuICAgIEBpbmNsdWRlIHBhZCgyNHB4IDE2cHgpO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG5cbiAgICAudmFjYW5jeS1jdGEge1xuICAgICAgJi5pcy1ibHVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgICBAaW5jbHVkZSBjYXJldChjb2xvcihjb21iaXpfYmx1ZSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtZGVwYXJ0bWVudCB7XG4gICAgZm9udC1zaXplOiByZW0oMTBweCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMTZlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDNlbTtcbiAgfVxuXG4gICYtZGF0ZSB7XG4gICAgZm9udC1zaXplOiByZW0oMTFweCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gICYtdGV4dCB7XG4gICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuXG4gICYtY3RhIHtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBAaW5jbHVkZSBwYWQoOHB4IDI0cHggOHB4IDE3cHgpO1xuICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKHdoaXRlKSk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOXB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgfVxuICB9XG59XG5cbi52aWV3LWpvaW4tb3VyLXRlYW0ge1xuXG4gIC52aWV3LWZpbHRlcnMge1xuICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICB9XG4gIFxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgLndyYXBwZXIge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbiAgLnZpZXctY29udGVudCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIGdhcDogMjBweCA1MHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAyMHB4IDIwcHggNDBweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufSIsIi5iYW5uZXItZXZlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG5cbiAgJi1pbm5lciB7XG4gICAgbWF4LXdpZHRoOiAxMTAxcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgcGFkKDgwcHggMClcbiAgfVxuXG4gICYtc25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgfVxuXG4gICYtc2hhcmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwIDExcHg7XG5cbiAgICAudGV4dCB7XG4gICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzNWVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA5cHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIEBpbmNsdWRlIHBhZCgwKTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAmLnNoYXJlLWZiIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB3aWR0aDogNXB4O1xuICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnNoYXJlLXR3aXR0ZXIge1xuICAgICAgICBzdmcge1xuICAgICAgICAgIHdpZHRoOiA4cHg7XG4gICAgICAgICAgaGVpZ2h0OiA3cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5zaGFyZS1lbWFpbCB7XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDdweDtcbiAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnNoYXJlLWxpbmtlZGluIHtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB3aWR0aDogOXB4O1xuICAgICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5qdGljbyB7XG4gICAgICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMCAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBzdmcsXG4gICAgICBnIHtcbiAgICAgICAgZmlsbDogY29sb3Iod2hpdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShjb2xvcih3aGl0ZSksIDAuOSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBAaW5jbHVkZSBwYWQoMjNweCAyNXB4KTtcbiAgICBtaW4taGVpZ2h0OiAxOTdweDtcbiAgfVxuXG4gICYtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvaWNvbi1jYWxlbmRhci5wbmcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA3cHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLXBvZGNhc3RzIHtcbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2ljb24tcG9kY2FzdC5wbmcnKTtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1pbmZvIHtcbiAgICBmb250LXNpemU6IHJlbSgzMS4yNXB4KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICB9XG4gIH1cblxuICAmLWNhdGVnb3J5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnIHwnO1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgZm9udC1zaXplOiByZW0oNDguODNweCk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgZm9udC1zaXplOiByZW0oMjBweCk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJ3VzZXInO1xuQGltcG9ydCAnaG9tZXBhZ2UnO1xuQGltcG9ydCAnaW5kZXgtcGFnZSc7XG5AaW1wb3J0ICdkb25hdGUnO1xuQGltcG9ydCAnY2hlY2tvdXQnO1xuQGltcG9ydCAnY2hlY2tvdXRfc2lnbmluX3NpZ251cF9wYW5lJztcbkBpbXBvcnQgJ2NoZWNrb3V0X2NvbXBsZXRlJztcbkBpbXBvcnQgJ2Fib3V0LXVzJztcbkBpbXBvcnQgJ2ZvY3VzLWFyZWEnO1xuQGltcG9ydCAncHJvZ3JhbW1lcy1sYW5kaW5nJztcbkBpbXBvcnQgJ25ldHdvcmtzLWxhbmRpbmcnO1xuQGltcG9ydCAnbmV0d29ya3MtYXBwbGljYXRpb24nO1xuQGltcG9ydCAnY29tcGFueSc7XG5AaW1wb3J0ICdldmVudHMnO1xuQGltcG9ydCAnZXZlbnRzLWxhbmRpbmcnO1xuQGltcG9ydCAndHJhaW5pbmctY29uc3VsdGluZy1sYW5kaW5nJztcbkBpbXBvcnQgJ3RyYWluaW5nLWNvbnN1bHRpbmcnO1xuQGltcG9ydCAnY29udGFjdC11cyc7XG5AaW1wb3J0ICdiYXNpYy1wYWdlJztcbkBpbXBvcnQgJ2ZhcS1sYW5kaW5nJztcbkBpbXBvcnQgJ2dldC1pbnZvbHZlZCc7XG5AaW1wb3J0ICdwcm9maWxlLXBhZ2VzJztcbkBpbXBvcnQgJ25ld3MtcHVibGljYXRpb24nO1xuQGltcG9ydCAnc2VhcmNoJztcbkBpbXBvcnQgJ2pvaW4tdGVhbSc7XG5AaW1wb3J0ICdwYXJ0bmVycyc7XG5AaW1wb3J0ICdwcmVzcy1wYWdlJztcbkBpbXBvcnQgJ3NpdGVtYXAnO1xuQGltcG9ydCAnbm90LWZvdW5kJztcbkBpbXBvcnQgJ3JlcG9ydCc7XG5AaW1wb3J0ICdyZXBvcnQtY3RhJztcbkBpbXBvcnQgJ3JlcG9ydC1uZXdzJzsiLCIucHJvZmlsZSB7XG4gIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xuICBwYWRkaW5nOiAxMDBweCAwIDY1cHg7XG4gIG1hcmdpbjogMCBhdXRvO1xuXG4gIC5maWVsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIC5maWVsZC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIH1cblxuICAuZmllbGQtaXRlbSB7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICB9XG5cbiAgZHQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBkZCB7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICB9XG5cbiAgLnVzZXItcGljdHVyZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIHNpemUoMTUwcHgpO1xuICAgIG1hcmdpbjogMDtcblxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBwYWRkaW5nOiA0NXB4IDIwcHg7XG5cbiAgICAuZmllbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICB9XG5cbiAgICAuZmllbGQtbGFiZWwsXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIH1cblxuICAgIC5maWVsZC1pdGVtIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICB9XG5cbiAgICBkdCxcbiAgICBkZCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgfVxuXG4gICAgLnVzZXItcGljdHVyZSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuI2FqYXgtcmVnaXN0ZXItdXNlci1sb2dpbi13cmFwcGVyLFxuI3VzZXItcGFzcy1yZXNldCB7XG4gIC8vIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xuICAvLyBwYWRkaW5nOiA4MHB4IDAgNDVweDtcblxuICAucGFzc3dvcmQtc3RyZW5ndGgsXG4gIGRpdi5wYXNzd29yZC1jb25maXJtIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmZvcm0taXRlbSB7XG4gICAgLy8gbWFyZ2luOiAwIDAgNTBweDtcbiAgfVxuXG4gIC5mb3JtLXR5cGUtcGFzc3dvcmQtY29uZmlybSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgIC8vIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgIC8vIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig4MDBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgLy8gQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDY4MHB4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAvLyBwYWRkaW5nOiAyNXB4IDIwcHggNDVweDtcbiAgICAvLyBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG5cbiAgICAuZm9ybS1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgfVxuXG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICB9XG4gIH1cbn1cblxuLmNyZWRlbnRpYWxzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAmLW1lZGlhIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1yZXNldC1wYXNzd29yZCB7XG4gICAgLmNyZWRlbnRpYWxzLWZvcm0gcCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtaW5uZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1pbi1oZWlnaHQ6IDY5NHB4O1xuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDYwOXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpbmNsdWRlIHBhZCg5MnB4IDE1cHggMCAwKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHBhZCgzNHB4IDAgMCk7XG4gICAgfVxuXG4gICAgLmNyZWRlbnRpYWxzLXJlZ2lzdGVyICYge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMzRweCAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3JlZGVudGlhbHMtcGFzcyAmLFxuICAgIC5jcmVkZW50aWFscy1yZXNldC1wYXNzd29yZCAmIHtcbiAgICAgIG1heC13aWR0aDogcmVtKDYzNCk7XG4gICAgfVxuICB9XG5cbiAgJi1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICB9XG5cbiAgJi1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpXG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSgzOCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTY7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtKDI2KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpXG4gIH1cblxuICAmLWRlc2Mge1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmxhY2spO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBsaW5lLWhlaWdodDogMS40NDtcblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIH1cbiAgfVxuXG4gICYtYWN0aW9uIHtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgLmNyZWRlbnRpYWxzLWxvZ2luICYsXG4gICAgLmNyZWRlbnRpYWxzLXJlZ2lzdGVyICYge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2ljb24tdXNlci5wbmcnKTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNyZWRlbnRpYWxzLXJlZ2lzdGVyICYge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvcGhfc2lnbi1pbi5wbmcnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWZvcm0ge1xuICAgIG1heC13aWR0aDogMzA3cHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuY3JlZGVudGlhbHMtcmVnaXN0ZXIgJiB7XG4gICAgICBtYXgtd2lkdGg6IDM5MHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1ncmlkIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgZ2FwOiAwIDEwcHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiByZW0oMTFweCk7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICB9XG5cbiAgICAuZm9ybS1yZXF1aXJlZCB7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpXG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sXG4gICAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcbiAgICAgIGJvcmRlci1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIH1cblxuICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vLi4vc3ZnL2FuZ2xlLXJpZ2h0LnN2Z1wiKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDIwcHggYm90dG9tIDUwJTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtaW4td2lkdGg6IHJlbSgxMTIpO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtKDQwKTtcbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI5cHg7XG5cbiAgICAgIC5jcmVkZW50aWFscy1yZWdpc3RlciAmIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDIwKTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cblxuICAgICAgLmNyZWRlbnRpYWxzLXBhc3MgJiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgzNyk7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1heC13aWR0aDogcmVtKDMwNyk7XG4gICAgICB9XG5cbiAgICAgIC5jcmVkZW50aWFscy1yZXNldC1wYXNzd29yZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gICYtbGluayB7XG4gICAgZm9udC1zaXplOiByZW0oMTFweCk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAmLW1lZGlhIHtcbiAgICAvLyBmbGV4LXNocmluazogMDtcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi8uLi9pbWFnZXMvYnVpbGQvY3JlZGVudGlhbHMtaW1nLnBuZ1wiKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDQ1dnc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoY29sb3IoY29tYml6X2JsdWUpLCAwLjUpO1xuICAgIH1cbiAgfVxuXG4gICYtYmFjayB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuXG4gICAgc3BhbiB7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cbiAgfVxufVxuIiwiLy9ob21lcGFnZS10cmlnZ2VyXG4uaG9tZXBhZ2UtdHJpZ2dlciB7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGZpeGVkLCAwIG51bGwgMCAwKTtcbiAgQGluY2x1ZGUgc2l6ZSgxMDAlIDVweCk7XG4gIG1hcmdpbjogYXV0bztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHotaW5kZXg6IDEwMDtcbn1cblxuLy9ob21lcGFnZS13cmFwcGVyXG4uaG9tZXBhZ2Utd3JhcHBlciB7XG4gIHBhZGRpbmc6IDg4cHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTIwMHB4KTtcblxuICAuaG9tZXBhZ2Utcm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig5NjBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgIHBhZGRpbmc6IDEyMnB4IDAgODVweDtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoODAwcHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDY1cHggMDtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoNjgwcHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogOTBweCAwIDI1cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy9ob21lcGFnZS1yb3dcbi5ob21lcGFnZS1yb3cge1xuXG4gICYjcm93LTEge1xuXG4gICAgLmNpcmNsZS1jb250ZW50IHtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDk3cHgpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMC41KSk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICAgIG9wYWNpdHk6IDAuNTM7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDYzcHggNTlweCBudWxsIG51bGwpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcblxuICAgICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICAgIGxlZnQ6IC0xNDBweDtcbiAgICAgIH1cblxuICAgICAgLmNpcmNsZS1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgc2hpZnQoMS45KTtcbiAgICAgICAgcGFkZGluZzogMTU4cHggOTRweCAxMjRweCAyMDZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuXG4gICAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgICAgdG9wOiAtNzFweDtcbiAgICAgICAgbGVmdDogLTE3MnB4O1xuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBzaGlmdCgwLjUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICAgIGxlZnQ6IC0xOXB4O1xuICAgICAgICB0b3A6IGluaGVyaXQ7XG4gICAgICAgIGJvdHRvbTogLTE2MHB4O1xuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTQycHg7XG4gICAgICAgIHBhZGRpbmc6IDE1OHB4IDk0cHggMTEwcHggMTU0cHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDQ3cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzOTBweDtcblxuICAgICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICAgIGxlZnQ6IC00MnB4O1xuICAgICAgICBib3R0b206IGluaGVyaXQ7XG4gICAgICAgIHRvcDogODclO1xuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDU4cHgpO1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgICBsZWZ0OiA4NyU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiNyb3ctMiB7XG5cbiAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogLTg1cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcblxuICAgICAgLmNpcmNsZS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAtNTVweCAwIDAgLTkxcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblxuICAgICAgLmNpcmNsZS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAtNTVweCAwIDAgLTg4cHg7XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUtaW1hZ2Uge1xuICAgICAgICByaWdodDogLTkwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDI4MXB4IDAgMCAtMjVweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDU4OHB4O1xuICAgICAgICAgIGxlZnQ6IDY1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICAgIHRvcDogLTE5NXB4O1xuICAgICAgICByaWdodDogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNjVweDtcblxuICAgICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICAgIGxlZnQ6IGluaGVyaXQ7XG4gICAgICAgIHJpZ2h0OiAtMTFweDtcbiAgICAgICAgdG9wOiAtMjIwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUtY29udGVudDphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMzFweCk7XG4gICAgICAgIHRvcDogOTQlO1xuICAgICAgICBsZWZ0OiA0MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYjcm93LTMge1xuICAgIG1hcmdpbi10b3A6IDQxcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuXG4gICAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBzaGlmdCgxLjkpO1xuICAgICAgICBwYWRkaW5nOiAxNThweCAxMDRweCAxMjRweCAyMDZweDtcbiAgICAgIH1cblxuICAgICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICAgIGxlZnQ6IC0xNDBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgbWFyZ2luLXRvcDogODBweDtcblxuICAgICAgLmNpcmNsZS1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgc2hpZnQoMC41KTtcbiAgICAgICAgcGFkZGluZzogMTU4cHggMTA0cHggMTI0cHggMjI2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogMTY1cHg7XG5cbiAgICAgIC5jaXJjbGUtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjVweDtcbiAgICAgICAgcGFkZGluZzogMTU0cHggMTQ0cHggMTE0cHggMTU5cHg7XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgIHJpZ2h0OiAxMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgICAgdG9wOiAtMTg2cHg7XG4gICAgICAgIGxlZnQ6IDQ2cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI2NXB4O1xuXG4gICAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgICAgbGVmdDogLTExcHg7XG4gICAgICAgIHRvcDogLTIyMHB4O1xuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDU4cHgpO1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgICAgICBsZWZ0OiA4NyU7XG4gICAgICAgIG9wYWNpdHk6IDAuNTM7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJiNyb3ctNCB7XG4gICAgbWFyZ2luLXRvcDogMzNweDtcblxuICAgIC5jaXJjbGUtaW1hZ2Uge1xuICAgICAgYm90dG9tOiAtNDNweDtcbiAgICB9XG5cbiAgICAuY2lyY2xlLWNvbnRlbnQ6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgc2l6ZSg3NnB4KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxMTlweCBpbmhlcml0IGluaGVyaXQgMzVweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgIC5jaXJjbGUtaW1hZ2Uge1xuICAgICAgICByaWdodDogLTUxcHg7XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUtY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtNTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgbWFyZ2luLXRvcDogLTU1cHg7XG5cbiAgICAgIC5jaXJjbGUtaW1hZ2Uge1xuICAgICAgICByaWdodDogLTE4M3B4O1xuICAgICAgICBib3R0b206IDE0OHB4O1xuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTg4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLXRvcDogMTUwcHg7XG5cbiAgICAgIC5jaXJjbGUtaW1hZ2Uge1xuICAgICAgICByaWdodDogNDBweDtcbiAgICAgICAgdG9wOiAtMTgwcHg7XG4gICAgICAgIGJvdHRvbTogaW5oZXJpdDtcbiAgICAgIH1cblxuICAgICAgLmNpcmNsZS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zM3B4O1xuICAgICAgICBwYWRkaW5nOiAxNTRweCAxNDRweCAxNDRweCAxNjlweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDg2cHg7XG4gICAgICAgICAgbGVmdDogNDVweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNjVweDtcblxuICAgICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICAgIHJpZ2h0OiAtMTFweDtcbiAgICAgICAgdG9wOiAtMjEwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUtY29udGVudDphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMzFweCk7XG4gICAgICAgIHRvcDogLTE1cHg7XG4gICAgICAgIGxlZnQ6IDEwJTtcbiAgICAgICAgb3BhY2l0eTogMC41MztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmI3Jvdy01IHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICB0b3A6IDMwcHg7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDg1cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1MiwgMTA0LCA0NSwgMC45KTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAxN3B4IDJweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNpcmNsZS1jb250ZW50OmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIEBpbmNsdWRlIHNpemUoMzFweCk7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTYzcHggaW5oZXJpdCBpbmhlcml0IC0zNnB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgICAgbWFyZ2luLXRvcDogNjhweDtcblxuICAgICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICAgIGxlZnQ6IC05MnB4O1xuICAgICAgfVxuXG4gICAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBzaGlmdCgyLjUpO1xuICAgICAgICBwYWRkaW5nOiAxNThweCAxMTRweCAxMzFweCAyMTZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgbWFyZ2luLXRvcDogMzFweDtcblxuICAgICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICAgIHRvcDogMTAxcHg7XG4gICAgICAgIGxlZnQ6IC0xODNweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBib3R0b206IC02MHB4O1xuICAgICAgICAgIGxlZnQ6IDk2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNpcmNsZS1jb250ZW50IHtcbiAgICAgICAgQGluY2x1ZGUgc2hpZnQoMC41KTtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDU1NXB4O1xuICAgICAgICAgIGxlZnQ6IDI1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNTBweDtcblxuICAgICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICAgIGxlZnQ6IDQwcHg7XG4gICAgICAgIHRvcDogLTE4MHB4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogLTI2cHg7XG4gICAgICAgICAgbGVmdDogaW5pdGlhbDtcbiAgICAgICAgICBib3R0b206IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNpcmNsZS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zNXB4O1xuICAgICAgICBwYWRkaW5nOiAxNTRweCAxNDRweCAxMTRweCAxNTlweDtcblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IC00NnB4O1xuICAgICAgICAgIGxlZnQ6IGluaXRpYWw7XG4gICAgICAgICAgcmlnaHQ6IDI3NXB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuXG4gICAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgICAgbGVmdDogLTExcHg7XG4gICAgICAgIHRvcDogLTIyMHB4O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICAgIHJpZ2h0OiAyMnB4O1xuICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDM1cHgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jaXJjbGUtY29udGVudDphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTNweCk7XG4gICAgICAgIHRvcDogLTcwcHg7XG4gICAgICAgIGxlZnQ6IDgwJTtcbiAgICAgICAgb3BhY2l0eTogMC43MTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLmltYWdlLWxlZnQge1xuXG4gICAgLmNpcmNsZS1pbWFnZSB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgfVxuXG4gICAgLmNpcmNsZS1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIHNoaWZ0KDMpO1xuICAgICAgQGluY2x1ZGUgcGFkKDE1OHB4IDk1cHggMTI0cHggMjI2cHgpO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNzlweCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDYzcHggNzNweCBudWxsIG51bGwpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5pbWFnZS1yaWdodCB7XG5cbiAgICAuY2lyY2xlLWltYWdlIHtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDAgMCBudWxsKTtcbiAgICB9XG5cbiAgICAuY2lyY2xlLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMSk7XG4gICAgICBAaW5jbHVkZSBwYWQoMTU3cHggMTU4cHggMTI4cHggMTcycHgpO1xuXG4gICAgICAuc3ViamVjdCB7XG4gICAgICAgIG1heC13aWR0aDogNDAwcHg7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDU4cHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTQwcHggbnVsbCBudWxsIDEwcHgpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAzMzNtcyBlYXNlLW91dCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vY2lyY2xlLWltYWdlXG4uY2lyY2xlLWltYWdlIHtcbiAgQGluY2x1ZGUgc2l6ZSg0NTZweCk7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjgpKTtcbiAgb3BhY2l0eTogMC44O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMTUwMG1zIGVhc2Utb3V0KTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMjBweCByZ2JhKDI1MCwgMjQ4LCAyNDcsIDAuNik7XG5cbiAgLmZhZGVJbiAmIHtcbiAgICBhbmltYXRpb24tbmFtZTogY2lyY2xlLWltYWdlLWZhZGVJbjtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDEuMnM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgfVxuXG4gIC5mYWRlT3V0ICYge1xuICAgIGFuaW1hdGlvbi1uYW1lOiBjaXJjbGUtaW1hZ2UtZmFkZU91dDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgIEBpbmNsdWRlIHNpemUoMzY2cHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIEBpbmNsdWRlIHNpemUoMzAwcHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIEBpbmNsdWRlIHNpemUoMjQ3cHgpO1xuICB9XG5cbiAgQGtleWZyYW1lcyBjaXJjbGUtaW1hZ2UtZmFkZUluIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS40KSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAyMHB4IHJnYmEoMjUwLCAyNDgsIDI0NywgMC42KTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIGNpcmNsZS1pbWFnZS1mYWRlT3V0IHtcbiAgICAwJSwgMTUlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMSkpO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMjBweCByZ2JhKDI1MCwgMjQ4LCAyNDcsIDAuNik7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICBvcGFjaXR5OiAwLjg7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuMykpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjUpKTtcbiAgICB9XG4gIH1cbn1cblxuLy9jaXJjbGUtY29udGVudFxuLmNpcmNsZS1jb250ZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogODAwcHg7XG4gIG1pbi1oZWlnaHQ6IDgwMHB4O1xuXG4gIC5hbmltYXRlLWNvbnRlbnQge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoODAlKSk7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgNzc3bXMgZWFzZS1vdXQgNzc3bXMpO1xuICB9XG5cbiAgLmZhZGVJbiAmIHtcblxuICAgIC5hbmltYXRlLWNvbnRlbnQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoLTUwJSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBjaXJjbGUtY29udGVudC1iZWZvcmUtZmFkZUluO1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjJzO1xuICAgICAgYW5pbWF0aW9uLWRlbGF5OiA0NDRtcztcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0O1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IGNpcmNsZS1jb250ZW50LWFmdGVyLWZhZGVJbjtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgICBhbmltYXRpb24tZGVsYXk6IDIyMm1zO1xuICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgfVxuICB9XG5cbiAgLmZhZGVPdXQgJiB7XG5cbiAgICAuYW5pbWF0ZS1jb250ZW50IHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDMwJSkpO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDg4OG1zIGVhc2Utb3V0KTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBhbmltYXRpb24tbmFtZTogY2lyY2xlLWNvbnRlbnQtYmVmb3JlLWZhZGVPdXQ7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDJzO1xuICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBhbmltYXRpb24tbmFtZTogY2lyY2xlLWNvbnRlbnQtYWZ0ZXItZmFkZU91dDtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMXM7XG4gICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDtcbiAgICB9XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDgwMHB4KTtcbiAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gICAgei1pbmRleDogLTI7XG4gIH1cblxuICAudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDQ2KTtcbiAgICBsaW5lLWhlaWdodDogMC45O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMS4zN3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gIH1cblxuICAuc3ViLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSg0Mik7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMS4xN3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA3O1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gIH1cblxuICAuZGV0YWlscyB7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxuXG4gIC5zdWJqZWN0LXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxldHRlci1zcGFjaW5nOiAyLjhweDtcbiAgICBsaW5lLWhlaWdodDogMS4xO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgbWFyZ2luOiA0MHB4IDAgMjNweDtcbiAgfVxuXG4gIC5zdWJqZWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgLmljb24sIC5jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgQGluY2x1ZGUgc2l6ZSgzNXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTlweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2hvbWVfaWNvbl9ldmVudC5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICAgICAgJi5uZXdzX3B1YmxpY2F0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvaG9tZV9pY29uLnBuZycpO1xuXG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgc2l6ZShjYWxjKDEwMCUgLSA2MHB4KSBhdXRvKTtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4zMTtcbiAgICAgIG1hcmdpbjogMXB4IDAgNHB4O1xuICAgIH1cblxuICAgIC5pbmZvcm1hdGlvbiB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgfVxuXG4gICAgLnRlcnRpYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcblxuICAgIC5zdWJqZWN0LXdyYXBwZXIge1xuICAgICAgd2lkdGg6IDM1MHB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICB3aWR0aDogNzQ4cHg7XG4gICAgbWluLWhlaWdodDogNzQ4cHg7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDc0OHB4KTtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oNDQpO1xuICAgIH1cblxuICAgIC5zdWItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oNDApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIH1cblxuICAgIC5kZXRhaWxzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgLnN1YmplY3QtdGl0bGUge1xuICAgICAgbWFyZ2luOiA0MHB4IDAgMjJweDtcbiAgICB9XG5cbiAgICAuc3ViamVjdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxMDB2dyAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IGluaGVyaXQ7XG5cbiAgICAuYW5pbWF0ZS1jb250ZW50IHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA3MCUgbnVsbCBudWxsIDIwcHgpO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTIwdncpO1xuICAgICAgbWluLXdpZHRoOiAzMjBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDMyMHB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgdG9wOiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogLTEyJTtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC5zdWItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAuZGV0YWlscyB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMzRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgfVxuXG4gICAgLnN1YmplY3QsXG4gICAgLnN1YmplY3QtdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIGNpcmNsZS1jb250ZW50LWJlZm9yZS1mYWRlSW4ge1xuICAgIDAlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjgpKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxLjQpKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEpKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIGNpcmNsZS1jb250ZW50LWJlZm9yZS1mYWRlT3V0IHtcbiAgICAwJSwgMjUlIHtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS42KSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgwLjEpKTtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIGNpcmNsZS1jb250ZW50LWFmdGVyLWZhZGVJbiB7XG4gICAgMCUge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuNSkpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDEuNSkpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBjaXJjbGUtY29udGVudC1hZnRlci1mYWRlT3V0IHtcbiAgICAwJSwgMjUlIHtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybShzY2FsZSgxKSk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0oc2NhbGUoMS41KSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHNjYWxlKDAuNSkpO1xuICAgIH1cbiAgfVxufVxuXG4uZXZlbnQtc3BvdGxpZ2h0e1xuICBtYXJnaW4tdG9wOiA2MHB4O1xuICAuc3BvdGxpZ2h0LXRvcHtcbiAgICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cbn1cbi5ldmVudC1zcG90bGlnaHR7XG4gIC5zcG90bGlnaHQtZGVzY3tcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgfVxufVxuLmV2ZW50LXNwb3RsaWdodC1iYW5uZXJ7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGxlZnQ7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogNTAlIGF1dG87XG4gIHBhZGRpbmc6IDkzcHggMDtcblxuICBAbWVkaWEobWF4LXdpZHRoOiAxNzIwcHgpe1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgcGFkZGluZy10b3A6IDE4MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG59XG4uZXZlbnQtc3BvdGxpZ2h0LWV2ZW50e1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDAuOSk7XG4gIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIHBhZGRpbmc6IDI0cHg7XG4gIG1heC13aWR0aDogNjIxcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG5cbiAgLnRvcGljLWNhdGVnb3J5e1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDE4cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgfVxufVxuLmV2ZW50LXNwb3RsaWdodC1kYXRle1xuICBmb250LXNpemU6IHJlbSgyNCk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gIG1hcmdpbjogMTVweCAwO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9jYWxlbmRhcl9jbG9jay5zdmcnKSBsZWZ0IGNlbnRlciBuby1yZXBlYXQ7XG4gIHBhZGRpbmctbGVmdDogMzhweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gIH1cbn1cbi5ldmVudC1zcG90bGlnaHQtZXZlbnQtdGl0bGV7XG4gIGZvbnQtc2l6ZTogcmVtKDM1KTtcbiAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgZm9udC1zaXplOiByZW0oMjgpO1xuICB9XG59XG4uZXZlbnQtc3BvdGxpZ2h0LWV2ZW50LXRleHQgcHtcbiAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gIGF7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cbi5ldmVudC1zcG90bGlnaHQtZXZlbnQtYnV0dG9uc3tcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxNHB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGE6bm90KDpsYXN0LWNoaWxkKXtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgfVxuICB9XG59XG4iLCIubm9kZS10eXBlLWluZGV4LXBhZ2Uge1xuXG4gIC5hY2Nlc3NpYmlsaXR5IHtcbiAgICAuYnJlYWRjcnVtYiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5icmVhZGNydW1icyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIGFydGljbGUuaW5kZXgtcGFnZSB7XG4gICAgc2VjdGlvbi5icmVhZGNydW1iLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheV9saWdodF8xO1xuXG4gICAgICAuYnJlYWRjcnVtYiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsb2F0OiB1bnNldDtcbiAgICAgICAgaGVpZ2h0OiByZW0oNDcpO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oMTI0MCk7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbSgyNCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMTIpO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oOCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlcGFyYXRvciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvYW5nbGUtcmlnaHQnKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDZweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICBtYXJnaW46IDAgOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGl2ZS10cmFpbCB7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZpZXctZmlsdGVycyB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuXG4gICAgICAgICY6bm90KC5tb2JpbGUtdG9nZ2xlZCkge1xuICAgICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1pbm5lciB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkKDMxcHggMCAzMnB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbmRleC13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgYmFja2dyb3VuZDogcmdiYSg3MSwgNjksIDY5LCAwLjE1KTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAudmlldy1jb250ZW50LFxuICAgIC52aWV3LWVtcHR5IHtcbiAgICAgIEBpbmNsdWRlIHBhZCg5NnB4IDAgNzBweCk7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCg3MHB4IDAgNDVweCk7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDI0cHggMCA4OHB4IDApO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZmlsdGVyLW9uLWZvY3VzIHtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG9cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAuY2FyZCxcbiAgICAvLyAuZW1haWwtc3Vic2NyaXB0aW9uIHtcbiAgICAvLyAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDEyKTtcbiAgICAvLyAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcblxuICAgIC8vICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAvLyAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoNG4pO1xuICAgIC8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCBvZiAxMik7XG4gICAgLy8gICAgIEBpbmNsdWRlIG9tZWdhKDNuKTtcbiAgICAvLyAgIH1cblxuICAgIC8vICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIC8vICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgzbik7XG4gICAgLy8gICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDEyKTtcbiAgICAvLyAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgIC8vICAgfVxuXG4gICAgLy8gICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgLy8gICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDJuKTtcbiAgICAvLyAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEyIG9mIDEyKTtcblxuICAgIC8vICAgICAmLmVtYWlsLXN1YnNjcmlwdGlvbiB7XG4gICAgLy8gICAgICAgbWFyZ2luOiAyMHB4IDAgNDBweDtcbiAgICAvLyAgICAgfVxuICAgIC8vICAgfVxuICAgIC8vIH1cbiAgfVxuXG4gIC52aWV3LW5ld3MtcHVibGljYXRpb25zIHtcblxuICAgIC52aWV3LWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogODVweCAwIDQwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAuY2FyZCB7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgIC8vbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luOiAwIDIwcHggMjBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudmlldy1wYXN0LWV2ZW50cyB7XG4gICAgQGluY2x1ZGUgcGFkKDAgMCAyNXB4KTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cbiAgICAudmlldy1ibG9jayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgfVxuXG4gICAgLnZpZXctY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMjgwcHgsIDFmcikpO1xuICAgICAgZ2FwOiAyM3B4IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLnZpZXctdXBjb21pbmctZXZlbnRzIHtcblxuICAgIC52aWV3LWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI4MHB4LCAxZnIpKTtcbiAgICAgIGdhcDogMjNweCAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIC52aWV3LW91ci10ZWFtIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNThweDtcblxuICAgIC52aWV3LWZpbHRlcnMtaW5uZXIge1xuICAgICAgQGluY2x1ZGUgcGFkKDMxcHggMTAwcHggMzJweCk7XG4gICAgfVxuXG4gICAgLnZpZXctY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgIGdhcDogMzZweCA0MHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDk5OHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgZ2FwOiAxNnB4IDI0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5kZXggcGFnZSBmYW5jeWJveFxuICAuZmFuY3lib3gtYXJyb3cge1xuICAgIEBpbmNsdWRlIHNpemUoNDJweCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvc2xpZGUtYXJyb3ctbmV4dC5wbmcnKSBuby1yZXBlYXQgY2VudGVyICR3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDhweCBhdXRvO1xuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgICYuZmFuY3lib3gtYXJyb3ctLWxlZnQge1xuICAgICAgbGVmdDogMTAlO1xuICAgIH1cblxuICAgICYuZmFuY3lib3gtYXJyb3ctLXJpZ2h0IHtcbiAgICAgIHJpZ2h0OiAxMyU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblxuICAgICAgJi5mYW5jeWJveC1hcnJvdy0tbGVmdCB7XG4gICAgICAgIGxlZnQ6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgICYuZmFuY3lib3gtYXJyb3ctLXJpZ2h0IHtcbiAgICAgICAgcmlnaHQ6IDUwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAmLmZhbmN5Ym94LWFycm93LS1sZWZ0IHtcbiAgICAgICAgbGVmdDogMTVweDtcbiAgICAgIH1cblxuICAgICAgJi5mYW5jeWJveC1hcnJvdy0tcmlnaHQge1xuICAgICAgICByaWdodDogMzBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDM1cHgpO1xuXG4gICAgICAmLmZhbmN5Ym94LWFycm93LS1sZWZ0IHtcbiAgICAgICAgbGVmdDogNXB4O1xuICAgICAgfVxuXG4gICAgICAmLmZhbmN5Ym94LWFycm93LS1yaWdodCB7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEluZGV4IHBhZ2UgaGVhZGVyXG4gIC5mb2N1cy1hcmVhLWhlYWRlciB7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMTQwcHggMzBweCAzMnB4IDIwcHgpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNzc0cHgpO1xuICAgICAgICBsZWZ0OiAtMzAwcHg7XG4gICAgICAgIHJpZ2h0OiBpbmhlcml0O1xuICAgICAgICB0b3A6IDQ1MHB4O1xuICAgICAgfVxuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMjBweDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRW1wdHkgY29udGVudFxuICAuZW1wdHktaW5kZXgge1xuICAgIHBhZGRpbmc6IDEwMHB4IDAgODBweDtcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiBlbSgyMyk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nOiA0NXB4IDIwcHg7XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IGVtKDE1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24tLWJlbG93LFxuICAuc2VsZWN0Mi1jb250YWluZXItLW9wZW4gLnNlbGVjdDItZHJvcGRvd24tLWFib3ZlIHtcbiAgICBtaW4td2lkdGg6IDQwMHB4ICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpZXctZW1wdHkge1xuICBmb250LXNpemU6IHJlbSgyMyk7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogcmVtKDIzKTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBIaWRlICdkZWZhdWx0JyBmcm9tIG91ciB0ZWFtIG9wdGlvbnNcbi5wYWdlLW5vZGUtMjgge1xuICAjc2VsZWN0Mi1lZGl0LXNvcnQtYnktcmVzdWx0cyB7XG4gICAgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG59XG5cbi52aWV3LXRyYWluaW5nLWNvbnN1bHRpbmcge1xuICAudmlldy1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI3NnB4LCAxZnIpKTtcbiAgICBnYXA6IDIzcHggMzJweDtcbiAgfVxufVxuXG4udmlldy1uZXdzLXB1YmxpY2F0aW9ucyB7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmF5X2xpZ2h0ZXJfYmx1ZSk7XG5cbiAgJi1rYXJkcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNzZweCwgMWZyKSk7XG4gICAgZ2FwOiAyM3B4IDMycHg7XG4gIH1cbn1cblxuLnZpZXctYmxvY2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmF5X2xpZ2h0ZXJfYmx1ZSk7XG5cbiAgLnZpZXctb3VyLW1lbWJlcnMgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICB9XG59XG5cbi52aWV3LW91ci1tZW1iZXJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICBAaW5jbHVkZSBwYWQoMCAwIDUwcHgpO1xuXG4gIC52aWV3LWZpbHRlcnMtaW5uZXIge1xuICAgIEBpbmNsdWRlIHBhZCgzMXB4IDEyMHB4IDMycHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgzMXB4IDYwcHggMzJweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDMxcHggMCAzMnB4KTtcbiAgICB9XG4gIH1cblxuICAudmlldy1maWx0ZXJzIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgfVxuXG4gIC52aWV3LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICBnYXA6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgIH1cblxuICAgIC5ub2RlLXR5cGUtaW5kZXgtcGFnZSAmIHtcbiAgICAgIEBpbmNsdWRlIHBhZCg5NnB4IDEyMHB4IDcwcHgpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICBAaW5jbHVkZSBwYWQoOTZweCA2MHB4IDcwcHgpO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCg3MHB4IDAgNDVweClcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBAaW5jbHVkZSBwYWQoNDVweCA1NHB4KVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udmlldy1zcG9uc29yc2hpcHMge1xuICAudmlldy1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgZ2FwOiAyMHB4O1xuICB9XG59IiwiLnJobS1kb25hdGlvbi1mb3JtLXdyYXAge31cblxuLmRvbmF0ZS1wYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBwYWRkaW5nOiAxMDBweCAwIDk1cHg7XG5cbiAgaDEge1xuICAgIC8vIGZvbnQtc2l6ZTogcmVtKDQ5KTtcbiAgICAvLyBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgIC8vIGxpbmUtaGVpZ2h0OiAxLjA2O1xuICAgIC8vIGxldHRlci1zcGFjaW5nOiAtMS40NnB4O1xuICB9XG5cbiAgLmRvbmF0ZS1pbnRybyB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIG1heC13aWR0aDogNTMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTJweDtcbiAgfVxuXG4gIC5ib3R0b20tdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmJvdHRvbS10ZXh0LTIge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuXG4gIC8vICY6YmVmb3JlIHtcbiAgLy8gICBjb250ZW50OiAnJztcbiAgLy8gICBAaW5jbHVkZSBzaXplKDQyNXB4KTtcbiAgLy8gICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIC8vICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0zMjVweCAxMCUgbnVsbCBudWxsKTtcbiAgLy8gICBiYWNrZ3JvdW5kOiByZ2JhKDI1MiwgMTA0LCA0NSwgMC4wOCk7XG4gIC8vICAgei1pbmRleDogLTE7XG4gIC8vIH1cblxuICAvLyAmOmFmdGVyIHtcbiAgLy8gICBjb250ZW50OiAnJztcbiAgLy8gICBAaW5jbHVkZSBzaXplKDM3NXB4KTtcbiAgLy8gICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIC8vICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDEzMHB4IG51bGwgbnVsbCA1JSk7XG4gIC8vICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjU4KTtcbiAgLy8gICB6LWluZGV4OiAtMTtcbiAgLy8gfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBwYWRkaW5nOiAwIDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IHJlbSgzMik7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNzdweDtcbiAgICB9XG5cbiAgICAuZG9uYXRlLWludHJvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgfVxuXG4gICAgLmJvdHRvbS10ZXh0IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgfVxuXG4gIH1cbn1cblxuLmRvbmF0ZS1wYWdlLWlubmVyIHtcbiAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEwKTtcbiAgQGluY2x1ZGUgc2hpZnQoMSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5kb25hdGUtb3B0aW9uLW1vbnRobHkge1xuICBjbGVhcjogYm90aDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiA1OHB4IDQ1cHg7XG4gIG1hcmdpbi1ib3R0b206IDI2cHg7XG5cbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIG9wYWNpdHk6IDAuMTU7XG4gICAgYmFja2dyb3VuZDogJGRhcms7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIEBpbmNsdWRlIHNpemUoMTE3cHgpO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBAaW5jbHVkZSBmaWx0ZXIoYmx1cig0MnB4KSk7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgMCAtMjBweCAwKTtcbiAgfVxuXG4gIC5pbm5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgfVxuXG4gIGgyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDVweCAwIDA7XG4gICAgZm9udC1zaXplOiBlbSgyNCk7XG4gIH1cblxuICAubW9udGhseS1mb3JtLXdyYXAge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxJTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cblxuICAuY3VycmVuY3kge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM5O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC41M3B4O1xuICAgIG1hcmdpbi1yaWdodDogMSU7XG4gIH1cblxuICAuYW1vdW50LW1vbnRobHktc2VsZWN0LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiA0MCU7XG4gICAgbWF4LXdpZHRoOiAxMzhweDtcbiAgICBoZWlnaHQ6IDUycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5hbW91bnQtbW9udGhseS1zZWxlY3Qge1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgICBmb250LXNpemU6IHJlbSgzMCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nOiA1cHggMCAwO1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cblxuICAuZG9uYXRlLWxpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1sZWZ0OiA1JTtcbiAgICBAaW5jbHVkZSBwYWQoMTRweCAyMXB4IDExcHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDI1cHggMjBweCA1MHB4O1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG5cbiAgICBoMiB7XG4gICAgICB3aWR0aDogNDAlO1xuICAgICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgfVxuXG4gICAgLm1vbnRobHktZm9ybS13cmFwIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDElKTtcbiAgICB9XG5cbiAgICAuY3VycmVuY3kge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC5hbW91bnQtbW9udGhseS1zZWxlY3Qtd3JhcHBlciB7XG4gICAgICB3aWR0aDogMTQwcHg7XG4gICAgfVxuXG4gICAgLmFtb3VudC1tb250aGx5LXNlbGVjdCB7XG4gICAgICBmb250LXNpemU6IHJlbSgyNik7XG4gICAgfVxuXG4gICAgLmRvbmF0ZS1saW5rIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBib3R0b206IC0xNXB4O1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cblxuICB9XG59XG5cbi5yaG0tZG9uYXRpb24tZm9ybSB7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgd2lkdGg6IDU5MHB4O1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA1MCU7XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogNjVweCA1MHB4IDM1cHg7XG4gIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3BpZy5qcGcnKSBuby1yZXBlYXQgY2FsYygxMDAlIC0gMTdweCkgLTVweCAkd2hpdGU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDI1cHg7XG4gIH1cblxuICAuZm9ybS1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAuZG9uYXRlLWFtb3VudCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXNpemU6IHJlbSgzMCk7XG4gICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1heC13aWR0aDogMzIwcHg7XG4gICAgcGFkZGluZzogMTVweCAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB9XG4gIH1cblxuICBsZWdlbmQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6ICRzcGFjZWQtbGV0dGVycztcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXlfbGlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgfVxuXG4gIC5pbnB1dC13cmFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgJi5oYWxmIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZnVsbCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLm9tZWdhIHtcbiAgICAgIEBpbmNsdWRlIG9tZWdhKCk7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgIHBhZGRpbmc6IDdweCAxMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG4gIH1cblxuICBsYWJlbCB7XG4gICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJyZXNldFwiXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uZG9uYXRlLXN1Y2Nlc3Mge1xuICBmb250LXNpemU6IHJlbSgyMik7XG4gIHBhZGRpbmc6IDcwcHg7XG59XG5cbi5kb25hdGUge1xuXG4gICYtdG9wIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG4gIH1cblxuICAmLXRvcC1pbm5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIHBhZCg2NnB4IDAgNzlweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzJweCAwIDQ4cHgpO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDQ4LjgzcHgpO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgZm9udC1zaXplOiByZW0oMjBweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICBtYXgtd2lkdGg6IDk2OXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICB9XG5cbiAgICBiciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtb3B0aW9ucyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIGdhcDogMjBweCA0MXB4O1xuICAgIEBpbmNsdWRlIHBhZCgwIDEycHgpO1xuICAgIG1hcmdpbi10b3A6IDg2cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMCk7XG4gICAgICBnYXA6IDIwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiByZW0oNDApO1xuICAgIH1cbiAgfVxuXG4gICYtb3B0aW9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE5cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMzI5cHg7XG4gICAgQGluY2x1ZGUgcGFkKDQxcHggMCAwKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDMwMnB4O1xuICAgICAgQGluY2x1ZGUgcGFkKDIwcHggMCAwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuICAgIH1cbiAgfVxuXG4gICYtaWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDg5cHg7XG4gICAgaGVpZ2h0OiA3MnB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG4gIH1cblxuICAmLWFtb3VudCB7XG4gICAgZm9udC1zaXplOiByZW0oMzJweCk7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9vcmFuZ2UpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBkaXNwbGF5OiBibG9ja1xuICB9XG5cbiAgJi12YWx1ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjlweDtcbiAgfVxuXG4gICYtaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIHdpZHRoOiAxNDJweDtcbiAgICBoZWlnaHQ6IDM4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IoY29tYml6X2JsdWUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBmb250LXNpemU6IHJlbSgxMnB4KTtcbiAgICBmb250LWZhbWlseTogJGZvbnRfX21haW47XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgcGFkKDApO1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgZm9udC1zaXplOiByZW0oMTJweCk7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250X19tYWluO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICB9XG5cbiAgJi1jdXJyZW5jeSB7XG4gICAgZm9udC1zaXplOiByZW0oMjBweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrXG4gIH1cblxuICAmLWN0YSB7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBAaW5jbHVkZSBwYWQoOHB4IDIzcHggNnB4IDE2cHgpO1xuICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKHdoaXRlKSk7XG4gICAgZm9udC1zaXplOiByZW0oMTZweCk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOXB4O1xuICAgIH1cbiAgfVxuXG4gICYtYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gIH1cblxuICAmLWJvdHRvbS1pbm5lciB7XG4gICAgQGluY2x1ZGUgcGFkKDcycHggMCA5NXB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgzMnB4IDAgMTZweCk7XG4gICAgfVxuICB9XG5cbiAgJi1zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oMzJweCk7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB9XG4gIH1cblxuICAmLXBhciB7XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDM5MDI0cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuYmxvY2stY29tbWVyY2UtY2hlY2tvdXQtcHJvZ3Jlc3Mge1xuICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkZ3JheV9kYXJrO1xuXG4gIC5ibG9jay1pbm5lciB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG4gICAgcGFkZGluZzogMTZweCAwIDE0cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBwYWRkaW5nOiAxNnB4IDM1cHggMTRweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG4gICAgICBAaW5jbHVkZSBwYWQoOXB4IDIwcHggN3B4KTtcbiAgICB9XG4gIH1cblxuICAuY29udGVudCB7XG4gICAgZm9udC1zaXplOiByZW0oMTEpO1xuICB9XG5cbiAgLml0ZW0tbGlzdCB7XG4gICAgaGVpZ2h0OiAyN3B4O1xuICB9XG59XG5cbi5pdGVtLWxpc3QgdWwuY29tbWVyY2UtY2hlY2tvdXQtcHJvZ3Jlc3Mge1xuICBjb3VudGVyLXJlc2V0OiBwcm9ncmVzcy1jb3VudGVyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGxpIHtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDAgMTlweDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgJi5maXJzdCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBjb3VudGVyKHByb2dyZXNzLWNvdW50ZXIpO1xuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHByb2dyZXNzLWNvdW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ3JheV92ZXJ5X2xpZ2h0O1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEzLjUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8yO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICBjb2xvcjogJGdyYXlfZGFyaztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIGxpIHtcbiAgICAgIEBpbmNsdWRlIHNpemUoMjdweCk7XG4gICAgICBtYXJnaW46IDAgNy41cHg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBhLFxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi52aWV3LWNvbW1lcmNlLWNhcnQtZm9ybSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcbiAgQGluY2x1ZGUgcGFkKDMwcHggMCA2MnB4KTtcblxuICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgIEBpbmNsdWRlIHBhZCgzMHB4IDIwcHggNjJweCk7XG4gIH1cblxuICAudmlldy1jYXJ0LWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBAaW5jbHVkZSBwYWQoMCAxMDNweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDAgNTBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDAgMjBweCk7XG4gICAgfVxuICB9XG5cbiAgLnZpZXctaGVhZGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDAgNDFweDtcbiAgfVxuXG4gIC52aWV3LWNvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgfVxuXG4gIC52aWV3LWNvbnRlbnQsXG4gIC52aWV3LWhlYWRlciB7XG4gICAgLy8gQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRsYXJnZV9kZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoODAwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig2ODBweCk7XG5cbiAgICAgICYudmlldy1oZWFkZXIge1xuICAgICAgICBwYWRkaW5nOiAzNXB4IDA7XG4gICAgICB9XG5cbiAgICAgICYudmlldy1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuXG4gICAgICAmLnZpZXctaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMjZweCAwIDE2cHg7XG4gICAgICB9XG5cbiAgICAgICYudmlldy1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMCAwIDE4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmF0dGFjaG1lbnQge1xuICAgIGNsZWFyOiBib3RoO1xuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIGZvcm0ge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbjogMCAwIDMxcHg7XG4gICAgfVxuXG4gICAgdGhlYWQgdGgge1xuICAgICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgICAgQGluY2x1ZGUgcGFkKDVweCAwKTtcbiAgICB9XG5cbiAgICB0Ym9keSB7XG5cbiAgICAgIHRyIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDApO1xuXG4gICAgICAgICYudHlwZS1GcmVlLlRpY2tldCB7XG5cbiAgICAgICAgICAuZGVsZXRlLWxpbmUtaXRlbSxcbiAgICAgICAgICAuZm9ybS10eXBlLXRleHRmaWVsZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaGlkZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0ZCB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgxOHB4IDAgMTVweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgICB0YWJsZSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICB9XG5cbiAgICAgIHRoZWFkIHRoIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDAgMCA0cHgpO1xuICAgICAgfVxuXG4gICAgICAudmlld3MtZmllbGQtY29tbWVyY2UtdG90YWwsXG4gICAgICAudmlld3MtZmllbGQtdmlld3MtY29uZGl0aW9uYWwtMSxcbiAgICAgIC52aWV3cy1maWVsZC12aWV3cy1jb25kaXRpb25hbC0yIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgdGJvZHkge1xuXG4gICAgICAgIHRkIHtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQoMThweCAwIDVweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC43cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgfVxuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIG1hcmdpbi1ib3R0b206IC0zcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgfVxuICB9XG5cbiAgLnRpY2tldC1uYW1lIHtcbiAgICBmb250LXNpemU6IHJlbSgxNXB4KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wNGVtO1xuICB9XG5cbiAgaW5wdXQuZGVsZXRlLWxpbmUtaXRlbSB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAudmlld3MtZmllbGQtbm90aGluZyB7XG4gICAgd2lkdGg6IDY1JTtcbiAgICBtaW4td2lkdGg6IDMwMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgbWluLXdpZHRoOiBpbmhlcml0O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC52aWV3cy1maWVsZC1lZGl0LXF1YW50aXR5IHtcbiAgICB3aWR0aDogMTgwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICAgIHBhZGRpbmc6IDZweCAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgfVxuXG4gICAgLmNvbW1lcmNlLXF1YW50aXR5LXBsdXNtaW51cy1saW5rIHtcbiAgICAgIG1hcmdpbi10b3A6IC01cHg7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAwO1xuICAgICAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8zO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuY29tbWVyY2UtcXVhbnRpdHktcGx1c21pbnVzLWxpbmstZGlzYWJsZWQ6bm90KC5jb21tZXJjZS1xdWFudGl0eS1wbHVzbWludXMtbGluay1pbmNyZWFzZSkge1xuICAgICAgICBvcGFjaXR5OiAwLjQ7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAuZm9ybS10ZXh0IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRncmF5X3ZlcnlfbGlnaHQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuICAgICAgd2lkdGg6IDMzLjMzcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxcHggMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB3aWR0aDogNTBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAuZm9ybS1pdGVtIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICB9XG5cbiAgICAgIC5jb21tZXJjZS1xdWFudGl0eS1wbHVzbWludXMtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1cHggNXB4IG51bGwgbnVsbCk7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMTRweCk7XG5cbiAgICAgICAgJi5jb21tZXJjZS1xdWFudGl0eS1wbHVzbWludXMtbGluay1kZWNyZWFzZSB7XG4gICAgICAgICAgdG9wOiBpbmhlcml0O1xuICAgICAgICAgIGJvdHRvbTogOXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDE0cHgpO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCBudWxsIDApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLXRleHQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRoLnZpZXdzLWZpZWxkLWNvbW1lcmNlLXRvdGFsLFxuICB0aC52aWV3cy1maWVsZC12aWV3cy1jb25kaXRpb25hbC0xLFxuICB0aC52aWV3cy1maWVsZC12aWV3cy1jb25kaXRpb25hbC0yIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG5cbiAgdGQudmlld3MtZmllbGQtY29tbWVyY2UtdG90YWwsXG4gIHRkLnZpZXdzLWZpZWxkLXZpZXdzLWNvbmRpdGlvbmFsLTEsXG4gIHRkLnZpZXdzLWZpZWxkLXZpZXdzLWNvbmRpdGlvbmFsLTIge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICBwYWRkaW5nLXRvcDogMjRweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB9XG5cbiAgdGQudmlld3MtZmllbGQtZWRpdC1xdWFudGl0eSB7XG4gICAgcGFkZGluZzogMjNweCAwIDEwcHg7XG4gIH1cblxuICAubWVtYmVyc2hpcC1vci1wdWJsaWNhdGlvbi1saW5lLWl0ZW0sXG4gIC50eXBlLURpc2NvdW50LFxuICAuQ291cG9uIHtcblxuICAgIC5mb3JtLXR5cGUtdmFsdWUsXG4gICAgLmNvbW1lcmNlLXF1YW50aXR5LXBsdXNtaW51cy1saW5rIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnZpZXdzLWZpZWxkLWVkaXQtcXVhbnRpdHkgLmZvcm0taXRlbSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLnZpZXdzLWZpZWxkLWVkaXQtcXVhbnRpdHkgLmZvcm0tdGV4dCB7XG4gICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgY29sb3I6ICMzQjM1MzU7XG4gICAgfVxuXG4gIH1cblxuICAubGluZS1pdGVtLXN1bW1hcnkge1xuICAgIG1hcmdpbjogMjNweCAwIDA7XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgMTMwcHggbnVsbCBudWxsKTtcblxuICAgIHNwYW4ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAubGluZS1pdGVtLXRvdGFsLWxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40MXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICB9XG5cbiAgICAubGluZS1pdGVtLXRvdGFsLXJhdyB7XG4gICAgICBmb250LXNpemU6IGVtKDI0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuN3B4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBpbmhlcml0KTtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMTBweCk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgLmxpbmUtaXRlbS10b3RhbC1yYXcge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMTdweCAwIDAgNCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogMTVweCAwIDAgMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgI2VkaXQtY2hlY2tvdXQge1xuICAgIC8vIEBleHRlbmQgLnByaW1hcnktY2FsbC1hY3Rpb247XG4gICAgYmFja2dyb3VuZDogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihjb21iaXpfYmx1ZSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgOXB4IDIwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgICAgYmFja2dyb3VuZDogY29sb3Iod2hpdGUpO1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICB9XG4gIH1cblxuICAudmlzYS1tYXN0ZXJjYXJkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDMxcHg7XG5cbiAgICBAbWVkaWEobWluLXdpZHRoOiA2ODBweCkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDZweDtcbiAgICAgIGJvdHRvbTogNzhweDtcbiAgICB9XG4gIH1cblxuICAjZWRpdC1zdWJtaXQsXG4gICNlZGl0LXN1Ym1pdC0tNCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICNlZGl0LWNvdXBvbi1jb2RlLFxuICAjZWRpdC1jb3Vwb24tY29kZS0tMiB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDUpO1xuXG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmZvcm0tc3VibWl0IHtcbiAgICAgIEBleHRlbmQgLnNlY29uZGFyeS1jYWxsLWFjdGlvbjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBwYWRkaW5nOiAxMXB4IDE0cHggOXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJG9yYW5nZV9icmlnaHRfMztcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMztcbiAgICAgICAgLy9ib3gtc2hhZG93OiAwIDAgMCAxcHggJG9yYW5nZV9icmlnaHRfMztcbiAgICAgICAgYm94LXNoYWRvdzogMCA5cHggMjBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbS1pbnB1dC1jb3Vwb24tY29kZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogNzAlO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xuXG4gICAgICAuZm9ybS1yZXF1aXJlZCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgQGluY2x1ZGUgcGFkKDEwcHggMTFweCk7XG4gICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDFweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4O1xuXG4gICAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWluLXdpZHRoOiA5M3B4O1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1pdGVtLWlucHV0LWNvdXBvbi1jb2RlIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgICAgIH1cblxuICAgICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWl0ZW0tYnV5ZXItaXMtZ3Vlc3Qge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkb3JhbmdlX2JyaWdodF8yO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIEBtZWRpYShtaW4td2lkdGg6IDY4MHB4KSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTMycHgpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAzMHB4O1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIH1cbiAgfVxufVxuXG4jY29tbWVyY2UtY2hlY2tvdXQtZm9ybS1yZXZpZXcge1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoKTtcbiAgcGFkZGluZzogMzBweCAwO1xuXG4gICNlZGl0LWN1c3RvbWVyLXByb2ZpbGUtYmlsbGluZyB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICB9XG5cbiAgI2VkaXQtY2FydC1jb250ZW50cyB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAgIEBpbmNsdWRlIHNoaWZ0KDIpO1xuICAgIEBpbmNsdWRlIG9tZWdhKCk7XG4gIH1cbn1cblxuLmNhcnQtZW1wdHktcGFnZSB7XG4gIGZvbnQtc2l6ZTogZW0oMjUpO1xuICBmb250LXdlaWdodDogbGlnaHRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgQGluY2x1ZGUgcGFkKDcwcHggMCk7XG4gIG1pbi1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0MDBweCk7XG5cbiAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoOTYwcHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcig2ODBweCk7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEwMCUpO1xuICB9XG59XG5cbi5jYXJ0LXByaWNpbmctaW5mbyB7XG4gIGZvbnQtc2l6ZTogZW0oMTQpO1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG4jY29tbWVyY2UtY2hlY2tvdXQtZm9ybS1jb21wbGV0ZSB7XG5cbiAgLm5vLWV2ZW50IC5ldmVudC1tZXNzYWdlLFxuICAubm8tbWVtYmVyc2hpcCAubWVtYmVyc2hpcC1tZXNzYWdlLFxuICAubm8tcHVibGljYXRpb24gLnB1YmxpY2F0aW9uLW1lc3NhZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmZvcm0taXRlbS1jb21tZXJjZS1wYXltZW50LXBheW1lbnQtZGV0YWlscy1jcmVkaXQtY2FyZC1jYXJkb25maWxlLXN0b3JlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5wYXltZW50LXJlZGlyZWN0LWZvcm0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG4gIC8vIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xuICBwYWRkaW5nOiA4MHB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuY2hlY2tvdXQtaGVscCB7XG4gICAgbWF4LXdpZHRoOiA1NTBweDtcbiAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICB9XG59XG5cbiNjb21tZXJjZS1jaGVja291dC1mb3JtLWd1ZXN0LWRldGFpbHMge1xuXG4gIC5jaGVja291dC1zaWduaW4tc2lnbnVwLXBhbmUge1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLmNoZWNrb3V0LXNpZ25pbi1zaWdudXAtcGFuZSB7XG5cbiAgICBmaWVsZHNldCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJG9yYW5nZV9icmlnaHRfNDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzQ7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cblxuICAgIC5maWVsZHNldC13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAxMHB4IDIwcHg7XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBmbGV4OiAwIDAgY2FsYyg1MCUgLSAxMHB4KTtcblxuICAgICAgJjpudGgtY2hpbGQoMm4tMSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNoZWNrb3V0LWJ1dHRvbnMge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaW5wdXQ6bm90KCNlZGl0LWNvbnRpbnVlKSxcbiAgICAuYnV0dG9uLW9wZXJhdG9yIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59IiwiLmNoZWNrb3V0X3BheW1lbnRfbWV0aG9kIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xufVxuXG4uY2FydC1jaGVja291dCB7XG4gIG1heC13aWR0aDogMTIwMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIEBpbmNsdWRlIHBhZCg5NHB4IDAgOTRweCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICBAaW5jbHVkZSBwYWQoOTRweCAyMHB4IDk0cHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIEBpbmNsdWRlIHBhZCg0NXB4IDIwcHgpXG4gIH1cblxuICAmLWlubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwM3B4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgZ2FwOiAyMHB4IDA7XG4gICAgfVxuICB9XG5cbiAgJi1jb2wtbGVmdCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWF4LXdpZHRoOiA0NjhweDtcbiAgICB3aWR0aDogNDMlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi1jb2wtcmlnaHQge1xuICAgIG1heC13aWR0aDogMzgzcHg7XG4gICAgd2lkdGg6IDQwLjklO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIC8vIGZsZXgtc2hyaW5rOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgcGFkKDM4cHggMzFweCAxMHB4KTtcbiAgICBtaW4taGVpZ2h0OiAzNjFweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMzhweCAxNXB4IDEwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICYtaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA2N3B4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuXG4gICAgLmNhcnQtY2hlY2tvdXQtcGVyc29uYWwtZGV0YWlsICYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgICB9XG4gIH1cblxuICAmLXN1YmhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogcmVtKDExcHgpO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgY29sb3IoY29tYml6X2JsdWUpO1xuICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4yN2VtO1xuICB9XG5cbiAgJi1jaG9pY2VzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIyNXB4LCAxZnIpKTtcbiAgICBnYXA6IDAgMTVweDtcbiAgfVxuXG4gICYtaXRlbSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBtaW4taGVpZ2h0OiAxMTNweDtcbiAgICBAaW5jbHVkZSBwYWQoMzNweCAyMHB4IDApO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG4gICAgJi1kZXNjIHtcbiAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICBmb250LXNpemU6IHJlbSgxMXB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgIH1cbiAgfVxuXG4gIC52aWV3LWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gIH1cblxuICAmLW1vYmlsZS1idG4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxNXB4IDIwcHggbnVsbCBudWxsKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYtbW9iaWxlLWNsb3NlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2Nsb3NlLWRhcmstMi5wbmcnKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IGF1dG87XG4gICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDE4cHggMjBweCBudWxsIG51bGwpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICB9XG5cbiAgLmN1c3RvbWVyX3Byb2ZpbGVfYmlsbGluZyAuc2VsZWN0MiAuc2VsZWN0Mi1zZWxlY3Rpb24ge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpICFpbXBvcnRhbnRcbiAgfVxuXG4gIC5jdXN0b21lcl9wcm9maWxlX2JpbGxpbmcgLmZvcm0taXRlbSBsYWJlbCB7XG4gICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKSAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmNoZWNrb3V0X3Rlcm1zX2FuZF9jb25kaXRpb25zIHtcbiAgICAudGVybXMtbGluayB7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpXG4gICAgfVxuICB9XG5cbiAgLmlyYWRpbyxcbiAgLmljaGVja2JveCB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSkgIWltcG9ydGFudFxuICB9XG59XG5cbi5jaGVja291dF9wZXJzb25hbF9kZXRhaWxzX29wZW5pbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG4gIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDEyMDBweCk7XG4gIC8vIEBpbmNsdWRlIHBhZCg3MHB4IDAgMjMwcHgpO1xuXG4gIC8vIEBpbmNsdWRlIG1lZGlhKCRsYXJnZV9kZXNrdG9wKSB7XG4gIC8vICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgLy8gfVxuXG4gIC8vIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgLy8gICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoNjgwcHgpO1xuICAvLyB9XG5cbiAgLy8gQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAvLyAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbiAgLy8gICBAaW5jbHVkZSBwYWQoNDRweCAyMHB4IDQwcHgpO1xuICAvLyB9XG5cbiAgLy8gJi5jaGVja291dF9wZXJzb25hbF9kZXRhaWxzX29wZW5pbmcge1xuICAvLyAgIEBpbmNsdWRlIHBhZCg4NXB4IDAgMTAwcHgpO1xuXG4gIC8vICAgc2VjdGlvbiBoMSB7XG4gIC8vICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAvLyAgIH1cblxuICAvLyAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgLy8gICAgIEBpbmNsdWRlIHBhZCg1MHB4IDApO1xuICAvLyAgIH1cblxuICAvLyAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgLy8gICAgIEBpbmNsdWRlIHBhZCg0M3B4IDIwcHgpO1xuXG4gIC8vICAgICBzZWN0aW9uIGgxIHtcbiAgLy8gICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vIH1cblxuICAvLyAuY2FydC1tb2JpbGUtYnRuIHtcbiAgLy8gICBkaXNwbGF5OiBub25lO1xuICAvLyAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgLy8gICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAvLyAgIGN1cnNvcjogcG9pbnRlcjtcbiAgLy8gICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMTVweCAyMHB4IG51bGwgbnVsbCk7XG5cbiAgLy8gICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gIC8vICAgICBkaXNwbGF5OiBibG9jaztcbiAgLy8gICB9XG4gIC8vIH1cblxuICAmLmNoZWNrb3V0LXNpZ25pbi1zaWdudXAtcGFuZSB7XG5cbiAgICBhOm5vdCguY2xvc2UpOm5vdCgudGVybXMtbGluayk6bm90KC5jYXJ0LWVkaXQtbGluayk6bm90KC5jb250ZXh0dWFsLWxpbmtzLXRyaWdnZXIpIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzIG9mIDYpO1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvdXNlLW1vZGFsLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgQGluY2x1ZGUgcGFkKDM0cHggMjBweCk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZm9udC1zaXplOiBlbSgxOCk7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjUzcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIDAgMCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjQyLCAxMTYsIDU4LCAwLjkzKTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICB9XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAgICY+ZGl2IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICBhOm5vdCguY2xvc2UpOm5vdCgudGVybXMtbGluayk6bm90KC5jYXJ0LWVkaXQtbGluaykge1xuICAgICAgICB3aWR0aDogMjA1cHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gMjBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2hlY2tvdXQtcGVyc29uYWwtZGV0YWlscy1wYW5lLm9mZmxpbmUge1xuXG4gICAgLmNoZWNrb3V0X3BlcnNvbmFsX2RldGFpbHNfbWlkZGxlLFxuICAgIC5jb21tZXJjZV9wYXltZW50IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBzZWN0aW9uIHtcbiAgLy8gICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG5cbiAgLy8gICBoMSB7XG4gIC8vICAgICBmb250LXNpemU6IGVtKDI0KTtcbiAgLy8gICAgIG1hcmdpbi1ib3R0b206IDY3cHg7XG4gIC8vICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgLy8gICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgLy8gICB9XG5cbiAgLy8gICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gIC8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNi41KTtcbiAgLy8gICB9XG5cbiAgLy8gICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gIC8vICAgICB3aWR0aDogMTAwJTtcbiAgLy8gICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAvLyAgICAgaDEge1xuICAvLyAgICAgICBmb250LXNpemU6IGVtKDIwKTtcbiAgLy8gICAgICAgbWFyZ2luLWJvdHRvbTogMzlweDtcbiAgLy8gICAgIH1cbiAgLy8gICB9XG4gIC8vIH1cblxuICAvLyBhc2lkZSB7XG4gIC8vICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDQpO1xuICAvLyAgIEBpbmNsdWRlIHNoaWZ0KDIpO1xuICAvLyAgIEBpbmNsdWRlIG9tZWdhKCk7XG4gIC8vICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRvcmFuZ2VfYnJpZ2h0O1xuICAvLyAgIEBpbmNsdWRlIHBhZCgxNXB4IDE1cHggMjNweCk7XG5cbiAgLy8gICAuY2FydC1tb2JpbGUtY2xvc2Uge1xuICAvLyAgICAgZGlzcGxheTogbm9uZTtcbiAgLy8gICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgLy8gICB9XG5cbiAgLy8gICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gIC8vICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNSk7XG4gIC8vICAgICBAaW5jbHVkZSBzaGlmdCgwLjUpO1xuICAvLyAgIH1cblxuICAvLyAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgLy8gICAgIGRpc3BsYXk6IG5vbmU7XG4gIC8vICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gIC8vICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICAvLyAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gIC8vICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1MSwgMjQ5LCAyNDgsIDAuOTYpO1xuICAvLyAgICAgei1pbmRleDogMTtcbiAgLy8gICAgIEBpbmNsdWRlIHBhZCg1NHB4IDIwcHgpO1xuXG4gIC8vICAgICAuY2FydC1tb2JpbGUtY2xvc2Uge1xuICAvLyAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgLy8gICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAvLyAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAvLyAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgLy8gICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIC8vICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIC8vICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2Nsb3NlLWRhcmstMi5wbmcnKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyO1xuICAvLyAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCBhdXRvO1xuICAvLyAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMThweCAyMHB4IG51bGwgbnVsbCk7XG4gIC8vICAgICB9XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLy8gaDQge1xuICAvLyAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAvLyAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIC8vICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAvLyAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gIC8vICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgLy8gICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuICAvLyAgIHBhZGRpbmctYm90dG9tOiAzcHg7XG4gIC8vICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgLy8gICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXlfbGlnaHQ7XG5cbiAgLy8gICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gIC8vICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gIC8vICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAvLyAgIH1cbiAgLy8gfVxuXG4gIC5jaGVja291dF9wZXJzb25hbF9kZXRhaWxzX21pZGRsZSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuXG4gIC5jdXN0b21lcl9wcm9maWxlX2JpbGxpbmcsXG4gIC5jb21tZXJjZV9wYXltZW50IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgJi5jb21tZXJjZV9wYXltZW50IHtcbiAgICAgIG1hcmdpbjogMTdweCAwIDNweDtcblxuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWl0ZW0tY29tbWVyY2UtcGF5bWVudC1wYXltZW50LWRldGFpbHMtY3JlZGl0LWNhcmQtb3duZXIsXG4gICAgICAuZm9ybS1pdGVtLWNvbW1lcmNlLXBheW1lbnQtcGF5bWVudC1kZXRhaWxzLWNyZWRpdC1jYXJkLW51bWJlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgICB9XG5cbiAgICAgIC5jb21tZXJjZS1jcmVkaXQtY2FyZC1leHBpcmF0aW9uLFxuICAgICAgLmZvcm0taXRlbS1jb21tZXJjZS1wYXltZW50LXBheW1lbnQtZGV0YWlscy1jcmVkaXQtY2FyZC1jb2RlIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMgb2YgNik7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICAmLmNvbW1lcmNlLWNyZWRpdC1jYXJkLWV4cGlyYXRpb24ge1xuXG4gICAgICAgICAgLmZvcm0taXRlbSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAvIDIpIC0gMTcuNXB4KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAuY29tbWVyY2UtbW9udGgteWVhci1kaXZpZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBtYXJnaW46IDAgN3B4IDAgNXB4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAvIDIpIC0gMTRweCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbW1lcmNlLW1vbnRoLXllYXItZGl2aWRlciB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZvcm0taXRlbS1jb21tZXJjZS1wYXltZW50LXBheW1lbnQtZGV0YWlscy1jcmVkaXQtY2FyZC1jYXJkb25maWxlLXN0b3JlLFxuICAgICAgLmZvcm0taXRlbS1jb21tZXJjZS1wYXltZW50LXBheW1lbnQtZGV0YWlscy1jYXJkb25maWxlLWluc3RhbmNlLWRlZmF1bHQge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG5cbiAgICAgICAgaW5wdXQsXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZm9ybS1pdGVtLWNvbW1lcmNlLXBheW1lbnQtcGF5bWVudC1kZXRhaWxzLWNhcmRvbmZpbGUgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgbWFyZ2luOiAwIDAgMTdweDtcblxuICAgICAgbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NTtcblxuICAgICAgICAmLm9wdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyNXB4KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS13cmFwcGVyLFxuICAgIC5mb3JtLXR5cGUtc2VsZWN0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW46IDAgMCAxN3B4O1xuICAgIH1cblxuICAgIC5maWVsZC10eXBlLXRleHQsXG4gICAgLmZpZWxkLXR5cGUtZW1haWwsXG4gICAgLmZvcm0taXRlbS1jdXN0b21lci1wcm9maWxlLWJpbGxpbmctY29tbWVyY2UtY3VzdG9tZXItYWRkcmVzcy11bmQtMC1wb3N0YWwtY29kZSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoMyBvZiA2KTtcblxuICAgICAgJi5maWVsZC1uYW1lLWZpZWxkLWxhc3QtbmFtZSxcbiAgICAgICYuZmllbGQtbmFtZS1maWVsZC1jb21wYW55LW5vLSxcbiAgICAgICYuZmllbGQtbmFtZS1maWVsZC1jb250YWN0LW51bWJlciB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3QyIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbiB7XG4gICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDVweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgICAgICBib3JkZXItY29sb3I6ICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICAgICAgfVxuXG4gICAgICAuc2VsZWN0Mi1zZWxlY3Rpb25fX2Fycm93IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjY3VzdG9tZXItcHJvZmlsZS1iaWxsaW5nLWNvbW1lcmNlLWN1c3RvbWVyLWFkZHJlc3MtYWRkLW1vcmUtd3JhcHBlciB7XG5cbiAgICAgIC5mb3JtLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZmllbGQtdHlwZS1saXN0LWJvb2xlYW4ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAgIC5mb3JtLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICAgICAgbGVmdDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5hZGRyZXNzZmllbGQtY29udGFpbmVyIHtcblxuICAgIC5mb3JtLWl0ZW06bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuY29tbWVyY2VfcGF5bWVudCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgICNlZGl0LWNvbW1lcmNlLXBheW1lbnQtcGF5bWVudC1tZXRob2Qge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuY2hlY2tvdXQtYnV0dG9ucyB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgc3BhbixcbiAgICAuY2hlY2tvdXQtYmFjayB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5jaGVja291dC1jb250aW51ZSB7XG4gICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICBjb2xvcjogJHdoaXRlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgICB9XG4gIH1cblxuICAuY2hlY2tvdXRfdGVybXNfYW5kX2NvbmRpdGlvbnMge1xuICAgIG1hcmdpbjogMCAwIDU3cHg7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIG1hcmdpbjogMzBweCAwO1xuXG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pY2hlY2tib3gsXG4gIC5pcmFkaW8ge1xuICAgIEBpbmNsdWRlIHNpemUoMTZweCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmLmNoZWNrZWQge1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvY2hlY2tfaWNvbi5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMC41cHggYXV0bztcbiAgICB9XG4gIH1cbn1cblxuLnZpZXctc2hvcHBpbmctY2FydC1jaGVja291dC1mb3JtIHtcblxuICAudmlld3MtdGFibGUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIHRoZWFkIHRoIHtcbiAgICBAaW5jbHVkZSBwYWQoMCAwIDVweCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuXG4gICAgJi52aWV3cy1maWVsZC1jb21tZXJjZS10b3RhbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHtcblxuICAgIHRyIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgwKTtcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRkIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgxNnB4IDAgMzJweCk7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMzE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIH1cblxuICAgIC50aWNrZXQtbmFtZSB7XG4gICAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAyLjhweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLnRpY2tldC1wcmljZSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4zMTtcbiAgICB9XG5cbiAgICAudmlld3MtZmllbGQtY29tbWVyY2UtdG90YWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAubGluZS1pdGVtLXN1bW1hcnkge1xuICAgIG1hcmdpbjogMjNweCAwIDA7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgIC5saW5rcyB7XG4gICAgICBtYXJnaW46IDVweCAxNnB4IDAgMDtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcblxuICAgICAgbGkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmtzLFxuICAgIC5saW5lLWl0ZW0tdG90YWwge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5saW5lLWl0ZW0tdG90YWwtbGFiZWwsXG4gIC5saW5lLWl0ZW0tdG90YWwtcmF3IHtcbiAgICBmb250LXNpemU6IGVtKDE2KTtcbiAgICBsaW5lLWhlaWdodDogMS41NjtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMzhweDtcbiAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICB9XG5cbiAgLmNhcnQtZWRpdC1saW5rIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cblxuICAuZm9ybS1hY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICB0aGVhZCB0aCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXB4O1xuICAgIH1cblxuICAgIHRib2R5IHtcblxuICAgICAgdGQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBAaW5jbHVkZSBwYWQoMTMuNXB4IDAgMzFweCk7XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5saW5lLWl0ZW0tc3VtbWFyeSB7XG4gICAgICBtYXJnaW46IDI1cHggMCAwO1xuXG4gICAgICAubGlua3Mge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDE4cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNjb21tZXJjZS1jaGVja291dC1mb3JtLWxvZ2luIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuXG4gIC5jaGVja291dC1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmNhcnQtY2hlY2tvdXQtaW5uZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAuY2FydC1jaGVja291dC1jb2wtbGVmdCB7XG4gICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgfVxuXG4gICAgICAuY2FydC1jaGVja291dC1jb2wtcmlnaHQge1xuICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY2hlY2tvdXQtc2lnbmluLXNpZ251cC1wYW5lLWFjdGlvbnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBnYXA6IDAgMTdweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgYmFja2dyb3VuZDogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogcmVtKDEwKTtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNTI2ODI5cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yODtcbiAgICAgIG9wYWNpdHk6IDAuOTM7XG4gICAgICBwYWRkaW5nOiAzNHB4IDM2cHggMzRweCAyMHB4O1xuICAgICAgbWl4LWJsZW5kLW1vZGU6IG5vcm1hbDtcbiAgICAgIC8vIHdpZHRoOiByZW0oMjI1KTtcbiAgICAgIGhlaWdodDogcmVtKDExMyk7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDUpO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6IHJlbSgxNik7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTYpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnBhZ2UtY2hlY2tvdXQubm90LWxvZ2dlZC1pbiB7XG5cbiAgI21vZGFsQ29udGVudCxcbiAgI21vZGFsQmFja2Ryb3Age1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIC5jaGVja291dC1zaWduaW4tc2lnbnVwLXBhbmUge1xuICAgIGgxIHtcbiAgICAgIGNvbG9yOiBjb2xvcihkYXJrX2dyYXlpc2hfcmVkKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC43cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oNjQpO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMyKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY3JlZGVudGlhbHMtZm9ybSB7XG4gICAgICBtYXgtd2lkdGg6IHJlbSg0MzMpO1xuXG4gICAgICBmb3JtI3VzZXItcmVnaXN0ZXItZm9ybSxcbiAgICAgIGZvcm1baWRePSd1c2VyLXJlZ2lzdGVyLWZvcm0nXSxcbiAgICAgIGZvcm1baWQqPSd1c2VyLXJlZ2lzdGVyLWZvcm0nXSB7XG4gICAgICAgID5kaXYge1xuICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmZvcm0td3JhcHBlcixcbiAgICAgICAgICAuZm9ybS1pdGVtIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDE4Nik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICNlZGl0LWZpZWxkLWZpcnN0LW5hbWUsXG4gICAgICAgICAgLmZvcm0taXRlbS1tYWlsLFxuICAgICAgICAgICNlZGl0LWZpZWxkLWNvbXBhbnktbmFtZSxcbiAgICAgICAgICAuZm9ybS1pdGVtLXBhc3MtcGFzczEge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0oMTZweCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGRpdltpZF49J2VkaXQtYWNjb3VudCddLFxuICAgICAgICAgIGRpdltpZCo9J2VkaXQtYWNjb3VudCddIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbiNtb2RhbENvbnRlbnQge1xuICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IGF1dG87XG4gIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVkoMCkpO1xuICB9XG5cbiAgLmN0b29scy1tb2RhbC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICB3aWR0aDogNzUwcHggIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA2MDBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB6LWluZGV4OiAwO1xuICAgIEBpbmNsdWRlIHBhZCgxOHB4IDc3cHggNzBweCAyODdweCk7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgyNTAwcHgpO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCAwIDE4NXB4KTtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgIH1cblxuICAgIFtpZF49J3VzZXItbG9naW4nXSB7XG5cbiAgICAgIC5mb3JtLWl0ZW0tbmFtZSB7XG4gICAgICAgIG1hcmdpbjogODBweCAwIDMycHg7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLXR5cGUtcGFzc3dvcmQge1xuICAgICAgICBtYXJnaW46IDAgMCA3MnB4O1xuICAgICAgfVxuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIH1cblxuICAgICAgLmRlc2NyaXB0aW9uLFxuICAgICAgLmZvcm0tcmVxdWlyZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cblxuICAgICpbaWRePSd1c2VyLXJlZ2lzdGVyLWZvcm0nXSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgICAqW2lkXj0nZWRpdC1hY2NvdW50J10ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAuZm9ybS13cmFwcGVyLFxuICAgICAgLmZvcm0tdHlwZS1wYXNzd29yZC1jb25maXJtIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLXR5cGUtdGV4dCxcbiAgICAgIC5mb3JtLXR5cGUtcGFzc3dvcmQsXG4gICAgICAuZm9ybS10eXBlLXRleHRmaWVsZCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDE4cHgpO1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgY2xlYXI6IG5vbmU7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmZpZWxkLXR5cGUtdGV4dCB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAuZm9ybS1pdGVtIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZmllbGQtbmFtZS1maWVsZC1jb21wYW55LW5hbWUge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgfVxuXG4gICAgICAuZGVzY3JpcHRpb24sXG4gICAgICAuZm9ybS1yZXF1aXJlZCxcbiAgICAgIC5wYXNzd29yZC1zdHJlbmd0aCxcbiAgICAgIC5wYXNzd29yZC1jb25maXJtOm5vdCguZm9ybS10ZXh0KSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMThweCA0NXB4IDcwcHggMTk1cHgpO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgbGVmdDogMTI1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDIwcHgpO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmFqYXgtcmVnaXN0ZXItbGlua3Mge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogNDkuMyU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBbaWRePSd1c2VyLWxvZ2luJ10ge1xuXG4gICAgICAgIC5mb3JtLWl0ZW0tbmFtZSB7XG4gICAgICAgICAgbWFyZ2luOiAyNXB4IDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLXR5cGUtcGFzc3dvcmQge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDMzcHg7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogOXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICpbaWRePSd1c2VyLXJlZ2lzdGVyLWZvcm0nXSB7XG5cbiAgICAgICAgKltpZF49J2VkaXQtYWNjb3VudCddIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkLXR5cGUtdGV4dCxcbiAgICAgICAgLmZvcm0taXRlbSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcblxuICAgICAgICAgIC5mb3JtLXR5cGUtdGV4dGZpZWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5tb2RhbC1oZWFkZXIge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9sb2dpbi1iZy5qcGcnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgQGluY2x1ZGUgc2l6ZSgyMzBweCAxMDAlKTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDExNiwgNTgsIDAuOTIpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIDAgMCAwKTtcbiAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuICB9XG5cbiAgaW1nLFxuICAubW9kYWwtdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuY2xvc2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9jbG9zZS5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMHB4KTtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAtNTQwcHggbnVsbCBudWxsKTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBAaW5jbHVkZSBzaXplKDE1MHB4IDEwMCUpO1xuXG4gICAgLmNsb3NlIHtcbiAgICAgIHJpZ2h0OiAtNDcwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgc2l6ZSgxMDAlIDUwcHgpO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBpbmhlcml0KTtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBAaW5jbHVkZSBzaXplKDU1MHZ3KTtcbiAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAzMHB4IG51bGwgbnVsbCA1MCUpO1xuICAgICAgQGluY2x1ZGUgdHJhbnNmb3JtKHRyYW5zbGF0ZVgoLTUwJSkpO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIC5jbG9zZSB7XG4gICAgICB0b3A6IDEwcHg7XG4gICAgICBib3R0b206IGluaGVyaXQ7XG4gICAgICByaWdodDogaW5oZXJpdDtcbiAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG59IiwiLnBhZ2UtY2hlY2tvdXQtY29tcGxldGUge1xuXG4gIC5jaGVja291dC1jb21wbGV0ZWQtY2hlY2tvdXQtcGFuZSB7XG4gICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKCk7XG4gICAgQGluY2x1ZGUgcGFkKDcwcHggMCAxNDdweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbGFyZ2VfZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoNjgwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbiAgICAgIEBpbmNsdWRlIHBhZCg1MHB4IDIwcHggNjFweCk7XG4gICAgfVxuICB9XG5cbiAgLnZpZXctaGVhZGVyIHtcblxuICAgIGgxIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBtYXgtd2lkdGg6IDQ5MHB4O1xuICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC43cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNyk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNzE7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgICBoMSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE5KTtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudmlldy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNyk7XG5cbiAgICB1bCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwIDAgNDVweDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICBmb250LXNpemU6IGVtKDE3KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW46IDAgMCA3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMS4yOTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40cHg7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICAgbGkge1xuICAgICAgICBmb250LXNpemU6IGVtKDE1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudmlldy1mb290ZXIge1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg3KTtcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgIG1hcmdpbjogMCAwIDVweDtcblxuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5ub2RlLXR5cGUtYWJvdXQtdXMge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5mb2N1cy1hcmVhcyB7XG4gIEBpbmNsdWRlIHBhZCg2OHB4IDAgMTI0cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmF5X2xpZ2h0ZXJfYmx1ZSk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIEBpbmNsdWRlIHBhZCgyN3B4IDAgMjlweCk7XG4gIH1cblxuICAmLWludHJvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLXJpZ2h0OiA3MXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDU2cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7fVxuXG4gICYtdGV4dCB7XG4gICAgbWF4LXdpZHRoOiA2MDNweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nLXRvcDogM3B4O1xuXG4gICAgUCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNXB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgZGlzcGxheTogbm9uZVxuICAgIH1cbiAgfVxuXG4gICYtY2FyZHMge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2NHB4O1xuICAgIGdhcDogMzBweCA4N3B4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIGdhcDogMzBweCAyMHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgxLCAxZnIpO1xuICAgICAgZ2FwOiAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4ud2hhdC13ZS1kbyB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcblxuICAmLWJsb2NrIHtcbiAgICBAaW5jbHVkZSBwYWQoNTlweCAwIDc1cHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgxNnB4IDAgMjlweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgICYudGl0bGUge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgbWF4LXdpZHRoOiA4NjdweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibGFjayk7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDA2ZW07XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ud2hvLXdlLWFyZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcblxuICAmLWlubmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoNDhweCAwcHggNDZweCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDI2cHggMHB4IDM1cHgpO1xuICAgIH1cbiAgfVxuXG4gICYtaW1nIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIG1heC13aWR0aDogNjkxcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1MTlweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDY0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC02cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNThweDtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDQ5cHg7XG4gICAgcmlnaHQ6IDA7XG4gICAgbWF4LXdpZHRoOiA1NDdweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBAaW5jbHVkZSBwYWQoMThweCAyMHB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCg3cHggMTJweCAyMXB4KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxOXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgIH1cbiAgfVxuXG4gICYtcGFyIHtcbiAgICBwIHtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmxhY2spO1xuICAgICAgZm9udC1zaXplOiByZW0oMTVweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjhweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgfVxuXG4gICAgICBzdHJvbmcge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMHB4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1jdGEge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIi5mb2N1cy1hcmVhLXBhZ2Uge1xuXG4gIG1haW4ge1xuICAgIC8vIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2J1YmJsZS5wbmcnKSByZXBlYXQteTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcblxuICAgIC5jb250YWluZXIge1xuICAgICAgQGluY2x1ZGUgcGFkKDEyNHB4IDAgODJweCk7XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaCB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTcpO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnBhcmFncmFwaC1saXN0IHtcbiAgICAgICAgbWFyZ2luOiAxM3B4IDAgMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxN3B4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDRweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JheV9ncmF5aXNoX2JsdWVfMjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA3cHggbnVsbCBudWxsIDApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRleHQtd3JhcCB7XG4gICAgICAvLyBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNi41KTtcbiAgICB9XG5cbiAgICAuaW1hZ2Utd3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiA4MHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMi41KTtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAyNXB4IHJnYmEoMjUwLCAyNDgsIDI0NywgMC41NCk7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC01cHggMTBweCBudWxsIG51bGwpO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDYzcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1MSwgMTE4LCA2MywgMC44NSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjczO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ0cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGxhcmdlX2Rlc2t0b3ApIHtcblxuICAgICAgLmltYWdlLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSBzaGlmdCgxLjUpO1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDYwcHggMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDI1cHggMjBweCA0NHB4KTtcbiAgICAgIH1cblxuICAgICAgLnBhcmFncmFwaCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgbWFyZ2luOiAyNHB4IDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXJhZ3JhcGgtbGlzdCB7XG4gICAgICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcblxuICAgICAgICAgIGxpIHtcblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LXdyYXAge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5pbWFnZS13cmFwIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMDVweDtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogNDVweCBhdXRvIDAgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMTVweCByZ2JhKDI1MCwgMjQ4LCAyNDcsIDAuNTQpO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICBAaW5jbHVkZSBzaXplKDQwLjVweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZm9jdXMtYXJlYS1sYXRlc3Qtd3JhcCB7XG4gICAgQGluY2x1ZGUgcGFkKDEwMHB4IDAgNzJweCk7XG4gICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuXG4gICAgaDIge1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQxcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTEuMjJweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoNjBweCAwKTtcblxuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgfVxuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoNDBweCAyMHB4KTtcblxuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZm9jdXMtYXJlYSB7XG5cbiAgJi1tYWluIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG5cbiAgfVxuXG4gICYtaW5uZXIge1xuICAgIEBpbmNsdWRlIHBhZCg1OXB4IDAgNDVweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjRweCA0OHB4IDEycHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyNHB4IDAgMTJweCk7XG4gICAgfVxuICB9XG5cbiAgJi1sYXRlc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcbiAgfVxuXG4gICYtbGF0ZXN0LWlubmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoNDRweCAwIDcycHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDE3cHggMCA3MnB4KTtcbiAgICB9XG4gIH1cblxuICAmLWxhdGVzdC10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzdweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuICB9XG5cbiAgJi1jYXJkcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgIGdhcDogMCAzNXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICBnYXA6IDI0cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEyNCk7XG5cbiAgICAgIC5jYXJkLWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IGluaXRpYWw7XG4gICAgICB9XG5cbiAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOiByZW0oLTYwKTtcblxuICAgICAgICBidXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIHdpZHRoOiAyNzRweDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLm5vZGUtcHJvZ3JhbW1lcy1sYW5kaW5nLXBhZ2Uge1xuICAub3VyLXByb2dyYW0ge1xuICAgIEBpbmNsdWRlIHBhZCg3NXB4IDApO1xuICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgfVxuXG4gIC5vdXItcHJvZ3JhbSxcbiAgLm91ci1jYW1wYWlnbnMge1xuXG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiBlbSgxNSk7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgfVxuXG4gICAgLmNhbXBhaWducy1wcm9ncmFtbWVzIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICAgIC5jYXJkIHtcblxuICAgICAgICAmLm5vcm1hbCB7XG4gICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5iaWcge1xuICAgICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICAgICAgJi5vbWVnYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBvbWVnYSgpO1xuXG4gICAgICAgICAgICAmKy5jYXJkIHtcbiAgICAgICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAgICAgJi5ub3JtYWwsXG4gICAgICAgICAgJi5iaWcge1xuICAgICAgICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgICAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgICAgICYubm9ybWFsLFxuICAgICAgICAgICYuYmlnIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgLy8gQGluY2x1ZGUgcGFkKDYwcHggMCk7XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAvLyBAaW5jbHVkZSBwYWQoMjVweCAyMHB4KTtcbiAgICB9XG5cbiAgICAucGFzdC1saW5rIHtcbiAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgIG1hcmdpbjogNDBweCBhdXRvIDIwcHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gIH1cbn1cblxuLmZlYXR1cmVkLWNhcmQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IGVtKDI4KTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC45OHB4O1xuICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIH1cblxuICAuc3ViLXRpdGxlIHtcbiAgICBmb250LXNpemU6IGVtKDE1KTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgJi5vcmFuZ2Utb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcGFkKDY1cHggMCAxMTVweCk7XG5cbiAgICBoMiB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICBtYXJnaW46IDAgYXV0byA1cHg7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIH1cblxuICAgIC5zdWItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDQ0cHg7XG4gICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmNhcmQtc3F1YXJlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgbWluLWhlaWdodDogMjA1cHg7XG4gICAgICB9XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIH1cblxuICAgICAgLmxpbmstYXJlYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDI1cHg7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgbWluLWhlaWdodDogMTQ1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubGluay1hcmVhIHtcbiAgICAgICAgICBib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgICAuY29udGVudCB7XG4gICAgICAgICAgcGFkZGluZzogMTRweDtcbiAgICAgICAgICBtaW4taGVpZ2h0OiBpbmhlcml0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmstYXJlYSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyNXB4IDIwcHggNXB4KTtcblxuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgIH1cblxuICAgICAgLnN1Yi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjFweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgIC8vIEBpbmNsdWRlIHBhZCg3MHB4IDApO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIC8vIEBpbmNsdWRlIHBhZCg1OXB4IDApO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIEBpbmNsdWRlIHBhZCg0MHB4IDIwcHgpO1xuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiBlbSgyMik7XG4gICAgICBsaW5lLWhlaWdodDogMS4zNjtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC43N3B4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuc3ViLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgIH1cblxuICAgIC53cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuICB9XG5cbiAgLmNvdW50LTMge1xuICAgIC5jYXJkLXNxdWFyZTpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgICBAaW5jbHVkZSBzaGlmdCgxLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi5vdXItY2FtcGFpZ25zIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JheV9saWdodGVyX2JsdWUpO1xuICBAaW5jbHVkZSBwYWQoNjNweCAwIDM3cHgpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBwYWQoMjdweCAwIDM3cHgpO1xuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLXJpZ2h0OiA4NXB4O1xuICAgIGdhcDogMCAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI3cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDApO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG4gIH1cblxuICAmLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgfVxuICB9XG5cbiAgJi1kZXNjIHtcbiAgICBmb250LXNpemU6IHJlbSgyMHB4KTtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICBtYXgtd2lkdGg6IDYwM3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgfVxuICB9XG5cbiAgJi1jYXJkcyB7XG4gICAgLmNhcmQtY2FtcGFpZ24ge1xuICAgICAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zbGljay1kb3RzIHtcbiAgICBidXR0b24ge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIubm9kZS1uZXR3b3Jrcy1sYW5kaW5nIHtcblxuICAub3VyLW5ldHdvcmtzIHtcbiAgICAvLyBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gICAgLy8gQGluY2x1ZGUgcGFkKDkxcHggMCk7XG5cbiAgICAubmV0d29ya3MtbGFuZGluZy1pbnRybyB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG5cbiAgICAgIC50ZXh0LXdyYXAge1xuICAgICAgICBtYXgtd2lkdGg6IDg1JTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmV0d29ya3MtbGlzdCB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuXG4gICAgLmxpbmstd3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgIH1cbiAgfVxuXG4gIC5vdXItbmV0d29ya3MtbWVtYmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoNjlweCAwIDcwcHgpO1xuXG4gICAgLnRleHQtd3JhcCB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNi41KTtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCg0MHB4IDIwcHggNDVweCk7XG5cbiAgICAgIC50ZXh0LXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5ldHdvcmtzLWxhbmRpbmcge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmF5X2xpZ2h0ZXJfYmx1ZSk7XG5cbiAgJi1uZXR3b3JrcyB7XG4gICAgQGluY2x1ZGUgcGFkKDYzcHggMCAxMDNweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDI0cHggMCk7XG4gICAgfVxuICB9XG5cbiAgLmZlYXR1cmVkLWNhcmRzIHtcblxuICAgICYuY291bnQtMyB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICAgIH1cblxuICAgICYuY291bnQtMiB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICB9XG5cbiAgICAmLmNvdW50LTEge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBtYXgtd2lkdGg6IDMwMHB4O1xuICAgIH1cbiAgfVxuXG4gICYtaW5uZXIge1xuICAgIC8vIHBhZGRpbmctcmlnaHQ6IDg2cHg7XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZy1yaWdodDogODZweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgxNik7XG4gICAgfVxuICB9XG5cbiAgJi10ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDYwM3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgcCB7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjUzO1xuICAgICAgZm9udC1zaXplOiByZW0oMTVweCk7XG5cbiAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjZweDtcbiAgICAgIH1cblxuICAgICAgc3Ryb25nIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDkwMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjBweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oOCk7XG4gICAgICAgIH1cblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1pbnRybyB7fVxuXG4gICYtbWVtYmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC90ZWFtLmpwZycpO1xuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShjb2xvcihjb21iaXpfYmx1ZSksIDAuOCk7XG4gICAgfVxuXG4gICAgJi1pbm5lciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBwYWQoNDdweCAwIDM1cHgpO1xuICAgIH1cblxuICAgICYtdGl0bGUge1xuICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgJi10ZXh0IHtcbiAgICAgIG1heC13aWR0aDogODgzcHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQzcHg7XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNXB4KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAyM2VtO1xuICAgICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1jdGEge1xuICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgICBAaW5jbHVkZSBwYWQoN3B4IDIzcHggNXB4IDE0cHgpO1xuICAgICAgQGluY2x1ZGUgY2FyZXQoY29sb3IoY29tYml6X2JsdWUpKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWNhcmRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIC8vIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgIHBhZGRpbmctcmlnaHQ6IDY0cHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogMjhweCA5MHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBnYXA6IDAgNDVweDtcbiAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGdhcDogMCAxNXB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XG4gICAgICBnYXA6IDE1cHg7XG4gICAgfVxuXG4gICAgLmNhcmQtaW1hZ2UtY3RhIHtcbiAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkLWltYWdlIHtcbiAgICAgIC8vIHdpZHRoOiA1MjRweDtcbiAgICAgIC8vIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zbGF0ZSAwLjNzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IDAuM3MgZWFzZS1pbi1vdXQsIGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRyYW5zbGF0ZTogMCAtMTVweDtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDBweCAyNHB4IHJnYmEoMjUsIDMyLCA1NiwgMC4wOCk7XG5cbiAgICAgICAgLmNhcmQtaW1hZ2UtdGl0bGUsXG4gICAgICAgIC5jYXJkLWltYWdlLWRlc2Mge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi10aXRsZSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgICAgLy8gbWFyZ2luLXRvcDogcmVtKDE2KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtZGVzYyB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIH1cblxuICAgICAgICAmLWN0YSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWQoNXB4IDIzcHggNXB4IDE2cHgpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtbGlua3Mge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLm5vZGUtbmV0d29yay1hcHBsaWNhdGlvbi1wYWdlIHtcblxuICAjd2hvLXdoeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gICNwcmFjdGljYWwtaW5mbyB7XG4gICAgcGFkZGluZzogMjVweCAwIDY1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIC5wcmFjdGljYWwtaW5mb3JtYXRpb24ge1xuICAgICAgQGluY2x1ZGUgcGFkKDQ0cHggNTBweCAzOXB4IDM2cHgpO1xuICAgIH1cblxuICAgIGR0IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMi41NXB4O1xuICAgIH1cbiAgfVxuXG4gICNiZW5lZml0cyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAzMHB4IDAgNDVweDtcblxuICAgIC5uZXR3b3JrLWFwcGxpY2F0aW9uLWJlbmVmaXRzIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDI0cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM7XG4gICAgICAgICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40MXB4O1xuICAgICAgICAgIG1hcmdpbjogMCAwIDFweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSgzcHgpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDZweCBudWxsIG51bGwgNXB4KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTApO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA5cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAyLjU1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI29wdGlvbnMge1xuICAgIHBhZGRpbmc6IDQ1cHggMCA1MHB4O1xuXG4gICAgLnRpY2tldHMge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC50aWNrZXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogNTFweCAwIDMwcHg7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNyk7XG4gICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTQwcHgpO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG5cbiAgICAgICAgLmJ1eS10aWNrZXRzLWZvcm0tYWRkLXNpbmdsZS10by1jYXJ0IHtcbiAgICAgICAgICB0b3A6IDI1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpbWFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDE4cHggOHB4O1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgIC5idXktdGlja2V0cy1mb3JtLWFkZC1zaW5nbGUtdG8tY2FydCB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNTFweCAwIG51bGwgbnVsbCk7XG4gICAgfVxuICB9XG5cbiAgI21vcmUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMDtcblxuICAgIC50ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgfVxuXG4gICAgLnNlY29uZGFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgfVxuICB9XG59IiwiLm5vZGUtdHlwZS1jb21wYW55IHtcblxuICAjY29tcGFueS1pbmZvcm1hdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTA4cHg7XG5cbiAgICAuc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQyO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQxcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMXB4O1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgI2NvbXBhbnktcmVwcmVzZW50YXRpdmVzIHtcblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxuICB9XG5cbiAgLmNvbXBhbnktcmVwcmVzZW50YXRpdmUge1xuICAgIHdpZHRoOiA5NSU7XG4gICAgcGFkZGluZy1ib3R0b206IDI4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjNweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcblxuICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5hdmF0YXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIEBpbmNsdWRlIHNpemUoMTE1cHgpO1xuICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvYXZhdGFyLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcbiAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgIG1heC13aWR0aDogMzUwcHg7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICBmb250LXNpemU6IHJlbSgxNyk7XG4gICAgICBsaW5lLWhlaWdodDogMS4yOTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICB9XG5cbiAgICAuam9iLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICBsaW5lLWhlaWdodDogMS42NDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtaW5mbyB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41ODtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5ub2RlLXR5cGUtZXZlbnQge1xuXG4gIC5hY2Nlc3NpYmlsaXR5IHtcbiAgICAuYnJlYWRjcnVtYiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5tYWluLXdpdGgtc2lkZWJhciBzZWN0aW9uIHtcbiAgICBAaW5jbHVkZSByb3coKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuXG4gICAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNwcmFjdGljYWwtaW5mbyB7XG5cbiAgICAuZXZlbnQtcHJhY3RpY2FsLWluZm8ge1xuICAgICAgQGluY2x1ZGUgcGFkKDQ1cHggMzNweCk7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNyBvZiA4KTtcbiAgICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgICB9XG5cbiAgICAuYWRkZXZlbnRhdGMge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIH1cblxuICAgIC5zZWNvbmRhcnktZGF0ZSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQxcHg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICYuZGF0ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3RpbWUucG5nJykgbm8tcmVwZWF0IGxlZnQgMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEzcHggYXV0bztcbiAgICAgIH1cblxuICAgICAgJi5hZGRyZXNzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvYWRkcmVzcy5wbmcnKSBuby1yZXBlYXQgbGVmdCAycHg7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTJweCBhdXRvO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmRheSxcbiAgICAudGltZSxcbiAgICAubG9jYXRpb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICB9XG5cbiAgICAudGVydGlhcnktY2FsbC1hY3Rpb24ge1xuICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG5cbiAgICAgIC5ldmVudC1wcmFjdGljYWwtaW5mbyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgLmV2ZW50LXByYWN0aWNhbC1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDI1cHgpO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjc3BlYWtlcnMge1xuXG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIH1cblxuICAgIC8vIGltZyB7XG4gICAgLy8gICBAaW5jbHVkZSBzaXplKDExOXB4KTtcbiAgICAvLyAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAvLyAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLy8gICBib3JkZXItcmFkaXVzOiAxMTlweDtcbiAgICAvLyB9XG5cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC40cHg7XG4gICAgfVxuXG4gICAgLnNhbHV0YXRpb24ge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgfVxuXG4gICAgYS5mYW5jeWJveCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuZXZlbnQtc3BlYWtlcnMge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyMThweCwgMjE4cHgpKTtcbiAgICAgIGdhcDogMTVweDtcbiAgICB9XG5cbiAgICAuZXZlbnQtc3BlYWtlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmF5X2xpZ2h0ZXJfYmx1ZSk7XG4gICAgfVxuXG4gICAgLmV2ZW50LXNwZWFrZXItZnJhbWUge1xuICAgICAgaGVpZ2h0OiAxOTFweDtcbiAgICB9XG5cbiAgICAuZXZlbnQtc3BlYWtlci1yZWFkbW9yZSB7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICAudGV4dC13cmFwIHtcbiAgICAgIEBpbmNsdWRlIHBhZCg2cHggMThweCAxMHB4KTtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICB9XG5cbiAgICAuZXZlbnQtc3BlYWtlci1qb2ItdGl0bGUge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgICBpbWcge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDg0cHgpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuXG4gICAgICAuZXZlbnQtc3BlYWtlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDE2cHggMCk7XG5cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRleHQtd3JhcCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDBweCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgIH1cblxuICAgICAgLmV2ZW50LXNwZWFrZXItam9iLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAjcmVnaXN0cmF0aW9uIHtcblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICB9XG4gIH1cblxuICAjbG9jYXRpb24ge1xuXG4gICAgI21hcCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAuZXZlbnQtbWFwLXRleHQtd3JhcCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAzOTVweCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI1cHg7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiBlbSgxNyk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgIH1cblxuICAgIC5ldmVudC1tYXAtYWRkcmVzcyB7XG4gICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuXG4gICAgICAjbWFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIH1cblxuICAgICAgLmV2ZW50LW1hcC10ZXh0LXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN0ZXJtcyB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDEuNzE7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcblxuICAgIGgyIHtcbiAgICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgfVxuICB9XG5cbiAgLmV2ZW50LWV4dGVybmFsLWxpbmsge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cbn1cblxuLyoqIEVWRU5UIFBST0dSQU1NRVMgKiovXG4uZXZlbnQtcHJvZ3JhbW1lLWhlYWRlciB7XG4gIHBhZGRpbmc6IDYwcHggMDtcblxuICAucHJlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgfVxuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IHJlbSg0OSk7XG4gICAgbWFyZ2luOiAtMTBweCAwIDA7XG4gIH1cbn1cblxuLmV2ZW50LXByb2dyYW1tZS1tYWluIHtcblxuICBwYWRkaW5nLXRvcDogNDBweDtcblxuICAuZXZlbnQtcHJvZ3JhbW1lLWRheXMtd3JhcCB7XG5cbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6ICRzcGFjZWQtbGV0dGVycztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZXZlbnQtcHJvZ3JhbW1lLWRheXMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDJweDtcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcblxuICAgIGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICAgIH1cblxuICAgIC5kYXktd3JhcCxcbiAgICAuZGl2aWRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmRpdmlkZXIge1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjA1ZW07XG4gICAgICBtYXJnaW4tbGVmdDogLTJweDtcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgaGVpZ2h0OiA1MnB4O1xuXG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJG9yYW5nZV9icmlnaHQ7XG4gICAgICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICAgIH1cblxuICAgICAgLmxvY2F0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuZXZlbnQtcHJvZ3JhbW1lLWl0ZW1zIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAgIGxpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAxNXB4IDEycHg7XG5cbiAgICAgICYuY29sb3ItZ3JleSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5X2dyYXlpc2hfYmx1ZTtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGltZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICB3aWR0aDogODBweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJi5oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZXZlbnQtc2NoZWR1bGUtaXRlbSB7XG5cbiAgICBwYWRkaW5nOiAxMHB4IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkb3Zlcm1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgIH1cblxuICAgIC5yb29tIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvYnVpbGQvbWFya2VyLnBuZykgbGVmdCB0b3Agbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IGF1dG87XG4gICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5zcGVha2VyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAzcHg7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgZm9udC1zaXplOiByZW0oMTMuNSk7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAkb3JhbmdlX2JyaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIH1cbiAgfVxuXG59XG5cbi5ldmVudC1wcm9ncmFtbWUtZGV0YWlsLXdyYXAge1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogNTBweCAwO1xuXG4gIC5ldmVudC1wcm9ncmFtbWUtZGV0YWlsIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDgpO1xuICAgIH1cbiAgfVxuXG4gIC5ldmVudC1wcm9ncmFtbWUtZGV0YWlsLWNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxNXB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgc3ZnIHtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIGcge1xuICAgICAgc3Ryb2tlOiAkb3JhbmdlX2JyaWdodDtcbiAgICB9XG4gIH1cblxuICAuZGF0ZS1hbmQtcm9vbSB7XG4gICAgY29sb3I6ICM5OTk5OTk7XG4gICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgfVxuXG4gIC5yb29tIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9idWlsZC9tYXJrZXIucG5nKSBsZWZ0IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IGF1dG87XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxuXG4gIC5zcGVha2VyIHtcbiAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbiAgLnNwZWFrZXItd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogNjBweDtcblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICB9XG4gIH1cblxuICAuc3BlYWtlci1pbm5lciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLnNwZWFrZXItaW1hZ2Uge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMTlweDtcbiAgICBoZWlnaHQ6IDExOXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDExOXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuXG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLnNwZWFrZXItdGV4dC13cmFwIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgfVxuXG4gIC5qb2ItdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgfVxuXG4gIC5iaW8ge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICB9XG5cbiAgJi5oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLmV2ZW50LWdhbGxlcnksXG4ucGFyYWdyYXBoLWdhbGxlcnkge1xuICBhOm5vdCgub3Blbi1nYWxsZXJ5LWxpbmspIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgQGluY2x1ZGUgb21lZ2EoM24pO1xuICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgJjpudGgtY2hpbGQobis3KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuXG4uc2VjdGlvbi1wYXN0LWV2ZW50cyB7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHBhZGRpbmc6IDkycHggMCA0NXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLWJyaWdodDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBtZWRpYSgkb3Zlcm1vYmlsZSkge1xuICAgIC5zZWN0aW9uLXBhc3QtZXZlbnRzLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogNTBweDtcbiAgICB9XG4gIH1cblxuICAuaW5uZXIge31cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAudGV4dCB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBtaW4td2lkdGg6IDI4MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDUzcHggMjVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuc2VjdGlvbi1wYXN0LWV2ZW50cy1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIxKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuNjFweDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgfVxuXG59XG5cbiNzcG9uc29ycyB7XG5cbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gIH1cblxuICBwK2gzIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICB9XG5cbiAgaW1nIHtcbiAgICBtYXJnaW46IDAgNDBweCAyMHB4IDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIGltZyB7XG4gICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuICAgIH1cbiAgfVxufVxuXG4uZmllbGQtdHlwZS15b3V0dWJlLFxuLmZpZWxkLXR5cGUtc291bmRjbG91ZCB7XG5cbiAgLmZpZWxkLWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cblxufVxuXG4uZXZlbnQtcHJvZ3JhbW1lcyB7XG4gIC50ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG5cbn1cblxuLmV2ZW50LXVwY29taW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuXG4gICYtaW5uZXIge1xuICAgIEBpbmNsdWRlIHBhZCg0NnB4IDAgNDRweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjRweCAwIDQwcHgpO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gICAgcGFkZGluZy1sZWZ0OiA1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICYtY2FyZHMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWNvbHVtbnM6IGF1dG87XG4gICAgZ3JpZC1hdXRvLXJvd3M6IGF1dG87XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDMxOHB4IDIwNnB4O1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICBcIm9uZSB0d28gZm91ciBmaXZlXCJcbiAgICAgIFwidGhyZWUgdGhyZWUgc2l4IHNpeFwiO1xuICAgIGdhcDogMjBweCAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDUxcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgJi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDk1KTtcbiAgICAgIH1cblxuICAgICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgbWluLWhlaWdodDogcmVtKDI4Nik7XG4gICAgICB9XG5cbiAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOiByZW0oLTUwKTtcblxuICAgICAgICBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuXG4gIH1cblxuICAmLWNhcmQge1xuICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBncmlkLWFyZWE6IG9uZVxuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgZ3JpZC1hcmVhOiB0d287XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgzKSB7XG4gICAgICBncmlkLWFyZWE6IHRocmVlO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoNCkge1xuICAgICAgZ3JpZC1hcmVhOiBmb3VyO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoNSkge1xuICAgICAgZ3JpZC1hcmVhOiBmaXZlO1xuICAgIH1cblxuICAgICY6bnRoLW9mLXR5cGUoNikge1xuICAgICAgZ3JpZC1hcmVhOiBzaXg7XG4gICAgfVxuICB9XG5cbiAgJi1idXR0b24td3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlclxuICB9XG5cbiAgJi1jdGEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKHdoaXRlKSk7XG4gICAgQGluY2x1ZGUgcGFkKDhweCAyNHB4IDhweCAxN3B4KTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgfVxuICB9XG59XG5cbi5ldmVudC1hYm91dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcblxuICAmLWlubmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgcGFkKDU5cHggMCA2NHB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBAaW5jbHVkZSBwYWQoMTZweCAwIDI0cHgpO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgfVxuICB9XG5cbiAgJi1kZXNjIHtcbiAgICBtYXgtd2lkdGg6IDg2N3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgcCB7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsYWNrKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBmb250LXNpemU6IHJlbSgxNXB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLmV2ZW50LXBhc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmF5X2xpZ2h0ZXJfYmx1ZSk7XG5cbiAgJi1pbm5lciB7XG4gICAgQGluY2x1ZGUgcGFkKDQ1cHggMCA0OXB4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgzMnB4IDAgNDhweCk7XG4gICAgfVxuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzNweDtcblxuICAgICZ+LnRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI0KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMyKTtcbiAgICB9XG4gIH1cblxuICAmLWNhcmRzIHtcbiAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgIC8vIGZsZXgtd3JhcDogd3JhcDtcbiAgICAvLyBnYXA6IDEwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICAgIC52aWV3LXBhc3QtZXZlbnRzIHtcblxuICAgICAgLndyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgLnZpZXctY29udGVudCB7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODBweCwgMWZyKSk7XG4gICAgICAgICAgZ2FwOiAyNnB4O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNhcmQtcGFzdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDI4MHB4O1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbSg5NSk7XG5cbiAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOiByZW0oLTUwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICYtY3RhIHtcbiAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcih3aGl0ZSkpO1xuICAgIEBpbmNsdWRlIHBhZCg3cHggMjRweCA2cHggMTZweCk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOXB4O1xuICAgIH1cbiAgfVxuXG4gIC5zbGljay1kb3RzIHtcbiAgICBidXR0b246OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICB9XG4gIH1cbn1cblxuLmV2ZW50LXJlbGF0ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmF5X2xpZ2h0ZXJfYmx1ZSk7XG4gIEBpbmNsdWRlIHBhZCg1MHB4IDApO1xuXG4gICYtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDMzcHg7XG4gIH1cblxuICAmLWNhcmRzIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDI5MnB4LCAxZnIpKTtcbiAgICBnYXA6IDEwcHggMTBweDtcblxuICAgIC50b3BpYy1jb250ZW50IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDMxOHB4O1xuICAgIH1cbiAgfVxufVxuIiwiLm5vZGUtdHlwZS1ldmVudHMtbGFuZGluZy1wYWdlIHtcblxuICAuc2VjdGlvbi1rZXktZXZlbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gICAgQGluY2x1ZGUgcGFkKDYwcHggMCk7XG5cbiAgICAua2V5LWV2ZW50cyB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIH1cblxuICAgIC5jYXJkLWltYWdlLWxlZnQge1xuICAgICAgQGluY2x1ZGUgcGFkKDAgOHB4IDAgMjRweCk7XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG5cbiAgICAgIC5jYXJkLWltYWdlLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDI1cHggMjBweCk7XG5cbiAgICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQxcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlY3Rpb24tdXBjb21pbmctZXZlbnRzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICAgIEBpbmNsdWRlIHBhZCg0MHB4IDApO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUgMjE1cHgpO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIG51bGwgbnVsbCAwIDApO1xuICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgei1pbmRleDogMDtcbiAgICB9XG5cbiAgICAuY29udGFpbmVyIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gICAgfVxuXG4gICAgLnVwY29taW5nLWV2ZW50cyB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5jYXJkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG5cbiAgICAgIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJpbWFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICBtYXJnaW46IDQ1cHggYXV0byAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgICAgLmNhcmQge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoMjVweCAyMHB4KTtcblxuICAgICAgLmNhcmQge1xuICAgICAgICBAaW5jbHVkZSBvbWVnYS1yZXNldCgybik7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG4gICAgICB9XG5cbiAgICAgIC5wcmltYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlY3Rpb24tYWJvdXQtZXZlbnRzIHtcbiAgICBAaW5jbHVkZSBwYWQoNTBweCAwIDkwcHgpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGgyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDQwcHggMjVweCA0NXB4KTtcblxuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5ub2RlLXR5cGUtdHJhaW5pbmctY29uc3VsdGluZy1sYW5kaW5nLXBhZ2Uge1xuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IGVtKDM1KTtcbiAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMjgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMjIpO1xuICAgIH1cbiAgfVxuXG4gIC5zZWN0aW9uLXRyYWluaW5nIHtcbiAgICBAaW5jbHVkZSBwYWQoMTAwcHggMCA1MHB4KTtcbiAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaDIge1xuXG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XG4gICAgICBmb250LXNpemU6IGVtKDE0KTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZC13cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgfVxuXG4gICAgLmNhcmQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcbiAgICB9XG5cbiAgICAucHJpbWFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoNzBweCAwIDM1cHgpO1xuXG4gICAgICAudGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyNXB4IDIwcHgpO1xuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5zZWN0aW9uLWNvbnN1bHRpbmcge1xuICAgIEBpbmNsdWRlIHBhZCg1MHB4IDAgMTAwcHgpO1xuICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAudGV4dCB7XG4gICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTQpO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5wcmltYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgzNXB4IDAgNzBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyNXB4IDIwcHgpO1xuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5vcmFuZ2Utb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcGFkKDU2cHggMCA1MHB4KTtcblxuICAgIC53cmFwcGVyIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjJweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMjQpO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjdweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMSk7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNyk7XG4gICAgICBmb250LXNpemU6IGVtKDE0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg1KTtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBAaW5jbHVkZSBzaGlmdCgwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoNDBweCAyMHB4IDM0cHgpO1xuXG4gICAgICAud3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMjEpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xOTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBmb250LXNpemU6IGVtKDEzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnNlY3Rpb24tb3VyLWltcGFjdCB7XG4gICAgQGluY2x1ZGUgcGFkKDEwMHB4IDApO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5jb250YWluZXIge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC50ZXN0aW1vbmlhbHMtc2xpZGUge1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAzOHB4O1xuICAgICAgcGFkZGluZzogNDVweCA5MHB4O1xuICAgICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAgICAgJi5zbGljay1jdXJyZW50IHtcbiAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAudGV4dC1mdWxsIHtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0xOXB4IG51bGwgbnVsbCAtMjFweCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBzaXplKDQ4cHggMzhweCk7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9xdW90ZS1sZWZ0LnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAyN3B4IC0xOXB4IG51bGwpO1xuICAgICAgICAgICAgQGluY2x1ZGUgc2l6ZSg0OHB4IDM4cHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvcXVvdGUtcmlnaHQucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSBhdXRvO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgICAgICAgICAmOmJlZm9yZSxcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWZ1bGwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAzMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NztcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgbWF4LXdpZHRoOiA2NTBweDtcbiAgICAgIH1cblxuICAgICAgLnNpbmdsZS1zbGlkZS1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAubGFuZGluZy1zbGlkZS1oZWFkZXIge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40MjtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQxcHg7XG4gICAgICB9XG5cbiAgICAgIC5saW5rLXVuZGVybGluZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLWFycm93IHtcblxuICAgICAgJi50ZXN0aW1vbmlhbHMtc2xpZGVyLW5leHQge1xuICAgICAgICByaWdodDogMTAlO1xuICAgICAgfVxuXG4gICAgICAmLnRlc3RpbW9uaWFscy1zbGlkZXItcHJldiB7XG4gICAgICAgIGxlZnQ6IDEwJTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgICAgICYudGVzdGltb25pYWxzLXNsaWRlci1uZXh0IHtcbiAgICAgICAgICByaWdodDogMyU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnRlc3RpbW9uaWFscy1zbGlkZXItcHJldiB7XG4gICAgICAgICAgbGVmdDogMyU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoNzBweCAwKTtcblxuICAgICAgLnRlc3RpbW9uaWFscy1zbGlkZSB7XG4gICAgICAgIHBhZGRpbmc6IDQ1cHggNjBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBwYWQoNDFweCAwIDM5cHgpO1xuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICB9XG5cbiAgICAgIC50ZXN0aW1vbmlhbHMtc2xpZGUge1xuICAgICAgICBtYXJnaW46IDAgMTBweDtcbiAgICAgICAgcGFkZGluZzogMzBweCAxMHB4O1xuXG4gICAgICAgICYuc2xpY2stY3VycmVudCB7XG4gICAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogZW0oMTMuNSk7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5ub2RlLXR5cGUtdHJhaW5pbmctY29uc3VsdGluZyB7XG5cbiAgLmV2ZW50LXNpbmdsZS1oZWFkZXIge1xuICAgIGJhY2tncm91bmQ6ICRncmF5X2dyYXlpc2hfYmx1ZTtcbiAgfVxuXG4gIC50ZXN0aW1vbmlhbHMtc2xpZGVyIHtcbiAgICBtYXJnaW46IDMwcHggMDtcblxuICAgIC50ZXN0aW1vbmlhbHMtc2xpZGUge1xuICAgICAgQGluY2x1ZGUgcGFkKDM5cHggNzZweCk7XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgZm9udC1zaXplOiBlbSgxNyk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjRweDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBmb250LXNpemU6IGVtKDEyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgfVxuXG4gICAgLmxpbmstdW5kZXJsaW5lIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgfVxuXG4gIH1cblxuICAuc2xpY2stZG90cyB7XG4gICAgYm90dG9tOiAtMzBweDtcbiAgfVxuXG4gIC5zbGljay1hcnJvdyB7XG4gICAgQGluY2x1ZGUgc2l6ZSgzNXB4KTtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgIC50ZXN0aW1vbmlhbHMtc2xpZGVyIHtcblxuICAgICAgLnRlc3RpbW9uaWFscy1zbGlkZSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgzMHB4IDUwcHgpO1xuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnNsaWNrLWFycm93IHtcbiAgICAgIEBpbmNsdWRlIHNpemUoMzBweCk7XG5cbiAgICAgICYudGVzdGltb25pYWxzLXNsaWRlci1wcmV2IHtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgIH1cblxuICAgICAgJi50ZXN0aW1vbmlhbHMtc2xpZGVyLW5leHQge1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAubWFpbi13aXRoLXNpZGViYXIge1xuICAgICAgcGFkZGluZzogNDBweCAwIDQ1cHg7XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaDpub3QoLnBhcmFncmFwaC10ZXN0aW1vbmlhbHMpIHtcbiAgICAgIHBhZGRpbmc6IDM1cHggMjBweCA4cHg7XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5wYXJhZ3JhcGgtdGVzdGltb25pYWxzIHtcblxuICAgICAgaDIsIC50ZXh0IHtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC50ZXN0aW1vbmlhbHMtc2xpZGVyIHtcblxuICAgICAgLnRlc3RpbW9uaWFscy1zbGlkZSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgyNXB4IDM1cHgpO1xuICAgICAgICBtYXJnaW46IDAgMjBweDtcbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgIGJvdHRvbTogLTM1cHg7XG4gICAgfVxuXG4gICAgLnNsaWNrLWFycm93IHtcbiAgICAgIEBpbmNsdWRlIHNpemUoMzBweCk7XG5cbiAgICAgICYudGVzdGltb25pYWxzLXNsaWRlci1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IDElO1xuICAgICAgfVxuXG4gICAgICAmLnRlc3RpbW9uaWFscy1zbGlkZXItcHJldiB7XG4gICAgICAgIGxlZnQ6IDElO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5jb250YWN0IHtcblxuICAmLWRldGFpbHMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGdyYXlfbGlnaHRlcl9ibHVlKTtcbiAgICBAaW5jbHVkZSBwYWQoMzNweCAwKTtcblxuICAgICYtaW5uZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgIEBpbmNsdWRlIHBhZCgyOHB4IDEwN3B4KTtcbiAgICAgIG1pbi1oZWlnaHQ6IDM1NXB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMjhweCAzMHB4KTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMjRweCAxNnB4IDMycHggMTZweCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiA0M3B4O1xuICAgIH1cbiAgfVxuXG4gICYtbG9jYXRpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTBweCAyMjlweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIGdhcDogMTBweCA3MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gICYtbG9jYXRpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgJi1pbmZvIHtcblxuICAgICYtaXRlbSB7XG4gICAgICBjb2xvcjogY29sb3IoZGFya192ZXJ5X2dyYXlpc2hfcmVkKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIH1cblxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgfVxuICAgIH1cblxuICAgICYtbnVtYmVyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0cHgpO1xuICAgIH1cblxuICAgICYtYWRkcmVzcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMnB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkb3Zlcm1vYmlsZSkge1xuICAgICAgICBtaW4taGVpZ2h0OiByZW0oMTA4KTtcbiAgICAgIH1cblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvYWRkcmVzcy5zdmcnKTtcbiAgICAgICAgbGVmdDogLTVweDtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXRlbCB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnVCc7XG4gICAgICAgIGxlZnQ6IC01cHg7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLWZheCB7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnRic7XG4gICAgICAgIGxlZnQ6IC01cHg7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLW1hcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi10b3A6IDZweDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEycHgpO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgIHBhZGRpbmctbGVmdDogN3B4O1xuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgIHdpZHRoOiAycHg7XG4gICAgICAgIHRvcDogM3B4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfb3JhbmdlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLW1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcbiAgICBAaW5jbHVkZSBwYWQoNDRweCAwKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgyNHB4IDApXG4gICAgfVxuXG4gICAgJi1pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjdlbTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1pbWFnZSB7XG4gICAgLy8gZmxleC1zaHJpbms6IDA7XG4gICAgbWF4LXdpZHRoOiA1MDRweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9jb250YWN0LWltYWdlLnBuZycpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIEBpbmNsdWRlIHBhZCg0MHB4IDExMXB4IDc4cHggMTE0cHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgzMnB4IDQwcHggMTZweCk7XG4gICAgICBtaW4td2lkdGg6IDUzMnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1pbi13aWR0aDogMTAwJTtcbiAgICAgIEBpbmNsdWRlIHBhZCgzMHB4IDE5cHggMTZweCk7XG4gICAgfVxuICB9XG5cbiAgJi1mb3JtIHtcblxuICAgICNyaG0taGVscGVycy1lbnRpdHlmb3JtLWZvcm0ge1xuICAgICAgJj5kaXYge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWF1dG8tY29sdW1uczogMWZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcbiAgICAgICAgZ2FwOiAwIDE5cHg7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgXCJmaXJzdCBsYXN0XCJcbiAgICAgICAgICBcImVtYWlsIG51bWJlclwiXG4gICAgICAgICAgXCJzdWJqZWN0IHN1YmplY3RcIlxuICAgICAgICAgIFwibWVzc2FnZSBtZXNzYWdlXCJcbiAgICAgICAgICBcImFjdGlvbiBhY3Rpb25cIjtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGFiZWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG5cblxuICAgICNlZGl0LWZpZWxkLWZpcnN0LW5hbWUge1xuICAgICAgZ3JpZC1hcmVhOiBmaXJzdDtcbiAgICB9XG5cbiAgICAjZWRpdC1maWVsZC1sYXN0LW5hbWUge1xuICAgICAgZ3JpZC1hcmVhOiBsYXN0O1xuICAgIH1cblxuICAgICNlZGl0LWZpZWxkLWVtYWlsIHtcbiAgICAgIGdyaWQtYXJlYTogZW1haWw7XG4gICAgfVxuXG4gICAgI2VkaXQtZmllbGQtY29udGFjdC1udW1iZXIge1xuICAgICAgZ3JpZC1hcmVhOiBudW1iZXI7XG4gICAgfVxuXG4gICAgI2VkaXQtZmllbGQtZmlyc3QtbmFtZSxcbiAgICAjZWRpdC1maWVsZC1sYXN0LW5hbWUsXG4gICAgI2VkaXQtZmllbGQtZW1haWwsXG4gICAgI2VkaXQtZmllbGQtY29udGFjdC1udW1iZXIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMCA3MXB4IDAgMClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAjZWRpdC1maWVsZC1zdWJqZWN0IHtcbiAgICAgIGdyaWQtYXJlYTogc3ViamVjdDtcblxuICAgICAgLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgI2VkaXQtZmllbGQtbWVzc2FnZSB7XG4gICAgICBncmlkLWFyZWE6IG1lc3NhZ2U7XG4gICAgfVxuXG4gICAgI2VkaXQtYWN0aW9ucyB7XG4gICAgICBncmlkLWFyZWE6IGFjdGlvbjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDM3cHg7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIC5jYXB0Y2hhIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uLy4uL3N2Zy9hbmdsZS1yaWdodC5zdmdcIik7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDIwcHggYm90dG9tIDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgbWluLXdpZHRoOiByZW0oOTIpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oNDApO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgLmZvcm0tc3VibWl0IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0oMzIpO1xuICAgICAgICAgIHdpZHRoOiByZW0oMTIwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICNlZGl0LXN1Ym1pdCB7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIEBpbmNsdWRlIHBhZCgxMnB4IDE0cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyLjhweCk7XG4gICAgfVxuICB9XG59IiwiLm5vZGUtdHlwZS1wYWdlIHtcbiAgLy8gYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvYnViYmxlLnBuZycpIHJlcGVhdC15O1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcblxuICAjY29udGVudC1hcmVhIHtcbiAgICBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIH1cblxuICAgIGFydGljbGUudGVtcGxhdGUtdGVybXMgc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgfVxuXG4gIGFydGljbGUgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgcGFkKDEwMHB4IDApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDExcHggMjFweCA0NXB4KTtcbiAgICB9XG4gIH1cblxuICBhcnRpY2xlLnRlbXBsYXRlLXRlcm1zIC5jb250YWluZXIge1xuICAgIEBpbmNsdWRlIHBhZCg1MHB4IDApO1xuICB9XG5cbiAgLnRleHQtd3JhcCB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuXG4gICAgaDUge1xuICAgICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDIuOHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgICBiciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYTpub3QoLnByaW1hcnktY2FsbC1hY3Rpb24pOm5vdCguc2Vjb25kYXJ5LWNhbGwtYWN0aW9uKSB7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHQ7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDcuNSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDE3cHg7XG5cbiAgICAgIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGlua3Mge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICB9XG4gIH1cblxuICAuaW1hZ2Utd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIHNoaWZ0KDIpO1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAyNXB4IHJnYmEoMjUwLCAyNDgsIDI0NywgMC41NCk7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1cHggMTBweCBudWxsIG51bGwpO1xuICAgICAgQGluY2x1ZGUgc2l6ZSg2M3B4KTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjUxLCAxMTgsIDYzLCAwLjg1KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgc2hpZnQoMC41KTtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbjogNDdweCBhdXRvIDQ1cHggIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogMjA1cHg7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMTVweCByZ2JhKDI1MCwgMjQ4LCAyNDcsIDAuNTQpO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogNXB4O1xuICAgICAgICBAaW5jbHVkZSBzaXplKDQxcHgpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50ZW1wbGF0ZS10ZXJtcyB7XG5cbiAgICAub3JhbmdlLW92ZXJsYXkge1xuICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGV4dC13cmFwIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcblxuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG5cbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcblxuICAgIH1cblxuICB9XG59XG5cbi5iYXNpYy1wYWdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JheV9saWdodF9ibHVlKTtcblxuICAmLWlubmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoMzNweCAwKTtcbiAgfVxuXG4gICYtY29udGVudCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIEBpbmNsdWRlIHBhZCg0MHB4IDEwM3B4KTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDQwcHggMjBweCk7XG4gICAgfVxuXG4gICAgLmJ0bi1iYWNrIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLXNlY3Rpb24ge1xuICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgfVxuICB9XG5cbiAgJi1zdWJoZWFkaW5nIHt9XG5cbiAgJi1oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IHJlbSgxOHB4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gICYtcGFyIHtcbiAgICBtYXgtd2lkdGg6IDcxM3B4O1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWJ1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gIH1cblxuICAmLWN0YSB7XG4gICAgQGluY2x1ZGUgcGFkKDlweCAyNHB4IDlweCAxNnB4KTtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcih3aGl0ZSkpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiByZW0oMTJweCk7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIHRvcDogLTFweFxuICAgIH1cbiAgfVxufSIsIi5ub2RlLXR5cGUtZmFxLWxhbmRpbmcge1xuXG4gIC5jb250ZW50IHtcbiAgICAvLyBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9idWJibGUucG5nJykgcmVwZWF0LXk7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gIH1cblxuICAuZmFxLXBhZ2UgLmNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgcGFkKDgwcHggMCAxNjVweCk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBwYWQoNTBweCAwIDYwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gLnBhcnRuZXItaGVhZGVyIHtcbiAgLy8gICBAaW5jbHVkZSBwYWQoMjBweCAwIDEwMHB4KTtcblxuICAvLyAgIC5jb250ZW50IHtcbiAgLy8gICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gIC8vICAgfVxuXG4gIC8vICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAvLyAgICAgQGluY2x1ZGUgcGFkKDMwcHggMjBweCAyNXB4KTtcbiAgLy8gICB9XG4gIC8vIH1cblxuICAuZmFxLW5hdiB7XG4gICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuZmFxLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIHNoaWZ0KDEpO1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg4KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHNoaWZ0KDApO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBwYWQoMjVweCAyMHB4IDQwcHgpO1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZC1sYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufSIsIi5nZXQtaW52b2x2ZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG5cbiAgJi1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWQoNzRweCAwIDczcHgpO1xuICB9XG5cbiAgJi1jb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDk1NXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cbiAgJi10aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oNDkpO1xuICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMnB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDMyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cbiAgfVxuXG4gICYtdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1ncmlkIHtcbiAgICBtYXJnaW4tdG9wOiA0NXB4O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1hdXRvLWNvbHVtbnM6IDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciAxZnIgMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICBcIm1haW4gbWFpbiB0d28gdGhyZWVcIlxuICAgICAgXCJtYWluIG1haW4gZm91ciBmaXZlXCJcbiAgICAgIFwic2l4IHNldmVuIGVpZ2h0IG5pbmVcIjtcbiAgICBnYXA6IDE4cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIHJlcGVhdCg0LCAxZnIpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgXCJtYWluIG1haW5cIlxuICAgICAgICBcInR3byB0aHJlZVwiXG4gICAgICAgIFwiZm91ciBmaXZlXCJcbiAgICAgICAgXCJzaXggc2V2ZW5cIlxuICAgICAgICBcImVpZ2h0IG5pbmVcIjtcbiAgICAgIGdhcDogMTVweDtcbiAgICB9XG5cbiAgICAuZ3JpZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBncmlkLWFyZWE6IG1haW47XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ2MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiAzMjdweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiB0d287XG4gICAgICB9XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMykge1xuICAgICAgICBncmlkLWFyZWE6IHRocmVlO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1vZi10eXBlKDQpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBmb3VyO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1vZi10eXBlKDUpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBmaXZlO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1vZi10eXBlKDYpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBzaXg7XG4gICAgICB9XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoNykge1xuICAgICAgICBncmlkLWFyZWE6IHNldmVuO1xuICAgICAgfVxuXG4gICAgICAmOm50aC1vZi10eXBlKDgpIHtcbiAgICAgICAgZ3JpZC1hcmVhOiBlaWdodDtcbiAgICAgIH1cblxuICAgICAgJjpudGgtb2YtdHlwZSg5KSB7XG4gICAgICAgIGdyaWQtYXJlYTogbmluZTtcbiAgICAgIH1cblxuICAgICAgJi1hbmNob3Ige1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgICYtYmFja2dyb3VuZCB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIH1cblxuICAgICAgJi1jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBAaW5jbHVkZSBwYWQoMjFweCAyNXB4IDE2cHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gICAgICAgICAgQGluY2x1ZGUgcGFkKDIxcHggMTVweCAxNnB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQoN3B4IDE1cHggMTZweCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi1wYXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtbGluayB7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmN0YSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMFxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX21haW4ge1xuICAgICAgICAuZ3JpZC1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdyaWQtY29udGVudCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAxOTlweDtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQoMCk7XG4gICAgICAgICAgbWFyZ2luOiA0NXB4IDI0cHggMCBhdXRvO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgbWFyZ2luOiAyN3B4IDQzcHggMCBhdXRvO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ncmlkLXRpdGxlIHtcbiAgICAgICAgICBjb2xvcjogY29sb3IoZGFya19ncmF5aXNoX3JlZCk7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMjRweCk7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ncmlkLXBhciB7XG4gICAgICAgICAgY29sb3I6IGNvbG9yKGRhcmtfZ3JheWlzaF9yZWQpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ncmlkLWxpbmsge1xuICAgICAgICAgIGFsaWduLXNlbGY6IGJhc2VsaW5lO1xuXG4gICAgICAgICAgJi5jdGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgcGFkKDEwcHggMzBweCA3cHgpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBwYWQoNHB4IDEwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX19zb2NpYWwge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjNweFxuICAgICAgfVxuICAgIH1cblxuICAgIC5zb2NpYWwtbWVkaWEge1xuICAgICAgQGluY2x1ZGUgcGFkKDAgMjVweCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAmLWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICB3aWR0aDogMzVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICBnLFxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBmaWxsOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIvKiogPT09PSBQRVJTT05BTCBERVRBSUxTID09PT09ICoqL1xuLnBhZ2UtcHJvZmlsZSB7XG5cbiAgLm1haW4td2l0aC1zaWRlYmFyIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoOCk7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAudXNlci1lZGl0LWZvcm0td3JhcCB7XG4gICAgcGFkZGluZzogMjBweCAwO1xuICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2IG9mIDgpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcblxuICAgIC51c2VyLWVkaXQtZm9ybS1zdW1tYXJ5IHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5uYW1lIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgYnV0dG9uIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5wcm9maWxlLXBhZ2VzLXBlcnNvbmFsLWZvcm0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG1hcmdpbi10b3A6IDE3cHg7XG4gICAgfVxuXG4gICAgJi5vcGVuIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDtcblxuICAgICAgLnByb2ZpbGUtcGFnZXMtcGVyc29uYWwtZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAxN3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG5cbiAgICBsYWJlbFtmb3I9Y2hhbmdlX3Bhc3N3b3JkXSxcbiAgICBsYWJlbFtmb3I9Y2hhbmdlX3Bhc3N3b3JkX10ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBjb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG5cbiAgICAgICNjaGFuZ2VfcGFzc3dvcmQsXG4gICAgICAjY2hhbmdlX3Bhc3N3b3JkXyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnBhc3N3b3JkLXdyYXAuaGlkZGVuIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICAmLmhhbGYge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICB9XG5cbiAgICAgICYub21lZ2Ege1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgpO1xuICAgICAgfVxuXG4gICAgICAmLmNsZWFyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnVzZXItcGljdHVyZS1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICAudXNlci1waWN0dXJlIHtcbiAgICAgIHdpZHRoOiA4M3B4O1xuICAgICAgaGVpZ2h0OiA4M3B4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VwcG9ydGVkLWZvcm1hdHMge1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICB9XG5cbiAgICBpbnB1dFtuYW1lPVwicGljdHVyZVwiXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xuICAgIH1cblxuICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgMCA3cHg7XG4gICAgICBwYWRkaW5nLXRvcDogMjJweDtcblxuICAgICAgaW5wdXQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAxNXB4O1xuXG4gICAgICAgICZbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtLWVycm9yIHtcblxuICAgICAgaW5wdXQge1xuICAgICAgICBib3JkZXItY29sb3I6ICRvcmFuZ2VfYnJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5lcnJvci1tZXNzYWdlIHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xuICAgICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICB9XG5cbiAgICAucGljdHVyZS1wbGFjZWhvbGRlciB7XG4gICAgICBAaW5jbHVkZSBzaXplKDc4cHgpO1xuICAgICAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuXG4gICAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgyOCk7XG4gICAgICAgIGNvbG9yOiAkZ3JheV9saWdodDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X2xpZ2h0O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogM3B4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHBhZGRpbmc6IDE0cHggMDtcblxuICAgICAgJi5vcGVuIHtcbiAgICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgICAgfVxuXG4gICAgICAuZm9ybS1pdGVtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgJi5oYWxmIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9maWxlLFxuICAucHJvZmlsZS1sYW5kaW5nIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cblxuXG4gIC5maWVsZC1uYW1lLWZpZWxkLXRpdGxlLFxuICAuZmllbGQtbmFtZS1maWVsZC1leHRlcm5hbC1saW5rLFxuICAuZmllbGQtbmFtZS1maWVsZC12aWRlbyxcbiAgLmZpZWxkLXR5cGUtc291bmRjbG91ZCxcbiAgLmZpZWxkLW5hbWUtZmllbGQtaXMtYXJjaGl2ZWQge1xuICAgIC5maWVsZC1sYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5maWVsZC1uYW1lLWZpZWxkLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgLmZpZWxkLW5hbWUtZmllbGQtdGl0bGUgLmZpZWxkLWl0ZW0ge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICAuZmllbGQtbmFtZS1maWVsZC1pcy1hcmNoaXZlZCB7XG4gICAgLmZpZWxkLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLW5hbWUtZmllbGQtcmVzb3VyY2UtZGF0ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgbWFyZ2luLXRvcDogLTEwcHg7XG5cbiAgICAuZmllbGQtbGFiZWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAucHJvZmlsZS1sYW5kaW5nLWNvbWluZy11cCB7XG5cbiAgICAucHJvZmlsZS1pdGVtIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgIGgzIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG4gIC8qKiBQcm9maWxlIEdlbmVyYWwgSXRlbSAqKi9cbiAgLnByb2ZpbGUge1xuXG4gICAgc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICB9XG5cbiAgICBwLFxuICAgIC50ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICB9XG5cbiAgICAuaWNvbi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjdweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wMDVlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICBAaW5jbHVkZSBwYWQoMTFweCAyM3B4IDExcHggMTVweCk7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKHdoaXRlKSk7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogY29sb3IsIGJhY2tncm91bmQtY29sb3I7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAxcHggLTFweCAwIDAgY29sb3IoY29tYml6X2JsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogNnB4O1xuICAgICAgICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuaWNvbiB7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZDogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDUwJTtcblxuICAgICAgICAmLmljb24tdXBjb21pbmcge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvYnVpbGQvaWNvbi11cGNvbWluZy1ldmVudC1kYXJrLnBuZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmljb24tY2FsZW5kYXIge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvYnVpbGQvaWNvbi1jYWxlbmRhci1kYXJrLnBuZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmljb24tcHVibGljYXRpb24ge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8uLi9pbWFnZXMvYnVpbGQvaWNvbi1wdWJsaWNhdGlvbi1kYXJrLnBuZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmLmljb24tbm90ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy4uL2ltYWdlcy9idWlsZC9pY29uLW5vdGUtZGFyay5wbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pY29uLWZlYXR1cmVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vLi4vaW1hZ2VzL2J1aWxkL2ljb24tZmVhdHVyZWQucG5nKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ3JTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgICAgLmljb24tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIFByb2ZpbGUgQm9va2VkIEV2ZW50ICoqL1xuICAucHJvZmlsZS1ib29rZWQtZXZlbnQge1xuICAgIGEge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICB9XG4gIH1cblxuICAuYm9va2VkLWV2ZW50IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgkb3Zlcm1vYmlsZSkge1xuICAgICAgaDMge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwMHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5wcm9maWxlLWl0ZW0ge1xuXG4gICAgLnNlY29uZGFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICAvLyBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmLmNvbXBsZXRlIHtcbiAgICAgIC5zZWNvbmRhcnktY2FsbC1hY3Rpb24ge1xuICAgICAgICB0b3A6IDExcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgYm9yZGVyOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgLml0ZW0td3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG4gICAgfVxuXG4gICAgLy8gJjpiZWZvcmUge1xuICAgIC8vICAgY29udGVudDogJyc7XG4gICAgLy8gICB3aWR0aDogMXB4O1xuICAgIC8vICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICAvLyAgIGJhY2tncm91bmQ6ICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICAgIC8vICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDIwcHggbnVsbCBudWxsIDApO1xuICAgIC8vIH1cblxuICAgIC8vICY6aG92ZXIge1xuICAgIC8vICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDIzMywgMjM2LCAwLjI2KTtcbiAgICAvLyB9XG5cbiAgICAudGV4dCB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuYm9va2VkLWV2ZW50LWFjdGlvbnMge1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMTVweCBudWxsIG51bGwpO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDMzM21zIGxpbmVhcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZmlsZS1pdGVtLXRpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTUpO1xuICAgICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjczO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ0cHg7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTg4cHgpO1xuXG4gICAgICAvLyAmOmFmdGVyIHtcbiAgICAgIC8vICAgY29udGVudDogJyc7XG4gICAgICAvLyAgIHdpZHRoOiAzcHg7XG4gICAgICAvLyAgIGhlaWdodDogMTVweDtcbiAgICAgIC8vICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDRweCBudWxsIG51bGwgLTE2cHgpO1xuICAgICAgLy8gICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgLy8gfVxuICAgIH1cblxuICAgIC5wcm9maWxlLWl0ZW0tbWV0YSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgbWFyZ2luOiA1cHggMCA2cHg7XG4gICAgfVxuXG4gICAgLnByb2ZpbGUtaXRlbS1zdW1tYXJ5IHtcbiAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjYxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIH1cblxuICAgIC5maWxlPmEsXG4gICAgLnRpY2tldC1jYWxsLWFjdGlvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgfVxuXG4gICAgLnRpY2tldC1jYWxsLWFjdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICB9XG5cbiAgICAuYm9va2VkLWV2ZW50LWNsb3NlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5vcGVuIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X3ZlcnlfbGlnaHQ7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIGgzOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLml0ZW0td3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMTlweCAxNnB4IDI5cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0O1xuICAgICAgfVxuXG4gICAgICAuYm9va2VkLWV2ZW50LWNsb3NlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmb250LXNpemU6IGVtKDM4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB9XG5cbiAgICAgIC5wcm9maWxlLWl0ZW0tdGl0bGUsXG4gICAgICAucHJvZmlsZS1pdGVtLW1ldGEsXG4gICAgICAucHJvZmlsZS1pdGVtLXN1bW1hcnkge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgfVxuXG4gICAgICAucHJvZmlsZS1pdGVtLXN1bW1hcnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSxcbiAgICAgIC5ib29rZWQtZXZlbnQtYWN0aW9ucyxcbiAgICAgIC50aWNrZXQtY2FsbC1hY3Rpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLXdyYXAge1xuICAgICAgcGFkZGluZzogMjRweCAyMHB4IDIwcHggMTdweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRibHVlX2xpZ2h0X2dyYXlpc2hfMjtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogJHNwYWNlZC1sZXR0ZXJzO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTMpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5ndWVzdCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMjBweCAxMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZmllbGRzLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgfVxuXG4gICAgICAuaW5wdXQtd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgJi5oYWxmIHtcbiAgICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgIH1cblxuICAgICAgICAmLm9tZWdhIHtcbiAgICAgICAgICBAaW5jbHVkZSBvbWVnYSgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIHRleHQtaW5kZW50OiAxMHB4O1xuICAgICAgfVxuXG4gICAgICAuYWRkaXRpb25hbC1pbmZvIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICAgIGhlaWdodDogMTM1cHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyMzQsIDIzMywgMjM2LCAwLjI2KTtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTRweCk7XG4gICAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm1lc3NhZ2Uge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG9yYW5nZV9icmlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBpbnB1dFt0eXBlPVwicmVzZXRcIl0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uLmJvb2tlZC1ldmVudC1hZGQtZGV0YWlscyB7XG4gICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgZm9udC1zaXplOiBlbSgxMik7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcbiAgfVxuXG4gIC8qKiBQcm9maWxlIFlvdXIgTWVldGluZ3MgKiovXG4gIC5wcm9maWxlLW1lZXRpbmcge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgcGFkZGluZzogMjVweCAwIDQ1cHg7XG4gICAgfVxuICB9XG5cbiAgLyoqIFByb2ZpbGUgUGVyc29uYWwgRGV0YWlscyAqKi9cbiAgLnByb2ZpbGUtcGFnZXMtcGVyc29uYWwtZGV0YWlscyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBoMyB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1zaXplOiBlbSgxMSk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5X2Rhcms7XG4gICAgICBsZXR0ZXItc3BhY2luZzogJHNwYWNlZC1sZXR0ZXJzO1xuICAgICAgcGFkZGluZy1ib3R0b206IDNweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgcGFkZGluZzogMjVweCAwIDQ1cHg7XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogUHJvZmlsZSBNZW1iZXJzaGlwcyAqKi9cbiAgLnByb2ZpbGUtbWVtYmVyc2hpcHMge1xuXG4gICAgLm1lbWJlcnNoaXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgICB9XG5cbiAgICBzZWN0aW9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgfVxuXG4gICAgaDMsXG4gICAgaDQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICBsaW5lLWhlaWdodDogMS4yODtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC41M3B4O1xuICAgICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgIH1cblxuICAgIC5tZW1iZXJzaGlwLW1ldGEge1xuICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDI7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG4gICAgfVxuXG4gICAgLmZpbGUtZG93bmxvYWRzIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIH1cblxuICAgICAgLmZpbGUtaW5mbyB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogZW0oMTEpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMCA0NXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIH1cblxuICAgICAgc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIFByb2ZpbGUgWW91ciBUaWNrZXRzICoqL1xuICAucHJvZmlsZS15b3VyLXRpY2tldHMge1xuXG4gICAgc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICB9XG5cbiAgICAudGlja2V0LWFsbG93YW5jZS1zdW1tYXJ5IHtcbiAgICAgIC8vIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG5cbiAgICAgIC5pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICAgICAgLy8gQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDEwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5X2Rhcms7XG4gICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogM3B4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICB9XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAgIGNvbG9yOiAkZ3JheV9kYXJrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDNweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGlja2V0LWFsbG93YW5jZS1zdW1tYXJ5LWl0ZW0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICAgICAgZm9udC1zaXplOiBlbSgxMyk7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgICAuZXZlbnQtdHlwZSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgfVxuXG4gICAgICAuYmVuZWZpdCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiBlbSgxNCk7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgcGFkZGluZzogMjVweCAwIDQ1cHg7XG5cbiAgICAgIHNlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgfVxuXG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICB9XG5cbiAgICAgIC5wcm9maWxlLWl0ZW0ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLnRpY2tldC1hbGxvd2FuY2Utc3VtbWFyeSB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgIEBpbmNsdWRlIHBhZCgyMHB4IDApXG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogUHJvZmlsZSBDb21wYW55IEluZm9ybWF0aW9uICoqL1xuICAucHJvZmlsZS1jb21wYW55LWluZm9ybWF0aW9uIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gICAgLnByb2ZpbGUtcGFnZXMtY29tcGFueS1mb3JtIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcbiAgICB9XG5cbiAgICBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pIHtcbiAgICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsLFxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4O1xuXG4gICAgICAmOmZpcnN0LW9mLXR5cGUsXG4gICAgICAmOm50aC1vZi10eXBlKDIpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogY2FsYygoMTAwJSAvIDIpIC0gMTRweCk7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjNweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDMzM21zIGxpbmVhcik7XG5cbiAgICAgIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiA1cHggMTVweCAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgICAgIH1cblxuICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19yZW5kZXJlZCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbjogM3B4IDVweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweDtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICAgIHBhZGRpbmc6IDdweCAxMHB4IDVweCAxM3B4O1xuXG4gICAgICAgICAgLnNlbGVjdDItc2VsZWN0aW9uX19jaG9pY2VfX3JlbW92ZSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAzcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWxlY3QyLXNlYXJjaC0taW5saW5lIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuc2VsZWN0Mi1jb250YWluZXItLWZvY3VzIC5zZWxlY3QyLXNlbGVjdGlvbi0tbXVsdGlwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI2ZpZWxkX3N1bW1hcnkge1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIGhlaWdodDogMTUwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2UgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjYm9keSB7XG4gICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgaGVpZ2h0OiAzODBweDtcbiAgICAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICBpbnB1dCB7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG5cbiAgICAgIC5wcm9maWxlLXBhZ2VzLWNvbXBhbnktZm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgcGFkZGluZzogMjVweCAwIDM1cHg7XG5cbiAgICAgIC5mb3JtLWl0ZW0ge1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSxcbiAgICAgICAgJjpudGgtb2YtdHlwZSgyKSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIFByb2ZpbGUgQ29tcGFueSBSZXByZXNlbnRhdGl2ZXMgKiovXG4gIC5wcm9maWxlLWNvbXBhbnktcmVwcmVzZW50YXRpdmVzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBwIHtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICAuY29tcGFueS1yZXByZXNlbnRhdGl2ZSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5X3ZlcnlfbGlnaHQ7XG4gICAgICBwYWRkaW5nOiAyM3B4IDAgMzBweDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLnBpY3R1cmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIHdpZHRoOiAxMTVweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTUwcHgpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIH1cblxuICAgICAgLmpvYi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDAgNDVweDtcblxuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuXG4gICAgICAuY29tcGFueS1yZXByZXNlbnRhdGl2ZSB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMDtcblxuICAgICAgICAucGljdHVyZSB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICB3aWR0aDogODRweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dCB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTA1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5qb2ItdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tYWluLXdyYXBwZXIubm8tbWVtYmVyc2hpcCxcbiAgLm1haW4td3JhcHBlci5yZXBzLWNvdW50LTAge1xuXG4gICAgLnNpZGViYXItbWVudS5zaWRlYmFyIC5tZW51ICNwdWJsaWMtcHJvZmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5wcm9maWxlLXBhZ2UtbW9iaWxlLWN1cnJlbnQtc2VjdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qKiBNb2JpbGUgVmVyc2lvbiAqKi9cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgLnNpZGViYXItbWVudSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nOiAxM3B4IDIxcHggMTFweDtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjUxLCAyNDksIDI0OCwgMC45Nik7XG4gICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAucHJvZmlsZS1wYWdlLW1vYmlsZS1jdXJyZW50LXNlY3Rpb24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTRweCAycHgpO1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgLTExcHggMCk7XG4gICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYnRuLW1vcmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgdWwubWVudSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMCA1cHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC13aWR0aDogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsaSAubWVudSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiA4cHggMDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMyk7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oYWxsIDExMW1zIGxpbmVhcik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5hY3RpdmUtdHJhaWwge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi13aXRoLXNpZGViYXIge1xuICAgICAgQGluY2x1ZGUgcGFkKDApO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgIEBpbmNsdWRlIHBhZCgyMHB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZmlsZSB7XG4gICAgICBtYXJnaW46IDA7XG5cbiAgICAgIHNlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgICAgICAgQGluY2x1ZGUgcGFkKDEycHggMjZweCAxMHB4IDIxcHgpO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQoMTJweCAwIDEwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi50b2dnbGVkIHtcbiAgICAgICAgICBAaW5jbHVkZSBwYWQoMTVweCAyNnB4IDI1cHggMjFweCk7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBwYWQoMTVweCAwIDI1cHgpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5pY29uLXRpdGxlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3Byb2ZpbGUtYXJyb3dfY2xvc2Uuc3ZnJykgbm8tcmVwZWF0IHJpZ2h0IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAucHJvZmlsZS1pdGVtLFxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5pY29uLXRpdGxlIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY3O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvcHJvZmlsZS1hcnJvd19vcGVuLnN2ZycpIG5vLXJlcGVhdCByaWdodCBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTBweCBhdXRvO1xuXG4gICAgICAgIC5pY29uLFxuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgfVxuXG4gICAgICBwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZmlsZS1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAucHJvZmlsZS1pdGVtLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgICAgfVxuXG4gICAgICAuaXRlbS13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMCAxOXB4IDAgMTZweDtcbiAgICAgIH1cblxuICAgICAgLnByb2ZpbGUtaXRlbS1tZXRhIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICAgICAgbWFyZ2luOiAwIDAgN3B4O1xuICAgICAgfVxuXG4gICAgICAucHJvZmlsZS1pdGVtLXN1bW1hcnkge1xuICAgICAgICBjb2xvcjogJGdyYXlfZGFyaztcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAuYm9va2VkLWV2ZW50LWFjdGlvbnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBpbmhlcml0KTtcbiAgICAgIH1cblxuICAgICAgLnRpY2tldC1jYWxsLWFjdGlvbiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLml0ZW0td3JhcHBlciB7XG4gICAgICAgICAgcGFkZGluZzogMTJweCAxM3B4IDE0LjVweCAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2ZpbGUtaXRlbS10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3B4O1xuXG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9maWxlLWl0ZW0tbWV0YSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9maWxlLWl0ZW0tc3VtbWFyeSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ib29rZWQtZXZlbnQtY2xvc2Uge1xuICAgICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxNyk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLXdyYXAge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMTRweCAyMHB4O1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmd1ZXN0IHtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZmllbGRzLXdyYXAge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5wdXQtd3JhcCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICYuaGFsZiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGRpdGlvbmFsLWluZm8ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcblxuICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDRweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzcHgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgICAgIGlucHV0W3R5cGU9XCJyZXNldFwiXSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnByb2ZpbGUtY29sdW1uLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLWJvdHRvbTogMzRweDtcblxuICAucHJvZmlsZS1jb2x1bW4taGVhZGluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5oMi5wcm9maWxlLWNvbHVtbi1oZWFkaW5nIHtcbiAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICBsaW5lLWhlaWdodDogMS4yNTtcbiAgbWFyZ2luLWJvdHRvbTogMzRweDtcbn1cblxuLyoqIFByb2ZpbGUgWW91ciBQdWJsaWNhdGlvbnMgKiovXG4ucHJvZmlsZS15b3VyLXB1YmxpY2F0aW9ucyB7XG5cbiAgLnByb2ZpbGUtaXRlbSB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLml0ZW0td3JhcHBlciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1jdGEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgIEBpbmNsdWRlIGNhcmV0KGNvbG9yKHdoaXRlKSk7XG4gICAgQGluY2x1ZGUgcGFkKDhweCAyMnB4IDdweCAxNnB4KTtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgfVxuXG4gICAgLnBhZ2UtcHJvZmlsZS15b3VyLXB1YmxpY2F0aW9ucyAmIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucHJvZmlsZS1ib29rZWQtZXZlbnRzIHtcblxuICAmLWN0YSB7XG4gICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgIGNvbG9yOiBjb2xvcih3aGl0ZSk7XG4gICAgQGluY2x1ZGUgY2FyZXQoY29sb3Iod2hpdGUpKTtcbiAgICBAaW5jbHVkZSBwYWQoOHB4IDIycHggN3B4IDE2cHgpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLnByb2ZpbGUtcGVyc29uYWwtZGV0YWlscyB7fVxuXG4uc2VjdGlvbi1uZXR3b3JrLW1lc3NhZ2Uge1xuICBiYWNrZ3JvdW5kOiAjRkFGOUZBO1xuICBwYWRkaW5nOiAzMHB4IDYwcHg7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgJG9yYW5nZV9icmlnaHQ7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBoMiB7XG4gICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiByZW0oMTcpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDFlbTtcbiAgfVxuXG4gIC50ZXh0IHAge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gIH1cblxuICBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICBhIHtcbiAgICBjb2xvcjogJG9yYW5nZV9icmlnaHQ7XG4gIH1cblxufVxuXG5kaXYuYWRkZXZlbnRhdGMge1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiAkZm9udF9fbWFpbjtcbiAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzIgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiBlbSgxMik7XG4gIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBwYWRkaW5nOiAwO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKGFsbCAxMTFtcyBsaW5lYXIpO1xuXG4gICY6aG92ZXIge1xuICAgIGZvbnQtc2l6ZTogZW0oMTIpO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLmFkZGV2ZW50YXRjX2ljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgdG9wOiAwO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLmFkZGV2ZW50YXRjX2Ryb3Bkb3duIHtcbiAgICB0b3A6IDIzcHggIWltcG9ydGFudDtcblxuICB9XG5cbiAgLmNvcHl4IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLyoqIFByb2ZpbGUgVGlja2V0cyBIaXN0b3J5ICoqL1xuLnByb2ZpbGUtdGlja2V0cy1oaXN0b3J5IHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBoMiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgfVxuXG4gIC52aWV3LWZpbHRlcnMge1xuICAgIG1hcmdpbjogMCAwIDM2cHg7XG4gICAgd2lkdGg6IDI4NXB4O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAudmlld3MtZXhwb3NlZC13aWRnZXRzIHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBsYWJlbCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC52aWV3cy13aWRnZXQtZmlsdGVyLXRpdGxlX2ZpZWxkX3ZhbHVlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM0LCAyMzMsIDIzNiwgMC4yNik7XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmctbGVmdDogMzVweDtcbiAgICB9XG4gIH1cblxuICAudmlld3Mtc3VibWl0LWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMXB4IDEwMCUpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgMCAxM3B4KTtcblxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgQGluY2x1ZGUgc2l6ZSgxMXB4KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgMCAwKTtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3NlYXJjaC5zdmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgICBib3JkZXItcmFkaXVzOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIHRoIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMi44cHg7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8zO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXlfZGFyaztcblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0ZCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uZW1haWwtZXhpc3RzLW1lc3NhZ2Uge1xuICBwYWRkaW5nOiA0MHB4ICFpbXBvcnRhbnQ7XG5cbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbn1cblxuLnBhZ2UtcHJvZmlsZS1tZWV0aW5nLW5vdGVzIHtcblxuICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItZHJvcGRvd24uc2VsZWN0Mi1kcm9wZG93bi0tYWJvdmUge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgLm1haW4td2l0aC1zaWRlYmFyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgID4ucHJvZmlsZS1tZWV0aW5nIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgLnByb2ZpbGUtY29sdW1uLWhlYWRpbmctd3JhcHBlciB7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZWV0aW5nLW5vdGUtbmV0d29yay1maWx0ZXItZm9ybSB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgcGFkZGluZzogMjRweCAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZWV0aW5nLW5vdGUtd3JhcHBlciB7XG4gICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBoMi5wcm9maWxlLWNvbHVtbi1oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0Mi1jb250YWluZXIgLnNlbGVjdDItZHJvcGRvd246bm90KC5zZWxlY3QyLWRyb3Bkb3duLS1hYm92ZSk6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiBjYWxjKDc1JSAtIDUwcHgpO1xuICAgIH1cblxuICAgIC5maWVsZC10eXBlLXlvdXR1YmUgLmZpZWxkLWl0ZW1zPmRpdiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuICAgICAgLyogMTY6OSBBc3BlY3QgUmF0aW8gKGRpdmlkZSA5IGJ5IDE2ID0gMC41NjI1KSAqL1xuICAgIH1cblxuICAgIC8qIFRoZW4gc3R5bGUgdGhlIGlmcmFtZSB0byBmaXQgaW4gdGhlIGNvbnRhaW5lciBkaXYgd2l0aCBmdWxsIGhlaWdodCBhbmQgd2lkdGggKi9cbiAgICAueW91dHViZS1maWVsZC1wbGF5ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLnNlbGVjdDIge1xuICAgICYtZHJvcGRvd24ge1xuICAgICAgbWluLXdpZHRoOiAzMjBweDtcbiAgICB9XG5cbiAgICAmLWNvbnRhaW5lci0tZGVmYXVsdCB7XG4gICAgICAuc2VsZWN0Mi1zZWxlY3Rpb24tLXNpbmdsZSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVldGluZy1ub3RlIHtcbiAgICAmLnByb2ZpbGUtaXRlbSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtbmV0d29yay1maWx0ZXItZm9ybSB7XG4gICAgICA+ZGl2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDU2cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGdyYXlfdmVyeV9saWdodDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi1maWx0ZXIge1xuXG4gICAgICAmLWZpZWxkd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA2MHB4KTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgICAgICAgcGFkZGluZzogMCAyOHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgLnNlbGVjdDItY29udGFpbmVyLS1kZWZhdWx0IC5zZWxlY3QyLXNlbGVjdGlvbi0tc2luZ2xlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNzZWxlY3QyLW1lZXRpbmdfbm90ZXNfZmlsdGVyX25ldHdvcmstY29udGFpbmVyIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNnB4O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgbWFyZ2luLXRvcDogOHB4O1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNlbGVjdDItY29udGFpbmVyIHtcbiAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLXN1Ym1pdCB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi8uLi9pbWFnZXMvYnVpbGQvc2VhcmNoLnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMXB4O1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgfVxuXG59IiwiLm5vZGUtdHlwZS1uZXdzLXB1YmxpY2F0aW9uIHtcblxuICAubWFpbi13aXRoLXNpZGViYXIge1xuICAgIEBpbmNsdWRlIHNoaWZ0KDQpO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG5cbiAgLnNpZGViYXIge1xuICAgIGltZyB7XG4gICAgICB3aWR0aDogODAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAudGlja2V0OmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICB9XG5cbiAgLnBhcmFncmFwaDpmaXJzdC1jaGlsZCB7XG4gICAgaDIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAucGFyYWdyYXBoLFxuICAucHVyY2hhc2UtcmVwb3J0LFxuICAucGFyYWdyYXBoOmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xuICB9XG5cbiAgLnB1cmNoYXNlLXJlcG9ydCB7XG5cbiAgICAudGlja2V0IHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDtcblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRpY2tldCBoMiB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNDc7XG4gICAgfVxuXG4gICAgLnByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI5O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIC5tYWluLXdpdGgtc2lkZWJhciB7XG4gICAgICBAaW5jbHVkZSBzaGlmdCgwKTtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygxMik7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgLm1haW4td2l0aC1zaWRlYmFyIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnBhcmFncmFwaCxcbiAgICAucHVyY2hhc2UtcmVwb3J0LFxuICAgIC5wYXJhZ3JhcGg6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBwYWRkaW5nOiAyMi41cHggMjBweDtcbiAgICB9XG5cbiAgICAuYnV5LXRpY2tldHMtZm9ybSB7XG5cbiAgICAgIC50aWNrZXQgLnRleHQtd3JhcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgfVxuXG4gICAgICAuYWpheC1yZXNwb25zZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5wcmltYXJ5LWNhbGwtYWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZpZWxkLW5hbWUtZmllbGQtYXVkaW8ge1xuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgwIDIwcHgpXG4gICAgfVxuICB9XG5cbiAgLnBvZGNhc3QtaG9zdC1zcGVha2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMzhweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgwIDIwcHgpO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLmhvc3Qtc3BlYWtlciB7XG5cbiAgICAgICYtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNHB4KTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjAzZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbSgyNSk7XG4gICAgICB9XG5cbiAgICAgICYtbGlzdCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMzhweDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDIxOHB4LCAyMThweCkpO1xuICAgICAgICAgIGdhcDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtY29udGVudCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAmLWl0ZW0ge1xuICAgICAgICAgIC8vIHdpZHRoOiByZW0oMjE4KTtcbiAgICAgICAgICBtaW4taGVpZ2h0OiByZW0oMzEyKTtcblxuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiByZW0oOCk7XG4gICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogcmVtKDgpO1xuICAgICAgICAgICAgbWluLXdpZHRoOiByZW0oMjE4KTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDE5MSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnRleHQtd3JhcCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmF5X2xpZ2h0ZXJfYmx1ZSk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiByZW0oOCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogcmVtKDgpO1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDE2cHggMTZweCAxNnB4O1xuXG4gICAgICAgICAgICAuZmFuY3lib3gge1xuICAgICAgICAgICAgICBjb2xvcjogY29sb3IoY29tYml6X29yYW5nZSk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtZGVwYXJ0bWVudCB7XG4gICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgIH1cblxuICAgICAgJi1uYW1lIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgICAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgICB9XG5cbiAgICAgICYtc2FsdXRhdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgIH1cblxuICAgICAgJi1qb2ItdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGNvbG9yOiBkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIudmlldy1zZWFyY2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgI2VkaXQtc2VhcmNoLWFwaS12aWV3cy1mdWxsdGV4dC5lcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkb3JhbmdlX2JyaWdodF8yO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgLmJ0bi1iYWNrIHtcbiAgICAgIG1hcmdpbjogMCAyMHB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTdweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gI2VkaXQtc2VhcmNoLWFwaS12aWV3cy1mdWxsdGV4dCB7XG4gICAgLy8gICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAvLyAgIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbiAgICAvLyAgIHBhZGRpbmc6IDIwcHggNDVweCAxNnB4IDIwcHg7XG4gICAgLy8gfVxuICB9XG59XG5cbi5zZWFyY2gtZm9ybS13cmFwIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IC01MHB4O1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDcxLCA2OSwgNjksIDAuOTUpO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dCwgdG9wIDAuNXMgZWFzZS1pbi1vdXQsIHotaW5kZXggMC42cyBzdGVwLWVuZCwgaGVpZ2h0IDAuNnMgc3RlcC1lbmQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHotaW5kZXg6IDEwO1xuXG4gICYuYWN0aXZlIHtcbiAgICB0b3A6IDUwcHg7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNTBweCk7XG4gICAgYm90dG9tOiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UtaW4tb3V0LCB0b3AgMC41cyBlYXNlLWluLW91dDtcbiAgfVxufVxuXG4uc2VhcmNoLWZvcm0ge1xuICBtYXgtd2lkdGg6IDY2OHB4O1xuICBwYWRkaW5nOiAyMHB4O1xuICBtYXJnaW46IDE0NXB4IGF1dG8gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTVweDtcbiAgICByaWdodDogLTIwcHg7XG4gICAgYmFja2dyb3VuZDogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBoZWlnaHQ6IDY1cHg7XG4gICAgcGFkZGluZzogMjBweCA0MHB4O1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgfVxuXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjNweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICMyRTI5Mjk7XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9idWlsZC9zZWFyY2guc3ZnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICBib3JkZXI6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2VfYnJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4udmlldy1zZWFyY2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihncmF5X2xpZ2h0X2JsdWUpO1xuXG4gICYtZmlsdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gIH1cblxuICAmLWZvcm0ge1xuICAgIEBpbmNsdWRlIHBhZCg1MnB4IDApO1xuICAgIG1heC13aWR0aDogNjI4cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICAudmlld3MtZXhwb3NlZC13aWRnZXQge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC52aWV3cy1zdWJtaXQtYnV0dG9uIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIC52aWV3cy1leHBvc2VkLXdpZGdldHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuZm9ybS1zdWJtaXQge1xuICAgICAgd2lkdGg6IDE1cHg7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBib3JkZXI6IDA7XG4gICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvYnVpbGQvc2VhcmNoLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmLWlubmVyIHtcbiAgICBAaW5jbHVkZSBwYWQoNjdweCAwIDIycHgpXG4gIH1cblxuICAmLWhlYWRpbmcge1xuICAgIGZvbnQtc2l6ZTogZW0oMzUpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMjdweDtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMDQzZW07XG4gICAgY29sb3I6IGNvbG9yKGRhcmtfZ3JheWlzaF9yZWQpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgZm9udC1zaXplOiByZW0oMjRweCk7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cbiAgfVxuXG4gICYtcmVzdWx0cyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCg0MjVweCwgMWZyKSk7XG4gICAgZ2FwOiAxNXB4IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5yZXN1bHQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBAaW5jbHVkZSBwYWQoMjNweCAyMHB4KVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5ub2RlLXZhY2FuY3kge1xuICBiYWNrZ3JvdW5kOiBjb2xvcihjb21iaXpfbGlnaHRfZ3JheSk7XG4gIHBhZGRpbmc6IDEwMHB4IDA7XG5cbiAgLndyYXBwZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICAgIEBpbmNsdWRlIHBhZCgwKTtcbiAgICB9XG4gIH1cblxuICAuaW5uZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIEBpbmNsdWRlIHBhZCgzMHB4IDc4cHgpO1xuICAgIG1heC13aWR0aDogcmVtKDg5OCk7XG4gICAgXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgQGluY2x1ZGUgcGFkKDI0cHggMTZweCA0OHB4IDE2cHgpO1xuICAgIH1cbiAgfVxuXG4gIC5kZXBhcnRtZW50cyB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAkc3BhY2VkLWxldHRlcnM7XG4gICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiByZW0oMzVweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBsZXR0ZXItc3BhY2luZzogLTEuMjNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgfVxuXG4gIGgyLFxuICBoMyB7XG4gICAgZm9udC1zaXplOiByZW0oMThweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG5cbiAgLmRhdGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAuc3VtbWFyeSB7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICRkYXJrX2dyYXlpc2hfcmVkO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cblxuICAudGV4dCB7XG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdFxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIEBpbmNsdWRlIGJ1bGxldC1wb2ludHMoKTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgfVxuXG4gICAgLmN0YSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNnB4KTtcbiAgICAgIEBpbmNsdWRlIHBhZCg4cHggMTZweCk7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogdXJsKCcuLi8uLi9pbWFnZXMvYnVpbGQvbWFpbC5zdmcnKTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB3aWR0aDogMTRweDtcbiAgICAgICAgaGVpZ2h0OiAxMXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgcGFkZGluZzogMzVweCAyMHB4IDUwcHg7XG5cbiAgICAuZGVwYXJ0bWVudHMge1xuICAgICAgZm9udC1zaXplOiByZW0oMTApO1xuICAgICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDgpO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcblxuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIH1cblxuICAgIC5zdW1tYXJ5IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41ODtcbiAgICB9XG5cbiAgICAudGV4dCB7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnBhZ2UtZWZvcm0tc3VibWl0LWFwcGx5LW5vdyB7XG4gIC8vIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2J1YmJsZS5wbmcnKSByZXBlYXQteTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG5cbiAgLmZpZWxkLW5hbWUtZmllbGQtbWFya3VwLXRpdGxlIHAge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI0KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICB9XG5cbiAgLmVudGl0eS1lbnRpdHlmb3JtLXR5cGUge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xuXG4gICAgLmNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMTAwcHggMCA1MHB4O1xuICAgICAgbWF4LXdpZHRoOiA0NzBweDtcblxuICAgICAgaDEge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBtYXJnaW46IDAgMCAzMnB4O1xuICAgIH1cblxuICAgIC5maWVsZC10eXBlLWVtYWlsLFxuICAgIC5maWVsZC13aWRnZXQtdGV4dC10ZXh0ZmllbGQge1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDYpO1xuICAgIH1cblxuICAgIC5maWVsZC1uYW1lLWZpZWxkLWxhc3QtbmFtZSxcbiAgICAuZmllbGQtbmFtZS1maWVsZC1jb250YWN0LW51bWJlciB7XG4gICAgICBAaW5jbHVkZSBvbWVnYSgpO1xuICAgIH1cblxuICAgIC5maWVsZC1uYW1lLWZpZWxkLXJlc3VtZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC5kcmFnZHJvcGZpbGUtcHJvY2Vzc2VkIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmaWVsZHNldCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkc2V0LWxlZ2VuZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDdweDtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkc2V0LXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfdmlvbGV0O1xuICAgICAgfVxuXG4gICAgICAuZmllbGRzZXQtZGVzY3JpcHRpb24ge1xuICAgICAgICB3aWR0aDogMTgwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIG51bGwgNjBweCAzMyUpO1xuICAgICAgfVxuXG4gICAgICAuZm9ybS10eXBlLW1hbmFnZWQtZmlsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDA7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCA1MCUgbnVsbCBudWxsIDU1cHgpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKC01MCUpKTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9zdWJtaXQtcGx1cy5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjZweCBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMjZweCk7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE4cHggOHB4O1xuICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAxMTBweCAwIG51bGwgbnVsbCk7XG4gICAgICAgICAgLy9vcGFjaXR5OiAwO1xuICAgICAgICAgIC8vZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDExOHB4IG51bGwgbnVsbCAwKTtcbiAgICAgICAgICAvL3dpZHRoOiAxMDAlO1xuICAgICAgICAgIC8vb3BhY2l0eTogMDtcbiAgICAgICAgICAvL0BpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAwIG51bGwgbnVsbCAwKTtcbiAgICAgICAgICAvL0BpbmNsdWRlIHNpemUoMTMwcHggMTAwJSk7XG4gICAgICAgICAgLy96LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICB3aWR0aDogMTgwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgNjAlIG51bGwgbnVsbCAzMyUpO1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtNTAlKSk7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0YWJsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICB0aGVhZCxcbiAgICAgICAgLmZpbGUtaWNvbixcbiAgICAgICAgLnRhYmxlZHJhZy1oYW5kbGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICB0ciB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTBweCA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS1tYW5hZ2VkLWZpbGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgICBjb2xvcjogJGdyYXlfZGFyaztcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGdyYXlfZGFyaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgc2l6ZSgxNHB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9jbG9zZS1kYXJrLnBuZycpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA4cHggYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudGFibGVkcmFnLXRvZ2dsZS13ZWlnaHQtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZpZWxkLXR5cGUtZW50aXR5cmVmZXJlbmNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIHNlbGVjdCxcbiAgICAuc2VsZWN0MiB7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgbWFyZ2luOiA3MHB4IDAgMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkZGVza3RvcCkge1xuICAgICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDgwMHB4KTtcblxuICAgICAgLmNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA4MHB4IDAgNTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoNjgwcHgpO1xuXG4gICAgICAuY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDQ1cHggMDtcbiAgICAgIH1cblxuICAgICAgLmZpZWxkLW5hbWUtZmllbGQtcmVzdW1lIHtcblxuICAgICAgICAuZHJhZ2Ryb3BmaWxlLXByb2Nlc3NlZCB7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZHNldC1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLXR5cGUtbWFuYWdlZC1maWxlIHtcbiAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKHJlbGF0aXZlLCBpbmhlcml0KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIGluaGVyaXQpO1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHdpZHRoOiA3MHB4O1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogN3B4IDEycHggNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgcGFkZGluZzogMTVweCAwIDA7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24ocmVsYXRpdmUsIGluaGVyaXQpO1xuICAgICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDApKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuZm9ybS1hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDAgMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTAwJSk7XG5cbiAgICAgIC5jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogNDBweCAyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5mb3JtLWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDAgMCAxNnB4O1xuICAgICAgfVxuXG4gICAgICAuZmllbGQtdHlwZS1lbWFpbCxcbiAgICAgIC5maWVsZC13aWRnZXQtdGV4dC10ZXh0ZmllbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuXG4gICAgICAuc2VsZWN0Mi1jb250YWluZXIge1xuICAgICAgICBsZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLm5vZGUtdHlwZS1wYXJ0bmVycyB7fVxuXG4ucGFydG5lcnMtYm9keSB7XG5cbiAgJi1pbm5lciB7XG4gICAgQGluY2x1ZGUgcGFkKDQwcHggMCk7XG4gIH1cblxuICAmLWNvbnRlbnQtbWFpbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1heC13aWR0aDogODY3cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1cHgpO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAmLXdyYXAge1xuICAgIEBpbmNsdWRlIHBhZCg2OHB4IDAgNjhweCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoZ3JheV9saWdodGVyX2JsdWUpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgQGluY2x1ZGUgcGFkKDMycHggMCA1NHB4KTtcbiAgICB9XG4gIFxuICAgICYtZ2xvYmFsIHtcbiAgICAgIGJhY2tncm91bmQ6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcbiAgICB9XG4gIH1cblxuICAmLWNvbnRlbnQge1xuICAgIGgyIHtcbiAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICBmb250LXNpemU6IHJlbSgzNXB4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDE2ZW07XG4gICAgICBsaW5lLWhlaWdodDogMC44NjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgIG1heC13aWR0aDogNTgxcHg7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGNvbG9yOiBjb2xvcihjb21iaXpfYmx1ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICAgIEBpbmNsdWRlIHBhZCg0OXB4IDAgNDBweCAxMzhweCk7XG4gICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICBcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgICAgY29sdW1uLWNvdW50OiAxO1xuICAgICAgICBAaW5jbHVkZSBwYWQoMjRweCAxNnB4KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNHB4KTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjRlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmctbGVmdDogMTZweDtcblxuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiA0cHg7XG4gICAgICAgIGhlaWdodDogNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNCQkJEQkY7XG4gICAgICB9XG5cbiAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgfVxuICB9XG5cbiAgLnRleHQge1xuICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICBmb250LXNpemU6IHJlbSgxNyk7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBtYXgtd2lkdGg6IDQ5MHB4O1xuICAgIHBhZGRpbmc6IDgxcHggMCA4OXB4O1xuXG4gICAgcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG5cbn1cblxuLnBhcnRuZXJzLW91ci1wYXJ0ZXJzIHtcbiAgcGFkZGluZzogODBweCAwO1xuXG4gIGgyIHtcbiAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG4gIC50ZXh0IHtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgfVxuXG4gIC5wYXJ0bmVycy13cmFwIHtcbiAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgQGluY2x1ZGUgc2hpZnQoMCk7XG4gIH1cblxuICAucGFydG5lcnMtbGlzdCB7XG5cbiAgICBsaSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC50ZXh0IHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTcwcHgpO1xuICAgIH1cblxuICAgIC5pbWFnZSB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDE0MXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwIDIycHggMCAwO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB6b29tOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgIC5wYXJ0bmVycy13cmFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5wYXJ0bmVycy1saXN0IHtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMDVweCk7XG4gICAgICB9XG5cbiAgICAgIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA4MHB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBtYXJnaW46IDAgMTVweCAwIDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDI5cHggMjBweCA0OHB4O1xuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMzRweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7XG4gICAgfVxuXG4gICAgLnBhcnRuZXJzLWxpc3Qge1xuXG4gICAgICBsaSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDY1cHg7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHggIWltcG9ydGFudDtcblxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42MztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLmltYWdlIHtcbiAgICAgICAgd2lkdGg6IDg1cHg7XG4gICAgICAgIG1hcmdpbjogMCA4cHggMCAwO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgem9vbTogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ucGFydG5lcnMtcGFnZS1ib2R5IHtcbiAgcGFkZGluZzogMTAwcHggMDtcblxuICBoMiB7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luOiAzMHB4IDAgMTVweDtcbiAgfVxuXG4gIHVsIHtcbiAgICBjb2x1bW5zOiAyO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5X2dyYXlpc2hfYmx1ZV8yO1xuICAgICAgICB3aWR0aDogNHB4O1xuICAgICAgICBoZWlnaHQ6IDRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgOXB4IG51bGwgbnVsbCAwKTtcblxuICAgICAgfVxuICAgIH1cblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG5cbiAgcCB7XG4gICAgbWF4LXdpZHRoOiA0MTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDgwcHggMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBwYWRkaW5nOiA0MHB4IDIwcHg7XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgIH1cblxuICAgIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBjb2x1bW5zOiAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLnRleHQ+ZGl2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG5cbiAgICAgIGgzIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDA7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3Byb2ZpbGUtYXJyb3dfb3Blbi5zdmcnKSBuby1yZXBlYXQgcmlnaHQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggYXV0bztcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNpdGlvbihhbGwgMzMzbXMgbGluZWFyKTtcbiAgICAgIH1cblxuICAgICAgdWwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWRlc2Mge31cbn0iLCIucHJlc3MtcGFnZS1ib2R5IHtcbiAgcGFkZGluZzogNzRweCAwO1xuXG4gIC5pbm5lciB7XG5cbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogJGRhcmtfZ3JheWlzaF9yZWQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg5KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgcGFkZGluZzogMjVweCAyMHB4O1xuICB9XG59XG5cbi5wcmVzcy1wYWdlLW1haW4ge1xuICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG59XG5cbi5wcmVzcy1wYWdlIHtcblxuICAmLWZlYXR1cmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9ibHVlKTtcbiAgICBAaW5jbHVkZSBwYWQoNDZweCAwIDEwM3B4KTtcblxuICAgICYtdGl0bGUge1xuICAgICAgY29sb3I6IGNvbG9yKHdoaXRlKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgJi10ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE3cHg7XG5cbiAgICAgIHAge1xuICAgICAgICBjb2xvcjogY29sb3Iod2hpdGUpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4wMjVlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtY3RhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBAaW5jbHVkZSBwYWQoN3B4IDIzcHggN3B4IDE1cHgpO1xuICAgICAgQGluY2x1ZGUgY2FyZXQoY29sb3IoY29tYml6X2JsdWUpKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtaXRlbXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcbiAgICBAaW5jbHVkZSBwYWQoMzRweCAwIDU4cHgpO1xuXG4gICAgJi10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgIH1cblxuICAgICYtY2FyZHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzZweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICAgICYuZGVza3RvcCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICAmLnRhYmxldCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmthcmQge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAyNzZweDtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYtYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlclxuICAgIH1cblxuICAgICYtY3RhIHtcbiAgICAgIEBpbmNsdWRlIHBhZCg4cHggMjRweCA4cHggMTZweCk7XG4gICAgICBAaW5jbHVkZSBjYXJldChjb2xvcih3aGl0ZSkpO1xuICAgICAgZm9udC1zaXplOiByZW0oMTZweCk7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA4cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnZpZXctYmxvY2sge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuICAgIH1cblxuICAgIC52aWV3LWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyNzZweCwgMWZyKSk7XG4gICAgICBnYXA6IDIzcHggMzJweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBkaXNwbGF5OiBpbml0aWFsO1xuXG4gICAgICAgID4uc2xpY2stZG90cyB7XG4gICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDUwKTtcblxuICAgICAgICAgIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuc2l0ZW1hcC1iYW5uZXIge1xuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDQwcHggMjBweCAzNHB4O1xuICB9XG59XG5cbi5zaXRlbWFwLW1haW4ge1xuICBwYWRkaW5nOiA1OHB4IDA7XG4gIC8vIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2J1YmJsZS5wbmcnKSByZXBlYXQteTtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG5cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cblxuICAuc2l0ZW1hcC1ibG9jayB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNCk7XG4gICAgICBAaW5jbHVkZSBvbWVnYSgzbik7XG4gICAgfVxuICB9XG5cbiAgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDRweDtcbiAgICAgIGhlaWdodDogNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZDogJGdyYXlfbGlnaHQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIHBhZGRpbmc6IDI1cHggMjBweCA0NXB4O1xuXG4gICAgaDIge1xuICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICAuc2l0ZW1hcC1ibG9jayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICB9XG59IiwiLm5vdC1mb3VuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoY29tYml6X2xpZ2h0X2dyYXkpO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWluLWhlaWdodDogNjE5cHg7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIEBpbmNsdWRlIHBhZCgwIDIwcHgpO1xuICAgIG1pbi1oZWlnaHQ6IDQ2MnB4O1xuICB9XG5cbiAgJi1pbm5lciB7XG4gICAgbWF4LXdpZHRoOiA2MzBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gICYtaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiByZW0oNDkpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIGxldHRlci1zcGFjaW5nOiAtMC4wM2VtO1xuICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgfVxuXG4gICYtZGVzYyB7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgfVxuXG4gICYtY3RhIHtcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgQGluY2x1ZGUgcGFkKDlweCAyM3B4IDlweCAxNnB4KTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wNGVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcih3aGl0ZSkpO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDlweDtcbiAgICB9XG4gIH1cblxuICAmLXNlYXJjaC1mb3JtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMzhweDtcblxuICAgICYtZmllbGRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgQGluY2x1ZGUgcGFkKDIxcHggNDBweCAxNnB4KTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBjb2xvcjogY29sb3IoZ3JheSk7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDFlbTtcbiAgICB9XG5cbiAgICAmLWJ1dHRvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvYnVpbGQvc2VhcmNoLnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB3aWR0aDogNjNweDtcbiAgICAgIGhlaWdodDogNjRweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgJi1zdWJtaXQge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBzaXplKDEzNXB4KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtNTBweCAyNXB4IG51bGwgbnVsbCk7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgIC5pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICBtYXJnaW46IDkwcHggYXV0byAxMDVweDtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMik7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAucHJpbWFyeS1jYWxsLWFjdGlvbiB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICBmb3JtIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSg0NXB4KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuYXJlYS1jaGFydCB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDQ5MHB4O1xufVxuXG4ucmVwb3J0LXBlcmNlbnQtcGFnZSB7XG5cbiAgLnRpdGxlLXdyYXAge1xuICAgIHBhZGRpbmctdG9wOiA0MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA0MHB4O1xuICB9XG5cbiAgaDEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgbWFyZ2luOiAwO1xuICB9XG4gIC5zdWJ0aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICB9XG5cbiAgJi5ncmlkIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG5cbiAgICAuY2hhcnRzIHtcbiAgICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigpO1xuICAgICAgcGFkZGluZzogNTBweCAwO1xuICAgIH1cblxuICAgIC5jaGFydC13cmFwIHtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNik7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhKDJuKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gICYuZnVsbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAudGl0bGUtd3JhcCB7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICB9XG4gIH1cblxufVxuXG4vKioqIExFQUdVRSBUQUJMRSAqKiovXG4ucmVwb3J0LWxlYWd1ZS1wYWdlIHtcblxuICAudGl0bGUtd3JhcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIH1cblxuICBoMSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAudGl0bGUtd3JhcCB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDIwcHggNDBweDtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMik7XG4gICAgfVxuXG4gICAgLmxlYWd1ZS10YWJsZSB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgLnRpdGxlLXdyYXAge1xuICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiByZW0oMTgpO1xuICAgIH1cbiAgfVxufVxuXG4ubWFsZS1ib2FyZHMtY29tcGFuaWVzIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlYWVhZWE7XG4gIHBhZGRpbmc6IDMwcHg7XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIC5tYWxlLWJvYXJkcy1jb21wYW5pZXMtaGVhZGVyIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgIH1cblxuICB9XG5cbiAgLm1hbGUtYm9hcmRzLWNvbXBhbmllcy1jb21wYW55IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYWVhZWE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcHg7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cblxuICAgIC5uYW1lIHtcbiAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgfVxuICAgIC5zdG9jayB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgLmluZHVzdHJ5IHtcbiAgICAgIGJhY2tncm91bmQ6ICNmM2YzZjQ7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICM2NjYyNjI7XG4gICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAyMXB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMTAwcHggMCAxMDBweCAyNXB4O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmY7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTE0cHg7XG4gICAgICAgIC8qIHRvcDogNTAlOyAqL1xuICAgICAgICBtYXJnaW4tdG9wOiAtOTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmZsYWdnZWR7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cblxuICAgICAgLmNvbXBhbnl7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIH1cblxuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGNvbnRlbnQ6IHVybCguLi8uLi9zdmcvZXhjbGFtYXRpb24uc3ZnKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMHB4O1xuICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuZmxhZy1sZWdlbmR7XG4gICAgY29sb3I6ICM2NjYyNjI7XG4gICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMjBweCAwIDM1cHg7XG5cbiAgICAmOmJlZm9yZXtcbiAgICAgIGNvbnRlbnQ6IHVybCguLi8uLi9zdmcvZXhjbGFtYXRpb24uc3ZnKTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gIH1cbn1cblxuLmJhci1saW5lLXN1bW1hcnkge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VhZWFlYTtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG5cbiAgLmRhdGEge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIG1hcmdpbjogMzBweCAzMHB4IDEwcHg7XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAyM3B4IDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cblxuICAgIC5kYXRhLTEge1xuICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAxMjBweCk7XG5cbiAgICAgICYgPiBkaXYge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGxlZnQ6IDEycHg7XG4gICAgICB9XG5cbiAgICB9XG4gICAgLmRhdGEtMiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNjY0ZmEzO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEyMHB4KTtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxMDBweCAwIDEwMHB4IDQwcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IC00NnB4O1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLm51bWJlciB7XG4gICAgICBmb250LXNpemU6IHJlbSgyNik7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTNweDtcbiAgICB9XG4gICAgLnBlcmNlbnQge1xuICAgICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG4gICAgLmxhYmVsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICB9XG4gIH1cblxuICAubWVzc2FnZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICBjb2xvcjogIzNiMzUzNTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuXG4gICAgLnRvdGFsIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI2KTtcbiAgICAgIHBhZGRpbmc6IDAgM3B4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIC5kYXRhIHtcbiAgICAgIG1hcmdpbjogMjBweCAyMHB4IDEwcHg7XG5cbiAgICAgIC5kYXRhLTEge1xuICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gODBweCk7XG4gICAgICB9XG4gICAgICAuZGF0YS0yIHtcbiAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDgwcHgpO1xuICAgICAgfVxuXG4gICAgICAubnVtYmVyIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgfVxuICAgICAgLnBlcmNlbnQge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm1lc3NhZ2Uge1xuXG4gICAgICAudG90YWwge1xuICAgICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5tYWxlLWJvYXJkcy1zdGF0cyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgJiA+IGRpdiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAudmFsdWUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDQ1KTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICB9XG4gIC5sYWJlbCB7XG4gICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICM1NDUxNTE7XG4gIH1cblxuICAubGVmdCB7XG4gICAgcGFkZGluZy1sZWZ0OiA1MHB4O1xuICAgIC52YWx1ZSB7XG4gICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDA7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAyNXB4IDAgMjVweCAxMnB4O1xuICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMjdweDtcbiAgICB9XG5cbiAgfVxuICAucmlnaHQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgLnZhbHVlIHtcbiAgICAgIGNvbG9yOiAjNjY0ZmEzO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDI1cHggMCAyNXB4IDEycHg7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICM2NjRmYTM7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogMjdweDtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDMwcHggMjVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItd2lkdGg6IDI1cHggMCAyNXB4IDEycHg7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuXG4gICAgJjpiZWZvcmUge1xuICAgICAgbGVmdDogMDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICB9XG5cbiAgICAmID4gZGl2IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC52YWx1ZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyNSk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgfVxuXG4gICAgLmxlZnQge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgfVxuXG4gICAgfVxuICAgIC5yaWdodCB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLnJlcG9ydC1tZXRob2RvbG9neS1wYWdlIHtcblxuICAubm9kZS1pbm5lci1pbm5lciB7XG4gICAgbWF4LXdpZHRoOiA2NTBweDtcbiAgICBtYXJnaW46IDUwcHggYXV0bztcbiAgfVxuXG4gIGgxIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0oMjQpO1xuICB9XG5cbiAgLmJvZHkge1xuICAgIHVsLCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgd2lkdGg6IDlweDtcbiAgICAgICAgaGVpZ2h0OiA5cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDlweDtcbiAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJlcG9ydC1oZWFkZXIge1xuICBiYWNrZ3JvdW5kOiAkZ3JheV9ncmF5aXNoX2JsdWU7XG4gIHBhZGRpbmc6IDYwcHggMCAzNXB4O1xuXG4gIC5yZXBvcnQtbGluayB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuXG4gICAgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAzMXB4O1xuICAgICAgaGVpZ2h0OiAzMXB4O1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL3N2Zy9hcnJvdy1yaWdodC5zdmcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0ICM1NDUxNTE7XG4gICAgICBib3JkZXItcmFkaXVzOiAzMXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAxcHg7XG4gICAgfVxuICB9XG5cbiAgLmxpbmstdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICB9XG4gIC5zdWJ0aXRsZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIHBhZGRpbmc6IDMwcHggMjBweCAxNXB4O1xuXG4gICAgLnJlcG9ydC1saW5rIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBzaXplKDIwcHgpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vLi4vc3ZnL2Fycm93LXJpZ2h0LnN2ZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQgIzU0NTE1MTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMHB4IGF1dG87XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmstdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cbiAgICAuc3VidGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG4gIH1cbn1cblxuLnJlcG9ydC1zdWItbGlua3Mge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gIC5jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Y0ZjRmNTtcbiAgfVxuXG4gIHVsIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuICB9XG5cbiAgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgfVxuXG4gIGEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAyM3B4IDVweCAyM3B4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJi5hY3RpdmU6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMnB4O1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cblxuICAubW9iaWxlLW1vcmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICB1bCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNjBweCk7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICY6bm90KC5hY3RpdmUpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgIHBhZGRpbmc6IDE0cHggMCA5cHg7XG4gICAgfVxuXG4gICAgLm1vYmlsZS1tb3JlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDE0cHggMCBudWxsIG51bGwpO1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTAuM3B4O1xuICAgICAgY29sb3I6ICM1NDUxNTE7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNnB4KTtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDZweCAwIG51bGwgbnVsbCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL2hlYWRlci1hcm9vdy5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJlcG9ydC1wYWdlIHtcbiAgYmFja2dyb3VuZDogI2ZiZjlmODtcblxuICAucHJvZ3JhbW1lLWhlYWRlciB7XG5cbiAgICBoMSB7XG4gICAgICBtYXJnaW4tdG9wOiAzNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgLnN1YnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDMxKTtcbiAgICB9XG4gIH1cblxuICAucmVwb3J0LXN1Yi1saW5rcyB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC5yZXBvcnQtbWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDQzcHggMCA2MHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHAge1xuICAgICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuICB9XG5cbiAgLnJlcG9ydC1tZXNzYWdlLWlubmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjNweDtcbiAgICAgIGhlaWdodDogNDZweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmQxYmE7XG4gICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAxMDBweDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDEwMHB4O1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtNDBweDtcbiAgICAgIHRvcDogNnB4O1xuICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICB9XG4gIH1cblxuICAucmVwb3J0LXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgLmhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIzcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VhZWFlYTtcblxuICAgICAgLmRhdGEtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDQycHg7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDJweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzQ3NDU0NTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMi45O1xuICAgICAgICB0b3A6IDgwcHg7XG4gICAgICAgIHJpZ2h0OiAtMjFweDtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucmVwb3J0LXNoYXJlLWxpbmsge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgcmlnaHQ6IDMwcHg7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL3N2Zy9zaGFyZS5zdmcpIHJpZ2h0IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAua2V5LWRhdGEge1xuICAgICAgZm9udC1zaXplOiByZW0oMTMpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICAuaHNpLXdvbWFuLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogMjVweCAyMHB4IDA7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMCk7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMTNweCA3Mi41cHggMCA3Mi41cHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZjNjgyZCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgMCBudWxsIDApO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICB9XG5cbiAgICAgIC5sYXN0LXBvaW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5wb2ludCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICNmYzY4MmQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTEuMDRweDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnRleHQge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGNvbG9yOiAjNTQ1MTUxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5nYXVnZS1jaGFydCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VhZWFlYTtcbiAgICB9XG5cbiAgICAuZ2F1Z2VDb250ZW50IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgLmRhdGEge1xuICAgICAgICBAaW5jbHVkZSByb3coKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAud29tYW4sIC5tYW4ge1xuICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAud29tYW4ge1xuICAgICAgICAgIGNvbG9yOiAjZmM2ODJkO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hbiB7XG4gICAgICAgICAgY29sb3I6ICM2NjRmYTM7XG4gICAgICAgIH1cblxuICAgICAgICAucGVyY2VudGFnZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ4cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgbWFyZ2luOiA1cHggMCAzcHg7XG5cbiAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubnVtYmVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAudG90YWwge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMjg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5hbmFseXNpcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IHJlbSgxNSk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMjtcbiAgICAgIG1hcmdpbjogMzBweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjOTk5O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5OTk7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgMjVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgLmFuYWx5c2lzLXBvcHVwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgLmFuYWx5c2lzLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICM0NzQ1NDU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAycHg7XG4gICAgICAgIGxlZnQ6IDJweDtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgIHdpZHRoOiA5cHg7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgICAgbGVmdDogM3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFuYWx5c2lzLWhlYWRlciB7XG4gICAgICBjb2xvcjogIzQ3NDU0NTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAyLjhweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTE2cHg7XG5cbiAgICAgIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDJweCA4cHggMnB4IDIxcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi8uLi9pbWFnZXMvYnVpbGQvc2VhcmNoLnN2ZykgbGVmdCBjZW50ZXIgbm8tcmVwZWF0ICR3aGl0ZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMXB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmFuYWx5c2lzLXRleHQge1xuICAgICAgY29sb3I6ICM2NjYyNjI7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgICAgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgICAgLmdhdWdlQ29udGVudCB7XG5cbiAgICAgICAgLmRhdGEge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tb3N0LWV2ZW50ZnVsIHtcbiAgICAmID4gaDMge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICAgIC5zdWJ0aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMSk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cbiAgICAubGVhZ3VlLXRhYmxlLWhlYWRlciwgLmFycm93IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLnJlcG9ydC1zZWN0aW9uLXRvcC0xMCB7XG4gICAgJiA+IGgzIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuXG4gICAgLmxlYWd1ZS10YWJsZS1oZWFkZXIsIC5hcnJvdyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5ob3Jpem9udGFsLWNoYXJ0IHtcbiAgICBwYWRkaW5nOiAzOXB4IDM0cHg7XG5cbiAgICBoMyB7XG4gICAgICBjb2xvcjogIzNiMzUzNTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgfVxuXG4gICAgLnZhbHVlLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYmFycyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMTRweDtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2VhZWFlYTtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlYWVhZWE7XG5cbiAgICAgICoge1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMXB4IDEwMCUpO1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCAwIG51bGwgMCk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZWFlYWVhO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5iYXItMSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZkMWJhO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDM4cHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC52YWx1ZS10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICAudmFsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgcGFkZGluZzogOHB4IDEwcHggOXB4O1xuICAgICAgICBtaW4td2lkdGg6IDYwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWluLWhlaWdodDogMzhweDtcblxuICAgICAgICAucGVyY2VudCB7XG4gICAgICAgICAgY29sb3I6ICNmZmQxYmE7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuc2hvdy1vdXRzaWRlIHtcbiAgICAgICAgLnBlcmNlbnQge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAyMHB4KTtcbiAgICAgICAgICBjb2xvcjogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmJhci0yIC52YWx1ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNjY0ZmEzO1xuICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIH1cbiAgICAuYmFyLTMgLnZhbHVlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNhYjllY2M7XG4gICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgfVxuICAgIC5iYXItNCAudmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogI2UzZGNmMjtcbiAgICAgIGhlaWdodDogMTRweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICB9XG5cbiAgICAueWVhcnMge1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgcGFkZGluZzogMCAxMHB4O1xuXG4gICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBjb2xvcjogIzQ3NDU0NTtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTEpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS43MjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxNnB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAxMXB4O1xuICAgICAgICAgIGhlaWdodDogMTFweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgdG9wOiAzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzY2NGZhMztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNhYjllY2M7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2UzZGNmMjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAucHJvZ3Jlc3MtaXRlbXMge1xuICAgIHBhZGRpbmc6IDMwcHggMjNweDtcbiAgfVxuICAucHJvZ3Jlc3MtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgIGltZyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgcGFkZGluZzogMnB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RhZGNlYTtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiA4cHg7XG4gICAgfVxuICAgIC50ZXh0LXdyYXAge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLnByb2dyZXNzLWl0ZW0taGVhZGVyIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nLWJvdHRvbTogN3B4O1xuICAgIH1cbiAgICBoMyB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICBtYXJnaW46IDAgMCAtM3B4O1xuICAgIH1cbiAgICAuc3VidGl0bGUge1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG4gICAgfVxuXG4gICAgLmJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZkMWJhO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLmJhci1pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICBtaW4td2lkdGg6IDUwcHg7XG4gICAgfVxuXG4gIH1cblxuICAucmVwb3J0LWFuYWx5c2lzLXdyYXAge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAyNXB4IDIwcHggNDBweDtcbiAgfVxuXG4gIC5yZXBvcnQtYW5hbHlzaXMtaW50cm8ge1xuICAgIGJhY2tncm91bmQ6ICM0NzQ1NDU7XG4gICAgcGFkZGluZzogMjVweCAyNXB4IDM1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcblxuICAgIC5sYWJlbCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAudGV4dCB7XG4gICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgZm9udC1zaXplOiByZW0oMjYpO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgfVxuICB9XG5cbiAgLnJlcG9ydC1hbmFseXNpcy1tYWluIHtcbiAgICBwYWRkaW5nOiAwIDEzcHg7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuXG4gICAgLnJlcG9ydC1tZXNzYWdlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICAgIHBhZGRpbmc6IDQ2cHggMCAzMnB4O1xuXG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjIpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yZXBvcnQtbWVzc2FnZS1pbm5lciB7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBsZWZ0OiAtMjdweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDMycHggMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICAucmVwb3J0LW1lc3NhZ2Uge1xuICAgICAgZm9udC1zaXplOiByZW0oMTYpO1xuICAgICAgcGFkZGluZzogMjBweCAyMnB4IDIycHg7XG5cbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnJlcG9ydC1tZXNzYWdlLWlubmVyIHtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGxlZnQ6IC0xNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMjdweCAwO1xuICAgIH1cblxuICAgIC5tYWluLXdpdGgtc2lkZWJhciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5yZXBvcnQtc2VjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuXG4gICAgICAuaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAyMXB4O1xuXG4gICAgICAgIC5yZXBvcnQtc2hhcmUtbGluayB7XG4gICAgICAgICAgcmlnaHQ6IDIxcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZGF0YS1saW5rIHtcbiAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcbiAgICAgICAgICB0b3A6IDQycHg7XG4gICAgICAgICAgcmlnaHQ6IDIxcHg7XG5cbiAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgd2lkdGg6IDExcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgtN3B4KSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5rZXktZGF0YSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogODBweDtcbiAgICAgIH1cblxuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM5O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNXB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3NXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMwcHg7XG4gICAgICB9XG5cbiAgICAgIC5oc2ktd29tYW4td3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMjBweCAwO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDZweCAzMy41cHggMCAzMy41cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucG9pbnQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNnB4O1xuXG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRleHQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuY2hhcnQtd3JhcCB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB9XG5cbiAgICAgIC5zaW5nbGUtYXJlYS1jaGFydCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC03NXB4O1xuICAgICAgfVxuXG4gICAgICAuZ2F1Z2VDb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVZKDMwcHgpKTtcblxuICAgICAgICAuZGF0YSB7XG4gICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuXG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiA3cHg7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLnBlcmNlbnRhZ2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjNweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5udW1iZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuYW5hbHlzaXMge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgcGFkZGluZzogMTNweCAwIDEzcHg7XG5cbiAgICAgICAgLmFuYWx5c2lzLWxpbmsge1xuICAgICAgICAgIHdpZHRoOiAxMnB4O1xuICAgICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgICAgICAgIHRvcDogM3B4O1xuXG4gICAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XG4gICAgICAgICAgICB0b3A6IC02cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hbmFseXNpcy10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ob3Jpem9udGFsLWNoYXJ0IHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMjNweDtcblxuICAgICAgaDMge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC5iYXJzIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAzLjhweDtcbiAgICAgIH1cblxuICAgICAgLmJhci0xIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuXG4gICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgICAgIHBhZGRpbmc6IDdweCAxMHB4IDVweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAueWVhcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tb3N0LWV2ZW50ZnVsIHtcbiAgICAgICYgPiBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIH1cbiAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcblxuICAgICAgICBzdmcge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDRweDtcbiAgICAgICAgICBAaW5jbHVkZSB0cmFuc2Zvcm0odHJhbnNsYXRlWSgxcHgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmxlYWd1ZS10YWJsZS1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIzcHg7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjNweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmVwb3J0LWFuYWx5c2lzLWludHJvIHtcbiAgICAgIHBhZGRpbmc6IDE0cHggMjJweCAyMXB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgLmxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgICAgfVxuXG4gICAgICAudGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAucmVwb3J0LWFuYWx5c2lzLW1haW4ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbn1cblxuLnJlcG9ydC1saXN0LWhlYWRlciB7XG4gIHBhZGRpbmc6IDMwcHggMjJweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIEBpbmNsdWRlIHJvdygpO1xuXG4gIC5oZWFkZXItaXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmctbGVmdDogMTZweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgJi5mdC1kaXJlY3RvciB7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9TdGFyLTIucG5nJykgbm8tcmVwZWF0IGxlZnQgY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMnB4IGF1dG87XG4gICAgfVxuXG4gICAgJi5mdC1jb3JwLWRpcmVjdG9yIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL1N0YXItMy5wbmcnKSBuby1yZXBlYXQgbGVmdCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDEycHggYXV0bztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgIC5oZWFkZXItaXRlbSB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLnJlcG9ydC1saXN0IHtcbiAgcGFkZGluZzogMzBweCAyMnB4O1xuICBtYXJnaW46IDA7XG5cbiAgbGkge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICYuZmlyc3QtdGltZS1kaXJlY3Rvci1vbi1oc2ktYm9hcmQsICYuZmlyc3QtdGltZS1hcHBvaW50ZWQtY29ycG9yYXRlLWRpcmVjdG9yLWluLWhvbmcta29uZyB7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTExcHg7XG4gICAgICAgIHJpZ2h0OiAtMTFweDtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIDRweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5maXJzdC10aW1lLWRpcmVjdG9yLW9uLWhzaS1ib2FyZDpiZWZvcmUge1xuICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9idWlsZC9TdGFyLTIucG5nKSBjZW50ZXIgNHB4IG5vLXJlcGVhdCAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IGF1dG87XG4gICAgfVxuICAgICYuZmlyc3QtdGltZS1hcHBvaW50ZWQtY29ycG9yYXRlLWRpcmVjdG9yLWluLWhvbmcta29uZyB7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9idWlsZC9TdGFyLTMucG5nKSBjZW50ZXIgNHB4IG5vLXJlcGVhdCAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTVweCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbWFnZSB7XG4gICAgd2lkdGg6IDk0cHg7XG4gICAgaGVpZ2h0OiA5NHB4O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBib3JkZXItcmFkaXVzOiA5NHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogdXJsKC4uLy4uL2ltYWdlcy9idWlsZC9kZWZhdWx0LWF2YXRhci1mZW1hbGUucG5nKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdDtcblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICAudGV4dC13cmFwIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLnJvbGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcbiAgICBjb2xvcjogIzY2NjI2MjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICB9XG4gIC5jb21wYW55IHtcbiAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gIH1cblxuICBhIHtcbiAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG5cbiAgICBzdmcge1xuICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgIHBhZGRpbmc6IDJweDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxufVxuXG4uY2hhcnQtaGVhZGVyIHtcbiAgQGluY2x1ZGUgcm93KCk7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmc6IDE1cHggMTVweCAwIDE1cHg7XG5cbiAgLmZsYWcsIC5pbmZvIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIC5mbGFnIHtcbiAgICB3aWR0aDogMzFweDtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RhZGNlYTtcbiAgICBwYWRkaW5nOiAzcHg7XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuaW5mbyB7XG4gICAgcGFkZGluZy1sZWZ0OiA5cHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuXG4gICAgLmNoYXJ0LXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjM2IzNTM1O1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTtcbiAgICB9XG5cbiAgICAuY2hhcnQtc3VidGl0bGUge1xuICAgICAgY29sb3I6ICM1NDUxNTE7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICB9XG59XG5cbi5yZXBvcnQtbmV3LWFwcG9pbnRtZW50cyB7XG5cbiAgbWluLWhlaWdodDogNjAwcHg7XG5cbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5ib2R5IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogMzBweDtcbiAgfVxuXG4gIC5yZXBvcnQtbGlzdCB7XG4gICAgcGFkZGluZy1ib3R0b206IDgwcHg7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCRvdmVydGFibGV0KSB7XG4gICAgICBsaSB7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg2KTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDIyKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgfVxuICB9XG59XG5cbi5zaGFyZS1wb3B1cCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5hbmFseXNpcy1wb3B1cC1pbm5lci5zaGFyZSB7XG4gIC5uYW1lIHtcbiAgICBmb250LXNpemU6IHJlbSgxOSk7XG4gICAgY29sb3I6ICM1NDUxNTE7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgfVxufVxuXG4ubm9kZS1yZXBvcnQtbWV0aG9kb2xvZ3kge1xuXG4gIGgxIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0oMjgpO1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMik7XG4gICAgfVxuXG4gICAgLmJvZHkge1xuICAgICAgcGFkZGluZzogMCAyMnB4O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE4KTtcbiAgICB9XG4gIH1cbn1cblxuLm5vZGUtcmVwb3J0IHtcbiAgLmNoYXJ0LXdyYXAge1xuICAgIC5oaWdoY2hhcnRzLXNjcm9sbGJhciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ubm9kZS1yZXBvcnQtcGVyY2VudGFnZS5mdWxsIC5hcmVhLWNoYXJ0IHtcbiAgLmhpZ2hjaGFydHMtZGF0YS1sYWJlbHMge1xuICAgIC5oaWdoY2hhcnRzLWRhdGEtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDM1cHggIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmhpZ2hjaGFydHMtZGF0YS1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMzVweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICYuaGlnaGNoYXJ0cy1zZXJpZXMtMCB7XG4gICAgICAuaGlnaGNoYXJ0cy1kYXRhLWxhYmVsICoge1xuICAgICAgICBjb2xvcjogJHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5yZXBvcnQtcGFydG5lcnMtcGFnZSB7XG4gIGJhY2tncm91bmQ6ICRnYXJ5X2xpZ2h0X29yYW5nZTtcbn1cblxuLnZpZXctcmVwb3J0LXBhcnRuZXJzIHtcblxuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xuXG4gIC5wYXJ0bmVyIHtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG92ZXJ0YWJsZXQpIHtcbiAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucygzKTtcbiAgICAgIEBpbmNsdWRlIG9tZWdhKDRuKTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICB3aWR0aDogMTYwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuICAgICAgZmlsdGVyOiBibHVyKDE1cHgpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAtMjVweDtcbiAgICAgIGxlZnQ6IGNhbGMoNTAlIC0gODBweCk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICB9XG5cbiAgLnBhcnRuZXItaW5uZXIge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIHotaW5kZXg6IDI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICBoMiB7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG4gIH1cbiAgLnBhcnRuZXIge1xuICAgIGEge1xuICAgICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDIwcHg7XG4gICAgICBsZWZ0OiAyMHB4O1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4O1xuXG4gIH1cblxuICAucGFnZXIge1xuICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgLnBhcnRuZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAudGV4dC13cmFwIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgfVxuICAgIC5pbWFnZS13cmFwIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcblxuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMTBweDtcbiAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgICAgIH1cbiAgICB9XG4gICAgaW1nIHtcbiAgICAgIHdpZHRoOiA4NXB4O1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAucGFydG5lciB7XG4gICAgICBhIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG59XG5cbi5ub2RlLXR5cGUtcmVwb3J0IHtcblxuICAucHJvZ3JhbW1lLWhlYWRlciB7XG4gICAgcGFkZGluZzogMTE1cHggMCA1MHB4O1xuXG4gICAgLnNwb25zb3JzIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuXG4gICAgLmxlYWQtc3BvbnNvciwgLmdvbGQtc3BvbnNvciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRsaW5lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMS42cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5sZWFkLXNwb25zb3Ige1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4O1xuXG4gICAgICAvLy5sb2dvIHtcbiAgICAgIC8vICBtYXgtd2lkdGg6IDkwcHg7XG4gICAgICAvL31cbiAgICB9XG5cbiAgICAvLy5nb2xkLXNwb25zb3IgLmxvZ28ge1xuICAgIC8vICBtYXgtd2lkdGg6IDcwcHg7XG4gICAgLy99XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAucHJvZ3JhbW1lLWhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAxMTVweCAyMHB4IDUwcHg7XG5cbiAgICAgIC5zcG9uc29ycyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICB9XG5cbiAgICAgIC5sZWFkLXNwb25zb3IsIC5nb2xkLXNwb25zb3Ige1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgLmxvZ28ge1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA4MHB4O1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDY1cHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmxlYWQtc3BvbnNvciB7XG4gICAgICAgIG1hcmdpbjogMjVweCAwO1xuXG4gICAgICAgIC8vLmxvZ28ge1xuICAgICAgICAvLyAgbWF4LXdpZHRoOiA3MHB4O1xuICAgICAgICAvL31cbiAgICAgIH1cblxuICAgICAgLy8uZ29sZC1zcG9uc29yIC5sb2dvIHtcbiAgICAgIC8vICBtYXgtd2lkdGg6IDcwcHg7XG4gICAgICAvL31cbiAgICB9XG4gIH1cbn1cblxuLm5vZGUtdHlwZS1yZXBvcnQtcGFydG5lcnMge1xuXG4gIC5wYXJ0bmVycyB7XG4gICAgQGluY2x1ZGUgcm93KCk7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcblxuICAgIC5wYXJ0bmVycy10aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0N3B4O1xuICAgIH1cbiAgfVxuXG4gIC5wYXJ0bmVyIHtcbiAgICBAaW5jbHVkZSByb3coKTtcblxuICAgIC5wYXJ0bmVyLXdyYXBwZXIge1xuICAgICAgQGluY2x1ZGUgcm93KCk7XG4gICAgfVxuXG4gICAgLnBhcnRuZXItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjMzO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAucGFydG5lciB7XG5cbiAgICAgIC5wYXJ0bmVyLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiJHBhbGUtb3JhbmdlOiAjZmZkMWJhO1xuXG4ucmVwb3J0LWN0YS1wYWdlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IHJlbSgyOCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiA0M3B4IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDQzcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5X2dyYXlpc2hfYmx1ZV8yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtNDBweDtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgaGVpZ2h0OiA0NnB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHBhbGUtb3JhbmdlO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTAwcHg7XG4gICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxMDBweDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIH1cblxuICB9XG5cbiAgLnRlc3RpbW9uaWFsIHtcbiAgICBwYWRkaW5nOiAzN3B4IDIwcHggMzBweDtcbiAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgJi5zbGljay1jdXJyZW50IHtcblxuICAgICAgLnRleHQ6YmVmb3JlLFxuICAgICAgLnRleHQ6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkZ2FyeV9saWdodF9vcmFuZ2U7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiA2MHB4IDIwcHggMzJweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaW1hZ2Uge1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgQGluY2x1ZGUgc2l6ZSg3NXB4KTtcbiAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCAtMzZweCBudWxsIG51bGwgNTAlKTtcbiAgICAgIEBpbmNsdWRlIHRyYW5zZm9ybSh0cmFuc2xhdGVYKC01MCUpKTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoMThweCk7XG4gICAgICAgIEBpbmNsdWRlIHBvc2l0aW9uKGFic29sdXRlLCBudWxsIDAgMCBudWxsKTtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTIsIDEwNCwgNDUsIDAuNzUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRleHQge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1heC13aWR0aDogNjMzcHg7XG4gICAgICBtYXJnaW46IDEwcHggYXV0byAxNXB4O1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBsaW5lLWhlaWdodDogMS41ODtcblxuICAgICAgJjpiZWZvcmUsXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIEBpbmNsdWRlIHNpemUoNDhweCAzOHB4KTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICB9XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIC0xOXB4IG51bGwgbnVsbCAtMjFweCk7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCgnLi4vLi4vaW1hZ2VzL2J1aWxkL3F1b3RlLWxlZnQucG5nJykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIGF1dG87XG4gICAgICB9XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgbnVsbCAyN3B4IC0xOXB4IG51bGwpO1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uLy4uL2ltYWdlcy9idWlsZC9xdW90ZS1yaWdodC5wbmcnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS43ODtcbiAgICB9XG4gICAgLmpvYi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjc7XG4gICAgfVxuICB9XG5cbiAgLndoYXQtY2FuLWJlLWRvbmUge1xuICAgIGJhY2tncm91bmQ6ICRwYWxlLW9yYW5nZTtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG5cbiAgICBoMiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IHJlbSgyNCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MXB4O1xuICAgIH1cblxuICB9XG5cbiAgLndjYmQtbGlua3Mge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgd2lkdGg6IDYzcHg7XG4gICAgICBoZWlnaHQ6IDYzcHg7XG4gICAgICBiYWNrZ3JvdW5kOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzM7XG4gICAgICBib3JkZXItcmFkaXVzOiA2M3B4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGluay1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cblxuICAgIGxpLmFjdGl2ZSB7XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgfVxuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6ICRvcmFuZ2VfYnJpZ2h0XzI7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICAud2NiZC1jb250ZW50LXdyYXAge1xuICAgIG1heC13aWR0aDogNzk3cHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cblxuICAud2NiZC1jb250ZW50IHtcbiAgICBwYWRkaW5nOiA1MHB4IDgwcHg7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuXG4gICAgZGwge1xuICAgICAgbWF4LXdpZHRoOiA2MzRweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cblxuICAgIGR0LCBkZCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIGR0IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTlweDtcbiAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxOXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IC00MHB4O1xuICAgICAgICB0b3A6IDNweDtcbiAgICAgIH1cblxuICAgIH1cbiAgICBkZCB7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXlfdmVyeV9saWdodDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmOm5vdCguYWN0aXZlKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcblxuICAgIGgxIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDI2KTtcbiAgICB9XG5cbiAgICAud2hhdC1jYW4tYmUtZG9uZSB7XG5cbiAgICAgIC5jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMjJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAud2NiZC1jb250ZW50LXdyYXAge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC53Y2JkLWNvbnRlbnQge1xuXG4gICAgICBkbCB7XG4gICAgICAgIG1heC13aWR0aDogNzUwcHg7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkbW9iaWxlKSB7XG5cbiAgICBoMSB7XG4gICAgICBmb250LXNpemU6IHJlbSgyMCk7XG4gICAgICBtYXJnaW46IDIwcHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAtMTdweDtcbiAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgIHdpZHRoOiAxMS41cHg7XG4gICAgICAgIGhlaWdodDogMjNweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAud2NiZC1saW5rcyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgbGkge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgICB9XG5cbiAgICAgIC5pY29uIHtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSg1NXB4KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5saW5rLW5hbWUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC53Y2JkLWNvbnRlbnQge1xuICAgICAgcGFkZGluZzogMzBweCAzMHB4IDMwcHggNDBweDtcblxuICAgICAgZHQge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxNSk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIHNpemUoMTBweCk7XG4gICAgICAgICAgbGVmdDogLTI1cHg7XG4gICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICBkZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5yZXBvcnQtbmV3cy1wYWdlIHtcbiAgYmFja2dyb3VuZDogJGdhcnlfbGlnaHRfb3JhbmdlO1xuXG4gIC5hcnRpY2xlcyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgLmNhcmQge1xuICAgICAgQGluY2x1ZGUgb21lZ2EoNG4pO1xuICAgICAgQGluY2x1ZGUgc3Bhbi1jb2x1bW5zKDMgb2YgMTIpO1xuICAgIH1cbiAgfVxuXG5cbiAgQGluY2x1ZGUgbWVkaWEoJGRlc2t0b3ApIHtcblxuICAgIC5hcnRpY2xlcyB7XG5cbiAgICAgIC5jYXJkIHtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EtcmVzZXQoNG4pO1xuICAgICAgICBAaW5jbHVkZSBvbWVnYSgzbik7XG4gICAgICAgIEBpbmNsdWRlIHNwYW4tY29sdW1ucyg0IG9mIDEyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG5cbiAgICAuYXJ0aWNsZXMge1xuXG4gICAgICAuY2FyZCB7XG4gICAgICAgIEBpbmNsdWRlIG9tZWdhLXJlc2V0KDNuKTtcbiAgICAgICAgQGluY2x1ZGUgb21lZ2EoMm4pO1xuICAgICAgICBAaW5jbHVkZSBzcGFuLWNvbHVtbnMoNiBvZiAxMik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuXG4gICAgLmFydGljbGVzIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgICAgLmNhcmQge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5leHRlcm5hbC1yZXNvdXJjZXMge1xuICBjbGVhcjogYm90aDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6IGNvbG9yKGNvbWJpel9saWdodF9ncmF5KTtcblxuICBoMiB7XG4gICAgLy8gdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8vIGZvbnQtc2l6ZTogcmVtKDI4KTtcbiAgICAvLyBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIGZvbnQtc2l6ZTogcmVtKDM1cHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDQ3cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgICAgZm9udC1zaXplOiByZW0oMjQpO1xuICAgIH1cbiAgfVxuXG4gICYtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDQ3cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG5cbiAgJi1jYXJkcyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpbGwsIG1pbm1heCgyODZweCwgMWZyKSk7XG4gICAgZ2FwOiAxOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgkdGFibGV0KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0oOTApO1xuXG4gICAgICAuc2xpY2stZG90cyB7XG4gICAgICAgIGJvdHRvbTogcmVtKC01MCk7XG5cbiAgICAgICAgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9waWMtY29udGVudCB7XG4gICAgICBtaW4taGVpZ2h0OiAzMThweDtcbiAgICB9XG5cbiAgICAudG9waWMge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgICBtYXgtd2lkdGg6IDI4NnB4O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbSg3NSk7XG4gICAgfVxuXG4gIH1cblxuICAmLWN0YSB7XG4gICAgQGluY2x1ZGUgcGFkKDdweCAyM3B4IDZweCAxNXB4KTtcbiAgICBAaW5jbHVkZSBjYXJldChjb2xvcih3aGl0ZSkpO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBtYXJnaW4tbGVmdDogOXB4O1xuICAgIH1cbiAgfVxufVxuXG4uZXh0ZXJuYWwtcmVzb3VyY2VzLWlubmVyIHtcblxuICBAaW5jbHVkZSBtZWRpYSgkb3Zlcm1vYmlsZSkge1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICBjb2x1bW4tZ2FwOiAxZW07XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgkb3ZlcnRhYmxldCkge1xuICAgIGNvbHVtbi1jb3VudDogNDtcbiAgICBjb2x1bW4tZ2FwOiAxZW07XG4gIH1cblxufVxuXG4uZXh0ZXJuYWwtcmVzb3VyY2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgcGFkZGluZzogMzBweCAyMHB4IDE1cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiByZW0oMTUpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB9XG5cbiAgLmRhdGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gIH1cblxufVxuXG4ubm9kZS1uZXdzLXB1YmxpY2F0aW9uLFxuLmV2ZW50LWRldGFpbCB7XG4gIC5leHRlcm5hbC1yZXNvdXJjZXMge1xuICAgIHBhZGRpbmc6IDUwcHggMDtcbiAgfVxufVxuXG4uZXZlbnRzLWxhbmRpbmctcGFnZSB7XG5cbiAgLmV4dGVybmFsLXJlc291cmNlcyB7XG4gICAgcGFkZGluZzogNTBweCAwO1xuICB9XG5cbiAgLnNoYXJlLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIH1cbn1cblxuLm5vZGUtbmV3cy1wdWJsaWNhdGlvbiB7XG4gIC5tYWluLXdyYXBwZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJHRhYmxldCkge1xuICAgICAgcGFkZGluZy10b3A6IDQwcHg7XG4gICAgfVxuICB9XG59IiwiQGltcG9ydCBcImJ1eS10aWNrZXRzLWZvcm1cIjtcbkBpbXBvcnQgXCJyZWdpc3RlclwiO1xuIiwiLmJ1eS10aWNrZXRzLWZvcm0ge1xuXG4gIC50aWNrZXRzIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAudGlja2V0IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZ3JheV9ncmF5aXNoX3Zpb2xldDtcbiAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIC50ZXh0LXdyYXAge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTQwcHgpO1xuICAgIH1cblxuICAgIC5xdWFudGl0eSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB3aWR0aDogMTAwcHg7XG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgICBAaW5jbHVkZSBwYWQoN3B4IDI1cHgpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGdyYXlfZ3JheWlzaF92aW9sZXQ7XG4gICAgfVxuXG4gICAgLmJ1eS10aWNrZXRzLWZvcm0tYWRkLXNpbmdsZS10by1jYXJ0LCAuZnJlZS1wdWJsaWNhdGlvbi1kb3dubG9hZC1saW5rIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAucHJpY2Uge1xuICAgIGNvbG9yOiAkZGFya19ncmF5aXNoX3JlZDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICBtYXJnaW4tYm90dG9tOiA2cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIC50aWNrZXQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogcmVtKDExKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDExcHg7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgfVxuXG4gIC5mcmVlLXRpY2tldHMtaW5mbyB7XG4gICAgY29sb3I6ICRkYXJrX3ZlcnlfZ3JheWlzaF9yZWRfMztcbiAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gIH1cblxuICAudGlja2V0LXRleHQge1xuICAgIGZvbnQtc2l6ZTogcmVtKDEyKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGNvbG9yOiAkZGFya192ZXJ5X2dyYXlpc2hfcmVkXzI7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTk7XG4gIH1cblxuICBpbnB1dFt0eXBlPW51bWJlcl0ge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmF5X3ZlcnlfbGlnaHQ7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JheV92ZXJ5X2xpZ2h0O1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHBhZGRpbmc6IDAgNXB4IDAgMThweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cblxuICAucXVhbnRpdHktbmF2IHtcbiAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgQGluY2x1ZGUgc2l6ZSgxMDAlKTtcblxuICAgIC5xdWFudGl0eS1idXR0b24ge1xuICAgICAgY29sb3I6ICRvcmFuZ2VfYnJpZ2h0XzM7XG4gICAgICBmb250LXNpemU6IHJlbSgxNyk7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBAaW5jbHVkZSBzaXplKDEycHggMTVweCk7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICYucXVhbnRpdHktdXAge1xuICAgICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCA5cHggMCBudWxsKTtcbiAgICAgIH1cblxuICAgICAgJi5xdWFudGl0eS1kb3duIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDAgbnVsbCAwIDhweCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIG1hcmdpbjogMTJweCAwO1xuXG4gICAgYSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgMXB4IDAgMThweDtcblxuICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmF5X3ZlcnlfbGlnaHQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICB9XG4gICAgfVxuXG4gICAgLnByaW1hcnktY2FsbC1hY3Rpb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb3JhbmdlX2JyaWdodF8yO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5yZW1hcmsge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAzOTBweDtcbiAgICBmb250LXNpemU6IGVtKDExKTtcbiAgICBjb2xvcjogJGRhcmtfdmVyeV9ncmF5aXNoX3JlZF8yO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIH1cblxuICAuYWpheC1yZXNwb25zZSB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcblxuICAgIC50aWNrZXQge1xuICAgICAgcGFkZGluZzogMTVweCAwO1xuXG4gICAgICAudGV4dC13cmFwIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICAgIH1cblxuICAgICAgLnF1YW50aXR5IHtcbiAgICAgICAgQGluY2x1ZGUgc2l6ZSg1MHB4IDQwcHgpO1xuICAgICAgICBAaW5jbHVkZSBwYWQoNnB4IDdweCA5cHgpO1xuICAgICAgfVxuXG4gICAgICAuYnV5LXRpY2tldHMtZm9ybS1hZGQtc2luZ2xlLXRvLWNhcnQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnByaWNlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICAudGlja2V0LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtKDEwKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPW51bWJlcl0ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgfVxuXG4gICAgLnF1YW50aXR5LW5hdiB7XG4gICAgICBAaW5jbHVkZSBwb3NpdGlvbihhYnNvbHV0ZSwgMCBudWxsIG51bGwgMCk7XG4gICAgICBAaW5jbHVkZSBzaXplKDEwMCUpO1xuXG4gICAgICAucXVhbnRpdHktYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBAaW5jbHVkZSBzaXplKDEwcHggMTRweCk7XG5cbiAgICAgICAgJi5xdWFudGl0eS11cCB7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDZweCA3cHggMCBudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYucXVhbnRpdHktZG93biB7XG4gICAgICAgICAgQGluY2x1ZGUgcG9zaXRpb24oYWJzb2x1dGUsIDIycHggbnVsbCBudWxsIDMycHgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgIGEge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cblxuICAgICAgLnByaW1hcnktY2FsbC1hY3Rpb24ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cblxuICAgICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJG9yYW5nZV9icmlnaHRfMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5yZW1hcmsge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICB9XG5cbiAgICAuYWpheC1yZXNwb25zZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlsbC1hY3RpdmUge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAyNXB4O1xuICB9XG59IiwiI3VzZXItcHJvZmlsZS1mb3JtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoMTQ0MHB4KTtcbiAgQGluY2x1ZGUgcGFkKDUwcHggMCk7XG4gIG1pbi1oZWlnaHQ6IDUwMHB4O1xuXG4gIC8vIEBpbmNsdWRlIG1lZGlhKCRsYXJnZV9kZXNrdG9wKSB7XG4gIC8vICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDk2MHB4KTtcbiAgLy8gfVxuXG4gIC8vIEBpbmNsdWRlIG1lZGlhKCRkZXNrdG9wKSB7XG4gIC8vICAgQGluY2x1ZGUgb3V0ZXItY29udGFpbmVyKDgwMHB4KTtcbiAgLy8gfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCR0YWJsZXQpIHtcbiAgICBAaW5jbHVkZSBvdXRlci1jb250YWluZXIoNjgwcHgpO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJG1vYmlsZSkge1xuICAgIEBpbmNsdWRlIG91dGVyLWNvbnRhaW5lcigxMDAlKTtcbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBjb2xvcjogY29sb3IoY29tYml6X2JsdWUpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IHJlbSgxMik7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBpbnB1dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIC5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiByZW0oMTEpO1xuICB9XG5cbiAgLnBhc3N3b3JkLXN0cmVuZ3RoLFxuICAucGFzc3dvcmQtY29uZmlybSB7XG4gICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gIC5mb3JtLWl0ZW0tbmFtZSxcbiAgLmZvcm0taXRlbS1tYWlsLFxuICAuZm9ybS1pdGVtLXBhc3MtcGFzczEsXG4gIC5mb3JtLWl0ZW0tcGFzcy1wYXNzMixcbiAgLmZpZWxkLW5hbWUtZmllbGQtZmlyc3QtbmFtZSxcbiAgLmZpZWxkLW5hbWUtZmllbGQtbGFzdC1uYW1lLFxuICAuZmllbGQtbmFtZS1maWVsZC1jb250YWN0LW51bWJlcixcbiAgLmZpZWxkLW5hbWUtZmllbGQtY29tcGFueS1uYW1lLFxuICAuZm9ybS1pdGVtLWN1cnJlbnQtcGFzcyB7XG4gICAgd2lkdGg6IGNhbGMoKDEwMCUgLyAyKSAtIDMwcHgpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgLmZvcm0taXRlbS1uYW1lLFxuICAuZm9ybS1pdGVtLXBhc3MtcGFzczIsXG4gIC5maWVsZC1uYW1lLWZpZWxkLWNvbnRhY3QtbnVtYmVyLFxuICAuZmllbGQtbmFtZS1maWVsZC1sYXN0LW5hbWUge1xuICAgIG1hcmdpbi1sZWZ0OiA1NHB4O1xuICB9XG5cbiAgI3VzZXItcGFzcyB7XG4gICAgLmZvcm0taXRlbS1uYW1lIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgI3VzZXItbG9naW4ge1xuICAgIC5mb3JtLWl0ZW0tbmFtZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgbWFyZ2luOiAyNnB4IDAgMDtcbiAgICB9XG4gIH1cblxuICAjdXNlci1yZWdpc3RlciB7XG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICBtYXJnaW46IDI3cHggMCAwO1xuICAgIH1cbiAgfVxuXG5cbiAgLmNhcHRjaGEge1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cblxuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgcGFkZGluZzogMTBweCAyMHB4IDIwcHg7XG5cbiAgICAuZmllbGRzZXQtbGVnZW5kIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IHJlbSgxMyk7XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tZmlsZSB7XG4gICAgZm9udC1zaXplOiByZW0oMTIpO1xuICB9XG5cbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgbWFyZ2luOiA0NXB4IDAgMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCRtb2JpbGUpIHtcbiAgICBAaW5jbHVkZSBwYWQoMjVweCAyMHB4KTtcblxuICAgIC5wYXNzd29yZC1zdHJlbmd0aCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtIHtcbiAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgfVxuXG4gICAgLmZvcm0taXRlbS1uYW1lLFxuICAgIC5mb3JtLWl0ZW0tbWFpbCxcbiAgICAuZm9ybS1pdGVtLXBhc3MtcGFzczEsXG4gICAgLmZvcm0taXRlbS1wYXNzLXBhc3MyLFxuICAgIC5maWVsZC1uYW1lLWZpZWxkLWNvbnRhY3QtbnVtYmVyLFxuICAgIC5maWVsZC1uYW1lLWZpZWxkLWNvbXBhbnktbmFtZSxcbiAgICAuZmllbGQtbmFtZS1maWVsZC1maXJzdC1uYW1lLFxuICAgIC5maWVsZC1uYW1lLWZpZWxkLWxhc3QtbmFtZSxcbiAgICAuZm9ybS1pdGVtLWN1cnJlbnQtcGFzcyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuZm9ybS1pdGVtLW1haWwsXG4gICAgLmZvcm0taXRlbS1wYXNzLXBhc3MyLFxuICAgIC5maWVsZC1uYW1lLWZpZWxkLWxhc3QtbmFtZSB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAubWVzc2FnZXMuZXJyb3Ige1xuICAgICAgZm9udC1zaXplOiByZW0oMTIpO1xuICAgIH1cbiAgfVxufSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsZ0NBQWdDO0FpR0VoQyxPQUFPLENBQUMsMEVBQUk7QWhCQ1YsQUFBQSxJQUFJLENBQUM7RWhCTUMsa0JBQW9CLEVnQkxKLFVBQVU7RWhCVTFCLGVBQWlCLEVnQlZELFVBQVU7RWhCeUIxQixVQUFZLEVnQnpCSSxVQUFVLEdBQy9COztBQUVELEFBQ0UsQ0FERCxFQUFELENBQUMsQUFFRSxPQUFPLEVBRlYsQ0FBQyxBQUdFLE1BQU0sQ0FBQztFaEJESixrQkFBb0IsRWdCRUYsT0FBTztFaEJHekIsZUFBaUIsRWdCSEMsT0FBTztFaEJrQnpCLFVBQVksRWdCbEJNLE9BQU8sR0FDNUI7O0FhWkwsNERBQTREO0FBRTVEOzs7O0dBSUc7QWJIRCxBQUFBLElBQUksQ2FLRDtF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 */

@charset "UTF-8";
/* Slider */
.slick-loading .slick-list {
  background: #fff url("./ajax-loader.gif") center center no-repeat; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }

.slick-prev {
  left: -25px; }

.slick-next {
  right: -25px; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2svc2xpY2stdGhlbWUuY3NzIiwic291cmNlcyI6WyJzbGljay9zbGljay10aGVtZS5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6IHdoaXRlICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogYmxhY2sgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yLWFjdGl2ZTogJHNsaWNrLWRvdC1jb2xvciAhZGVmYXVsdDtcbiRzbGljay1wcmV2LWNoYXJhY3RlcjogXCJcXDIxOTBcIiAhZGVmYXVsdDtcbiRzbGljay1uZXh0LWNoYXJhY3RlcjogXCJcXDIxOTJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3QtY2hhcmFjdGVyOiBcIlxcMjAyMlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1zaXplOiA2cHggIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1kZWZhdWx0OiAwLjc1ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktb24taG92ZXI6IDEgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlOiAwLjI1ICFkZWZhdWx0O1xuXG5AZnVuY3Rpb24gc2xpY2staW1hZ2UtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgICAgICBAcmV0dXJuIGltYWdlLXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBzbGljay1mb250LXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhmb250LXVybCkge1xuICAgICAgICBAcmV0dXJuIGZvbnQtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1mb250LXBhdGggKyAkdXJsKTtcbiAgICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiYWpheC1sb2FkZXIuZ2lmXCIpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0O1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdFwiKTtcbiAgICAgICAgc3JjOiBzbGljay1mb250LXVybChcInNsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG9wOiA1MCU7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0yNXB4O1xufVxuXG4uc2xpY2stbmV4dCB7XG4gICAgcmlnaHQ6IC0yNXB4O1xufVxuXG4vKiBEb3RzICovXG5cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTI1cHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogJHNsaWNrLWRvdC1zaXplO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvcjtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUF5Q0EsWUFBWTtBQUdSLEFBQUEsY0FBYyxDQURsQixXQUFXLENBQ1U7RUFDYixVQUFVLEVBQUUsSUFBSSxDQWpCUix3QkFBOEIsQ0FpQmMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEdBQzlFOztBQUdMLFdBQVc7QUFFUCxVQUFVO0VBQ04sV0FBVyxFQUFFLE9BQU87RUFDcEIsR0FBRyxFQWhCSyx3QkFBNEI7RUFpQnBDLEdBQUcsRUFqQkssK0JBQTRCLENBaUJJLDJCQUEyQixFQWpCM0QseUJBQTRCLENBaUI4RCxjQUFjLEVBakJ4Ryx3QkFBNEIsQ0FpQjBHLGtCQUFrQixFQWpCeEosOEJBQTRCLENBaUJnSyxhQUFhO0VBQ2pOLFdBQVcsRUFBRSxNQUFNO0VBQ25CLFVBQVUsRUFBRSxNQUFNOztBQUkxQixZQUFZO0FBRVosQUFBQSxXQUFX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 */

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2svc2xpY2suY3NzIiwic291cmNlcyI6WyJzbGljay9zbGljay5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIFNsaWRlciAqL1xuXG4uc2xpY2stc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuLnNsaWNrLWxpc3Qge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5kcmFnZ2luZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgY3Vyc29yOiBoYW5kO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjpiZWZvcmUsXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAuc2xpY2stbG9hZGluZyAmIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cbi5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5kcmFnZ2luZyBpbWcge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAuc2xpY2staW5pdGlhbGl6ZWQgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxuXG4gICAgLnNsaWNrLXZlcnRpY2FsICYge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG59XG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLFlBQVk7QUFFWixBQUFBLGFBQWEsQ0FBQztFQUNWLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLFVBQVU7RUFDdEIscUJBQXFCLEVBQUUsSUFBSTtFQUMzQixtQkFBbUIsRUFBRSxJQUFJO0VBQ3pCLGtCQUFrQixFQUFFLElBQUk7RUFDeEIsZ0JBQWdCLEVBQUUsSUFBSTtFQUN0QixlQUFlLEVBQUUsSUFBSTtFQUNyQixXQUFXLEVBQUUsSUFBSTtFQUNqQixnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLFlBQVksRUFBRSxLQUFLO0VBQ25CLDJCQUEyQixFQUFFLFdBQVcsR0FDM0M7O0FBQ0QsQUFBQSxXQUFXLENBQUM7RUFDUixRQUFRLEVBQUUsUUFBUTtFQUNsQixRQUFRLEVBQUUsTUFBTTtFQUNoQixPQUFPLEVBQUUsS0FBSztFQUNkLE1BQU0sRUFBRSxDQUFDO0VBQ1QsT0FBTyxFQUFFLENBQUMsR0FVYjtFQWZELEFBT0ksV0FQTyxBQU9OLE1BQU0sQ0FBQztJQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBVEwsQUFXSSxXQVhPLEFBV04sU0FBUyxDQUFDO0lBQ1AsTUFBTSxFQUFFLE9BQU87SUFDZixNQUFNLEVBQUUsSUFBSSxHQUNmOztBQUVMLEFBQUEsYUFBYSxDQUFDLFlBQVk7QUFDMUIsYUFBYSxDQUFDLFdBQVcsQ0FBQztFQUN0QixpQkFBaUIsRUFBRSxvQkFBb0I7RUFDdkMsY0FBYyxFQUFFLG9CQUFvQjtFQUNwQyxhQUFhLEVBQUUsb0JBQW9CO0VBQ25DLFlBQVksRUFBRSxvQkFBb0I7RUFDbEMsU0FBUyxFQUFFLG9CQUFvQixHQUNsQzs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNULFFBQVEsRUFBRSxRQUFRO0VBQ2xCLElBQUksRUFBRSxDQUFDO0VBQ1AsR0FBRyxFQUFFLENBQUM7RUFDTixPQUFPLEVBQUUsS0FBSyxHQWVqQjtFQW5CRCxBQU1JLFlBTlEsQUFNUCxPQUFPLEVBTlosWUFBWSxBQU9QLE1BQU0sQ0FBQztJQUNKLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUssR0FDakI7RUFWTCxBQVlJLFlBWlEsQUFZUCxNQUFNLENBQUM7SUFDSixLQUFLLEVBQUUsSUFBSSxHQUNkO0VBRUQsQUFBQSxjQUFjLENBaEJsQixZQUFZLENBZ0JTO0lBQ2IsVUFBVSxFQUFFLE1BQU0sR0FDckI7O0FBRUwsQUFBQSxZQUFZLENBQUM7RUFDVCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFQUFFLEdBQUc7RUFXZixPQUFPLEVBQUUsSUFBSSxHQW1CaEI7R0E3QkcsQUFBQSxBQUFBLEdBQUMsQ0FBSSxLQUFLLEFBQVQsRUFKTCxZQUFZLENBSU07SUFDVixLQUFLLEVBQUUsS0FBSyxHQUNmO0VBTkwsQUFPSSxZQVBRLENBT1IsR0FBRyxDQUFDO0lBQ0EsT0FBTyxFQUFFLEtBQUssR0FDakI7RUFUTCxBQVVJLFlBVlEsQUFVUCxjQUFjLENBQUMsR0FBRyxDQUFDO0lBQ2hCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBWkwsQUFnQkksWUFoQlEsQUFnQlAsU0FBUyxDQUFDLEdBQUcsQ0FBQztJQUNYLGNBQWMsRUFBRSxJQUFJLEdBQ3ZCO0VBRUQsQUFBQSxrQkFBa0IsQ0FwQnRCLFlBQVksQ0FvQmE7SUFDakIsT0FBTyxFQUFFLEtBQUssR0FDakI7RUFFRCxBQUFBLGNBQWMsQ0F4QmxCLFlBQVksQ0F3QlM7SUFDYixVQUFVLEVBQUUsTUFBTSxHQUNyQjtFQUVELEFBQUEsZUFBZSxDQTVCbkIsWUFBWSxDQTRCVTtJQUNkLE9BQU8sRUFBRSxLQUFLO0lBQ2QsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUscUJBQXFCLEdBQ2hDOztBQUVMLEFBQUEsWUFBWSxBQUFBLGFBQWEsQ0FBQztFQUN0QixPQUFPLEVBQUUsSUFBSSxHQUNoQiJ9 */
</pre></body></html>